summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDizzyEggg <jajkodizzy@wp.pl>2017-11-15 17:18:05 +0100
committerDizzyEggg <jajkodizzy@wp.pl>2017-11-15 17:18:05 +0100
commit1e79d53d2f913c65295b2547549d2c4ed849122b (patch)
treede6e74a23a65f5d7ebc7e4a7305742b08b6e71c0
parent0310be30079c657f3a21da64683bdf9ac1d4d394 (diff)
parent055a419830c0725a629f971b0299c89082c192fd (diff)
merge daycare with master
-rw-r--r--asm/battle_5.s582
-rwxr-xr-xasm/battle_frontier_1.s50
-rwxr-xr-xasm/battle_frontier_2.s178
-rw-r--r--asm/battle_setup.s46
-rwxr-xr-xasm/battle_tent.s18
-rwxr-xr-xasm/battle_tower.s34
-rw-r--r--asm/berry_blender.s6
-rwxr-xr-xasm/berry_fix_program.s8
-rw-r--r--asm/berry_tag_screen.s2
-rw-r--r--asm/cable_club.s28
-rw-r--r--asm/contest.s16
-rw-r--r--asm/contest_ai.s2
-rw-r--r--asm/contest_effect.s2
-rw-r--r--asm/contest_link_80F57C4.s34
-rwxr-xr-xasm/contest_link_81D9DE4.s2
-rw-r--r--asm/credits.s2
-rw-r--r--asm/daycare.s6
-rw-r--r--asm/dewford_trend.s4
-rw-r--r--asm/easy_chat.s6
-rw-r--r--asm/field_control_avatar.s90
-rw-r--r--asm/field_poison.s6
-rw-r--r--asm/field_screen.s2
-rw-r--r--asm/fldeff_80F9BCC.s18
-rwxr-xr-xasm/fldeff_cut.s4
-rw-r--r--asm/fldeff_strength.s4
-rw-r--r--asm/fldeff_sweetscent.s2
-rwxr-xr-xasm/international_string_util.s6
-rwxr-xr-xasm/item_menu.s84
-rw-r--r--asm/item_use.s38
-rw-r--r--asm/link.s60
-rw-r--r--asm/macros.inc1
-rw-r--r--asm/macros/event.inc (renamed from asm/macros/event.s)922
-rw-r--r--asm/macros/map.inc104
-rw-r--r--asm/macros/movement.inc123
-rw-r--r--asm/map_obj_lock.s2
-rw-r--r--asm/mauville_old_man.s20
-rwxr-xr-xasm/party_menu.s62
-rw-r--r--asm/player_pc.s4
-rw-r--r--asm/pokeblock_feed.s4
-rw-r--r--asm/pokedex.s4
-rwxr-xr-xasm/pokemon_storage_system.s4
-rwxr-xr-xasm/pokemon_summary_screen.s30
-rwxr-xr-xasm/pokenav.s46
-rw-r--r--asm/recorded_battle.s2
-rw-r--r--asm/rom4.s8
-rw-r--r--asm/rom6.s80
-rw-r--r--asm/script_menu.s30
-rw-r--r--asm/script_pokemon_util_80F87D8.s24
-rw-r--r--asm/start_menu.s10
-rw-r--r--asm/starter_choose.s985
-rw-r--r--asm/trader.s8
-rw-r--r--asm/trainer_see.s4
-rwxr-xr-xasm/use_pokeblock.s2
-rw-r--r--asm/wallclock.s2
-rw-r--r--asm/wild_encounter.s6
-rw-r--r--constants/constants.inc1
-rw-r--r--constants/flags.inc1574
-rw-r--r--constants/map_object_constants.inc52
-rw-r--r--constants/songs.inc461
-rw-r--r--constants/variables.inc278
-rw-r--r--data/battle_anim_80A9C70.s23
-rw-r--r--data/cable_car.s2
-rw-r--r--data/data4.s890
-rw-r--r--data/data4c.s833
-rw-r--r--data/event_scripts.s14203
-rw-r--r--data/map_events.s526
-rw-r--r--data/maps.s10
-rw-r--r--data/maps/AbandonedShip_CaptainsOffice/border.bin1
-rw-r--r--data/maps/AbandonedShip_CaptainsOffice/header.inc15
-rw-r--r--data/maps/AbandonedShip_CaptainsOffice/map.binbin0 -> 126 bytes
-rw-r--r--data/maps/AbandonedShip_Corridors_1F/border.bin1
-rw-r--r--data/maps/AbandonedShip_Corridors_1F/header.inc15
-rw-r--r--data/maps/AbandonedShip_Corridors_1F/map.bin3
-rw-r--r--data/maps/AbandonedShip_Corridors_B1F/border.bin1
-rw-r--r--data/maps/AbandonedShip_Corridors_B1F/header.inc15
-rw-r--r--data/maps/AbandonedShip_Corridors_B1F/map.bin1
-rw-r--r--data/maps/AbandonedShip_Deck/border.bin1
-rw-r--r--data/maps/AbandonedShip_Deck/header.inc15
-rw-r--r--data/maps/AbandonedShip_Deck/map.bin1
-rw-r--r--data/maps/AbandonedShip_HiddenFloorCorridors/border.bin1
-rw-r--r--data/maps/AbandonedShip_HiddenFloorCorridors/header.inc15
-rw-r--r--data/maps/AbandonedShip_HiddenFloorCorridors/map.bin1
-rw-r--r--data/maps/AbandonedShip_HiddenFloorRooms/border.bin1
-rw-r--r--data/maps/AbandonedShip_HiddenFloorRooms/header.inc15
-rw-r--r--data/maps/AbandonedShip_HiddenFloorRooms/map.bin1
-rw-r--r--data/maps/AbandonedShip_Room_B1F/border.bin1
-rw-r--r--data/maps/AbandonedShip_Room_B1F/header.inc15
-rw-r--r--data/maps/AbandonedShip_Room_B1F/map.bin1
-rw-r--r--data/maps/AbandonedShip_Rooms2_1F/border.bin1
-rw-r--r--data/maps/AbandonedShip_Rooms2_1F/header.inc15
-rw-r--r--data/maps/AbandonedShip_Rooms2_1F/map.bin1
-rw-r--r--data/maps/AbandonedShip_Rooms2_B1F/border.bin1
-rw-r--r--data/maps/AbandonedShip_Rooms2_B1F/header.inc15
-rw-r--r--data/maps/AbandonedShip_Rooms2_B1F/map.bin1
-rw-r--r--data/maps/AbandonedShip_Rooms_1F/border.bin1
-rw-r--r--data/maps/AbandonedShip_Rooms_1F/header.inc15
-rw-r--r--data/maps/AbandonedShip_Rooms_1F/map.bin1
-rw-r--r--data/maps/AbandonedShip_Rooms_B1F/border.bin1
-rw-r--r--data/maps/AbandonedShip_Rooms_B1F/header.inc15
-rw-r--r--data/maps/AbandonedShip_Rooms_B1F/map.bin1
-rw-r--r--data/maps/AbandonedShip_Underwater1/border.bin1
-rw-r--r--data/maps/AbandonedShip_Underwater1/header.inc15
-rw-r--r--data/maps/AbandonedShip_Underwater1/map.bin1
-rw-r--r--data/maps/AbandonedShip_Underwater2/border.bin1
-rw-r--r--data/maps/AbandonedShip_Underwater2/header.inc15
-rw-r--r--data/maps/AbandonedShip_Underwater2/map.bin1
-rw-r--r--data/maps/AlteringCave/border.bin1
-rw-r--r--data/maps/AlteringCave/header.inc15
-rw-r--r--data/maps/AlteringCave/map.bin1
-rw-r--r--data/maps/AncientTomb/border.bin1
-rw-r--r--data/maps/AncientTomb/header.inc15
-rw-r--r--data/maps/AncientTomb/map.binbin0 -> 1122 bytes
-rw-r--r--data/maps/AquaHideout_1F/border.bin1
-rw-r--r--data/maps/AquaHideout_1F/header.inc15
-rw-r--r--data/maps/AquaHideout_1F/map.bin55
-rw-r--r--data/maps/AquaHideout_B1F/border.bin1
-rw-r--r--data/maps/AquaHideout_B1F/header.inc15
-rw-r--r--data/maps/AquaHideout_B1F/map.bin83
-rw-r--r--data/maps/AquaHideout_B2F/border.bin1
-rw-r--r--data/maps/AquaHideout_B2F/header.inc15
-rw-r--r--data/maps/AquaHideout_B2F/map.bin51
-rw-r--r--data/maps/AquaHideout_UnusedRubyMap1/border.bin1
-rw-r--r--data/maps/AquaHideout_UnusedRubyMap1/header.inc15
-rw-r--r--data/maps/AquaHideout_UnusedRubyMap1/map.binbin0 -> 1680 bytes
-rw-r--r--data/maps/AquaHideout_UnusedRubyMap2/border.bin1
-rw-r--r--data/maps/AquaHideout_UnusedRubyMap2/header.inc15
-rw-r--r--data/maps/AquaHideout_UnusedRubyMap2/map.bin95
-rw-r--r--data/maps/AquaHideout_UnusedRubyMap3/border.bin1
-rw-r--r--data/maps/AquaHideout_UnusedRubyMap3/header.inc15
-rw-r--r--data/maps/AquaHideout_UnusedRubyMap3/map.bin49
-rw-r--r--data/maps/ArtisanCave_1F/border.bin1
-rw-r--r--data/maps/ArtisanCave_1F/header.inc15
-rw-r--r--data/maps/ArtisanCave_1F/map.bin1
-rw-r--r--data/maps/ArtisanCave_B1F/border.bin1
-rw-r--r--data/maps/ArtisanCave_B1F/header.inc15
-rw-r--r--data/maps/ArtisanCave_B1F/map.bin1
-rw-r--r--data/maps/BattleFrontier_BattleArenaBattleRoom/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattleArenaBattleRoom/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattleArenaBattleRoom/map.bin1
-rw-r--r--data/maps/BattleFrontier_BattleArenaCorridor/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattleArenaCorridor/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattleArenaCorridor/map.bin1
-rw-r--r--data/maps/BattleFrontier_BattleArenaLobby/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattleArenaLobby/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattleArenaLobby/map.bin3
-rw-r--r--data/maps/BattleFrontier_BattleDomeBattleRoom/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattleDomeBattleRoom/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattleDomeBattleRoom/map.bin2
-rw-r--r--data/maps/BattleFrontier_BattleDomeCorridor/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattleDomeCorridor/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattleDomeCorridor/map.bin1
-rw-r--r--data/maps/BattleFrontier_BattleDomeLobby/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattleDomeLobby/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattleDomeLobby/map.bin1
-rw-r--r--data/maps/BattleFrontier_BattleDomePreBattleRoom/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattleDomePreBattleRoom/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattleDomePreBattleRoom/map.binbin0 -> 144 bytes
-rw-r--r--data/maps/BattleFrontier_BattleFactoryBattleRoom/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattleFactoryBattleRoom/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattleFactoryBattleRoom/map.binbin0 -> 312 bytes
-rw-r--r--data/maps/BattleFrontier_BattleFactoryLobby/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattleFactoryLobby/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattleFactoryLobby/map.bin2
-rw-r--r--data/maps/BattleFrontier_BattleFactoryPreBattleRoom/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattleFactoryPreBattleRoom/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattleFactoryPreBattleRoom/map.bin2
-rw-r--r--data/maps/BattleFrontier_BattlePalaceBattleRoom/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattlePalaceBattleRoom/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattlePalaceBattleRoom/map.bin1
-rw-r--r--data/maps/BattleFrontier_BattlePalaceCorridor/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattlePalaceCorridor/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattlePalaceCorridor/map.binbin0 -> 476 bytes
-rw-r--r--data/maps/BattleFrontier_BattlePalaceLobby/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattlePalaceLobby/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattlePalaceLobby/map.bin7
-rw-r--r--data/maps/BattleFrontier_BattlePikeCorridor/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattlePikeCorridor/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattlePikeCorridor/map.bin1
-rw-r--r--data/maps/BattleFrontier_BattlePikeLobby/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattlePikeLobby/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattlePikeLobby/map.bin1
-rw-r--r--data/maps/BattleFrontier_BattlePikeRandomRoom1/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattlePikeRandomRoom1/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattlePikeRandomRoom1/map.bin1
-rw-r--r--data/maps/BattleFrontier_BattlePikeRandomRoom2/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattlePikeRandomRoom2/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattlePikeRandomRoom2/map.bin1
-rw-r--r--data/maps/BattleFrontier_BattlePikeRandomRoom3/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattlePikeRandomRoom3/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattlePikeRandomRoom3/map.bin1
-rw-r--r--data/maps/BattleFrontier_BattlePikeThreePathRoom/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattlePikeThreePathRoom/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattlePikeThreePathRoom/map.bin1
-rw-r--r--data/maps/BattleFrontier_BattlePointExchangeServiceCorner/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattlePointExchangeServiceCorner/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattlePointExchangeServiceCorner/map.bin2
-rw-r--r--data/maps/BattleFrontier_BattlePyramidEmptySquare/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattlePyramidEmptySquare/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattlePyramidEmptySquare/map.bin1
-rw-r--r--data/maps/BattleFrontier_BattlePyramidLobby/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattlePyramidLobby/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattlePyramidLobby/map.bin2
-rw-r--r--data/maps/BattleFrontier_BattlePyramidTop/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattlePyramidTop/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattlePyramidTop/map.bin1
-rw-r--r--data/maps/BattleFrontier_BattleTowerBattleRoom/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattleTowerBattleRoom/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattleTowerBattleRoom/map.bin1
-rw-r--r--data/maps/BattleFrontier_BattleTowerBattleRoom2/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattleTowerCorridor/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattleTowerCorridor/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattleTowerCorridor/map.binbin0 -> 170 bytes
-rw-r--r--data/maps/BattleFrontier_BattleTowerCorridor2/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattleTowerCorridor2/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattleTowerCorridor2/map.binbin0 -> 170 bytes
-rw-r--r--data/maps/BattleFrontier_BattleTowerElevator/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattleTowerElevator/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattleTowerElevator/map.bin1
-rw-r--r--data/maps/BattleFrontier_BattleTowerLobby/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattleTowerLobby/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattleTowerLobby/map.binbin0 -> 500 bytes
-rw-r--r--data/maps/BattleFrontier_BattleTowerMultiBattleRoom/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_BattleTowerMultiBattleRoom/header.inc15
-rw-r--r--data/maps/BattleFrontier_BattleTowerMultiBattleRoom/map.binbin0 -> 630 bytes
-rw-r--r--data/maps/BattleFrontier_Lounge1/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_Lounge1/header.inc15
-rw-r--r--data/maps/BattleFrontier_Lounge1/map.bin1
-rw-r--r--data/maps/BattleFrontier_Lounge2/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_Lounge2/header.inc15
-rw-r--r--data/maps/BattleFrontier_Lounge2/map.bin1
-rw-r--r--data/maps/BattleFrontier_Lounge3/header.inc15
-rw-r--r--data/maps/BattleFrontier_Lounge4/header.inc15
-rw-r--r--data/maps/BattleFrontier_Lounge5/header.inc15
-rw-r--r--data/maps/BattleFrontier_Lounge6/header.inc15
-rw-r--r--data/maps/BattleFrontier_Lounge7/header.inc15
-rw-r--r--data/maps/BattleFrontier_Lounge8/header.inc15
-rw-r--r--data/maps/BattleFrontier_Lounge9/header.inc15
-rw-r--r--data/maps/BattleFrontier_Mart/header.inc15
-rw-r--r--data/maps/BattleFrontier_OutsideEast/border.bin1
-rw-r--r--data/maps/BattleFrontier_OutsideEast/connections.inc7
-rw-r--r--data/maps/BattleFrontier_OutsideEast/header.inc15
-rw-r--r--data/maps/BattleFrontier_OutsideEast/map.binbin0 -> 10368 bytes
-rw-r--r--data/maps/BattleFrontier_OutsideWest/border.bin1
-rw-r--r--data/maps/BattleFrontier_OutsideWest/connections.inc7
-rw-r--r--data/maps/BattleFrontier_OutsideWest/header.inc15
-rw-r--r--data/maps/BattleFrontier_OutsideWest/map.binbin0 -> 8064 bytes
-rw-r--r--data/maps/BattleFrontier_PokemonCenter_1F/header.inc15
-rw-r--r--data/maps/BattleFrontier_PokemonCenter_2F/header.inc15
-rw-r--r--data/maps/BattleFrontier_RankingHall/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_RankingHall/header.inc15
-rw-r--r--data/maps/BattleFrontier_RankingHall/map.bin64
-rw-r--r--data/maps/BattleFrontier_ReceptionGate/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_ReceptionGate/header.inc15
-rw-r--r--data/maps/BattleFrontier_ReceptionGate/map.binbin0 -> 252 bytes
-rw-r--r--data/maps/BattleFrontier_ScottsHouse/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattleFrontier_ScottsHouse/header.inc15
-rw-r--r--data/maps/BattleFrontier_ScottsHouse/map.bin1
-rw-r--r--data/maps/BattlePyramidSquare01/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattlePyramidSquare01/header.inc15
-rw-r--r--data/maps/BattlePyramidSquare01/map.bin1
-rw-r--r--data/maps/BattlePyramidSquare02/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattlePyramidSquare02/header.inc15
-rw-r--r--data/maps/BattlePyramidSquare02/map.bin1
-rw-r--r--data/maps/BattlePyramidSquare03/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattlePyramidSquare03/header.inc15
-rw-r--r--data/maps/BattlePyramidSquare03/map.bin1
-rw-r--r--data/maps/BattlePyramidSquare04/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattlePyramidSquare04/header.inc15
-rw-r--r--data/maps/BattlePyramidSquare04/map.bin1
-rw-r--r--data/maps/BattlePyramidSquare05/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattlePyramidSquare05/header.inc15
-rw-r--r--data/maps/BattlePyramidSquare05/map.bin1
-rw-r--r--data/maps/BattlePyramidSquare06/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattlePyramidSquare06/header.inc15
-rw-r--r--data/maps/BattlePyramidSquare06/map.bin1
-rw-r--r--data/maps/BattlePyramidSquare07/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattlePyramidSquare07/header.inc15
-rw-r--r--data/maps/BattlePyramidSquare07/map.bin1
-rw-r--r--data/maps/BattlePyramidSquare08/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattlePyramidSquare08/header.inc15
-rw-r--r--data/maps/BattlePyramidSquare08/map.bin1
-rw-r--r--data/maps/BattlePyramidSquare09/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattlePyramidSquare09/header.inc15
-rw-r--r--data/maps/BattlePyramidSquare09/map.bin1
-rw-r--r--data/maps/BattlePyramidSquare10/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattlePyramidSquare10/header.inc15
-rw-r--r--data/maps/BattlePyramidSquare10/map.bin1
-rw-r--r--data/maps/BattlePyramidSquare11/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattlePyramidSquare11/header.inc15
-rw-r--r--data/maps/BattlePyramidSquare11/map.bin1
-rw-r--r--data/maps/BattlePyramidSquare12/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattlePyramidSquare12/header.inc15
-rw-r--r--data/maps/BattlePyramidSquare12/map.bin1
-rw-r--r--data/maps/BattlePyramidSquare13/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattlePyramidSquare13/header.inc15
-rw-r--r--data/maps/BattlePyramidSquare13/map.bin1
-rw-r--r--data/maps/BattlePyramidSquare14/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattlePyramidSquare14/header.inc15
-rw-r--r--data/maps/BattlePyramidSquare14/map.bin1
-rw-r--r--data/maps/BattlePyramidSquare15/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattlePyramidSquare15/header.inc15
-rw-r--r--data/maps/BattlePyramidSquare15/map.bin1
-rw-r--r--data/maps/BattlePyramidSquare16/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/BattlePyramidSquare16/header.inc15
-rw-r--r--data/maps/BattlePyramidSquare16/map.bin1
-rw-r--r--data/maps/BirthIsland_Exterior/border.bin1
-rw-r--r--data/maps/BirthIsland_Exterior/header.inc15
-rw-r--r--data/maps/BirthIsland_Exterior/map.binbin0 -> 1800 bytes
-rw-r--r--data/maps/BirthIsland_Harbor/border.bin1
-rw-r--r--data/maps/BirthIsland_Harbor/header.inc15
-rw-r--r--data/maps/BirthIsland_Harbor/map.bin1
-rw-r--r--data/maps/CaveOfOrigin_1F/border.bin1
-rw-r--r--data/maps/CaveOfOrigin_1F/header.inc15
-rw-r--r--data/maps/CaveOfOrigin_1F/map.bin1
-rw-r--r--data/maps/CaveOfOrigin_B1F/border.bin1
-rw-r--r--data/maps/CaveOfOrigin_B1F/header.inc15
-rw-r--r--data/maps/CaveOfOrigin_B1F/map.bin1
-rw-r--r--data/maps/CaveOfOrigin_Entrance/border.bin1
-rw-r--r--data/maps/CaveOfOrigin_Entrance/header.inc15
-rw-r--r--data/maps/CaveOfOrigin_Entrance/map.bin1
-rw-r--r--data/maps/CaveOfOrigin_UnusedRubySapphireMap1/border.bin1
-rw-r--r--data/maps/CaveOfOrigin_UnusedRubySapphireMap1/header.inc15
-rw-r--r--data/maps/CaveOfOrigin_UnusedRubySapphireMap1/map.bin1
-rw-r--r--data/maps/CaveOfOrigin_UnusedRubySapphireMap2/border.bin1
-rw-r--r--data/maps/CaveOfOrigin_UnusedRubySapphireMap2/header.inc15
-rw-r--r--data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.bin1
-rw-r--r--data/maps/CaveOfOrigin_UnusedRubySapphireMap3/border.bin1
-rw-r--r--data/maps/CaveOfOrigin_UnusedRubySapphireMap3/header.inc15
-rw-r--r--data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.bin1
-rw-r--r--data/maps/DesertRuins/border.bin1
-rw-r--r--data/maps/DesertRuins/header.inc15
-rw-r--r--data/maps/DesertRuins/map.binbin0 -> 1122 bytes
-rw-r--r--data/maps/DesertUnderpass/border.bin1
-rw-r--r--data/maps/DesertUnderpass/header.inc15
-rw-r--r--data/maps/DesertUnderpass/map.bin1
-rw-r--r--data/maps/DewfordTown/border.bin1
-rw-r--r--data/maps/DewfordTown/connections.inc8
-rw-r--r--data/maps/DewfordTown/header.inc15
-rw-r--r--data/maps/DewfordTown/map.bin2
-rw-r--r--data/maps/DewfordTown_Gym/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/DewfordTown_Gym/header.inc15
-rw-r--r--data/maps/DewfordTown_Gym/map.binbin0 -> 1008 bytes
-rw-r--r--data/maps/DewfordTown_Hall/border.bin1
-rw-r--r--data/maps/DewfordTown_Hall/header.inc15
-rw-r--r--data/maps/DewfordTown_Hall/map.binbin0 -> 306 bytes
-rw-r--r--data/maps/DewfordTown_House1/border.bin1
-rw-r--r--data/maps/DewfordTown_House1/header.inc15
-rw-r--r--data/maps/DewfordTown_House1/map.bin1
-rw-r--r--data/maps/DewfordTown_House2/border.bin1
-rw-r--r--data/maps/DewfordTown_House2/header.inc15
-rw-r--r--data/maps/DewfordTown_House2/map.bin1
-rw-r--r--data/maps/DewfordTown_PokemonCenter_1F/header.inc15
-rw-r--r--data/maps/DewfordTown_PokemonCenter_2F/header.inc15
-rw-r--r--data/maps/DoubleBattleColosseum/border.bin1
-rw-r--r--data/maps/DoubleBattleColosseum/header.inc15
-rw-r--r--data/maps/DoubleBattleColosseum/map.bin1
-rw-r--r--data/maps/EverGrandeCity/border.bin1
-rw-r--r--data/maps/EverGrandeCity/connections.inc7
-rw-r--r--data/maps/EverGrandeCity/header.inc15
-rw-r--r--data/maps/EverGrandeCity/map.binbin0 -> 6400 bytes
-rw-r--r--data/maps/EverGrandeCity_ChampionsRoom/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/EverGrandeCity_ChampionsRoom/header.inc15
-rw-r--r--data/maps/EverGrandeCity_ChampionsRoom/map.binbin0 -> 338 bytes
-rw-r--r--data/maps/EverGrandeCity_DrakesRoom/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/EverGrandeCity_DrakesRoom/header.inc15
-rw-r--r--data/maps/EverGrandeCity_DrakesRoom/map.bin2
-rw-r--r--data/maps/EverGrandeCity_GlaciasRoom/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/EverGrandeCity_GlaciasRoom/header.inc15
-rw-r--r--data/maps/EverGrandeCity_GlaciasRoom/map.bin2
-rw-r--r--data/maps/EverGrandeCity_Hall1/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/EverGrandeCity_Hall1/header.inc15
-rw-r--r--data/maps/EverGrandeCity_Hall1/map.bin1
-rw-r--r--data/maps/EverGrandeCity_Hall2/header.inc15
-rw-r--r--data/maps/EverGrandeCity_Hall3/header.inc15
-rw-r--r--data/maps/EverGrandeCity_Hall4/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/EverGrandeCity_Hall4/header.inc15
-rw-r--r--data/maps/EverGrandeCity_Hall4/map.bin1
-rw-r--r--data/maps/EverGrandeCity_Hall5/header.inc15
-rw-r--r--data/maps/EverGrandeCity_HallOfFame/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/EverGrandeCity_HallOfFame/header.inc15
-rw-r--r--data/maps/EverGrandeCity_HallOfFame/map.bin1
-rw-r--r--data/maps/EverGrandeCity_PhoebesRoom/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/EverGrandeCity_PhoebesRoom/header.inc15
-rw-r--r--data/maps/EverGrandeCity_PhoebesRoom/map.bin2
-rw-r--r--data/maps/EverGrandeCity_PokemonCenter_1F/header.inc15
-rw-r--r--data/maps/EverGrandeCity_PokemonCenter_2F/header.inc15
-rw-r--r--data/maps/EverGrandeCity_PokemonLeague_1F/border.bin1
-rw-r--r--data/maps/EverGrandeCity_PokemonLeague_1F/header.inc15
-rw-r--r--data/maps/EverGrandeCity_PokemonLeague_1F/map.bin2
-rw-r--r--data/maps/EverGrandeCity_PokemonLeague_2F/header.inc15
-rw-r--r--data/maps/EverGrandeCity_SidneysRoom/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/EverGrandeCity_SidneysRoom/header.inc15
-rw-r--r--data/maps/EverGrandeCity_SidneysRoom/map.bin2
-rw-r--r--data/maps/FallarborTown/border.bin1
-rw-r--r--data/maps/FallarborTown/connections.inc8
-rw-r--r--data/maps/FallarborTown/header.inc15
-rw-r--r--data/maps/FallarborTown/map.bin1
-rw-r--r--data/maps/FallarborTown_BattleTentBattleRoom/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/FallarborTown_BattleTentBattleRoom/header.inc15
-rw-r--r--data/maps/FallarborTown_BattleTentBattleRoom/map.binbin0 -> 180 bytes
-rw-r--r--data/maps/FallarborTown_BattleTentCorridor/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/FallarborTown_BattleTentCorridor/header.inc15
-rw-r--r--data/maps/FallarborTown_BattleTentCorridor/map.bin1
-rw-r--r--data/maps/FallarborTown_BattleTentLobby/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/FallarborTown_BattleTentLobby/header.inc15
-rw-r--r--data/maps/FallarborTown_BattleTentLobby/map.bin2
-rw-r--r--data/maps/FallarborTown_House1/header.inc15
-rw-r--r--data/maps/FallarborTown_House2/header.inc15
-rw-r--r--data/maps/FallarborTown_LeftoverRSContestHall/border.bin1
-rw-r--r--data/maps/FallarborTown_LeftoverRSContestHall/map.bin1
-rw-r--r--data/maps/FallarborTown_LeftoverRSContestLobby/border.bin1
-rw-r--r--data/maps/FallarborTown_LeftoverRSContestLobby/map.bin1
-rw-r--r--data/maps/FallarborTown_Mart/header.inc15
-rw-r--r--data/maps/FallarborTown_PokemonCenter_1F/header.inc15
-rw-r--r--data/maps/FallarborTown_PokemonCenter_2F/header.inc15
-rw-r--r--data/maps/FarawayIsland_Entrance/border.bin1
-rw-r--r--data/maps/FarawayIsland_Entrance/header.inc15
-rw-r--r--data/maps/FarawayIsland_Entrance/map.binbin0 -> 3128 bytes
-rw-r--r--data/maps/FarawayIsland_Interior/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/FarawayIsland_Interior/header.inc15
-rw-r--r--data/maps/FarawayIsland_Interior/map.binbin0 -> 1508 bytes
-rw-r--r--data/maps/FieryPath/border.bin1
-rw-r--r--data/maps/FieryPath/header.inc15
-rw-r--r--data/maps/FieryPath/map.bin10
-rw-r--r--data/maps/FortreeCity/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/FortreeCity/connections.inc8
-rw-r--r--data/maps/FortreeCity/header.inc15
-rw-r--r--data/maps/FortreeCity/map.bin1
-rw-r--r--data/maps/FortreeCity_DecorationShop/border.bin1
-rw-r--r--data/maps/FortreeCity_DecorationShop/header.inc15
-rw-r--r--data/maps/FortreeCity_DecorationShop/map.bin1
-rw-r--r--data/maps/FortreeCity_Gym/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/FortreeCity_Gym/header.inc15
-rw-r--r--data/maps/FortreeCity_Gym/map.binbin0 -> 1000 bytes
-rw-r--r--data/maps/FortreeCity_House1/border.bin1
-rw-r--r--data/maps/FortreeCity_House1/header.inc15
-rw-r--r--data/maps/FortreeCity_House1/map.bin1
-rw-r--r--data/maps/FortreeCity_House2/border.bin1
-rw-r--r--data/maps/FortreeCity_House2/header.inc15
-rw-r--r--data/maps/FortreeCity_House2/map.bin1
-rw-r--r--data/maps/FortreeCity_House3/header.inc15
-rw-r--r--data/maps/FortreeCity_House4/header.inc15
-rw-r--r--data/maps/FortreeCity_House5/header.inc15
-rw-r--r--data/maps/FortreeCity_Mart/header.inc15
-rw-r--r--data/maps/FortreeCity_PokemonCenter_1F/header.inc15
-rw-r--r--data/maps/FortreeCity_PokemonCenter_2F/header.inc15
-rw-r--r--data/maps/GraniteCave_1F/border.bin1
-rw-r--r--data/maps/GraniteCave_1F/header.inc15
-rw-r--r--data/maps/GraniteCave_1F/map.bin5
-rw-r--r--data/maps/GraniteCave_B1F/border.bin1
-rw-r--r--data/maps/GraniteCave_B1F/header.inc15
-rw-r--r--data/maps/GraniteCave_B1F/map.bin10
-rw-r--r--data/maps/GraniteCave_B2F/border.bin1
-rw-r--r--data/maps/GraniteCave_B2F/header.inc15
-rw-r--r--data/maps/GraniteCave_B2F/map.bin2
-rw-r--r--data/maps/GraniteCave_StevensRoom/border.bin1
-rw-r--r--data/maps/GraniteCave_StevensRoom/header.inc15
-rw-r--r--data/maps/GraniteCave_StevensRoom/map.bin4
-rw-r--r--data/maps/InsideOfTruck/border.bin1
-rw-r--r--data/maps/InsideOfTruck/header.inc15
-rw-r--r--data/maps/InsideOfTruck/map.bin2
-rw-r--r--data/maps/IslandCave/border.bin1
-rw-r--r--data/maps/IslandCave/header.inc15
-rw-r--r--data/maps/IslandCave/map.binbin0 -> 1122 bytes
-rw-r--r--data/maps/JaggedPass/border.bin1
-rw-r--r--data/maps/JaggedPass/header.inc15
-rw-r--r--data/maps/JaggedPass/map.binbin0 -> 2760 bytes
-rw-r--r--data/maps/LavaridgeTown/border.bin1
-rw-r--r--data/maps/LavaridgeTown/connections.inc7
-rw-r--r--data/maps/LavaridgeTown/header.inc15
-rw-r--r--data/maps/LavaridgeTown/map.bin3
-rw-r--r--data/maps/LavaridgeTown_Gym_1F/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/LavaridgeTown_Gym_1F/header.inc15
-rw-r--r--data/maps/LavaridgeTown_Gym_1F/map.bin3
-rw-r--r--data/maps/LavaridgeTown_Gym_B1F/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/LavaridgeTown_Gym_B1F/header.inc15
-rw-r--r--data/maps/LavaridgeTown_Gym_B1F/map.bin6
-rw-r--r--data/maps/LavaridgeTown_HerbShop/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/LavaridgeTown_HerbShop/header.inc15
-rw-r--r--data/maps/LavaridgeTown_HerbShop/map.bin1
-rw-r--r--data/maps/LavaridgeTown_House/header.inc15
-rw-r--r--data/maps/LavaridgeTown_Mart/header.inc15
-rw-r--r--data/maps/LavaridgeTown_PokemonCenter_1F/border.bin1
-rw-r--r--data/maps/LavaridgeTown_PokemonCenter_1F/header.inc15
-rw-r--r--data/maps/LavaridgeTown_PokemonCenter_1F/map.bin1
-rw-r--r--data/maps/LavaridgeTown_PokemonCenter_2F/header.inc15
-rw-r--r--data/maps/LilycoveCity/border.bin1
-rw-r--r--data/maps/LilycoveCity/connections.inc8
-rw-r--r--data/maps/LilycoveCity/header.inc15
-rw-r--r--data/maps/LilycoveCity/map.binbin0 -> 6400 bytes
-rw-r--r--data/maps/LilycoveCity_ContestHall/border.bin1
-rw-r--r--data/maps/LilycoveCity_ContestHall/header.inc15
-rw-r--r--data/maps/LilycoveCity_ContestHall/map.bin3
-rw-r--r--data/maps/LilycoveCity_ContestLobby/border.bin1
-rw-r--r--data/maps/LilycoveCity_ContestLobby/header.inc15
-rw-r--r--data/maps/LilycoveCity_ContestLobby/map.bin1
-rw-r--r--data/maps/LilycoveCity_CoveLilyMotel_1F/border.bin1
-rw-r--r--data/maps/LilycoveCity_CoveLilyMotel_1F/header.inc15
-rw-r--r--data/maps/LilycoveCity_CoveLilyMotel_1F/map.bin1
-rw-r--r--data/maps/LilycoveCity_CoveLilyMotel_2F/border.bin1
-rw-r--r--data/maps/LilycoveCity_CoveLilyMotel_2F/header.inc15
-rw-r--r--data/maps/LilycoveCity_CoveLilyMotel_2F/map.bin1
-rw-r--r--data/maps/LilycoveCity_DepartmentStoreElevator/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/LilycoveCity_DepartmentStoreElevator/header.inc15
-rw-r--r--data/maps/LilycoveCity_DepartmentStoreElevator/map.bin1
-rw-r--r--data/maps/LilycoveCity_DepartmentStoreRooftop/border.bin1
-rw-r--r--data/maps/LilycoveCity_DepartmentStoreRooftop/header.inc15
-rw-r--r--data/maps/LilycoveCity_DepartmentStoreRooftop/map.bin1
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_1F/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_1F/header.inc15
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_1F/map.bin1
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_2F/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_2F/header.inc15
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_2F/map.bin1
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_3F/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_3F/header.inc15
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_3F/map.bin1
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_4F/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_4F/header.inc15
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_4F/map.bin1
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_5F/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_5F/header.inc15
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_5F/map.binbin0 -> 288 bytes
-rw-r--r--data/maps/LilycoveCity_Harbor/header.inc15
-rw-r--r--data/maps/LilycoveCity_House1/header.inc15
-rw-r--r--data/maps/LilycoveCity_House2/border.bin1
-rw-r--r--data/maps/LilycoveCity_House2/header.inc15
-rw-r--r--data/maps/LilycoveCity_House2/map.bin1
-rw-r--r--data/maps/LilycoveCity_House3/header.inc15
-rw-r--r--data/maps/LilycoveCity_House4/header.inc15
-rw-r--r--data/maps/LilycoveCity_LilycoveMuseum_1F/border.bin1
-rw-r--r--data/maps/LilycoveCity_LilycoveMuseum_1F/header.inc15
-rw-r--r--data/maps/LilycoveCity_LilycoveMuseum_1F/map.bin1
-rw-r--r--data/maps/LilycoveCity_LilycoveMuseum_2F/border.bin1
-rw-r--r--data/maps/LilycoveCity_LilycoveMuseum_2F/header.inc15
-rw-r--r--data/maps/LilycoveCity_LilycoveMuseum_2F/map.bin1
-rw-r--r--data/maps/LilycoveCity_MoveDeletersHouse/header.inc15
-rw-r--r--data/maps/LilycoveCity_PokemonCenter_1F/header.inc15
-rw-r--r--data/maps/LilycoveCity_PokemonCenter_2F/header.inc15
-rw-r--r--data/maps/LilycoveCity_PokemonTrainerFanClub/border.bin1
-rw-r--r--data/maps/LilycoveCity_PokemonTrainerFanClub/header.inc15
-rw-r--r--data/maps/LilycoveCity_PokemonTrainerFanClub/map.bin2
-rw-r--r--data/maps/LilycoveCity_UnusedMart/header.inc15
-rw-r--r--data/maps/LinkContestRoom1/border.bin1
-rw-r--r--data/maps/LinkContestRoom1/header.inc15
-rw-r--r--data/maps/LinkContestRoom1/map.bin1
-rw-r--r--data/maps/LinkContestRoom2/border.bin1
-rw-r--r--data/maps/LinkContestRoom2/header.inc15
-rw-r--r--data/maps/LinkContestRoom2/map.bin1
-rw-r--r--data/maps/LinkContestRoom3/border.bin1
-rw-r--r--data/maps/LinkContestRoom3/header.inc15
-rw-r--r--data/maps/LinkContestRoom3/map.bin1
-rw-r--r--data/maps/LinkContestRoom4/border.bin1
-rw-r--r--data/maps/LinkContestRoom4/header.inc15
-rw-r--r--data/maps/LinkContestRoom4/map.bin1
-rw-r--r--data/maps/LinkContestRoom5/border.bin1
-rw-r--r--data/maps/LinkContestRoom5/header.inc15
-rw-r--r--data/maps/LinkContestRoom5/map.bin1
-rw-r--r--data/maps/LinkContestRoom6/border.bin1
-rw-r--r--data/maps/LinkContestRoom6/header.inc15
-rw-r--r--data/maps/LinkContestRoom6/map.bin1
-rw-r--r--data/maps/LittlerootTown/border.bin1
-rw-r--r--data/maps/LittlerootTown/connections.inc7
-rw-r--r--data/maps/LittlerootTown/header.inc15
-rw-r--r--data/maps/LittlerootTown/map.bin3
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_1F/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_1F/header.inc15
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_1F/map.bin1
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_2F/border.bin1
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_2F/header.inc15
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_2F/map.bin1
-rw-r--r--data/maps/LittlerootTown_MaysHouse_1F/border.bin1
-rw-r--r--data/maps/LittlerootTown_MaysHouse_1F/header.inc15
-rw-r--r--data/maps/LittlerootTown_MaysHouse_1F/map.bin1
-rw-r--r--data/maps/LittlerootTown_MaysHouse_2F/border.bin1
-rw-r--r--data/maps/LittlerootTown_MaysHouse_2F/header.inc15
-rw-r--r--data/maps/LittlerootTown_MaysHouse_2F/map.bin2
-rw-r--r--data/maps/LittlerootTown_ProfessorBirchsLab/border.bin1
-rw-r--r--data/maps/LittlerootTown_ProfessorBirchsLab/header.inc15
-rw-r--r--data/maps/LittlerootTown_ProfessorBirchsLab/map.bin5
-rw-r--r--data/maps/MagmaHideout_1F/border.bin1
-rw-r--r--data/maps/MagmaHideout_1F/header.inc15
-rw-r--r--data/maps/MagmaHideout_1F/map.binbin0 -> 2812 bytes
-rw-r--r--data/maps/MagmaHideout_2F_1R/border.bin1
-rw-r--r--data/maps/MagmaHideout_2F_1R/header.inc15
-rw-r--r--data/maps/MagmaHideout_2F_1R/map.bin2
-rw-r--r--data/maps/MagmaHideout_2F_2R/border.bin1
-rw-r--r--data/maps/MagmaHideout_2F_2R/header.inc15
-rw-r--r--data/maps/MagmaHideout_2F_2R/map.bin5
-rw-r--r--data/maps/MagmaHideout_2F_3R/border.bin1
-rw-r--r--data/maps/MagmaHideout_2F_3R/header.inc15
-rw-r--r--data/maps/MagmaHideout_2F_3R/map.bin1
-rw-r--r--data/maps/MagmaHideout_3F_1R/border.bin1
-rw-r--r--data/maps/MagmaHideout_3F_1R/header.inc15
-rw-r--r--data/maps/MagmaHideout_3F_1R/map.bin1
-rw-r--r--data/maps/MagmaHideout_3F_2R/border.bin1
-rw-r--r--data/maps/MagmaHideout_3F_2R/header.inc15
-rw-r--r--data/maps/MagmaHideout_3F_2R/map.bin7
-rw-r--r--data/maps/MagmaHideout_3F_3R/border.bin1
-rw-r--r--data/maps/MagmaHideout_3F_3R/header.inc15
-rw-r--r--data/maps/MagmaHideout_3F_3R/map.bin1
-rw-r--r--data/maps/MagmaHideout_4F/border.bin1
-rw-r--r--data/maps/MagmaHideout_4F/header.inc15
-rw-r--r--data/maps/MagmaHideout_4F/map.bin1
-rw-r--r--data/maps/MarineCave_End/border.bin1
-rw-r--r--data/maps/MarineCave_End/header.inc15
-rw-r--r--data/maps/MarineCave_End/map.bin14
-rw-r--r--data/maps/MarineCave_Entrance/border.bin1
-rw-r--r--data/maps/MarineCave_Entrance/header.inc15
-rw-r--r--data/maps/MarineCave_Entrance/map.bin7
-rw-r--r--data/maps/MauvilleCity/border.bin1
-rw-r--r--data/maps/MauvilleCity/connections.inc10
-rw-r--r--data/maps/MauvilleCity/header.inc15
-rw-r--r--data/maps/MauvilleCity/map.binbin0 -> 1600 bytes
-rw-r--r--data/maps/MauvilleCity_BikeShop/border.bin1
-rw-r--r--data/maps/MauvilleCity_BikeShop/header.inc15
-rw-r--r--data/maps/MauvilleCity_BikeShop/map.bin2
-rw-r--r--data/maps/MauvilleCity_GameCorner/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/MauvilleCity_GameCorner/header.inc15
-rw-r--r--data/maps/MauvilleCity_GameCorner/map.bin3
-rw-r--r--data/maps/MauvilleCity_Gym/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/MauvilleCity_Gym/header.inc15
-rw-r--r--data/maps/MauvilleCity_Gym/map.binbin0 -> 420 bytes
-rw-r--r--data/maps/MauvilleCity_House1/header.inc15
-rw-r--r--data/maps/MauvilleCity_House2/header.inc15
-rw-r--r--data/maps/MauvilleCity_Mart/header.inc15
-rw-r--r--data/maps/MauvilleCity_PokemonCenter_1F/header.inc15
-rw-r--r--data/maps/MauvilleCity_PokemonCenter_2F/header.inc15
-rw-r--r--data/maps/MeteorFalls_1F_1R/border.bin1
-rw-r--r--data/maps/MeteorFalls_1F_1R/header.inc15
-rw-r--r--data/maps/MeteorFalls_1F_1R/map.bin1
-rw-r--r--data/maps/MeteorFalls_1F_2R/border.bin1
-rw-r--r--data/maps/MeteorFalls_1F_2R/header.inc15
-rw-r--r--data/maps/MeteorFalls_1F_2R/map.bin2
-rw-r--r--data/maps/MeteorFalls_B1F_1R/border.bin1
-rw-r--r--data/maps/MeteorFalls_B1F_1R/header.inc15
-rw-r--r--data/maps/MeteorFalls_B1F_1R/map.bin6
-rw-r--r--data/maps/MeteorFalls_B1F_2R/border.bin1
-rw-r--r--data/maps/MeteorFalls_B1F_2R/header.inc15
-rw-r--r--data/maps/MeteorFalls_B1F_2R/map.bin1
-rw-r--r--data/maps/MeteorFalls_StevensCave/border.bin1
-rw-r--r--data/maps/MeteorFalls_StevensCave/header.inc15
-rw-r--r--data/maps/MeteorFalls_StevensCave/map.bin21
-rw-r--r--data/maps/MirageTower_1F/border.bin1
-rw-r--r--data/maps/MirageTower_1F/header.inc15
-rw-r--r--data/maps/MirageTower_1F/map.bin3
-rw-r--r--data/maps/MirageTower_2F/border.bin1
-rw-r--r--data/maps/MirageTower_2F/header.inc15
-rw-r--r--data/maps/MirageTower_2F/map.bin3
-rw-r--r--data/maps/MirageTower_3F/border.bin1
-rw-r--r--data/maps/MirageTower_3F/header.inc15
-rw-r--r--data/maps/MirageTower_3F/map.bin6
-rw-r--r--data/maps/MirageTower_4F/border.bin1
-rw-r--r--data/maps/MirageTower_4F/header.inc15
-rw-r--r--data/maps/MirageTower_4F/map.bin2
-rw-r--r--data/maps/MossdeepCity/border.bin1
-rw-r--r--data/maps/MossdeepCity/connections.inc8
-rw-r--r--data/maps/MossdeepCity/header.inc15
-rw-r--r--data/maps/MossdeepCity/map.binbin0 -> 6400 bytes
-rw-r--r--data/maps/MossdeepCity_GameCorner_1F/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/MossdeepCity_GameCorner_1F/header.inc15
-rw-r--r--data/maps/MossdeepCity_GameCorner_1F/map.bin53
-rw-r--r--data/maps/MossdeepCity_GameCorner_B1F/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/MossdeepCity_GameCorner_B1F/header.inc15
-rw-r--r--data/maps/MossdeepCity_GameCorner_B1F/map.bin2
-rw-r--r--data/maps/MossdeepCity_Gym/border.bin1
-rw-r--r--data/maps/MossdeepCity_Gym/header.inc15
-rw-r--r--data/maps/MossdeepCity_Gym/map.bin40
-rw-r--r--data/maps/MossdeepCity_House1/header.inc15
-rw-r--r--data/maps/MossdeepCity_House2/header.inc15
-rw-r--r--data/maps/MossdeepCity_House3/header.inc15
-rw-r--r--data/maps/MossdeepCity_House4/header.inc15
-rw-r--r--data/maps/MossdeepCity_Mart/header.inc15
-rw-r--r--data/maps/MossdeepCity_PokemonCenter_1F/header.inc15
-rw-r--r--data/maps/MossdeepCity_PokemonCenter_2F/header.inc15
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_1F/border.bin1
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_1F/header.inc15
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_1F/map.binbin0 -> 320 bytes
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_2F/border.bin1
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_2F/header.inc15
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_2F/map.binbin0 -> 320 bytes
-rw-r--r--data/maps/MossdeepCity_StevensHouse/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/MossdeepCity_StevensHouse/header.inc15
-rw-r--r--data/maps/MossdeepCity_StevensHouse/map.bin1
-rw-r--r--data/maps/MtChimney/border.bin1
-rw-r--r--data/maps/MtChimney/header.inc15
-rw-r--r--data/maps/MtChimney/map.bin1
-rw-r--r--data/maps/MtChimney_CableCarStation/header.inc15
-rw-r--r--data/maps/MtPyre_1F/border.bin1
-rw-r--r--data/maps/MtPyre_1F/header.inc15
-rw-r--r--data/maps/MtPyre_1F/map.bin1
-rw-r--r--data/maps/MtPyre_2F/border.bin1
-rw-r--r--data/maps/MtPyre_2F/header.inc15
-rw-r--r--data/maps/MtPyre_2F/map.bin1
-rw-r--r--data/maps/MtPyre_3F/border.bin1
-rw-r--r--data/maps/MtPyre_3F/header.inc15
-rw-r--r--data/maps/MtPyre_3F/map.bin1
-rw-r--r--data/maps/MtPyre_4F/border.bin1
-rw-r--r--data/maps/MtPyre_4F/header.inc15
-rw-r--r--data/maps/MtPyre_4F/map.bin1
-rw-r--r--data/maps/MtPyre_5F/border.bin1
-rw-r--r--data/maps/MtPyre_5F/header.inc15
-rw-r--r--data/maps/MtPyre_5F/map.bin1
-rw-r--r--data/maps/MtPyre_6F/border.bin1
-rw-r--r--data/maps/MtPyre_6F/header.inc15
-rw-r--r--data/maps/MtPyre_6F/map.bin1
-rw-r--r--data/maps/MtPyre_Exterior/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/MtPyre_Exterior/header.inc15
-rw-r--r--data/maps/MtPyre_Exterior/map.binbin0 -> 3876 bytes
-rw-r--r--data/maps/MtPyre_Summit/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/MtPyre_Summit/header.inc15
-rw-r--r--data/maps/MtPyre_Summit/map.binbin0 -> 3700 bytes
-rw-r--r--data/maps/NavelRock_B1F/border.bin1
-rw-r--r--data/maps/NavelRock_B1F/header.inc15
-rw-r--r--data/maps/NavelRock_B1F/map.bin1
-rw-r--r--data/maps/NavelRock_Bottom/border.bin1
-rw-r--r--data/maps/NavelRock_Bottom/header.inc15
-rw-r--r--data/maps/NavelRock_Bottom/map.bin1
-rw-r--r--data/maps/NavelRock_Down01/header.inc15
-rw-r--r--data/maps/NavelRock_Down02/header.inc15
-rw-r--r--data/maps/NavelRock_Down03/header.inc15
-rw-r--r--data/maps/NavelRock_Down04/header.inc15
-rw-r--r--data/maps/NavelRock_Down05/header.inc15
-rw-r--r--data/maps/NavelRock_Down06/header.inc15
-rw-r--r--data/maps/NavelRock_Down07/header.inc15
-rw-r--r--data/maps/NavelRock_Down08/header.inc15
-rw-r--r--data/maps/NavelRock_Down09/header.inc15
-rw-r--r--data/maps/NavelRock_Down10/header.inc15
-rw-r--r--data/maps/NavelRock_Down11/header.inc15
-rw-r--r--data/maps/NavelRock_Entrance/border.bin1
-rw-r--r--data/maps/NavelRock_Entrance/header.inc15
-rw-r--r--data/maps/NavelRock_Entrance/map.bin1
-rw-r--r--data/maps/NavelRock_Exterior/border.bin1
-rw-r--r--data/maps/NavelRock_Exterior/header.inc15
-rw-r--r--data/maps/NavelRock_Exterior/map.binbin0 -> 1008 bytes
-rw-r--r--data/maps/NavelRock_Fork/border.bin1
-rw-r--r--data/maps/NavelRock_Fork/header.inc15
-rw-r--r--data/maps/NavelRock_Fork/map.bin1
-rw-r--r--data/maps/NavelRock_Harbor/header.inc15
-rw-r--r--data/maps/NavelRock_Top/border.bin1
-rw-r--r--data/maps/NavelRock_Top/header.inc15
-rw-r--r--data/maps/NavelRock_Top/map.bin1
-rw-r--r--data/maps/NavelRock_Up1/border.bin1
-rw-r--r--data/maps/NavelRock_Up1/header.inc15
-rw-r--r--data/maps/NavelRock_Up1/map.bin1
-rw-r--r--data/maps/NavelRock_Up2/border.bin1
-rw-r--r--data/maps/NavelRock_Up2/header.inc15
-rw-r--r--data/maps/NavelRock_Up2/map.bin1
-rw-r--r--data/maps/NavelRock_Up3/header.inc15
-rw-r--r--data/maps/NavelRock_Up4/header.inc15
-rw-r--r--data/maps/NewMauville_Entrance/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/NewMauville_Entrance/header.inc15
-rw-r--r--data/maps/NewMauville_Entrance/map.bin1
-rw-r--r--data/maps/NewMauville_Inside/border.bin1
-rw-r--r--data/maps/NewMauville_Inside/header.inc15
-rw-r--r--data/maps/NewMauville_Inside/map.bin1
-rw-r--r--data/maps/OldaleTown/border.bin1
-rw-r--r--data/maps/OldaleTown/connections.inc9
-rw-r--r--data/maps/OldaleTown/header.inc15
-rw-r--r--data/maps/OldaleTown/map.bin1
-rw-r--r--data/maps/OldaleTown_House1/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/OldaleTown_House1/header.inc15
-rw-r--r--data/maps/OldaleTown_House1/map.bin1
-rw-r--r--data/maps/OldaleTown_House2/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/OldaleTown_House2/header.inc15
-rw-r--r--data/maps/OldaleTown_House2/map.bin1
-rw-r--r--data/maps/OldaleTown_Mart/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/OldaleTown_Mart/header.inc15
-rw-r--r--data/maps/OldaleTown_Mart/map.bin3
-rw-r--r--data/maps/OldaleTown_PokemonCenter_1F/border.bin1
-rw-r--r--data/maps/OldaleTown_PokemonCenter_1F/header.inc15
-rw-r--r--data/maps/OldaleTown_PokemonCenter_1F/map.bin1
-rw-r--r--data/maps/OldaleTown_PokemonCenter_2F/border.bin1
-rw-r--r--data/maps/OldaleTown_PokemonCenter_2F/header.inc15
-rw-r--r--data/maps/OldaleTown_PokemonCenter_2F/map.bin1
-rw-r--r--data/maps/PacifidlogTown/border.bin1
-rw-r--r--data/maps/PacifidlogTown/connections.inc8
-rw-r--r--data/maps/PacifidlogTown/header.inc15
-rw-r--r--data/maps/PacifidlogTown/map.bin6
-rw-r--r--data/maps/PacifidlogTown_House1/border.bin1
-rw-r--r--data/maps/PacifidlogTown_House1/header.inc15
-rw-r--r--data/maps/PacifidlogTown_House1/map.bin1
-rw-r--r--data/maps/PacifidlogTown_House2/border.bin1
-rw-r--r--data/maps/PacifidlogTown_House2/header.inc15
-rw-r--r--data/maps/PacifidlogTown_House2/map.bin1
-rw-r--r--data/maps/PacifidlogTown_House3/header.inc15
-rw-r--r--data/maps/PacifidlogTown_House4/header.inc15
-rw-r--r--data/maps/PacifidlogTown_House5/header.inc15
-rw-r--r--data/maps/PacifidlogTown_PokemonCenter_1F/header.inc15
-rw-r--r--data/maps/PacifidlogTown_PokemonCenter_2F/header.inc15
-rw-r--r--data/maps/PetalburgCity/border.bin1
-rw-r--r--data/maps/PetalburgCity/connections.inc8
-rw-r--r--data/maps/PetalburgCity/header.inc15
-rw-r--r--data/maps/PetalburgCity/map.bin4
-rw-r--r--data/maps/PetalburgCity_Gym/border.bin1
-rw-r--r--data/maps/PetalburgCity_Gym/header.inc15
-rw-r--r--data/maps/PetalburgCity_Gym/map.bin10
-rw-r--r--data/maps/PetalburgCity_House1/header.inc15
-rw-r--r--data/maps/PetalburgCity_House2/border.bin1
-rw-r--r--data/maps/PetalburgCity_House2/header.inc15
-rw-r--r--data/maps/PetalburgCity_House2/map.bin1
-rw-r--r--data/maps/PetalburgCity_Mart/header.inc15
-rw-r--r--data/maps/PetalburgCity_PokemonCenter_1F/header.inc15
-rw-r--r--data/maps/PetalburgCity_PokemonCenter_2F/header.inc15
-rw-r--r--data/maps/PetalburgCity_WallysHouse/header.inc15
-rw-r--r--data/maps/PetalburgWoods/border.bin1
-rw-r--r--data/maps/PetalburgWoods/header.inc15
-rw-r--r--data/maps/PetalburgWoods/map.bin1
-rw-r--r--data/maps/RecordCorner/border.bin1
-rw-r--r--data/maps/RecordCorner/header.inc15
-rw-r--r--data/maps/RecordCorner/map.bin1
-rw-r--r--data/maps/Route101/border.bin1
-rw-r--r--data/maps/Route101/connections.inc8
-rw-r--r--data/maps/Route101/header.inc15
-rw-r--r--data/maps/Route101/map.bin1
-rw-r--r--data/maps/Route102/border.bin1
-rw-r--r--data/maps/Route102/connections.inc8
-rw-r--r--data/maps/Route102/header.inc15
-rw-r--r--data/maps/Route102/map.bin1
-rw-r--r--data/maps/Route103/border.bin1
-rw-r--r--data/maps/Route103/connections.inc8
-rw-r--r--data/maps/Route103/header.inc15
-rw-r--r--data/maps/Route103/map.bin1
-rw-r--r--data/maps/Route104/border.bin1
-rw-r--r--data/maps/Route104/connections.inc9
-rw-r--r--data/maps/Route104/header.inc15
-rw-r--r--data/maps/Route104/map.binbin0 -> 6400 bytes
-rw-r--r--data/maps/Route104_MrBrineysHouse/border.bin1
-rw-r--r--data/maps/Route104_MrBrineysHouse/header.inc15
-rw-r--r--data/maps/Route104_MrBrineysHouse/map.bin1
-rw-r--r--data/maps/Route104_PrettyPetalFlowerShop/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/Route104_PrettyPetalFlowerShop/header.inc15
-rw-r--r--data/maps/Route104_PrettyPetalFlowerShop/map.binbin0 -> 270 bytes
-rw-r--r--data/maps/Route104_Prototype/border.bin1
-rw-r--r--data/maps/Route104_Prototype/header.inc15
-rw-r--r--data/maps/Route104_Prototype/map.bin1
-rw-r--r--data/maps/Route104_PrototypePrettyPetalFlowerShop/header.inc15
-rw-r--r--data/maps/Route105/border.bin1
-rw-r--r--data/maps/Route105/connections.inc9
-rw-r--r--data/maps/Route105/header.inc15
-rw-r--r--data/maps/Route105/map.binbin0 -> 6400 bytes
-rw-r--r--data/maps/Route106/border.bin1
-rw-r--r--data/maps/Route106/connections.inc8
-rw-r--r--data/maps/Route106/header.inc15
-rw-r--r--data/maps/Route106/map.binbin0 -> 3200 bytes
-rw-r--r--data/maps/Route107/border.bin1
-rw-r--r--data/maps/Route107/connections.inc8
-rw-r--r--data/maps/Route107/header.inc15
-rw-r--r--data/maps/Route107/map.binbin0 -> 2400 bytes
-rw-r--r--data/maps/Route108/border.bin1
-rw-r--r--data/maps/Route108/connections.inc8
-rw-r--r--data/maps/Route108/header.inc15
-rw-r--r--data/maps/Route108/map.bin1
-rw-r--r--data/maps/Route109/border.bin1
-rw-r--r--data/maps/Route109/connections.inc8
-rw-r--r--data/maps/Route109/header.inc15
-rw-r--r--data/maps/Route109/map.binbin0 -> 5040 bytes
-rw-r--r--data/maps/Route109_SeashoreHouse/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/Route109_SeashoreHouse/header.inc15
-rw-r--r--data/maps/Route109_SeashoreHouse/map.bin3
-rw-r--r--data/maps/Route110/border.bin1
-rw-r--r--data/maps/Route110/connections.inc9
-rw-r--r--data/maps/Route110/header.inc15
-rw-r--r--data/maps/Route110/map.binbin0 -> 8000 bytes
-rw-r--r--data/maps/Route110_SeasideCyclingRoadEntrance1/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/Route110_SeasideCyclingRoadEntrance1/header.inc15
-rw-r--r--data/maps/Route110_SeasideCyclingRoadEntrance1/map.bin1
-rw-r--r--data/maps/Route110_SeasideCyclingRoadEntrance2/header.inc15
-rw-r--r--data/maps/Route110_TrickHouseCorridor/border.bin1
-rw-r--r--data/maps/Route110_TrickHouseCorridor/header.inc15
-rw-r--r--data/maps/Route110_TrickHouseCorridor/map.bin1
-rw-r--r--data/maps/Route110_TrickHouseEnd/border.bin1
-rw-r--r--data/maps/Route110_TrickHouseEnd/header.inc15
-rw-r--r--data/maps/Route110_TrickHouseEnd/map.bin1
-rw-r--r--data/maps/Route110_TrickHouseEntrance/border.bin1
-rw-r--r--data/maps/Route110_TrickHouseEntrance/header.inc15
-rw-r--r--data/maps/Route110_TrickHouseEntrance/map.bin1
-rw-r--r--data/maps/Route110_TrickHousePuzzle1/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/Route110_TrickHousePuzzle1/header.inc15
-rw-r--r--data/maps/Route110_TrickHousePuzzle1/map.bin2
-rw-r--r--data/maps/Route110_TrickHousePuzzle2/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/Route110_TrickHousePuzzle2/header.inc15
-rw-r--r--data/maps/Route110_TrickHousePuzzle2/map.bin2
-rw-r--r--data/maps/Route110_TrickHousePuzzle3/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/Route110_TrickHousePuzzle3/header.inc15
-rw-r--r--data/maps/Route110_TrickHousePuzzle3/map.bin2
-rw-r--r--data/maps/Route110_TrickHousePuzzle4/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/Route110_TrickHousePuzzle4/header.inc15
-rw-r--r--data/maps/Route110_TrickHousePuzzle4/map.bin2
-rw-r--r--data/maps/Route110_TrickHousePuzzle5/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/Route110_TrickHousePuzzle5/header.inc15
-rw-r--r--data/maps/Route110_TrickHousePuzzle5/map.bin2
-rw-r--r--data/maps/Route110_TrickHousePuzzle6/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/Route110_TrickHousePuzzle6/header.inc15
-rw-r--r--data/maps/Route110_TrickHousePuzzle6/map.bin2
-rw-r--r--data/maps/Route110_TrickHousePuzzle7/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/Route110_TrickHousePuzzle7/header.inc15
-rw-r--r--data/maps/Route110_TrickHousePuzzle7/map.bin2
-rw-r--r--data/maps/Route110_TrickHousePuzzle8/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/Route110_TrickHousePuzzle8/header.inc15
-rw-r--r--data/maps/Route110_TrickHousePuzzle8/map.bin2
-rw-r--r--data/maps/Route111/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/Route111/connections.inc9
-rw-r--r--data/maps/Route111/header.inc15
-rw-r--r--data/maps/Route111/map.binbin0 -> 11200 bytes
-rw-r--r--data/maps/Route111_OldLadysRestStop/header.inc15
-rw-r--r--data/maps/Route111_WinstrateFamilysHouse/header.inc15
-rw-r--r--data/maps/Route112/border.bin1
-rw-r--r--data/maps/Route112/connections.inc9
-rw-r--r--data/maps/Route112/header.inc15
-rw-r--r--data/maps/Route112/map.binbin0 -> 4800 bytes
-rw-r--r--data/maps/Route112_CableCarStation/border.bin1
-rw-r--r--data/maps/Route112_CableCarStation/header.inc15
-rw-r--r--data/maps/Route112_CableCarStation/map.binbin0 -> 312 bytes
-rw-r--r--data/maps/Route113/border.bin1
-rw-r--r--data/maps/Route113/connections.inc9
-rw-r--r--data/maps/Route113/header.inc15
-rw-r--r--data/maps/Route113/map.binbin0 -> 4000 bytes
-rw-r--r--data/maps/Route113_GlassWorkshop/header.inc15
-rw-r--r--data/maps/Route114/border.bin1
-rw-r--r--data/maps/Route114/connections.inc8
-rw-r--r--data/maps/Route114/header.inc15
-rw-r--r--data/maps/Route114/map.binbin0 -> 6400 bytes
-rw-r--r--data/maps/Route114_FossilManiacsHouse/border.bin1
-rw-r--r--data/maps/Route114_FossilManiacsHouse/header.inc15
-rw-r--r--data/maps/Route114_FossilManiacsHouse/map.bin1
-rw-r--r--data/maps/Route114_FossilManiacsTunnel/border.bin1
-rw-r--r--data/maps/Route114_FossilManiacsTunnel/header.inc15
-rw-r--r--data/maps/Route114_FossilManiacsTunnel/map.bin1
-rw-r--r--data/maps/Route114_LanettesHouse/border.bin1
-rw-r--r--data/maps/Route114_LanettesHouse/header.inc15
-rw-r--r--data/maps/Route114_LanettesHouse/map.bin2
-rw-r--r--data/maps/Route115/border.bin1
-rw-r--r--data/maps/Route115/connections.inc8
-rw-r--r--data/maps/Route115/header.inc15
-rw-r--r--data/maps/Route115/map.binbin0 -> 6400 bytes
-rw-r--r--data/maps/Route116/border.bin1
-rw-r--r--data/maps/Route116/connections.inc8
-rw-r--r--data/maps/Route116/header.inc15
-rw-r--r--data/maps/Route116/map.binbin0 -> 4000 bytes
-rw-r--r--data/maps/Route116_TunnelersRestHouse/border.bin1
-rw-r--r--data/maps/Route116_TunnelersRestHouse/header.inc15
-rw-r--r--data/maps/Route116_TunnelersRestHouse/map.bin1
-rw-r--r--data/maps/Route117/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/Route117/connections.inc8
-rw-r--r--data/maps/Route117/header.inc15
-rw-r--r--data/maps/Route117/map.bin10
-rw-r--r--data/maps/Route117_PokemonDayCare/border.bin1
-rw-r--r--data/maps/Route117_PokemonDayCare/header.inc15
-rw-r--r--data/maps/Route117_PokemonDayCare/map.bin2
-rw-r--r--data/maps/Route118/border.bin1
-rw-r--r--data/maps/Route118/connections.inc9
-rw-r--r--data/maps/Route118/header.inc15
-rw-r--r--data/maps/Route118/map.binbin0 -> 3200 bytes
-rw-r--r--data/maps/Route119/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/Route119/connections.inc8
-rw-r--r--data/maps/Route119/header.inc15
-rw-r--r--data/maps/Route119/map.binbin0 -> 11200 bytes
-rw-r--r--data/maps/Route119_House/header.inc15
-rw-r--r--data/maps/Route119_WeatherInstitute_1F/border.bin1
-rw-r--r--data/maps/Route119_WeatherInstitute_1F/header.inc15
-rw-r--r--data/maps/Route119_WeatherInstitute_1F/map.bin1
-rw-r--r--data/maps/Route119_WeatherInstitute_2F/border.bin1
-rw-r--r--data/maps/Route119_WeatherInstitute_2F/header.inc15
-rw-r--r--data/maps/Route119_WeatherInstitute_2F/map.bin1
-rw-r--r--data/maps/Route120/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/Route120/connections.inc8
-rw-r--r--data/maps/Route120/header.inc15
-rw-r--r--data/maps/Route120/map.binbin0 -> 8000 bytes
-rw-r--r--data/maps/Route121/border.bin1
-rw-r--r--data/maps/Route121/connections.inc9
-rw-r--r--data/maps/Route121/header.inc15
-rw-r--r--data/maps/Route121/map.bin1
-rw-r--r--data/maps/Route121_SafariZoneEntrance/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/Route121_SafariZoneEntrance/header.inc15
-rw-r--r--data/maps/Route121_SafariZoneEntrance/map.bin1
-rw-r--r--data/maps/Route122/border.bin1
-rw-r--r--data/maps/Route122/connections.inc8
-rw-r--r--data/maps/Route122/header.inc15
-rw-r--r--data/maps/Route122/map.binbin0 -> 3200 bytes
-rw-r--r--data/maps/Route123/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/Route123/connections.inc8
-rw-r--r--data/maps/Route123/header.inc15
-rw-r--r--data/maps/Route123/map.bin2
-rw-r--r--data/maps/Route123_BerryMastersHouse/header.inc15
-rw-r--r--data/maps/Route124/border.bin1
-rw-r--r--data/maps/Route124/connections.inc11
-rw-r--r--data/maps/Route124/header.inc15
-rw-r--r--data/maps/Route124/map.binbin0 -> 12800 bytes
-rw-r--r--data/maps/Route124_DivingTreasureHuntersHouse/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/Route124_DivingTreasureHuntersHouse/header.inc15
-rw-r--r--data/maps/Route124_DivingTreasureHuntersHouse/map.bin1
-rw-r--r--data/maps/Route125/border.bin1
-rw-r--r--data/maps/Route125/connections.inc9
-rw-r--r--data/maps/Route125/header.inc15
-rw-r--r--data/maps/Route125/map.binbin0 -> 6400 bytes
-rw-r--r--data/maps/Route126/border.bin1
-rw-r--r--data/maps/Route126/connections.inc9
-rw-r--r--data/maps/Route126/header.inc15
-rw-r--r--data/maps/Route126/map.binbin0 -> 12800 bytes
-rw-r--r--data/maps/Route127/border.bin1
-rw-r--r--data/maps/Route127/connections.inc10
-rw-r--r--data/maps/Route127/header.inc15
-rw-r--r--data/maps/Route127/map.binbin0 -> 12800 bytes
-rw-r--r--data/maps/Route128/border.bin1
-rw-r--r--data/maps/Route128/connections.inc10
-rw-r--r--data/maps/Route128/header.inc15
-rw-r--r--data/maps/Route128/map.binbin0 -> 9600 bytes
-rw-r--r--data/maps/Route129/border.bin1
-rw-r--r--data/maps/Route129/connections.inc9
-rw-r--r--data/maps/Route129/header.inc15
-rw-r--r--data/maps/Route129/map.binbin0 -> 6400 bytes
-rw-r--r--data/maps/Route130/border.bin1
-rw-r--r--data/maps/Route130/connections.inc8
-rw-r--r--data/maps/Route130/header.inc15
-rw-r--r--data/maps/Route130/map.bin1
-rw-r--r--data/maps/Route131/border.bin1
-rw-r--r--data/maps/Route131/connections.inc8
-rw-r--r--data/maps/Route131/header.inc15
-rw-r--r--data/maps/Route131/map.bin1
-rw-r--r--data/maps/Route132/border.bin1
-rw-r--r--data/maps/Route132/connections.inc8
-rw-r--r--data/maps/Route132/header.inc15
-rw-r--r--data/maps/Route132/map.binbin0 -> 6400 bytes
-rw-r--r--data/maps/Route133/border.bin1
-rw-r--r--data/maps/Route133/connections.inc8
-rw-r--r--data/maps/Route133/header.inc15
-rw-r--r--data/maps/Route133/map.bin1
-rw-r--r--data/maps/Route134/border.bin1
-rw-r--r--data/maps/Route134/connections.inc8
-rw-r--r--data/maps/Route134/header.inc15
-rw-r--r--data/maps/Route134/map.binbin0 -> 6400 bytes
-rw-r--r--data/maps/RustboroCity/border.bin1
-rw-r--r--data/maps/RustboroCity/connections.inc9
-rw-r--r--data/maps/RustboroCity/header.inc15
-rw-r--r--data/maps/RustboroCity/map.binbin0 -> 4800 bytes
-rw-r--r--data/maps/RustboroCity_CuttersHouse/border.bin1
-rw-r--r--data/maps/RustboroCity_CuttersHouse/header.inc15
-rw-r--r--data/maps/RustboroCity_CuttersHouse/map.bin1
-rw-r--r--data/maps/RustboroCity_DevonCorp_1F/border.bin1
-rw-r--r--data/maps/RustboroCity_DevonCorp_1F/header.inc15
-rw-r--r--data/maps/RustboroCity_DevonCorp_1F/map.bin1
-rw-r--r--data/maps/RustboroCity_DevonCorp_2F/border.bin1
-rw-r--r--data/maps/RustboroCity_DevonCorp_2F/header.inc15
-rw-r--r--data/maps/RustboroCity_DevonCorp_2F/map.bin1
-rw-r--r--data/maps/RustboroCity_DevonCorp_3F/border.bin1
-rw-r--r--data/maps/RustboroCity_DevonCorp_3F/header.inc15
-rw-r--r--data/maps/RustboroCity_DevonCorp_3F/map.bin1
-rw-r--r--data/maps/RustboroCity_Flat1_1F/border.bin1
-rw-r--r--data/maps/RustboroCity_Flat1_1F/header.inc15
-rw-r--r--data/maps/RustboroCity_Flat1_1F/map.bin1
-rw-r--r--data/maps/RustboroCity_Flat1_2F/border.bin1
-rw-r--r--data/maps/RustboroCity_Flat1_2F/header.inc15
-rw-r--r--data/maps/RustboroCity_Flat1_2F/map.bin1
-rw-r--r--data/maps/RustboroCity_Flat2_1F/border.bin1
-rw-r--r--data/maps/RustboroCity_Flat2_1F/header.inc15
-rw-r--r--data/maps/RustboroCity_Flat2_1F/map.binbin0 -> 252 bytes
-rw-r--r--data/maps/RustboroCity_Flat2_2F/border.bin1
-rw-r--r--data/maps/RustboroCity_Flat2_2F/header.inc15
-rw-r--r--data/maps/RustboroCity_Flat2_2F/map.binbin0 -> 252 bytes
-rw-r--r--data/maps/RustboroCity_Flat2_3F/border.bin1
-rw-r--r--data/maps/RustboroCity_Flat2_3F/header.inc15
-rw-r--r--data/maps/RustboroCity_Flat2_3F/map.binbin0 -> 252 bytes
-rw-r--r--data/maps/RustboroCity_Gym/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/RustboroCity_Gym/header.inc15
-rw-r--r--data/maps/RustboroCity_Gym/map.bin2
-rw-r--r--data/maps/RustboroCity_House1/border.bin1
-rw-r--r--data/maps/RustboroCity_House1/header.inc15
-rw-r--r--data/maps/RustboroCity_House1/map.bin1
-rw-r--r--data/maps/RustboroCity_House2/border.bin1
-rw-r--r--data/maps/RustboroCity_House2/header.inc15
-rw-r--r--data/maps/RustboroCity_House2/map.bin1
-rw-r--r--data/maps/RustboroCity_House3/header.inc15
-rw-r--r--data/maps/RustboroCity_Mart/header.inc15
-rw-r--r--data/maps/RustboroCity_PokemonCenter_1F/header.inc15
-rw-r--r--data/maps/RustboroCity_PokemonCenter_2F/header.inc15
-rw-r--r--data/maps/RustboroCity_PokemonSchool/border.bin1
-rw-r--r--data/maps/RustboroCity_PokemonSchool/header.inc15
-rw-r--r--data/maps/RustboroCity_PokemonSchool/map.binbin0 -> 264 bytes
-rw-r--r--data/maps/RusturfTunnel/border.bin1
-rw-r--r--data/maps/RusturfTunnel/header.inc15
-rw-r--r--data/maps/RusturfTunnel/map.bin2
-rw-r--r--data/maps/SSTidalCorridor/border.bin1
-rw-r--r--data/maps/SSTidalCorridor/header.inc15
-rw-r--r--data/maps/SSTidalCorridor/map.bin1
-rw-r--r--data/maps/SSTidalLowerDeck/border.bin1
-rw-r--r--data/maps/SSTidalLowerDeck/header.inc15
-rw-r--r--data/maps/SSTidalLowerDeck/map.bin1
-rw-r--r--data/maps/SSTidalRooms/border.bin1
-rw-r--r--data/maps/SSTidalRooms/header.inc15
-rw-r--r--data/maps/SSTidalRooms/map.bin1
-rw-r--r--data/maps/SafariZone_North/border.bin1
-rw-r--r--data/maps/SafariZone_North/connections.inc9
-rw-r--r--data/maps/SafariZone_North/header.inc15
-rw-r--r--data/maps/SafariZone_North/map.binbin0 -> 3200 bytes
-rw-r--r--data/maps/SafariZone_Northeast/border.bin1
-rw-r--r--data/maps/SafariZone_Northeast/connections.inc8
-rw-r--r--data/maps/SafariZone_Northeast/header.inc15
-rw-r--r--data/maps/SafariZone_Northeast/map.binbin0 -> 3200 bytes
-rw-r--r--data/maps/SafariZone_Northwest/border.bin1
-rw-r--r--data/maps/SafariZone_Northwest/connections.inc8
-rw-r--r--data/maps/SafariZone_Northwest/header.inc15
-rw-r--r--data/maps/SafariZone_Northwest/map.binbin0 -> 3200 bytes
-rw-r--r--data/maps/SafariZone_RestHouse/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/SafariZone_RestHouse/header.inc15
-rw-r--r--data/maps/SafariZone_RestHouse/map.bin1
-rw-r--r--data/maps/SafariZone_South/border.bin1
-rw-r--r--data/maps/SafariZone_South/connections.inc9
-rw-r--r--data/maps/SafariZone_South/header.inc15
-rw-r--r--data/maps/SafariZone_South/map.binbin0 -> 3200 bytes
-rw-r--r--data/maps/SafariZone_Southeast/border.bin1
-rw-r--r--data/maps/SafariZone_Southeast/connections.inc8
-rw-r--r--data/maps/SafariZone_Southeast/header.inc15
-rw-r--r--data/maps/SafariZone_Southeast/map.binbin0 -> 3200 bytes
-rw-r--r--data/maps/SafariZone_Southwest/border.bin1
-rw-r--r--data/maps/SafariZone_Southwest/connections.inc8
-rw-r--r--data/maps/SafariZone_Southwest/header.inc15
-rw-r--r--data/maps/SafariZone_Southwest/map.binbin0 -> 3200 bytes
-rw-r--r--data/maps/ScorchedSlab/border.bin1
-rw-r--r--data/maps/ScorchedSlab/header.inc15
-rw-r--r--data/maps/ScorchedSlab/map.bin1
-rw-r--r--data/maps/SeafloorCavern_Entrance/border.bin1
-rw-r--r--data/maps/SeafloorCavern_Entrance/header.inc15
-rw-r--r--data/maps/SeafloorCavern_Entrance/map.bin11
-rw-r--r--data/maps/SeafloorCavern_Room1/border.bin1
-rw-r--r--data/maps/SeafloorCavern_Room1/header.inc15
-rw-r--r--data/maps/SeafloorCavern_Room1/map.bin1
-rw-r--r--data/maps/SeafloorCavern_Room2/border.bin1
-rw-r--r--data/maps/SeafloorCavern_Room2/header.inc15
-rw-r--r--data/maps/SeafloorCavern_Room2/map.bin7
-rw-r--r--data/maps/SeafloorCavern_Room3/border.bin1
-rw-r--r--data/maps/SeafloorCavern_Room3/header.inc15
-rw-r--r--data/maps/SeafloorCavern_Room3/map.bin1
-rw-r--r--data/maps/SeafloorCavern_Room4/border.bin1
-rw-r--r--data/maps/SeafloorCavern_Room4/header.inc15
-rw-r--r--data/maps/SeafloorCavern_Room4/map.bin1
-rw-r--r--data/maps/SeafloorCavern_Room5/border.bin1
-rw-r--r--data/maps/SeafloorCavern_Room5/header.inc15
-rw-r--r--data/maps/SeafloorCavern_Room5/map.bin1
-rw-r--r--data/maps/SeafloorCavern_Room6/border.bin1
-rw-r--r--data/maps/SeafloorCavern_Room6/header.inc15
-rw-r--r--data/maps/SeafloorCavern_Room6/map.bin1
-rw-r--r--data/maps/SeafloorCavern_Room7/border.bin1
-rw-r--r--data/maps/SeafloorCavern_Room7/header.inc15
-rw-r--r--data/maps/SeafloorCavern_Room7/map.bin1
-rw-r--r--data/maps/SeafloorCavern_Room8/border.bin1
-rw-r--r--data/maps/SeafloorCavern_Room8/header.inc15
-rw-r--r--data/maps/SeafloorCavern_Room8/map.bin1
-rw-r--r--data/maps/SeafloorCavern_Room9/border.bin1
-rw-r--r--data/maps/SeafloorCavern_Room9/header.inc15
-rw-r--r--data/maps/SeafloorCavern_Room9/map.bin1
-rw-r--r--data/maps/SealedChamber_InnerRoom/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/SealedChamber_InnerRoom/header.inc15
-rw-r--r--data/maps/SealedChamber_InnerRoom/map.bin1
-rw-r--r--data/maps/SealedChamber_OuterRoom/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/SealedChamber_OuterRoom/header.inc15
-rw-r--r--data/maps/SealedChamber_OuterRoom/map.bin11
-rw-r--r--data/maps/SecretBase_BlueCave1/border.bin1
-rw-r--r--data/maps/SecretBase_BlueCave1/header.inc15
-rw-r--r--data/maps/SecretBase_BlueCave1/map.bin50
-rw-r--r--data/maps/SecretBase_BlueCave2/border.bin1
-rw-r--r--data/maps/SecretBase_BlueCave2/header.inc15
-rw-r--r--data/maps/SecretBase_BlueCave2/map.bin57
-rw-r--r--data/maps/SecretBase_BlueCave3/border.bin1
-rw-r--r--data/maps/SecretBase_BlueCave3/header.inc15
-rw-r--r--data/maps/SecretBase_BlueCave3/map.bin51
-rw-r--r--data/maps/SecretBase_BlueCave4/border.bin1
-rw-r--r--data/maps/SecretBase_BlueCave4/header.inc15
-rw-r--r--data/maps/SecretBase_BlueCave4/map.bin57
-rw-r--r--data/maps/SecretBase_BrownCave1/border.bin1
-rw-r--r--data/maps/SecretBase_BrownCave1/header.inc15
-rw-r--r--data/maps/SecretBase_BrownCave1/map.bin54
-rw-r--r--data/maps/SecretBase_BrownCave2/border.bin1
-rw-r--r--data/maps/SecretBase_BrownCave2/header.inc15
-rw-r--r--data/maps/SecretBase_BrownCave2/map.bin56
-rw-r--r--data/maps/SecretBase_BrownCave3/border.bin1
-rw-r--r--data/maps/SecretBase_BrownCave3/header.inc15
-rw-r--r--data/maps/SecretBase_BrownCave3/map.bin69
-rw-r--r--data/maps/SecretBase_BrownCave4/border.bin1
-rw-r--r--data/maps/SecretBase_BrownCave4/header.inc15
-rw-r--r--data/maps/SecretBase_BrownCave4/map.bin70
-rw-r--r--data/maps/SecretBase_RedCave1/border.bin1
-rw-r--r--data/maps/SecretBase_RedCave1/header.inc15
-rw-r--r--data/maps/SecretBase_RedCave1/map.bin51
-rw-r--r--data/maps/SecretBase_RedCave2/border.bin1
-rw-r--r--data/maps/SecretBase_RedCave2/header.inc15
-rw-r--r--data/maps/SecretBase_RedCave2/map.bin42
-rw-r--r--data/maps/SecretBase_RedCave3/border.bin1
-rw-r--r--data/maps/SecretBase_RedCave3/header.inc15
-rw-r--r--data/maps/SecretBase_RedCave3/map.bin47
-rw-r--r--data/maps/SecretBase_RedCave4/border.bin1
-rw-r--r--data/maps/SecretBase_RedCave4/header.inc15
-rw-r--r--data/maps/SecretBase_RedCave4/map.bin56
-rw-r--r--data/maps/SecretBase_Shrub1/border.bin1
-rw-r--r--data/maps/SecretBase_Shrub1/header.inc15
-rw-r--r--data/maps/SecretBase_Shrub1/map.bin53
-rw-r--r--data/maps/SecretBase_Shrub2/border.bin1
-rw-r--r--data/maps/SecretBase_Shrub2/header.inc15
-rw-r--r--data/maps/SecretBase_Shrub2/map.bin57
-rw-r--r--data/maps/SecretBase_Shrub3/border.bin1
-rw-r--r--data/maps/SecretBase_Shrub3/header.inc15
-rw-r--r--data/maps/SecretBase_Shrub3/map.bin65
-rw-r--r--data/maps/SecretBase_Shrub4/border.bin1
-rw-r--r--data/maps/SecretBase_Shrub4/header.inc15
-rw-r--r--data/maps/SecretBase_Shrub4/map.bin69
-rw-r--r--data/maps/SecretBase_Tree1/border.bin1
-rw-r--r--data/maps/SecretBase_Tree1/header.inc15
-rw-r--r--data/maps/SecretBase_Tree1/map.bin56
-rw-r--r--data/maps/SecretBase_Tree2/border.bin1
-rw-r--r--data/maps/SecretBase_Tree2/header.inc15
-rw-r--r--data/maps/SecretBase_Tree2/map.bin48
-rw-r--r--data/maps/SecretBase_Tree3/border.bin1
-rw-r--r--data/maps/SecretBase_Tree3/header.inc15
-rw-r--r--data/maps/SecretBase_Tree3/map.bin63
-rw-r--r--data/maps/SecretBase_Tree4/border.bin1
-rw-r--r--data/maps/SecretBase_Tree4/header.inc15
-rw-r--r--data/maps/SecretBase_Tree4/map.bin77
-rw-r--r--data/maps/SecretBase_YellowCave1/border.bin1
-rw-r--r--data/maps/SecretBase_YellowCave1/header.inc15
-rw-r--r--data/maps/SecretBase_YellowCave1/map.bin57
-rw-r--r--data/maps/SecretBase_YellowCave2/border.bin1
-rw-r--r--data/maps/SecretBase_YellowCave2/header.inc15
-rw-r--r--data/maps/SecretBase_YellowCave2/map.bin56
-rw-r--r--data/maps/SecretBase_YellowCave3/border.bin1
-rw-r--r--data/maps/SecretBase_YellowCave3/header.inc15
-rw-r--r--data/maps/SecretBase_YellowCave3/map.bin63
-rw-r--r--data/maps/SecretBase_YellowCave4/border.bin1
-rw-r--r--data/maps/SecretBase_YellowCave4/header.inc15
-rw-r--r--data/maps/SecretBase_YellowCave4/map.bin80
-rw-r--r--data/maps/ShoalCave_HighTideEntranceRoom/border.bin1
-rw-r--r--data/maps/ShoalCave_HighTideEntranceRoom/header.inc15
-rw-r--r--data/maps/ShoalCave_HighTideEntranceRoom/map.bin1
-rw-r--r--data/maps/ShoalCave_HighTideInnerRoom/border.bin1
-rw-r--r--data/maps/ShoalCave_HighTideInnerRoom/header.inc15
-rw-r--r--data/maps/ShoalCave_HighTideInnerRoom/map.bin1
-rw-r--r--data/maps/ShoalCave_LowTideEntranceRoom/border.bin1
-rw-r--r--data/maps/ShoalCave_LowTideEntranceRoom/header.inc15
-rw-r--r--data/maps/ShoalCave_LowTideEntranceRoom/map.bin3
-rw-r--r--data/maps/ShoalCave_LowTideIceRoom/border.bin1
-rw-r--r--data/maps/ShoalCave_LowTideIceRoom/header.inc15
-rw-r--r--data/maps/ShoalCave_LowTideIceRoom/map.bin1
-rw-r--r--data/maps/ShoalCave_LowTideInnerRoom/border.bin1
-rw-r--r--data/maps/ShoalCave_LowTideInnerRoom/header.inc15
-rw-r--r--data/maps/ShoalCave_LowTideInnerRoom/map.bin2
-rw-r--r--data/maps/ShoalCave_LowTideLowerRoom/border.bin1
-rw-r--r--data/maps/ShoalCave_LowTideLowerRoom/header.inc15
-rw-r--r--data/maps/ShoalCave_LowTideLowerRoom/map.bin4
-rw-r--r--data/maps/ShoalCave_LowTideStairsRoom/border.bin1
-rw-r--r--data/maps/ShoalCave_LowTideStairsRoom/header.inc15
-rw-r--r--data/maps/ShoalCave_LowTideStairsRoom/map.bin1
-rw-r--r--data/maps/SingleBattleColosseum/border.bin1
-rw-r--r--data/maps/SingleBattleColosseum/header.inc15
-rw-r--r--data/maps/SingleBattleColosseum/map.bin1
-rw-r--r--data/maps/SkyPillar_1F/border.bin1
-rw-r--r--data/maps/SkyPillar_1F/header.inc15
-rw-r--r--data/maps/SkyPillar_1F/map.bin1
-rw-r--r--data/maps/SkyPillar_2F/border.bin1
-rw-r--r--data/maps/SkyPillar_2F/header.inc15
-rw-r--r--data/maps/SkyPillar_2F/map.bin1
-rw-r--r--data/maps/SkyPillar_3F/border.bin1
-rw-r--r--data/maps/SkyPillar_3F/header.inc15
-rw-r--r--data/maps/SkyPillar_3F/map.bin1
-rw-r--r--data/maps/SkyPillar_4F/border.bin1
-rw-r--r--data/maps/SkyPillar_4F/header.inc15
-rw-r--r--data/maps/SkyPillar_4F/map.bin1
-rw-r--r--data/maps/SkyPillar_5F/border.bin1
-rw-r--r--data/maps/SkyPillar_5F/header.inc15
-rw-r--r--data/maps/SkyPillar_5F/map.bin1
-rw-r--r--data/maps/SkyPillar_Entrance/border.bin1
-rw-r--r--data/maps/SkyPillar_Entrance/header.inc15
-rw-r--r--data/maps/SkyPillar_Entrance/map.bin1
-rw-r--r--data/maps/SkyPillar_Outside/border.bin1
-rw-r--r--data/maps/SkyPillar_Outside/header.inc15
-rw-r--r--data/maps/SkyPillar_Outside/map.bin1
-rw-r--r--data/maps/SkyPillar_Top/border.bin1
-rw-r--r--data/maps/SkyPillar_Top/header.inc15
-rw-r--r--data/maps/SkyPillar_Top/map.bin1
-rw-r--r--data/maps/SlateportCity/border.bin1
-rw-r--r--data/maps/SlateportCity/connections.inc9
-rw-r--r--data/maps/SlateportCity/header.inc15
-rw-r--r--data/maps/SlateportCity/map.binbin0 -> 4800 bytes
-rw-r--r--data/maps/SlateportCity_BattleTentBattleRoom/header.inc15
-rw-r--r--data/maps/SlateportCity_BattleTentCorridor/header.inc15
-rw-r--r--data/maps/SlateportCity_BattleTentLobby/header.inc15
-rw-r--r--data/maps/SlateportCity_Harbor/border.bin1
-rw-r--r--data/maps/SlateportCity_Harbor/header.inc15
-rw-r--r--data/maps/SlateportCity_Harbor/map.bin1
-rw-r--r--data/maps/SlateportCity_House1/header.inc15
-rw-r--r--data/maps/SlateportCity_House2/header.inc15
-rw-r--r--data/maps/SlateportCity_Mart/header.inc15
-rw-r--r--data/maps/SlateportCity_OceanicMuseum_1F/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/SlateportCity_OceanicMuseum_1F/header.inc15
-rw-r--r--data/maps/SlateportCity_OceanicMuseum_1F/map.bin2
-rw-r--r--data/maps/SlateportCity_OceanicMuseum_2F/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/SlateportCity_OceanicMuseum_2F/header.inc15
-rw-r--r--data/maps/SlateportCity_OceanicMuseum_2F/map.bin1
-rw-r--r--data/maps/SlateportCity_PokemonCenter_1F/header.inc15
-rw-r--r--data/maps/SlateportCity_PokemonCenter_2F/header.inc15
-rw-r--r--data/maps/SlateportCity_PokemonFanClub/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/SlateportCity_PokemonFanClub/header.inc15
-rw-r--r--data/maps/SlateportCity_PokemonFanClub/map.binbin0 -> 308 bytes
-rw-r--r--data/maps/SlateportCity_SternsShipyard_1F/border.bin1
-rw-r--r--data/maps/SlateportCity_SternsShipyard_1F/header.inc15
-rw-r--r--data/maps/SlateportCity_SternsShipyard_1F/map.bin7
-rw-r--r--data/maps/SlateportCity_SternsShipyard_2F/border.bin1
-rw-r--r--data/maps/SlateportCity_SternsShipyard_2F/header.inc15
-rw-r--r--data/maps/SlateportCity_SternsShipyard_2F/map.bin1
-rw-r--r--data/maps/SootopolisCity/border.bin1
-rw-r--r--data/maps/SootopolisCity/connections.inc6
-rw-r--r--data/maps/SootopolisCity/header.inc15
-rw-r--r--data/maps/SootopolisCity/map.bin12
-rw-r--r--data/maps/SootopolisCity_Gym_1F/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/SootopolisCity_Gym_1F/header.inc15
-rw-r--r--data/maps/SootopolisCity_Gym_1F/map.binbin0 -> 884 bytes
-rw-r--r--data/maps/SootopolisCity_Gym_B1F/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/SootopolisCity_Gym_B1F/header.inc15
-rw-r--r--data/maps/SootopolisCity_Gym_B1F/map.bin1
-rw-r--r--data/maps/SootopolisCity_House1/border.bin1
-rw-r--r--data/maps/SootopolisCity_House1/header.inc15
-rw-r--r--data/maps/SootopolisCity_House1/map.bin1
-rw-r--r--data/maps/SootopolisCity_House2/border.bin1
-rw-r--r--data/maps/SootopolisCity_House2/header.inc15
-rw-r--r--data/maps/SootopolisCity_House2/map.bin1
-rw-r--r--data/maps/SootopolisCity_House3/border.bin1
-rw-r--r--data/maps/SootopolisCity_House3/header.inc15
-rw-r--r--data/maps/SootopolisCity_House3/map.bin1
-rw-r--r--data/maps/SootopolisCity_House4/header.inc15
-rw-r--r--data/maps/SootopolisCity_House5/header.inc15
-rw-r--r--data/maps/SootopolisCity_House6/header.inc15
-rw-r--r--data/maps/SootopolisCity_House7/header.inc15
-rw-r--r--data/maps/SootopolisCity_LotadAndSeedotHouse/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/SootopolisCity_LotadAndSeedotHouse/header.inc15
-rw-r--r--data/maps/SootopolisCity_LotadAndSeedotHouse/map.bin1
-rw-r--r--data/maps/SootopolisCity_Mart/header.inc15
-rw-r--r--data/maps/SootopolisCity_MysteryEventsHouse_1F/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/SootopolisCity_MysteryEventsHouse_1F/header.inc15
-rw-r--r--data/maps/SootopolisCity_MysteryEventsHouse_1F/map.bin1
-rw-r--r--data/maps/SootopolisCity_MysteryEventsHouse_B1F/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/SootopolisCity_MysteryEventsHouse_B1F/header.inc15
-rw-r--r--data/maps/SootopolisCity_MysteryEventsHouse_B1F/map.bin2
-rw-r--r--data/maps/SootopolisCity_PokemonCenter_1F/header.inc15
-rw-r--r--data/maps/SootopolisCity_PokemonCenter_2F/header.inc15
-rw-r--r--data/maps/SouthernIsland_Exterior/border.bin1
-rw-r--r--data/maps/SouthernIsland_Exterior/header.inc15
-rw-r--r--data/maps/SouthernIsland_Exterior/map.bin1
-rw-r--r--data/maps/SouthernIsland_Interior/border.bin1
-rw-r--r--data/maps/SouthernIsland_Interior/header.inc15
-rw-r--r--data/maps/SouthernIsland_Interior/map.bin1
-rw-r--r--data/maps/TerraCave_End/border.bin1
-rw-r--r--data/maps/TerraCave_End/header.inc15
-rw-r--r--data/maps/TerraCave_End/map.bin9
-rw-r--r--data/maps/TerraCave_Entrance/border.bin1
-rw-r--r--data/maps/TerraCave_Entrance/header.inc15
-rw-r--r--data/maps/TerraCave_Entrance/map.bin33
-rw-r--r--data/maps/TradeCenter/border.bin1
-rw-r--r--data/maps/TradeCenter/header.inc15
-rw-r--r--data/maps/TradeCenter/map.bin2
-rw-r--r--data/maps/TrainerHill_1F/border.bin1
-rw-r--r--data/maps/TrainerHill_1F/header.inc15
-rw-r--r--data/maps/TrainerHill_1F/map.bin2
-rw-r--r--data/maps/TrainerHill_2F/border.bin1
-rw-r--r--data/maps/TrainerHill_2F/header.inc15
-rw-r--r--data/maps/TrainerHill_2F/map.bin2
-rw-r--r--data/maps/TrainerHill_3F/border.bin1
-rw-r--r--data/maps/TrainerHill_3F/header.inc15
-rw-r--r--data/maps/TrainerHill_3F/map.bin2
-rw-r--r--data/maps/TrainerHill_4F/border.bin1
-rw-r--r--data/maps/TrainerHill_4F/header.inc15
-rw-r--r--data/maps/TrainerHill_4F/map.bin2
-rw-r--r--data/maps/TrainerHill_Elevator/header.inc15
-rw-r--r--data/maps/TrainerHill_Entrance/border.bin1
-rw-r--r--data/maps/TrainerHill_Entrance/header.inc15
-rw-r--r--data/maps/TrainerHill_Entrance/map.bin2
-rw-r--r--data/maps/TrainerHill_Roof/border.bin1
-rw-r--r--data/maps/TrainerHill_Roof/header.inc15
-rw-r--r--data/maps/TrainerHill_Roof/map.bin1
-rw-r--r--data/maps/Underwater1/border.bin1
-rw-r--r--data/maps/Underwater1/connections.inc8
-rw-r--r--data/maps/Underwater1/header.inc15
-rw-r--r--data/maps/Underwater1/map.bin17
-rw-r--r--data/maps/Underwater2/border.bin1
-rw-r--r--data/maps/Underwater2/connections.inc9
-rw-r--r--data/maps/Underwater2/header.inc15
-rw-r--r--data/maps/Underwater2/map.bin35
-rw-r--r--data/maps/Underwater3/border.bin1
-rw-r--r--data/maps/Underwater3/connections.inc9
-rw-r--r--data/maps/Underwater3/header.inc15
-rw-r--r--data/maps/Underwater3/map.bin1
-rw-r--r--data/maps/Underwater4/border.bin1
-rw-r--r--data/maps/Underwater4/connections.inc8
-rw-r--r--data/maps/Underwater4/header.inc15
-rw-r--r--data/maps/Underwater4/map.bin1
-rw-r--r--data/maps/Underwater5/border.bin1
-rw-r--r--data/maps/Underwater5/connections.inc7
-rw-r--r--data/maps/Underwater5/header.inc15
-rw-r--r--data/maps/Underwater5/map.bin1
-rw-r--r--data/maps/Underwater6/border.bin1
-rw-r--r--data/maps/Underwater6/connections.inc7
-rw-r--r--data/maps/Underwater6/header.inc15
-rw-r--r--data/maps/Underwater6/map.bin1
-rw-r--r--data/maps/Underwater7/border.bin1
-rw-r--r--data/maps/Underwater7/connections.inc7
-rw-r--r--data/maps/Underwater7/header.inc15
-rw-r--r--data/maps/Underwater7/map.bin1
-rw-r--r--data/maps/Underwater_MarineCave/border.bin1
-rw-r--r--data/maps/Underwater_MarineCave/header.inc15
-rw-r--r--data/maps/Underwater_MarineCave/map.bin1
-rw-r--r--data/maps/Underwater_Route134/border.bin1
-rw-r--r--data/maps/Underwater_Route134/header.inc15
-rw-r--r--data/maps/Underwater_Route134/map.bin2
-rw-r--r--data/maps/Underwater_SeafloorCavern/border.bin1
-rw-r--r--data/maps/Underwater_SeafloorCavern/header.inc15
-rw-r--r--data/maps/Underwater_SeafloorCavern/map.bin2
-rw-r--r--data/maps/Underwater_SealedChamber/border.bin1
-rw-r--r--data/maps/Underwater_SealedChamber/header.inc15
-rw-r--r--data/maps/Underwater_SealedChamber/map.bin1
-rw-r--r--data/maps/Underwater_SootopolisCity/border.bin1
-rw-r--r--data/maps/Underwater_SootopolisCity/header.inc15
-rw-r--r--data/maps/Underwater_SootopolisCity/map.bin2
-rw-r--r--data/maps/UnionRoom/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/UnionRoom/header.inc15
-rw-r--r--data/maps/UnionRoom/map.bin11
-rw-r--r--data/maps/UnknownMap_08417FC4/border.bin1
-rw-r--r--data/maps/UnknownMap_08417FC4/map.bin1
-rw-r--r--data/maps/UnknownMap_08428450/border.bin1
-rw-r--r--data/maps/UnknownMap_08428450/map.binbin0 -> 4 bytes
-rw-r--r--data/maps/UnknownMap_084294C4/border.bin1
-rw-r--r--data/maps/UnknownMap_084294C4/map.binbin0 -> 4 bytes
-rw-r--r--data/maps/UnknownMap_084294E8/border.bin1
-rw-r--r--data/maps/UnknownMap_084294E8/map.binbin0 -> 4 bytes
-rw-r--r--data/maps/UnknownMap_0843E6C0/border.bin1
-rw-r--r--data/maps/UnknownMap_0843E6C0/map.binbin0 -> 4 bytes
-rw-r--r--data/maps/UnknownMap_0843E6E4/border.bin1
-rw-r--r--data/maps/UnknownMap_0843E6E4/map.binbin0 -> 4 bytes
-rw-r--r--data/maps/UnknownMap_0843E708/border.bin1
-rw-r--r--data/maps/UnknownMap_0843E708/map.binbin0 -> 4 bytes
-rw-r--r--data/maps/UnknownMap_0843E72C/border.bin1
-rw-r--r--data/maps/UnknownMap_0843E72C/map.binbin0 -> 4 bytes
-rw-r--r--data/maps/UnknownMap_0843E750/border.bin1
-rw-r--r--data/maps/UnknownMap_0843E750/map.binbin0 -> 4 bytes
-rw-r--r--data/maps/UnknownMap_0843E774/border.bin1
-rw-r--r--data/maps/UnknownMap_0843E774/map.binbin0 -> 4 bytes
-rw-r--r--data/maps/UnknownMap_0843E798/border.bin1
-rw-r--r--data/maps/UnknownMap_0843E798/map.binbin0 -> 4 bytes
-rw-r--r--data/maps/UnknownMap_0843E7BC/border.bin1
-rw-r--r--data/maps/UnknownMap_0843E7BC/map.binbin0 -> 4 bytes
-rw-r--r--data/maps/UnknownMap_0843E7E0/border.bin1
-rw-r--r--data/maps/UnknownMap_0843E7E0/map.binbin0 -> 4 bytes
-rw-r--r--data/maps/UnknownMap_0843E804/border.bin1
-rw-r--r--data/maps/UnknownMap_0843E804/map.binbin0 -> 4 bytes
-rw-r--r--data/maps/UnknownMap_0843E828/border.bin1
-rw-r--r--data/maps/UnknownMap_0843E828/map.binbin0 -> 4 bytes
-rw-r--r--data/maps/UnknownMap_0843E84C/border.bin1
-rw-r--r--data/maps/UnknownMap_0843E84C/map.binbin0 -> 4 bytes
-rw-r--r--data/maps/UnknownMap_0843E870/border.bin1
-rw-r--r--data/maps/UnknownMap_0843E870/map.binbin0 -> 4 bytes
-rw-r--r--data/maps/UnknownMap_0843E894/border.bin1
-rw-r--r--data/maps/UnknownMap_0843E894/map.binbin0 -> 4 bytes
-rw-r--r--data/maps/UnknownMap_08447028/border.bin1
-rw-r--r--data/maps/UnknownMap_08447028/map.bin3
-rw-r--r--data/maps/UnknownMap_0845A394/border.bin1
-rw-r--r--data/maps/UnknownMap_0845A394/map.binbin0 -> 724 bytes
-rw-r--r--data/maps/UnknownMap_0845D470/border.bin1
-rw-r--r--data/maps/UnknownMap_0845D470/map.bin1
-rw-r--r--data/maps/UnknownMap_0845ECB4/border.bin1
-rw-r--r--data/maps/UnknownMap_0845ECB4/map.bin1
-rw-r--r--data/maps/UnknownMap_08469200/border.bin1
-rw-r--r--data/maps/UnknownMap_08469200/map.bin12
-rw-r--r--data/maps/UnknownMap_084693AC/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/UnknownMap_084693AC/map.binbin0 -> 4 bytes
-rw-r--r--data/maps/UnknownMap_08470BD8/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/UnknownMap_08470BD8/map.binbin0 -> 11200 bytes
-rw-r--r--data/maps/UnknownMap_08480DAC/border.bin1
-rw-r--r--data/maps/UnknownMap_08480DAC/map.binbin0 -> 340 bytes
-rw-r--r--data/maps/UnknownMap_08480F54/border.bin1
-rw-r--r--data/maps/UnknownMap_08480F54/map.bin1
-rw-r--r--data/maps/UnknownMap_084810FC/border.bin1
-rw-r--r--data/maps/UnknownMap_084810FC/map.bin1
-rw-r--r--data/maps/UnknownMap_084812A4/border.bin1
-rw-r--r--data/maps/UnknownMap_084812A4/map.bin1
-rw-r--r--data/maps/UnknownMap_0848144C/border.bin1
-rw-r--r--data/maps/UnknownMap_0848144C/map.bin1
-rw-r--r--data/maps/UnknownMap_084815F4/border.bin1
-rw-r--r--data/maps/UnknownMap_084815F4/map.bin1
-rw-r--r--data/maps/UnknownMap_08481B24/border.bin1
-rw-r--r--data/maps/UnknownMap_08481B24/map.bin1
-rw-r--r--data/maps/UnknownMap_08481DBC/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/UnknownMap_08481DBC/map.bin2
-rw-r--r--data/maps/UnknownMap_25_29/border.bin1
-rw-r--r--data/maps/UnknownMap_25_29/header.inc15
-rw-r--r--data/maps/UnknownMap_25_29/map.bin1
-rw-r--r--data/maps/UnknownMap_25_30/border.bin1
-rw-r--r--data/maps/UnknownMap_25_30/header.inc15
-rw-r--r--data/maps/UnknownMap_25_30/map.bin1
-rw-r--r--data/maps/UnknownMap_25_31/border.bin1
-rw-r--r--data/maps/UnknownMap_25_31/header.inc15
-rw-r--r--data/maps/UnknownMap_25_31/map.bin1
-rw-r--r--data/maps/UnknownMap_25_32/border.bin1
-rw-r--r--data/maps/UnknownMap_25_32/header.inc15
-rw-r--r--data/maps/UnknownMap_25_32/map.bin1
-rw-r--r--data/maps/UnknownMap_25_33/border.bin1
-rw-r--r--data/maps/UnknownMap_25_33/header.inc15
-rw-r--r--data/maps/UnknownMap_25_33/map.bin1
-rw-r--r--data/maps/UnknownMap_25_34/border.bin1
-rw-r--r--data/maps/UnknownMap_25_34/header.inc15
-rw-r--r--data/maps/UnknownMap_25_34/map.bin1
-rw-r--r--data/maps/VerdanturfTown/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/VerdanturfTown/connections.inc8
-rw-r--r--data/maps/VerdanturfTown/header.inc15
-rw-r--r--data/maps/VerdanturfTown/map.binbin0 -> 800 bytes
-rw-r--r--data/maps/VerdanturfTown_BattleTentBattleRoom/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/VerdanturfTown_BattleTentBattleRoom/header.inc15
-rw-r--r--data/maps/VerdanturfTown_BattleTentBattleRoom/map.binbin0 -> 234 bytes
-rw-r--r--data/maps/VerdanturfTown_BattleTentCorridor/header.inc15
-rw-r--r--data/maps/VerdanturfTown_BattleTentLobby/header.inc15
-rw-r--r--data/maps/VerdanturfTown_FriendshipRatersHouse/header.inc15
-rw-r--r--data/maps/VerdanturfTown_House/header.inc15
-rw-r--r--data/maps/VerdanturfTown_Mart/header.inc15
-rw-r--r--data/maps/VerdanturfTown_PokemonCenter_1F/header.inc15
-rw-r--r--data/maps/VerdanturfTown_PokemonCenter_2F/header.inc15
-rw-r--r--data/maps/VerdanturfTown_WandasHouse/border.binbin0 -> 8 bytes
-rw-r--r--data/maps/VerdanturfTown_WandasHouse/header.inc15
-rw-r--r--data/maps/VerdanturfTown_WandasHouse/map.binbin0 -> 272 bytes
-rw-r--r--data/maps/VictoryRoad_1F/border.bin1
-rw-r--r--data/maps/VictoryRoad_1F/header.inc15
-rw-r--r--data/maps/VictoryRoad_1F/map.bin10
-rw-r--r--data/maps/VictoryRoad_B1F/border.bin1
-rw-r--r--data/maps/VictoryRoad_B1F/header.inc15
-rw-r--r--data/maps/VictoryRoad_B1F/map.bin25
-rw-r--r--data/maps/VictoryRoad_B2F/border.bin1
-rw-r--r--data/maps/VictoryRoad_B2F/header.inc15
-rw-r--r--data/maps/VictoryRoad_B2F/map.bin1
-rw-r--r--data/maps/_assets.inc7606
-rw-r--r--data/maps/_groups.inc623
-rw-r--r--data/maps/attributes_table.inc444
-rw-r--r--data/maps/connections.inc65
-rw-r--r--data/maps/events/AbandonedShip_CaptainsOffice.inc11
-rw-r--r--data/maps/events/AbandonedShip_Corridors_1F.inc21
-rw-r--r--data/maps/events/AbandonedShip_Corridors_B1F.inc20
-rw-r--r--data/maps/events/AbandonedShip_Deck.inc10
-rw-r--r--data/maps/events/AbandonedShip_HiddenFloorCorridors.inc17
-rw-r--r--data/maps/events/AbandonedShip_HiddenFloorRooms.inc32
-rw-r--r--data/maps/events/AbandonedShip_Room_B1F.inc10
-rw-r--r--data/maps/events/AbandonedShip_Rooms2_1F.inc15
-rw-r--r--data/maps/events/AbandonedShip_Rooms2_B1F.inc13
-rw-r--r--data/maps/events/AbandonedShip_Rooms_1F.inc17
-rw-r--r--data/maps/events/AbandonedShip_Rooms_B1F.inc12
-rw-r--r--data/maps/events/AbandonedShip_Underwater1.inc7
-rw-r--r--data/maps/events/AbandonedShip_Underwater2.inc6
-rw-r--r--data/maps/events/AlteringCave.inc6
-rw-r--r--data/maps/events/AncientTomb.inc16
-rw-r--r--data/maps/events/AquaHideout_1F.inc13
-rw-r--r--data/maps/events/AquaHideout_B1F.inc41
-rw-r--r--data/maps/events/AquaHideout_B2F.inc27
-rw-r--r--data/maps/events/AquaHideout_UnusedRubyMap1.inc3
-rw-r--r--data/maps/events/AquaHideout_UnusedRubyMap2.inc3
-rw-r--r--data/maps/events/AquaHideout_UnusedRubyMap3.inc3
-rw-r--r--data/maps/events/ArtisanCave_1F.inc10
-rw-r--r--data/maps/events/ArtisanCave_B1F.inc16
-rw-r--r--data/maps/events/BattleFrontier_BattleArenaBattleRoom.inc14
-rw-r--r--data/maps/events/BattleFrontier_BattleArenaCorridor.inc6
-rw-r--r--data/maps/events/BattleFrontier_BattleArenaLobby.inc17
-rw-r--r--data/maps/events/BattleFrontier_BattleDomeBattleRoom.inc20
-rw-r--r--data/maps/events/BattleFrontier_BattleDomeCorridor.inc10
-rw-r--r--data/maps/events/BattleFrontier_BattleDomeLobby.inc21
-rw-r--r--data/maps/events/BattleFrontier_BattleDomePreBattleRoom.inc10
-rw-r--r--data/maps/events/BattleFrontier_BattleFactoryBattleRoom.inc13
-rw-r--r--data/maps/events/BattleFrontier_BattleFactoryLobby.inc20
-rw-r--r--data/maps/events/BattleFrontier_BattleFactoryPreBattleRoom.inc6
-rw-r--r--data/maps/events/BattleFrontier_BattlePalaceBattleRoom.inc14
-rw-r--r--data/maps/events/BattleFrontier_BattlePalaceCorridor.inc18
-rw-r--r--data/maps/events/BattleFrontier_BattlePalaceLobby.inc21
-rw-r--r--data/maps/events/BattleFrontier_BattlePikeCorridor.inc6
-rw-r--r--data/maps/events/BattleFrontier_BattlePikeLobby.inc18
-rw-r--r--data/maps/events/BattleFrontier_BattlePikeRandomRoom1.inc16
-rw-r--r--data/maps/events/BattleFrontier_BattlePikeRandomRoom2.inc6
-rw-r--r--data/maps/events/BattleFrontier_BattlePikeRandomRoom3.inc12
-rw-r--r--data/maps/events/BattleFrontier_BattlePikeThreePathRoom.inc18
-rw-r--r--data/maps/events/BattleFrontier_BattlePointExchangeServiceCorner.inc19
-rw-r--r--data/maps/events/BattleFrontier_BattlePyramidEmptySquare.inc21
-rw-r--r--data/maps/events/BattleFrontier_BattlePyramidLobby.inc16
-rw-r--r--data/maps/events/BattleFrontier_BattlePyramidTop.inc10
-rw-r--r--data/maps/events/BattleFrontier_BattleTowerBattleRoom.inc12
-rw-r--r--data/maps/events/BattleFrontier_BattleTowerBattleRoom2.inc11
-rw-r--r--data/maps/events/BattleFrontier_BattleTowerCorridor.inc6
-rw-r--r--data/maps/events/BattleFrontier_BattleTowerCorridor2.inc9
-rw-r--r--data/maps/events/BattleFrontier_BattleTowerElevator.inc6
-rw-r--r--data/maps/events/BattleFrontier_BattleTowerLobby.inc26
-rw-r--r--data/maps/events/BattleFrontier_BattleTowerMultiBattleRoom.inc14
-rw-r--r--data/maps/events/BattleFrontier_Lounge1.inc11
-rw-r--r--data/maps/events/BattleFrontier_Lounge2.inc14
-rw-r--r--data/maps/events/BattleFrontier_Lounge3.inc13
-rw-r--r--data/maps/events/BattleFrontier_Lounge4.inc11
-rw-r--r--data/maps/events/BattleFrontier_Lounge5.inc13
-rw-r--r--data/maps/events/BattleFrontier_Lounge6.inc9
-rw-r--r--data/maps/events/BattleFrontier_Lounge7.inc12
-rw-r--r--data/maps/events/BattleFrontier_Lounge8.inc11
-rw-r--r--data/maps/events/BattleFrontier_Lounge9.inc10
-rw-r--r--data/maps/events/BattleFrontier_Mart.inc13
-rw-r--r--data/maps/events/BattleFrontier_OutsideEast.inc57
-rw-r--r--data/maps/events/BattleFrontier_OutsideWest.inc49
-rw-r--r--data/maps/events/BattleFrontier_PokemonCenter_1F.inc15
-rw-r--r--data/maps/events/BattleFrontier_PokemonCenter_2F.inc14
-rw-r--r--data/maps/events/BattleFrontier_RankingHall.inc26
-rw-r--r--data/maps/events/BattleFrontier_ReceptionGate.inc14
-rw-r--r--data/maps/events/BattleFrontier_ScottsHouse.inc10
-rw-r--r--data/maps/events/BattlePyramidSquare01.inc12
-rw-r--r--data/maps/events/BattlePyramidSquare02.inc12
-rw-r--r--data/maps/events/BattlePyramidSquare03.inc12
-rw-r--r--data/maps/events/BattlePyramidSquare04.inc12
-rw-r--r--data/maps/events/BattlePyramidSquare05.inc12
-rw-r--r--data/maps/events/BattlePyramidSquare06.inc12
-rw-r--r--data/maps/events/BattlePyramidSquare07.inc12
-rw-r--r--data/maps/events/BattlePyramidSquare08.inc12
-rw-r--r--data/maps/events/BattlePyramidSquare09.inc12
-rw-r--r--data/maps/events/BattlePyramidSquare10.inc12
-rw-r--r--data/maps/events/BattlePyramidSquare11.inc12
-rw-r--r--data/maps/events/BattlePyramidSquare12.inc12
-rw-r--r--data/maps/events/BattlePyramidSquare13.inc12
-rw-r--r--data/maps/events/BattlePyramidSquare14.inc12
-rw-r--r--data/maps/events/BattlePyramidSquare15.inc12
-rw-r--r--data/maps/events/BattlePyramidSquare16.inc12
-rw-r--r--data/maps/events/BirthIsland_Exterior.inc10
-rw-r--r--data/maps/events/BirthIsland_Harbor.inc10
-rw-r--r--data/maps/events/CaveOfOrigin_1F.inc7
-rw-r--r--data/maps/events/CaveOfOrigin_B1F.inc9
-rw-r--r--data/maps/events/CaveOfOrigin_Entrance.inc7
-rw-r--r--data/maps/events/CaveOfOrigin_UnusedRubySapphireMap1.inc7
-rw-r--r--data/maps/events/CaveOfOrigin_UnusedRubySapphireMap2.inc7
-rw-r--r--data/maps/events/CaveOfOrigin_UnusedRubySapphireMap3.inc7
-rw-r--r--data/maps/events/DesertRuins.inc16
-rw-r--r--data/maps/events/DesertUnderpass.inc9
-rw-r--r--data/maps/events/DewfordTown.inc24
-rw-r--r--data/maps/events/DewfordTown_Gym.inc23
-rw-r--r--data/maps/events/DewfordTown_Hall.inc22
-rw-r--r--data/maps/events/DewfordTown_House1.inc12
-rw-r--r--data/maps/events/DewfordTown_House2.inc11
-rw-r--r--data/maps/events/DewfordTown_PokemonCenter_1F.inc13
-rw-r--r--data/maps/events/DewfordTown_PokemonCenter_2F.inc14
-rw-r--r--data/maps/events/DoubleBattleColosseum.inc15
-rw-r--r--data/maps/events/EverGrandeCity.inc29
-rw-r--r--data/maps/events/EverGrandeCity_ChampionsRoom.inc12
-rw-r--r--data/maps/events/EverGrandeCity_DrakesRoom.inc10
-rw-r--r--data/maps/events/EverGrandeCity_GlaciasRoom.inc10
-rw-r--r--data/maps/events/EverGrandeCity_Hall1.inc9
-rw-r--r--data/maps/events/EverGrandeCity_Hall2.inc9
-rw-r--r--data/maps/events/EverGrandeCity_Hall3.inc9
-rw-r--r--data/maps/events/EverGrandeCity_Hall4.inc7
-rw-r--r--data/maps/events/EverGrandeCity_Hall5.inc9
-rw-r--r--data/maps/events/EverGrandeCity_HallOfFame.inc9
-rw-r--r--data/maps/events/EverGrandeCity_PhoebesRoom.inc10
-rw-r--r--data/maps/events/EverGrandeCity_PokemonCenter_1F.inc14
-rw-r--r--data/maps/events/EverGrandeCity_PokemonCenter_2F.inc14
-rw-r--r--data/maps/events/EverGrandeCity_PokemonLeague_1F.inc16
-rw-r--r--data/maps/events/EverGrandeCity_PokemonLeague_2F.inc14
-rw-r--r--data/maps/events/EverGrandeCity_SidneysRoom.inc10
-rw-r--r--data/maps/events/FallarborTown.inc26
-rw-r--r--data/maps/events/FallarborTown_BattleTentBattleRoom.inc8
-rw-r--r--data/maps/events/FallarborTown_BattleTentCorridor.inc6
-rw-r--r--data/maps/events/FallarborTown_BattleTentLobby.inc17
-rw-r--r--data/maps/events/FallarborTown_House1.inc11
-rw-r--r--data/maps/events/FallarborTown_House2.inc10
-rw-r--r--data/maps/events/FallarborTown_Mart.inc14
-rw-r--r--data/maps/events/FallarborTown_PokemonCenter_1F.inc14
-rw-r--r--data/maps/events/FallarborTown_PokemonCenter_2F.inc14
-rw-r--r--data/maps/events/FarawayIsland_Entrance.inc19
-rw-r--r--data/maps/events/FarawayIsland_Interior.inc10
-rw-r--r--data/maps/events/FieryPath.inc17
-rw-r--r--data/maps/events/FortreeCity.inc31
-rw-r--r--data/maps/events/FortreeCity_DecorationShop.inc13
-rw-r--r--data/maps/events/FortreeCity_Gym.inc21
-rw-r--r--data/maps/events/FortreeCity_House1.inc12
-rw-r--r--data/maps/events/FortreeCity_House2.inc11
-rw-r--r--data/maps/events/FortreeCity_House3.inc11
-rw-r--r--data/maps/events/FortreeCity_House4.inc12
-rw-r--r--data/maps/events/FortreeCity_House5.inc12
-rw-r--r--data/maps/events/FortreeCity_Mart.inc13
-rw-r--r--data/maps/events/FortreeCity_PokemonCenter_1F.inc14
-rw-r--r--data/maps/events/FortreeCity_PokemonCenter_2F.inc14
-rw-r--r--data/maps/events/GraniteCave_1F.inc13
-rw-r--r--data/maps/events/GraniteCave_B1F.inc15
-rw-r--r--data/maps/events/GraniteCave_B2F.inc25
-rw-r--r--data/maps/events/GraniteCave_StevensRoom.inc9
-rw-r--r--data/maps/events/InsideOfTruck.inc25
-rw-r--r--data/maps/events/IslandCave.inc16
-rw-r--r--data/maps/events/JaggedPass.inc35
-rw-r--r--data/maps/events/LavaridgeTown.inc35
-rw-r--r--data/maps/events/LavaridgeTown_Gym_1F.inc43
-rw-r--r--data/maps/events/LavaridgeTown_Gym_B1F.inc35
-rw-r--r--data/maps/events/LavaridgeTown_HerbShop.inc12
-rw-r--r--data/maps/events/LavaridgeTown_House.inc12
-rw-r--r--data/maps/events/LavaridgeTown_Mart.inc12
-rw-r--r--data/maps/events/LavaridgeTown_PokemonCenter_1F.inc15
-rw-r--r--data/maps/events/LavaridgeTown_PokemonCenter_2F.inc14
-rw-r--r--data/maps/events/LilycoveCity.inc58
-rw-r--r--data/maps/events/LilycoveCity_ContestHall.inc51
-rw-r--r--data/maps/events/LilycoveCity_ContestLobby.inc50
-rw-r--r--data/maps/events/LilycoveCity_CoveLilyMotel_1F.inc14
-rw-r--r--data/maps/events/LilycoveCity_CoveLilyMotel_2F.inc15
-rw-r--r--data/maps/events/LilycoveCity_DepartmentStoreElevator.inc10
-rw-r--r--data/maps/events/LilycoveCity_DepartmentStoreRooftop.inc16
-rw-r--r--data/maps/events/LilycoveCity_DepartmentStore_1F.inc20
-rw-r--r--data/maps/events/LilycoveCity_DepartmentStore_2F.inc15
-rw-r--r--data/maps/events/LilycoveCity_DepartmentStore_3F.inc15
-rw-r--r--data/maps/events/LilycoveCity_DepartmentStore_4F.inc15
-rw-r--r--data/maps/events/LilycoveCity_DepartmentStore_5F.inc17
-rw-r--r--data/maps/events/LilycoveCity_Harbor.inc14
-rw-r--r--data/maps/events/LilycoveCity_House1.inc11
-rw-r--r--data/maps/events/LilycoveCity_House2.inc10
-rw-r--r--data/maps/events/LilycoveCity_House3.inc15
-rw-r--r--data/maps/events/LilycoveCity_House4.inc11
-rw-r--r--data/maps/events/LilycoveCity_LilycoveMuseum_1F.inc38
-rw-r--r--data/maps/events/LilycoveCity_LilycoveMuseum_2F.inc26
-rw-r--r--data/maps/events/LilycoveCity_MoveDeletersHouse.inc10
-rw-r--r--data/maps/events/LilycoveCity_PokemonCenter_1F.inc15
-rw-r--r--data/maps/events/LilycoveCity_PokemonCenter_2F.inc14
-rw-r--r--data/maps/events/LilycoveCity_PokemonTrainerFanClub.inc18
-rw-r--r--data/maps/events/LilycoveCity_UnusedMart.inc7
-rw-r--r--data/maps/events/LinkContestRoom1.inc18
-rw-r--r--data/maps/events/LinkContestRoom2.inc1
-rw-r--r--data/maps/events/LinkContestRoom3.inc1
-rw-r--r--data/maps/events/LinkContestRoom4.inc1
-rw-r--r--data/maps/events/LinkContestRoom5.inc1
-rw-r--r--data/maps/events/LinkContestRoom6.inc1
-rw-r--r--data/maps/events/LittlerootTown.inc35
-rw-r--r--data/maps/events/LittlerootTown_BrendansHouse_1F.inc23
-rw-r--r--data/maps/events/LittlerootTown_BrendansHouse_2F.inc30
-rw-r--r--data/maps/events/LittlerootTown_MaysHouse_1F.inc23
-rw-r--r--data/maps/events/LittlerootTown_MaysHouse_2F.inc30
-rw-r--r--data/maps/events/LittlerootTown_ProfessorBirchsLab.inc32
-rw-r--r--data/maps/events/MagmaHideout_1F.inc17
-rw-r--r--data/maps/events/MagmaHideout_2F_1R.inc14
-rw-r--r--data/maps/events/MagmaHideout_2F_2R.inc15
-rw-r--r--data/maps/events/MagmaHideout_2F_3R.inc7
-rw-r--r--data/maps/events/MagmaHideout_3F_1R.inc13
-rw-r--r--data/maps/events/MagmaHideout_3F_2R.inc10
-rw-r--r--data/maps/events/MagmaHideout_3F_3R.inc10
-rw-r--r--data/maps/events/MagmaHideout_4F.inc17
-rw-r--r--data/maps/events/MarineCave_End.inc12
-rw-r--r--data/maps/events/MarineCave_Entrance.inc6
-rw-r--r--data/maps/events/MauvilleCity.inc35
-rw-r--r--data/maps/events/MauvilleCity_BikeShop.inc15
-rw-r--r--data/maps/events/MauvilleCity_GameCorner.inc47
-rw-r--r--data/maps/events/MauvilleCity_Gym.inc26
-rw-r--r--data/maps/events/MauvilleCity_House1.inc10
-rw-r--r--data/maps/events/MauvilleCity_House2.inc10
-rw-r--r--data/maps/events/MauvilleCity_Mart.inc12
-rw-r--r--data/maps/events/MauvilleCity_PokemonCenter_1F.inc15
-rw-r--r--data/maps/events/MauvilleCity_PokemonCenter_2F.inc15
-rw-r--r--data/maps/events/MeteorFalls_1F_1R.inc29
-rw-r--r--data/maps/events/MeteorFalls_1F_2R.inc17
-rw-r--r--data/maps/events/MeteorFalls_B1F_1R.inc11
-rw-r--r--data/maps/events/MeteorFalls_B1F_2R.inc9
-rw-r--r--data/maps/events/MeteorFalls_StevensCave.inc9
-rw-r--r--data/maps/events/MirageTower_1F.inc7
-rw-r--r--data/maps/events/MirageTower_2F.inc7
-rw-r--r--data/maps/events/MirageTower_3F.inc11
-rw-r--r--data/maps/events/MirageTower_4F.inc11
-rw-r--r--data/maps/events/MossdeepCity.inc56
-rw-r--r--data/maps/events/MossdeepCity_GameCorner_1F.inc17
-rw-r--r--data/maps/events/MossdeepCity_GameCorner_B1F.inc9
-rw-r--r--data/maps/events/MossdeepCity_Gym.inc72
-rw-r--r--data/maps/events/MossdeepCity_House1.inc11
-rw-r--r--data/maps/events/MossdeepCity_House2.inc12
-rw-r--r--data/maps/events/MossdeepCity_House3.inc10
-rw-r--r--data/maps/events/MossdeepCity_House4.inc12
-rw-r--r--data/maps/events/MossdeepCity_Mart.inc13
-rw-r--r--data/maps/events/MossdeepCity_PokemonCenter_1F.inc13
-rw-r--r--data/maps/events/MossdeepCity_PokemonCenter_2F.inc15
-rw-r--r--data/maps/events/MossdeepCity_SpaceCenter_1F.inc21
-rw-r--r--data/maps/events/MossdeepCity_SpaceCenter_2F.inc17
-rw-r--r--data/maps/events/MossdeepCity_StevensHouse.inc18
-rw-r--r--data/maps/events/MtChimney.inc45
-rw-r--r--data/maps/events/MtChimney_CableCarStation.inc11
-rw-r--r--data/maps/events/MtPyre_1F.inc16
-rw-r--r--data/maps/events/MtPyre_2F.inc20
-rw-r--r--data/maps/events/MtPyre_3F.inc17
-rw-r--r--data/maps/events/MtPyre_4F.inc15
-rw-r--r--data/maps/events/MtPyre_5F.inc14
-rw-r--r--data/maps/events/MtPyre_6F.inc12
-rw-r--r--data/maps/events/MtPyre_Exterior.inc23
-rw-r--r--data/maps/events/MtPyre_Summit.inc30
-rw-r--r--data/maps/events/NavelRock_B1F.inc7
-rw-r--r--data/maps/events/NavelRock_Bottom.inc9
-rw-r--r--data/maps/events/NavelRock_Down01.inc7
-rw-r--r--data/maps/events/NavelRock_Down02.inc7
-rw-r--r--data/maps/events/NavelRock_Down03.inc7
-rw-r--r--data/maps/events/NavelRock_Down04.inc7
-rw-r--r--data/maps/events/NavelRock_Down05.inc7
-rw-r--r--data/maps/events/NavelRock_Down06.inc7
-rw-r--r--data/maps/events/NavelRock_Down07.inc7
-rw-r--r--data/maps/events/NavelRock_Down08.inc7
-rw-r--r--data/maps/events/NavelRock_Down09.inc7
-rw-r--r--data/maps/events/NavelRock_Down10.inc7
-rw-r--r--data/maps/events/NavelRock_Down11.inc7
-rw-r--r--data/maps/events/NavelRock_Entrance.inc7
-rw-r--r--data/maps/events/NavelRock_Exterior.inc7
-rw-r--r--data/maps/events/NavelRock_Fork.inc8
-rw-r--r--data/maps/events/NavelRock_Harbor.inc10
-rw-r--r--data/maps/events/NavelRock_Top.inc15
-rw-r--r--data/maps/events/NavelRock_Up1.inc7
-rw-r--r--data/maps/events/NavelRock_Up2.inc7
-rw-r--r--data/maps/events/NavelRock_Up3.inc7
-rw-r--r--data/maps/events/NavelRock_Up4.inc7
-rw-r--r--data/maps/events/NewMauville_Entrance.inc10
-rw-r--r--data/maps/events/NewMauville_Inside.inc38
-rw-r--r--data/maps/events/OldaleTown.inc28
-rw-r--r--data/maps/events/OldaleTown_House1.inc10
-rw-r--r--data/maps/events/OldaleTown_House2.inc11
-rw-r--r--data/maps/events/OldaleTown_Mart.inc12
-rw-r--r--data/maps/events/OldaleTown_PokemonCenter_1F.inc14
-rw-r--r--data/maps/events/OldaleTown_PokemonCenter_2F.inc14
-rw-r--r--data/maps/events/PacifidlogTown.inc21
-rw-r--r--data/maps/events/PacifidlogTown_House1.inc11
-rw-r--r--data/maps/events/PacifidlogTown_House2.inc12
-rw-r--r--data/maps/events/PacifidlogTown_House3.inc11
-rw-r--r--data/maps/events/PacifidlogTown_House4.inc12
-rw-r--r--data/maps/events/PacifidlogTown_House5.inc11
-rw-r--r--data/maps/events/PacifidlogTown_PokemonCenter_1F.inc15
-rw-r--r--data/maps/events/PacifidlogTown_PokemonCenter_2F.inc14
-rw-r--r--data/maps/events/PetalburgCity.inc42
-rw-r--r--data/maps/events/PetalburgCity_Gym.inc72
-rw-r--r--data/maps/events/PetalburgCity_House1.inc11
-rw-r--r--data/maps/events/PetalburgCity_House2.inc11
-rw-r--r--data/maps/events/PetalburgCity_Mart.inc13
-rw-r--r--data/maps/events/PetalburgCity_PokemonCenter_1F.inc15
-rw-r--r--data/maps/events/PetalburgCity_PokemonCenter_2F.inc14
-rw-r--r--data/maps/events/PetalburgCity_WallysHouse.inc11
-rw-r--r--data/maps/events/PetalburgWoods.inc38
-rw-r--r--data/maps/events/RecordCorner.inc18
-rw-r--r--data/maps/events/Route101.inc25
-rw-r--r--data/maps/events/Route102.inc18
-rw-r--r--data/maps/events/Route103.inc31
-rw-r--r--data/maps/events/Route104.inc64
-rw-r--r--data/maps/events/Route104_MrBrineysHouse.inc11
-rw-r--r--data/maps/events/Route104_PrettyPetalFlowerShop.inc12
-rw-r--r--data/maps/events/Route104_Prototype.inc3
-rw-r--r--data/maps/events/Route104_PrototypePrettyPetalFlowerShop.inc3
-rw-r--r--data/maps/events/Route105.inc20
-rw-r--r--data/maps/events/Route106.inc19
-rw-r--r--data/maps/events/Route107.inc12
-rw-r--r--data/maps/events/Route108.inc18
-rw-r--r--data/maps/events/Route109.inc42
-rw-r--r--data/maps/events/Route109_SeashoreHouse.inc13
-rw-r--r--data/maps/events/Route110.inc79
-rw-r--r--data/maps/events/Route110_SeasideCyclingRoadEntrance1.inc16
-rw-r--r--data/maps/events/Route110_SeasideCyclingRoadEntrance2.inc16
-rw-r--r--data/maps/events/Route110_TrickHouseCorridor.inc9
-rw-r--r--data/maps/events/Route110_TrickHouseEnd.inc16
-rw-r--r--data/maps/events/Route110_TrickHouseEntrance.inc20
-rw-r--r--data/maps/events/Route110_TrickHousePuzzle1.inc28
-rw-r--r--data/maps/events/Route110_TrickHousePuzzle2.inc24
-rw-r--r--data/maps/events/Route110_TrickHousePuzzle3.inc26
-rw-r--r--data/maps/events/Route110_TrickHousePuzzle4.inc27
-rw-r--r--data/maps/events/Route110_TrickHousePuzzle5.inc42
-rw-r--r--data/maps/events/Route110_TrickHousePuzzle6.inc17
-rw-r--r--data/maps/events/Route110_TrickHousePuzzle7.inc38
-rw-r--r--data/maps/events/Route110_TrickHousePuzzle8.inc17
-rw-r--r--data/maps/events/Route111.inc114
-rw-r--r--data/maps/events/Route111_OldLadysRestStop.inc10
-rw-r--r--data/maps/events/Route111_WinstrateFamilysHouse.inc13
-rw-r--r--data/maps/events/Route112.inc32
-rw-r--r--data/maps/events/Route112_CableCarStation.inc11
-rw-r--r--data/maps/events/Route113.inc57
-rw-r--r--data/maps/events/Route113_GlassWorkshop.inc11
-rw-r--r--data/maps/events/Route114.inc53
-rw-r--r--data/maps/events/Route114_FossilManiacsHouse.inc17
-rw-r--r--data/maps/events/Route114_FossilManiacsTunnel.inc15
-rw-r--r--data/maps/events/Route114_LanettesHouse.inc15
-rw-r--r--data/maps/events/Route115.inc49
-rw-r--r--data/maps/events/Route116.inc56
-rw-r--r--data/maps/events/Route116_TunnelersRestHouse.inc12
-rw-r--r--data/maps/events/Route117.inc38
-rw-r--r--data/maps/events/Route117_PokemonDayCare.inc10
-rw-r--r--data/maps/events/Route118.inc46
-rw-r--r--data/maps/events/Route119.inc99
-rw-r--r--data/maps/events/Route119_House.inc16
-rw-r--r--data/maps/events/Route119_WeatherInstitute_1F.inc21
-rw-r--r--data/maps/events/Route119_WeatherInstitute_2F.inc16
-rw-r--r--data/maps/events/Route120.inc90
-rw-r--r--data/maps/events/Route121.inc55
-rw-r--r--data/maps/events/Route121_SafariZoneEntrance.inc20
-rw-r--r--data/maps/events/Route122.inc6
-rw-r--r--data/maps/events/Route123.inc88
-rw-r--r--data/maps/events/Route123_BerryMastersHouse.inc11
-rw-r--r--data/maps/events/Route124.inc23
-rw-r--r--data/maps/events/Route124_DivingTreasureHuntersHouse.inc12
-rw-r--r--data/maps/events/Route125.inc24
-rw-r--r--data/maps/events/Route126.inc14
-rw-r--r--data/maps/events/Route127.inc23
-rw-r--r--data/maps/events/Route128.inc20
-rw-r--r--data/maps/events/Route129.inc10
-rw-r--r--data/maps/events/Route130.inc9
-rw-r--r--data/maps/events/Route131.inc16
-rw-r--r--data/maps/events/Route132.inc15
-rw-r--r--data/maps/events/Route133.inc15
-rw-r--r--data/maps/events/Route134.inc16
-rw-r--r--data/maps/events/RustboroCity.inc70
-rw-r--r--data/maps/events/RustboroCity_CuttersHouse.inc11
-rw-r--r--data/maps/events/RustboroCity_DevonCorp_1F.inc17
-rw-r--r--data/maps/events/RustboroCity_DevonCorp_2F.inc15
-rw-r--r--data/maps/events/RustboroCity_DevonCorp_3F.inc15
-rw-r--r--data/maps/events/RustboroCity_Flat1_1F.inc12
-rw-r--r--data/maps/events/RustboroCity_Flat1_2F.inc16
-rw-r--r--data/maps/events/RustboroCity_Flat2_1F.inc12
-rw-r--r--data/maps/events/RustboroCity_Flat2_2F.inc11
-rw-r--r--data/maps/events/RustboroCity_Flat2_3F.inc10
-rw-r--r--data/maps/events/RustboroCity_Gym.inc18
-rw-r--r--data/maps/events/RustboroCity_House1.inc11
-rw-r--r--data/maps/events/RustboroCity_House2.inc11
-rw-r--r--data/maps/events/RustboroCity_House3.inc12
-rw-r--r--data/maps/events/RustboroCity_Mart.inc13
-rw-r--r--data/maps/events/RustboroCity_PokemonCenter_1F.inc14
-rw-r--r--data/maps/events/RustboroCity_PokemonCenter_2F.inc14
-rw-r--r--data/maps/events/RustboroCity_PokemonSchool.inc23
-rw-r--r--data/maps/events/RusturfTunnel.inc27
-rw-r--r--data/maps/events/SSTidalCorridor.inc35
-rw-r--r--data/maps/events/SSTidalLowerDeck.inc13
-rw-r--r--data/maps/events/SSTidalRooms.inc31
-rw-r--r--data/maps/events/SafariZone_North.inc14
-rw-r--r--data/maps/events/SafariZone_Northeast.inc18
-rw-r--r--data/maps/events/SafariZone_Northwest.inc7
-rw-r--r--data/maps/events/SafariZone_RestHouse.inc12
-rw-r--r--data/maps/events/SafariZone_South.inc14
-rw-r--r--data/maps/events/SafariZone_Southeast.inc14
-rw-r--r--data/maps/events/SafariZone_Southwest.inc13
-rw-r--r--data/maps/events/ScorchedSlab.inc9
-rw-r--r--data/maps/events/SeafloorCavern_Entrance.inc10
-rw-r--r--data/maps/events/SeafloorCavern_Room1.inc15
-rw-r--r--data/maps/events/SeafloorCavern_Room2.inc19
-rw-r--r--data/maps/events/SeafloorCavern_Room3.inc19
-rw-r--r--data/maps/events/SeafloorCavern_Room4.inc13
-rw-r--r--data/maps/events/SeafloorCavern_Room5.inc16
-rw-r--r--data/maps/events/SeafloorCavern_Room6.inc8
-rw-r--r--data/maps/events/SeafloorCavern_Room7.inc7
-rw-r--r--data/maps/events/SeafloorCavern_Room8.inc21
-rw-r--r--data/maps/events/SeafloorCavern_Room9.inc18
-rw-r--r--data/maps/events/SealedChamber_InnerRoom.inc17
-rw-r--r--data/maps/events/SealedChamber_OuterRoom.inc37
-rw-r--r--data/maps/events/SecretBase_BlueCave1.inc23
-rw-r--r--data/maps/events/SecretBase_BlueCave2.inc23
-rw-r--r--data/maps/events/SecretBase_BlueCave3.inc23
-rw-r--r--data/maps/events/SecretBase_BlueCave4.inc23
-rw-r--r--data/maps/events/SecretBase_BrownCave1.inc23
-rw-r--r--data/maps/events/SecretBase_BrownCave2.inc23
-rw-r--r--data/maps/events/SecretBase_BrownCave3.inc23
-rw-r--r--data/maps/events/SecretBase_BrownCave4.inc23
-rw-r--r--data/maps/events/SecretBase_RedCave1.inc23
-rw-r--r--data/maps/events/SecretBase_RedCave2.inc23
-rw-r--r--data/maps/events/SecretBase_RedCave3.inc23
-rw-r--r--data/maps/events/SecretBase_RedCave4.inc23
-rw-r--r--data/maps/events/SecretBase_Shrub1.inc23
-rw-r--r--data/maps/events/SecretBase_Shrub2.inc23
-rw-r--r--data/maps/events/SecretBase_Shrub3.inc23
-rw-r--r--data/maps/events/SecretBase_Shrub4.inc23
-rw-r--r--data/maps/events/SecretBase_Tree1.inc23
-rw-r--r--data/maps/events/SecretBase_Tree2.inc23
-rw-r--r--data/maps/events/SecretBase_Tree3.inc23
-rw-r--r--data/maps/events/SecretBase_Tree4.inc23
-rw-r--r--data/maps/events/SecretBase_YellowCave1.inc23
-rw-r--r--data/maps/events/SecretBase_YellowCave2.inc23
-rw-r--r--data/maps/events/SecretBase_YellowCave3.inc23
-rw-r--r--data/maps/events/SecretBase_YellowCave4.inc23
-rw-r--r--data/maps/events/ShoalCave_HighTideEntranceRoom.inc3
-rw-r--r--data/maps/events/ShoalCave_HighTideInnerRoom.inc3
-rw-r--r--data/maps/events/ShoalCave_LowTideEntranceRoom.inc13
-rw-r--r--data/maps/events/ShoalCave_LowTideIceRoom.inc10
-rw-r--r--data/maps/events/ShoalCave_LowTideInnerRoom.inc24
-rw-r--r--data/maps/events/ShoalCave_LowTideLowerRoom.inc16
-rw-r--r--data/maps/events/ShoalCave_LowTideStairsRoom.inc13
-rw-r--r--data/maps/events/SingleBattleColosseum.inc14
-rw-r--r--data/maps/events/SkyPillar_1F.inc8
-rw-r--r--data/maps/events/SkyPillar_2F.inc7
-rw-r--r--data/maps/events/SkyPillar_3F.inc8
-rw-r--r--data/maps/events/SkyPillar_4F.inc8
-rw-r--r--data/maps/events/SkyPillar_5F.inc7
-rw-r--r--data/maps/events/SkyPillar_Entrance.inc7
-rw-r--r--data/maps/events/SkyPillar_Outside.inc10
-rw-r--r--data/maps/events/SkyPillar_Top.inc13
-rw-r--r--data/maps/events/SlateportCity.inc71
-rw-r--r--data/maps/events/SlateportCity_BattleTentBattleRoom.inc8
-rw-r--r--data/maps/events/SlateportCity_BattleTentCorridor.inc6
-rw-r--r--data/maps/events/SlateportCity_BattleTentLobby.inc17
-rw-r--r--data/maps/events/SlateportCity_Harbor.inc25
-rw-r--r--data/maps/events/SlateportCity_House1.inc10
-rw-r--r--data/maps/events/SlateportCity_House2.inc11
-rw-r--r--data/maps/events/SlateportCity_Mart.inc12
-rw-r--r--data/maps/events/SlateportCity_OceanicMuseum_1F.inc43
-rw-r--r--data/maps/events/SlateportCity_OceanicMuseum_2F.inc38
-rw-r--r--data/maps/events/SlateportCity_PokemonCenter_1F.inc13
-rw-r--r--data/maps/events/SlateportCity_PokemonCenter_2F.inc14
-rw-r--r--data/maps/events/SlateportCity_PokemonFanClub.inc18
-rw-r--r--data/maps/events/SlateportCity_SternsShipyard_1F.inc14
-rw-r--r--data/maps/events/SlateportCity_SternsShipyard_2F.inc11
-rw-r--r--data/maps/events/SootopolisCity.inc46
-rw-r--r--data/maps/events/SootopolisCity_Gym_1F.inc16
-rw-r--r--data/maps/events/SootopolisCity_Gym_B1F.inc18
-rw-r--r--data/maps/events/SootopolisCity_House1.inc11
-rw-r--r--data/maps/events/SootopolisCity_House2.inc10
-rw-r--r--data/maps/events/SootopolisCity_House3.inc11
-rw-r--r--data/maps/events/SootopolisCity_House4.inc12
-rw-r--r--data/maps/events/SootopolisCity_House5.inc11
-rw-r--r--data/maps/events/SootopolisCity_House6.inc10
-rw-r--r--data/maps/events/SootopolisCity_House7.inc11
-rw-r--r--data/maps/events/SootopolisCity_LotadAndSeedotHouse.inc15
-rw-r--r--data/maps/events/SootopolisCity_Mart.inc12
-rw-r--r--data/maps/events/SootopolisCity_MysteryEventsHouse_1F.inc11
-rw-r--r--data/maps/events/SootopolisCity_MysteryEventsHouse_B1F.inc9
-rw-r--r--data/maps/events/SootopolisCity_PokemonCenter_1F.inc14
-rw-r--r--data/maps/events/SootopolisCity_PokemonCenter_2F.inc14
-rw-r--r--data/maps/events/SouthernIsland_Exterior.inc14
-rw-r--r--data/maps/events/SouthernIsland_Interior.inc14
-rw-r--r--data/maps/events/TerraCave_End.inc12
-rw-r--r--data/maps/events/TerraCave_Entrance.inc7
-rw-r--r--data/maps/events/TradeCenter.inc14
-rw-r--r--data/maps/events/TrainerHill_1F.inc7
-rw-r--r--data/maps/events/TrainerHill_2F.inc7
-rw-r--r--data/maps/events/TrainerHill_3F.inc7
-rw-r--r--data/maps/events/TrainerHill_4F.inc7
-rw-r--r--data/maps/events/TrainerHill_Elevator.inc10
-rw-r--r--data/maps/events/TrainerHill_Entrance.inc21
-rw-r--r--data/maps/events/TrainerHill_Roof.inc10
-rw-r--r--data/maps/events/Underwater1.inc12
-rw-r--r--data/maps/events/Underwater2.inc16
-rw-r--r--data/maps/events/Underwater3.inc13
-rw-r--r--data/maps/events/Underwater4.inc10
-rw-r--r--data/maps/events/Underwater5.inc7
-rw-r--r--data/maps/events/Underwater6.inc7
-rw-r--r--data/maps/events/Underwater7.inc7
-rw-r--r--data/maps/events/Underwater_MarineCave.inc6
-rw-r--r--data/maps/events/Underwater_Route134.inc6
-rw-r--r--data/maps/events/Underwater_SeafloorCavern.inc12
-rw-r--r--data/maps/events/Underwater_SealedChamber.inc9
-rw-r--r--data/maps/events/Underwater_SootopolisCity.inc7
-rw-r--r--data/maps/events/UnionRoom.inc18
-rw-r--r--data/maps/events/UnknownMap_25_29.inc1
-rw-r--r--data/maps/events/UnknownMap_25_30.inc1
-rw-r--r--data/maps/events/UnknownMap_25_31.inc1
-rw-r--r--data/maps/events/UnknownMap_25_32.inc1
-rw-r--r--data/maps/events/UnknownMap_25_33.inc1
-rw-r--r--data/maps/events/UnknownMap_25_34.inc3
-rw-r--r--data/maps/events/VerdanturfTown.inc28
-rw-r--r--data/maps/events/VerdanturfTown_BattleTentBattleRoom.inc8
-rw-r--r--data/maps/events/VerdanturfTown_BattleTentCorridor.inc6
-rw-r--r--data/maps/events/VerdanturfTown_BattleTentLobby.inc18
-rw-r--r--data/maps/events/VerdanturfTown_FriendshipRatersHouse.inc11
-rw-r--r--data/maps/events/VerdanturfTown_House.inc11
-rw-r--r--data/maps/events/VerdanturfTown_Mart.inc13
-rw-r--r--data/maps/events/VerdanturfTown_PokemonCenter_1F.inc14
-rw-r--r--data/maps/events/VerdanturfTown_PokemonCenter_2F.inc14
-rw-r--r--data/maps/events/VerdanturfTown_WandasHouse.inc14
-rw-r--r--data/maps/events/VictoryRoad_1F.inc28
-rw-r--r--data/maps/events/VictoryRoad_B1F.inc35
-rw-r--r--data/maps/events/VictoryRoad_B2F.inc22
-rw-r--r--data/maps/headers.inc518
-rw-r--r--data/rom4.s18
-rw-r--r--data/rom_8525F58.s23
-rw-r--r--data/script_cmd_table.inc (renamed from data/event_script_command_function_table.inc)97
-rw-r--r--data/scripts/berry_tree.inc261
-rw-r--r--data/scripts/cable_club.inc2124
-rw-r--r--data/scripts/contest_hall.inc1871
-rw-r--r--data/scripts/day_care.inc439
-rw-r--r--data/scripts/field_move_scripts.inc336
-rw-r--r--data/scripts/gabby_and_ty.inc339
-rw-r--r--data/scripts/item_ball_scripts.inc659
-rw-r--r--data/scripts/maps/AbandonedShip_CaptainsOffice.inc44
-rw-r--r--data/scripts/maps/AbandonedShip_Corridors_1F.inc27
-rw-r--r--data/scripts/maps/AbandonedShip_Corridors_B1F.inc91
-rw-r--r--data/scripts/maps/AbandonedShip_Deck.inc8
-rw-r--r--data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc171
-rw-r--r--data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc148
-rw-r--r--data/scripts/maps/AbandonedShip_Room_B1F.inc3
-rw-r--r--data/scripts/maps/AbandonedShip_Rooms2_1F.inc158
-rw-r--r--data/scripts/maps/AbandonedShip_Rooms2_B1F.inc13
-rw-r--r--data/scripts/maps/AbandonedShip_Rooms_1F.inc81
-rw-r--r--data/scripts/maps/AbandonedShip_Rooms_B1F.inc18
-rw-r--r--data/scripts/maps/AbandonedShip_Underwater1.inc8
-rw-r--r--data/scripts/maps/AbandonedShip_Underwater2.inc8
-rw-r--r--data/scripts/maps/AlteringCave.inc8
-rw-r--r--data/scripts/maps/AncientTomb.inc98
-rw-r--r--data/scripts/maps/AquaHideout_1F.inc122
-rw-r--r--data/scripts/maps/AquaHideout_B1F.inc171
-rw-r--r--data/scripts/maps/AquaHideout_B2F.inc160
-rw-r--r--data/scripts/maps/AquaHideout_UnusedRubyMap1.inc3
-rw-r--r--data/scripts/maps/AquaHideout_UnusedRubyMap2.inc3
-rw-r--r--data/scripts/maps/AquaHideout_UnusedRubyMap3.inc3
-rw-r--r--data/scripts/maps/ArtisanCave_1F.inc3
-rw-r--r--data/scripts/maps/ArtisanCave_B1F.inc8
-rw-r--r--data/scripts/maps/BattleFrontier_BattleArenaBattleRoom.inc712
-rw-r--r--data/scripts/maps/BattleFrontier_BattleArenaCorridor.inc90
-rw-r--r--data/scripts/maps/BattleFrontier_BattleArenaLobby.inc638
-rw-r--r--data/scripts/maps/BattleFrontier_BattleDomeBattleRoom.inc1277
-rw-r--r--data/scripts/maps/BattleFrontier_BattleDomeCorridor.inc152
-rw-r--r--data/scripts/maps/BattleFrontier_BattleDomeLobby.inc777
-rw-r--r--data/scripts/maps/BattleFrontier_BattleDomePreBattleRoom.inc417
-rw-r--r--data/scripts/maps/BattleFrontier_BattleFactoryBattleRoom.inc384
-rw-r--r--data/scripts/maps/BattleFrontier_BattleFactoryLobby.inc611
-rw-r--r--data/scripts/maps/BattleFrontier_BattleFactoryPreBattleRoom.inc726
-rw-r--r--data/scripts/maps/BattleFrontier_BattlePalaceBattleRoom.inc650
-rw-r--r--data/scripts/maps/BattleFrontier_BattlePalaceCorridor.inc160
-rw-r--r--data/scripts/maps/BattleFrontier_BattlePalaceLobby.inc729
-rw-r--r--data/scripts/maps/BattleFrontier_BattlePikeCorridor.inc69
-rw-r--r--data/scripts/maps/BattleFrontier_BattlePikeLobby.inc497
-rw-r--r--data/scripts/maps/BattleFrontier_BattlePikeRandomRoom1.inc895
-rw-r--r--data/scripts/maps/BattleFrontier_BattlePikeRandomRoom2.inc43
-rw-r--r--data/scripts/maps/BattleFrontier_BattlePikeRandomRoom3.inc50
-rw-r--r--data/scripts/maps/BattleFrontier_BattlePikeThreePathRoom.inc393
-rw-r--r--data/scripts/maps/BattleFrontier_BattlePointExchangeServiceCorner.inc764
-rw-r--r--data/scripts/maps/BattleFrontier_BattlePyramidEmptySquare.inc658
-rw-r--r--data/scripts/maps/BattleFrontier_BattlePyramidLobby.inc970
-rw-r--r--data/scripts/maps/BattleFrontier_BattlePyramidTop.inc379
-rw-r--r--data/scripts/maps/BattleFrontier_BattleTowerBattleRoom.inc651
-rw-r--r--data/scripts/maps/BattleFrontier_BattleTowerBattleRoom2.inc540
-rw-r--r--data/scripts/maps/BattleFrontier_BattleTowerCorridor.inc59
-rw-r--r--data/scripts/maps/BattleFrontier_BattleTowerCorridor2.inc172
-rw-r--r--data/scripts/maps/BattleFrontier_BattleTowerElevator.inc91
-rw-r--r--data/scripts/maps/BattleFrontier_BattleTowerLobby.inc1589
-rw-r--r--data/scripts/maps/BattleFrontier_BattleTowerMultiBattleRoom.inc1482
-rw-r--r--data/scripts/maps/BattleFrontier_Lounge1.inc269
-rw-r--r--data/scripts/maps/BattleFrontier_Lounge2.inc373
-rw-r--r--data/scripts/maps/BattleFrontier_Lounge3.inc483
-rw-r--r--data/scripts/maps/BattleFrontier_Lounge4.inc30
-rw-r--r--data/scripts/maps/BattleFrontier_Lounge5.inc206
-rw-r--r--data/scripts/maps/BattleFrontier_Lounge6.inc82
-rw-r--r--data/scripts/maps/BattleFrontier_Lounge7.inc482
-rw-r--r--data/scripts/maps/BattleFrontier_Lounge8.inc45
-rw-r--r--data/scripts/maps/BattleFrontier_Lounge9.inc3
-rw-r--r--data/scripts/maps/BattleFrontier_Mart.inc67
-rw-r--r--data/scripts/maps/BattleFrontier_OutsideEast.inc444
-rw-r--r--data/scripts/maps/BattleFrontier_OutsideWest.inc526
-rw-r--r--data/scripts/maps/BattleFrontier_PokemonCenter_1F.inc59
-rw-r--r--data/scripts/maps/BattleFrontier_PokemonCenter_2F.inc19
-rw-r--r--data/scripts/maps/BattleFrontier_RankingHall.inc135
-rw-r--r--data/scripts/maps/BattleFrontier_ReceptionGate.inc505
-rw-r--r--data/scripts/maps/BattleFrontier_ScottsHouse.inc406
-rw-r--r--data/scripts/maps/BattlePyramidSquare01.inc1
-rw-r--r--data/scripts/maps/BattlePyramidSquare02.inc1
-rw-r--r--data/scripts/maps/BattlePyramidSquare03.inc1
-rw-r--r--data/scripts/maps/BattlePyramidSquare04.inc1
-rw-r--r--data/scripts/maps/BattlePyramidSquare05.inc1
-rw-r--r--data/scripts/maps/BattlePyramidSquare06.inc1
-rw-r--r--data/scripts/maps/BattlePyramidSquare07.inc1
-rw-r--r--data/scripts/maps/BattlePyramidSquare08.inc1
-rw-r--r--data/scripts/maps/BattlePyramidSquare09.inc1
-rw-r--r--data/scripts/maps/BattlePyramidSquare10.inc1
-rw-r--r--data/scripts/maps/BattlePyramidSquare11.inc1
-rw-r--r--data/scripts/maps/BattlePyramidSquare12.inc1
-rw-r--r--data/scripts/maps/BattlePyramidSquare13.inc1
-rw-r--r--data/scripts/maps/BattlePyramidSquare14.inc1
-rw-r--r--data/scripts/maps/BattlePyramidSquare15.inc1
-rw-r--r--data/scripts/maps/BattlePyramidSquare16.inc3
-rw-r--r--data/scripts/maps/BirthIsland_Exterior.inc125
-rw-r--r--data/scripts/maps/BirthIsland_Harbor.inc27
-rw-r--r--data/scripts/maps/CaveOfOrigin_1F.inc9
-rw-r--r--data/scripts/maps/CaveOfOrigin_B1F.inc118
-rw-r--r--data/scripts/maps/CaveOfOrigin_Entrance.inc8
-rw-r--r--data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap1.inc9
-rw-r--r--data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap2.inc9
-rw-r--r--data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap3.inc9
-rw-r--r--data/scripts/maps/DesertRuins.inc98
-rw-r--r--data/scripts/maps/DesertUnderpass.inc36
-rw-r--r--data/scripts/maps/DewfordTown.inc805
-rw-r--r--data/scripts/maps/DewfordTown_Gym.inc491
-rw-r--r--data/scripts/maps/DewfordTown_Hall.inc453
-rw-r--r--data/scripts/maps/DewfordTown_House1.inc36
-rw-r--r--data/scripts/maps/DewfordTown_House2.inc59
-rw-r--r--data/scripts/maps/DewfordTown_PokemonCenter_1F.inc37
-rw-r--r--data/scripts/maps/DewfordTown_PokemonCenter_2F.inc19
-rw-r--r--data/scripts/maps/DoubleBattleColosseum.inc3
-rw-r--r--data/scripts/maps/EverGrandeCity.inc38
-rw-r--r--data/scripts/maps/EverGrandeCity_ChampionsRoom.inc346
-rw-r--r--data/scripts/maps/EverGrandeCity_DrakesRoom.inc94
-rw-r--r--data/scripts/maps/EverGrandeCity_GlaciasRoom.inc86
-rw-r--r--data/scripts/maps/EverGrandeCity_Hall1.inc12
-rw-r--r--data/scripts/maps/EverGrandeCity_Hall2.inc12
-rw-r--r--data/scripts/maps/EverGrandeCity_Hall3.inc12
-rw-r--r--data/scripts/maps/EverGrandeCity_Hall4.inc12
-rw-r--r--data/scripts/maps/EverGrandeCity_Hall5.inc12
-rw-r--r--data/scripts/maps/EverGrandeCity_HallOfFame.inc99
-rw-r--r--data/scripts/maps/EverGrandeCity_PhoebesRoom.inc87
-rw-r--r--data/scripts/maps/EverGrandeCity_PokemonCenter_1F.inc104
-rw-r--r--data/scripts/maps/EverGrandeCity_PokemonCenter_2F.inc20
-rw-r--r--data/scripts/maps/EverGrandeCity_PokemonLeague_1F.inc142
-rw-r--r--data/scripts/maps/EverGrandeCity_PokemonLeague_2F.inc19
-rw-r--r--data/scripts/maps/EverGrandeCity_SidneysRoom.inc91
-rw-r--r--data/scripts/maps/FallarborTown.inc96
-rw-r--r--data/scripts/maps/FallarborTown_BattleTentBattleRoom.inc268
-rw-r--r--data/scripts/maps/FallarborTown_BattleTentCorridor.inc64
-rw-r--r--data/scripts/maps/FallarborTown_BattleTentLobby.inc402
-rw-r--r--data/scripts/maps/FallarborTown_House1.inc126
-rw-r--r--data/scripts/maps/FallarborTown_House2.inc103
-rw-r--r--data/scripts/maps/FallarborTown_Mart.inc66
-rw-r--r--data/scripts/maps/FallarborTown_PokemonCenter_1F.inc111
-rw-r--r--data/scripts/maps/FallarborTown_PokemonCenter_2F.inc19
-rw-r--r--data/scripts/maps/FarawayIsland_Entrance.inc46
-rw-r--r--data/scripts/maps/FarawayIsland_Interior.inc207
-rw-r--r--data/scripts/maps/FieryPath.inc15
-rw-r--r--data/scripts/maps/FortreeCity.inc159
-rw-r--r--data/scripts/maps/FortreeCity_DecorationShop.inc72
-rw-r--r--data/scripts/maps/FortreeCity_Gym.inc325
-rw-r--r--data/scripts/maps/FortreeCity_House1.inc102
-rw-r--r--data/scripts/maps/FortreeCity_House2.inc84
-rw-r--r--data/scripts/maps/FortreeCity_House3.inc29
-rw-r--r--data/scripts/maps/FortreeCity_House4.inc99
-rw-r--r--data/scripts/maps/FortreeCity_House5.inc35
-rw-r--r--data/scripts/maps/FortreeCity_Mart.inc57
-rw-r--r--data/scripts/maps/FortreeCity_PokemonCenter_1F.inc55
-rw-r--r--data/scripts/maps/FortreeCity_PokemonCenter_2F.inc19
-rw-r--r--data/scripts/maps/GraniteCave_1F.inc40
-rw-r--r--data/scripts/maps/GraniteCave_B1F.inc11
-rw-r--r--data/scripts/maps/GraniteCave_B2F.inc3
-rw-r--r--data/scripts/maps/GraniteCave_StevensRoom.inc124
-rw-r--r--data/scripts/maps/InsideOfTruck.inc60
-rw-r--r--data/scripts/maps/IslandCave.inc129
-rw-r--r--data/scripts/maps/JaggedPass.inc279
-rw-r--r--data/scripts/maps/LavaridgeTown.inc425
-rw-r--r--data/scripts/maps/LavaridgeTown_Gym_1F.inc424
-rw-r--r--data/scripts/maps/LavaridgeTown_Gym_B1F.inc59
-rw-r--r--data/scripts/maps/LavaridgeTown_HerbShop.inc68
-rw-r--r--data/scripts/maps/LavaridgeTown_House.inc26
-rw-r--r--data/scripts/maps/LavaridgeTown_Mart.inc47
-rw-r--r--data/scripts/maps/LavaridgeTown_PokemonCenter_1F.inc48
-rw-r--r--data/scripts/maps/LavaridgeTown_PokemonCenter_2F.inc19
-rw-r--r--data/scripts/maps/LilycoveCity.inc787
-rw-r--r--data/scripts/maps/LilycoveCity_ContestHall.inc509
-rw-r--r--data/scripts/maps/LilycoveCity_ContestLobby.inc1121
-rw-r--r--data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc131
-rw-r--r--data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc140
-rw-r--r--data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc129
-rw-r--r--data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc238
-rw-r--r--data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc193
-rw-r--r--data/scripts/maps/LilycoveCity_DepartmentStore_2F.inc80
-rw-r--r--data/scripts/maps/LilycoveCity_DepartmentStore_3F.inc75
-rw-r--r--data/scripts/maps/LilycoveCity_DepartmentStore_4F.inc72
-rw-r--r--data/scripts/maps/LilycoveCity_DepartmentStore_5F.inc170
-rw-r--r--data/scripts/maps/LilycoveCity_Harbor.inc630
-rw-r--r--data/scripts/maps/LilycoveCity_House1.inc26
-rw-r--r--data/scripts/maps/LilycoveCity_House2.inc32
-rw-r--r--data/scripts/maps/LilycoveCity_House3.inc169
-rw-r--r--data/scripts/maps/LilycoveCity_House4.inc21
-rw-r--r--data/scripts/maps/LilycoveCity_LilycoveMuseum_1F.inc296
-rw-r--r--data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc340
-rw-r--r--data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc111
-rw-r--r--data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc68
-rw-r--r--data/scripts/maps/LilycoveCity_PokemonCenter_2F.inc19
-rw-r--r--data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc864
-rw-r--r--data/scripts/maps/LilycoveCity_UnusedMart.inc3
-rw-r--r--data/scripts/maps/LinkContestRoom1.inc1
-rw-r--r--data/scripts/maps/LinkContestRoom2.inc1
-rw-r--r--data/scripts/maps/LinkContestRoom3.inc1
-rw-r--r--data/scripts/maps/LinkContestRoom4.inc1
-rw-r--r--data/scripts/maps/LinkContestRoom5.inc1
-rw-r--r--data/scripts/maps/LinkContestRoom6.inc1
-rw-r--r--data/scripts/maps/LittlerootTown.inc1040
-rw-r--r--data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc451
-rw-r--r--data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc318
-rw-r--r--data/scripts/maps/LittlerootTown_MaysHouse_1F.inc423
-rw-r--r--data/scripts/maps/LittlerootTown_MaysHouse_2F.inc422
-rw-r--r--data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc1030
-rw-r--r--data/scripts/maps/MagmaHideout_1F.inc53
-rw-r--r--data/scripts/maps/MagmaHideout_2F_1R.inc75
-rw-r--r--data/scripts/maps/MagmaHideout_2F_2R.inc78
-rw-r--r--data/scripts/maps/MagmaHideout_2F_3R.inc3
-rw-r--r--data/scripts/maps/MagmaHideout_3F_1R.inc43
-rw-r--r--data/scripts/maps/MagmaHideout_3F_2R.inc26
-rw-r--r--data/scripts/maps/MagmaHideout_3F_3R.inc3
-rw-r--r--data/scripts/maps/MagmaHideout_4F.inc228
-rw-r--r--data/scripts/maps/MarineCave_End.inc78
-rw-r--r--data/scripts/maps/MarineCave_Entrance.inc8
-rw-r--r--data/scripts/maps/MauvilleCity.inc677
-rw-r--r--data/scripts/maps/MauvilleCity_BikeShop.inc329
-rw-r--r--data/scripts/maps/MauvilleCity_GameCorner.inc821
-rw-r--r--data/scripts/maps/MauvilleCity_Gym.inc442
-rw-r--r--data/scripts/maps/MauvilleCity_House1.inc47
-rw-r--r--data/scripts/maps/MauvilleCity_House2.inc69
-rw-r--r--data/scripts/maps/MauvilleCity_Mart.inc53
-rw-r--r--data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc54
-rw-r--r--data/scripts/maps/MauvilleCity_PokemonCenter_2F.inc31
-rw-r--r--data/scripts/maps/MeteorFalls_1F_1R.inc312
-rw-r--r--data/scripts/maps/MeteorFalls_1F_2R.inc195
-rw-r--r--data/scripts/maps/MeteorFalls_B1F_1R.inc3
-rw-r--r--data/scripts/maps/MeteorFalls_B1F_2R.inc3
-rw-r--r--data/scripts/maps/MeteorFalls_StevensCave.inc58
-rw-r--r--data/scripts/maps/MirageTower_1F.inc10
-rw-r--r--data/scripts/maps/MirageTower_2F.inc11
-rw-r--r--data/scripts/maps/MirageTower_3F.inc11
-rw-r--r--data/scripts/maps/MirageTower_4F.inc79
-rw-r--r--data/scripts/maps/MossdeepCity.inc436
-rw-r--r--data/scripts/maps/MossdeepCity_GameCorner_1F.inc80
-rw-r--r--data/scripts/maps/MossdeepCity_GameCorner_B1F.inc3
-rw-r--r--data/scripts/maps/MossdeepCity_Gym.inc658
-rw-r--r--data/scripts/maps/MossdeepCity_House1.inc42
-rw-r--r--data/scripts/maps/MossdeepCity_House2.inc70
-rw-r--r--data/scripts/maps/MossdeepCity_House3.inc52
-rw-r--r--data/scripts/maps/MossdeepCity_House4.inc63
-rw-r--r--data/scripts/maps/MossdeepCity_Mart.inc60
-rw-r--r--data/scripts/maps/MossdeepCity_PokemonCenter_1F.inc36
-rw-r--r--data/scripts/maps/MossdeepCity_PokemonCenter_2F.inc28
-rw-r--r--data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc439
-rw-r--r--data/scripts/maps/MossdeepCity_SpaceCenter_2F.inc524
-rw-r--r--data/scripts/maps/MossdeepCity_StevensHouse.inc219
-rw-r--r--data/scripts/maps/MtChimney.inc869
-rw-r--r--data/scripts/maps/MtChimney_CableCarStation.inc98
-rw-r--r--data/scripts/maps/MtPyre_1F.inc49
-rw-r--r--data/scripts/maps/MtPyre_2F.inc135
-rw-r--r--data/scripts/maps/MtPyre_3F.inc103
-rw-r--r--data/scripts/maps/MtPyre_4F.inc20
-rw-r--r--data/scripts/maps/MtPyre_5F.inc23
-rw-r--r--data/scripts/maps/MtPyre_6F.inc73
-rw-r--r--data/scripts/maps/MtPyre_Exterior.inc28
-rw-r--r--data/scripts/maps/MtPyre_Summit.inc640
-rw-r--r--data/scripts/maps/NavelRock_B1F.inc3
-rw-r--r--data/scripts/maps/NavelRock_Bottom.inc88
-rw-r--r--data/scripts/maps/NavelRock_Down01.inc3
-rw-r--r--data/scripts/maps/NavelRock_Down02.inc3
-rw-r--r--data/scripts/maps/NavelRock_Down03.inc3
-rw-r--r--data/scripts/maps/NavelRock_Down04.inc3
-rw-r--r--data/scripts/maps/NavelRock_Down05.inc3
-rw-r--r--data/scripts/maps/NavelRock_Down06.inc3
-rw-r--r--data/scripts/maps/NavelRock_Down07.inc3
-rw-r--r--data/scripts/maps/NavelRock_Down08.inc3
-rw-r--r--data/scripts/maps/NavelRock_Down09.inc3
-rw-r--r--data/scripts/maps/NavelRock_Down10.inc3
-rw-r--r--data/scripts/maps/NavelRock_Down11.inc3
-rw-r--r--data/scripts/maps/NavelRock_Entrance.inc3
-rw-r--r--data/scripts/maps/NavelRock_Exterior.inc8
-rw-r--r--data/scripts/maps/NavelRock_Fork.inc3
-rw-r--r--data/scripts/maps/NavelRock_Harbor.inc27
-rw-r--r--data/scripts/maps/NavelRock_Top.inc127
-rw-r--r--data/scripts/maps/NavelRock_Up1.inc3
-rw-r--r--data/scripts/maps/NavelRock_Up2.inc3
-rw-r--r--data/scripts/maps/NavelRock_Up3.inc3
-rw-r--r--data/scripts/maps/NavelRock_Up4.inc3
-rw-r--r--data/scripts/maps/NewMauville_Entrance.inc61
-rw-r--r--data/scripts/maps/NewMauville_Inside.inc282
-rw-r--r--data/scripts/maps/OldaleTown.inc408
-rw-r--r--data/scripts/maps/OldaleTown_House1.inc15
-rw-r--r--data/scripts/maps/OldaleTown_House2.inc20
-rw-r--r--data/scripts/maps/OldaleTown_Mart.inc73
-rw-r--r--data/scripts/maps/OldaleTown_PokemonCenter_1F.inc63
-rw-r--r--data/scripts/maps/OldaleTown_PokemonCenter_2F.inc19
-rw-r--r--data/scripts/maps/PacifidlogTown.inc54
-rw-r--r--data/scripts/maps/PacifidlogTown_House1.inc25
-rw-r--r--data/scripts/maps/PacifidlogTown_House2.inc156
-rw-r--r--data/scripts/maps/PacifidlogTown_House3.inc93
-rw-r--r--data/scripts/maps/PacifidlogTown_House4.inc55
-rw-r--r--data/scripts/maps/PacifidlogTown_House5.inc37
-rw-r--r--data/scripts/maps/PacifidlogTown_PokemonCenter_1F.inc48
-rw-r--r--data/scripts/maps/PacifidlogTown_PokemonCenter_2F.inc19
-rw-r--r--data/scripts/maps/PetalburgCity.inc771
-rw-r--r--data/scripts/maps/PetalburgCity_Gym.inc1703
-rw-r--r--data/scripts/maps/PetalburgCity_House1.inc28
-rw-r--r--data/scripts/maps/PetalburgCity_House2.inc24
-rw-r--r--data/scripts/maps/PetalburgCity_Mart.inc87
-rw-r--r--data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc98
-rw-r--r--data/scripts/maps/PetalburgCity_PokemonCenter_2F.inc19
-rw-r--r--data/scripts/maps/PetalburgCity_WallysHouse.inc139
-rw-r--r--data/scripts/maps/PetalburgWoods.inc486
-rw-r--r--data/scripts/maps/RecordCorner.inc3
-rw-r--r--data/scripts/maps/Route101.inc301
-rw-r--r--data/scripts/maps/Route102.inc119
-rw-r--r--data/scripts/maps/Route103.inc368
-rw-r--r--data/scripts/maps/Route104.inc1227
-rw-r--r--data/scripts/maps/Route104_MrBrineysHouse.inc166
-rw-r--r--data/scripts/maps/Route104_PrettyPetalFlowerShop.inc110
-rw-r--r--data/scripts/maps/Route104_Prototype.inc3
-rw-r--r--data/scripts/maps/Route104_PrototypePrettyPetalFlowerShop.inc3
-rw-r--r--data/scripts/maps/Route105.inc107
-rw-r--r--data/scripts/maps/Route106.inc52
-rw-r--r--data/scripts/maps/Route107.inc58
-rw-r--r--data/scripts/maps/Route108.inc53
-rw-r--r--data/scripts/maps/Route109.inc573
-rw-r--r--data/scripts/maps/Route109_SeashoreHouse.inc196
-rw-r--r--data/scripts/maps/Route110.inc1030
-rw-r--r--data/scripts/maps/Route110_SeasideCyclingRoadEntrance1.inc50
-rw-r--r--data/scripts/maps/Route110_SeasideCyclingRoadEntrance2.inc69
-rw-r--r--data/scripts/maps/Route110_TrickHouseCorridor.inc8
-rw-r--r--data/scripts/maps/Route110_TrickHouseEnd.inc369
-rw-r--r--data/scripts/maps/Route110_TrickHouseEntrance.inc901
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle1.inc79
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle2.inc146
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle3.inc360
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle4.inc71
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle5.inc1091
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle6.inc87
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle7.inc411
-rw-r--r--data/scripts/maps/Route110_TrickHousePuzzle8.inc72
-rw-r--r--data/scripts/maps/Route111.inc756
-rw-r--r--data/scripts/maps/Route111_OldLadysRestStop.inc54
-rw-r--r--data/scripts/maps/Route111_WinstrateFamilysHouse.inc105
-rw-r--r--data/scripts/maps/Route112.inc146
-rw-r--r--data/scripts/maps/Route112_CableCarStation.inc99
-rw-r--r--data/scripts/maps/Route113.inc176
-rw-r--r--data/scripts/maps/Route113_GlassWorkshop.inc397
-rw-r--r--data/scripts/maps/Route114.inc219
-rw-r--r--data/scripts/maps/Route114_FossilManiacsHouse.inc56
-rw-r--r--data/scripts/maps/Route114_FossilManiacsTunnel.inc96
-rw-r--r--data/scripts/maps/Route114_LanettesHouse.inc108
-rw-r--r--data/scripts/maps/Route115.inc162
-rw-r--r--data/scripts/maps/Route116.inc511
-rw-r--r--data/scripts/maps/Route116_TunnelersRestHouse.inc63
-rw-r--r--data/scripts/maps/Route117.inc232
-rw-r--r--data/scripts/maps/Route117_PokemonDayCare.inc8
-rw-r--r--data/scripts/maps/Route118.inc318
-rw-r--r--data/scripts/maps/Route119.inc637
-rw-r--r--data/scripts/maps/Route119_House.inc27
-rw-r--r--data/scripts/maps/Route119_WeatherInstitute_1F.inc139
-rw-r--r--data/scripts/maps/Route119_WeatherInstitute_2F.inc339
-rw-r--r--data/scripts/maps/Route120.inc466
-rw-r--r--data/scripts/maps/Route121.inc200
-rw-r--r--data/scripts/maps/Route121_SafariZoneEntrance.inc142
-rw-r--r--data/scripts/maps/Route122.inc3
-rw-r--r--data/scripts/maps/Route123.inc213
-rw-r--r--data/scripts/maps/Route123_BerryMastersHouse.inc153
-rw-r--r--data/scripts/maps/Route124.inc117
-rw-r--r--data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc349
-rw-r--r--data/scripts/maps/Route125.inc93
-rw-r--r--data/scripts/maps/Route126.inc69
-rw-r--r--data/scripts/maps/Route127.inc88
-rw-r--r--data/scripts/maps/Route128.inc311
-rw-r--r--data/scripts/maps/Route129.inc58
-rw-r--r--data/scripts/maps/Route130.inc52
-rw-r--r--data/scripts/maps/Route131.inc59
-rw-r--r--data/scripts/maps/Route132.inc43
-rw-r--r--data/scripts/maps/Route133.inc38
-rw-r--r--data/scripts/maps/Route134.inc53
-rw-r--r--data/scripts/maps/RustboroCity.inc1310
-rw-r--r--data/scripts/maps/RustboroCity_CuttersHouse.inc53
-rw-r--r--data/scripts/maps/RustboroCity_DevonCorp_1F.inc153
-rw-r--r--data/scripts/maps/RustboroCity_DevonCorp_2F.inc407
-rw-r--r--data/scripts/maps/RustboroCity_DevonCorp_3F.inc311
-rw-r--r--data/scripts/maps/RustboroCity_Flat1_1F.inc18
-rw-r--r--data/scripts/maps/RustboroCity_Flat1_2F.inc184
-rw-r--r--data/scripts/maps/RustboroCity_Flat2_1F.inc24
-rw-r--r--data/scripts/maps/RustboroCity_Flat2_2F.inc39
-rw-r--r--data/scripts/maps/RustboroCity_Flat2_3F.inc19
-rw-r--r--data/scripts/maps/RustboroCity_Gym.inc291
-rw-r--r--data/scripts/maps/RustboroCity_House1.inc85
-rw-r--r--data/scripts/maps/RustboroCity_House2.inc21
-rw-r--r--data/scripts/maps/RustboroCity_House3.inc36
-rw-r--r--data/scripts/maps/RustboroCity_Mart.inc89
-rw-r--r--data/scripts/maps/RustboroCity_PokemonCenter_1F.inc47
-rw-r--r--data/scripts/maps/RustboroCity_PokemonCenter_2F.inc19
-rw-r--r--data/scripts/maps/RustboroCity_PokemonSchool.inc359
-rw-r--r--data/scripts/maps/RusturfTunnel.inc539
-rw-r--r--data/scripts/maps/SSTidalCorridor.inc356
-rw-r--r--data/scripts/maps/SSTidalLowerDeck.inc39
-rw-r--r--data/scripts/maps/SSTidalRooms.inc177
-rw-r--r--data/scripts/maps/SafariZone_North.inc11
-rw-r--r--data/scripts/maps/SafariZone_Northeast.inc3
-rw-r--r--data/scripts/maps/SafariZone_Northwest.inc7
-rw-r--r--data/scripts/maps/SafariZone_RestHouse.inc15
-rw-r--r--data/scripts/maps/SafariZone_South.inc154
-rw-r--r--data/scripts/maps/SafariZone_Southeast.inc3
-rw-r--r--data/scripts/maps/SafariZone_Southwest.inc11
-rw-r--r--data/scripts/maps/ScorchedSlab.inc8
-rw-r--r--data/scripts/maps/SeafloorCavern_Entrance.inc93
-rw-r--r--data/scripts/maps/SeafloorCavern_Room1.inc36
-rw-r--r--data/scripts/maps/SeafloorCavern_Room2.inc3
-rw-r--r--data/scripts/maps/SeafloorCavern_Room3.inc58
-rw-r--r--data/scripts/maps/SeafloorCavern_Room4.inc36
-rw-r--r--data/scripts/maps/SeafloorCavern_Room5.inc3
-rw-r--r--data/scripts/maps/SeafloorCavern_Room6.inc3
-rw-r--r--data/scripts/maps/SeafloorCavern_Room7.inc3
-rw-r--r--data/scripts/maps/SeafloorCavern_Room8.inc3
-rw-r--r--data/scripts/maps/SeafloorCavern_Room9.inc323
-rw-r--r--data/scripts/maps/SealedChamber_InnerRoom.inc89
-rw-r--r--data/scripts/maps/SealedChamber_OuterRoom.inc132
-rw-r--r--data/scripts/maps/SecretBase_BlueCave1.inc1
-rw-r--r--data/scripts/maps/SecretBase_BlueCave2.inc1
-rw-r--r--data/scripts/maps/SecretBase_BlueCave3.inc1
-rw-r--r--data/scripts/maps/SecretBase_BlueCave4.inc1
-rw-r--r--data/scripts/maps/SecretBase_BrownCave1.inc1
-rw-r--r--data/scripts/maps/SecretBase_BrownCave2.inc1
-rw-r--r--data/scripts/maps/SecretBase_BrownCave3.inc1
-rw-r--r--data/scripts/maps/SecretBase_BrownCave4.inc1
-rw-r--r--data/scripts/maps/SecretBase_RedCave1.inc1
-rw-r--r--data/scripts/maps/SecretBase_RedCave2.inc1
-rw-r--r--data/scripts/maps/SecretBase_RedCave3.inc1
-rw-r--r--data/scripts/maps/SecretBase_RedCave4.inc1
-rw-r--r--data/scripts/maps/SecretBase_Shrub1.inc1
-rw-r--r--data/scripts/maps/SecretBase_Shrub2.inc1
-rw-r--r--data/scripts/maps/SecretBase_Shrub3.inc1
-rw-r--r--data/scripts/maps/SecretBase_Shrub4.inc1
-rw-r--r--data/scripts/maps/SecretBase_Tree1.inc1
-rw-r--r--data/scripts/maps/SecretBase_Tree2.inc1
-rw-r--r--data/scripts/maps/SecretBase_Tree3.inc1
-rw-r--r--data/scripts/maps/SecretBase_Tree4.inc1
-rw-r--r--data/scripts/maps/SecretBase_YellowCave1.inc1
-rw-r--r--data/scripts/maps/SecretBase_YellowCave2.inc1
-rw-r--r--data/scripts/maps/SecretBase_YellowCave3.inc1
-rw-r--r--data/scripts/maps/SecretBase_YellowCave4.inc24
-rw-r--r--data/scripts/maps/ShoalCave_HighTideEntranceRoom.inc3
-rw-r--r--data/scripts/maps/ShoalCave_HighTideInnerRoom.inc3
-rw-r--r--data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc103
-rw-r--r--data/scripts/maps/ShoalCave_LowTideIceRoom.inc3
-rw-r--r--data/scripts/maps/ShoalCave_LowTideInnerRoom.inc158
-rw-r--r--data/scripts/maps/ShoalCave_LowTideLowerRoom.inc63
-rw-r--r--data/scripts/maps/ShoalCave_LowTideStairsRoom.inc35
-rw-r--r--data/scripts/maps/SingleBattleColosseum.inc3
-rw-r--r--data/scripts/maps/SkyPillar_1F.inc13
-rw-r--r--data/scripts/maps/SkyPillar_2F.inc21
-rw-r--r--data/scripts/maps/SkyPillar_3F.inc13
-rw-r--r--data/scripts/maps/SkyPillar_4F.inc21
-rw-r--r--data/scripts/maps/SkyPillar_5F.inc13
-rw-r--r--data/scripts/maps/SkyPillar_Entrance.inc8
-rw-r--r--data/scripts/maps/SkyPillar_Outside.inc174
-rw-r--r--data/scripts/maps/SkyPillar_Top.inc189
-rw-r--r--data/scripts/maps/SlateportCity.inc1383
-rw-r--r--data/scripts/maps/SlateportCity_BattleTentBattleRoom.inc115
-rw-r--r--data/scripts/maps/SlateportCity_BattleTentCorridor.inc280
-rw-r--r--data/scripts/maps/SlateportCity_BattleTentLobby.inc357
-rw-r--r--data/scripts/maps/SlateportCity_Harbor.inc567
-rw-r--r--data/scripts/maps/SlateportCity_House1.inc121
-rw-r--r--data/scripts/maps/SlateportCity_House2.inc23
-rw-r--r--data/scripts/maps/SlateportCity_Mart.inc47
-rw-r--r--data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc395
-rw-r--r--data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc441
-rw-r--r--data/scripts/maps/SlateportCity_PokemonCenter_1F.inc40
-rw-r--r--data/scripts/maps/SlateportCity_PokemonCenter_2F.inc19
-rw-r--r--data/scripts/maps/SlateportCity_PokemonFanClub.inc428
-rw-r--r--data/scripts/maps/SlateportCity_SternsShipyard_1F.inc145
-rw-r--r--data/scripts/maps/SlateportCity_SternsShipyard_2F.inc22
-rw-r--r--data/scripts/maps/SootopolisCity.inc1784
-rw-r--r--data/scripts/maps/SootopolisCity_Gym_1F.inc329
-rw-r--r--data/scripts/maps/SootopolisCity_Gym_B1F.inc183
-rw-r--r--data/scripts/maps/SootopolisCity_House1.inc45
-rw-r--r--data/scripts/maps/SootopolisCity_House2.inc36
-rw-r--r--data/scripts/maps/SootopolisCity_House3.inc43
-rw-r--r--data/scripts/maps/SootopolisCity_House4.inc39
-rw-r--r--data/scripts/maps/SootopolisCity_House5.inc20
-rw-r--r--data/scripts/maps/SootopolisCity_House6.inc56
-rw-r--r--data/scripts/maps/SootopolisCity_House7.inc26
-rw-r--r--data/scripts/maps/SootopolisCity_LotadAndSeedotHouse.inc210
-rw-r--r--data/scripts/maps/SootopolisCity_Mart.inc80
-rw-r--r--data/scripts/maps/SootopolisCity_MysteryEventsHouse_1F.inc241
-rw-r--r--data/scripts/maps/SootopolisCity_MysteryEventsHouse_B1F.inc78
-rw-r--r--data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc74
-rw-r--r--data/scripts/maps/SootopolisCity_PokemonCenter_2F.inc19
-rw-r--r--data/scripts/maps/SouthernIsland_Exterior.inc55
-rw-r--r--data/scripts/maps/SouthernIsland_Interior.inc167
-rw-r--r--data/scripts/maps/TerraCave_End.inc78
-rw-r--r--data/scripts/maps/TerraCave_Entrance.inc8
-rw-r--r--data/scripts/maps/TradeCenter.inc3
-rw-r--r--data/scripts/maps/TrainerHill_1F.inc6
-rw-r--r--data/scripts/maps/TrainerHill_2F.inc6
-rw-r--r--data/scripts/maps/TrainerHill_3F.inc5
-rw-r--r--data/scripts/maps/TrainerHill_4F.inc5
-rw-r--r--data/scripts/maps/TrainerHill_Elevator.inc87
-rw-r--r--data/scripts/maps/TrainerHill_Entrance.inc476
-rw-r--r--data/scripts/maps/TrainerHill_Roof.inc70
-rw-r--r--data/scripts/maps/Underwater1.inc3
-rw-r--r--data/scripts/maps/Underwater2.inc3
-rw-r--r--data/scripts/maps/Underwater3.inc8
-rw-r--r--data/scripts/maps/Underwater4.inc3
-rw-r--r--data/scripts/maps/Underwater5.inc8
-rw-r--r--data/scripts/maps/Underwater6.inc8
-rw-r--r--data/scripts/maps/Underwater7.inc8
-rw-r--r--data/scripts/maps/Underwater_MarineCave.inc13
-rw-r--r--data/scripts/maps/Underwater_Route134.inc8
-rw-r--r--data/scripts/maps/Underwater_SeafloorCavern.inc52
-rw-r--r--data/scripts/maps/Underwater_SealedChamber.inc28
-rw-r--r--data/scripts/maps/Underwater_SootopolisCity.inc8
-rw-r--r--data/scripts/maps/UnionRoom.inc107
-rw-r--r--data/scripts/maps/UnknownMap_25_29.inc1
-rw-r--r--data/scripts/maps/UnknownMap_25_30.inc1
-rw-r--r--data/scripts/maps/UnknownMap_25_31.inc1
-rw-r--r--data/scripts/maps/UnknownMap_25_32.inc1
-rw-r--r--data/scripts/maps/UnknownMap_25_33.inc1
-rw-r--r--data/scripts/maps/UnknownMap_25_34.inc458
-rw-r--r--data/scripts/maps/VerdanturfTown.inc127
-rw-r--r--data/scripts/maps/VerdanturfTown_BattleTentBattleRoom.inc200
-rw-r--r--data/scripts/maps/VerdanturfTown_BattleTentCorridor.inc69
-rw-r--r--data/scripts/maps/VerdanturfTown_BattleTentLobby.inc439
-rw-r--r--data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc104
-rw-r--r--data/scripts/maps/VerdanturfTown_House.inc25
-rw-r--r--data/scripts/maps/VerdanturfTown_Mart.inc60
-rw-r--r--data/scripts/maps/VerdanturfTown_PokemonCenter_1F.inc42
-rw-r--r--data/scripts/maps/VerdanturfTown_PokemonCenter_2F.inc19
-rw-r--r--data/scripts/maps/VerdanturfTown_WandasHouse.inc176
-rw-r--r--data/scripts/maps/VictoryRoad_1F.inc220
-rw-r--r--data/scripts/maps/VictoryRoad_B1F.inc91
-rw-r--r--data/scripts/maps/VictoryRoad_B2F.inc108
-rw-r--r--data/scripts/mauville_man.inc893
-rw-r--r--data/scripts/mystery_event_club.inc169
-rw-r--r--data/scripts/players_house.inc714
-rw-r--r--data/scripts/pokeblocks.inc748
-rw-r--r--data/scripts/safari_zone.inc295
-rw-r--r--data/scripts/secret_power_tm.inc113
-rw-r--r--data/scripts/tv.inc91
-rw-r--r--data/starter_choose.s67
-rw-r--r--data/text/berries.inc234
-rw-r--r--data/text/birch_speech.inc61
-rw-r--r--data/text/braille.inc223
-rw-r--r--data/text/cable_club.inc0
-rw-r--r--data/text/contest_strings.inc677
-rw-r--r--data/text/contest_text.inc203
-rw-r--r--data/text/eon_ticket.inc48
-rw-r--r--data/text/lottery_corner.inc77
-rw-r--r--data/text/pokedex_rating.inc115
-rw-r--r--data/text/roulette.inc41
-rw-r--r--data/text/save.inc32
-rw-r--r--data/text/shoal_cave.inc55
-rw-r--r--data/text/surf.inc5
-rw-r--r--data/text/trainers.inc4781
-rw-r--r--data/text/tv.inc120
-rw-r--r--data/tilesets.s8
-rw-r--r--data/tilesets/graphics.inc (renamed from data/tilesets/tileset_graphics.inc)34
-rw-r--r--data/tilesets/headers.inc (renamed from data/tilesets/tilesets.inc)2
-rw-r--r--data/tilesets/metatiles.inc280
-rw-r--r--data/tilesets/primary/building/metatile_attributes.binbin0 -> 16 bytes
-rw-r--r--data/tilesets/primary/building/metatiles.binbin0 -> 128 bytes
-rw-r--r--data/tilesets/primary/building/palettes/00.pal (renamed from data/tilesets/primary/inside_building/palettes/00.pal)0
-rw-r--r--data/tilesets/primary/building/palettes/01.pal (renamed from data/tilesets/primary/inside_building/palettes/01.pal)0
-rw-r--r--data/tilesets/primary/building/palettes/02.pal (renamed from data/tilesets/primary/inside_building/palettes/02.pal)0
-rw-r--r--data/tilesets/primary/building/palettes/03.pal (renamed from data/tilesets/primary/inside_building/palettes/03.pal)0
-rw-r--r--data/tilesets/primary/building/palettes/04.pal (renamed from data/tilesets/primary/inside_building/palettes/04.pal)0
-rw-r--r--data/tilesets/primary/building/palettes/05.pal (renamed from data/tilesets/primary/inside_building/palettes/05.pal)0
-rw-r--r--data/tilesets/primary/building/palettes/06.pal (renamed from data/tilesets/primary/inside_building/palettes/06.pal)0
-rw-r--r--data/tilesets/primary/building/palettes/07.pal (renamed from data/tilesets/primary/inside_building/palettes/07.pal)0
-rw-r--r--data/tilesets/primary/building/palettes/08.pal (renamed from data/tilesets/primary/inside_building/palettes/08.pal)0
-rw-r--r--data/tilesets/primary/building/palettes/09.pal (renamed from data/tilesets/primary/inside_building/palettes/09.pal)0
-rw-r--r--data/tilesets/primary/building/palettes/10.pal (renamed from data/tilesets/primary/inside_building/palettes/10.pal)0
-rw-r--r--data/tilesets/primary/building/palettes/11.pal (renamed from data/tilesets/primary/inside_building/palettes/11.pal)0
-rw-r--r--data/tilesets/primary/building/palettes/12.pal (renamed from data/tilesets/primary/inside_building/palettes/12.pal)0
-rw-r--r--data/tilesets/primary/building/palettes/13.pal (renamed from data/tilesets/primary/inside_building/palettes/13.pal)0
-rw-r--r--data/tilesets/primary/building/palettes/14.pal (renamed from data/tilesets/primary/inside_building/palettes/14.pal)0
-rw-r--r--data/tilesets/primary/building/palettes/15.pal (renamed from data/tilesets/primary/inside_building/palettes/15.pal)0
-rw-r--r--data/tilesets/primary/building/tiles.png (renamed from data/tilesets/primary/inside_building/tiles.png)bin1813 -> 1813 bytes
-rw-r--r--data/tilesets/primary/general/metatile_attributes.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/primary/general/metatiles.binbin0 -> 8192 bytes
-rw-r--r--data/tilesets/primary/secret_base/metatile_attributes.binbin0 -> 4 bytes
-rw-r--r--data/tilesets/primary/secret_base/metatiles.binbin0 -> 32 bytes
-rw-r--r--data/tilesets/secondary/battle_arena/metatile_attributes.binbin0 -> 354 bytes
-rw-r--r--data/tilesets/secondary/battle_arena/metatiles.binbin0 -> 2832 bytes
-rw-r--r--data/tilesets/secondary/battle_dome/metatile_attributes.binbin0 -> 854 bytes
-rw-r--r--data/tilesets/secondary/battle_dome/metatiles.binbin0 -> 6832 bytes
-rw-r--r--data/tilesets/secondary/battle_factory/metatile_attributes.binbin0 -> 708 bytes
-rw-r--r--data/tilesets/secondary/battle_factory/metatiles.binbin0 -> 5664 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier/metatile_attributes.binbin0 -> 1018 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier/metatiles.binbin0 -> 8144 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_east/metatile_attributes.binbin0 -> 1020 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_east/metatiles.binbin0 -> 8160 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_west/metatile_attributes.binbin0 -> 1020 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_outside_west/metatiles.binbin0 -> 8160 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_ranking_hall/metatile_attributes.binbin0 -> 188 bytes
-rw-r--r--data/tilesets/secondary/battle_frontier_ranking_hall/metatiles.binbin0 -> 1504 bytes
-rw-r--r--data/tilesets/secondary/battle_palace/metatile_attributes.binbin0 -> 348 bytes
-rw-r--r--data/tilesets/secondary/battle_palace/metatiles.binbin0 -> 2784 bytes
-rw-r--r--data/tilesets/secondary/battle_pike/metatile_attributes.binbin0 -> 694 bytes
-rw-r--r--data/tilesets/secondary/battle_pike/metatiles.binbin0 -> 5552 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/metatile_attributes.binbin0 -> 442 bytes
-rw-r--r--data/tilesets/secondary/battle_pyramid/metatiles.binbin0 -> 3536 bytes
-rw-r--r--data/tilesets/secondary/battle_tent/metatile_attributes.binbin0 -> 538 bytes
-rw-r--r--data/tilesets/secondary/battle_tent/metatiles.binbin0 -> 4304 bytes
-rw-r--r--data/tilesets/secondary/bike_shop/metatile_attributes.binbin0 -> 496 bytes
-rw-r--r--data/tilesets/secondary/bike_shop/metatiles.binbin0 -> 3968 bytes
-rw-r--r--data/tilesets/secondary/brendans_mays_house/metatile_attributes.binbin0 -> 392 bytes
-rw-r--r--data/tilesets/secondary/brendans_mays_house/metatiles.binbin0 -> 3136 bytes
-rw-r--r--data/tilesets/secondary/cable_club/metatile_attributes.binbin0 -> 512 bytes
-rw-r--r--data/tilesets/secondary/cable_club/metatiles.binbin0 -> 4096 bytes
-rw-r--r--data/tilesets/secondary/cave/metatile_attributes.binbin0 -> 828 bytes
-rw-r--r--data/tilesets/secondary/cave/metatiles.binbin0 -> 6624 bytes
-rw-r--r--data/tilesets/secondary/contest/metatile_attributes.binbin0 -> 466 bytes
-rw-r--r--data/tilesets/secondary/contest/metatiles.binbin0 -> 3728 bytes
-rw-r--r--data/tilesets/secondary/dewford/metatile_attributes.binbin0 -> 758 bytes
-rw-r--r--data/tilesets/secondary/dewford/metatiles.binbin0 -> 6064 bytes
-rw-r--r--data/tilesets/secondary/dewford_gym/metatile_attributes.binbin0 -> 138 bytes
-rw-r--r--data/tilesets/secondary/dewford_gym/metatiles.binbin0 -> 1104 bytes
-rw-r--r--data/tilesets/secondary/elite_four/metatile_attributes.binbin0 -> 664 bytes
-rw-r--r--data/tilesets/secondary/elite_four/metatiles.binbin0 -> 5312 bytes
-rw-r--r--data/tilesets/secondary/ever_grande/metatile_attributes.binbin0 -> 336 bytes
-rw-r--r--data/tilesets/secondary/ever_grande/metatiles.binbin0 -> 2688 bytes
-rw-r--r--data/tilesets/secondary/facility/metatile_attributes.binbin0 -> 1022 bytes
-rw-r--r--data/tilesets/secondary/facility/metatiles.binbin0 -> 8176 bytes
-rw-r--r--data/tilesets/secondary/fallarbor/metatile_attributes.binbin0 -> 734 bytes
-rw-r--r--data/tilesets/secondary/fallarbor/metatiles.binbin0 -> 5872 bytes
-rw-r--r--data/tilesets/secondary/fortree/metatile_attributes.binbin0 -> 560 bytes
-rw-r--r--data/tilesets/secondary/fortree/metatiles.binbin0 -> 4480 bytes
-rw-r--r--data/tilesets/secondary/fortree_gym/metatile_attributes.binbin0 -> 160 bytes
-rw-r--r--data/tilesets/secondary/fortree_gym/metatiles.binbin0 -> 1280 bytes
-rw-r--r--data/tilesets/secondary/generic_building/metatile_attributes.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/secondary/generic_building/metatiles.binbin0 -> 8192 bytes
-rw-r--r--data/tilesets/secondary/inside_of_truck/metatile_attributes.binbin0 -> 76 bytes
-rw-r--r--data/tilesets/secondary/inside_of_truck/metatiles.binbin0 -> 608 bytes
-rw-r--r--data/tilesets/secondary/inside_ship/metatile_attributes.binbin0 -> 504 bytes
-rw-r--r--data/tilesets/secondary/inside_ship/metatiles.binbin0 -> 4032 bytes
-rw-r--r--data/tilesets/secondary/island_harbor/metatile_attributes.binbin0 -> 940 bytes
-rw-r--r--data/tilesets/secondary/island_harbor/metatiles.binbin0 -> 7520 bytes
-rw-r--r--data/tilesets/secondary/lab/metatile_attributes.binbin0 -> 316 bytes
-rw-r--r--data/tilesets/secondary/lab/metatiles.binbin0 -> 2528 bytes
-rw-r--r--data/tilesets/secondary/lavaridge/metatile_attributes.binbin0 -> 882 bytes
-rw-r--r--data/tilesets/secondary/lavaridge/metatiles.binbin0 -> 7056 bytes
-rw-r--r--data/tilesets/secondary/lavaridge_gym/metatile_attributes.binbin0 -> 122 bytes
-rw-r--r--data/tilesets/secondary/lavaridge_gym/metatiles.binbin0 -> 976 bytes
-rw-r--r--data/tilesets/secondary/lilycove/metatile_attributes.binbin0 -> 702 bytes
-rw-r--r--data/tilesets/secondary/lilycove/metatiles.binbin0 -> 5616 bytes
-rw-r--r--data/tilesets/secondary/lilycove_museum/metatile_attributes.binbin0 -> 286 bytes
-rw-r--r--data/tilesets/secondary/lilycove_museum/metatiles.binbin0 -> 2288 bytes
-rw-r--r--data/tilesets/secondary/mauville/metatile_attributes.binbin0 -> 1020 bytes
-rw-r--r--data/tilesets/secondary/mauville/metatiles.binbin0 -> 8160 bytes
-rw-r--r--data/tilesets/secondary/mauville_game_corner/metatile_attributes.binbin0 -> 192 bytes
-rw-r--r--data/tilesets/secondary/mauville_game_corner/metatiles.binbin0 -> 1536 bytes
-rw-r--r--data/tilesets/secondary/mauville_gym/metatile_attributes.binbin0 -> 234 bytes
-rw-r--r--data/tilesets/secondary/mauville_gym/metatiles.binbin0 -> 1872 bytes
-rw-r--r--data/tilesets/secondary/meteor_falls/metatile_attributes.binbin0 -> 318 bytes
-rw-r--r--data/tilesets/secondary/meteor_falls/metatiles.binbin0 -> 2544 bytes
-rw-r--r--data/tilesets/secondary/mirage_tower/metatile_attributes.binbin0 -> 828 bytes
-rw-r--r--data/tilesets/secondary/mirage_tower/metatiles.binbin0 -> 6624 bytes
-rw-r--r--data/tilesets/secondary/mossdeep/metatile_attributes.binbin0 -> 908 bytes
-rw-r--r--data/tilesets/secondary/mossdeep/metatiles.binbin0 -> 7264 bytes
-rw-r--r--data/tilesets/secondary/mossdeep_game_corner/metatile_attributes.binbin0 -> 106 bytes
-rw-r--r--data/tilesets/secondary/mossdeep_game_corner/metatiles.binbin0 -> 848 bytes
-rw-r--r--data/tilesets/secondary/mossdeep_gym/metatile_attributes.binbin0 -> 234 bytes
-rw-r--r--data/tilesets/secondary/mossdeep_gym/metatiles.binbin0 -> 1872 bytes
-rw-r--r--data/tilesets/secondary/mystery_events_house/metatile_attributes.binbin0 -> 134 bytes
-rw-r--r--data/tilesets/secondary/mystery_events_house/metatiles.binbin0 -> 1072 bytes
-rw-r--r--data/tilesets/secondary/navel_rock/metatile_attributes.binbin0 -> 902 bytes
-rw-r--r--data/tilesets/secondary/navel_rock/metatiles.binbin0 -> 7216 bytes
-rw-r--r--data/tilesets/secondary/oceanic_museum/metatile_attributes.binbin0 -> 244 bytes
-rw-r--r--data/tilesets/secondary/oceanic_museum/metatiles.binbin0 -> 1952 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/metatile_attributes.binbin0 -> 406 bytes
-rw-r--r--data/tilesets/secondary/pacifidlog/metatiles.binbin0 -> 3248 bytes
-rw-r--r--data/tilesets/secondary/petalburg/metatile_attributes.binbin0 -> 288 bytes
-rw-r--r--data/tilesets/secondary/petalburg/metatiles.binbin0 -> 2304 bytes
-rw-r--r--data/tilesets/secondary/petalburg_gym/metatile_attributes.binbin0 -> 448 bytes
-rw-r--r--data/tilesets/secondary/petalburg_gym/metatiles.binbin0 -> 3584 bytes
-rw-r--r--data/tilesets/secondary/pokemon_center/metatile_attributes.binbin0 -> 464 bytes
-rw-r--r--data/tilesets/secondary/pokemon_center/metatiles.binbin0 -> 3712 bytes
-rw-r--r--data/tilesets/secondary/pokemon_day_care/metatile_attributes.binbin0 -> 136 bytes
-rw-r--r--data/tilesets/secondary/pokemon_day_care/metatiles.binbin0 -> 1088 bytes
-rw-r--r--data/tilesets/secondary/pokemon_fan_club/metatile_attributes.binbin0 -> 208 bytes
-rw-r--r--data/tilesets/secondary/pokemon_fan_club/metatiles.binbin0 -> 1664 bytes
-rw-r--r--data/tilesets/secondary/pokemon_school/metatile_attributes.binbin0 -> 116 bytes
-rw-r--r--data/tilesets/secondary/pokemon_school/metatiles.binbin0 -> 928 bytes
-rw-r--r--data/tilesets/secondary/pretty_petal_flower_shop/metatile_attributes.binbin0 -> 144 bytes
-rw-r--r--data/tilesets/secondary/pretty_petal_flower_shop/metatiles.binbin0 -> 1152 bytes
-rw-r--r--data/tilesets/secondary/rustboro/metatile_attributes.binbin0 -> 700 bytes
-rw-r--r--data/tilesets/secondary/rustboro/metatiles.binbin0 -> 5600 bytes
-rw-r--r--data/tilesets/secondary/rustboro_gym/metatile_attributes.binbin0 -> 112 bytes
-rw-r--r--data/tilesets/secondary/rustboro_gym/metatiles.binbin0 -> 896 bytes
-rw-r--r--data/tilesets/secondary/rusturf_tunnel/metatile_attributes.binbin0 -> 166 bytes
-rw-r--r--data/tilesets/secondary/rusturf_tunnel/metatiles.binbin0 -> 1328 bytes
-rw-r--r--data/tilesets/secondary/seashore_house/metatile_attributes.binbin0 -> 112 bytes
-rw-r--r--data/tilesets/secondary/seashore_house/metatiles.binbin0 -> 896 bytes
-rw-r--r--data/tilesets/secondary/secret_base/metatile_attributes.binbin0 -> 648 bytes
-rw-r--r--data/tilesets/secondary/secret_base/metatiles.binbin0 -> 5184 bytes
-rw-r--r--data/tilesets/secondary/shop/metatile_attributes.binbin0 -> 578 bytes
-rw-r--r--data/tilesets/secondary/shop/metatiles.binbin0 -> 4624 bytes
-rw-r--r--data/tilesets/secondary/slateport/metatile_attributes.binbin0 -> 812 bytes
-rw-r--r--data/tilesets/secondary/slateport/metatiles.binbin0 -> 6496 bytes
-rw-r--r--data/tilesets/secondary/sootopolis/metatile_attributes.binbin0 -> 508 bytes
-rw-r--r--data/tilesets/secondary/sootopolis/metatiles.binbin0 -> 4064 bytes
-rw-r--r--data/tilesets/secondary/sootopolis_gym/metatile_attributes.binbin0 -> 244 bytes
-rw-r--r--data/tilesets/secondary/sootopolis_gym/metatiles.binbin0 -> 1952 bytes
-rw-r--r--data/tilesets/secondary/trainer_hill/metatile_attributes.binbin0 -> 972 bytes
-rw-r--r--data/tilesets/secondary/trainer_hill/metatiles.binbin0 -> 7776 bytes
-rw-r--r--data/tilesets/secondary/trick_house_puzzle/metatile_attributes.binbin0 -> 378 bytes
-rw-r--r--data/tilesets/secondary/trick_house_puzzle/metatiles.binbin0 -> 3024 bytes
-rw-r--r--data/tilesets/secondary/underwater/metatile_attributes.binbin0 -> 472 bytes
-rw-r--r--data/tilesets/secondary/underwater/metatiles.binbin0 -> 3776 bytes
-rw-r--r--data/tilesets/secondary/union_room/metatile_attributes.binbin0 -> 98 bytes
-rw-r--r--data/tilesets/secondary/union_room/metatiles.binbin0 -> 784 bytes
-rw-r--r--data/tilesets/secondary/unused_1/metatile_attributes.binbin0 -> 4 bytes
-rw-r--r--data/tilesets/secondary/unused_1/metatiles.binbin0 -> 32 bytes
-rw-r--r--data/tilesets/secondary/unused_2/metatile_attributes.binbin0 -> 116 bytes
-rw-r--r--data/tilesets/secondary/unused_2/metatiles.binbin0 -> 928 bytes
-rw-r--r--graphics_file_rules.mk2
-rw-r--r--include/battle.h29
-rw-r--r--include/battle_util2.h10
-rw-r--r--include/contest.h4
-rw-r--r--include/event_data.h10
-rwxr-xr-xinclude/event_scripts.h32
-rw-r--r--include/flags.h154
-rw-r--r--include/international_string_util.h2
-rw-r--r--include/pokedex.h2
-rw-r--r--include/starter_choose.h7
-rw-r--r--include/text_window.h2
-rw-r--r--ld_script.txt10
-rw-r--r--src/battle_2.c52
-rw-r--r--src/battle_ai_switch_items.c67
-rw-r--r--src/battle_controller_link_opponent.c2
-rw-r--r--src/battle_controller_link_partner.c2
-rw-r--r--src/battle_controller_opponent.c10
-rw-r--r--src/battle_controller_player.c4
-rw-r--r--src/battle_controller_player_partner.c4
-rw-r--r--src/battle_controller_recorded_opponent.c6
-rw-r--r--src/battle_controller_recorded_player.c6
-rw-r--r--src/battle_controller_safari.c4
-rw-r--r--src/battle_controller_wally.c4
-rw-r--r--src/battle_message.c2
-rw-r--r--src/battle_script_commands.c600
-rw-r--r--src/battle_util.c16
-rw-r--r--src/battle_util2.c219
-rw-r--r--src/berry.c8
-rwxr-xr-xsrc/braille_puzzles.c24
-rw-r--r--src/calculate_base_damage.c8
-rw-r--r--src/decoration.c12
-rw-r--r--src/event_data.c44
-rwxr-xr-xsrc/field_map_obj.c4
-rwxr-xr-xsrc/field_special_scene.c2
-rw-r--r--src/item.c4
-rw-r--r--src/lilycove_lady.c14
-rw-r--r--src/lottery_corner.c6
-rw-r--r--src/mail.c2
-rw-r--r--src/new_game.c4
-rw-r--r--src/pokemon_2.c6
-rw-r--r--src/pokemon_size_record.c10
-rw-r--r--src/safari_zone.c42
-rw-r--r--src/scrcmd.c158
-rw-r--r--src/secret_base.c62
-rw-r--r--src/start_menu.c10
-rw-r--r--src/starter_choose.c391
-rw-r--r--src/text_window.c4
-rw-r--r--src/tv.c168
-rw-r--r--src/walda_phrase.c8
-rw-r--r--sym_bss.txt5
-rw-r--r--sym_ewram.txt6
2818 files changed, 151294 insertions, 5463 deletions
diff --git a/asm/battle_5.s b/asm/battle_5.s
deleted file mode 100644
index f2d6797f9..000000000
--- a/asm/battle_5.s
+++ /dev/null
@@ -1,582 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start AllocateBattleResrouces
-AllocateBattleResrouces: @ 8056F28
- push {r4-r6,lr}
- ldr r5, =gBattleResources
- ldr r6, =gBattleTypeFlags
- ldr r0, [r6]
- movs r1, 0x80
- lsls r1, 19
- ands r0, r1
- cmp r0, 0
- beq _08056F3E
- bl sub_81D55D0
-_08056F3E:
- ldr r4, =gBattleStruct
- movs r0, 0xA9
- lsls r0, 2
- bl AllocZeroed
- str r0, [r4]
- movs r0, 0x20
- bl AllocZeroed
- str r0, [r5]
- movs r0, 0xA0
- bl AllocZeroed
- ldr r1, [r5]
- str r0, [r1]
- movs r0, 0x10
- bl AllocZeroed
- ldr r1, [r5]
- str r0, [r1, 0x4]
- movs r0, 0x24
- bl AllocZeroed
- ldr r1, [r5]
- str r0, [r1, 0x8]
- movs r0, 0x24
- bl AllocZeroed
- ldr r1, [r5]
- str r0, [r1, 0xC]
- movs r0, 0xC
- bl AllocZeroed
- ldr r1, [r5]
- str r0, [r1, 0x10]
- movs r0, 0x1C
- bl AllocZeroed
- ldr r1, [r5]
- str r0, [r1, 0x14]
- movs r0, 0x54
- bl AllocZeroed
- ldr r1, [r5]
- str r0, [r1, 0x18]
- movs r0, 0x24
- bl AllocZeroed
- ldr r1, [r5]
- str r0, [r1, 0x1C]
- ldr r4, =gLinkBattleSendBuffer
- movs r5, 0x80
- lsls r5, 5
- adds r0, r5, 0
- bl AllocZeroed
- str r0, [r4]
- ldr r4, =gLinkBattleRecvBuffer
- adds r0, r5, 0
- bl AllocZeroed
- str r0, [r4]
- ldr r4, =gUnknown_0202305C
- movs r0, 0x80
- lsls r0, 6
- bl AllocZeroed
- str r0, [r4]
- ldr r4, =gUnknown_02023060
- adds r0, r5, 0
- bl AllocZeroed
- str r0, [r4]
- ldr r0, [r6]
- movs r1, 0x80
- lsls r1, 20
- ands r0, r1
- cmp r0, 0
- beq _08056FFA
- ldr r0, =0x00004054
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- ldr r2, =gSaveBlock1Ptr
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 5
- ldr r0, =0x00001a9c
- adds r1, r0
- ldr r0, [r2]
- adds r0, r1
- bl CreateSecretBaseEnemyParty
-_08056FFA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AllocateBattleResrouces
-
- thumb_func_start FreeBattleResources
-FreeBattleResources: @ 8057028
- push {r4-r6,lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 19
- ands r0, r1
- cmp r0, 0
- beq _0805703C
- bl sub_81D5694
-_0805703C:
- ldr r6, =gBattleResources
- ldr r0, [r6]
- cmp r0, 0
- beq _080570D0
- ldr r4, =gBattleStruct
- ldr r0, [r4]
- bl Free
- movs r5, 0
- str r5, [r4]
- ldr r0, [r6]
- ldr r0, [r0]
- bl Free
- ldr r0, [r6]
- str r5, [r0]
- ldr r0, [r0, 0x4]
- bl Free
- ldr r0, [r6]
- str r5, [r0, 0x4]
- ldr r0, [r0, 0x8]
- bl Free
- ldr r0, [r6]
- str r5, [r0, 0x8]
- ldr r0, [r0, 0xC]
- bl Free
- ldr r0, [r6]
- str r5, [r0, 0xC]
- ldr r0, [r0, 0x10]
- bl Free
- ldr r0, [r6]
- str r5, [r0, 0x10]
- ldr r0, [r0, 0x14]
- bl Free
- ldr r0, [r6]
- str r5, [r0, 0x14]
- ldr r0, [r0, 0x18]
- bl Free
- ldr r0, [r6]
- str r5, [r0, 0x18]
- ldr r0, [r0, 0x1C]
- bl Free
- ldr r0, [r6]
- str r5, [r0, 0x1C]
- bl Free
- str r5, [r6]
- ldr r4, =gLinkBattleSendBuffer
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gLinkBattleRecvBuffer
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0202305C
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_02023060
- ldr r0, [r4]
- bl Free
- str r5, [r4]
-_080570D0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FreeBattleResources
-
- thumb_func_start AdjustFriendshipOnBattleFaint
-AdjustFriendshipOnBattleFaint: @ 80570F4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08057140
- movs r0, 0x1
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x3
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, =gBattleMons
- movs r0, 0x58
- adds r1, r3, 0
- muls r1, r0
- adds r1, r2
- adds r1, 0x2A
- muls r0, r4
- adds r0, r2
- adds r0, 0x2A
- ldrb r1, [r1]
- ldrb r0, [r0]
- cmp r1, r0
- bls _0805714A
- adds r4, r3, 0
- b _0805714A
- .pool
-_08057140:
- movs r0, 0x1
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r4, r0, 24
-_0805714A:
- ldr r2, =gBattleMons
- movs r1, 0x58
- adds r0, r4, 0
- muls r0, r1
- adds r0, r2
- adds r3, r0, 0
- adds r3, 0x2A
- adds r0, r5, 0
- muls r0, r1
- adds r0, r2
- adds r1, r0, 0
- adds r1, 0x2A
- ldrb r0, [r3]
- ldrb r2, [r1]
- cmp r0, r2
- bls _080571B8
- ldrb r1, [r1]
- subs r0, r1
- cmp r0, 0x1D
- ble _08057198
- ldr r1, =gBattlePartyID
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x8
- bl AdjustFriendship
- b _080571CE
- .pool
-_08057198:
- ldr r1, =gBattlePartyID
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x6
- bl AdjustFriendship
- b _080571CE
- .pool
-_080571B8:
- ldr r1, =gBattlePartyID
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x6
- bl AdjustFriendship
-_080571CE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AdjustFriendshipOnBattleFaint
-
- thumb_func_start sub_80571DC
-sub_80571DC: @ 80571DC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- adds r0, r4, 0
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08057248
- movs r2, 0
- ldr r6, =gBattlePartyID
- lsls r3, r4, 1
- ldr r5, =gUnknown_0203CF00
- ldr r4, =gBattleStruct
-_080571FE:
- adds r0, r2, r5
- ldr r1, [r4]
- adds r1, r2, r1
- adds r1, 0x60
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x2
- ble _080571FE
- adds r0, r3, r6
- ldrb r0, [r0]
- bl pokemon_order_func
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r7, 0
- bl pokemon_order_func
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_81B8FB0
- movs r2, 0
- ldr r4, =gBattleStruct
- ldr r3, =gUnknown_0203CF00
-_08057236:
- ldr r0, [r4]
- adds r0, r2, r0
- adds r0, 0x60
- adds r1, r2, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x2
- ble _08057236
-_08057248:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80571DC
-
- thumb_func_start sub_805725C
-sub_805725C: @ 805725C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r0, 0
- mov r8, r0
- ldr r1, =gBattleCommunication
- mov r10, r1
- b _08057284
- .pool
-_0805727C:
- mov r2, r8
- cmp r2, 0
- beq _08057284
- b _08057406
-_08057284:
- mov r1, r10
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _0805728E
- b _08057390
-_0805728E:
- cmp r0, 0x1
- ble _08057294
- b _080573FC
-_08057294:
- cmp r0, 0
- beq _0805729A
- b _080573FC
-_0805729A:
- ldr r6, =gBattleMons
- movs r0, 0x58
- mov r5, r9
- muls r5, r0
- adds r0, r6, 0
- adds r0, 0x4C
- adds r4, r5, r0
- ldr r0, [r4]
- movs r7, 0x7
- ands r0, r7
- cmp r0, 0
- beq _08057372
- mov r0, r9
- bl UproarWakeUpCheck
- lsls r0, 24
- cmp r0, 0
- beq _080572FC
- ldr r0, [r4]
- movs r1, 0x8
- negs r1, r1
- ands r0, r1
- str r0, [r4]
- adds r2, r6, 0
- adds r2, 0x50
- adds r2, r5, r2
- ldr r0, [r2]
- ldr r1, =0xf7ffffff
- ands r0, r1
- str r0, [r2]
- bl BattleScriptPushCursor
- movs r0, 0x1
- mov r2, r10
- strb r0, [r2, 0x5]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =BattleScript_MoveUsedWokeUp
- str r0, [r1]
- movs r0, 0x2
- mov r8, r0
- b _08057372
- .pool
-_080572FC:
- adds r0, r5, r6
- adds r0, 0x20
- ldrb r0, [r0]
- movs r2, 0x1
- cmp r0, 0x30
- bne _0805730A
- movs r2, 0x2
-_0805730A:
- ldr r1, [r4]
- adds r0, r1, 0
- ands r0, r7
- cmp r0, r2
- bcs _0805731E
- movs r0, 0x8
- negs r0, r0
- ands r1, r0
- str r1, [r4]
- b _08057322
-_0805731E:
- subs r0, r1, r2
- str r0, [r4]
-_08057322:
- ldr r2, =gBattleMons
- movs r0, 0x58
- mov r1, r9
- muls r1, r0
- adds r0, r2, 0
- adds r0, 0x4C
- adds r0, r1, r0
- ldr r4, [r0]
- movs r0, 0x7
- ands r4, r0
- cmp r4, 0
- beq _08057354
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =BattleScript_MoveUsedIsAsleep
- str r0, [r1]
- movs r1, 0x2
- mov r8, r1
- b _08057372
- .pool
-_08057354:
- adds r2, 0x50
- adds r2, r1, r2
- ldr r0, [r2]
- ldr r1, =0xf7ffffff
- ands r0, r1
- str r0, [r2]
- bl BattleScriptPushCursor
- ldr r0, =gBattleCommunication
- strb r4, [r0, 0x5]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =BattleScript_MoveUsedWokeUp
- str r0, [r1]
- movs r2, 0x2
- mov r8, r2
-_08057372:
- ldr r1, =gBattleCommunication
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- mov r10, r1
- b _080573FC
- .pool
-_08057390:
- ldr r1, =gBattleMons
- movs r0, 0x58
- mov r2, r9
- muls r2, r0
- adds r0, r2, 0
- adds r1, 0x4C
- adds r4, r0, r1
- ldr r0, [r4]
- movs r1, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080573F4
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x5
- bl __umodsi3
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _080573D4
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =BattleScript_MoveUsedIsFrozen
- str r0, [r1]
- b _080573EC
- .pool
-_080573D4:
- ldr r0, [r4]
- movs r1, 0x21
- negs r1, r1
- ands r0, r1
- str r0, [r4]
- bl BattleScriptPushCursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =BattleScript_MoveUsedUnfroze
- str r0, [r1]
- mov r0, r10
- strb r5, [r0, 0x5]
-_080573EC:
- movs r1, 0x2
- mov r8, r1
- ldr r2, =gBattleCommunication
- mov r10, r2
-_080573F4:
- mov r1, r10
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080573FC:
- mov r2, r10
- ldrb r0, [r2]
- cmp r0, 0x2
- beq _08057406
- b _0805727C
-_08057406:
- mov r0, r8
- cmp r0, 0x2
- bne _08057430
- ldr r4, =gActiveBank
- mov r1, r9
- strb r1, [r4]
- ldrb r1, [r4]
- movs r0, 0x58
- muls r0, r1
- ldr r1, =gBattleMons + 0x4C
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- movs r1, 0x28
- movs r2, 0
- movs r3, 0x4
- bl EmitSetMonData
- ldrb r0, [r4]
- bl MarkBufferBankForExecution
-_08057430:
- mov r0, r8
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_805725C
-
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s
index 978dd30fa..e52ed0c3d 100755
--- a/asm/battle_frontier_1.s
+++ b/asm/battle_frontier_1.s
@@ -136,7 +136,7 @@ _0818EAC8:
.4byte _0818ECD0
.4byte _0818ECF4
_0818EAF0:
- ldr r3, =gScriptResult
+ ldr r3, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
lsls r1, r5, 1
@@ -150,7 +150,7 @@ _0818EAF0:
b _0818ED10
.pool
_0818EB14:
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r2, [r0]
ldr r3, =0x00000cdc
@@ -170,7 +170,7 @@ _0818EB14:
b _0818ED10
.pool
_0818EB48:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000d08
@@ -180,7 +180,7 @@ _0818EB48:
b _0818ECBE
.pool
_0818EB64:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r3, =0x00000d08
@@ -190,7 +190,7 @@ _0818EB64:
b _0818ECBE
.pool
_0818EB80:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000d08
@@ -198,7 +198,7 @@ _0818EB80:
b _0818ECBA
.pool
_0818EB98:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r3, =0x00000d08
@@ -216,7 +216,7 @@ _0818EBB4:
bne _0818EC04
cmp r5, 0
beq _0818EBE8
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000d08
@@ -226,7 +226,7 @@ _0818EBB4:
b _0818ECBE
.pool
_0818EBE8:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r3, =0x00000d08
@@ -238,7 +238,7 @@ _0818EBE8:
_0818EC04:
cmp r5, 0
beq _0818EC24
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000d08
@@ -248,7 +248,7 @@ _0818EC04:
b _0818ECBE
.pool
_0818EC24:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r3, =0x00000d08
@@ -266,7 +266,7 @@ _0818EC40:
bne _0818EC90
cmp r5, 0
beq _0818EC74
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000d08
@@ -277,7 +277,7 @@ _0818EC40:
b _0818ED10
.pool
_0818EC74:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r3, =0x00000d08
@@ -289,7 +289,7 @@ _0818EC74:
_0818EC90:
cmp r5, 0
beq _0818ECB0
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000d08
@@ -299,7 +299,7 @@ _0818EC90:
b _0818ECBE
.pool
_0818ECB0:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r3, =0x00000d08
@@ -328,7 +328,7 @@ _0818ECD0:
b _0818ED10
.pool
_0818ECF4:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r1, [r0]
ldr r3, =0x00000d0a
@@ -11707,12 +11707,12 @@ sub_8194EC0: @ 8194EC0
bl sub_8195358
cmp r4, r0
ble _08194EE8
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
b _08194EEC
.pool
_08194EE8:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x2
_08194EEC:
strh r0, [r1]
@@ -13130,7 +13130,7 @@ _08195A74:
beq _08195AB0
b _08195AD0
_08195A7A:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldr r1, [r5]
ldr r2, =0x00000dc6
adds r1, r2
@@ -13139,7 +13139,7 @@ _08195A7A:
b _08195AD0
.pool
_08195A90:
- ldr r3, =gScriptResult
+ ldr r3, =gSpecialVar_Result
ldr r0, [r5]
lsls r1, r7, 1
lsls r2, r6, 2
@@ -13152,7 +13152,7 @@ _08195A90:
b _08195AD0
.pool
_08195AB0:
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
ldr r2, [r5]
ldr r0, =0x00000cdc
adds r2, r0
@@ -13285,7 +13285,7 @@ sub_8195BB0: @ 8195BB0
ldrh r0, [r2]
cmp r0, 0x31
bhi _08195C00
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl Random
lsls r0, 16
lsrs r0, 16
@@ -13297,12 +13297,12 @@ sub_8195BB0: @ 8195BB0
_08195C00:
cmp r0, 0x62
bhi _08195C10
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x3
b _08195C14
.pool
_08195C10:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x4
_08195C14:
strh r0, [r1]
@@ -13517,12 +13517,12 @@ sub_8195DB8: @ 8195DB8
adds r0, r1
movs r1, 0
strh r1, [r0]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r5, [r0]
b _08195E06
.pool
_08195E00:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
_08195E06:
diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s
index ac92b3c2a..f92f964bb 100755
--- a/asm/battle_frontier_2.s
+++ b/asm/battle_frontier_2.s
@@ -2801,7 +2801,7 @@ sub_819BCF8: @ 819BCF8
lsls r0, 16
lsrs r0, 16
add r1, sp, 0xC
- bl sub_81DB468
+ bl CopyMonCategoryText
movs r0, 0x1
add r1, sp, 0xC
movs r2, 0x76
@@ -4361,14 +4361,14 @@ _0819CA4E:
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
b _0819CAFE
.pool
_0819CA68:
movs r0, 0x2
strh r0, [r4, 0x8]
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
b _0819CAFE
@@ -8831,7 +8831,7 @@ _0819EFF2:
lsls r0, 16
lsrs r0, 16
add r1, sp, 0xC
- bl sub_81DB468
+ bl CopyMonCategoryText
movs r0, 0x1
add r1, sp, 0xC
movs r2, 0x76
@@ -11730,13 +11730,13 @@ _081A0734:
bne _081A0778
movs r0, 0x5
bl PlaySE
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x7F
strh r0, [r1]
b _081A0768
.pool
_081A0764:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
_081A0768:
ldrb r0, [r4, 0xC]
@@ -11982,12 +11982,12 @@ sub_81A093C: @ 81A093C
lsrs r1, r0, 24
cmp r1, 0
bne _081A0954
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
b _081A095A
.pool
_081A0954:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
_081A095A:
@@ -12046,7 +12046,7 @@ sub_81A0990: @ 81A0990
thumb_func_start sub_81A09B4
sub_81A09B4: @ 81A09B4
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
adds r0, 0xB1
@@ -12070,13 +12070,13 @@ sub_81A09D0: @ 81A09D0
subs r1, r0, 0x3
cmp r1, 0
bge _081A09F4
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
b _081A0A1C
.pool
_081A09F4:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
cmp r1, 0x8
ble _081A09FE
movs r0, 0x1
@@ -12403,7 +12403,7 @@ sub_81A0CC0: @ 81A0CC0
lsrs r0, r1, 28
cmp r0, 0x2
bhi _081A0CE4
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x2
b _081A0D34
.pool
@@ -12431,22 +12431,22 @@ _081A0D08:
beq _081A0D24
b _081A0D30
_081A0D0E:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x4
b _081A0D34
.pool
_081A0D18:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x3
b _081A0D34
.pool
_081A0D24:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
b _081A0D34
.pool
_081A0D30:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x5
_081A0D34:
strh r0, [r1]
@@ -13078,7 +13078,7 @@ _081A1242:
lsls r0, 30
ldr r1, =gSpecialVar_0x8005
mov r12, r1
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
mov r8, r1
cmp r0, 0
beq _081A127C
@@ -13855,7 +13855,7 @@ _081A186C:
.4byte _081A1918
.4byte _081A1938
_081A188C:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000ca8
@@ -13865,7 +13865,7 @@ _081A188C:
b _081A1956
.pool
_081A18A8:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000ca9
@@ -13877,7 +13877,7 @@ _081A18A8:
b _081A1956
.pool
_081A18C8:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000cb2
@@ -13887,7 +13887,7 @@ _081A18C8:
b _081A1956
.pool
_081A18E4:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000ca9
@@ -13897,7 +13897,7 @@ _081A18E4:
b _081A1926
.pool
_081A1900:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r1, =gBattleOutcome
ldrb r0, [r1]
strh r0, [r2]
@@ -13906,7 +13906,7 @@ _081A1900:
b _081A1956
.pool
_081A1918:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000ca9
@@ -13919,7 +13919,7 @@ _081A1926:
b _081A1956
.pool
_081A1938:
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r2, [r0]
movs r0, 0xD0
@@ -17183,7 +17183,7 @@ sub_81A35EC: @ 81A35EC
push {r4,lr}
ldr r0, =0x000040cf
bl VarGet
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl sub_81A3610
lsls r0, 24
lsrs r0, 24
@@ -17755,12 +17755,12 @@ sub_81A3B00: @ 81A3B00
ldr r0, =0x000003fe
cmp r1, r0
bne _081A3B20
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
b _081A3B24
.pool
_081A3B20:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
_081A3B24:
strh r0, [r1]
@@ -17988,7 +17988,7 @@ sub_81A3D30: @ 81A3D30
push {r4,lr}
ldr r0, =0x000040cf
bl VarGet
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
lsls r0, 24
lsrs r0, 24
bl sub_81A3B30
@@ -18044,13 +18044,13 @@ sub_81A3DA0: @ 81A3DA0
ands r2, r1
cmp r2, 0
beq _081A3DC4
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
b _081A3DC8
.pool
_081A3DC4:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r2, [r0]
_081A3DC8:
pop {r0}
@@ -18390,7 +18390,7 @@ _081A404E:
bne _081A40C8
cmp r7, 0
bne _081A40E4
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrb r3, [r0]
str r6, [sp]
add r1, sp, 0x10
@@ -18406,7 +18406,7 @@ _081A404E:
b _081A40E4
.pool
_081A40C8:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrb r3, [r0]
str r6, [sp]
add r1, sp, 0x10
@@ -18529,7 +18529,7 @@ _081A41E0:
strh r0, [r1]
ldr r0, =gSaveBlock2Ptr
ldr r2, [r0]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrb r0, [r0]
ldr r1, =0x00000ca9
adds r2, r1
@@ -18767,7 +18767,7 @@ _081A43EE:
thumb_func_start sub_81A4410
sub_81A4410: @ 81A4410
push {r4,lr}
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl MoveRecordedBattleToSaveData
strh r0, [r4]
ldr r0, =gSaveBlock2Ptr
@@ -21309,7 +21309,7 @@ _081A5994:
beq _081A59C8
b _081A59EE
_081A599A:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldr r2, =0x00000dd8
adds r1, r3, r2
ldrh r1, [r1]
@@ -21317,7 +21317,7 @@ _081A599A:
b _081A59EE
.pool
_081A59B0:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
lsls r1, 1
ldr r4, =0x00000dda
adds r0, r3, r4
@@ -21328,7 +21328,7 @@ _081A59B0:
_081A59C8:
cmp r1, 0
beq _081A59E0
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r1, =0x00000cdc
adds r0, r3, r1
ldr r0, [r0]
@@ -21336,7 +21336,7 @@ _081A59C8:
b _081A59EA
.pool
_081A59E0:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r4, =0x00000cdc
adds r0, r3, r4
ldr r0, [r0]
@@ -21550,12 +21550,12 @@ sub_81A5B88: @ 81A5B88
adds r0, r1
movs r1, 0
strh r1, [r0]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r5, [r0]
b _081A5BD6
.pool
_081A5BD0:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
_081A5BD6:
@@ -22026,7 +22026,7 @@ _081A5FE4:
beq _081A6030
b _081A6044
_081A5FEA:
- ldr r3, =gScriptResult
+ ldr r3, =gSpecialVar_Result
ldr r0, [r7]
lsls r1, r6, 1
lsls r2, r5, 2
@@ -22035,7 +22035,7 @@ _081A5FEA:
b _081A603C
.pool
_081A6000:
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
ldr r2, [r7]
ldr r0, =0x00000cdc
adds r2, r0
@@ -22054,7 +22054,7 @@ _081A6000:
b _081A6044
.pool
_081A6030:
- ldr r3, =gScriptResult
+ ldr r3, =gSpecialVar_Result
ldr r0, [r7]
lsls r1, r6, 1
lsls r2, r5, 2
@@ -23248,7 +23248,7 @@ sub_81A6A08: @ 81A6A08
str r0, [r1]
movs r4, 0
add r5, sp, 0x14
- ldr r7, =gScriptResult
+ ldr r7, =gSpecialVar_Result
movs r1, 0
_081A6A1E:
mov r2, sp
@@ -23407,7 +23407,7 @@ _081A6B18:
lsrs r4, r0, 24
cmp r4, 0x2
bls _081A6B0E
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
movs r4, 0x1
@@ -24180,7 +24180,7 @@ _081A7174:
.4byte _081A71E8
.4byte _081A720C
_081A7188:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldr r1, [r3]
ldr r3, =0x00000e02
adds r1, r3
@@ -24189,7 +24189,7 @@ _081A7188:
b _081A723A
.pool
_081A71A0:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r1, [r3]
ldr r3, =0x00000ca9
adds r0, r1, r3
@@ -24203,7 +24203,7 @@ _081A71A0:
b _081A7238
.pool
_081A71C4:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r1, [r3]
ldr r3, =0x00000ca9
adds r0, r1, r3
@@ -24217,7 +24217,7 @@ _081A71C4:
b _081A7238
.pool
_081A71E8:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r1, [r3]
ldr r3, =0x00000ca9
adds r0, r1, r3
@@ -24233,7 +24233,7 @@ _081A71E8:
_081A720C:
cmp r2, 0
beq _081A7228
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r0, [r3]
ldr r1, =0x00000cdc
adds r0, r1
@@ -24243,7 +24243,7 @@ _081A720C:
b _081A7236
.pool
_081A7228:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r0, [r3]
ldr r3, =0x00000cdc
adds r0, r3
@@ -24424,12 +24424,12 @@ sub_81A73B8: @ 81A73B8
ldrh r0, [r0]
cmp r0, 0xE
bls _081A73DC
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
b _081A73E0
.pool
_081A73DC:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
_081A73E0:
strh r0, [r1]
@@ -24440,7 +24440,7 @@ _081A73E0:
thumb_func_start sub_81A73EC
sub_81A73EC: @ 81A73EC
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldr r1, =gUnknown_0300128C
ldrb r1, [r1]
strh r1, [r0]
@@ -24528,27 +24528,27 @@ _081A7484:
beq _081A74A4
b _081A74C2
_081A748E:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
b _081A74C0
.pool
_081A7498:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
b _081A74C0
.pool
_081A74A4:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x2
b _081A74C0
.pool
_081A74B0:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x3
b _081A74C0
.pool
_081A74BC:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x4
_081A74C0:
strh r0, [r1]
@@ -24560,7 +24560,7 @@ _081A74C2:
thumb_func_start sub_81A74CC
sub_81A74CC: @ 81A74CC
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldr r1, =gUnknown_0300128D
ldrb r1, [r1]
strh r1, [r0]
@@ -24580,7 +24580,7 @@ sub_81A74E0: @ 81A74E0
adds r4, 0x1
adds r0, r4, 0
bl sub_81A7F38
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r4, [r0]
pop {r4}
pop {r0}
@@ -26066,7 +26066,7 @@ _081A807A:
thumb_func_start sub_81A8090
sub_81A8090: @ 81A8090
push {r4,lr}
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl InBattlePike
lsls r0, 24
lsrs r0, 24
@@ -26110,7 +26110,7 @@ sub_81A80DC: @ 81A80DC
push {r4-r7,lr}
mov r7, r8
push {r7}
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
movs r0, 0
strh r0, [r4]
movs r0, 0x1
@@ -26295,7 +26295,7 @@ _081A824C:
thumb_func_start sub_81A825C
sub_81A825C: @ 81A825C
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
movs r2, 0xE1
@@ -26311,7 +26311,7 @@ sub_81A825C: @ 81A825C
thumb_func_start sub_81A827C
sub_81A827C: @ 81A827C
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r1, =gUnknown_0861266C
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
@@ -26754,7 +26754,7 @@ _081A8634:
thumb_func_start sub_81A863C
sub_81A863C: @ 81A863C
push {r4,lr}
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
movs r0, 0
bl sub_81A8590
lsls r0, 24
@@ -26787,7 +26787,7 @@ sub_81A8658: @ 81A8658
ldrb r4, [r0]
adds r0, r4, 0
bl sub_81A7F38
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r4, [r0]
pop {r4}
pop {r0}
@@ -26821,7 +26821,7 @@ sub_81A86C0: @ 81A86C0
mov r6, r9
mov r5, r8
push {r5-r7}
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
movs r0, 0
@@ -26895,7 +26895,7 @@ _081A8766:
mov r0, r9
cmp r0, 0x1
bne _081A8778
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
b _081A8786
@@ -27919,13 +27919,13 @@ _081A8F70:
.4byte _081A9010
.4byte _081A9028
_081A8F8C:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldr r1, [r3]
ldr r3, =0x00000e18
b _081A8FFE
.pool
_081A8F9C:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r0, [r3]
lsls r1, r4, 1
ldr r3, =0x00000e1a
@@ -27937,14 +27937,14 @@ _081A8F9C:
_081A8FB4:
cmp r4, 0
beq _081A8FCC
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r0, [r3]
ldr r1, =0x00000cdc
adds r0, r1
b _081A9030
.pool
_081A8FCC:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r0, [r3]
ldr r3, =0x00000cdc
adds r0, r3
@@ -27954,14 +27954,14 @@ _081A8FCC:
b _081A9036
.pool
_081A8FE4:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldr r1, [r3]
ldr r2, =0x00000e1a
adds r1, r2
b _081A9000
.pool
_081A8FF8:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldr r1, [r3]
ldr r3, =0x00000e1c
_081A8FFE:
@@ -27972,7 +27972,7 @@ _081A9000:
b _081A903A
.pool
_081A9010:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r0, [r3]
ldr r1, =0x00000cdc
adds r0, r1
@@ -27982,7 +27982,7 @@ _081A9010:
b _081A9036
.pool
_081A9028:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r0, [r3]
ldr r3, =0x00000cdc
adds r0, r3
@@ -28211,12 +28211,12 @@ sub_81A91FC: @ 81A91FC
adds r0, r1
movs r1, 0
strh r1, [r0]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r5, [r0]
b _081A924A
.pool
_081A9244:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
_081A924A:
@@ -28296,7 +28296,7 @@ CalculateBattlePyramidItemBallItemId: @ 81A9290
_081A92DE:
bl sub_81AA9E4
lsls r0, 24
- ldr r1, =gScriptLastTalked
+ ldr r1, =gSpecialVar_LastTalked
ldrh r4, [r1]
ldr r1, =gUnknown_08613650
lsrs r0, 20
@@ -28401,7 +28401,7 @@ sub_81A93C8: @ 81A93C8
lsls r1, 4
adds r3, r0, r1
movs r2, 0
- ldr r4, =gScriptLastTalked
+ ldr r4, =gSpecialVar_LastTalked
b _081A93F4
.pool
_081A93E4:
@@ -28712,7 +28712,7 @@ _081A9650:
thumb_func_start sub_81A966C
sub_81A966C: @ 81A966C
push {r4,lr}
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl InBattlePyramid
lsls r0, 24
lsrs r0, 24
@@ -28745,7 +28745,7 @@ _081A9698:
b _081A9754
.pool
_081A96B4:
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
ldrh r0, [r4]
cmp r0, 0x1
beq _081A9710
@@ -28775,7 +28775,7 @@ _081A96F4:
ldrh r0, [r0]
bl PlaySE
_081A96FC:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldrh r0, [r1]
adds r0, 0x1
strh r0, [r1]
@@ -29352,7 +29352,7 @@ _081A9B86:
strb r3, [r0, 0x6]
mov r7, r10
ldr r2, [r7]
- ldr r0, =gScriptLastTalked
+ ldr r0, =gSpecialVar_LastTalked
ldrh r1, [r0]
subs r1, 0x1
lsls r0, r1, 1
@@ -29815,7 +29815,7 @@ _081A9F7A:
thumb_func_start sub_81A9F80
sub_81A9F80: @ 81A9F80
push {lr}
- ldr r0, =gUnknown_08252C88
+ ldr r0, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88
bl ScriptContext1_SetupScript
pop {r0}
bx r0
@@ -29962,7 +29962,7 @@ _081AA0A6:
ldr r2, =0x00000169
adds r0, r2
lsls r0, 2
- ldr r1, =gUnknown_08481DD4
+ ldr r1, =gMapAttributes
adds r0, r1
ldr r6, [r0]
ldr r2, [r6, 0xC]
@@ -30241,8 +30241,8 @@ sub_81AA2F8: @ 81AA2F8
push {r4,r5,lr}
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
- ldr r5, =gUnknown_08252C4F
- ldr r4, =gUnknown_08252C6A
+ ldr r5, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F
+ ldr r4, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A
movs r2, 0xC8
lsls r2, 4
adds r1, r0, r2
diff --git a/asm/battle_setup.s b/asm/battle_setup.s
index 5c7196579..621749734 100644
--- a/asm/battle_setup.s
+++ b/asm/battle_setup.s
@@ -1328,7 +1328,7 @@ _080B1120:
thumb_func_start sub_80B1138
sub_80B1138: @ 80B1138
push {lr}
- ldr r0, =set_256color_bg_bg0
+ ldr r0, =CB2_ChooseStarter
bl SetMainCallback2
ldr r1, =gMain
ldr r0, =sub_80B1158
@@ -1344,11 +1344,11 @@ sub_80B1158: @ 80B1158
sub sp, 0x8
ldr r0, =0x00004023
bl GetVarPointer
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldrh r1, [r2]
strh r1, [r0]
ldrh r0, [r2]
- bl sub_8133EDC
+ bl GetStarterPokemon
lsls r0, 16
lsrs r0, 16
movs r1, 0
@@ -1669,7 +1669,7 @@ battle_80801F0: @ 80B13F8
ldrh r1, [r0]
cmp r1, 0
beq _080B141A
- ldr r0, =gScriptLastTalked
+ ldr r0, =gSpecialVar_LastTalked
strh r1, [r0]
lsls r0, r1, 24
lsrs r0, 24
@@ -1728,7 +1728,7 @@ _080B1494:
ldr r0, =gUnknown_0854FF84
adds r1, r5, 0
bl TrainerBattleLoadArgs
- ldr r0, =gUnknown_082713C2
+ ldr r0, =EventScript_2713C2
b _080B161E
.pool
_080B14A8:
@@ -1757,7 +1757,7 @@ _080B14D6:
adds r1, r5, 0
bl TrainerBattleLoadArgs
bl battle_80801F0
- ldr r0, =gUnknown_0827138A
+ ldr r0, =EventScript_27138A
b _080B161E
.pool
_080B14EC:
@@ -1769,7 +1769,7 @@ _080B14EC:
ldrh r0, [r4]
bl sub_80B2234
strh r0, [r4]
- ldr r0, =gUnknown_082713F8
+ ldr r0, =EventScript_2713F8
b _080B161E
.pool
_080B1514:
@@ -1781,7 +1781,7 @@ _080B1514:
ldrh r0, [r4]
bl sub_80B2234
strh r0, [r4]
- ldr r0, =gUnknown_082713D1
+ ldr r0, =EventScript_2713D1
b _080B161E
.pool
_080B153C:
@@ -1793,7 +1793,7 @@ _080B153C:
adds r1, r5, 0
bl TrainerBattleLoadArgs
bl battle_80801F0
- ldr r0, =gScriptLastTalked
+ ldr r0, =gSpecialVar_LastTalked
ldrb r0, [r0]
bl sub_81A9AA8
ldr r1, =gTrainerBattleOpponent_A
@@ -1803,7 +1803,7 @@ _080B156C:
ldr r0, =gUnknown_08550014
adds r1, r5, 0
bl TrainerBattleLoadArgs
- ldr r0, =gScriptLastTalked
+ ldr r0, =gSpecialVar_LastTalked
ldrb r0, [r0]
bl sub_81A9AA8
_080B157C:
@@ -1833,7 +1833,7 @@ _080B15A8:
adds r1, r5, 0
bl TrainerBattleLoadArgs
bl battle_80801F0
- ldr r0, =gScriptLastTalked
+ ldr r0, =gSpecialVar_LastTalked
ldrb r0, [r0]
bl battle_init
ldr r1, =gTrainerBattleOpponent_A
@@ -1843,7 +1843,7 @@ _080B15D8:
ldr r0, =gUnknown_08550014
adds r1, r5, 0
bl TrainerBattleLoadArgs
- ldr r0, =gScriptLastTalked
+ ldr r0, =gSpecialVar_LastTalked
ldrb r0, [r0]
bl battle_init
b _080B157C
@@ -1866,7 +1866,7 @@ _080B1616:
adds r1, r5, 0
bl TrainerBattleLoadArgs
_080B161C:
- ldr r0, =gUnknown_08271362
+ ldr r0, =EventScript_271362
_080B161E:
pop {r4,r5}
pop {r1}
@@ -1882,7 +1882,7 @@ SingleTrainerWantsBattle: @ 80B162C
lsrs r0, 24
ldr r2, =gSelectedMapObject
strb r0, [r2]
- ldr r4, =gScriptLastTalked
+ ldr r4, =gSpecialVar_LastTalked
ldr r3, =gMapObjects
lsls r2, r0, 3
adds r2, r0
@@ -1893,7 +1893,7 @@ SingleTrainerWantsBattle: @ 80B162C
adds r1, 0x1
adds r0, r1, 0
bl BattleSetup_ConfigureTrainerBattle
- ldr r0, =gUnknown_08271354
+ ldr r0, =EventScript_271354
bl ScriptContext1_SetupScript
bl ScriptContext2_Enable
pop {r4}
@@ -1910,7 +1910,7 @@ TwoTrainersWantBattle: @ 80B1670
lsrs r0, 24
ldr r2, =gSelectedMapObject
strb r0, [r2]
- ldr r4, =gScriptLastTalked
+ ldr r4, =gSpecialVar_LastTalked
ldr r3, =gMapObjects
lsls r2, r0, 3
adds r2, r0
@@ -1931,7 +1931,7 @@ TwoTrainersWantBattle: @ 80B1670
@ void TwoTrainersWantBattleExecuteScript()
TwoTrainersWantBattleExecuteScript: @ 80B16A4
push {lr}
- ldr r0, =gUnknown_08271354
+ ldr r0, =EventScript_271354
bl ScriptContext1_SetupScript
bl ScriptContext2_Enable
pop {r0}
@@ -2332,7 +2332,7 @@ sub_80B1A14: @ 80B1A14
ldrb r0, [r0]
cmp r0, 0x1
bhi _080B1A44
- ldr r0, =gScriptLastTalked
+ ldr r0, =gSpecialVar_LastTalked
ldrb r0, [r0]
bl sub_81A9AA8
lsls r0, 16
@@ -2370,7 +2370,7 @@ _080B1A7C:
ldrb r0, [r0]
cmp r0, 0x1
bhi _080B1AAC
- ldr r0, =gScriptLastTalked
+ ldr r0, =gSpecialVar_LastTalked
ldrb r0, [r0]
bl battle_init
adds r1, r0, 0
@@ -2420,7 +2420,7 @@ BattleSetup_GetScriptAddrAfterBattle: @ 80B1AF8
ldr r0, [r0]
cmp r0, 0
bne _080B1B04
- ldr r0, =gUnknown_082C8436
+ ldr r0, =EventScript_2C8436
_080B1B04:
pop {r1}
bx r1
@@ -2457,7 +2457,7 @@ _080B1B3C:
b _080B1B56
.pool
_080B1B54:
- ldr r0, =gUnknown_082742E6
+ ldr r0, =LavaridgeTown_Gym_1F_EventScript_2742E6
_080B1B56:
pop {r1}
bx r1
@@ -3484,7 +3484,7 @@ CheckIfMultipleTrainersWantBattle: @ 80B22D8
ldr r1, =gUnknown_02038BF8
movs r0, 0x1
strb r0, [r1]
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
b _080B230A
.pool
@@ -3492,7 +3492,7 @@ _080B2300:
ldr r1, =gUnknown_02038BF8
movs r0, 0
strb r0, [r1]
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
_080B230A:
strh r0, [r1]
diff --git a/asm/battle_tent.s b/asm/battle_tent.s
index 5cb92dbed..8253d4f98 100755
--- a/asm/battle_tent.s
+++ b/asm/battle_tent.s
@@ -57,7 +57,7 @@ sub_81B99D4: @ 81B99D4
thumb_func_start sub_81B9A28
sub_81B9A28: @ 81B9A28
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000e6a
@@ -196,12 +196,12 @@ sub_81B9B28: @ 81B9B28
adds r0, r1
movs r1, 0
strh r1, [r0]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r5, [r0]
b _081B9B76
.pool
_081B9B70:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
_081B9B76:
@@ -263,7 +263,7 @@ sub_81B9BA0: @ 81B9BA0
thumb_func_start sub_81B9BF4
sub_81B9BF4: @ 81B9BF4
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000e6c
@@ -357,12 +357,12 @@ sub_81B9C98: @ 81B9C98
adds r0, r1
movs r1, 0
strh r1, [r0]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r5, [r0]
b _081B9CE6
.pool
_081B9CE0:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
_081B9CE6:
@@ -436,7 +436,7 @@ sub_81B9D28: @ 81B9D28
thumb_func_start sub_81B9D7C
sub_81B9D7C: @ 81B9D7C
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000e6e
@@ -530,12 +530,12 @@ sub_81B9E20: @ 81B9E20
adds r0, r1
movs r1, 0
strh r1, [r0]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r5, [r0]
b _081B9E6E
.pool
_081B9E68:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
_081B9E6E:
diff --git a/asm/battle_tower.s b/asm/battle_tower.s
index 122d9d27c..42dcb431a 100755
--- a/asm/battle_tower.s
+++ b/asm/battle_tower.s
@@ -132,12 +132,12 @@ _08162094:
lsls r1, 24
lsrs r1, 24
bl sub_8164FCC
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
strh r0, [r1]
b _081620E8
.pool
_081620A8:
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
ldr r2, [r5]
ldr r0, =0x00000cdc
adds r2, r0
@@ -294,7 +294,7 @@ _081621EE:
adds r0, 0x1
strh r0, [r1]
bl sub_8163E90
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, [r5]
adds r0, r4
ldrh r0, [r0]
@@ -3547,11 +3547,11 @@ _08163E2C:
ldr r4, =gUnknown_02038BFC
movs r0, 0
strb r0, [r4]
- ldr r0, =gUnknown_08224158
+ ldr r0, =MossdeepCity_SpaceCenter_2F_EventScript_224157 + 1
bl BattleSetup_ConfigureTrainerBattle
movs r0, 0x1
strb r0, [r4]
- ldr r0, =gUnknown_08224167
+ ldr r0, =MossdeepCity_SpaceCenter_2F_EventScript_224166 + 1
bl BattleSetup_ConfigureTrainerBattle
ldr r0, =gPartnerTrainerId
strh r5, [r0]
@@ -4714,7 +4714,7 @@ sub_8164828: @ 8164828
lsls r0, 16
lsrs r0, 16
mov r8, r0
- ldr r0, =gScriptLastTalked
+ ldr r0, =gSpecialVar_LastTalked
ldrh r0, [r0]
subs r5, r0, 0x2
ldr r0, =gSaveBlock2Ptr
@@ -5076,7 +5076,7 @@ sub_8164B74: @ 8164B74
adds r0, r2
ldrh r6, [r0]
bl GetMultiplayerId
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0x6
bls _08164BAC
@@ -5126,7 +5126,7 @@ _08164C18:
mov r1, sp
movs r2, 0x4
bl SendBlock
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
b _08164DB4
.pool
@@ -5204,7 +5204,7 @@ _08164CB0:
mov r4, r8
cmp r4, 0xD
ble _08164C68
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x2
b _08164DB4
.pool
@@ -5222,7 +5222,7 @@ _08164CE0:
adds r1, r3
movs r2, 0x28
bl SendBlock
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x3
b _08164DB4
.pool
@@ -5268,13 +5268,13 @@ _08164D14:
ldrb r0, [r0]
cmp r0, 0
bne _08164DB0
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x4
b _08164DB4
.pool
_08164D98:
bl sub_800AC34
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x5
b _08164DB4
.pool
@@ -5284,7 +5284,7 @@ _08164DA8:
cmp r0, 0
bne _08164DB6
_08164DB0:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x6
_08164DB4:
strh r0, [r1]
@@ -5625,7 +5625,7 @@ sub_816502C: @ 816502C
movs r0, 0x45
mov r10, r0
_0816506A:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
mov r9, r1
movs r0, 0
strh r0, [r1]
@@ -5681,7 +5681,7 @@ _081650D4:
cmp r6, r8
blt _0816508C
_081650DC:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0
beq _08165132
@@ -5901,7 +5901,7 @@ _08165294:
thumb_func_start sub_81652B4
sub_81652B4: @ 81652B4
push {r4-r6,lr}
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
movs r0, 0
strh r0, [r2]
ldr r1, =gSaveBlock2Ptr
@@ -5943,7 +5943,7 @@ _081652F2:
ldr r3, =0x00000bec
adds r0, r1, r3
bl sub_816534C
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
_08165316:
diff --git a/asm/berry_blender.s b/asm/berry_blender.s
index 69c561beb..f0d1b48d7 100644
--- a/asm/berry_blender.s
+++ b/asm/berry_blender.s
@@ -1190,7 +1190,7 @@ _080801F8:
movs r5, 0xAC
lsls r5, 1
adds r0, r5
- ldr r1, =gScriptItemId
+ ldr r1, =gSpecialVar_ItemId
ldrh r1, [r1]
bl sub_807FE14
ldr r0, =gUnknown_020228C4
@@ -2043,7 +2043,7 @@ _080808F8:
_08080950:
bl sub_800B4C0
bl sub_8080588
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r1, [r4]
movs r0, 0
bl sub_8082FDC
@@ -7619,7 +7619,7 @@ _080837EA:
movs r1, 0x6
bl CreateTask
bl sub_80EECEC
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
movs r1, 0x1
bl RemoveBagItem
diff --git a/asm/berry_fix_program.s b/asm/berry_fix_program.s
deleted file mode 100755
index 2428f2984..000000000
--- a/asm/berry_fix_program.s
+++ /dev/null
@@ -1,8 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/berry_tag_screen.s b/asm/berry_tag_screen.s
index 9622f0508..422f5f3d6 100644
--- a/asm/berry_tag_screen.s
+++ b/asm/berry_tag_screen.s
@@ -12,7 +12,7 @@ sub_8177C14: @ 8177C14
ldr r0, =0x0000180c
bl AllocZeroed
str r0, [r4]
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl ItemIdToBerryType
ldr r1, [r4]
diff --git a/asm/cable_club.s b/asm/cable_club.s
index 15ba76e9c..2ce8bb0b1 100644
--- a/asm/cable_club.s
+++ b/asm/cable_club.s
@@ -433,7 +433,7 @@ sub_80B2688: @ 80B2688
bne _080B26EC
movs r0, 0x15
bl PlaySE
- ldr r0, =gUnknown_082780B3
+ ldr r0, =OldaleTown_PokemonCenter_2F_Text_2780B3
bl ShowFieldAutoScrollMessage
ldr r0, =sub_80B270C
b _080B26FA
@@ -441,7 +441,7 @@ sub_80B2688: @ 80B2688
_080B26EC:
movs r0, 0x16
bl PlaySE
- ldr r0, =gUnknown_08278131
+ ldr r0, =OldaleTown_PokemonCenter_2F_Text_278131
bl ShowFieldAutoScrollMessage
ldr r0, =sub_80B2918
_080B26FA:
@@ -544,7 +544,7 @@ sub_80B275C: @ 80B275C
movs r2, 0
movs r3, 0x1
bl ConvertIntToDecimalStringN
- ldr r0, =gUnknown_082780F2
+ ldr r0, =OldaleTown_PokemonCenter_2F_Text_2780F2
bl ShowFieldAutoScrollMessage
mov r0, r9
subs r0, 0x8
@@ -597,7 +597,7 @@ sub_80B2804: @ 80B2804
cmp r0, 0
beq _080B2878
_080B2852:
- ldr r0, =gUnknown_082780B3
+ ldr r0, =OldaleTown_PokemonCenter_2F_Text_2780B3
bl ShowFieldAutoScrollMessage
ldr r1, =gTasks
lsls r0, r5, 2
@@ -663,7 +663,7 @@ sub_80B28A8: @ 80B28A8
b _080B2908
.pool
_080B28F4:
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
adds r0, r7, 0
adds r1, r6, 0
bl sub_80B2478
@@ -703,7 +703,7 @@ sub_80B2918: @ 80B2918
bl sub_80B24F8
cmp r0, 0x1
beq _080B29E6
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
adds r0, r6, 0
adds r1, r5, 0
bl sub_80B2478
@@ -791,7 +791,7 @@ sub_80B2A08: @ 80B2A08
bl sub_80B24F8
cmp r0, 0x1
beq _080B2ACE
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0x4
bne _080B2A38
@@ -1067,7 +1067,7 @@ _080B2C7E:
movs r0, 0
bl sub_800B330
bl ResetBlockReceivedFlags
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
adds r1, r5, 0
bl task_map_chg_seq_0807EC34
_080B2C9C:
@@ -1111,7 +1111,7 @@ sub_80B2CEC: @ 80B2CEC
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x5
strh r0, [r1]
ldr r0, =gTasks
@@ -1139,7 +1139,7 @@ sub_80B2D2C: @ 80B2D2C
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x6
strh r0, [r1]
ldr r0, =gTasks
@@ -1284,7 +1284,7 @@ sub_80B2E4C: @ 80B2E4C
thumb_func_start sub_80B2E74
sub_80B2E74: @ 80B2E74
push {lr}
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
ldr r1, =gUnknown_020229C6
@@ -1353,7 +1353,7 @@ sub_80B2EE4: @ 80B2EE4
b _080B2FC6
.pool
_080B2F0C:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0x1
bne _080B2FA8
@@ -1415,7 +1415,7 @@ _080B2F74:
_080B2F82:
cmp r7, 0
beq _080B2FA8
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0xC
strh r0, [r1]
bl sub_800AD10
@@ -2296,7 +2296,7 @@ _080B3750:
beq _080B37B8
b _080B37CC
_080B375A:
- ldr r0, =gUnknown_08278091
+ ldr r0, =OldaleTown_PokemonCenter_2F_Text_278091
bl ShowFieldMessage
movs r0, 0x1
strh r0, [r5, 0x8]
diff --git a/asm/contest.s b/asm/contest.s
index 4852a548f..50398c518 100644
--- a/asm/contest.s
+++ b/asm/contest.s
@@ -6313,7 +6313,7 @@ _080DAE1E:
movs r0, 0x4
b _080DAE9A
_080DAE2E:
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrh r0, [r0]
cmp r0, 0x4
bhi _080DAE82
@@ -6358,7 +6358,7 @@ _080DAE82:
movs r0, 0
b _080DAE9A
_080DAE86:
- ldr r0, =gUnknown_02039F2E
+ ldr r0, =gSpecialVar_ContestRank
adds r2, r1, 0
ldrh r1, [r0]
movs r0, 0x2
@@ -8456,7 +8456,7 @@ sub_80DBED4: @ 80DBED4
adds r0, r1
ldrb r1, [r0]
lsls r1, 1
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrh r0, [r0]
lsls r0, 3
adds r1, r0
@@ -11805,7 +11805,7 @@ sub_80DD9F0: @ 80DD9F0
ldrb r1, [r0, 0x1]
lsls r1, 29
lsrs r1, 29
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrh r2, [r0]
lsls r0, r2, 2
adds r0, r2
@@ -14260,7 +14260,7 @@ _080DEDE6:
b _080DEF90
.pool
_080DEE00:
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrh r0, [r0]
cmp r0, 0x4
bhi _080DEE4C
@@ -14369,7 +14369,7 @@ _080DEEF4:
mov r2, r10
ldr r0, [r2]
adds r0, r7
- ldr r1, =gUnknown_02039F2E
+ ldr r1, =gSpecialVar_ContestRank
ldrh r1, [r1]
ldr r3, =0x00002eae
adds r0, r3
@@ -14383,7 +14383,7 @@ _080DEF02:
mov r2, r9
lsls r1, r2, 5
adds r0, r1
- ldr r1, =gScriptContestCategory
+ ldr r1, =gSpecialVar_ContestCategory
ldrh r1, [r1]
ldr r3, =0x00002e9a
adds r0, r3
@@ -14485,7 +14485,7 @@ _080DEFE6:
b _080DF03A
.pool
_080DEFF8:
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrh r0, [r0]
cmp r0, 0x4
bhi _080DF038
diff --git a/asm/contest_ai.s b/asm/contest_ai.s
index a213c393c..3438107eb 100644
--- a/asm/contest_ai.s
+++ b/asm/contest_ai.s
@@ -1352,7 +1352,7 @@ sub_8156CF4: @ 8156CF4
ldr r0, =gContestResources
ldr r0, [r0]
ldr r1, [r0, 0xC]
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrh r0, [r0]
strh r0, [r1, 0x18]
ldr r1, =gAIScriptPtr
diff --git a/asm/contest_effect.s b/asm/contest_effect.s
index f3c234503..65a720a65 100644
--- a/asm/contest_effect.s
+++ b/asm/contest_effect.s
@@ -2590,7 +2590,7 @@ ContestEffectFunc_080E6778: @ 80E6778
adds r0, r3
ldrb r0, [r0, 0x1]
lsls r0, 29
- ldr r1, =gScriptContestCategory
+ ldr r1, =gSpecialVar_ContestCategory
lsrs r0, 29
ldrh r1, [r1]
cmp r0, r1
diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s
index e6d30b7cb..7f32c880c 100644
--- a/asm/contest_link_80F57C4.s
+++ b/asm/contest_link_80F57C4.s
@@ -548,7 +548,7 @@ _080F5D2A:
movs r0, 0x8
strh r0, [r1]
bl InterviewBefore
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0x1
beq _080F5D58
@@ -556,7 +556,7 @@ _080F5D2A:
_080F5D58:
movs r0, 0x2
bl sub_813BADC
- ldr r0, =gUnknown_02039F2E
+ ldr r0, =gSpecialVar_ContestRank
ldrb r0, [r0]
bl sub_80DEDA8
movs r0, 0xFE
@@ -673,7 +673,7 @@ _080F5E78:
movs r0, 0x25
bl IncrementGameStat
_080F5E92:
- ldr r0, =gUnknown_02039F2E
+ ldr r0, =gSpecialVar_ContestRank
ldrb r0, [r0]
bl sub_80DEDA8
movs r0, 0xFE
@@ -2972,7 +2972,7 @@ sub_80F71C8: @ 80F71C8
b _080F7240
.pool
_080F71F8:
- ldr r0, =gUnknown_02039F2E
+ ldr r0, =gSpecialVar_ContestRank
ldrh r2, [r0]
cmp r2, 0
bne _080F720C
@@ -3008,7 +3008,7 @@ _080F7236:
bl CopyToBgTilemapBufferRect
movs r5, 0xF
_080F7240:
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrh r0, [r0]
cmp r0, 0
bne _080F725C
@@ -4640,15 +4640,15 @@ sub_80F7F30: @ 80F7F30
adds r5, r0, 0
cmp r5, 0
beq _080F7F5E
- ldr r4, =gScriptContestCategory
+ ldr r4, =gSpecialVar_ContestCategory
ldrb r0, [r4]
- ldr r1, =gUnknown_02039F2E
+ ldr r1, =gSpecialVar_ContestRank
ldrb r1, [r1]
bl sub_80DAB8C
ldrb r0, [r4]
bl sub_80DB09C
_080F7F5E:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r5, [r0]
pop {r4,r5}
pop {r0}
@@ -4666,7 +4666,7 @@ sub_80F7F7C: @ 80F7F7C
muls r1, r0
ldr r0, =gPlayerParty
adds r2, r1, r0
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrh r0, [r0]
cmp r0, 0x4
bhi _080F7FEE
@@ -4704,7 +4704,7 @@ _080F7FDC:
movs r1, 0x36
_080F7FE0:
bl GetMonData
- ldr r1, =gUnknown_02039F2E
+ ldr r1, =gSpecialVar_ContestRank
ldrh r1, [r1]
cmp r0, r1
bls _080F7FEE
@@ -4730,7 +4730,7 @@ sub_80F7FFC: @ 80F7FFC
beq _080F8010
b _080F8250
_080F8010:
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrh r0, [r0]
cmp r0, 0x4
bls _080F801A
@@ -4762,7 +4762,7 @@ _080F8048:
lsrs r1, r0, 24
mov r0, sp
strb r1, [r0]
- ldr r0, =gUnknown_02039F2E
+ ldr r0, =gSpecialVar_ContestRank
ldrh r0, [r0]
cmp r1, r0
bls _080F806C
@@ -4812,7 +4812,7 @@ _080F80B8:
strb r0, [r4]
mov r0, sp
ldrb r2, [r0]
- ldr r0, =gUnknown_02039F2E
+ ldr r0, =gSpecialVar_ContestRank
ldrh r0, [r0]
cmp r2, r0
bls _080F80DC
@@ -4861,7 +4861,7 @@ _080F8124:
strb r0, [r4]
mov r0, sp
ldrb r2, [r0]
- ldr r0, =gUnknown_02039F2E
+ ldr r0, =gSpecialVar_ContestRank
ldrh r0, [r0]
cmp r2, r0
bls _080F8148
@@ -4908,7 +4908,7 @@ _080F8190:
strb r0, [r4]
mov r0, sp
ldrb r2, [r0]
- ldr r0, =gUnknown_02039F2E
+ ldr r0, =gSpecialVar_ContestRank
ldrh r0, [r0]
cmp r2, r0
bhi _080F8250
@@ -4951,7 +4951,7 @@ _080F81F8:
strb r0, [r4]
mov r0, sp
ldrb r2, [r0]
- ldr r0, =gUnknown_02039F2E
+ ldr r0, =gSpecialVar_ContestRank
ldrh r0, [r0]
cmp r2, r0
bhi _080F8250
@@ -5488,7 +5488,7 @@ _080F8678:
bl sub_80F86E0
ldr r1, =gUnknown_02039F2B
strb r0, [r1]
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrb r0, [r0]
bl sub_80DB09C
ldr r1, =sub_80FCF40
diff --git a/asm/contest_link_81D9DE4.s b/asm/contest_link_81D9DE4.s
index 5f9c25d7c..12eb159f7 100755
--- a/asm/contest_link_81D9DE4.s
+++ b/asm/contest_link_81D9DE4.s
@@ -370,7 +370,7 @@ sub_81DA10C: @ 81DA10C
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrb r0, [r0]
bl sub_80DB09C
ldr r1, =sub_80FCF40
diff --git a/asm/credits.s b/asm/credits.s
index a9373c042..33bf413c1 100644
--- a/asm/credits.s
+++ b/asm/credits.s
@@ -3675,7 +3675,7 @@ sub_8177388: @ 8177388
bl VarGet
lsls r0, 16
lsrs r0, 16
- bl sub_8133EDC
+ bl GetStarterPokemon
lsls r0, 16
lsrs r0, 16
bl SpeciesToNationalPokedexNum
diff --git a/asm/daycare.s b/asm/daycare.s
index 5d6b09c8e..6426381f1 100644
--- a/asm/daycare.s
+++ b/asm/daycare.s
@@ -843,12 +843,12 @@ c3_080469FC: @ 8071204
b _0807124E
.pool
_0807123C:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
b _0807124E
.pool
_08071248:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x2
strh r0, [r1]
_0807124E:
@@ -877,7 +877,7 @@ _08071284:
ands r0, r2
cmp r0, 0
beq _080712B4
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
ldrb r0, [r4, 0x8]
movs r1, 0
diff --git a/asm/dewford_trend.s b/asm/dewford_trend.s
index 40df2d6a0..89f89c4e0 100644
--- a/asm/dewford_trend.s
+++ b/asm/dewford_trend.s
@@ -667,7 +667,7 @@ sub_81229C8: @ 81229C8
negs r0, r0
lsrs r4, r0, 31
_08122A0C:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r4, [r0]
pop {r4}
pop {r0}
@@ -677,7 +677,7 @@ _08122A0C:
thumb_func_start sub_8122A30
sub_8122A30: @ 8122A30
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldr r3, =0x00002e6c
diff --git a/asm/easy_chat.s b/asm/easy_chat.s
index e9565dfa9..eb20e68fa 100644
--- a/asm/easy_chat.s
+++ b/asm/easy_chat.s
@@ -1659,7 +1659,7 @@ _0811AFAC:
b _0811AFE6
.pool
_0811AFC0:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
ldr r0, =gUnknown_0203A118
ldr r0, [r0]
@@ -1709,7 +1709,7 @@ _0811B00C:
.pool
_0811B020:
bl sub_811BE9C
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl sub_811B4EC
strh r0, [r4]
bl sub_811B3E4
@@ -1860,7 +1860,7 @@ _0811B118:
b _0811B14A
.pool
_0811B134:
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl sub_811B4EC
strh r0, [r4]
bl sub_811B3E4
diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s
index fa923d94b..7ce989d94 100644
--- a/asm/field_control_avatar.s
+++ b/asm/field_control_avatar.s
@@ -184,7 +184,7 @@ sub_809C014: @ 809C014
push {r4-r6,lr}
sub sp, 0x8
adds r5, r0, 0
- ldr r0, =gScriptLastTalked
+ ldr r0, =gSpecialVar_LastTalked
movs r1, 0
strh r1, [r0]
ldr r0, =gSelectedMapObject
@@ -443,13 +443,13 @@ _0809C214:
ldr r0, =gUnknown_0823B589
cmp r4, r0
beq _0809C244
- ldr r0, =gUnknown_082766A2
+ ldr r0, =EventScript_2766A2
cmp r4, r0
beq _0809C244
- ldr r0, =gUnknown_082766A6
+ ldr r0, =EventScript_2766A6
cmp r4, r0
beq _0809C244
- ldr r0, =gUnknown_08271D92
+ ldr r0, =EventScript_271D92
cmp r4, r0
beq _0809C244
movs r0, 0x5
@@ -582,13 +582,13 @@ _0809C34C:
ble _0809C340
ldr r0, =gSelectedMapObject
strb r3, [r0]
- ldr r1, =gScriptLastTalked
+ ldr r1, =gSpecialVar_LastTalked
adds r0, r2, r3
lsls r0, 2
adds r0, r5
ldrb r0, [r0, 0x8]
strh r0, [r1]
- ldr r0, =gScriptFacing
+ ldr r0, =gSpecialVar_Facing
strh r6, [r0]
adds r0, r3, 0
bl GetFieldObjectScriptPointerByFieldObjectId
@@ -668,13 +668,13 @@ _0809C400:
_0809C40C:
ldr r0, =gSelectedMapObject
strb r4, [r0]
- ldr r1, =gScriptLastTalked
+ ldr r1, =gSpecialVar_LastTalked
adds r0, r2, r4
lsls r0, 2
adds r0, r3
ldrb r0, [r0, 0x8]
strh r0, [r1]
- ldr r0, =gScriptFacing
+ ldr r0, =gSpecialVar_Facing
strh r7, [r0]
bl InTrainerHill
cmp r0, 0x1
@@ -687,7 +687,7 @@ _0809C43C:
bl GetFieldObjectScriptPointerByFieldObjectId
_0809C442:
adds r1, r0, 0
- ldr r0, =gScriptLastTalked
+ ldr r0, =gSpecialVar_LastTalked
ldrb r0, [r0]
bl GetRamScript
adds r1, r0, 0
@@ -721,7 +721,7 @@ TryGetInvisibleMapObjectScript: @ 809C458
ldr r2, [r0, 0x8]
cmp r2, 0
bne _0809C490
- ldr r0, =gUnknown_082C8436
+ ldr r0, =EventScript_2C8436
b _0809C532
.pool
_0809C490:
@@ -778,7 +778,7 @@ _0809C4E2:
lsrs r0, 24
cmp r0, 0x1
beq _0809C4CC
- ldr r0, =gUnknown_08271CB7
+ ldr r0, =EventScript_271CB7
b _0809C532
.pool
_0809C510:
@@ -790,7 +790,7 @@ _0809C510:
lsls r0, 24
cmp r0, 0
beq _0809C4CC
- ldr r0, =gUnknown_082759F1
+ ldr r0, =EventScript_2759F1
b _0809C532
.pool
_0809C530:
@@ -816,7 +816,7 @@ TryGetMetatileBehaviorScript: @ 809C538
lsrs r0, 24
cmp r0, 0x1
bne _0809C55C
- ldr r0, =gUnknown_0827EE0B
+ ldr r0, =EventScript_27EE0B
b _0809C7E4
.pool
_0809C55C:
@@ -826,7 +826,7 @@ _0809C55C:
lsrs r0, 24
cmp r0, 0x1
bne _0809C574
- ldr r0, =gUnknown_08271D92
+ ldr r0, =EventScript_271D92
b _0809C7E4
.pool
_0809C574:
@@ -836,7 +836,7 @@ _0809C574:
lsrs r0, 24
cmp r0, 0x1
bne _0809C58C
- ldr r0, =gUnknown_081E615D
+ ldr r0, =SootopolisCity_EventScript_1E615D
b _0809C7E4
.pool
_0809C58C:
@@ -846,7 +846,7 @@ _0809C58C:
lsrs r0, 24
cmp r0, 0x1
bne _0809C5A4
- ldr r0, =gUnknown_082393F9
+ ldr r0, =SkyPillar_Outside_EventScript_2393F9
b _0809C7E4
.pool
_0809C5A4:
@@ -864,7 +864,7 @@ _0809C5B4:
lsrs r0, 24
cmp r0, 0x1
bne _0809C5CC
- ldr r0, =gUnknown_082A4BAC
+ ldr r0, =EventScript_2A4BAC
b _0809C7E4
.pool
_0809C5CC:
@@ -874,7 +874,7 @@ _0809C5CC:
lsrs r0, 24
cmp r0, 0x1
bne _0809C5E4
- ldr r0, =gUnknown_0826A22A
+ ldr r0, =Route110_TrickHouseEntrance_EventScript_26A22A
b _0809C7E4
.pool
_0809C5E4:
@@ -884,7 +884,7 @@ _0809C5E4:
lsrs r0, 24
cmp r0, 0x1
bne _0809C5FC
- ldr r0, =gUnknown_0827208F
+ ldr r0, =EventScript_27208F
b _0809C7E4
.pool
_0809C5FC:
@@ -894,7 +894,7 @@ _0809C5FC:
lsrs r0, 24
cmp r0, 0x1
bne _0809C614
- ldr r0, =gUnknown_08292DE5
+ ldr r0, =EventScript_292DE5
b _0809C7E4
.pool
_0809C614:
@@ -904,7 +904,7 @@ _0809C614:
lsrs r0, 24
cmp r0, 0x1
bne _0809C62C
- ldr r0, =gUnknown_082725CE
+ ldr r0, =EventScript_2725CE
b _0809C7E4
.pool
_0809C62C:
@@ -914,7 +914,7 @@ _0809C62C:
lsrs r0, 24
cmp r0, 0x1
bne _0809C644
- ldr r0, =gUnknown_082725D7
+ ldr r0, =EventScript_2725D7
b _0809C7E4
.pool
_0809C644:
@@ -924,7 +924,7 @@ _0809C644:
lsrs r0, 24
cmp r0, 0x1
bne _0809C65C
- ldr r0, =gUnknown_082725E0
+ ldr r0, =EventScript_2725E0
b _0809C7E4
.pool
_0809C65C:
@@ -934,7 +934,7 @@ _0809C65C:
lsrs r0, 24
cmp r0, 0x1
bne _0809C674
- ldr r0, =gUnknown_082725E9
+ ldr r0, =EventScript_2725E9
b _0809C7E4
.pool
_0809C674:
@@ -944,7 +944,7 @@ _0809C674:
lsrs r0, 24
cmp r0, 0x1
bne _0809C68C
- ldr r0, =gUnknown_082725F2
+ ldr r0, =EventScript_2725F2
b _0809C7E4
.pool
_0809C68C:
@@ -954,7 +954,7 @@ _0809C68C:
lsrs r0, 24
cmp r0, 0x1
bne _0809C6A4
- ldr r0, =gUnknown_082725FB
+ ldr r0, =EventScript_2725FB
b _0809C7E4
.pool
_0809C6A4:
@@ -964,7 +964,7 @@ _0809C6A4:
lsrs r0, 24
cmp r0, 0x1
bne _0809C6BC
- ldr r0, =gUnknown_08272604
+ ldr r0, =EventScript_272604
b _0809C7E4
.pool
_0809C6BC:
@@ -975,7 +975,7 @@ _0809C6BC:
lsrs r0, 24
cmp r0, 0x1
bne _0809C6D4
- ldr r0, =gUnknown_08277B8A
+ ldr r0, =OldaleTown_PokemonCenter_2F_EventScript_277B8A
b _0809C7E4
.pool
_0809C6D4:
@@ -997,7 +997,7 @@ _0809C6EC:
lsrs r0, 24
cmp r0, 0x1
bne _0809C704
- ldr r0, =gUnknown_0827381B
+ ldr r0, =EventScript_27381B
b _0809C7E4
.pool
_0809C704:
@@ -1007,7 +1007,7 @@ _0809C704:
lsrs r0, 24
cmp r0, 0x1
bne _0809C71C
- ldr r0, =gUnknown_082C8393
+ ldr r0, =TrainerHill_1F_EventScript_2C8393
b _0809C7E4
.pool
_0809C71C:
@@ -1125,7 +1125,7 @@ TryGetFieldMoveScript: @ 809C7EC
lsrs r0, 24
cmp r0, 0x1
bne _0809C824
- ldr r0, =gUnknown_08271EA0
+ ldr r0, =EventScript_271EA0
b _0809C862
.pool
_0809C824:
@@ -1146,11 +1146,11 @@ _0809C824:
lsrs r0, 24
cmp r0, 0x1
bne _0809C858
- ldr r0, =gUnknown_08290A49
+ ldr r0, =EventScript_290A49
b _0809C862
.pool
_0809C858:
- ldr r0, =gUnknown_08290A83
+ ldr r0, =EventScript_290A83
b _0809C862
.pool
_0809C860:
@@ -1174,7 +1174,7 @@ sub_809C868: @ 809C868
lsrs r0, 24
cmp r0, 0x2
bne _0809C894
- ldr r0, =gUnknown_08290B0F
+ ldr r0, =EventScript_290B0F
bl ScriptContext1_SetupScript
movs r0, 0x1
b _0809C896
@@ -1203,7 +1203,7 @@ sub_809C89C: @ 809C89C
lsrs r0, 24
cmp r0, 0x1
bne _0809C8D4
- ldr r0, =gUnknown_08290B5A
+ ldr r0, =EventScript_290B5A
bl ScriptContext1_SetupScript
movs r0, 0x1
b _0809C8D6
@@ -1310,7 +1310,7 @@ _0809C988:
lsls r0, 24
cmp r0, 0
beq _0809C9A4
- ldr r0, =gUnknown_08252BE8
+ ldr r0, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8
_0809C996:
bl ScriptContext1_SetupScript
movs r0, 0x1
@@ -1385,7 +1385,7 @@ _0809CA04:
lsrs r0, 24
cmp r0, 0x1
bne _0809CA48
- ldr r0, =gUnknown_082736BC
+ ldr r0, =EventScript_2736BC
bl ScriptContext1_SetupScript
b _0809CB28
.pool
@@ -1396,7 +1396,7 @@ _0809CA48:
beq _0809CA64
movs r0, 0xD
bl IncrementGameStat
- ldr r0, =gUnknown_08291FC0
+ ldr r0, =Route117_PokemonDayCare_EventScript_291FC0
bl ScriptContext1_SetupScript
b _0809CB28
.pool
@@ -1416,7 +1416,7 @@ _0809CA7C:
lsrs r0, 24
cmp r0, 0x1
bne _0809CA94
- ldr r0, =gUnknown_08238EAF
+ ldr r0, =IslandCave_EventScript_238EAF
bl ScriptContext1_SetupScript
b _0809CB28
.pool
@@ -1424,7 +1424,7 @@ _0809CA94:
bl is_tile_that_overrides_player_control
cmp r0, 0x1
bne _0809CAA8
- ldr r0, =gUnknown_081DF7BA
+ ldr r0, =MauvilleCity_EventScript_1DF7BA
bl ScriptContext1_SetupScript
b _0809CB28
.pool
@@ -1432,7 +1432,7 @@ _0809CAA8:
bl sub_8138120
cmp r0, 0x1
bne _0809CABC
- ldr r0, =gUnknown_081F49EC
+ ldr r0, =Route119_EventScript_1F49EC
bl ScriptContext1_SetupScript
b _0809CB28
.pool
@@ -1440,7 +1440,7 @@ _0809CABC:
bl sub_8138168
cmp r0, 0x1
bne _0809CAD0
- ldr r0, =gUnknown_081FA4D6
+ ldr r0, =LittlerootTown_ProfessorBirchsLab_EventScript_1FA4D6
bl ScriptContext1_SetupScript
b _0809CB28
.pool
@@ -1448,7 +1448,7 @@ _0809CAD0:
bl sub_81381B0
cmp r0, 0x1
bne _0809CAE4
- ldr r0, =gUnknown_0821307B
+ ldr r0, =RustboroCity_Gym_EventScript_21307B
bl ScriptContext1_SetupScript
b _0809CB28
.pool
@@ -1456,7 +1456,7 @@ _0809CAE4:
bl sub_81381F8
cmp r0, 0x1
bne _0809CAF8
- ldr r0, =gUnknown_08224175
+ ldr r0, =MossdeepCity_SpaceCenter_2F_EventScript_224175
bl ScriptContext1_SetupScript
b _0809CB28
.pool
@@ -1470,7 +1470,7 @@ _0809CAF8:
bl CountSSTidalStep
cmp r0, 0x1
bne _0809CB1C
- ldr r0, =gUnknown_0823C050
+ ldr r0, =SSTidalCorridor_EventScript_23C050
bl ScriptContext1_SetupScript
b _0809CB28
.pool
diff --git a/asm/field_poison.s b/asm/field_poison.s
index 652026523..83262a1a5 100644
--- a/asm/field_poison.s
+++ b/asm/field_poison.s
@@ -203,12 +203,12 @@ _080F96C0:
cmp r0, 0
beq _080F96F0
_080F96E6:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r5, [r0]
b _080F9718
.pool
_080F96F0:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
b _080F9718
@@ -224,7 +224,7 @@ _080F96FC:
b _080F9722
.pool
_080F9714:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
_080F9718:
bl EnableBothScriptContexts
diff --git a/asm/field_screen.s b/asm/field_screen.s
index 4ab8a5a53..497346f8a 100644
--- a/asm/field_screen.s
+++ b/asm/field_screen.s
@@ -10424,7 +10424,7 @@ sub_80B0534: @ 80B0534
lsls r1, 3
ldr r0, =gTasks + 0x8
adds r1, r0
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0
bne _080B0568
diff --git a/asm/fldeff_80F9BCC.s b/asm/fldeff_80F9BCC.s
index c2e2b9e7e..efdc114a2 100644
--- a/asm/fldeff_80F9BCC.s
+++ b/asm/fldeff_80F9BCC.s
@@ -563,7 +563,7 @@ _080F9FFE:
sub_80FA004: @ 80FA004
push {r4,lr}
bl sub_80E8BC8
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0x1
beq _080FA0AE
@@ -647,7 +647,7 @@ sub_80FA0DC: @ 80FA0DC
lsls r0, 24
lsrs r0, 24
str r0, [r1]
- ldr r0, =gUnknown_08275A86
+ ldr r0, =EventScript_275A86
bl ScriptContext1_SetupScript
pop {r0}
bx r0
@@ -782,7 +782,7 @@ sub_80FA1E8: @ 80FA1E8
lsls r0, 24
lsrs r0, 24
str r0, [r1]
- ldr r0, =gUnknown_08275ADF
+ ldr r0, =EventScript_275ADF
bl ScriptContext1_SetupScript
pop {r0}
bx r0
@@ -955,7 +955,7 @@ sub_80FA34C: @ 80FA34C
lsls r0, 24
lsrs r0, 24
str r0, [r1]
- ldr r0, =gUnknown_08275B38
+ ldr r0, =EventScript_275B38
bl ScriptContext1_SetupScript
pop {r0}
bx r0
@@ -2063,7 +2063,7 @@ _080FACC2:
ldr r0, =gStringVar2
ldr r1, =gText_Gold
bl StringCopy
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
ldr r0, =0x00004054
@@ -2087,7 +2087,7 @@ _080FAD14:
ldr r0, =gStringVar2
ldr r1, =gText_Silver
bl StringCopy
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
ldr r0, =0x00004054
@@ -2103,12 +2103,12 @@ _080FAD14:
b _080FAD8A
.pool
_080FAD60:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
b _080FAD70
.pool
_080FAD6C:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x2
_080FAD70:
strh r0, [r1]
@@ -2131,7 +2131,7 @@ _080FAD8A:
b _080FADCE
.pool
_080FADA4:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x3
strh r0, [r1]
ldr r0, =0x00004054
diff --git a/asm/fldeff_cut.s b/asm/fldeff_cut.s
index db1445445..71137b705 100755
--- a/asm/fldeff_cut.s
+++ b/asm/fldeff_cut.s
@@ -425,7 +425,7 @@ sub_80D3A9C: @ 80D3A9C
lsls r0, 24
lsrs r0, 24
str r0, [r1]
- ldr r0, =gUnknown_08290705
+ ldr r0, =Route103_EventScript_290705
bl ScriptContext1_SetupScript
pop {r0}
bx r0
@@ -1323,7 +1323,7 @@ _080D41D4:
lsrs r0, 24
cmp r0, 0x1
bne _080D422A
- ldr r0, =gUnknown_08267EDB
+ ldr r0, =FarawayIsland_Interior_EventScript_267EDB
bl ScriptContext1_SetupScript
_080D422A:
pop {r4-r6}
diff --git a/asm/fldeff_strength.s b/asm/fldeff_strength.s
index 6fc839e2d..53a088aa3 100644
--- a/asm/fldeff_strength.s
+++ b/asm/fldeff_strength.s
@@ -17,7 +17,7 @@ hm_prepare_rocksmash: @ 8145DC4
movs r0, 0
b _08145DF2
_08145DD8:
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl GetCursorSelectionMonId
lsls r0, 24
lsrs r0, 24
@@ -44,7 +44,7 @@ sub_8145E0C: @ 8145E0C
lsls r0, 24
lsrs r0, 24
str r0, [r1]
- ldr r0, =gUnknown_082908FD
+ ldr r0, =FieryPath_EventScript_2908FD
bl ScriptContext1_SetupScript
pop {r0}
bx r0
diff --git a/asm/fldeff_sweetscent.s b/asm/fldeff_sweetscent.s
index 8414ef62e..eea0df12f 100644
--- a/asm/fldeff_sweetscent.s
+++ b/asm/fldeff_sweetscent.s
@@ -205,7 +205,7 @@ sub_815A090: @ 815A090
lsls r2, 1
bl CpuFastSet
bl sub_80AC3E4
- ldr r0, =gUnknown_08290CAE
+ ldr r0, =EventScript_290CAE
bl ScriptContext1_SetupScript
adds r0, r4, 0
bl DestroyTask
diff --git a/asm/international_string_util.s b/asm/international_string_util.s
index 817a1d5e4..08e435249 100755
--- a/asm/international_string_util.s
+++ b/asm/international_string_util.s
@@ -52,8 +52,8 @@ _081DB462:
bx r1
thumb_func_end sub_81DB41C
- thumb_func_start sub_81DB468
-sub_81DB468: @ 81DB468
+ thumb_func_start CopyMonCategoryText
+CopyMonCategoryText: @ 81DB468
push {lr}
adds r2, r0, 0
adds r0, r1, 0
@@ -70,7 +70,7 @@ sub_81DB468: @ 81DB468
pop {r0}
bx r0
.pool
- thumb_func_end sub_81DB468
+ thumb_func_end CopyMonCategoryText
thumb_func_start sub_81DB494
sub_81DB494: @ 81DB494
diff --git a/asm/item_menu.s b/asm/item_menu.s
index 06c0a86ed..a868b2672 100755
--- a/asm/item_menu.s
+++ b/asm/item_menu.s
@@ -121,7 +121,7 @@ sub_81AAC28: @ 81AAC28
ldr r0, =gSpecialVar_0x8005
movs r1, 0
strh r1, [r0]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
pop {r0}
bx r0
@@ -135,7 +135,7 @@ sub_81AAC50: @ 81AAC50
movs r0, 0x7
movs r1, 0x5
bl GoToBagMenu
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
pop {r0}
@@ -150,7 +150,7 @@ sub_81AAC70: @ 81AAC70
movs r0, 0x8
movs r1, 0x5
bl GoToBagMenu
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
pop {r0}
@@ -2181,7 +2181,7 @@ _081ABE32:
_081ABE40:
movs r0, 0x5
bl PlaySE
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
mov r1, r10
strh r1, [r0]
ldr r0, =gTasks + 0x8
@@ -2215,7 +2215,7 @@ _081ABE68:
lsrs r0, 24
adds r1, r4, 0
bl BagGetItemIdByPocketPosition
- ldr r1, =gScriptItemId
+ ldr r1, =gSpecialVar_ItemId
strh r0, [r1]
ldr r1, =gUnknown_08614054
ldrb r0, [r5, 0x4]
@@ -3125,7 +3125,7 @@ _081AC668:
.4byte _081AC70C
.4byte _081AC690
_081AC690:
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl ItemId_GetBattleUsage
lsls r0, 24
@@ -3170,7 +3170,7 @@ _081AC6E8:
b _081ACA10
.pool
_081AC70C:
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r0, [r4]
bl itemid_is_unique
lsls r0, 24
@@ -3205,7 +3205,7 @@ _081AC748:
b _081ACA10
.pool
_081AC76C:
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r0, [r4]
bl itemid_is_unique
lsls r0, 24
@@ -3240,7 +3240,7 @@ _081AC7A8:
b _081ACA10
.pool
_081AC7CC:
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r0, [r4]
bl itemid_is_unique
lsls r0, 24
@@ -3288,7 +3288,7 @@ _081AC840:
ldrb r0, [r0, 0x5]
cmp r0, 0x4
beq _081AC856
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl sub_8122148
lsls r0, 24
@@ -3358,7 +3358,7 @@ _081AC8D4:
ldr r1, =gUnknown_0861402C
movs r2, 0x4
bl memcpy
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl itemid_is_mail
lsls r0, 24
@@ -3396,7 +3396,7 @@ _081AC92C:
ldr r0, [r0]
ldr r1, =0x00000496
adds r0, r1
- ldr r2, =gScriptItemId
+ ldr r2, =gSpecialVar_ItemId
ldrh r0, [r0]
ldrh r1, [r2]
cmp r0, r1
@@ -3472,7 +3472,7 @@ _081ACA12:
bne _081ACA50
movs r0, 0x1
bl ClearWindowTilemap
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl PrintTMHMMoveData
movs r0, 0x3
@@ -3484,7 +3484,7 @@ _081ACA12:
b _081ACA86
.pool
_081ACA50:
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
@@ -3985,7 +3985,7 @@ ItemMenu_UseOutOfBattle: @ 81ACE7C
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r5, =gScriptItemId
+ ldr r5, =gSpecialVar_ItemId
ldrh r0, [r5]
bl ItemId_GetFieldFunc
cmp r0, 0
@@ -4015,7 +4015,7 @@ _081ACEB8:
ldrb r0, [r0, 0x5]
cmp r0, 0x3
beq _081ACEE8
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl ItemId_GetFieldFunc
adds r1, r0, 0
@@ -4055,7 +4055,7 @@ ItemMenu_Toss: @ 81ACEF4
b _081ACF6A
.pool
_081ACF24:
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
@@ -4105,7 +4105,7 @@ BagMenuConfirmToss: @ 81ACF88
lsls r4, 3
ldr r0, =gTasks + 0x8
adds r4, r0
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
@@ -4242,7 +4242,7 @@ BagMenuActuallyToss: @ 81AD0CC
lsls r4, 3
ldr r5, =gTasks + 0x8
adds r6, r4, r5
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
@@ -4312,7 +4312,7 @@ Task_ActuallyToss: @ 81AD150
beq _081AD1CE
movs r0, 0x5
bl PlaySE
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldrh r1, [r5, 0x10]
bl RemoveBagItem
@@ -4369,7 +4369,7 @@ ItemMenu_Register: @ 81AD1EC
ldr r0, [r0]
ldr r2, =0x00000496
adds r1, r0, r2
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r2, [r0]
ldrh r0, [r1]
cmp r0, r2
@@ -4412,7 +4412,7 @@ ItemMenu_Give: @ 81AD278
lsrs r4, r0, 24
adds r6, r4, 0
bl bag_menu_remove_some_window
- ldr r5, =gScriptItemId
+ ldr r5, =gSpecialVar_ItemId
ldrh r0, [r5]
bl itemid_80BF6D8_mail_related
lsls r0, 24
@@ -4476,7 +4476,7 @@ bag_menu_print_cant_be_held_msg: @ 81AD30C
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
@@ -4567,7 +4567,7 @@ ItemMenu_UseInBattle: @ 81AD3DC
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r0, [r4]
bl ItemId_GetBattleFunc
cmp r0, 0
@@ -4601,7 +4601,7 @@ item_menu_type_2: @ 81AD41C
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r0, [r4]
bl itemid_80BF6D8_mail_related
lsls r0, 24
@@ -4662,7 +4662,7 @@ item_menu_type_b: @ 81AD4B4
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r5, =gScriptItemId
+ ldr r5, =gSpecialVar_ItemId
ldrh r0, [r5]
bl itemid_is_mail
lsls r0, 24
@@ -4751,7 +4751,7 @@ _081AD550:
bl player_bitmagic
bl sub_808B864
bl sub_808BCF4
- ldr r2, =gScriptItemId
+ ldr r2, =gSpecialVar_ItemId
ldr r0, [r4]
adds r0, r5
ldrh r1, [r0]
@@ -4775,7 +4775,7 @@ _081AD5C4:
adds r0, r5
strh r7, [r0]
_081AD5CA:
- ldr r0, =gUnknown_082736B3
+ ldr r0, =EventScript_2736B3
bl ScriptContext1_SetupScript
_081AD5D0:
movs r0, 0x1
@@ -4798,7 +4798,7 @@ display_sell_item_ask_str: @ 81AD5DC
lsls r0, 3
ldr r1, =gTasks + 0x8
adds r4, r0, r1
- ldr r6, =gScriptItemId
+ ldr r6, =gSpecialVar_ItemId
ldrh r0, [r6]
bl itemid_get_market_price
lsls r0, 16
@@ -4861,7 +4861,7 @@ sub_81AD680: @ 81AD680
ldr r0, =gTasks + 0x8
adds r4, r0
ldr r6, =gStringVar1
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl itemid_get_market_price
lsls r0, 16
@@ -4944,7 +4944,7 @@ sub_81AD730: @ 81AD730
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl itemid_get_market_price
lsls r0, 16
@@ -4996,7 +4996,7 @@ sub_81AD794: @ 81AD794
ldrb r4, [r0]
movs r2, 0x10
ldrsh r5, [r6, r2]
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl itemid_get_market_price
lsls r0, 16
@@ -5061,7 +5061,7 @@ sub_81AD84C: @ 81AD84C
lsls r4, 3
ldr r0, =gTasks + 0x8
adds r4, r0
- ldr r6, =gScriptItemId
+ ldr r6, =gSpecialVar_ItemId
ldrh r0, [r6]
ldr r1, =gStringVar2
bl CopyItemName
@@ -5122,7 +5122,7 @@ sub_81AD8C8: @ 81AD8C8
adds r5, r0
movs r0, 0x5F
bl PlaySE
- ldr r2, =gScriptItemId
+ ldr r2, =gSpecialVar_ItemId
mov r8, r2
ldrh r0, [r2]
mov r3, r10
@@ -5241,7 +5241,7 @@ display_deposit_item_ask_str: @ 81AD9EC
b _081ADA5E
.pool
_081ADA18:
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
@@ -5366,7 +5366,7 @@ sub_81ADB14: @ 81ADB14
movs r0, 0x1
movs r1, 0
bl FillWindowPixelBuffer
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r0, [r4]
bl itemid_is_unique
lsls r0, 24
@@ -5690,7 +5690,7 @@ _081ADDEC:
ldrb r0, [r4]
movs r1, 0x2
bl bag_menu_print_cursor_
- ldr r1, =gScriptItemId
+ ldr r1, =gSpecialVar_ItemId
movs r0, 0x4
strh r0, [r1]
adds r0, r5, 0
@@ -5726,10 +5726,10 @@ unknown_ItemMenu_Show: @ 81ADE38
lsls r4, 24
lsrs r4, 24
ldr r1, =gSpecialVar_0x8005
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
strh r0, [r1]
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
bl bag_menu_remove_some_window
@@ -5760,11 +5760,11 @@ unknown_ItemMenu_Give2: @ 81ADE8C
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
movs r1, 0x1
bl RemoveBagItem
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
bl bag_menu_remove_some_window
@@ -5795,7 +5795,7 @@ unknown_ItemMenu_Confirm2: @ 81ADEDC
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
bl bag_menu_remove_some_window
diff --git a/asm/item_use.s b/asm/item_use.s
index d3c724166..172080b16 100644
--- a/asm/item_use.s
+++ b/asm/item_use.s
@@ -11,7 +11,7 @@ SetUpItemUseCallback: @ 80FD060
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r1, =gScriptItemId
+ ldr r1, =gSpecialVar_ItemId
ldrh r0, [r1]
cmp r0, 0xAF
bne _080FD084
@@ -260,7 +260,7 @@ sub_80FD254: @ 80FD254
push {lr}
sub sp, 0x24
mov r1, sp
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
strh r0, [r1, 0x20]
ldr r1, =bag_menu_mail_related
@@ -381,7 +381,7 @@ ItemUseOnFieldCB_Bike: @ 80FD358
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl ItemId_GetSecondaryId
lsls r0, 24
@@ -515,7 +515,7 @@ ItemUseOnFieldCB_Rod: @ 80FD468
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl ItemId_GetSecondaryId
lsls r0, 24
@@ -1642,7 +1642,7 @@ sub_80FDD10: @ 80FDD10
b _080FDD68
.pool
_080FDD58:
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl ItemId_GetFieldFunc
adds r1, r0, 0
@@ -1661,12 +1661,12 @@ sub_80FDD74: @ 80FDD74
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
movs r1, 0x1
bl RemoveBagItem
bl ScriptContext2_Enable
- ldr r0, =gUnknown_08274482
+ ldr r0, =Route102_EventScript_274482
bl ScriptContext1_SetupScript
adds r0, r4, 0
bl DestroyTask
@@ -1728,7 +1728,7 @@ sub_80FDE08: @ 80FDE08
lsls r4, 24
lsrs r4, 24
bl ScriptContext2_Enable
- ldr r0, =gUnknown_082744C0
+ ldr r0, =Route102_EventScript_2744C0
bl ScriptContext1_SetupScript
adds r0, r4, 0
bl DestroyTask
@@ -1787,7 +1787,7 @@ sub_80FDE7C: @ 80FDE7C
lsls r4, 24
lsrs r4, 24
bl ScriptContext2_Enable
- ldr r0, =gUnknown_08242CFC
+ ldr r0, =BattleFrontier_OutsideEast_EventScript_242CFC
bl ScriptContext1_SetupScript
adds r0, r4, 0
bl DestroyTask
@@ -1886,7 +1886,7 @@ ItemUseOutOfBattle_TMHM: @ 80FDF48
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r1, [r0]
movs r0, 0xA9
lsls r0, 1
@@ -1945,7 +1945,7 @@ task08_0809AD8C: @ 80FDFBC
cmp r0, 0
beq _080FE000
ldr r4, =gStringVar1
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl ItemIdToBattleMoveId
lsls r0, 16
@@ -2002,7 +2002,7 @@ sub_80FE03C: @ 80FE03C
thumb_func_start sub_80FE058
sub_80FE058: @ 80FE058
push {r4,lr}
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r0, [r4]
movs r1, 0x1
bl RemoveBagItem
@@ -2125,7 +2125,7 @@ sub_80FE164: @ 80FE164
cmp r0, 0
bne _080FE1C2
ldr r4, =0x00004021
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl ItemId_GetHoldEffectParam
adds r1, r0, 0
@@ -2205,7 +2205,7 @@ ItemUseOutOfBattle_BlackWhiteFlute: @ 80FE234
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r0, [r4]
ldr r1, =gStringVar2
bl CopyItemName
@@ -2361,7 +2361,7 @@ ItemUseInBattle_PokeBall: @ 80FE394
lsls r0, 24
cmp r0, 0
bne _080FE3D0
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
movs r1, 0x1
bl RemoveBagItem
@@ -2450,7 +2450,7 @@ sub_80FE440: @ 80FE440
ble _080FE4AC
movs r0, 0x1
bl PlaySE
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r0, [r4]
movs r1, 0x1
bl RemoveBagItem
@@ -2496,7 +2496,7 @@ ItemUseInBattle_StatIncrease: @ 80FE4B8
muls r0, r2
ldr r1, =gPlayerParty
adds r0, r1
- ldr r1, =gScriptItemId
+ ldr r1, =gSpecialVar_ItemId
ldrh r1, [r1]
lsls r2, 24
lsrs r2, 24
@@ -2664,7 +2664,7 @@ ItemUseOutOfBattle_EnigmaBerry: @ 80FE650
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl GetItemEffectType
lsls r0, 24
@@ -2785,7 +2785,7 @@ ItemUseInBattle_EnigmaBerry: @ 80FE77C
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl GetItemEffectType
lsls r0, 24
diff --git a/asm/link.s b/asm/link.s
index ba136f65c..d2dc05630 100644
--- a/asm/link.s
+++ b/asm/link.s
@@ -1232,7 +1232,7 @@ _08009E8C:
_08009EA8:
ldr r0, =gUnknown_03003110
strh r2, [r0]
- ldr r1, =gScriptItemId
+ ldr r1, =gSpecialVar_ItemId
ldrh r1, [r1]
b _08009F04
.pool
@@ -18044,7 +18044,7 @@ BerryBlenderLinkBecomeLeader: @ 801273C
movs r0, 0
strb r0, [r1, 0xC]
strb r0, [r1, 0xD]
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
strh r0, [r1]
pop {r0}
bx r0
@@ -18891,7 +18891,7 @@ _08012EE6:
bl EnableBothScriptContexts
adds r0, r4, 0
bl DestroyTask
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x5
strh r0, [r1]
b _08012F50
@@ -18900,7 +18900,7 @@ _08012EFC:
bl EnableBothScriptContexts
adds r0, r4, 0
bl DestroyTask
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x8
strh r0, [r1]
b _08012F50
@@ -19569,7 +19569,7 @@ BerryBlenderLinkJoinGroup: @ 80134A4
movs r0, 0
strb r0, [r1, 0x8]
strb r0, [r1, 0x9]
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
strh r0, [r1]
pop {r0}
bx r0
@@ -20194,13 +20194,13 @@ _08013AE4:
lsls r0, 24
cmp r0, 0
beq _08013B82
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
movs r1, 0x6
b _08013B58
.pool
_08013B14:
bl sub_800E084
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
movs r1, 0x5
b _08013B58
.pool
@@ -20226,7 +20226,7 @@ _08013B4A:
lsls r0, 24
cmp r0, 0
beq _08013B82
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
movs r1, 0x8
_08013B58:
strh r1, [r0]
@@ -21544,7 +21544,7 @@ _0801474C:
_08014764:
adds r0, r4, 0
bl DestroyTask
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
ldr r0, =gUnknown_02022C2C
@@ -21600,7 +21600,7 @@ _080147CC:
.4byte _08014992
.4byte _0801499C
_080147F0:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
ldr r0, =gUnknown_02022C2C
@@ -21744,7 +21744,7 @@ _0801494A:
bl sub_80B2AF4
cmp r0, 0
beq _08014980
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
movs r1, 0xB
strh r1, [r0]
movs r0, 0x7
@@ -21835,7 +21835,7 @@ sub_8014A00: @ 8014A00
strb r2, [r1, 0xC]
strb r2, [r1, 0xD]
strb r4, [r1, 0x18]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r2, [r0]
pop {r4}
pop {r0}
@@ -22295,7 +22295,7 @@ _08014E4E:
beq _08014EF2
adds r0, r4, 0
bl DestroyTask
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x5
strh r0, [r1]
b _08014EF2
@@ -22384,7 +22384,7 @@ sub_8014EFC: @ 8014EFC
strb r2, [r1, 0x9]
subs r4, 0x15
strb r4, [r1, 0x12]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r2, [r0]
pop {r4}
pop {r0}
@@ -22725,7 +22725,7 @@ _0801526A:
adds r0, r6, 0
bl DestroyTask
bl sub_800EDD4
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x5
strh r0, [r1]
b _080152A0
@@ -22773,7 +22773,7 @@ sub_80152A8: @ 80152A8
strb r2, [r1, 0x9]
subs r4, 0x15
strb r4, [r1, 0x12]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r2, [r0]
pop {r4}
pop {r0}
@@ -23097,7 +23097,7 @@ _080155C2:
adds r0, r4, 0
bl DestroyTask
bl sub_800EDD4
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x5
strh r0, [r1]
b _08015604
@@ -23141,7 +23141,7 @@ UnionRoomSpecial: @ 801560C
strb r1, [r0, 0x16]
strh r1, [r0, 0x10]
strh r1, [r0, 0x12]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
movs r0, 0xD0
movs r1, 0x1
@@ -23384,7 +23384,7 @@ _08015878:
ldr r0, [r6, 0xC]
movs r1, 0x4
bl sub_80175EC
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
movs r0, 0x3
@@ -23486,7 +23486,7 @@ _080159A0:
movs r0, 0x4
bl _08016876
_080159A6:
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
ldrh r0, [r4]
cmp r0, 0
beq _08015A0A
@@ -25069,7 +25069,7 @@ var_800D_set_xB: @ 8016884
bl InUnionRoom
cmp r0, 0x1
bne _08016894
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0xB
strh r0, [r1]
_08016894:
@@ -30491,7 +30491,7 @@ _0801940C:
b _08019922
.pool
_0801942C:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0x5
beq _08019436
@@ -30992,7 +30992,7 @@ _080197F8:
b _08019922
.pool
_08019810:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0x5
beq _0801981A
@@ -39452,7 +39452,7 @@ _0801DC10:
thumb_func_start sub_801DC20
sub_801DC20: @ 801DC20
push {r4-r6,lr}
- ldr r6, =gScriptResult
+ ldr r6, =gSpecialVar_Result
bl sub_801B044
adds r4, r0, 0
bl IsMysteryEventEnabled
@@ -45605,7 +45605,7 @@ _08020D74:
sub_8020D8C: @ 8020D8C
push {r4,lr}
sub sp, 0xC
- ldr r1, =gScriptItemId
+ ldr r1, =gSpecialVar_ItemId
ldrh r0, [r1]
subs r0, 0x85
lsls r0, 16
@@ -45626,7 +45626,7 @@ _08020DB0:
ldrb r0, [r2, 0x8]
lsls r0, 5
adds r0, r2, r0
- ldr r1, =gScriptItemId
+ ldr r1, =gSpecialVar_ItemId
ldrh r1, [r1]
subs r1, 0x85
adds r0, 0xA4
@@ -59190,7 +59190,7 @@ sub_8027A48: @ 8027A48
sub_8027A5C: @ 8027A5C
push {r4-r6,lr}
movs r5, 0
- ldr r6, =gScriptResult
+ ldr r6, =gSpecialVar_Result
_08027A62:
movs r0, 0x64
adds r1, r5, 0
@@ -59215,7 +59215,7 @@ _08027A94:
adds r5, 0x1
cmp r5, 0x5
ble _08027A62
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
_08027AA0:
@@ -68862,7 +68862,7 @@ _0802C924:
bl sub_802C908
cmp r0, 0
beq _0802C95C
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
b _0802C966
.pool
@@ -68870,7 +68870,7 @@ _0802C95C:
adds r5, 0x1
cmp r5, 0x5
ble _0802C924
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
_0802C966:
strh r0, [r1]
diff --git a/asm/macros.inc b/asm/macros.inc
index 135cfac61..0c6644002 100644
--- a/asm/macros.inc
+++ b/asm/macros.inc
@@ -1,5 +1,6 @@
.include "asm/macros/asm.inc"
.include "asm/macros/function.inc"
+ .include "asm/macros/movement.inc"
.include "asm/macros/window.inc"
.include "asm/macros/pokemon_data.inc"
.include "asm/macros/ec.inc"
diff --git a/asm/macros/event.s b/asm/macros/event.inc
index b5fefb925..69cdb38e5 100644
--- a/asm/macros/event.s
+++ b/asm/macros/event.inc
@@ -1,20 +1,20 @@
@ Does nothing.
- .macro snop
+ .macro nop
.byte 0x00
.endm
@ Does nothing.
- .macro snop1
+ .macro nop1
.byte 0x01
.endm
@ Terminates script execution.
- .macro end
+ .macro end
.byte 0x02
.endm
@ Jumps back to after the last-executed call statement, and continues script execution from there.
- .macro return
+ .macro return
.byte 0x03
.endm
@@ -25,27 +25,27 @@
.endm
@ Jumps to destination and continues script execution from there.
- .macro jump destination
+ .macro goto destination
.byte 0x05
.4byte \destination
.endm
@ If the result of the last comparison matches condition (see Comparison operators), jumps to destination and continues script execution from there.
- .macro jumpif condition, destination
+ .macro goto_if condition, destination
.byte 0x06
.byte \condition
.4byte \destination
.endm
@ If the result of the last comparison matches condition (see Comparison operators), calls destination.
- .macro callif condition, destination
+ .macro call_if condition, destination
.byte 0x07
.byte \condition
.4byte \destination
.endm
@ Jumps to the standard function at index function.
- .macro jumpstd function
+ .macro gotostd function
.byte 0x08
.byte \function
.endm
@@ -57,58 +57,58 @@
.endm
@ If the result of the last comparison matches condition (see Comparison operators), jumps to the standard function at index function.
- .macro jumpstdif condition, function
+ .macro gotostd_if condition, function
.byte 0x0a
.byte \condition
.byte \function
.endm
@ If the result of the last comparison matches condition (see Comparison operators), calls the standard function at index function.
- .macro callstdif condition, function
+ .macro callstd_if condition, function
.byte 0x0b
.byte \condition
.byte \function
.endm
@ Executes a script stored in a default RAM location.
- .macro jumpram
+ .macro gotoram
.byte 0x0c
.endm
@ Terminates script execution and "resets the script RAM".
- .macro die
+ .macro killscript
.byte 0x0d
.endm
- @ Pads the specified value to a dword, and then writes that dword to a predefined address (0x0203AAA8).
- .macro setbyte value
+ @ Sets some status related to Mystery Event.
+ .macro setmysteryeventstatus value
.byte 0x0e
.byte \value
.endm
@ Sets the specified script bank to value.
- .macro loadptr destination, value
+ .macro loadword destination, value
.byte 0x0f
.byte \destination
.4byte \value
.endm
@ Sets the specified script bank to value.
- .macro setbufferbyte destination, value
+ .macro loadbyte destination, value
.byte 0x10
.byte \destination
.byte \value
.endm
@ Sets the byte at offset to value.
- .macro writebytetooffset value, offset
+ .macro writebytetoaddr value, offset
.byte 0x11
.byte \value
.4byte \offset
.endm
@ Copies the byte value at source into the specified script bank.
- .macro loadbytefrompointer destination, source
+ .macro loadbytefromaddr destination, source
.byte 0x12
.byte \destination
.4byte \source
@@ -122,7 +122,7 @@
.endm
@ Copies the contents of bank source into bank destination.
- .macro copybuffers destination, source
+ .macro copylocal destination, source
.byte 0x14
.byte \destination
.byte \source
@@ -171,93 +171,93 @@
.endm
@ Compares the values of script banks a and b, after forcing the values to bytes.
- .macro comparebuffers byte1, byte2
+ .macro compare_local_to_local byte1, byte2
.byte 0x1b
.byte \byte1
.byte \byte2
.endm
@ Compares the least-significant byte of the value of script bank a to a fixed byte value (b).
- .macro comparebuffertobyte a, b
+ .macro compare_local_to_value a, b
.byte 0x1c
.byte \a
.byte \b
.endm
@ Compares the least-significant byte of the value of script bank a to the byte located at offset b.
- .macro comparebuffertoptrbyte a, b
+ .macro compare_local_to_addr a, b
.byte 0x1d
.byte \a
.4byte \b
.endm
@ Compares the byte located at offset a to the least-significant byte of the value of script bank b.
- .macro compareptrbytetobuffer a, b
+ .macro compare_addr_to_local a, b
.byte 0x1e
.4byte \a
.byte \b
.endm
@ Compares the byte located at offset a to a fixed byte value (b).
- .macro compareptrbytetobyte a, b
+ .macro compare_addr_to_value a, b
.byte 0x1f
.4byte \a
.byte \b
.endm
@ Compares the byte located at offset a to the byte located at offset b.
- .macro compareptrbytes a, b
+ .macro compare_addr_to_addr a, b
.byte 0x20
.4byte \a
.4byte \b
.endm
- @ Compares the value of a to a fixed word value (b).
- .macro compare a, b
+ @ Compares the value of `var` to a fixed word value (b).
+ .macro compare_var_to_value var, value
.byte 0x21
- .2byte \a
- .2byte \b
+ .2byte \var
+ .2byte \value
.endm
- @ Compares the value of a to the value of b.
- .macro comparevars a, b
+ @ Compares the value of `var1` to the value of `var2`.
+ .macro compare_var_to_var var1, var2
.byte 0x22
- .2byte \a
- .2byte \b
+ .2byte \var1
+ .2byte \var2
.endm
- @ Calls the ASM routine stored at code. Script execution is blocked until the ASM returns (bx lr, mov pc, lr, etc.). Remember to add 1 to the offset when calling THUMB code.
- .macro callasm code
+ @ Calls the native C function stored at `func`.
+ .macro callnative func
.byte 0x23
- .4byte \code
+ .4byte \func
.endm
- @ Replaces a pointer in the script engine RAM with asm_pointer.
- .macro jumpasm asm_pointer
+ @ Replaces the script with the function stored at `func`. Execution returns to the bytecode script when func returns TRUE.
+ .macro gotonative func
.byte 0x24
- .4byte \asm_pointer
+ .4byte \func
.endm
- @ Calls a special function; that is, a piece of ASM code designed for use by scripts and listed in a table of pointers.
+ @ Calls a special function; that is, a function designed for use by scripts and listed in a table of pointers.
.macro special function
.byte 0x25
.2byte SPECIAL_\function
.endm
@ Calls a special function. That function's output (if any) will be written to the variable you specify.
- .macro specialval output, function
+ .macro specialvar output, function
.byte 0x26
.2byte \output
.2byte SPECIAL_\function
.endm
@ Blocks script execution until a command or ASM code manually unblocks it. Generally used with specific commands and specials. If this command runs, and a subsequent command or piece of ASM does not unblock state, the script will remain blocked indefinitely (essentially a hang).
- .macro waitstate
+ .macro waitstate
.byte 0x27
.endm
@ Blocks script execution for time (frames? milliseconds?).
- .macro pause time
+ .macro delay time
.byte 0x28
.2byte \time
.endm
@@ -280,134 +280,157 @@
.2byte \a
.endm
- @ In FireRed, this command is a nop.
- .macro compareflags
+ @ Initializes the RTC`s local time offset to the given hour and minute. In FireRed, this command is a nop.
+ .macro initclock hour, minute
.byte 0x2c
+ .2byte \hour
+ .2byte \minute
.endm
- @ In FireRed, this command is a nop.
- .macro checkdailyflags
+ @ Runs time based events. In FireRed, this command is a nop.
+ .macro dodailyevents
.byte 0x2d
.endm
- @ Resets the values of variables 0x8000, 0x8001, and 0x8002. Related to RTC in RSE?
- .macro resetvars
+ @ Sets the values of variables 0x8000, 0x8001, and 0x8002 to the current hour, minute, and second. In FRLG, this command sets those variables to zero.
+ .macro gettime
.byte 0x2e
.endm
@ Plays the specified (sound_number) sound. Only one sound may play at a time, with newer ones interrupting older ones.
- .macro playsfx sound_number
+ .macro playse sound_number
.byte 0x2f
.2byte \sound_number
.endm
- @ Blocks script execution until the currently-playing sound (triggered by sound) finishes playing.
- .macro checksound
+ @ Blocks script execution until the currently-playing sound (triggered by playse) finishes playing.
+ .macro waitse
.byte 0x30
.endm
@ Plays the specified (fanfare_number) fanfare.
- .macro fanfare fanfare_number
+ .macro playfanfare fanfare_number
.byte 0x31
.2byte \fanfare_number
.endm
@ Blocks script execution until all currently-playing fanfares finish.
- .macro waitfanfare
+ .macro waitfanfare
.byte 0x32
.endm
@ Plays the specified (song_number) song. The byte is apparently supposed to be 0x00.
- .macro playmusic song_number, unknown
+ .macro playbgm song_number, unknown
.byte 0x33
.2byte \song_number
.byte \unknown
.endm
- @ Plays the specified (song_number) song.
- .macro playmusicbattle song_number
+ @ Saves the specified (song_number) song to be played later.
+ .macro savebgm song_number
.byte 0x34
.2byte \song_number
.endm
@ Crossfades the currently-playing song into the map's default song.
- .macro fadedefault
+ .macro fadedefaultbgm
.byte 0x35
.endm
@ Crossfades the currently-playng song into the specified (song_number) song.
- .macro fademusic song_number
+ .macro fadenewbgm song_number
.byte 0x36
.2byte \song_number
.endm
@ Fades out the currently-playing song.
- .macro fadeout speed
+ .macro fadeoutbgm speed
.byte 0x37
.byte \speed
.endm
- @ Fades the currently-playing song back in.
- .macro fadein speed
+ @ Fades the previously-playing song back in.
+ .macro fadeinbgm speed
.byte 0x38
.byte \speed
.endm
@ Sends the player to Warp warp on Map bank.map. If the specified warp is 0xFF, then the player will instead be sent to (X, Y) on the map.
- .macro warp bank, map, warp, X, Y
+ .macro warp map, warp, X, Y
.byte 0x39
- .byte \bank
- .byte \map
+ map \map
.byte \warp
.2byte \X
.2byte \Y
.endm
@ Clone of warp that does not play a sound effect.
- .macro warpmuted
+ .macro warpsilent map, warp, X, Y
.byte 0x3a
+ map \map
+ .byte \warp
+ .2byte \X
+ .2byte \Y
.endm
- @ Clone of warp that uses "a walking effect".
- .macro warpwalk
+ @ Clone of warp that plays a door opening animation before stepping upwards into it.
+ .macro warpdoor map, warp, X, Y
.byte 0x3b
+ map \map
+ .byte \warp
+ .2byte \X
+ .2byte \Y
.endm
@ Warps the player to another map using a hole animation.
- .macro warphole bank, map
+ .macro warphole map
.byte 0x3c
- .byte \bank
- .byte \map
+ map \map
.endm
- @ Clone of warp that uses a teleport effect. It is apparently only used in R/S/E.[source]
- .macro warpteleport
+ @ Clone of warp that uses a teleport effect. It is apparently only used in R/S/E.
+ .macro warpteleport map, warp, X, Y
.byte 0x3d
+ map \map
+ .byte \warp
+ .2byte \X
+ .2byte \Y
.endm
- @ Clone of warp. Used by an (unused?) Safari Zone script to return the player to the gatehouse and end the Safari Game.
- .macro warp3
+ @ Sets the warp destination to be used later.
+ .macro setwarp map, warp, X, Y
.byte 0x3e
+ map \map
+ .byte \warp
+ .2byte \X
+ .2byte \Y
.endm
- @ Sets a default warp place. If a warp tries to send the player to Warp 127 on Map 127.127, they will instead be sent here. Useful when a map has warps that need to go to script-controlled locations (i.e. elevators).
- .macro warpplace bank, map, warp, X, Y
+ @ Sets the warp destination that a warp to Warp 127 on Map 127.127 will connect to. Useful when a map has warps that need to go to script-controlled locations (i.e. elevators).
+ .macro setdynamicwarp map, warp, X, Y
.byte 0x3f
- .byte \bank
- .byte \map
+ map \map
.byte \warp
.2byte \X
.2byte \Y
.endm
- @ Clone of warp3, except that this writes data to different offsets...
- .macro warp4
+ @ Sets the destination that diving or emerging from a dive will take the player to.
+ .macro setdivewarp map, warp, X, Y
.byte 0x40
+ map \map
+ .byte \warp
+ .2byte \X
+ .2byte \Y
.endm
- @ Clone of warp3, except that this writes data to different offsets...
- .macro warp5
+ @ Sets the destination that falling into a hole will take the player to.
+ .macro setholewarp map, warp, X, Y
.byte 0x41
+ map \map
+ .byte \warp
+ .2byte \X
+ .2byte \Y
.endm
@ Retrieves the player's zero-indexed X- and Y-coordinates in the map, and stores them in the specified variables.
@@ -417,20 +440,20 @@
.2byte \Y
.endm
- @ Retrieves the number of Pokmon in the player's party, and stores that number in variable 0x800D (LASTRESULT).
- .macro countpokemon
+ @ Retrieves the number of Pokemon in the player's party, and stores that number in variable 0x800D (LASTRESULT).
+ .macro getpartysize
.byte 0x43
.endm
@ Attempts to add quantity of item index to the player's Bag. If the player has enough room, the item will be added and variable 0x800D (LASTRESULT) will be set to 0x0001; otherwise, LASTRESULT is set to 0x0000.
- .macro additem index, quantity
+ .macro giveitem index, quantity
.byte 0x44
.2byte \index
.2byte \quantity
.endm
@ Removes quantity of item index from the player's Bag.
- .macro removeitem index, quantity
+ .macro takeitem index, quantity
.byte 0x45
.2byte \index
.2byte \quantity
@@ -457,7 +480,7 @@
.endm
@ Adds a quantity amount of item index to the player's PC. Both arguments can be variables.
- .macro addpcitem index, quantity
+ .macro givepcitem index, quantity
.byte 0x49
.2byte \index
.2byte \quantity
@@ -470,139 +493,181 @@
.2byte \quantity
.endm
- @ In FireRed, this command is a nop. (The argument is read, but not used for anything.)
- .macro adddecor a
+ @ Adds decoration to the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.)
+ .macro givedecoration decoration
.byte 0x4b
- .2byte \a
+ .2byte \decoration
.endm
- @ In FireRed, this command is a nop. (The argument is read, but not used for anything.)
- .macro removedecor a
+ @ Removes a decoration from the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.)
+ .macro takedecoration decoration
.byte 0x4c
- .2byte \a
+ .2byte \decoration
.endm
- @ In FireRed, this command is a nop. (The argument is read, but not used for anything.)
- .macro testdecor a
+ @ Checks for decoration in the player's PC. In FireRed, this command is a nop. (The argument is read, but not used for anything.)
+ .macro checkdecor decoration
.byte 0x4d
- .2byte \a
+ .2byte \decoration
.endm
- @ In FireRed, this command is a nop. (The argument is read, but not used for anything.)
- .macro checkdecor a
+ @ Checks if the player has enough space in their PC to hold decoration. Sets variable 0x800D (LASTRESULT) to 0x0001 if there is room, or 0x0000 is there is no room. In FireRed, this command is a nop. (The argument is read, but not used for anything.)
+ .macro checkdecorspace decoration
.byte 0x4e
- .2byte \a
+ .2byte \decoration
.endm
- @ Applies the movement data at movements to the specified (index) Person event. Also closes any standard message boxes that are still open.
- .macro move index, movements
+ @ Applies the movement data at movements to the specified (index) Object. Also closes any standard message boxes that are still open.
+ .macro applymovement index, movements
.byte 0x4f
.2byte \index
.4byte \movements
.endm
- @ Apparent clone of applymovement. Oddly, it doesn't seem to work at all if applied to any Person other than the player (0xFF), and the X and Y arguments don't seem to do anything.
- @ This command in fact uses variables to access the Person event ID. So, for example, if you setvar 0x8000 to 0x3, and then use applymovementpos 0x8000 @move1, Person event 3 will have the movements at @move1 applied to them. Thank you Shiny Quagsire for bringing this to my attention.
- .macro movecoords variable, movements
+ @ Applies the movement data at movements to the specified (index) Object on the specified (map_group, map_num) map. Really only useful if the object has followed from one map to another (e.g. Wally during the catching event).
+ .macro applymovementat variable, movements, map
.byte 0x50
.2byte \variable
.4byte \movements
+ map \map
.endm
- @ Blocks script execution until the movements being applied to the specified (index) Person event finish. If the specified Person event is 0x0000, then the command will block script execution until all Person events affected by applymovement finish their movements. If the specified Person event is not currently being manipulated with applymovement, then this command does nothing.
- .macro waitmove index
+ @ Blocks script execution until the movements being applied to the specified (index) Object finish. If the specified Object is 0x0000, then the command will block script execution until all Objects affected by applymovement finish their movements. If the specified Object is not currently being manipulated with applymovement, then this command does nothing.
+ .macro waitmovement index
.byte 0x51
.2byte \index
.endm
- @ Apparent clone of waitmovement. Oddly, it doesn't seem to work at all if applied to any Person other than the player (0xFF), and the X and Y arguments don't seem to do anything.
- .macro waitmovexy index, X, Y
+ @ Blocks script execution until the movements being applied to the specified (index) Object on the specified (map) map finish.
+ .macro waitmovementat index, map
.byte 0x52
.2byte \index
- .byte \X
- .byte \Y
+ map \map
.endm
- @ Attempts to hide the specified (local_ID, a local ID) Person event on the current map, by setting its visibility flag if it has a valid one. If the Person does not have a valid visibility flag, this command does nothing.
- .macro disappear local_ID
+ @ Attempts to hide the specified (index) Object on the current map, by setting its visibility flag if it has a valid one. If the Object does not have a valid visibility flag, this command does nothing.
+ .macro removeobject index
.byte 0x53
- .2byte \local_ID
+ .2byte \index
.endm
- @ Clone of hidesprite that also moves the Person? Test it!
- .macro disappearxy index, X, Y
+ @ Attempts to hide the specified (index) Object on the specified (map_group, map_num) map, by setting its visibility flag if it has a valid one. If the Object does not have a valid visibility flag, this command does nothing.
+ .macro removeobjectat index, map
.byte 0x54
.2byte \index
- .byte \X
- .byte \Y
+ map \map
.endm
- .macro reappear word
+ @ Unsets the specified (index) Object's visibility flag on the current map if it has a valid one. If the Object does not have a valid visibility flag, this command does nothing.
+ .macro addobject index
.byte 0x55
- .2byte \word
+ .2byte \index
.endm
- .macro reappearxy word, byte1, byte2
+ @ Unsets the specified (index) Object's visibility flag on the specified (map_group, map_num) map if it has a valid one. If the Object does not have a valid visibility flag, this command does nothing.
+ .macro addobjectat index, map
.byte 0x56
- .2byte \word
- .byte \byte1
- .byte \byte2
+ .2byte \index
+ map \map
.endm
- .macro movesprite word1, word2, word3
+ @ Sets the specified (index) Object's position on the current map.
+ .macro setobjectxy index, x, y
.byte 0x57
- .2byte \word1
- .2byte \word2
- .2byte \word3
+ .2byte \index
+ .2byte \x
+ .2byte \y
.endm
- .macro spritevisible word, byte1, byte2
+ .macro showobjectat index, map
.byte 0x58
- .2byte \word
- .byte \byte1
- .byte \byte2
+ .2byte \index
+ map \map
.endm
- .macro spriteinvisible word, byte1, byte2
+ .macro hideobjectat index, map
.byte 0x59
- .2byte \word
- .byte \byte1
- .byte \byte2
+ .2byte \index
+ map \map
.endm
- @ If the script was called by a Person event, then that Person will turn to face toward the tile that the player is stepping off of.
- .macro faceplayer
+ @ If the script was called by an Object, then that Object will turn to face toward the metatile that the player is standing on.
+ .macro faceplayer
.byte 0x5a
.endm
- .macro spriteface word, byte
+ .macro turnobject index, direction
.byte 0x5b
- .2byte \word
- .byte \byte
+ .2byte \index
+ .byte \direction
.endm
@ If the Trainer flag for Trainer index is not set, this command does absolutely nothing.
- .macro trainerbattle byte, word1, word2, pointer1, pointer2, pointer3, pointer4
+ .macro trainerbattle type, trainer, word, pointer1, pointer2, pointer3, pointer4
.byte 0x5c
- .byte \byte
- .2byte \word1
- .2byte \word2
- .4byte \pointer1
- .4byte \pointer2
- .4byte \pointer3
- .4byte \pointer4
+ .byte \type
+ .2byte \trainer
+ .2byte \word
+ .if \type == 0
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .elseif \type == 1
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .4byte \pointer3 @ event script
+ .elseif \type == 2
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .4byte \pointer3 @ event script
+ .elseif \type == 3
+ .4byte \pointer1 @ text
+ .elseif \type == 4
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .4byte \pointer3 @ text
+ .elseif \type == 5
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .elseif \type == 6
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .4byte \pointer3 @ text
+ .4byte \pointer4 @ event script
+ .elseif \type == 7
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .4byte \pointer3 @ text
+ .elseif \type == 8
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .4byte \pointer3 @ text
+ .4byte \pointer4 @ event script
+ .elseif \type == 9
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .elseif \type == 10
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .elseif \type == 11
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .elseif \type == 12
+ .4byte \pointer1 @ text
+ .4byte \pointer2 @ text
+ .endif
.endm
+
@ Starts a trainer battle using the battle information stored in RAM (usually by trainerbattle, which actually calls this command behind-the-scenes), and blocks script execution until the battle finishes.
- .macro reptrainerbattle
+ .macro trainerbattlebegin
.byte 0x5d
.endm
- .macro endtrainerbattle
+ .macro ontrainerbattleend
.byte 0x5e
.endm
- .macro endtrainerbattle2
+ .macro ontrainerbattleendgoto
.byte 0x5f
.endm
@@ -612,38 +677,38 @@
.2byte \trainer
.endm
- @ Sets Flag (trainer + 0x500). (I didn't make a mistake. The command names actually are backwards.)
- .macro cleartrainerflag trainer
+ @ Sets Flag (trainer + 0x500).
+ .macro settrainerflag trainer
.byte 0x61
.2byte \trainer
.endm
- @ Clears Flag (trainer + 0x500). (I didn't make a mistake. The command names actually are backwards.)
- .macro settrainerflag trainer
+ @ Clears Flag (trainer + 0x500).
+ .macro cleartrainerflag trainer
.byte 0x62
.2byte \trainer
.endm
- .macro movespriteperm word1, word2, word3
+ .macro setobjectxyperm index, x, y
.byte 0x63
- .2byte \word1
- .2byte \word2
- .2byte \word3
+ .2byte \index
+ .2byte \x
+ .2byte \y
.endm
- .macro moveoffscreen word
+ .macro moveobjectoffscreen index
.byte 0x64
- .2byte \word
+ .2byte \index
.endm
- .macro spritebehave word, byte
+ .macro setobjectmovementtype word, byte
.byte 0x65
.2byte \word
.byte \byte
.endm
@ If a standard message box (or its text) is being drawn on-screen, this command blocks script execution until the box and its text have been fully drawn.
- .macro waittext
+ .macro waitmessage
.byte 0x66
.endm
@@ -653,81 +718,79 @@
.4byte \text
.endm
- @ Holds the current message box open until the player presses a key. The message box is then closed.
- .macro closebutton
+ @ Closes the current message box.
+ .macro closemessage
.byte 0x68
.endm
- @ Ceases movement for all OWs on-screen.
- .macro lockall
+ @ Ceases movement for all Objects on-screen.
+ .macro lockall
.byte 0x69
.endm
- @ If the script was called by a Person event, then that Person's movement will cease.
- .macro lock
+ @ If the script was called by an Object, then that Object's movement will cease.
+ .macro lock
.byte 0x6a
.endm
- @ Resumes normal movement for all OWs on-screen, and closes any standard message boxes that are still open.
- .macro releaseall
+ @ Resumes normal movement for all Objects on-screen, and closes any standard message boxes that are still open.
+ .macro releaseall
.byte 0x6b
.endm
- @ If the script was called by a Person event, then that Person's movement will resume. This command also closes any standard message boxes that are still open.
- .macro release
+ @ If the script was called by an Object, then that Object's movement will resume. This command also closes any standard message boxes that are still open.
+ .macro release
.byte 0x6c
.endm
@ Blocks script execution until the player presses any key.
- .macro waitbutton
+ .macro waitbuttonpress
.byte 0x6d
.endm
@ Displays a YES/NO multichoice box at the specified coordinates, and blocks script execution until the user makes a selection. Their selection is stored in variable 0x800D (LASTRESULT); 0x0000 for "NO" or if the user pressed B, and 0x0001 for "YES".
- .macro yesnobox X, Y
+ .macro yesnobox x, y
.byte 0x6e
- .byte \X
- .byte \Y
+ .byte \x
+ .byte \y
.endm
- @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. If B is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
- .macro multichoice X, Y, list, B
+ @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
+ .macro multichoice x, y, list, b
.byte 0x6f
- .byte \X
- .byte \Y
+ .byte \x
+ .byte \y
.byte \list
- .byte \B
+ .byte \b
.endm
- @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. The default argument determines the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0x00. If B is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
- .macro multichoicedef X, Y, list, default, B
+ @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. The default argument determines the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0x00. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
+ .macro multichoicedefault x, y, list, default, b
.byte 0x70
- .byte \X
- .byte \Y
+ .byte \x
+ .byte \y
.byte \list
.byte \default
- .byte \B
+ .byte \b
.endm
@ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. The per_row argument determines how many list items will be shown on a single row of the box.
- .macro multichoicerow X, Y, list, per_row, B
+ .macro multichoicegrid x, y, list, per_row, B
.byte 0x71
- .byte \X
- .byte \Y
+ .byte \x
+ .byte \y
.byte \list
.byte \per_row
.byte \B
.endm
- .macro showbox byte1, byte2, byte3, byte4
+ @ Nopped in Emerald.
+ .macro drawbox
.byte 0x72
- .byte \byte1
- .byte \byte2
- .byte \byte3
- .byte \byte4
.endm
- .macro hidebox byte1, byte2, byte3, byte4
+ @ Nopped in Emerald, but still consumes parameters.
+ .macro erasebox byte1, byte2, byte3, byte4
.byte 0x73
.byte \byte1
.byte \byte2
@@ -735,7 +798,8 @@
.byte \byte4
.endm
- .macro clearbox byte1, byte2, byte3, byte4
+ @ Nopped in Emerald, but still consumes parameters.
+ .macro drawboxtext byte1, byte2, byte3, byte4
.byte 0x74
.byte \byte1
.byte \byte2
@@ -743,33 +807,33 @@
.byte \byte4
.endm
- @ Displays a box containing the front sprite for the specified (species) Pokmon species.
- .macro showpokepic species, X, Y
+ @ Displays a box containing the front sprite for the specified (species) Pokemon species.
+ .macro drawmonpic species, x, y
.byte 0x75
.2byte \species
- .byte \X
- .byte \Y
+ .byte \x
+ .byte \y
.endm
- @ Hides all boxes displayed with showpokepic.
- .macro hidepokepic
+ @ Hides all boxes displayed with drawmonpic.
+ .macro erasemonpic
.byte 0x76
.endm
- @ In FireRed, this command is a nop. (The argument is discarded.)
- .macro showcontestwinner a
+ @ Draws an image of the winner of the contest. In FireRed, this command is a nop. (The argument is discarded.)
+ .macro drawcontestwinner a
.byte 0x77
.byte \a
.endm
- @ Displays the string at pointer as braille text in a standard message box. The string must be formatted to use braille characters.
- .macro braille text
+ @ Displays the string at pointer as braille text in a standard message box. The string must be formatted to use braille characters and needs to provide six extra starting characters that are skipped (in RS, these characters determined the box's size and position, but in Emerald these are calculated automatically).
+ .macro braillemessage text
.byte 0x78
.4byte \text
.endm
- @ Gives the player one of the specified (species) Pokmon at level level holding item. The unknown arguments should all be zeroes.
- .macro givepokemon species, level, item, unknown1, unknown2, unknown3
+ @ Gives the player one of the specified (species) Pokemon at level level holding item. The unknown arguments should all be zeroes.
+ .macro givemon species, level, item, unknown1, unknown2, unknown3
.byte 0x79
.2byte \species
.byte \level
@@ -779,81 +843,81 @@
.byte \unknown3
.endm
- .macro giveegg word
+ .macro giveegg species
.byte 0x7a
- .2byte \word
+ .2byte \species
.endm
- .macro setpokemove byte1, byte2, word
+ .macro setmonmove byte1, byte2, word
.byte 0x7b
.byte \byte1
.byte \byte2
.2byte \word
.endm
- @ Checks if at least one Pokmon in the player's party knows the specified (index) attack. If so, variable 0x800D (LASTRESULT) is set to the (zero-indexed) slot number of the Pokmon that knows the move. If not, LASTRESULT is set to 0x0006.
- .macro checkattack index
+ @ Checks if at least one Pokemon in the player's party knows the specified (index) attack. If so, variable 0x800D (LASTRESULT) is set to the (zero-indexed) slot number of the first Pokemon that knows the move. If not, LASTRESULT is set to 0x0006. Variable 0x8004 is also set to this Pokemon's species.
+ .macro checkpartymove index
.byte 0x7c
.2byte \index
.endm
- @ Writes the name of the Pokmon at index species to the specified buffer.
- .macro bufferpoke out, species
+ @ Writes the name of the Pokemon at index species to the specified buffer.
+ .macro bufferspeciesname out, species
.byte 0x7d
.byte \out
.2byte \species
.endm
- @ Writes the name of the first Pokmon in the player's party to the specified buffer.
- .macro bufferfirstpoke out
+ @ Writes the name of the species of the first Pokemon in the player's party to the specified buffer.
+ .macro bufferleadmonspeciesname out
.byte 0x7e
.byte \out
.endm
- @ Writes the name of the Pokmon in slot slot (zero-indexed) of the player's party to the specified buffer. If an empty or invalid slot is specified, ten spaces ("") are written to the buffer.
- .macro bufferpartypoke out, slot
+ @ Writes the nickname of the Pokemon in slot slot (zero-indexed) of the player's party to the specified buffer. If an empty or invalid slot is specified, ten spaces ("") are written to the buffer.
+ .macro bufferpartymonnick out, slot
.byte 0x7f
.byte \out
.2byte \slot
.endm
@ Writes the name of the item at index item to the specified buffer. If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead.
- .macro bufferitem out, item
+ .macro bufferitemname out, item
.byte 0x80
.byte \out
.2byte \item
.endm
- @ In FireRed, this command is a nop. (The first argument is discarded immediately. The second argument is read, but not used for anything.)
- .macro bufferdecor a, b
+ @ Writes the name of the decoration at index decoration to the specified buffer. In FireRed, this command is a nop.
+ .macro bufferdecorationname out, decoration
.byte 0x81
- .byte \a
- .2byte \b
+ .byte \out
+ .2byte \decoration
.endm
- @ Writes the name of the attack at index attack to the specified buffer.
- .macro bufferattack out, attack
+ @ Writes the name of the move at index move to the specified buffer.
+ .macro buffermovename out, move
.byte 0x82
.byte \out
- .2byte \attack
+ .2byte \move
.endm
@ Converts the value of input to a decimal string, and writes that string to the specified buffer.
- .macro buffernum out, input
+ .macro buffernumberstring out, input
.byte 0x83
.byte \out
.2byte \input
.endm
- @ Writes the standard string identified by index to the specified buffer. Specifying an invalid standard string (e.x. 0x2B) can and usually will cause data corruption (I've observed destruction of the stored player name and crashes when entering/exiting certain menu screens).
- .macro bufferstd out, index
+ @ Writes the standard string identified by index to the specified buffer. This command has no protections in place at all, so specifying an invalid standard string (e.x. 0x2B) can and usually will cause data corruption.
+ .macro bufferstdstring out, index
.byte 0x84
.byte \out
.2byte \index
.endm
@ Copies the string at offset to the specified buffer.
- .macro buffertext out, offset
+ .macro bufferstring out, offset
.byte 0x85
.byte \out
.4byte \offset
@@ -865,45 +929,49 @@
.4byte \products
.endm
- @ Apparent clone of pokemart.
- .macro pokemartdecor products
+ @ Opens the Pokemart system and treats the list of items as decorations.
+ .macro pokemartdecoration products
.byte 0x87
.4byte \products
.endm
- @ Apparent clone of pokemart.
- .macro pokemartbp products
+ @ Apparent clone of pokemartdecoration.
+ .macro pokemartdecoration2 products
.byte 0x88
.4byte \products
.endm
- .macro pokecasino word
+ @ Starts up the slot machine minigame.
+ .macro playslotmachine word
.byte 0x89
.2byte \word
.endm
- @ In FireRed, this command is a nop.
- .macro event_8a
+ @ Sets a berry tree's specific berry and growth stage. In FireRed, this command is a nop.
+ .macro setberrytree tree_id, berry, growth_stage
.byte 0x8a
+ .byte \tree_id
+ .byte \berry
+ .byte \growth_stage
.endm
- @ In FireRed, this command sets the byte at 0x03000EA8 to 0x01. I do not know what that means.
- .macro choosecontestpkmn
+ @ This allows you to choose a Pokemon to use in a contest. In FireRed, this command sets the byte at 0x03000EA8 to 0x01.
+ .macro choosecontestpkmn
.byte 0x8b
.endm
- @ In FireRed, this command is a nop.
- .macro startcontest
+ @ Starts a contest. In FireRed, this command is a nop.
+ .macro startcontest
.byte 0x8c
.endm
- @ In FireRed, this command is a nop.
- .macro showcontestresults
+ @ Shows the results of a contest. In FireRed, this command is a nop.
+ .macro showcontestresults
.byte 0x8d
.endm
- @ In FireRed, this command is a nop.
- .macro contestlinktransfer
+ @ Starts a contest over a link connection. In FireRed, this command is a nop.
+ .macro contestlinktransfer
.byte 0x8e
.endm
@@ -921,7 +989,7 @@
.endm
@ If check is 0x00, this command subtracts value from the player's money.
- .macro paymoney value, check
+ .macro takemoney value, check
.byte 0x91
.4byte \value
.byte \check
@@ -935,106 +1003,107 @@
.endm
@ Spawns a secondary box showing how much money the player has.
- .macro showmoney X, Y
+ .macro showmoneybox x, y, check
.byte 0x93
- .byte \X
- .byte \Y
+ .byte \x
+ .byte \y
+ .byte \check
.endm
@ Hides the secondary box spawned by showmoney.
- .macro hidemoney X, Y
+ .macro hidemoneybox
.byte 0x94
- .byte \X
- .byte \Y
.endm
- @ Updates the secondary box spawned by showmoney. (What does it do with its arguments?)
- .macro updatemoney X, Y
+ @ Updates the secondary box spawned by showmoney. Consumes but does not use arguments.
+ .macro updatemoneybox x, y
.byte 0x95
- .byte \X
- .byte \Y
+ .byte \x
+ .byte \y
.endm
- @ In FireRed, this command is a nop.
- .macro event_96
+ @ Gets the price reduction for the index (word) given. In FireRed, this command is a nop.
+ .macro getpricereduction word
.byte 0x96
+ .2byte \word
.endm
- @ Fades the screen to black or back, using the specified effect. Effect 0x00 fades in, and effect 0x01 fades out. I don't know if other effects exist.
+ @ Fades the screen to and from black and white. Mode 0x00 fades from black, mode 0x01 fades out to black, mode 0x2 fades in from white, and mode 0x3 fades out to white.
.macro fadescreen effect
.byte 0x97
.byte \effect
.endm
- .macro fadescreendelay byte1, byte2
+ @ Fades the screen to and from black and white. Mode 0x00 fades from black, mode 0x01 fades out to black, mode 0x2 fades in from white, and mode 0x3 fades out to white. Other modes may exist.
+ .macro fadescreenspeed effect, speed
.byte 0x98
- .byte \byte1
- .byte \byte2
+ .byte \effect
+ .byte \speed
.endm
- .macro darken word
+ .macro setflashradius word
.byte 0x99
.2byte \word
.endm
- .macro lighten byte
+ .macro animateflash byte
.byte 0x9a
.byte \byte
.endm
- .macro message2 pointer
+ .macro messageautoscroll pointer
.byte 0x9b
.4byte \pointer
.endm
@ Executes the specified field move animation.
- .macro doanimation animation
+ .macro dofieldeffect animation
.byte 0x9c
.2byte \animation
.endm
- @ Tells the game which party Pokmon to use for the next field move animation.
- .macro setanimation animation, slot
+ @ Sets up the field effect argument argument with the value value.
+ .macro setfieldeffectargument argument, param
.byte 0x9d
- .byte \animation
- .2byte \slot
+ .byte \argument
+ .2byte \param
.endm
@ Blocks script execution until all playing field move animations complete.
- .macro checkanimation animation
+ .macro waitfieldeffect animation
.byte 0x9e
.2byte \animation
.endm
- @ Sets which healing place the player will return to if all of the Pokmon in their party faint. A list of available healing places can be found on PokeCommunity.
- .macro sethealplace flightspot
+ @ Sets which healing place the player will return to if all of the Pokemon in their party faint.
+ .macro setrespawn flightspot
.byte 0x9f
.2byte \flightspot
.endm
@ Checks the player's gender. If male, then 0x0000 is stored in variable 0x800D (LASTRESULT). If female, then 0x0001 is stored in LASTRESULT.
- .macro checkgender
+ .macro checkplayergender
.byte 0xa0
.endm
- @ Plays the specified (species) Pokmon's cry. You can use waitcry to block script execution until the sound finishes.
- .macro pokecry species, effect
+ @ Plays the specified (species) Pokemon's cry. You can use waitcry to block script execution until the sound finishes.
+ .macro playmoncry species, effect
.byte 0xa1
.2byte \species
.2byte \effect
.endm
- @ Changes the tile at (X, Y) on the current map.
- .macro setmaptile X, Y, tile_number, tile_attrib
+ @ Changes the metatile at (x, y) on the current map.
+ .macro setmetatile x, y, metatile_number, tile_attrib
.byte 0xa2
- .2byte \X
- .2byte \Y
- .2byte \tile_number
+ .2byte \x
+ .2byte \y
+ .2byte \metatile_number
.2byte \tile_attrib
.endm
@ Queues a weather change to the default weather for the map.
- .macro resetweather
+ .macro resetweather
.byte 0xa3
.endm
@@ -1045,106 +1114,108 @@
.endm
@ Executes the weather change queued with resetweather or setweather. The current weather will smoothly fade into the queued weather.
- .macro doweather
+ .macro doweather
.byte 0xa5
.endm
@ This command manages cases in which maps have tiles that change state when stepped on (specifically, cracked/breakable floors).
- .macro tileeffect subroutine
+ .macro setstepcallback subroutine
.byte 0xa6
.byte \subroutine
.endm
- .macro setmapfooter word
+ .macro setmaplayoutindex index
.byte 0xa7
- .2byte \word
+ .2byte \index
.endm
- .macro spritelevelup word, byte1, byte2, byte3
+ .macro setobjectpriority index, map, priority
.byte 0xa8
- .2byte \word
- .byte \byte1
- .byte \byte2
- .byte \byte3
+ .2byte \index
+ map \map
+ .byte \priority
.endm
- .macro restorespritelevel word, byte1, byte2
+ .macro resetobjectpriority index, map
.byte 0xa9
- .2byte \word
- .byte \byte1
- .byte \byte2
+ .2byte \index
+ map \map
.endm
- .macro createvsprite byte1, byte2, word1, word2, byte3, byte4
+ .macro createvobject sprite, byte2, x, y, elevation, direction
.byte 0xaa
- .byte \byte1
+ .byte \sprite
.byte \byte2
- .2byte \word1
- .2byte \word2
- .byte \byte3
- .byte \byte4
+ .2byte \x
+ .2byte \y
+ .byte \elevation
+ .byte \direction
.endm
- .macro vspriteface byte1, byte2
+ .macro turnvobject index, direction
.byte 0xab
- .byte \byte1
- .byte \byte2
+ .byte \index
+ .byte \direction
.endm
- @ Queues the opening of the door tile at (X, Y) with an animation.
- .macro setdooropened X, Y
+ @ Opens the door metatile at (X, Y) with an animation.
+ .macro opendoor x, y
.byte 0xac
- .2byte \X
- .2byte \Y
+ .2byte \x
+ .2byte \y
.endm
- @ Queues the closing of the door tile at (X, Y) with an animation.
- .macro setdoorclosed X, Y
+ @ Closes the door metatile at (X, Y) with an animation.
+ .macro closedoor x, y
.byte 0xad
- .2byte \X
- .2byte \Y
+ .2byte \x
+ .2byte \y
.endm
- @ Executes the state changes queued with setdooropened, setdoorclosed, setdooropened2, and setdoorclosed2.
- .macro doorchange
+ @ Waits for the door animation started with opendoor or closedoor to finish.
+ .macro waitdooranim
.byte 0xae
.endm
- @ Queues the opening of the door tile at (X, Y) without an animation.
- .macro setdooropened2 X, Y
+ @ Sets the door tile at (x, y) to be open without an animation.
+ .macro setdooropen x, y
.byte 0xaf
- .2byte \X
- .2byte \Y
+ .2byte \x
+ .2byte \y
.endm
- @ Queues the closing of the door tile at (X, Y) without an animation.
- .macro setdoorclosed2 X, Y
+ @ Sets the door tile at (x, y) to be closed without an animation.
+ .macro setdoorclosed2 x, y
.byte 0xb0
- .2byte \X
- .2byte \Y
+ .2byte \x
+ .2byte \y
.endm
- @ In FireRed, this command is a nop.
- .macro event_b1
+ @ In Emerald, this command consumes its parameters and does nothing. In FireRed, this command is a nop.
+ .macro addelevmenuitem a, b, c, d
.byte 0xb1
+ .byte \a
+ .2byte \b
+ .2byte \c
+ .2byte \d
.endm
- @ In FireRed, this command is a nop.
- .macro event_b2
+ @ In FireRed and Emerald, this command is a nop.
+ .macro showelevmenu
.byte 0xb2
.endm
- .macro checkcoins word
+ .macro checkcoins out
.byte 0xb3
- .2byte \word
+ .2byte \out
.endm
- .macro givecoins word
+ .macro givecoins count
.byte 0xb4
- .2byte \word
+ .2byte \count
.endm
- .macro removecoins word
+ .macro takecoins word
.byte 0xb5
.2byte \word
.endm
@@ -1157,8 +1228,8 @@
.2byte \item
.endm
- @ Starts a wild battle against the Pokmon generated by setwildbattle. Blocks script execution until the battle finishes.
- .macro dowildbattle
+ @ Starts a wild battle against the Pokemon generated by setwildbattle. Blocks script execution until the battle finishes.
+ .macro dowildbattle
.byte 0xb7
.endm
@@ -1168,7 +1239,7 @@
.2byte \word
.endm
- .macro vjump pointer
+ .macro vgoto pointer
.byte 0xb9
.4byte \pointer
.endm
@@ -1178,19 +1249,19 @@
.4byte \pointer
.endm
- .macro if5 byte, pointer
+ .macro vgoto_if byte, pointer
.byte 0xbb
.byte \byte
.4byte \pointer
.endm
- .macro if6 byte, pointer
+ .macro vcall_if byte, pointer
.byte 0xbc
.byte \byte
.4byte \pointer
.endm
- .macro vtext pointer
+ .macro vmessage pointer
.byte 0xbd
.4byte \pointer
.endm
@@ -1200,46 +1271,50 @@
.4byte \pointer
.endm
- .macro vbuffer byte, pointer
+ .macro vbufferstring byte, pointer
.byte 0xbf
.byte \byte
.4byte \pointer
.endm
@ Spawns a secondary box showing how many Coins the player has.
- .macro showcoins X, Y
+ .macro showcoinsbox x, y
.byte 0xc0
- .byte \X
- .byte \Y
+ .byte \x
+ .byte \y
.endm
- @ Hides the secondary box spawned by showcoins. It doesn't appear to use its arguments, but they are still required.
- .macro hidecoins X, Y
+ @ Hides the secondary box spawned by showcoins. It consumes its arguments but doesn't use them.
+ .macro hidecoinsbox x, y
.byte 0xc1
- .byte \X
- .byte \Y
+ .byte \x
+ .byte \y
.endm
- @ Updates the secondary box spawned by showcoins. (What does it do with its arguments?)
- .macro updatecoins X, Y
+ @ Updates the secondary box spawned by showcoins. It consumes its arguments but doesn't use them.
+ .macro updatecoinsbox x, y
.byte 0xc2
- .byte \X
- .byte \Y
+ .byte \x
+ .byte \y
.endm
- @ Increases the value of the specified hidden variable by 1. The hidden variable's value will not be allowed to exceed 0x00FFFFFF.
- .macro inccounter a
+ @ Increases the value of the specified game stat by 1. The stat's value will not be allowed to exceed 0x00FFFFFF.
+ .macro incrementgamestat stat
.byte 0xc3
- .byte \a
+ .byte \stat
.endm
- @ Clone of warp... Except that it doesn't appear to have any effect when used in some of FireRed's default level scripts. (If it did, Berry Forest would be impossible to enter...)
- .macro warp6
+ @ Sets the destination that using an Escape Rope or Dig will take the player to.
+ .macro setescapewarp map, warp, x, y
.byte 0xc4
+ map \map
+ .byte \warp
+ .2byte \x
+ .2byte \y
.endm
@ Blocks script execution until cry finishes.
- .macro waitpokecry
+ .macro waitmoncry
.byte 0xc5
.endm
@@ -1263,17 +1338,17 @@
.endm
@ The exact purpose of this command is unknown, but it is related to the blue help-text box that appears on the bottom of the screen when the Main Menu is opened.
- .macro unloadhelp
+ .macro unloadhelp
.byte 0xc9
.endm
@ After using this command, all standard message boxes will use the signpost frame.
- .macro signmsg
+ .macro signmsg
.byte 0xca
.endm
@ Ends the effects of signmsg, returning message box frames to normal.
- .macro normalmsg
+ .macro normalmsg
.byte 0xcb
.endm
@@ -1284,82 +1359,81 @@
.4byte \value
.endm
- @ Makes the Pokmon in the specified slot of the player's party obedient. It will not randomly disobey orders in battle.
- .macro setobedience slot
+ @ Makes the Pokemon in the specified slot of the player's party obedient. It will not randomly disobey orders in battle.
+ .macro setmonobedient slot
.byte 0xcd
.2byte \slot
.endm
- @ Checks if the Pokmon in the specified slot of the player's party is obedient. If the Pokmon is disobedient, 0x0001 is written to script variable 0x800D (LASTRESULT). If the Pokmon is obedient (or if the specified slot is empty or invalid), 0x0000 is written.
- .macro checkobedience slot
+ @ Checks if the Pokemon in the specified slot of the player's party is obedient. If the Pokemon is disobedient, 0x0001 is written to script variable 0x800D (LASTRESULT). If the Pokemon is obedient (or if the specified slot is empty or invalid), 0x0000 is written.
+ .macro checkmonobedience slot
.byte 0xce
.2byte \slot
.endm
- @ Depending on factors I haven't managed to understand yet, this command may cause script execution to jump to the offset specified by the pointer at 0x020370A4.
- .macro execram
+ @ Depending on factors I haven't managed to understand yet, this command may cause script execution to jump to the offset specified by the pointer at 0x020375C0.
+ .macro execram
.byte 0xcf
.endm
@ Sets worldmapflag to 1. This allows the player to Fly to the corresponding map, if that map has a flightspot.
- .macro setworldflag worldmapflag
+ .macro setworldmapflag worldmapflag
.byte 0xd0
.2byte \worldmapflag
.endm
@ Clone of warpteleport? It is apparently only used in FR/LG, and only with specials.[source]
- .macro warpteleport2
+ .macro warpteleport2 map, warp, x, y
.byte 0xd1
+ map \map
+ .byte \warp
+ .2byte \x
+ .2byte \y
.endm
- @ Changes the location where the player caught the Pokmon in the specified slot of their party. A list of valid catch locations can be found on PokeCommunity.
- .macro setcatchlocale slot, location
+ @ Changes the location where the player caught the Pokemon in the specified slot of their party.
+ .macro setmonmetlocation slot, location
.byte 0xd2
.2byte \slot
.byte \location
.endm
- @ Sets variable 0x8004 to a value based on the width of the braille string at text.
- .macro braille2 text
+ .macro mossdeepgym1 unknown
.byte 0xd3
- .4byte \text
+ .2byte \unknown
.endm
- @ Writes the name of the specified (item) item to the specified buffer. If the specified item is a Berry (0x85 - 0xAE) or Poke Ball (0x4) and if the quantity is 2 or more, the buffered string will be pluralized ("IES" or "S" appended). If the specified item is the Enigma Berry, I have no idea what this command does (but testing showed no pluralization). If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead.
- .macro storeitems out, item, quantity
+ .macro mossdeepgym2
.byte 0xd4
- .byte \out
- .2byte \item
- .2byte \quantity
.endm
@ In FireRed, this command is a nop.
- .macro event_d5
+ .macro mossdeepgym3 var
.byte 0xd5
+ .2byte \var
.endm
- .macro event_d6
+ .macro mossdeepgym4
.byte 0xd6
.endm
- .macro warp7 byte1, byte2, byte3, word1, word2
+ .macro warp7 map, byte, word1, word2
.byte 0xd7
- .byte \byte1
- .byte \byte2
- .byte \byte3
+ map \map
+ .byte \byte
.2byte \word1
.2byte \word2
.endm
- .macro event_d8
+ .macro cmdD8
.byte 0xd8
.endm
- .macro event_d9
+ .macro cmdD9
.byte 0xd9
.endm
- .macro hidebox2
+ .macro hidebox2
.byte 0xda
.endm
@@ -1368,21 +1442,21 @@
.4byte \pointer
.endm
- .macro fadescreen3 byte
+ .macro fadescreenswapbuffers byte
.byte 0xdc
.byte \byte
.endm
- .macro buffertrainerclass byte, word
+ .macro buffertrainerclassname out, class
.byte 0xdd
- .byte \byte
- .2byte \word
+ .byte \out
+ .2byte \class
.endm
- .macro buffertrainername byte, word
+ .macro buffertrainername out, trainer
.byte 0xde
- .byte \byte
- .2byte \word
+ .byte \out
+ .2byte \trainer
.endm
.macro pokenavcall pointer
@@ -1390,24 +1464,62 @@
.4byte \pointer
.endm
- .macro warp8 byte1, byte2, byte3, word1, word2
+ .macro warp8 map, byte, word1, word2
.byte 0xe0
- .byte \byte1
- .byte \byte2
- .byte \byte3
+ map \map
+ .byte \byte
.2byte \word1
.2byte \word2
.endm
- .macro buffercontesttype byte, word
+ .macro buffercontesttypestring out, word
.byte 0xe1
- .byte \byte
+ .byte \out
.2byte \word
.endm
- .macro storeitems2 byte, word1, word2
+ @ Writes the name of the specified (item) item to the specified buffer. If the specified item is a Berry (0x85 - 0xAE) or Poke Ball (0x4) and if the quantity is 2 or more, the buffered string will be pluralized ("IES" or "S" appended). If the specified item is the Enigma Berry, I have no idea what this command does (but testing showed no pluralization). If the specified index is larger than the number of items in the game (0x176), the name of item 0 ("????????") is buffered instead.
+ .macro bufferitemnameplural out, item, quantity
.byte 0xe2
- .byte \byte
- .2byte \word1
- .2byte \word2
+ .byte \out
+ .2byte \item
+ .2byte \quantity
+ .endm
+
+
+@ Supplementary
+
+ .macro goto_eq dest
+ goto_if 1, \dest
+ .endm
+
+ .macro switch var
+ copyvar 0x8000, \var
+ .endm
+
+ .macro case condition, dest
+ compare_var_to_value 0x8000, \condition
+ goto_eq \dest
+ .endm
+
+ .macro msgbox text, type=4
+ loadword 0, \text
+ callstd \type
+ .endm
+
+ @ Message box types
+ MSGBOX_YESNO = 5
+
+ YES = 1
+ NO = 0
+
+ .macro giveitem_std item, amount=1, function=0
+ setorcopyvar 0x8000, \item
+ setorcopyvar 0x8001, \amount
+ callstd \function
+ .endm
+
+ .macro givedecoration_std decoration
+ setorcopyvar 0x8000, \decoration
+ callstd 7
.endm
diff --git a/asm/macros/map.inc b/asm/macros/map.inc
index 452f9b714..5367ad712 100644
--- a/asm/macros/map.inc
+++ b/asm/macros/map.inc
@@ -1,15 +1,115 @@
.macro new_map_group
- .set cur_map_group, cur_map_group + 1
+ inc cur_map_group
.set cur_map_num, 0
.endm
.macro map_group map_name
.set GROUP_\map_name, cur_map_group
.set MAP_\map_name, cur_map_num
- .set cur_map_num, cur_map_num + 1
+ inc cur_map_num
.endm
.macro map map_name
.byte GROUP_\map_name
.byte MAP_\map_name
.endm
+
+ .macro warp_map map_name
+ .byte MAP_\map_name
+ .byte GROUP_\map_name
+ .endm
+
+ .macro heal_location map_name, x, y
+ .byte GROUP_\map_name
+ .byte MAP_\map_name
+ .2byte \x
+ .2byte \y
+ .space 2
+ .endm
+
+ .equiv GROUP_NONE, 0x7f
+ .equiv MAP_NONE, 0x7f
+
+ .equiv GROUP_UNDEFINED, 0xff
+ .equiv MAP_UNDEFINED, 0xff
+
+ .macro map_script type, address
+ .byte \type
+ .4byte \address
+ .endm
+
+ .macro map_script_2 word1, word2, address
+ .2byte \word1
+ .2byte \word2
+ .4byte \address
+ .endm
+
+ .macro object_event index, gfx, replacement, filler1, x, y, elevation, movement_type, radius, filler2, trainer_type, sight_radius_tree_etc, script, event_flag, filler3, filler4
+ .byte \index, \gfx, \replacement, \filler1
+ .2byte \x
+ .2byte \y
+ .byte \elevation, \movement_type, \radius, \filler2
+ .2byte \trainer_type, \sight_radius_tree_etc
+ .4byte \script
+ .2byte \event_flag
+ .byte \filler3, \filler4
+ inc _num_npcs
+ .endm
+
+ .macro warp_def x, y, byte, warp, map
+ .2byte \x, \y
+ .byte \byte, \warp
+ warp_map \map
+ inc _num_warps
+ .endm
+
+ .macro coord_event x, y, byte1, byte2, word1, word2, word3, script
+ .2byte \x, \y
+ .byte \byte1, \byte2
+ .2byte \word1, \word2, \word3
+ .4byte \script
+ inc _num_traps
+ .endm
+
+ .macro bg_event x, y, byte, kind, word, arg6, arg7, arg8
+ .2byte \x, \y
+ .byte \byte, \kind
+ .2byte \word
+ .if \kind < 5
+ .4byte \arg6
+ .else
+ .2byte \arg6
+ .byte \arg7, \arg8
+ .endif
+ inc _num_signs
+ .endm
+
+ .macro map_events npcs, warps, traps, signs
+ .byte _num_npcs, _num_warps, _num_traps, _num_signs
+ .4byte \npcs, \warps, \traps, \signs
+ reset_map_events
+ .endm
+
+ .macro reset_map_events
+ .set _num_npcs, 0
+ .set _num_warps, 0
+ .set _num_traps, 0
+ .set _num_signs, 0
+ .endm
+
+ reset_map_events
+
+
+ .equiv connection_down, 1
+ .equiv connection_up, 2
+ .equiv connection_left, 3
+ .equiv connection_right, 4
+ .equiv connection_dive, 5
+ .equiv connection_emerge, 6
+
+ .macro connection direction, offset, map, filler
+ .4byte connection_\direction
+ .4byte \offset
+ map \map
+ .space 2
+ .endm
diff --git a/asm/macros/movement.inc b/asm/macros/movement.inc
new file mode 100644
index 000000000..5a810c497
--- /dev/null
+++ b/asm/macros/movement.inc
@@ -0,0 +1,123 @@
+ .macro create_movement name
+ enum _\name
+ .macro \name
+ .byte _\name
+ .endm
+ .endm
+
+ enum_start
+ create_movement step_00
+ create_movement step_01
+ create_movement step_02
+ create_movement step_03
+ create_movement slow_step_down
+ create_movement slow_step_up
+ create_movement slow_step_left
+ create_movement slow_step_right
+ create_movement step_down
+ create_movement step_up
+ create_movement step_left
+ create_movement step_right
+ create_movement fast_step_down
+ create_movement fast_step_up
+ create_movement fast_step_left
+ create_movement fast_step_right
+ create_movement step_10
+ create_movement step_11
+ create_movement step_12
+ create_movement step_13
+ create_movement step_14
+ create_movement step_15
+ create_movement step_16
+ create_movement step_17
+ create_movement step_18
+ create_movement step_19
+ create_movement step_1a
+ create_movement step_1b
+ create_movement step_1c
+ create_movement step_1d
+ create_movement step_1e
+ create_movement step_1f
+ create_movement step_20
+ create_movement step_21
+ create_movement step_22
+ create_movement step_23
+ create_movement step_24
+ create_movement step_25
+ create_movement step_26
+ create_movement step_27
+ create_movement step_28
+ create_movement step_29
+ create_movement step_2a
+ create_movement step_2b
+ create_movement step_2c
+ create_movement step_2d
+ create_movement step_2e
+ create_movement step_2f
+ create_movement step_30
+ create_movement step_31
+ create_movement step_32
+ create_movement step_33
+ create_movement step_34
+ create_movement step_35
+ create_movement step_36
+ create_movement step_37
+ create_movement step_38
+ create_movement step_39
+ create_movement step_3a
+ create_movement step_3b
+ create_movement step_3c
+ create_movement step_3d
+ create_movement step_3e
+ create_movement step_3f
+ create_movement step_40
+ create_movement step_41
+ create_movement step_42
+ create_movement step_43
+ create_movement step_44
+ create_movement step_45
+ create_movement step_46
+ create_movement step_47
+ create_movement step_48
+ create_movement step_49
+ create_movement step_4a
+ create_movement step_4b
+ create_movement step_4c
+ create_movement step_4d
+ create_movement step_4e
+ create_movement step_4f
+ create_movement step_50
+ create_movement step_51
+ create_movement step_52
+ create_movement step_53
+ create_movement step_54
+ create_movement step_55
+ create_movement step_56
+ create_movement step_57
+ create_movement step_58
+ create_movement step_59
+ create_movement step_5a
+ create_movement step_5b
+ create_movement step_5c
+ create_movement step_5d
+ create_movement step_5e
+ create_movement step_5f
+ create_movement step_60
+ create_movement step_61
+ create_movement step_62
+ create_movement step_63
+
+ enum_start 0x91
+ create_movement step_91
+ create_movement step_92
+ create_movement step_93
+ create_movement step_94
+ create_movement step_95
+ create_movement step_96
+ create_movement step_97
+ create_movement step_98
+ create_movement step_99
+ create_movement step_9A
+
+ enum_start 0xfe
+ create_movement step_end
diff --git a/asm/map_obj_lock.s b/asm/map_obj_lock.s
index ee60814f5..2270051c2 100644
--- a/asm/map_obj_lock.s
+++ b/asm/map_obj_lock.s
@@ -256,7 +256,7 @@ sub_8098574: @ 8098574
lsls r0, 2
ldr r1, =gMapObjects
adds r0, r1
- ldr r1, =gScriptFacing
+ ldr r1, =gSpecialVar_Facing
ldrb r1, [r1]
bl FieldObjectFaceOppositeDirection
pop {r0}
diff --git a/asm/mauville_old_man.s b/asm/mauville_old_man.s
index bfcf8742a..8c7037ca7 100644
--- a/asm/mauville_old_man.s
+++ b/asm/mauville_old_man.s
@@ -157,7 +157,7 @@ sub_81201C8: @ 81201C8
thumb_func_start sub_81201DC
sub_81201DC: @ 81201DC
push {r4,lr}
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl sub_81201C8
lsls r0, 24
lsrs r0, 24
@@ -170,7 +170,7 @@ sub_81201DC: @ 81201DC
thumb_func_start sub_81201F4
sub_81201F4: @ 81201F4
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldr r2, =0x00002e51
@@ -347,7 +347,7 @@ sub_8120340: @ 8120340
thumb_func_start sub_8120358
sub_8120358: @ 8120358
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
ldr r2, =0x00002e28
@@ -379,14 +379,14 @@ sub_812038C: @ 812038C
ldr r0, =0x0000ffff
cmp r1, r0
bne _081203AC
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
b _081203B6
.pool
_081203AC:
ldr r0, =gStringVar1
bl CopyEasyChatWord
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
_081203B6:
strh r0, [r1]
@@ -405,14 +405,14 @@ sub_81203C4: @ 81203C4
ldrb r0, [r2, 0x1]
cmp r0, 0xA
bne _081203EC
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
strb r0, [r2, 0x1]
b _081203F2
.pool
_081203EC:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
_081203F2:
@@ -503,7 +503,7 @@ _081204C4:
adds r0, 0x1
_081204C8:
strb r0, [r5, 0x1]
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
pop {r4-r6}
@@ -2382,13 +2382,13 @@ _0812132C:
cmp r4, r0
bne _0812135C
_0812134E:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
b _08121364
.pool
_0812135C:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r5, [r0]
ldr r0, =gUnknown_03001178
strb r4, [r0]
diff --git a/asm/party_menu.s b/asm/party_menu.s
index dbefa954b..b5a343cca 100755
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -1213,13 +1213,13 @@ sub_81B0BFC: @ 81B0BFC
muls r1, r0
ldr r0, =gPlayerParty
adds r6, r1, r0
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r4, [r0]
ldr r0, =gUnknown_0203CEC8
ldrb r0, [r0, 0xB]
cmp r0, 0xC
bne _081B0C40
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
ldr r0, =gSpecialVar_0x8005
@@ -4211,7 +4211,7 @@ _081B23E8:
movs r1, 0x4F
movs r2, 0xD0
bl sub_809882C
- bl sub_8098C64
+ bl GetOverworldTextboxPalettePtr
movs r1, 0xE0
movs r2, 0x20
bl LoadPalette
@@ -7739,7 +7739,7 @@ c2_8123744: @ 81B41F0
mov r7, r8
push {r7}
sub sp, 0xC
- ldr r6, =gScriptItemId
+ ldr r6, =gSpecialVar_ItemId
ldrh r0, [r6]
cmp r0, 0
bne _081B4224
@@ -7845,7 +7845,7 @@ sub_81B42D0: @ 81B42D0
ands r0, r1
cmp r0, 0
bne _081B432C
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r4, [r0]
ldr r0, =gUnknown_0203CEC8
mov r8, r0
@@ -7969,7 +7969,7 @@ _081B43FC:
beq _081B44DE
b _081B44EC
_081B4402:
- ldr r5, =gScriptItemId
+ ldr r5, =gSpecialVar_ItemId
ldrh r0, [r5]
movs r1, 0x1
bl RemoveBagItem
@@ -8135,7 +8135,7 @@ sub_81B4578: @ 81B4578
lsls r0, 16
lsrs r0, 16
mov r8, r0
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r7, [r0]
cmp r7, 0
bne _081B45F8
@@ -8212,7 +8212,7 @@ sub_81B4624: @ 81B4624
muls r0, r1
ldr r1, =gPlayerParty
adds r0, r1
- ldr r1, =gScriptItemId
+ ldr r1, =gSpecialVar_ItemId
ldrh r1, [r1]
movs r2, 0
movs r3, 0
@@ -8220,7 +8220,7 @@ sub_81B4624: @ 81B4624
b _081B467C
.pool
_081B4670:
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldrh r1, [r1]
movs r2, 0
@@ -11359,7 +11359,7 @@ _081B61BC:
movs r7, 0
movs r6, 0
_081B61C0:
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r0, [r4]
bl GetItemEffectType
lsls r0, 24
@@ -11787,7 +11787,7 @@ ItemUseCB_Medicine: @ 81B6588
muls r1, r0
ldr r0, =gPlayerParty
adds r5, r1, r0
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r6, [r0]
adds r0, r5, 0
adds r1, r6, 0
@@ -12032,7 +12032,7 @@ sub_81B67C8: @ 81B67C8
muls r1, r0
ldr r0, =gPlayerParty
adds r5, r1, r0
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r6, [r0]
adds r0, r6, 0
bl GetItemEffectType
@@ -12391,7 +12391,7 @@ dp05_ether: @ 81B6AFC
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
cmp r0, 0xAF
bne _081B6B20
@@ -12500,7 +12500,7 @@ ether_effect_related: @ 81B6BEC
lsrs r6, r0, 24
movs r4, 0
ldr r7, =gUnknown_0203CED6
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r5, [r0]
movs r0, 0xE
negs r0, r0
@@ -12729,7 +12729,7 @@ sub_81B6DC4: @ 81B6DC4
movs r0, 0xE
adds r0, r7
mov r8, r0
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r4, [r0]
ldr r1, =gStringVar1
adds r0, r5, 0
@@ -12818,7 +12818,7 @@ sub_81B6EB4: @ 81B6EB4
adds r5, r1, r0
adds r6, r2, 0
adds r6, 0xE
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r4, [r0]
movs r1, 0x2
ldrsh r0, [r6, r1]
@@ -12928,7 +12928,7 @@ _081B6FC0:
_081B6FDC:
cmp r0, 0x2
bne _081B6FE4
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r2, [r0]
_081B6FE4:
adds r0, r5, 0
@@ -13324,7 +13324,7 @@ _081B7306:
_081B7368:
cmp r0, 0x2
bne _081B7370
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r5, [r0]
_081B7370:
ldr r0, =gTasks
@@ -13409,7 +13409,7 @@ dp05_rare_candy: @ 81B7404
movs r1, 0x86
lsls r1, 2
adds r4, r6, r1
- ldr r2, =gScriptItemId
+ ldr r2, =gSpecialVar_ItemId
mov r8, r2
adds r0, r5, 0
movs r1, 0x38
@@ -13467,7 +13467,7 @@ _081B74B4:
ldrb r0, [r0, 0x9]
adds r1, r5, 0
bl sub_81B754C
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
movs r1, 0x1
bl RemoveBagItem
@@ -14084,7 +14084,7 @@ sub_81B7A28: @ 81B7A28
lsls r0, 16
lsrs r7, r0, 16
ldrb r0, [r6, 0x9]
- ldr r1, =gScriptItemId
+ ldr r1, =gSpecialVar_ItemId
ldrh r1, [r1]
movs r2, 0
bl ExecuteTableBasedItemEffect__
@@ -14236,7 +14236,7 @@ _081B7BC8:
ldr r1, =gUnknown_0203CEE8
movs r0, 0x1
strb r0, [r1]
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
movs r1, 0x1
bl RemoveBagItem
@@ -14312,7 +14312,7 @@ sub_81B7C74: @ 81B7C74
ldr r0, [r1]
str r0, [r2]
ldrb r0, [r1, 0x9]
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r1, [r4]
movs r2, 0
bl ExecuteTableBasedItemEffect__
@@ -14685,7 +14685,7 @@ _081B7F72:
movs r3, 0
bl sub_81B0038
ldr r1, =gUnknown_0203CEC8
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
strh r0, [r1, 0xC]
add sp, 0xC
@@ -14933,7 +14933,7 @@ sub_81B81A8: @ 81B81A8
bl GetMonData
lsls r0, 16
lsrs r7, r0, 16
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0
bne _081B8208
@@ -17381,7 +17381,7 @@ _081B95BA:
thumb_func_start sub_81B95E0
sub_81B95E0: @ 81B95E0
push {r4,r5,lr}
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
movs r4, 0
@@ -17490,7 +17490,7 @@ sub_81B968C: @ 81B968C
thumb_func_start sub_81B96D0
sub_81B96D0: @ 81B96D0
push {r4,r5,lr}
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
movs r4, 0
@@ -17741,13 +17741,13 @@ sub_81B98DC: @ 81B98DC
adds r1, r0, 0
cmp r1, 0
beq _081B990C
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
b _081B9910
.pool
_081B990C:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
_081B9910:
pop {r0}
@@ -17760,7 +17760,7 @@ sub_81B9918: @ 81B9918
push {r4-r7,lr}
mov r7, r8
push {r7}
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
ldr r0, =gSpecialVar_0x8004
@@ -17813,7 +17813,7 @@ _081B9980:
bl sub_80D23A8
cmp r0, 0x1
beq _081B999C
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
_081B999C:
diff --git a/asm/player_pc.s b/asm/player_pc.s
index dedfef985..2287d4123 100644
--- a/asm/player_pc.s
+++ b/asm/player_pc.s
@@ -379,12 +379,12 @@ sub_816B148: @ 816B148
ldrb r0, [r0, 0x8]
cmp r0, 0
bne _0816B174
- ldr r0, =gUnknown_081F863F
+ ldr r0, =LittlerootTown_BrendansHouse_2F_EventScript_1F863F
bl ScriptContext1_SetupScript
b _0816B184
.pool
_0816B174:
- ldr r0, =gUnknown_081F958F
+ ldr r0, =LittlerootTown_MaysHouse_2F_EventScript_1F958F
bl ScriptContext1_SetupScript
b _0816B184
.pool
diff --git a/asm/pokeblock_feed.s b/asm/pokeblock_feed.s
index a3047e225..9830db888 100644
--- a/asm/pokeblock_feed.s
+++ b/asm/pokeblock_feed.s
@@ -380,7 +380,7 @@ _08179EEC:
b _08179F5E
.pool
_08179F00:
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrb r0, [r0]
bl sub_8179FEC
ldr r0, =gUnknown_0203BD1C
@@ -692,7 +692,7 @@ sub_817A1C4: @ 817A1C4
ldr r0, =gPlayerParty
adds r5, r0
ldr r1, =gSaveBlock1Ptr
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
lsls r0, 3
ldr r2, =0x00000848
diff --git a/asm/pokedex.s b/asm/pokedex.s
index e9506881e..a0edbab0e 100644
--- a/asm/pokedex.s
+++ b/asm/pokedex.s
@@ -2311,7 +2311,7 @@ _080BC870:
movs r2, 0xBE
bl LoadPalette
_080BC87A:
- bl sub_8098C64
+ bl GetOverworldTextboxPalettePtr
movs r1, 0xF0
movs r2, 0x20
bl LoadPalette
@@ -8950,7 +8950,7 @@ _080C028E:
add r4, sp, 0x10
adds r0, r6, 0
adds r1, r4, 0
- bl sub_81DB468
+ bl CopyMonCategoryText
adds r0, r4, 0
b _080C02AE
.pool
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index 0d331e9a0..396fd3807 100755
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -2252,7 +2252,7 @@ _080C8230:
ldrb r0, [r0]
cmp r0, 0x2
bne _080C825C
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
cmp r0, 0
beq _080C825C
@@ -5458,7 +5458,7 @@ _080C9F56:
sub_80C9F6C: @ 80C9F6C
push {lr}
sub sp, 0x4
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r1, [r0]
mov r0, sp
strh r1, [r0]
diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s
index db11f6865..d30c6b4ee 100755
--- a/asm/pokemon_summary_screen.s
+++ b/asm/pokemon_summary_screen.s
@@ -3585,7 +3585,7 @@ _081C5C5C:
_081C5C88:
movs r0, 0x5
bl PlaySE
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
strh r4, [r0]
adds r0, r5, 0
bl sub_81C5B14
@@ -3594,7 +3594,7 @@ _081C5C88:
_081C5CA0:
movs r0, 0x5
bl PlaySE
- ldr r2, =gScriptItemId
+ ldr r2, =gSpecialVar_ItemId
mov r12, r2
ldr r0, =gSaveBlock2Ptr
ldr r2, [r0]
@@ -3681,7 +3681,7 @@ sub_81C5D20: @ 81C5D20
b _081C5DD8
.pool
_081C5D74:
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
bl ItemId_GetBattleUsage
lsls r0, 24
@@ -3722,7 +3722,7 @@ _081C5DCE:
_081C5DD8:
strb r0, [r1]
_081C5DDA:
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
@@ -4195,7 +4195,7 @@ sub_81C61E0: @ 81C61E0
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r0, [r4]
bl ItemId_GetPocket
lsls r0, 24
@@ -4315,7 +4315,7 @@ sub_81C62C4: @ 81C62C4
b _081C6334
.pool
_081C62F4:
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
@@ -4362,7 +4362,7 @@ sub_81C6350: @ 81C6350
lsls r4, 3
ldr r0, =gTasks + 0x8
adds r4, r0
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
@@ -4577,7 +4577,7 @@ sub_81C654C: @ 81C654C
lsls r4, 3
ldr r5, =gTasks + 0x8
adds r6, r4, r5
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
@@ -4635,7 +4635,7 @@ sub_81C65CC: @ 81C65CC
beq _081C662E
movs r0, 0x5
bl PlaySE
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldrh r1, [r4, 0x10]
bl RemovePyramidBagItem
@@ -4671,7 +4671,7 @@ sub_81C6648: @ 81C6648
lsrs r4, r0, 24
adds r6, r4, 0
bl sub_81C61A8
- ldr r5, =gScriptItemId
+ ldr r5, =gSpecialVar_ItemId
ldrh r0, [r5]
bl itemid_is_mail
lsls r0, 24
@@ -4713,7 +4713,7 @@ sub_81C66AC: @ 81C66AC
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, =gStringVar1
bl CopyItemName
@@ -4785,7 +4785,7 @@ sub_81C674C: @ 81C674C
lsls r0, 24
lsrs r4, r0, 24
adds r6, r4, 0
- ldr r5, =gScriptItemId
+ ldr r5, =gSpecialVar_ItemId
ldrh r0, [r5]
bl itemid_80BF6D8_mail_related
lsls r0, 24
@@ -4820,7 +4820,7 @@ sub_81C679C: @ 81C679C
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r4, =gScriptItemId
+ ldr r4, =gSpecialVar_ItemId
ldrh r0, [r4]
bl ItemId_GetBattleFunc
cmp r0, 0
@@ -5238,7 +5238,7 @@ _081C6AF8:
bl Free
adds r0, r5, 0
bl Free
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
b _081C6BC6
@@ -5266,7 +5266,7 @@ _081C6B9C:
lsrs r6, r0, 24
cmp r6, 0x2
bls _081C6B9C
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
adds r0, r7, 0
diff --git a/asm/pokenav.s b/asm/pokenav.s
index ba6d4fca0..c6e058955 100755
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -27683,7 +27683,7 @@ _081D4AF8:
movs r2, 0x80
orrs r1, r2
strb r1, [r0]
- ldr r0, =gScriptFacing
+ ldr r0, =gSpecialVar_Facing
ldrh r0, [r0]
cmp r0, 0x2
beq _081D4B3A
@@ -29323,7 +29323,7 @@ _081D5854:
sub_81D58D8: @ 81D58D8
push {lr}
bl sub_80008E8
- ldr r3, =gScriptResult
+ ldr r3, =gSpecialVar_Result
movs r0, 0
strh r0, [r3]
ldr r0, =gSaveBlock1Ptr
@@ -29381,7 +29381,7 @@ sub_81D5924: @ 81D5924
cmp r4, 0
beq _081D596C
_081D5952:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x2
strh r0, [r1]
b _081D59C0
@@ -29413,12 +29413,12 @@ _081D596C:
negs r0, r0
ands r0, r2
strb r0, [r1]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r4, [r0]
b _081D59C0
.pool
_081D59BC:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r6, [r0]
_081D59C0:
pop {r3}
@@ -29444,7 +29444,7 @@ sub_81D59D0: @ 81D59D0
lsrs r5, r0, 24
cmp r5, 0
beq _081D59FC
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r3, [r0]
b _081D5A4E
.pool
@@ -29473,12 +29473,12 @@ _081D59FC:
adds r2, r0
ldr r0, [r2]
str r0, [r1]
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r5, [r0]
b _081D5A4E
.pool
_081D5A48:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
_081D5A4E:
@@ -29556,7 +29556,7 @@ sub_81D5AD0: @ 81D5AD0
negs r0, r0
ands r0, r1
strb r0, [r2]
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
b _081D5B20
.pool
@@ -29569,12 +29569,12 @@ _081D5B00:
negs r0, r0
ands r0, r1
strb r0, [r2]
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
b _081D5B20
.pool
_081D5B1C:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x2
_081D5B20:
strh r0, [r1]
@@ -29653,12 +29653,12 @@ sub_81D5BBC: @ 81D5BBC
movs r2, 0
movs r3, 0x1
bl ConvertIntToDecimalStringN
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
b _081D5BF0
.pool
_081D5BEC:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
_081D5BF0:
strh r0, [r1]
@@ -29672,7 +29672,7 @@ _081D5BF0:
sub_81D5C00: @ 81D5C00
push {lr}
bl sub_81D56B0
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
bl sub_81D5710
@@ -29721,12 +29721,12 @@ sub_81D5C5C: @ 81D5C5C
lsrs r1, r0, 24
cmp r1, 0
bne _081D5C74
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
b _081D5C7A
.pool
_081D5C74:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
_081D5C7A:
@@ -30022,7 +30022,7 @@ _081D5E64:
movs r1, 0xF
ands r0, r1
strh r0, [r5, 0xE]
- ldr r0, =gUnknown_082C83F0
+ ldr r0, =EventScript_2C83F0
str r0, [r5, 0x10]
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
@@ -30487,7 +30487,7 @@ _081D62A2:
thumb_func_start sub_81D62AC
sub_81D62AC: @ 81D62AC
- ldr r0, =gUnknown_082C83F0
+ ldr r0, =EventScript_2C83F0
bx lr
.pool
thumb_func_end sub_81D62AC
@@ -30495,7 +30495,7 @@ sub_81D62AC: @ 81D62AC
thumb_func_start sub_81D62B4
sub_81D62B4: @ 81D62B4
push {lr}
- ldr r0, =gScriptLastTalked
+ ldr r0, =gSpecialVar_LastTalked
ldrh r1, [r0]
movs r0, 0x5
bl sub_81D572C
@@ -30772,7 +30772,7 @@ _081D64D4:
thumb_func_start sub_81D64DC
sub_81D64DC: @ 81D64DC
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000ef9
@@ -30825,7 +30825,7 @@ sub_81D6534: @ 81D6534
cmp r0, 0x6
beq _081D6560
bl sub_81D5C00
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0
beq _081D6560
@@ -30851,12 +30851,12 @@ sub_81D6568: @ 81D6568
ands r0, r1
cmp r0, 0
beq _081D6590
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
b _081D6594
.pool
_081D6590:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
_081D6594:
strh r0, [r1]
diff --git a/asm/recorded_battle.s b/asm/recorded_battle.s
index 55cfdf6ef..2545e478d 100644
--- a/asm/recorded_battle.s
+++ b/asm/recorded_battle.s
@@ -334,7 +334,7 @@ RecordedBattle_ReadBankAction: @ 8185054
cmp r0, 0xFF
bne _081850BC
_0818507A:
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldr r1, =gBattleOutcome
movs r0, 0x5
strb r0, [r1]
diff --git a/asm/rom4.s b/asm/rom4.s
index bf682fc51..3b6f87d84 100644
--- a/asm/rom4.s
+++ b/asm/rom4.s
@@ -8,7 +8,7 @@
thumb_func_start sub_8084620
sub_8084620: @ 8084620
push {r4,lr}
- ldr r0, =gUnknown_08271857
+ ldr r0, =EverGrandeCity_HallOfFame_EventScript_271857
bl ScriptContext2_RunNewScript
ldr r0, =gSaveBlock1Ptr
ldr r4, [r0]
@@ -64,7 +64,7 @@ sub_808469C: @ 808469C
bl FlagClear
ldr r0, =0x00000888
bl FlagClear
- ldr r0, =gUnknown_08271862
+ ldr r0, =EverGrandeCity_HallOfFame_EventScript_271862
bl ScriptContext2_RunNewScript
pop {r0}
bx r0
@@ -419,7 +419,7 @@ get_mapdata_header: @ 80849A8
b _080849C6
.pool
_080849BC:
- ldr r0, =gUnknown_08481DD4
+ ldr r0, =gMapAttributes
subs r1, 0x1
lsls r1, 2
adds r1, r0
@@ -535,7 +535,7 @@ _08084A8A:
get_mapheader_by_bank_and_number: @ 8084A90
lsls r0, 16
lsls r1, 16
- ldr r2, =gUnknown_08486578
+ ldr r2, =gMapGroups
lsrs r0, 14
adds r0, r2
ldr r0, [r0]
diff --git a/asm/rom6.s b/asm/rom6.s
index 066ba1206..f07689a86 100644
--- a/asm/rom6.s
+++ b/asm/rom6.s
@@ -31,7 +31,7 @@ npc_before_player_of_type: @ 8135424
ldrb r0, [r2, 0x5]
cmp r0, r5
bne _08135470
- ldr r1, =gScriptLastTalked
+ ldr r1, =gSpecialVar_LastTalked
ldrb r0, [r2, 0x8]
strh r0, [r1]
movs r0, 0x1
@@ -262,7 +262,7 @@ sub_8135654: @ 8135654
lsls r0, 24
cmp r0, 0
beq _0813568C
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl GetCursorSelectionMonId
lsls r0, 24
lsrs r0, 24
@@ -307,7 +307,7 @@ sub_81356C4: @ 81356C4
lsls r0, 24
lsrs r0, 24
str r0, [r1]
- ldr r0, =gUnknown_082907F0
+ ldr r0, =Route111_EventScript_2907F0
bl ScriptContext1_SetupScript
pop {r0}
bx r0
@@ -2136,11 +2136,11 @@ _081366B6:
_081366D0:
movs r0, 0x5
bl PlaySE
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldr r2, =0x0000ffff
adds r1, r2, 0
strh r1, [r0]
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
mov r1, r9
strh r1, [r0]
adds r0, r7, 0
@@ -2150,7 +2150,7 @@ _081366D0:
_081366F8:
movs r0, 0x5
bl PlaySE
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
strh r4, [r0]
adds r0, r7, 0
bl sub_8136938
@@ -2541,7 +2541,7 @@ sub_8136A50: @ 8136A50
sub_8136A74: @ 8136A74
push {lr}
ldr r2, =gSaveBlock1Ptr
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrh r1, [r0]
lsls r1, 3
ldr r0, =0x00000848
@@ -2586,7 +2586,7 @@ sub_8136AB4: @ 8136AB4
ldr r3, =gPokeblockNames
ldr r1, =gSaveBlock1Ptr
ldr r2, [r1]
- ldr r1, =gScriptItemId
+ ldr r1, =gSpecialVar_ItemId
ldrh r1, [r1]
lsls r1, 3
adds r2, r1
@@ -2689,7 +2689,7 @@ sub_8136BC0: @ 8136BC0
ands r0, r1
cmp r0, 0
beq _08136C36
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrb r0, [r0]
bl sub_8136F68
movs r0, 0x5
@@ -2772,7 +2772,7 @@ sub_8136C8C: @ 8136C8C
lsls r0, 24
lsrs r0, 24
ldr r5, =gSaveBlock1Ptr
- ldr r7, =gScriptItemId
+ ldr r7, =gSpecialVar_ItemId
ldrh r2, [r7]
lsls r2, 3
ldr r6, =0x00000848
@@ -2836,7 +2836,7 @@ sub_8136D2C: @ 8136D2C
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r5, =gScriptItemId
+ ldr r5, =gSpecialVar_ItemId
ldrb r0, [r5]
bl SafariZoneActivatePokeblockFeeder
ldr r0, =gStringVar1
@@ -2853,7 +2853,7 @@ sub_8136D2C: @ 8136D2C
adds r1, r3
ldr r1, [r1]
bl StringCopy
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldrh r0, [r5]
strh r0, [r1]
lsls r0, 24
@@ -2877,7 +2877,7 @@ sub_8136D90: @ 8136D90
lsrs r4, 24
ldr r6, =gSpecialVar_0x8004
ldr r0, =gSaveBlock1Ptr
- ldr r5, =gScriptItemId
+ ldr r5, =gSpecialVar_ItemId
ldrh r1, [r5]
lsls r1, 3
ldr r2, =0x00000848
@@ -2888,7 +2888,7 @@ sub_8136D90: @ 8136D90
lsls r0, 24
lsrs r0, 24
strh r0, [r6]
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldrh r0, [r5]
strh r0, [r1]
lsls r0, 24
@@ -3333,7 +3333,7 @@ sub_81370FC: @ 81370FC
lsls r0, 24
cmp r0, 0
beq _08137134
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl GetCursorSelectionMonId
lsls r0, 24
lsrs r0, 24
@@ -3407,7 +3407,7 @@ sub_81371B4: @ 81371B4
bl PlaySE
ldr r0, =0x00000888
bl FlagSet
- ldr r0, =gUnknown_082926F8
+ ldr r0, =EventScript_2926F8
bl ScriptContext1_SetupScript
pop {r0}
bx r0
@@ -4899,7 +4899,7 @@ _08137E58:
lsls r0, 24
lsrs r4, r0, 24
_08137E5C:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r4, [r0]
pop {r4-r7}
pop {r0}
@@ -7214,7 +7214,7 @@ _081390E6:
cmp r0, 0xC
bne _0813913C
_08139128:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
b _0813914A
.pool
@@ -7224,7 +7224,7 @@ _0813913C:
lsrs r5, r0, 24
cmp r5, 0x5
bls _081390E6
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
_0813914A:
strh r0, [r1]
@@ -7673,7 +7673,7 @@ sub_81394D8: @ 81394D8
bl VarGet
lsls r0, 16
lsrs r0, 16
- bl sub_8133EDC
+ bl GetStarterPokemon
lsls r0, 16
lsrs r6, r0, 16
bl CalculatePlayerPartyCount
@@ -8044,7 +8044,7 @@ _081397BE:
thumb_func_start sub_81397C4
sub_81397C4: @ 81397C4
push {r4,r5,lr}
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldrh r1, [r2]
ldr r0, =0x0000270f
cmp r1, r0
@@ -8123,7 +8123,7 @@ _08139862:
thumb_func_start sub_813986C
sub_813986C: @ 813986C
push {lr}
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0x4
bhi _081398B8
@@ -9381,7 +9381,7 @@ _0813A2BE:
strh r4, [r3, 0x26]
b _0813A2D2
_0813A2C6:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x7F
strh r0, [r1]
adds r0, r4, 0
@@ -9649,7 +9649,7 @@ sub_813A4EC: @ 813A4EC
b _0813A566
.pool
_0813A51C:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x7F
strh r0, [r1]
movs r0, 0x5
@@ -9657,7 +9657,7 @@ _0813A51C:
b _0813A54C
.pool
_0813A530:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r4, [r0]
movs r0, 0x5
bl PlaySE
@@ -10930,7 +10930,7 @@ task_deoxys_sound: @ 813AFDC
lsrs r0, 24
cmp r0, 0x1
bne _0813B004
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x3
b _0813B06A
.pool
@@ -10961,7 +10961,7 @@ _0813B004:
mov r0, r8
movs r1, 0
bl VarSet
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
b _0813B070
@@ -10971,7 +10971,7 @@ _0813B05C:
bne _0813B080
ldr r0, =0x000008d4
bl FlagSet
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x2
_0813B06A:
strh r0, [r1]
@@ -10991,7 +10991,7 @@ _0813B080:
ldr r0, =0x00004035
adds r1, r5, 0
bl VarSet
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
adds r0, r7, 0
@@ -11684,7 +11684,7 @@ _0813B62E:
ldrh r1, [r5]
cmp r1, 0x1
bne _0813B668
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
b _0813B790
.pool
@@ -11698,7 +11698,7 @@ _0813B668:
ldrh r0, [r0]
cmp r0, 0x1
bne _0813B68C
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x2
b _0813B6AC
.pool
@@ -11710,12 +11710,12 @@ _0813B68C:
ldrh r0, [r0]
cmp r0, 0
bne _0813B6A8
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x3
b _0813B6AC
.pool
_0813B6A8:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
_0813B6AC:
strh r0, [r1]
@@ -11736,7 +11736,7 @@ _0813B6C2:
bl bitmask_all_link_players_but_self
lsls r0, 24
lsrs r0, 24
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r2, 0x2
bl SendBlock
b _0813B708
@@ -11751,7 +11751,7 @@ _0813B6E4:
lsls r0, 24
cmp r0, 0
beq _0813B790
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r0, =gBlockRecvBuffer
ldrh r0, [r0]
strh r0, [r1]
@@ -11773,20 +11773,20 @@ _0813B728:
lsls r0, 24
cmp r0, 0
bne _0813B74C
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0x2
bne _0813B790
- ldr r0, =gUnknown_0824979B
+ ldr r0, =gText_YourPartnerHasRetired
bl ShowFieldAutoScrollMessage
b _0813B790
.pool
_0813B74C:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0x3
bne _0813B790
- ldr r0, =gUnknown_0824979B
+ ldr r0, =gText_YourPartnerHasRetired
bl ShowFieldAutoScrollMessage
b _0813B790
.pool
@@ -12041,7 +12041,7 @@ _0813B94E:
thumb_func_start sub_813B968
sub_813B968: @ 813B968
push {r4,r5,lr}
- ldr r5, =gScriptResult
+ ldr r5, =gSpecialVar_Result
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
movs r1, 0x7
diff --git a/asm/script_menu.s b/asm/script_menu.s
index 55ce5736a..be7cbfbc7 100644
--- a/asm/script_menu.s
+++ b/asm/script_menu.s
@@ -24,7 +24,7 @@ ScriptMenu_Multichoice: @ 80E1E08
lsrs r0, 24
cmp r0, 0x1
beq _080E1E4C
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
movs r1, 0xFF
strh r1, [r0]
movs r0, 0
@@ -70,7 +70,7 @@ ScriptMenu_MultichoiceWithDefault: @ 80E1E58
lsrs r0, 24
cmp r0, 0x1
beq _080E1EA8
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0xFF
strh r0, [r1]
str r4, [sp]
@@ -358,13 +358,13 @@ _080E20B8:
bne _080E20FC
movs r0, 0x5
bl PlaySE
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x7F
strh r0, [r1]
b _080E20EC
.pool
_080E20E8:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
_080E20EC:
ldrb r0, [r5, 0xC]
@@ -389,7 +389,7 @@ ScriptMenu_YesNo: @ 80E2108
lsrs r0, 24
cmp r0, 0x1
beq _080E2138
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0xFF
strh r0, [r1]
bl sub_8197930
@@ -410,7 +410,7 @@ _080E213A:
thumb_func_start sub_80E2140
sub_80E2140: @ 80E2140
push {lr}
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
ldrh r0, [r0]
cmp r0, 0xFF
beq _080E2154
@@ -465,12 +465,12 @@ _080E219C:
_080E21A4:
movs r0, 0x5
bl PlaySE
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
b _080E21B8
.pool
_080E21B4:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
_080E21B8:
strh r0, [r1]
@@ -517,7 +517,7 @@ ScriptMenu_MultichoiceGrid: @ 80E21D0
b _080E22E8
.pool
_080E2210:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
movs r1, 0xFF
strh r1, [r0]
movs r2, 0
@@ -655,13 +655,13 @@ sub_80E2308: @ 80E2308
bne _080E2360
movs r0, 0x5
bl PlaySE
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x7F
strh r0, [r1]
b _080E2350
.pool
_080E234C:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
_080E2350:
ldrb r0, [r5, 0xC]
@@ -686,7 +686,7 @@ sp109_CreatePCMenu: @ 80E236C
lsrs r0, 24
cmp r0, 0x1
beq _080E2394
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0xFF
strh r0, [r1]
bl CreatePCMenu
@@ -893,7 +893,7 @@ sub_80E2548: @ 80E2548
lsrs r0, 24
cmp r0, 0x1
beq _080E2570
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0xFF
strh r0, [r1]
bl sub_80E2578
@@ -1266,7 +1266,7 @@ _080E2860:
thumb_func_start sub_80E2878
sub_80E2878: @ 80E2878
push {lr}
- ldr r2, =gScriptResult
+ ldr r2, =gSpecialVar_Result
ldrh r0, [r2]
cmp r0, 0x7F
beq _080E288C
@@ -1648,7 +1648,7 @@ sp106_CreateStartMenu: @ 80E2B7C
lsrs r0, 24
cmp r0, 0x1
beq _080E2BA4
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0xFF
strh r0, [r1]
bl CreateStartMenu
diff --git a/asm/script_pokemon_util_80F87D8.s b/asm/script_pokemon_util_80F87D8.s
index 7909fa721..3a3cf4269 100644
--- a/asm/script_pokemon_util_80F87D8.s
+++ b/asm/script_pokemon_util_80F87D8.s
@@ -83,7 +83,7 @@ sub_80F8850: @ 80F8850
thumb_func_start sub_80F8864
sub_80F8864: @ 80F8864
push {lr}
- ldr r0, =gScriptContestCategory
+ ldr r0, =gSpecialVar_ContestCategory
ldrh r0, [r0]
cmp r0, 0x4
bhi _080F88A4
@@ -157,7 +157,7 @@ sub_80F88E8: @ 80F88E8
ldrb r0, [r0]
cmp r0, 0
bne _080F8930
- ldr r0, =gUnknown_02039F2E
+ ldr r0, =gSpecialVar_ContestRank
ldrh r0, [r0]
cmp r0, 0x3
bne _080F8930
@@ -601,7 +601,7 @@ sub_80F8C7C: @ 80F8C7C
ldrb r0, [r0]
cmp r0, 0
bne _080F8D18
- ldr r0, =gUnknown_02039F2E
+ ldr r0, =gSpecialVar_ContestRank
ldrh r0, [r0]
cmp r0, 0x3
bne _080F8D18
@@ -952,7 +952,7 @@ sub_80F8FA0: @ 80F8FA0
ands r0, r1
cmp r0, 0
bne _080F8FD8
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl GetMultiplayerId
lsls r0, 24
lsrs r0, 24
@@ -960,7 +960,7 @@ sub_80F8FA0: @ 80F8FA0
b _080F8FDE
.pool
_080F8FD8:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x4
strh r0, [r1]
_080F8FDE:
@@ -987,11 +987,11 @@ sub_80F8FE8: @ 80F8FE8
adds r0, r1
str r0, [r2]
lsrs r0, 16
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
b _080F902A
.pool
_080F9020:
- ldr r4, =gScriptResult
+ ldr r4, =gSpecialVar_Result
bl Random
lsls r0, 16
lsrs r0, 16
@@ -1376,7 +1376,7 @@ _080F9310:
cmp r1, 0x2
bne _080F9318
_080F9314:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
_080F9318:
pop {r0}
@@ -1550,12 +1550,12 @@ sub_80F9460: @ 80F9460
ldrb r1, [r0]
cmp r1, 0
bne _080F9478
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
b _080F947E
.pool
_080F9478:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
_080F947E:
@@ -1590,12 +1590,12 @@ sub_80F94B8: @ 80F94B8
ldrb r1, [r0]
cmp r1, 0
bne _080F94D0
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
b _080F94D6
.pool
_080F94D0:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
_080F94D6:
diff --git a/asm/start_menu.s b/asm/start_menu.s
index e5e91bac8..634425f80 100644
--- a/asm/start_menu.s
+++ b/asm/start_menu.s
@@ -868,7 +868,7 @@ _0809FF00:
bl sub_8197DF8
bl sub_80984F4
bl ScriptContext2_Disable
- ldr r0, =gUnknown_08252C88
+ ldr r0, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88
bl ScriptContext1_SetupScript
movs r0, 0x1
b _0809FF22
@@ -974,13 +974,13 @@ task50_save_game: @ 809FFD0
_0809FFEC:
cmp r1, 0x3
bgt _080A0000
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
b _080A0000
.pool
_0809FFFC:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r1, [r0]
_080A0000:
adds r0, r4, 0
@@ -1089,7 +1089,7 @@ sub_80A00A0: @ 80A00A0
lsls r0, 24
cmp r0, 0
beq _080A00D4
- ldr r0, =gUnknown_08252CA7
+ ldr r0, =BattleFrontier_BattlePyramidEmptySquare_Text_252CA7
ldr r1, =sub_80A00EC
bl sub_809FF98
b _080A00DC
@@ -1415,7 +1415,7 @@ sub_80A035C: @ 80A035C
movs r1, 0
bl sub_819746C
bl remove_start_menu_window_maybe
- ldr r0, =gUnknown_08252CFB
+ ldr r0, =BattleFrontier_BattlePyramidEmptySquare_Text_252CFB
ldr r1, =sub_80A0388
bl sub_809FF98
movs r0, 0
diff --git a/asm/starter_choose.s b/asm/starter_choose.s
deleted file mode 100644
index da42959ea..000000000
--- a/asm/starter_choose.s
+++ /dev/null
@@ -1,985 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8133EDC
-sub_8133EDC: @ 8133EDC
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3
- bls _08133EE8
- movs r1, 0
-_08133EE8:
- ldr r0, =gUnknown_085B1DF8
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8133EDC
-
- thumb_func_start sub_8133EF8
-sub_8133EF8: @ 8133EF8
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8133EF8
-
- thumb_func_start set_256color_bg_bg0
-set_256color_bg_bg0: @ 8133F0C
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0xC
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xE
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xC
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xA
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x8
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- add r1, sp, 0x4
- movs r0, 0
- strh r0, [r1]
- ldr r2, =0x040000d4
- str r1, [r2]
- movs r1, 0xC0
- lsls r1, 19
- str r1, [r2, 0x4]
- ldr r0, =0x8100c000
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r0, 0
- mov r9, r0
- str r0, [sp, 0x8]
- add r0, sp, 0x8
- str r0, [r2]
- movs r0, 0xE0
- lsls r0, 19
- str r0, [r2, 0x4]
- ldr r0, =0x85000100
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- add r0, sp, 0x4
- mov r3, r9
- strh r3, [r0]
- str r0, [r2]
- movs r0, 0xA0
- lsls r0, 19
- str r0, [r2, 0x4]
- ldr r0, =0x81000200
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r0, =gBirchHelpGfx
- bl LZ77UnCompVram
- ldr r0, =gBirchBagTilemap
- ldr r1, =0x06003000
- bl LZ77UnCompVram
- ldr r0, =gBirchGrassTilemap
- ldr r1, =0x06003800
- bl LZ77UnCompVram
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_085B1E00
- movs r0, 0
- movs r2, 0x3
- bl InitBgsFromTemplates
- ldr r0, =gUnknown_085B1DCC
- bl InitWindows
- bl DeactivateAllTextPrinters
- movs r1, 0xAA
- lsls r1, 2
- movs r0, 0
- movs r2, 0xD0
- bl sub_809882C
- bl clear_scheduled_bg_copies_to_vram
- bl remove_some_task
- bl ResetTasks
- bl ResetSpriteData
- bl ResetPaletteFade
- bl FreeAllSpritePalettes
- bl dp13_810BB8C
- bl sub_8098C64
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gBirchBagGrassPal
- movs r1, 0
- movs r2, 0x40
- bl LoadPalette
- ldr r0, =gUnknown_085B1ED8
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085B1EE8
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085B1EF8
- bl LoadSpritePalettes
- movs r0, 0x1
- negs r0, r0
- mov r1, r9
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0x1
- bl EnableInterrupts
- ldr r0, =sub_8133EF8
- bl SetVBlankCallback
- ldr r0, =sub_81341E0
- bl SetMainCallback2
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x1F
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0xFE
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0x7
- bl SetGpuReg
- movs r1, 0xC1
- lsls r1, 6
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- ldr r0, =sub_81341FC
- movs r1, 0
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r3, 0x1
- mov r10, r3
- mov r1, r10
- strh r1, [r0, 0x8]
- ldr r0, =gUnknown_085B1F10
- movs r1, 0x78
- movs r2, 0x38
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gSprites
- mov r8, r3
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- strh r4, [r1, 0x2E]
- ldr r6, =gUnknown_085B1F28
- ldr r5, =gUnknown_085B1DEC
- ldrb r1, [r5]
- ldrb r2, [r5, 0x1]
- adds r0, r6, 0
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- strh r4, [r1, 0x2E]
- mov r0, r9
- strh r0, [r1, 0x30]
- ldrb r1, [r5, 0x2]
- ldrb r2, [r5, 0x3]
- adds r0, r6, 0
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- strh r4, [r1, 0x2E]
- mov r3, r10
- strh r3, [r1, 0x30]
- ldrb r1, [r5, 0x4]
- ldrb r2, [r5, 0x5]
- adds r0, r6, 0
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- strh r4, [r1, 0x2E]
- movs r0, 0x2
- strh r0, [r1, 0x30]
- ldr r1, =gUnknown_030011F8
- movs r0, 0xFF
- strh r0, [r1]
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end set_256color_bg_bg0
-
- thumb_func_start sub_81341E0
-sub_81341E0: @ 81341E0
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl do_scheduled_bg_tilemap_copies_to_vram
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_81341E0
-
- thumb_func_start sub_81341FC
-sub_81341FC: @ 81341FC
- push {r4,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldrb r0, [r4, 0x8]
- bl sub_81344C8
- movs r2, 0xAA
- lsls r2, 2
- movs r0, 0
- movs r1, 0
- movs r3, 0xD
- bl SetWindowBorderStyle
- ldr r2, =gText_BirchInTrouble
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, =sub_813425C
- str r0, [r4]
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81341FC
-
- thumb_func_start sub_813425C
-sub_813425C: @ 813425C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r6, r0, r2
- ldrh r7, [r6, 0x8]
- ldrb r4, [r6, 0x8]
- ldr r1, =gMain
- ldrh r3, [r1, 0x2E]
- movs r0, 0x1
- ands r0, r3
- cmp r0, 0
- beq _081342F8
- bl sub_8134604
- ldr r0, =gUnknown_085B1F40
- ldr r1, =gUnknown_085B1DEC
- lsls r2, r4, 1
- adds r3, r2, r1
- ldrb r5, [r3]
- adds r1, 0x1
- adds r2, r1
- ldrb r4, [r2]
- adds r1, r5, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0xC]
- ldrh r0, [r6, 0x8]
- bl sub_8133EDC
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_8134690
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r2, r4, 0
- adds r2, 0x10
- adds r2, r1, r2
- ldr r3, =gUnknown_085B1ED0
- str r3, [r2]
- adds r4, 0x1C
- adds r1, r4
- ldr r2, =sub_8134774
- str r2, [r1]
- strh r0, [r6, 0xA]
- ldr r0, =sub_8134340
- str r0, [r6]
- b _08134334
- .pool
-_081342F8:
- movs r0, 0x20
- ands r0, r3
- cmp r0, 0
- beq _08134314
- cmp r4, 0
- beq _08134314
- subs r0, r7, 0x1
- strh r0, [r6, 0x8]
- ldr r0, =sub_8134640
- str r0, [r6]
- b _08134334
- .pool
-_08134314:
- ldrh r1, [r1, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08134334
- cmp r4, 0x1
- bhi _08134334
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- ldr r1, =sub_8134640
- str r1, [r0]
-_08134334:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813425C
-
- thumb_func_start sub_8134340
-sub_8134340: @ 8134340
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gSprites
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r2, r1, r2
- movs r0, 0xC
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r3
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _0813437E
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- cmp r0, 0x78
- bne _0813437E
- movs r3, 0x22
- ldrsh r0, [r1, r3]
- cmp r0, 0x40
- bne _0813437E
- ldr r0, =sub_8134390
- str r0, [r2]
-_0813437E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8134340
-
- thumb_func_start sub_8134390
-sub_8134390: @ 8134390
- push {r4,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldrh r0, [r4, 0x8]
- bl sub_8133EDC
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl PlayCry1
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, =gText_ConfirmStarterChoice
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, =gUnknown_085B1DDC
- movs r1, 0xAA
- lsls r1, 2
- movs r2, 0xD
- movs r3, 0
- bl CreateYesNoMenu
- ldr r0, =sub_8134400
- str r0, [r4]
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8134390
-
- thumb_func_start sub_8134400
-sub_8134400: @ 8134400
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8198C58
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08134426
- cmp r1, 0
- bgt _08134420
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08134450
- b _0813449A
-_08134420:
- cmp r1, 0x1
- beq _08134450
- b _0813449A
-_08134426:
- ldr r2, =gScriptResult
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x8]
- strh r0, [r2]
- bl dp13_810BB8C
- ldr r0, =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
- b _0813449A
- .pool
-_08134450:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gTasks
- lsls r5, r4, 2
- adds r5, r4
- lsls r5, 3
- adds r5, r0
- ldrb r4, [r5, 0xA]
- ldr r6, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl sub_818D820
- ldrb r0, [r5, 0xC]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r4, r6
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- ldr r0, =sub_81344AC
- str r0, [r5]
-_0813449A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8134400
-
- thumb_func_start sub_81344AC
-sub_81344AC: @ 81344AC
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =sub_81341FC
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81344AC
-
- thumb_func_start sub_81344C8
-sub_81344C8: @ 81344C8
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x34
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r5, 0
- bl sub_8133EDC
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- add r1, sp, 0xC
- bl sub_81DB468
- movs r0, 0xB
- adds r1, r4, 0
- muls r1, r0
- mov r9, r1
- ldr r0, =gSpeciesNames
- add r9, r0
- ldr r0, =gUnknown_085B1DE4
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x2C]
- str r1, [sp, 0x30]
- ldr r3, =gUnknown_085B1DF2
- lsls r5, 1
- adds r2, r5, r3
- mov r10, r2
- ldrb r0, [r2]
- lsls r0, 8
- ldr r1, =0xffff00ff
- ldr r2, [sp, 0x2C]
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x2C]
- adds r3, 0x1
- adds r5, r3
- ldrb r1, [r5]
- lsls r1, 16
- ldr r0, =0xff00ffff
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x2C]
- add r0, sp, 0x2C
- bl AddWindow
- ldr r4, =gUnknown_030011F8
- strh r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x7
- add r1, sp, 0xC
- movs r2, 0x68
- bl GetStringCenterAlignXOffset
- adds r2, r0, 0
- ldrb r0, [r4]
- lsls r2, 24
- lsrs r2, 24
- ldr r1, =gUnknown_085B1E0C
- mov r8, r1
- str r1, [sp]
- movs r6, 0
- str r6, [sp, 0x4]
- add r1, sp, 0xC
- str r1, [sp, 0x8]
- movs r1, 0x7
- movs r3, 0x1
- bl box_print
- movs r0, 0x1
- mov r1, r9
- movs r2, 0x68
- bl GetStringCenterAlignXOffset
- adds r2, r0, 0
- ldrb r0, [r4]
- lsls r2, 24
- lsrs r2, 24
- mov r1, r8
- str r1, [sp]
- str r6, [sp, 0x4]
- mov r1, r9
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x11
- bl box_print
- ldrb r0, [r4]
- bl PutWindowTilemap
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- mov r2, r10
- ldrb r1, [r2]
- lsls r0, r1, 27
- movs r2, 0xFC
- lsls r2, 24
- adds r0, r2
- adds r1, 0xD
- lsls r1, 3
- adds r1, 0x4
- lsls r1, 24
- ldrb r4, [r5]
- lsls r5, r4, 27
- lsrs r5, 24
- adds r4, 0x4
- lsls r4, 27
- lsrs r4, 24
- lsrs r1, 8
- orrs r1, r0
- lsrs r1, 16
- movs r0, 0x40
- bl SetGpuReg
- lsls r5, 8
- orrs r5, r4
- movs r0, 0x44
- adds r1, r5, 0
- bl SetGpuReg
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81344C8
-
- thumb_func_start sub_8134604
-sub_8134604: @ 8134604
- push {r4,lr}
- ldr r4, =gUnknown_030011F8
- ldrb r0, [r4]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldrb r0, [r4]
- bl ClearWindowTilemap
- ldrb r0, [r4]
- bl RemoveWindow
- movs r0, 0xFF
- strh r0, [r4]
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8134604
-
- thumb_func_start sub_8134640
-sub_8134640: @ 8134640
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8134604
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_8134668
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8134640
-
- thumb_func_start sub_8134668
-sub_8134668: @ 8134668
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldrb r0, [r4, 0x8]
- bl sub_81344C8
- ldr r0, =sub_813425C
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8134668
-
- thumb_func_start sub_8134690
-sub_8134690: @ 8134690
- push {lr}
- sub sp, 0x10
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- str r1, [sp]
- str r2, [sp, 0x4]
- movs r1, 0xE
- str r1, [sp, 0x8]
- ldr r1, =0x0000ffff
- str r1, [sp, 0xC]
- movs r1, 0x8
- movs r2, 0
- movs r3, 0x1
- bl sub_818D3E4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- ldrb r3, [r2, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- strb r1, [r2, 0x5]
- add sp, 0x10
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8134690
-
- thumb_func_start sub_81346DC
-sub_81346DC: @ 81346DC
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, =gUnknown_085B1E28
- ldr r3, =gTasks
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- lsls r0, 1
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r4, 0x20]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- lsls r0, 1
- adds r2, 0x1
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r4, 0x22]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x4
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81346DC
-
- thumb_func_start sub_813473C
-sub_813473C: @ 813473C
- push {lr}
- adds r3, r0, 0
- ldr r2, =gTasks
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r1, r0
- bne _08134768
- adds r0, r3, 0
- movs r1, 0x1
- bl StartSpriteAnimIfDifferent
- b _08134770
- .pool
-_08134768:
- adds r0, r3, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
-_08134770:
- pop {r0}
- bx r0
- thumb_func_end sub_813473C
-
- thumb_func_start sub_8134774
-sub_8134774: @ 8134774
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x20]
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- cmp r0, 0x78
- ble _08134786
- subs r0, r2, 0x4
- strh r0, [r1, 0x20]
-_08134786:
- ldrh r2, [r1, 0x20]
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- cmp r0, 0x77
- bgt _08134794
- adds r0, r2, 0x4
- strh r0, [r1, 0x20]
-_08134794:
- ldrh r2, [r1, 0x22]
- movs r3, 0x22
- ldrsh r0, [r1, r3]
- cmp r0, 0x40
- ble _081347A2
- subs r0, r2, 0x2
- strh r0, [r1, 0x22]
-_081347A2:
- ldrh r2, [r1, 0x22]
- movs r3, 0x22
- ldrsh r0, [r1, r3]
- cmp r0, 0x3F
- bgt _081347B0
- adds r0, r2, 0x2
- strh r0, [r1, 0x22]
-_081347B0:
- pop {r0}
- bx r0
- thumb_func_end sub_8134774
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/trader.s b/asm/trader.s
index 8e0b17905..a43f59402 100644
--- a/asm/trader.s
+++ b/asm/trader.s
@@ -335,7 +335,7 @@ _08133CCA:
sub_8133CD8: @ 8133CD8
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
ldr r2, =0x00002e59
adds r0, r2
ldrb r0, [r0]
@@ -348,7 +348,7 @@ sub_8133CD8: @ 8133CD8
sub_8133CF4: @ 8133CF4
push {r4,r5,lr}
movs r4, 0
- ldr r5, =gScriptResult
+ ldr r5, =gSpecialVar_Result
_08133CFA:
adds r0, r4, 0
bl CountDecorationCategoryN
@@ -365,7 +365,7 @@ _08133D10:
lsrs r4, r0, 24
cmp r4, 0x7
bls _08133CFA
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
_08133D20:
@@ -378,7 +378,7 @@ _08133D20:
thumb_func_start sub_8133D2C
sub_8133D2C: @ 8133D2C
push {r4-r6,lr}
- ldr r6, =gScriptResult
+ ldr r6, =gSpecialVar_Result
movs r0, 0
strh r0, [r6]
ldr r4, =gDecorations
diff --git a/asm/trainer_see.s b/asm/trainer_see.s
index 59dd9f74b..ad6cc370e 100644
--- a/asm/trainer_see.s
+++ b/asm/trainer_see.s
@@ -1300,7 +1300,7 @@ sub_80B45D0: @ 80B45D0
bne _080B460C
adds r0, 0x1
strb r0, [r1]
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0x1
strh r0, [r1]
bl UnfreezeMapObjects
@@ -1313,7 +1313,7 @@ _080B460C:
movs r0, 0
strb r0, [r1]
_080B4610:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
_080B4616:
diff --git a/asm/use_pokeblock.s b/asm/use_pokeblock.s
index 20d23a878..3a8b76ab1 100755
--- a/asm/use_pokeblock.s
+++ b/asm/use_pokeblock.s
@@ -1016,7 +1016,7 @@ _08166BB6:
lsls r0, 24
cmp r0, 0
bne _08166BDA
- ldr r0, =gScriptItemId
+ ldr r0, =gSpecialVar_ItemId
ldrb r0, [r0]
bl sub_8136F68
ldr r0, =sub_8166BEC
diff --git a/asm/wallclock.s b/asm/wallclock.s
index f8cc87fe8..5c818212c 100644
--- a/asm/wallclock.s
+++ b/asm/wallclock.s
@@ -153,7 +153,7 @@ _081348FC:
movs r2, 0x20
bl LoadPalette
_08134906:
- bl sub_8098C64
+ bl GetOverworldTextboxPalettePtr
movs r1, 0xE0
movs r2, 0x20
bl LoadPalette
diff --git a/asm/wild_encounter.s b/asm/wild_encounter.s
index 9b6c901f6..70346e4d7 100644
--- a/asm/wild_encounter.s
+++ b/asm/wild_encounter.s
@@ -1628,12 +1628,12 @@ rock_smash_wild_pokemon_encounter: @ 80B550C
bne _080B5568
bl sub_80B0698
_080B5554:
- ldr r0, =gScriptResult
+ ldr r0, =gSpecialVar_Result
strh r4, [r0]
b _080B556E
.pool
_080B5568:
- ldr r1, =gScriptResult
+ ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
_080B556E:
@@ -2026,7 +2026,7 @@ sub_80B5870: @ 80B5870
bl VarSet
cmp r4, 0
bne _080B58C4
- ldr r0, =gUnknown_082A4B2A
+ ldr r0, =EventScript_RepelWoreOff
bl ScriptContext1_SetupScript
movs r0, 0x1
b _080B58C6
diff --git a/constants/constants.inc b/constants/constants.inc
index 3928d63d6..fbd4e8af0 100644
--- a/constants/constants.inc
+++ b/constants/constants.inc
@@ -17,3 +17,4 @@
.include "constants/berry_constants.inc"
.include "constants/field_object_constants.inc"
.include "constants/contest_move_effects.inc"
+ .include "constants/songs.inc"
diff --git a/constants/flags.inc b/constants/flags.inc
new file mode 100644
index 000000000..0b375f9d6
--- /dev/null
+++ b/constants/flags.inc
@@ -0,0 +1,1574 @@
+ .equiv FLAG_0x001, 0x1
+ .equiv FLAG_0x002, 0x2
+ .equiv FLAG_0x003, 0x3
+ .equiv FLAG_0x004, 0x4
+ .equiv FLAG_0x005, 0x5
+ .equiv FLAG_0x006, 0x6
+ .equiv FLAG_0x007, 0x7
+ .equiv FLAG_0x008, 0x8
+ .equiv FLAG_0x009, 0x9
+ .equiv FLAG_0x00A, 0xA
+ .equiv FLAG_0x00B, 0xB
+ .equiv FLAG_0x00C, 0xC
+ .equiv FLAG_0x00D, 0xD
+ .equiv FLAG_0x00E, 0xE
+ .equiv FLAG_0x00F, 0xF
+ .equiv FLAG_0x010, 0x10
+ .equiv FLAG_0x011, 0x11
+ .equiv FLAG_0x012, 0x12
+ .equiv FLAG_0x013, 0x13
+ .equiv FLAG_0x014, 0x14
+ .equiv FLAG_0x015, 0x15
+ .equiv FLAG_0x016, 0x16
+ .equiv FLAG_0x017, 0x17
+ .equiv FLAG_0x018, 0x18
+ .equiv FLAG_0x019, 0x19
+ .equiv FLAG_0x01A, 0x1A
+ .equiv FLAG_0x01B, 0x1B
+ .equiv FLAG_0x01C, 0x1C
+ .equiv FLAG_0x01D, 0x1D
+ .equiv FLAG_0x01E, 0x1E
+ .equiv FLAG_0x01F, 0x1F
+ .equiv FLAG_0x020, 0x20
+ .equiv FLAG_0x021, 0x21
+ .equiv FLAG_0x022, 0x22
+ .equiv FLAG_0x023, 0x23
+ .equiv FLAG_0x024, 0x24
+ .equiv FLAG_0x025, 0x25
+ .equiv FLAG_0x026, 0x26
+ .equiv FLAG_0x027, 0x27
+ .equiv FLAG_0x028, 0x28
+ .equiv FLAG_0x029, 0x29
+ .equiv FLAG_0x02A, 0x2A
+ .equiv FLAG_0x02B, 0x2B
+ .equiv FLAG_0x02C, 0x2C
+ .equiv FLAG_0x02D, 0x2D
+ .equiv FLAG_0x02E, 0x2E
+ .equiv FLAG_0x02F, 0x2F
+ .equiv FLAG_0x030, 0x30
+ .equiv FLAG_0x031, 0x31
+ .equiv FLAG_0x032, 0x32
+ .equiv FLAG_0x033, 0x33
+ .equiv FLAG_0x034, 0x34
+ .equiv FLAG_0x035, 0x35
+ .equiv FLAG_0x036, 0x36
+ .equiv FLAG_0x037, 0x37
+ .equiv FLAG_0x038, 0x38
+ .equiv FLAG_0x039, 0x39
+ .equiv FLAG_0x03A, 0x3A
+ .equiv FLAG_0x03B, 0x3B
+ .equiv FLAG_0x03C, 0x3C
+ .equiv FLAG_0x03D, 0x3D
+ .equiv FLAG_0x03E, 0x3E
+ .equiv FLAG_0x03F, 0x3F
+ .equiv FLAG_0x040, 0x40
+ .equiv FLAG_0x041, 0x41
+ .equiv FLAG_0x042, 0x42
+ .equiv FLAG_0x043, 0x43
+ .equiv FLAG_0x044, 0x44
+ .equiv FLAG_0x045, 0x45
+ .equiv FLAG_0x046, 0x46
+ .equiv FLAG_0x047, 0x47
+ .equiv FLAG_0x048, 0x48
+ .equiv FLAG_0x049, 0x49
+ .equiv FLAG_0x04A, 0x4A
+ .equiv FLAG_0x04B, 0x4B
+ .equiv FLAG_0x04C, 0x4C
+ .equiv FLAG_0x04D, 0x4D
+ .equiv FLAG_0x04E, 0x4E
+ .equiv FLAG_0x04F, 0x4F
+ .equiv FLAG_0x050, 0x50
+ .equiv FLAG_0x051, 0x51
+ .equiv FLAG_0x052, 0x52
+ .equiv FLAG_0x053, 0x53
+ .equiv FLAG_0x054, 0x54
+ .equiv FLAG_0x055, 0x55
+ .equiv FLAG_0x056, 0x56
+ .equiv FLAG_0x057, 0x57
+ .equiv FLAG_0x058, 0x58
+ .equiv FLAG_0x059, 0x59
+ .equiv FLAG_0x05A, 0x5A
+ .equiv FLAG_0x05B, 0x5B
+ .equiv FLAG_0x05C, 0x5C
+ .equiv FLAG_0x05D, 0x5D
+ .equiv FLAG_0x05E, 0x5E
+ .equiv FLAG_0x05F, 0x5F
+ .equiv FLAG_0x060, 0x60
+ .equiv FLAG_0x061, 0x61
+ .equiv FLAG_0x062, 0x62
+ .equiv FLAG_0x063, 0x63
+ .equiv FLAG_0x064, 0x64
+ .equiv FLAG_0x065, 0x65
+ .equiv FLAG_0x066, 0x66
+ .equiv FLAG_0x067, 0x67
+ .equiv FLAG_0x068, 0x68
+ .equiv FLAG_0x069, 0x69
+ .equiv FLAG_0x06A, 0x6A
+ .equiv FLAG_0x06B, 0x6B
+ .equiv FLAG_0x06C, 0x6C
+ .equiv FLAG_0x06D, 0x6D
+ .equiv FLAG_0x06E, 0x6E
+ .equiv FLAG_0x06F, 0x6F
+ .equiv FLAG_0x070, 0x70
+ .equiv FLAG_0x071, 0x71
+ .equiv FLAG_0x072, 0x72
+ .equiv FLAG_0x073, 0x73
+ .equiv FLAG_0x074, 0x74
+ .equiv FLAG_0x075, 0x75
+ .equiv FLAG_0x076, 0x76
+ .equiv FLAG_0x077, 0x77
+ .equiv FLAG_0x078, 0x78
+ .equiv FLAG_0x079, 0x79
+ .equiv FLAG_0x07A, 0x7A
+ .equiv FLAG_0x07B, 0x7B
+ .equiv FLAG_0x07C, 0x7C
+ .equiv FLAG_0x07D, 0x7D
+ .equiv FLAG_0x07E, 0x7E
+ .equiv FLAG_0x07F, 0x7F
+ .equiv FLAG_0x080, 0x80
+ .equiv FLAG_0x081, 0x81
+ .equiv FLAG_0x082, 0x82
+ .equiv FLAG_0x083, 0x83
+ .equiv FLAG_0x084, 0x84
+ .equiv FLAG_0x085, 0x85
+ .equiv FLAG_0x086, 0x86
+ .equiv FLAG_0x087, 0x87
+ .equiv FLAG_0x088, 0x88
+ .equiv FLAG_0x089, 0x89
+ .equiv FLAG_0x08A, 0x8A
+ .equiv FLAG_0x08B, 0x8B
+ .equiv FLAG_0x08C, 0x8C
+ .equiv FLAG_0x08D, 0x8D
+ .equiv FLAG_0x08E, 0x8E
+ .equiv FLAG_0x08F, 0x8F
+ .equiv FLAG_0x090, 0x90
+ .equiv FLAG_0x091, 0x91
+ .equiv FLAG_0x092, 0x92
+ .equiv FLAG_0x093, 0x93
+ .equiv FLAG_0x094, 0x94
+ .equiv FLAG_0x095, 0x95
+ .equiv FLAG_0x096, 0x96
+ .equiv FLAG_0x097, 0x97
+ .equiv FLAG_0x098, 0x98
+ .equiv FLAG_0x099, 0x99
+ .equiv FLAG_0x09A, 0x9A
+ .equiv FLAG_0x09B, 0x9B
+ .equiv FLAG_0x09C, 0x9C
+ .equiv FLAG_0x09D, 0x9D
+ .equiv FLAG_0x09E, 0x9E
+ .equiv FLAG_0x09F, 0x9F
+ .equiv FLAG_0x0A0, 0xA0
+ .equiv FLAG_0x0A1, 0xA1
+ .equiv FLAG_0x0A2, 0xA2
+ .equiv FLAG_0x0A3, 0xA3
+ .equiv FLAG_0x0A4, 0xA4
+ .equiv FLAG_0x0A5, 0xA5
+ .equiv FLAG_0x0A6, 0xA6
+ .equiv FLAG_0x0A7, 0xA7
+ .equiv FLAG_0x0A8, 0xA8
+ .equiv FLAG_0x0A9, 0xA9
+ .equiv FLAG_0x0AA, 0xAA
+ .equiv FLAG_0x0AB, 0xAB
+ .equiv FLAG_0x0AC, 0xAC
+ .equiv FLAG_0x0AD, 0xAD
+ .equiv FLAG_0x0AE, 0xAE
+ .equiv FLAG_0x0AF, 0xAF
+ .equiv FLAG_0x0B0, 0xB0
+ .equiv FLAG_0x0B1, 0xB1
+ .equiv FLAG_0x0B2, 0xB2
+ .equiv FLAG_0x0B3, 0xB3
+ .equiv FLAG_0x0B4, 0xB4
+ .equiv FLAG_0x0B5, 0xB5
+ .equiv FLAG_0x0B6, 0xB6
+ .equiv FLAG_0x0B7, 0xB7
+ .equiv FLAG_0x0B8, 0xB8
+ .equiv FLAG_0x0B9, 0xB9
+ .equiv FLAG_0x0BA, 0xBA
+ .equiv FLAG_0x0BB, 0xBB
+ .equiv FLAG_0x0BC, 0xBC
+ .equiv FLAG_0x0BD, 0xBD
+ .equiv FLAG_0x0BE, 0xBE
+ .equiv FLAG_0x0BF, 0xBF
+ .equiv FLAG_0x0C0, 0xC0
+ .equiv FLAG_0x0C1, 0xC1
+ .equiv FLAG_0x0C2, 0xC2
+ .equiv FLAG_0x0C3, 0xC3
+ .equiv FLAG_0x0C4, 0xC4
+ .equiv FLAG_0x0C5, 0xC5
+ .equiv FLAG_0x0C6, 0xC6
+ .equiv FLAG_0x0C7, 0xC7
+ .equiv FLAG_0x0C8, 0xC8
+ .equiv FLAG_0x0C9, 0xC9
+ .equiv FLAG_0x0CA, 0xCA
+ .equiv FLAG_0x0CB, 0xCB
+ .equiv FLAG_0x0CC, 0xCC
+ .equiv FLAG_0x0CD, 0xCD
+ .equiv FLAG_0x0CE, 0xCE
+ .equiv FLAG_0x0CF, 0xCF
+ .equiv FLAG_0x0D0, 0xD0
+ .equiv FLAG_0x0D1, 0xD1
+ .equiv FLAG_0x0D2, 0xD2
+ .equiv FLAG_0x0D3, 0xD3
+ .equiv FLAG_0x0D4, 0xD4
+ .equiv FLAG_0x0D5, 0xD5
+ .equiv FLAG_0x0D6, 0xD6
+ .equiv FLAG_0x0D7, 0xD7
+ .equiv FLAG_0x0D8, 0xD8
+ .equiv FLAG_0x0D9, 0xD9
+ .equiv FLAG_0x0DA, 0xDA
+ .equiv FLAG_0x0DB, 0xDB
+ .equiv FLAG_0x0DC, 0xDC
+ .equiv FLAG_0x0DD, 0xDD
+ .equiv FLAG_0x0DE, 0xDE
+ .equiv FLAG_0x0DF, 0xDF
+ .equiv FLAG_0x0E0, 0xE0
+ .equiv FLAG_0x0E1, 0xE1
+ .equiv FLAG_0x0E2, 0xE2
+ .equiv FLAG_0x0E3, 0xE3
+ .equiv FLAG_0x0E4, 0xE4
+ .equiv FLAG_0x0E5, 0xE5
+ .equiv FLAG_0x0E6, 0xE6
+ .equiv FLAG_0x0E7, 0xE7
+ .equiv FLAG_0x0E8, 0xE8
+ .equiv FLAG_0x0E9, 0xE9
+ .equiv FLAG_0x0EA, 0xEA
+ .equiv FLAG_0x0EB, 0xEB
+ .equiv FLAG_0x0EC, 0xEC
+ .equiv FLAG_0x0ED, 0xED
+ .equiv FLAG_0x0EE, 0xEE
+ .equiv FLAG_0x0EF, 0xEF
+ .equiv FLAG_0x0F0, 0xF0
+ .equiv FLAG_0x0F1, 0xF1
+ .equiv FLAG_0x0F2, 0xF2
+ .equiv FLAG_0x0F3, 0xF3
+ .equiv FLAG_0x0F4, 0xF4
+ .equiv FLAG_0x0F5, 0xF5
+ .equiv FLAG_0x0F6, 0xF6
+ .equiv FLAG_0x0F7, 0xF7
+ .equiv FLAG_0x0F8, 0xF8
+ .equiv FLAG_0x0F9, 0xF9
+ .equiv FLAG_0x0FA, 0xFA
+ .equiv FLAG_0x0FB, 0xFB
+ .equiv FLAG_0x0FC, 0xFC
+ .equiv FLAG_0x0FD, 0xFD
+ .equiv FLAG_0x0FE, 0xFE
+ .equiv FLAG_0x0FF, 0xFF
+ .equiv FLAG_0x100, 0x100
+ .equiv FLAG_0x101, 0x101
+ .equiv FLAG_0x102, 0x102
+ .equiv FLAG_0x103, 0x103
+ .equiv FLAG_0x104, 0x104
+ .equiv FLAG_0x105, 0x105
+ .equiv FLAG_0x106, 0x106
+ .equiv FLAG_0x107, 0x107
+ .equiv FLAG_0x108, 0x108
+ .equiv FLAG_0x109, 0x109
+ .equiv FLAG_0x10A, 0x10A
+ .equiv FLAG_0x10B, 0x10B
+ .equiv FLAG_0x10C, 0x10C
+ .equiv FLAG_0x10D, 0x10D
+ .equiv FLAG_0x10E, 0x10E
+ .equiv FLAG_0x10F, 0x10F
+ .equiv FLAG_0x110, 0x110
+ .equiv FLAG_0x111, 0x111
+ .equiv FLAG_0x112, 0x112
+ .equiv FLAG_0x113, 0x113
+ .equiv FLAG_0x114, 0x114
+ .equiv FLAG_0x115, 0x115
+ .equiv FLAG_0x116, 0x116
+ .equiv FLAG_0x117, 0x117
+ .equiv FLAG_0x118, 0x118
+ .equiv FLAG_0x119, 0x119
+ .equiv FLAG_0x11A, 0x11A
+ .equiv FLAG_0x11B, 0x11B
+ .equiv FLAG_0x11C, 0x11C
+ .equiv FLAG_0x11D, 0x11D
+ .equiv FLAG_0x11E, 0x11E
+ .equiv FLAG_0x11F, 0x11F
+ .equiv FLAG_0x120, 0x120
+ .equiv FLAG_0x121, 0x121
+ .equiv FLAG_0x122, 0x122
+ .equiv FLAG_0x123, 0x123
+ .equiv FLAG_0x124, 0x124
+ .equiv FLAG_0x125, 0x125
+ .equiv FLAG_0x126, 0x126
+ .equiv FLAG_0x127, 0x127
+ .equiv FLAG_0x128, 0x128
+ .equiv FLAG_0x129, 0x129
+ .equiv FLAG_0x12A, 0x12A
+ .equiv FLAG_0x12B, 0x12B
+ .equiv FLAG_0x12C, 0x12C
+ .equiv FLAG_0x12D, 0x12D
+ .equiv FLAG_0x12E, 0x12E
+ .equiv FLAG_0x12F, 0x12F
+ .equiv FLAG_0x130, 0x130
+ .equiv FLAG_0x131, 0x131
+ .equiv FLAG_0x132, 0x132
+ .equiv FLAG_0x133, 0x133
+ .equiv FLAG_0x134, 0x134
+ .equiv FLAG_0x135, 0x135
+ .equiv FLAG_0x136, 0x136
+ .equiv FLAG_0x137, 0x137
+ .equiv FLAG_0x138, 0x138
+ .equiv FLAG_0x139, 0x139
+ .equiv FLAG_0x13A, 0x13A
+ .equiv FLAG_0x13B, 0x13B
+ .equiv FLAG_0x13C, 0x13C
+ .equiv FLAG_0x13D, 0x13D
+ .equiv FLAG_0x13E, 0x13E
+ .equiv FLAG_0x13F, 0x13F
+ .equiv FLAG_0x140, 0x140
+ .equiv FLAG_0x141, 0x141
+ .equiv FLAG_0x142, 0x142
+ .equiv FLAG_0x143, 0x143
+ .equiv FLAG_0x144, 0x144
+ .equiv FLAG_0x145, 0x145
+ .equiv FLAG_0x146, 0x146
+ .equiv FLAG_0x147, 0x147
+ .equiv FLAG_0x148, 0x148
+ .equiv FLAG_0x149, 0x149
+ .equiv FLAG_0x14A, 0x14A
+ .equiv FLAG_0x14B, 0x14B
+ .equiv FLAG_0x14C, 0x14C
+ .equiv FLAG_0x14D, 0x14D
+ .equiv FLAG_0x14E, 0x14E
+ .equiv FLAG_0x14F, 0x14F
+ .equiv FLAG_0x150, 0x150
+ .equiv FLAG_0x151, 0x151
+ .equiv FLAG_0x152, 0x152
+ .equiv FLAG_0x153, 0x153
+ .equiv FLAG_0x154, 0x154
+ .equiv FLAG_0x155, 0x155
+ .equiv FLAG_0x156, 0x156
+ .equiv FLAG_0x157, 0x157
+ .equiv FLAG_0x158, 0x158
+ .equiv FLAG_0x159, 0x159
+ .equiv FLAG_0x15A, 0x15A
+ .equiv FLAG_0x15B, 0x15B
+ .equiv FLAG_0x15C, 0x15C
+ .equiv FLAG_0x15D, 0x15D
+ .equiv FLAG_0x15E, 0x15E
+ .equiv FLAG_0x15F, 0x15F
+ .equiv FLAG_0x160, 0x160
+ .equiv FLAG_0x161, 0x161
+ .equiv FLAG_0x162, 0x162
+ .equiv FLAG_0x163, 0x163
+ .equiv FLAG_0x164, 0x164
+ .equiv FLAG_0x165, 0x165
+ .equiv FLAG_0x166, 0x166
+ .equiv FLAG_0x167, 0x167
+ .equiv FLAG_0x168, 0x168
+ .equiv FLAG_0x169, 0x169
+ .equiv FLAG_0x16A, 0x16A
+ .equiv FLAG_0x16B, 0x16B
+ .equiv FLAG_0x16C, 0x16C
+ .equiv FLAG_0x16D, 0x16D
+ .equiv FLAG_0x16E, 0x16E
+ .equiv FLAG_0x16F, 0x16F
+ .equiv FLAG_0x170, 0x170
+ .equiv FLAG_0x171, 0x171
+ .equiv FLAG_0x172, 0x172
+ .equiv FLAG_0x173, 0x173
+ .equiv FLAG_0x174, 0x174
+ .equiv FLAG_0x175, 0x175
+ .equiv FLAG_0x176, 0x176
+ .equiv FLAG_0x177, 0x177
+ .equiv FLAG_0x178, 0x178
+ .equiv FLAG_0x179, 0x179
+ .equiv FLAG_0x17A, 0x17A
+ .equiv FLAG_0x17B, 0x17B
+ .equiv FLAG_0x17C, 0x17C
+ .equiv FLAG_0x17D, 0x17D
+ .equiv FLAG_0x17E, 0x17E
+ .equiv FLAG_0x17F, 0x17F
+ .equiv FLAG_0x180, 0x180
+ .equiv FLAG_0x181, 0x181
+ .equiv FLAG_0x182, 0x182
+ .equiv FLAG_0x183, 0x183
+ .equiv FLAG_0x184, 0x184
+ .equiv FLAG_0x185, 0x185
+ .equiv FLAG_0x186, 0x186
+ .equiv FLAG_0x187, 0x187
+ .equiv FLAG_0x188, 0x188
+ .equiv FLAG_0x189, 0x189
+ .equiv FLAG_0x18A, 0x18A
+ .equiv FLAG_0x18B, 0x18B
+ .equiv FLAG_0x18C, 0x18C
+ .equiv FLAG_0x18D, 0x18D
+ .equiv FLAG_0x18E, 0x18E
+ .equiv FLAG_0x18F, 0x18F
+ .equiv FLAG_0x190, 0x190
+ .equiv FLAG_0x191, 0x191
+ .equiv FLAG_0x192, 0x192
+ .equiv FLAG_0x193, 0x193
+ .equiv FLAG_0x194, 0x194
+ .equiv FLAG_0x195, 0x195
+ .equiv FLAG_0x196, 0x196
+ .equiv FLAG_0x197, 0x197
+ .equiv FLAG_0x198, 0x198
+ .equiv FLAG_0x199, 0x199
+ .equiv FLAG_0x19A, 0x19A
+ .equiv FLAG_0x19B, 0x19B
+ .equiv FLAG_0x19C, 0x19C
+ .equiv FLAG_0x19D, 0x19D
+ .equiv FLAG_0x19E, 0x19E
+ .equiv FLAG_0x19F, 0x19F
+ .equiv FLAG_0x1A0, 0x1A0
+ .equiv FLAG_0x1A1, 0x1A1
+ .equiv FLAG_0x1A2, 0x1A2
+ .equiv FLAG_0x1A3, 0x1A3
+ .equiv FLAG_0x1A4, 0x1A4
+ .equiv FLAG_0x1A5, 0x1A5
+ .equiv FLAG_0x1A6, 0x1A6
+ .equiv FLAG_0x1A7, 0x1A7
+ .equiv FLAG_0x1A8, 0x1A8
+ .equiv FLAG_0x1A9, 0x1A9
+ .equiv FLAG_0x1AA, 0x1AA
+ .equiv FLAG_0x1AB, 0x1AB
+ .equiv FLAG_0x1AC, 0x1AC
+ .equiv FLAG_0x1AD, 0x1AD
+ .equiv FLAG_0x1AE, 0x1AE
+ .equiv FLAG_0x1AF, 0x1AF
+ .equiv FLAG_0x1B0, 0x1B0
+ .equiv FLAG_0x1B1, 0x1B1
+ .equiv FLAG_0x1B2, 0x1B2
+ .equiv FLAG_0x1B3, 0x1B3
+ .equiv FLAG_0x1B4, 0x1B4
+ .equiv FLAG_0x1B5, 0x1B5
+ .equiv FLAG_0x1B6, 0x1B6
+ .equiv FLAG_0x1B7, 0x1B7
+ .equiv FLAG_0x1B8, 0x1B8
+ .equiv FLAG_0x1B9, 0x1B9
+ .equiv FLAG_0x1BA, 0x1BA
+ .equiv FLAG_0x1BB, 0x1BB
+ .equiv FLAG_0x1BC, 0x1BC
+ .equiv FLAG_0x1BD, 0x1BD
+ .equiv FLAG_0x1BE, 0x1BE
+ .equiv FLAG_0x1BF, 0x1BF
+ .equiv FLAG_0x1C0, 0x1C0
+ .equiv FLAG_0x1C1, 0x1C1
+ .equiv FLAG_0x1C2, 0x1C2
+ .equiv FLAG_0x1C3, 0x1C3
+ .equiv FLAG_0x1C4, 0x1C4
+ .equiv FLAG_0x1C5, 0x1C5
+ .equiv FLAG_0x1C6, 0x1C6
+ .equiv FLAG_0x1C7, 0x1C7
+ .equiv FLAG_0x1C8, 0x1C8
+ .equiv FLAG_0x1C9, 0x1C9
+ .equiv FLAG_0x1CA, 0x1CA
+ .equiv FLAG_0x1CB, 0x1CB
+ .equiv FLAG_0x1CC, 0x1CC
+ .equiv FLAG_0x1CD, 0x1CD
+ .equiv FLAG_0x1CE, 0x1CE
+ .equiv FLAG_0x1CF, 0x1CF
+ .equiv FLAG_0x1D0, 0x1D0
+ .equiv FLAG_0x1D1, 0x1D1
+ .equiv FLAG_0x1D2, 0x1D2
+ .equiv FLAG_0x1D3, 0x1D3
+ .equiv FLAG_0x1D4, 0x1D4
+ .equiv FLAG_0x1D5, 0x1D5
+ .equiv FLAG_0x1D6, 0x1D6
+ .equiv FLAG_0x1D7, 0x1D7
+ .equiv FLAG_0x1D8, 0x1D8
+ .equiv FLAG_0x1D9, 0x1D9
+ .equiv FLAG_0x1DA, 0x1DA
+ .equiv FLAG_0x1DB, 0x1DB
+ .equiv FLAG_0x1DC, 0x1DC
+ .equiv FLAG_0x1DD, 0x1DD
+ .equiv FLAG_0x1DE, 0x1DE
+ .equiv FLAG_0x1DF, 0x1DF
+ .equiv FLAG_0x1E0, 0x1E0
+ .equiv FLAG_0x1E1, 0x1E1
+ .equiv FLAG_0x1E2, 0x1E2
+ .equiv FLAG_0x1E3, 0x1E3
+ .equiv FLAG_0x1E4, 0x1E4
+ .equiv FLAG_0x1E5, 0x1E5
+ .equiv FLAG_0x1E6, 0x1E6
+ .equiv FLAG_0x1E7, 0x1E7
+ .equiv FLAG_0x1E8, 0x1E8
+ .equiv FLAG_0x1E9, 0x1E9
+ .equiv FLAG_0x1EA, 0x1EA
+ .equiv FLAG_0x1EB, 0x1EB
+ .equiv FLAG_0x1EC, 0x1EC
+ .equiv FLAG_0x1ED, 0x1ED
+ .equiv FLAG_0x1EE, 0x1EE
+ .equiv FLAG_0x1EF, 0x1EF
+ .equiv FLAG_0x1F0, 0x1F0
+ .equiv FLAG_0x1F1, 0x1F1
+ .equiv FLAG_0x1F2, 0x1F2
+ .equiv FLAG_0x1F3, 0x1F3
+ .equiv FLAG_0x1F4, 0x1F4
+ .equiv FLAG_0x1F5, 0x1F5
+ .equiv FLAG_0x1F6, 0x1F6
+ .equiv FLAG_0x1F7, 0x1F7
+ .equiv FLAG_0x1F8, 0x1F8
+ .equiv FLAG_0x1F9, 0x1F9
+ .equiv FLAG_0x1FA, 0x1FA
+ .equiv FLAG_0x1FB, 0x1FB
+ .equiv FLAG_0x1FC, 0x1FC
+ .equiv FLAG_0x1FD, 0x1FD
+ .equiv FLAG_0x1FE, 0x1FE
+ .equiv FLAG_0x1FF, 0x1FF
+ .equiv FLAG_0x200, 0x200
+ .equiv FLAG_0x201, 0x201
+ .equiv FLAG_0x202, 0x202
+ .equiv FLAG_0x203, 0x203
+ .equiv FLAG_0x204, 0x204
+ .equiv FLAG_0x205, 0x205
+ .equiv FLAG_0x206, 0x206
+ .equiv FLAG_0x207, 0x207
+ .equiv FLAG_0x208, 0x208
+ .equiv FLAG_0x209, 0x209
+ .equiv FLAG_0x20A, 0x20A
+ .equiv FLAG_0x20B, 0x20B
+ .equiv FLAG_0x20C, 0x20C
+ .equiv FLAG_0x20D, 0x20D
+ .equiv FLAG_0x20E, 0x20E
+ .equiv FLAG_0x20F, 0x20F
+ .equiv FLAG_0x210, 0x210
+ .equiv FLAG_0x211, 0x211
+ .equiv FLAG_0x212, 0x212
+ .equiv FLAG_0x213, 0x213
+ .equiv FLAG_0x214, 0x214
+ .equiv FLAG_0x215, 0x215
+ .equiv FLAG_0x216, 0x216
+ .equiv FLAG_0x217, 0x217
+ .equiv FLAG_0x218, 0x218
+ .equiv FLAG_0x219, 0x219
+ .equiv FLAG_0x21A, 0x21A
+ .equiv FLAG_0x21B, 0x21B
+ .equiv FLAG_0x21C, 0x21C
+ .equiv FLAG_0x21D, 0x21D
+ .equiv FLAG_0x21E, 0x21E
+ .equiv FLAG_0x21F, 0x21F
+ .equiv FLAG_0x220, 0x220
+ .equiv FLAG_0x221, 0x221
+ .equiv FLAG_0x222, 0x222
+ .equiv FLAG_0x223, 0x223
+ .equiv FLAG_0x224, 0x224
+ .equiv FLAG_0x225, 0x225
+ .equiv FLAG_0x226, 0x226
+ .equiv FLAG_0x227, 0x227
+ .equiv FLAG_0x228, 0x228
+ .equiv FLAG_0x229, 0x229
+ .equiv FLAG_0x22A, 0x22A
+ .equiv FLAG_0x22B, 0x22B
+ .equiv FLAG_0x22C, 0x22C
+ .equiv FLAG_0x22D, 0x22D
+ .equiv FLAG_0x22E, 0x22E
+ .equiv FLAG_0x22F, 0x22F
+ .equiv FLAG_0x230, 0x230
+ .equiv FLAG_0x231, 0x231
+ .equiv FLAG_0x232, 0x232
+ .equiv FLAG_0x233, 0x233
+ .equiv FLAG_0x234, 0x234
+ .equiv FLAG_0x235, 0x235
+ .equiv FLAG_0x236, 0x236
+ .equiv FLAG_0x237, 0x237
+ .equiv FLAG_0x238, 0x238
+ .equiv FLAG_0x239, 0x239
+ .equiv FLAG_0x23A, 0x23A
+ .equiv FLAG_0x23B, 0x23B
+ .equiv FLAG_0x23C, 0x23C
+ .equiv FLAG_0x23D, 0x23D
+ .equiv FLAG_0x23E, 0x23E
+ .equiv FLAG_0x23F, 0x23F
+ .equiv FLAG_0x240, 0x240
+ .equiv FLAG_0x241, 0x241
+ .equiv FLAG_0x242, 0x242
+ .equiv FLAG_0x243, 0x243
+ .equiv FLAG_0x244, 0x244
+ .equiv FLAG_0x245, 0x245
+ .equiv FLAG_0x246, 0x246
+ .equiv FLAG_0x247, 0x247
+ .equiv FLAG_0x248, 0x248
+ .equiv FLAG_0x249, 0x249
+ .equiv FLAG_0x24A, 0x24A
+ .equiv FLAG_0x24B, 0x24B
+ .equiv FLAG_0x24C, 0x24C
+ .equiv FLAG_0x24D, 0x24D
+ .equiv FLAG_0x24E, 0x24E
+ .equiv FLAG_0x24F, 0x24F
+ .equiv FLAG_0x250, 0x250
+ .equiv FLAG_0x251, 0x251
+ .equiv FLAG_0x252, 0x252
+ .equiv FLAG_0x253, 0x253
+ .equiv FLAG_0x254, 0x254
+ .equiv FLAG_0x255, 0x255
+ .equiv FLAG_0x256, 0x256
+ .equiv FLAG_0x257, 0x257
+ .equiv FLAG_0x258, 0x258
+ .equiv FLAG_0x259, 0x259
+ .equiv FLAG_0x25A, 0x25A
+ .equiv FLAG_0x25B, 0x25B
+ .equiv FLAG_0x25C, 0x25C
+ .equiv FLAG_0x25D, 0x25D
+ .equiv FLAG_0x25E, 0x25E
+ .equiv FLAG_0x25F, 0x25F
+ .equiv FLAG_0x260, 0x260
+ .equiv FLAG_0x261, 0x261
+ .equiv FLAG_0x262, 0x262
+ .equiv FLAG_0x263, 0x263
+ .equiv FLAG_0x264, 0x264
+ .equiv FLAG_0x265, 0x265
+ .equiv FLAG_0x266, 0x266
+ .equiv FLAG_0x267, 0x267
+ .equiv FLAG_0x268, 0x268
+ .equiv FLAG_0x269, 0x269
+ .equiv FLAG_0x26A, 0x26A
+ .equiv FLAG_0x26B, 0x26B
+ .equiv FLAG_0x26C, 0x26C
+ .equiv FLAG_0x26D, 0x26D
+ .equiv FLAG_0x26E, 0x26E
+ .equiv FLAG_0x26F, 0x26F
+ .equiv FLAG_0x270, 0x270
+ .equiv FLAG_0x271, 0x271
+ .equiv FLAG_0x272, 0x272
+ .equiv FLAG_0x273, 0x273
+ .equiv FLAG_0x274, 0x274
+ .equiv FLAG_0x275, 0x275
+ .equiv FLAG_0x276, 0x276
+ .equiv FLAG_0x277, 0x277
+ .equiv FLAG_0x278, 0x278
+ .equiv FLAG_0x279, 0x279
+ .equiv FLAG_0x27A, 0x27A
+ .equiv FLAG_0x27B, 0x27B
+ .equiv FLAG_0x27C, 0x27C
+ .equiv FLAG_0x27D, 0x27D
+ .equiv FLAG_0x27E, 0x27E
+ .equiv FLAG_0x27F, 0x27F
+ .equiv FLAG_0x280, 0x280
+ .equiv FLAG_0x281, 0x281
+ .equiv FLAG_0x282, 0x282
+ .equiv FLAG_0x283, 0x283
+ .equiv FLAG_0x284, 0x284
+ .equiv FLAG_0x285, 0x285
+ .equiv FLAG_0x286, 0x286
+ .equiv FLAG_0x287, 0x287
+ .equiv FLAG_0x288, 0x288
+ .equiv FLAG_0x289, 0x289
+ .equiv FLAG_0x28A, 0x28A
+ .equiv FLAG_0x28B, 0x28B
+ .equiv FLAG_0x28C, 0x28C
+ .equiv FLAG_0x28D, 0x28D
+ .equiv FLAG_0x28E, 0x28E
+ .equiv FLAG_0x28F, 0x28F
+ .equiv FLAG_0x290, 0x290
+ .equiv FLAG_0x291, 0x291
+ .equiv FLAG_0x292, 0x292
+ .equiv FLAG_0x293, 0x293
+ .equiv FLAG_0x294, 0x294
+ .equiv FLAG_0x295, 0x295
+ .equiv FLAG_0x296, 0x296
+ .equiv FLAG_0x297, 0x297
+ .equiv FLAG_0x298, 0x298
+ .equiv FLAG_0x299, 0x299
+ .equiv FLAG_0x29A, 0x29A
+ .equiv FLAG_0x29B, 0x29B
+ .equiv FLAG_0x29C, 0x29C
+ .equiv FLAG_0x29D, 0x29D
+ .equiv FLAG_0x29E, 0x29E
+ .equiv FLAG_0x29F, 0x29F
+ .equiv FLAG_0x2A0, 0x2A0
+ .equiv FLAG_0x2A1, 0x2A1
+ .equiv FLAG_0x2A2, 0x2A2
+ .equiv FLAG_0x2A3, 0x2A3
+ .equiv FLAG_0x2A4, 0x2A4
+ .equiv FLAG_0x2A5, 0x2A5
+ .equiv FLAG_0x2A6, 0x2A6
+ .equiv FLAG_0x2A7, 0x2A7
+ .equiv FLAG_0x2A8, 0x2A8
+ .equiv FLAG_0x2A9, 0x2A9
+ .equiv FLAG_0x2AA, 0x2AA
+ .equiv FLAG_0x2AB, 0x2AB
+ .equiv FLAG_0x2AC, 0x2AC
+ .equiv FLAG_0x2AD, 0x2AD
+ .equiv FLAG_0x2AE, 0x2AE
+ .equiv FLAG_0x2AF, 0x2AF
+ .equiv FLAG_0x2B0, 0x2B0
+ .equiv FLAG_0x2B1, 0x2B1
+ .equiv FLAG_0x2B2, 0x2B2
+ .equiv FLAG_0x2B3, 0x2B3
+ .equiv FLAG_0x2B4, 0x2B4
+ .equiv FLAG_0x2B5, 0x2B5
+ .equiv FLAG_0x2B6, 0x2B6
+ .equiv FLAG_0x2B7, 0x2B7
+ .equiv FLAG_0x2B8, 0x2B8
+ .equiv FLAG_0x2B9, 0x2B9
+ .equiv FLAG_0x2BA, 0x2BA
+ .equiv FLAG_0x2BB, 0x2BB
+ .equiv FLAG_0x2BC, 0x2BC
+ .equiv FLAG_0x2BD, 0x2BD
+ .equiv FLAG_0x2BE, 0x2BE
+ .equiv FLAG_0x2BF, 0x2BF
+ .equiv FLAG_0x2C0, 0x2C0
+ .equiv FLAG_0x2C1, 0x2C1
+ .equiv FLAG_0x2C2, 0x2C2
+ .equiv FLAG_0x2C3, 0x2C3
+ .equiv FLAG_0x2C4, 0x2C4
+ .equiv FLAG_0x2C5, 0x2C5
+ .equiv FLAG_0x2C6, 0x2C6
+ .equiv FLAG_0x2C7, 0x2C7
+ .equiv FLAG_0x2C8, 0x2C8
+ .equiv FLAG_0x2C9, 0x2C9
+ .equiv FLAG_0x2CA, 0x2CA
+ .equiv FLAG_0x2CB, 0x2CB
+ .equiv FLAG_0x2CC, 0x2CC
+ .equiv FLAG_0x2CD, 0x2CD
+ .equiv FLAG_0x2CE, 0x2CE
+ .equiv FLAG_0x2CF, 0x2CF
+ .equiv FLAG_0x2D0, 0x2D0
+ .equiv FLAG_0x2D1, 0x2D1
+ .equiv FLAG_0x2D2, 0x2D2
+ .equiv FLAG_0x2D3, 0x2D3
+ .equiv FLAG_0x2D4, 0x2D4
+ .equiv FLAG_0x2D5, 0x2D5
+ .equiv FLAG_0x2D6, 0x2D6
+ .equiv FLAG_0x2D7, 0x2D7
+ .equiv FLAG_0x2D8, 0x2D8
+ .equiv FLAG_0x2D9, 0x2D9
+ .equiv FLAG_0x2DA, 0x2DA
+ .equiv FLAG_0x2DB, 0x2DB
+ .equiv FLAG_0x2DC, 0x2DC
+ .equiv FLAG_0x2DD, 0x2DD
+ .equiv FLAG_0x2DE, 0x2DE
+ .equiv FLAG_0x2DF, 0x2DF
+ .equiv FLAG_0x2E0, 0x2E0
+ .equiv FLAG_0x2E1, 0x2E1
+ .equiv FLAG_0x2E2, 0x2E2
+ .equiv FLAG_0x2E3, 0x2E3
+ .equiv FLAG_0x2E4, 0x2E4
+ .equiv FLAG_0x2E5, 0x2E5
+ .equiv FLAG_0x2E6, 0x2E6
+ .equiv FLAG_0x2E7, 0x2E7
+ .equiv FLAG_0x2E8, 0x2E8
+ .equiv FLAG_0x2E9, 0x2E9
+ .equiv FLAG_0x2EA, 0x2EA
+ .equiv FLAG_0x2EB, 0x2EB
+ .equiv FLAG_0x2EC, 0x2EC
+ .equiv FLAG_0x2ED, 0x2ED
+ .equiv FLAG_0x2EE, 0x2EE
+ .equiv FLAG_0x2EF, 0x2EF
+ .equiv FLAG_0x2F0, 0x2F0
+ .equiv FLAG_0x2F1, 0x2F1
+ .equiv FLAG_0x2F2, 0x2F2
+ .equiv FLAG_0x2F3, 0x2F3
+ .equiv FLAG_0x2F4, 0x2F4
+ .equiv FLAG_0x2F5, 0x2F5
+ .equiv FLAG_0x2F6, 0x2F6
+ .equiv FLAG_0x2F7, 0x2F7
+ .equiv FLAG_0x2F8, 0x2F8
+ .equiv FLAG_0x2F9, 0x2F9
+ .equiv FLAG_0x2FA, 0x2FA
+ .equiv FLAG_0x2FB, 0x2FB
+ .equiv FLAG_0x2FC, 0x2FC
+ .equiv FLAG_0x2FD, 0x2FD
+ .equiv FLAG_0x2FE, 0x2FE
+ .equiv FLAG_0x2FF, 0x2FF
+ .equiv FLAG_0x300, 0x300
+ .equiv FLAG_0x301, 0x301
+ .equiv FLAG_0x302, 0x302
+ .equiv FLAG_0x303, 0x303
+ .equiv FLAG_0x304, 0x304
+ .equiv FLAG_0x305, 0x305
+ .equiv FLAG_0x306, 0x306
+ .equiv FLAG_0x307, 0x307
+ .equiv FLAG_0x308, 0x308
+ .equiv FLAG_0x309, 0x309
+ .equiv FLAG_0x30A, 0x30A
+ .equiv FLAG_0x30B, 0x30B
+ .equiv FLAG_0x30C, 0x30C
+ .equiv FLAG_0x30D, 0x30D
+ .equiv FLAG_0x30E, 0x30E
+ .equiv FLAG_0x30F, 0x30F
+ .equiv FLAG_0x310, 0x310
+ .equiv FLAG_0x311, 0x311
+ .equiv FLAG_0x312, 0x312
+ .equiv FLAG_0x313, 0x313
+ .equiv FLAG_0x314, 0x314
+ .equiv FLAG_0x315, 0x315
+ .equiv FLAG_0x316, 0x316
+ .equiv FLAG_0x317, 0x317
+ .equiv FLAG_0x318, 0x318
+ .equiv FLAG_0x319, 0x319
+ .equiv FLAG_0x31A, 0x31A
+ .equiv FLAG_0x31B, 0x31B
+ .equiv FLAG_0x31C, 0x31C
+ .equiv FLAG_0x31D, 0x31D
+ .equiv FLAG_0x31E, 0x31E
+ .equiv FLAG_0x31F, 0x31F
+ .equiv FLAG_0x320, 0x320
+ .equiv FLAG_0x321, 0x321
+ .equiv FLAG_0x322, 0x322
+ .equiv FLAG_0x323, 0x323
+ .equiv FLAG_0x324, 0x324
+ .equiv FLAG_0x325, 0x325
+ .equiv FLAG_0x326, 0x326
+ .equiv FLAG_0x327, 0x327
+ .equiv FLAG_0x328, 0x328
+ .equiv FLAG_0x329, 0x329
+ .equiv FLAG_0x32A, 0x32A
+ .equiv FLAG_0x32B, 0x32B
+ .equiv FLAG_0x32C, 0x32C
+ .equiv FLAG_0x32D, 0x32D
+ .equiv FLAG_0x32E, 0x32E
+ .equiv FLAG_0x32F, 0x32F
+ .equiv FLAG_0x330, 0x330
+ .equiv FLAG_0x331, 0x331
+ .equiv FLAG_0x332, 0x332
+ .equiv FLAG_0x333, 0x333
+ .equiv FLAG_0x334, 0x334
+ .equiv FLAG_0x335, 0x335
+ .equiv FLAG_0x336, 0x336
+ .equiv FLAG_0x337, 0x337
+ .equiv FLAG_0x338, 0x338
+ .equiv FLAG_0x339, 0x339
+ .equiv FLAG_0x33A, 0x33A
+ .equiv FLAG_0x33B, 0x33B
+ .equiv FLAG_0x33C, 0x33C
+ .equiv FLAG_0x33D, 0x33D
+ .equiv FLAG_0x33E, 0x33E
+ .equiv FLAG_0x33F, 0x33F
+ .equiv FLAG_0x340, 0x340
+ .equiv FLAG_0x341, 0x341
+ .equiv FLAG_0x342, 0x342
+ .equiv FLAG_0x343, 0x343
+ .equiv FLAG_0x344, 0x344
+ .equiv FLAG_0x345, 0x345
+ .equiv FLAG_0x346, 0x346
+ .equiv FLAG_0x347, 0x347
+ .equiv FLAG_0x348, 0x348
+ .equiv FLAG_0x349, 0x349
+ .equiv FLAG_0x34A, 0x34A
+ .equiv FLAG_0x34B, 0x34B
+ .equiv FLAG_0x34C, 0x34C
+ .equiv FLAG_0x34D, 0x34D
+ .equiv FLAG_0x34E, 0x34E
+ .equiv FLAG_0x34F, 0x34F
+ .equiv FLAG_0x350, 0x350
+ .equiv FLAG_0x351, 0x351
+ .equiv FLAG_0x352, 0x352
+ .equiv FLAG_0x353, 0x353
+ .equiv FLAG_0x354, 0x354
+ .equiv FLAG_0x355, 0x355
+ .equiv FLAG_0x356, 0x356
+ .equiv FLAG_0x357, 0x357
+ .equiv FLAG_0x358, 0x358
+ .equiv FLAG_0x359, 0x359
+ .equiv FLAG_0x35A, 0x35A
+ .equiv FLAG_0x35B, 0x35B
+ .equiv FLAG_0x35C, 0x35C
+ .equiv FLAG_0x35D, 0x35D
+ .equiv FLAG_0x35E, 0x35E
+ .equiv FLAG_0x35F, 0x35F
+ .equiv FLAG_0x360, 0x360
+ .equiv FLAG_0x361, 0x361
+ .equiv FLAG_0x362, 0x362
+ .equiv FLAG_0x363, 0x363
+ .equiv FLAG_0x364, 0x364
+ .equiv FLAG_0x365, 0x365
+ .equiv FLAG_0x366, 0x366
+ .equiv FLAG_0x367, 0x367
+ .equiv FLAG_0x368, 0x368
+ .equiv FLAG_0x369, 0x369
+ .equiv FLAG_0x36A, 0x36A
+ .equiv FLAG_0x36B, 0x36B
+ .equiv FLAG_0x36C, 0x36C
+ .equiv FLAG_0x36D, 0x36D
+ .equiv FLAG_0x36E, 0x36E
+ .equiv FLAG_0x36F, 0x36F
+ .equiv FLAG_0x370, 0x370
+ .equiv FLAG_0x371, 0x371
+ .equiv FLAG_0x372, 0x372
+ .equiv FLAG_0x373, 0x373
+ .equiv FLAG_0x374, 0x374
+ .equiv FLAG_0x375, 0x375
+ .equiv FLAG_0x376, 0x376
+ .equiv FLAG_0x377, 0x377
+ .equiv FLAG_0x378, 0x378
+ .equiv FLAG_0x379, 0x379
+ .equiv FLAG_0x37A, 0x37A
+ .equiv FLAG_0x37B, 0x37B
+ .equiv FLAG_0x37C, 0x37C
+ .equiv FLAG_0x37D, 0x37D
+ .equiv FLAG_0x37E, 0x37E
+ .equiv FLAG_0x37F, 0x37F
+ .equiv FLAG_0x380, 0x380
+ .equiv FLAG_0x381, 0x381
+ .equiv FLAG_0x382, 0x382
+ .equiv FLAG_0x383, 0x383
+ .equiv FLAG_0x384, 0x384
+ .equiv FLAG_0x385, 0x385
+ .equiv FLAG_0x386, 0x386
+ .equiv FLAG_0x387, 0x387
+ .equiv FLAG_0x388, 0x388
+ .equiv FLAG_0x389, 0x389
+ .equiv FLAG_0x38A, 0x38A
+ .equiv FLAG_0x38B, 0x38B
+ .equiv FLAG_0x38C, 0x38C
+ .equiv FLAG_0x38D, 0x38D
+ .equiv FLAG_0x38E, 0x38E
+ .equiv FLAG_0x38F, 0x38F
+ .equiv FLAG_0x390, 0x390
+ .equiv FLAG_0x391, 0x391
+ .equiv FLAG_0x392, 0x392
+ .equiv FLAG_0x393, 0x393
+ .equiv FLAG_0x394, 0x394
+ .equiv FLAG_0x395, 0x395
+ .equiv FLAG_0x396, 0x396
+ .equiv FLAG_0x397, 0x397
+ .equiv FLAG_0x398, 0x398
+ .equiv FLAG_0x399, 0x399
+ .equiv FLAG_0x39A, 0x39A
+ .equiv FLAG_0x39B, 0x39B
+ .equiv FLAG_0x39C, 0x39C
+ .equiv FLAG_0x39D, 0x39D
+ .equiv FLAG_0x39E, 0x39E
+ .equiv FLAG_0x39F, 0x39F
+ .equiv FLAG_0x3A0, 0x3A0
+ .equiv FLAG_0x3A1, 0x3A1
+ .equiv FLAG_0x3A2, 0x3A2
+ .equiv FLAG_0x3A3, 0x3A3
+ .equiv FLAG_0x3A4, 0x3A4
+ .equiv FLAG_0x3A5, 0x3A5
+ .equiv FLAG_0x3A6, 0x3A6
+ .equiv FLAG_0x3A7, 0x3A7
+ .equiv FLAG_0x3A8, 0x3A8
+ .equiv FLAG_0x3A9, 0x3A9
+ .equiv FLAG_0x3AA, 0x3AA
+ .equiv FLAG_0x3AB, 0x3AB
+ .equiv FLAG_0x3AC, 0x3AC
+ .equiv FLAG_0x3AD, 0x3AD
+ .equiv FLAG_0x3AE, 0x3AE
+ .equiv FLAG_0x3AF, 0x3AF
+ .equiv FLAG_0x3B0, 0x3B0
+ .equiv FLAG_0x3B1, 0x3B1
+ .equiv FLAG_0x3B2, 0x3B2
+ .equiv FLAG_0x3B3, 0x3B3
+ .equiv FLAG_0x3B4, 0x3B4
+ .equiv FLAG_0x3B5, 0x3B5
+ .equiv FLAG_0x3B6, 0x3B6
+ .equiv FLAG_0x3B7, 0x3B7
+ .equiv FLAG_0x3B8, 0x3B8
+ .equiv FLAG_0x3B9, 0x3B9
+ .equiv FLAG_0x3BA, 0x3BA
+ .equiv FLAG_0x3BB, 0x3BB
+ .equiv FLAG_0x3BC, 0x3BC
+ .equiv FLAG_0x3BD, 0x3BD
+ .equiv FLAG_0x3BE, 0x3BE
+ .equiv FLAG_0x3BF, 0x3BF
+ .equiv FLAG_0x3C0, 0x3C0
+ .equiv FLAG_0x3C1, 0x3C1
+ .equiv FLAG_0x3C2, 0x3C2
+ .equiv FLAG_0x3C3, 0x3C3
+ .equiv FLAG_0x3C4, 0x3C4
+ .equiv FLAG_0x3C5, 0x3C5
+ .equiv FLAG_0x3C6, 0x3C6
+ .equiv FLAG_0x3C7, 0x3C7
+ .equiv FLAG_0x3C8, 0x3C8
+ .equiv FLAG_0x3C9, 0x3C9
+ .equiv FLAG_0x3CA, 0x3CA
+ .equiv FLAG_0x3CB, 0x3CB
+ .equiv FLAG_0x3CC, 0x3CC
+ .equiv FLAG_0x3CD, 0x3CD
+ .equiv FLAG_0x3CE, 0x3CE
+ .equiv FLAG_0x3CF, 0x3CF
+ .equiv FLAG_0x3D0, 0x3D0
+ .equiv FLAG_0x3D1, 0x3D1
+ .equiv FLAG_0x3D2, 0x3D2
+ .equiv FLAG_0x3D3, 0x3D3
+ .equiv FLAG_0x3D4, 0x3D4
+ .equiv FLAG_0x3D5, 0x3D5
+ .equiv FLAG_0x3D6, 0x3D6
+ .equiv FLAG_0x3D7, 0x3D7
+ .equiv FLAG_0x3D8, 0x3D8
+ .equiv FLAG_0x3D9, 0x3D9
+ .equiv FLAG_0x3DA, 0x3DA
+ .equiv FLAG_0x3DB, 0x3DB
+ .equiv FLAG_0x3DC, 0x3DC
+ .equiv FLAG_0x3DD, 0x3DD
+ .equiv FLAG_0x3DE, 0x3DE
+ .equiv FLAG_0x3DF, 0x3DF
+ .equiv FLAG_0x3E0, 0x3E0
+ .equiv FLAG_0x3E1, 0x3E1
+ .equiv FLAG_0x3E2, 0x3E2
+ .equiv FLAG_0x3E3, 0x3E3
+ .equiv FLAG_0x3E4, 0x3E4
+ .equiv FLAG_0x3E5, 0x3E5
+ .equiv FLAG_0x3E6, 0x3E6
+ .equiv FLAG_0x3E7, 0x3E7
+ .equiv FLAG_0x3E8, 0x3E8
+ .equiv FLAG_0x3E9, 0x3E9
+ .equiv FLAG_0x3EA, 0x3EA
+ .equiv FLAG_0x3EB, 0x3EB
+ .equiv FLAG_0x3EC, 0x3EC
+ .equiv FLAG_0x3ED, 0x3ED
+ .equiv FLAG_0x3EE, 0x3EE
+ .equiv FLAG_0x3EF, 0x3EF
+ .equiv FLAG_0x3F0, 0x3F0
+ .equiv FLAG_0x3F1, 0x3F1
+ .equiv FLAG_0x3F2, 0x3F2
+ .equiv FLAG_0x3F3, 0x3F3
+ .equiv FLAG_0x3F4, 0x3F4
+ .equiv FLAG_0x3F5, 0x3F5
+ .equiv FLAG_0x3F6, 0x3F6
+ .equiv FLAG_0x3F7, 0x3F7
+ .equiv FLAG_0x3F8, 0x3F8
+ .equiv FLAG_0x3F9, 0x3F9
+ .equiv FLAG_0x3FA, 0x3FA
+ .equiv FLAG_0x3FB, 0x3FB
+ .equiv FLAG_0x3FC, 0x3FC
+ .equiv FLAG_0x3FD, 0x3FD
+ .equiv FLAG_0x3FE, 0x3FE
+ .equiv FLAG_0x3FF, 0x3FF
+ .equiv FLAG_0x400, 0x400
+ .equiv FLAG_0x401, 0x401
+ .equiv FLAG_0x402, 0x402
+ .equiv FLAG_0x403, 0x403
+ .equiv FLAG_0x404, 0x404
+ .equiv FLAG_0x405, 0x405
+ .equiv FLAG_0x406, 0x406
+ .equiv FLAG_0x407, 0x407
+ .equiv FLAG_0x408, 0x408
+ .equiv FLAG_0x409, 0x409
+ .equiv FLAG_0x40A, 0x40A
+ .equiv FLAG_0x40B, 0x40B
+ .equiv FLAG_0x40C, 0x40C
+ .equiv FLAG_0x40D, 0x40D
+ .equiv FLAG_0x40E, 0x40E
+ .equiv FLAG_0x40F, 0x40F
+ .equiv FLAG_0x410, 0x410
+ .equiv FLAG_0x411, 0x411
+ .equiv FLAG_0x412, 0x412
+ .equiv FLAG_0x413, 0x413
+ .equiv FLAG_0x414, 0x414
+ .equiv FLAG_0x415, 0x415
+ .equiv FLAG_0x416, 0x416
+ .equiv FLAG_0x417, 0x417
+ .equiv FLAG_0x418, 0x418
+ .equiv FLAG_0x419, 0x419
+ .equiv FLAG_0x41A, 0x41A
+ .equiv FLAG_0x41B, 0x41B
+ .equiv FLAG_0x41C, 0x41C
+ .equiv FLAG_0x41D, 0x41D
+ .equiv FLAG_0x41E, 0x41E
+ .equiv FLAG_0x41F, 0x41F
+ .equiv FLAG_0x420, 0x420
+ .equiv FLAG_0x421, 0x421
+ .equiv FLAG_0x422, 0x422
+ .equiv FLAG_0x423, 0x423
+ .equiv FLAG_0x424, 0x424
+ .equiv FLAG_0x425, 0x425
+ .equiv FLAG_0x426, 0x426
+ .equiv FLAG_0x427, 0x427
+ .equiv FLAG_0x428, 0x428
+ .equiv FLAG_0x429, 0x429
+ .equiv FLAG_0x42A, 0x42A
+ .equiv FLAG_0x42B, 0x42B
+ .equiv FLAG_0x42C, 0x42C
+ .equiv FLAG_0x42D, 0x42D
+ .equiv FLAG_0x42E, 0x42E
+ .equiv FLAG_0x42F, 0x42F
+ .equiv FLAG_0x430, 0x430
+ .equiv FLAG_0x431, 0x431
+ .equiv FLAG_0x432, 0x432
+ .equiv FLAG_0x433, 0x433
+ .equiv FLAG_0x434, 0x434
+ .equiv FLAG_0x435, 0x435
+ .equiv FLAG_0x436, 0x436
+ .equiv FLAG_0x437, 0x437
+ .equiv FLAG_0x438, 0x438
+ .equiv FLAG_0x439, 0x439
+ .equiv FLAG_0x43A, 0x43A
+ .equiv FLAG_0x43B, 0x43B
+ .equiv FLAG_0x43C, 0x43C
+ .equiv FLAG_0x43D, 0x43D
+ .equiv FLAG_0x43E, 0x43E
+ .equiv FLAG_0x43F, 0x43F
+ .equiv FLAG_0x440, 0x440
+ .equiv FLAG_0x441, 0x441
+ .equiv FLAG_0x442, 0x442
+ .equiv FLAG_0x443, 0x443
+ .equiv FLAG_0x444, 0x444
+ .equiv FLAG_0x445, 0x445
+ .equiv FLAG_0x446, 0x446
+ .equiv FLAG_0x447, 0x447
+ .equiv FLAG_0x448, 0x448
+ .equiv FLAG_0x449, 0x449
+ .equiv FLAG_0x44A, 0x44A
+ .equiv FLAG_0x44B, 0x44B
+ .equiv FLAG_0x44C, 0x44C
+ .equiv FLAG_0x44D, 0x44D
+ .equiv FLAG_0x44E, 0x44E
+ .equiv FLAG_0x44F, 0x44F
+ .equiv FLAG_0x450, 0x450
+ .equiv FLAG_0x451, 0x451
+ .equiv FLAG_0x452, 0x452
+ .equiv FLAG_0x453, 0x453
+ .equiv FLAG_0x454, 0x454
+ .equiv FLAG_0x455, 0x455
+ .equiv FLAG_0x456, 0x456
+ .equiv FLAG_0x457, 0x457
+ .equiv FLAG_0x458, 0x458
+ .equiv FLAG_0x459, 0x459
+ .equiv FLAG_0x45A, 0x45A
+ .equiv FLAG_0x45B, 0x45B
+ .equiv FLAG_0x45C, 0x45C
+ .equiv FLAG_0x45D, 0x45D
+ .equiv FLAG_0x45E, 0x45E
+ .equiv FLAG_0x45F, 0x45F
+ .equiv FLAG_0x460, 0x460
+ .equiv FLAG_0x461, 0x461
+ .equiv FLAG_0x462, 0x462
+ .equiv FLAG_0x463, 0x463
+ .equiv FLAG_0x464, 0x464
+ .equiv FLAG_0x465, 0x465
+ .equiv FLAG_0x466, 0x466
+ .equiv FLAG_0x467, 0x467
+ .equiv FLAG_0x468, 0x468
+ .equiv FLAG_0x469, 0x469
+ .equiv FLAG_0x46A, 0x46A
+ .equiv FLAG_0x46B, 0x46B
+ .equiv FLAG_0x46C, 0x46C
+ .equiv FLAG_0x46D, 0x46D
+ .equiv FLAG_0x46E, 0x46E
+ .equiv FLAG_0x46F, 0x46F
+ .equiv FLAG_0x470, 0x470
+ .equiv FLAG_0x471, 0x471
+ .equiv FLAG_0x472, 0x472
+ .equiv FLAG_0x473, 0x473
+ .equiv FLAG_0x474, 0x474
+ .equiv FLAG_0x475, 0x475
+ .equiv FLAG_0x476, 0x476
+ .equiv FLAG_0x477, 0x477
+ .equiv FLAG_0x478, 0x478
+ .equiv FLAG_0x479, 0x479
+ .equiv FLAG_0x47A, 0x47A
+ .equiv FLAG_0x47B, 0x47B
+ .equiv FLAG_0x47C, 0x47C
+ .equiv FLAG_0x47D, 0x47D
+ .equiv FLAG_0x47E, 0x47E
+ .equiv FLAG_0x47F, 0x47F
+ .equiv FLAG_0x480, 0x480
+ .equiv FLAG_0x481, 0x481
+ .equiv FLAG_0x482, 0x482
+ .equiv FLAG_0x483, 0x483
+ .equiv FLAG_0x484, 0x484
+ .equiv FLAG_0x485, 0x485
+ .equiv FLAG_0x486, 0x486
+ .equiv FLAG_0x487, 0x487
+ .equiv FLAG_0x488, 0x488
+ .equiv FLAG_0x489, 0x489
+ .equiv FLAG_0x48A, 0x48A
+ .equiv FLAG_0x48B, 0x48B
+ .equiv FLAG_0x48C, 0x48C
+ .equiv FLAG_0x48D, 0x48D
+ .equiv FLAG_0x48E, 0x48E
+ .equiv FLAG_0x48F, 0x48F
+ .equiv FLAG_0x490, 0x490
+ .equiv FLAG_0x491, 0x491
+ .equiv FLAG_0x492, 0x492
+ .equiv FLAG_0x493, 0x493
+ .equiv FLAG_0x494, 0x494
+ .equiv FLAG_0x495, 0x495
+ .equiv FLAG_0x496, 0x496
+ .equiv FLAG_0x497, 0x497
+ .equiv FLAG_0x498, 0x498
+ .equiv FLAG_0x499, 0x499
+ .equiv FLAG_0x49A, 0x49A
+ .equiv FLAG_0x49B, 0x49B
+ .equiv FLAG_0x49C, 0x49C
+ .equiv FLAG_0x49D, 0x49D
+ .equiv FLAG_0x49E, 0x49E
+ .equiv FLAG_0x49F, 0x49F
+ .equiv FLAG_0x4A0, 0x4A0
+ .equiv FLAG_0x4A1, 0x4A1
+ .equiv FLAG_0x4A2, 0x4A2
+ .equiv FLAG_0x4A3, 0x4A3
+ .equiv FLAG_0x4A4, 0x4A4
+ .equiv FLAG_0x4A5, 0x4A5
+ .equiv FLAG_0x4A6, 0x4A6
+ .equiv FLAG_0x4A7, 0x4A7
+ .equiv FLAG_0x4A8, 0x4A8
+ .equiv FLAG_0x4A9, 0x4A9
+ .equiv FLAG_0x4AA, 0x4AA
+ .equiv FLAG_0x4AB, 0x4AB
+ .equiv FLAG_0x4AC, 0x4AC
+ .equiv FLAG_0x4AD, 0x4AD
+ .equiv FLAG_0x4AE, 0x4AE
+ .equiv FLAG_0x4AF, 0x4AF
+ .equiv FLAG_0x4B0, 0x4B0
+ .equiv FLAG_0x4B1, 0x4B1
+ .equiv FLAG_0x4B2, 0x4B2
+ .equiv FLAG_0x4B3, 0x4B3
+ .equiv FLAG_0x4B4, 0x4B4
+ .equiv FLAG_0x4B5, 0x4B5
+ .equiv FLAG_0x4B6, 0x4B6
+ .equiv FLAG_0x4B7, 0x4B7
+ .equiv FLAG_0x4B8, 0x4B8
+ .equiv FLAG_0x4B9, 0x4B9
+ .equiv FLAG_0x4BA, 0x4BA
+ .equiv FLAG_0x4BB, 0x4BB
+ .equiv FLAG_0x4BC, 0x4BC
+ .equiv FLAG_0x4BD, 0x4BD
+ .equiv FLAG_0x4BE, 0x4BE
+ .equiv FLAG_0x4BF, 0x4BF
+ .equiv FLAG_0x4C0, 0x4C0
+ .equiv FLAG_0x4C1, 0x4C1
+ .equiv FLAG_0x4C2, 0x4C2
+ .equiv FLAG_0x4C3, 0x4C3
+ .equiv FLAG_0x4C4, 0x4C4
+ .equiv FLAG_0x4C5, 0x4C5
+ .equiv FLAG_0x4C6, 0x4C6
+ .equiv FLAG_0x4C7, 0x4C7
+ .equiv FLAG_0x4C8, 0x4C8
+ .equiv FLAG_0x4C9, 0x4C9
+ .equiv FLAG_0x4CA, 0x4CA
+ .equiv FLAG_0x4CB, 0x4CB
+ .equiv FLAG_0x4CC, 0x4CC
+ .equiv FLAG_0x4CD, 0x4CD
+ .equiv FLAG_0x4CE, 0x4CE
+ .equiv FLAG_0x4CF, 0x4CF
+ .equiv FLAG_0x4D0, 0x4D0
+ .equiv FLAG_0x4D1, 0x4D1
+ .equiv FLAG_0x4D2, 0x4D2
+ .equiv FLAG_0x4D3, 0x4D3
+ .equiv FLAG_0x4D4, 0x4D4
+ .equiv FLAG_0x4D5, 0x4D5
+ .equiv FLAG_0x4D6, 0x4D6
+ .equiv FLAG_0x4D7, 0x4D7
+ .equiv FLAG_0x4D8, 0x4D8
+ .equiv FLAG_0x4D9, 0x4D9
+ .equiv FLAG_0x4DA, 0x4DA
+ .equiv FLAG_0x4DB, 0x4DB
+ .equiv FLAG_0x4DC, 0x4DC
+ .equiv FLAG_0x4DD, 0x4DD
+ .equiv FLAG_0x4DE, 0x4DE
+ .equiv FLAG_0x4DF, 0x4DF
+ .equiv FLAG_0x4E0, 0x4E0
+ .equiv FLAG_0x4E1, 0x4E1
+ .equiv FLAG_0x4E2, 0x4E2
+ .equiv FLAG_0x4E3, 0x4E3
+ .equiv FLAG_0x4E4, 0x4E4
+ .equiv FLAG_0x4E5, 0x4E5
+ .equiv FLAG_0x4E6, 0x4E6
+ .equiv FLAG_0x4E7, 0x4E7
+ .equiv FLAG_0x4E8, 0x4E8
+ .equiv FLAG_0x4E9, 0x4E9
+ .equiv FLAG_0x4EA, 0x4EA
+ .equiv FLAG_0x4EB, 0x4EB
+ .equiv FLAG_0x4EC, 0x4EC
+ .equiv FLAG_0x4ED, 0x4ED
+ .equiv FLAG_0x4EE, 0x4EE
+ .equiv FLAG_0x4EF, 0x4EF
+ .equiv FLAG_0x4F0, 0x4F0
+ .equiv FLAG_0x4F1, 0x4F1
+ .equiv FLAG_0x4F2, 0x4F2
+ .equiv FLAG_0x4F3, 0x4F3
+ .equiv FLAG_0x4F4, 0x4F4
+ .equiv FLAG_0x4F5, 0x4F5
+ .equiv FLAG_0x4F6, 0x4F6
+ .equiv FLAG_0x4F7, 0x4F7
+ .equiv FLAG_0x4F8, 0x4F8
+ .equiv FLAG_0x4F9, 0x4F9
+ .equiv FLAG_0x4FA, 0x4FA
+ .equiv FLAG_0x4FB, 0x4FB
+ .equiv FLAG_0x4FC, 0x4FC
+ .equiv FLAG_0x4FD, 0x4FD
+ .equiv FLAG_0x4FE, 0x4FE
+ .equiv FLAG_0x4FF, 0x4FF
+ .equiv FLAG_TRAINER_FLAG_START, 0x500
+
+ .equiv TRAINERS_FLAG_NO, 0x356
+ .equiv CODE_FLAGS, (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) @ 0x860
+
+@ SYSTEM FLAGS
+
+ .equiv FLAG_SYS_POKEMON_GET, CODE_FLAGS + 0x0
+ .equiv FLAG_SYS_POKEDEX_GET, CODE_FLAGS + 0x1
+ .equiv FLAG_SYS_POKENAV_GET, CODE_FLAGS + 0x2
+ .equiv FLAG_0x863, CODE_FLAGS + 0x3
+ .equiv FLAG_SYS_GAME_CLEAR, CODE_FLAGS + 0x4
+ .equiv FLAG_SYS_CHAT_USED, CODE_FLAGS + 0x5
+ .equiv FLAG_SYS_HIPSTER_MEET, CODE_FLAGS + 0x6
+
+@ badges
+ .equiv FLAG_BADGE01_GET, CODE_FLAGS + 0x7
+ .equiv FLAG_BADGE02_GET, CODE_FLAGS + 0x8
+ .equiv FLAG_BADGE03_GET, CODE_FLAGS + 0x9
+ .equiv FLAG_BADGE04_GET, CODE_FLAGS + 0xA
+ .equiv FLAG_BADGE05_GET, CODE_FLAGS + 0xB
+ .equiv FLAG_BADGE06_GET, CODE_FLAGS + 0xC
+ .equiv FLAG_BADGE07_GET, CODE_FLAGS + 0xD
+ .equiv FLAG_BADGE08_GET, CODE_FLAGS + 0xE
+
+@ cities and towns
+ .equiv FLAG_VISITED_LITTLEROOT_TOWN, CODE_FLAGS + 0xF
+ .equiv FLAG_VISITED_OLDALE_TOWN, CODE_FLAGS + 0x10
+ .equiv FLAG_VISITED_DEWFORD_TOWN, CODE_FLAGS + 0x11
+ .equiv FLAG_VISITED_LAVARIDGE_TOWN, CODE_FLAGS + 0x12
+ .equiv FLAG_VISITED_FALLARBOR_TOWN, CODE_FLAGS + 0x13
+ .equiv FLAG_VISITED_VERDANTURF_TOWN, CODE_FLAGS + 0x14
+ .equiv FLAG_VISITED_PACIFIDLOG_TOWN, CODE_FLAGS + 0x15
+ .equiv FLAG_VISITED_PETALBURG_CITY, CODE_FLAGS + 0x16
+ .equiv FLAG_VISITED_SLATEPORT_CITY, CODE_FLAGS + 0x17
+ .equiv FLAG_VISITED_MAUVILLE_CITY, CODE_FLAGS + 0x18
+ .equiv FLAG_VISITED_RUSTBORO_CITY, CODE_FLAGS + 0x19
+ .equiv FLAG_VISITED_FORTREE_CITY, CODE_FLAGS + 0x1A
+ .equiv FLAG_VISITED_LILYCOVE_CITY, CODE_FLAGS + 0x1B
+ .equiv FLAG_VISITED_MOSSDEEP_CITY, CODE_FLAGS + 0x1C
+ .equiv FLAG_VISITED_SOOTOPOLIS_CITY, CODE_FLAGS + 0x1D
+ .equiv FLAG_VISITED_EVER_GRANDE_CITY, CODE_FLAGS + 0x1E
+
+ .equiv FLAG_0x87F, CODE_FLAGS + 0x1F
+ .equiv FLAG_0x880, CODE_FLAGS + 0x20
+ .equiv FLAG_0x881, CODE_FLAGS + 0x21
+ .equiv FLAG_0x882, CODE_FLAGS + 0x22
+ .equiv FLAG_0x883, CODE_FLAGS + 0x23
+ .equiv FLAG_0x884, CODE_FLAGS + 0x24
+ .equiv FLAG_0x885, CODE_FLAGS + 0x25
+ .equiv FLAG_0x886, CODE_FLAGS + 0x26
+ .equiv FLAG_0x887, CODE_FLAGS + 0x27
+
+ .equiv FLAG_SYS_USE_FLASH, CODE_FLAGS + 0x28
+ .equiv FLAG_SYS_USE_STRENGTH, CODE_FLAGS + 0x29
+ .equiv FLAG_SYS_WEATHER_CTRL, CODE_FLAGS + 0x2A
+ .equiv FLAG_SYS_CYCLING_ROAD, CODE_FLAGS + 0x2B
+ .equiv FLAG_SYS_SAFARI_MODE, CODE_FLAGS + 0x2C
+ .equiv FLAG_SYS_CRUISE_MODE, CODE_FLAGS + 0x2D
+
+ .equiv FLAG_0x88E, CODE_FLAGS + 0x2E
+ .equiv FLAG_0x88F, CODE_FLAGS + 0x2F
+
+ .equiv FLAG_SYS_TV_HOME, CODE_FLAGS + 0x30
+ .equiv FLAG_SYS_TV_WATCH, CODE_FLAGS + 0x31
+ .equiv FLAG_SYS_TV_START, CODE_FLAGS + 0x32
+ .equiv FLAG_SYS_POPWORD_INPUT, CODE_FLAGS + 0x33
+ .equiv FLAG_SYS_MIX_RECORD, CODE_FLAGS + 0x34
+ .equiv FLAG_SYS_CLOCK_SET, CODE_FLAGS + 0x35
+ .equiv FLAG_SYS_NATIONAL_DEX, CODE_FLAGS + 0x36
+ .equiv FLAG_SYS_CAVE_SHIP, CODE_FLAGS + 0x37
+ .equiv FLAG_SYS_CAVE_WONDER, CODE_FLAGS + 0x38
+ .equiv FLAG_SYS_CAVE_BATTLE, CODE_FLAGS + 0x39
+ .equiv FLAG_SYS_SHOAL_TIDE, CODE_FLAGS + 0x3A
+ .equiv FLAG_SYS_RIBBON_GET, CODE_FLAGS + 0x3B
+
+ .equiv FLAG_0x89C, CODE_FLAGS + 0x3C
+ .equiv FLAG_0x89D, CODE_FLAGS + 0x3D
+ .equiv FLAG_0x89E, CODE_FLAGS + 0x3E
+ .equiv FLAG_0x89F, CODE_FLAGS + 0x3F
+ .equiv FLAG_0x8A0, CODE_FLAGS + 0x40
+ .equiv FLAG_0x8A1, CODE_FLAGS + 0x41
+ .equiv FLAG_0x8A2, CODE_FLAGS + 0x42
+ .equiv FLAG_0x8A3, CODE_FLAGS + 0x43
+ .equiv FLAG_0x8A4, CODE_FLAGS + 0x44
+ .equiv FLAG_0x8A5, CODE_FLAGS + 0x45
+ .equiv FLAG_0x8A6, CODE_FLAGS + 0x46
+ .equiv FLAG_0x8A7, CODE_FLAGS + 0x47
+ .equiv FLAG_UNLOCK_BATTLE_FRONTIER, CODE_FLAGS + 0x48
+ .equiv FLAG_UNLOCK_SOUTHERN_ISLAND, CODE_FLAGS + 0x49
+ .equiv FLAG_0x8AA, CODE_FLAGS + 0x4A
+
+ .equiv FLAG_SYS_PC_LANETTE, CODE_FLAGS + 0x4B
+ .equiv FLAG_SYS_MYSTERY_EVENT_ENABLE, CODE_FLAGS + 0x4C
+ .equiv FLAG_SYS_ENC_UP_ITEM, CODE_FLAGS + 0x4D
+ .equiv FLAG_SYS_ENC_DOWN_ITEM, CODE_FLAGS + 0x4E
+
+ .equiv FLAG_SYS_BRAILLE_DIG, CODE_FLAGS + 0x4F
+ .equiv FLAG_SYS_BRAILLE_STRENGTH, CODE_FLAGS + 0x50
+ .equiv FLAG_SYS_BRAILLE_WAIT, CODE_FLAGS + 0x51
+ .equiv FLAG_SYS_BRAILLE_FLY, CODE_FLAGS + 0x52
+
+ .equiv FLAG_SYS_HAS_EON_TICKET, CODE_FLAGS + 0x53
+
+ .equiv FLAG_SYS_POKEMON_LEAGUE_FLY, CODE_FLAGS + 0x54
+
+ .equiv FLAG_0x8B5, CODE_FLAGS + 0x55
+ .equiv FLAG_0x8B6, CODE_FLAGS + 0x56
+ .equiv FLAG_0x8B7, CODE_FLAGS + 0x57
+ .equiv FLAG_0x8B8, CODE_FLAGS + 0x58
+ .equiv FLAG_0x8B9, CODE_FLAGS + 0x59
+ .equiv FLAG_0x8BA, CODE_FLAGS + 0x5A
+ .equiv FLAG_0x8BB, CODE_FLAGS + 0x5B
+ .equiv FLAG_0x8BC, CODE_FLAGS + 0x5C
+
+ .equiv FLAG_SYS_TV_LATI, CODE_FLAGS + 0x5D
+
+ .equiv FLAG_0x8BE, CODE_FLAGS + 0x5E
+
+ .equiv FLAG_SYS_SHOAL_ITEM, CODE_FLAGS + 0x5F
+ .equiv FLAG_SYS_B_DASH, CODE_FLAGS + 0x60 @ got Running Shoes
+ .equiv FLAG_SYS_CTRL_OBJ_DELETE, CODE_FLAGS + 0x61
+ .equiv FLAG_SYS_RESET_RTC_ENABLE, CODE_FLAGS + 0x62
+
+ .equiv FLAG_0x8C3, CODE_FLAGS + 0x63
+
+ .equiv FLAG_SYS_TOWER_SILVER, CODE_FLAGS + 0x64
+ .equiv FLAG_SYS_TOWER_GOLD, CODE_FLAGS + 0x65
+ .equiv FLAG_SYS_DOME_SILVER, CODE_FLAGS + 0x66
+ .equiv FLAG_SYS_DOME_GOLD, CODE_FLAGS + 0x67
+ .equiv FLAG_SYS_PALACE_SILVER, CODE_FLAGS + 0x68
+ .equiv FLAG_SYS_PALACE_GOLD, CODE_FLAGS + 0x69
+ .equiv FLAG_SYS_ARENA_SILVER, CODE_FLAGS + 0x6A
+ .equiv FLAG_SYS_ARENA_GOLD, CODE_FLAGS + 0x6B
+ .equiv FLAG_SYS_FACTORY_SILVER, CODE_FLAGS + 0x6C
+ .equiv FLAG_SYS_FACTORY_GOLD, CODE_FLAGS + 0x6D
+ .equiv FLAG_SYS_PIKE_SILVER, CODE_FLAGS + 0x6E
+ .equiv FLAG_SYS_PIKE_GOLD, CODE_FLAGS + 0x6F
+ .equiv FLAG_SYS_PYRAMID_SILVER, CODE_FLAGS + 0x70
+ .equiv FLAG_SYS_PYRAMID_GOLD, CODE_FLAGS + 0x71
+ .equiv FLAG_SYS_FRONTIER_PASS, CODE_FLAGS + 0x72
+
+ .equiv FLAG_0x8D3, CODE_FLAGS + 0x73
+ .equiv FLAG_0x8D4, CODE_FLAGS + 0x74
+ .equiv FLAG_0x8D5, CODE_FLAGS + 0x75
+ .equiv FLAG_0x8D6, CODE_FLAGS + 0x76
+
+ .equiv FLAG_SYS_STORAGE_UNKNOWN_FLAG, CODE_FLAGS + 0x77
+
+ .equiv FLAG_0x8D8, CODE_FLAGS + 0x78
+ .equiv FLAG_0x8D9, CODE_FLAGS + 0x79
+ .equiv FLAG_0x8DA, CODE_FLAGS + 0x7A
+
+ .equiv FLAG_SYS_MYSTERY_GIFT_ENABLE, CODE_FLAGS + 0x7B
+
+ .equiv FLAG_0x8DC, CODE_FLAGS + 0x7C
+ .equiv FLAG_0x8DD, CODE_FLAGS + 0x7D
+ .equiv FLAG_0x8DE, CODE_FLAGS + 0x7E
+ .equiv FLAG_0x8DF, CODE_FLAGS + 0x7F
+ .equiv FLAG_0x8E0, CODE_FLAGS + 0x80
+ .equiv FLAG_0x8E1, CODE_FLAGS + 0x81
+ .equiv FLAG_0x8E2, CODE_FLAGS + 0x82
+ .equiv FLAG_0x8E3, CODE_FLAGS + 0x83
+ .equiv FLAG_0x8E4, CODE_FLAGS + 0x84
+ .equiv FLAG_0x8E5, CODE_FLAGS + 0x85
+ .equiv FLAG_0x8E6, CODE_FLAGS + 0x86
+ .equiv FLAG_0x8E7, CODE_FLAGS + 0x87
+ .equiv FLAG_0x8E8, CODE_FLAGS + 0x88
+ .equiv FLAG_0x8E9, CODE_FLAGS + 0x89
+ .equiv FLAG_0x8EA, CODE_FLAGS + 0x8A
+ .equiv FLAG_0x8EB, CODE_FLAGS + 0x8B
+ .equiv FLAG_0x8EC, CODE_FLAGS + 0x8C
+ .equiv FLAG_0x8ED, CODE_FLAGS + 0x8D
+ .equiv FLAG_0x8EE, CODE_FLAGS + 0x8E
+ .equiv FLAG_0x8EF, CODE_FLAGS + 0x8F
+ .equiv FLAG_0x8F0, CODE_FLAGS + 0x90
+ .equiv FLAG_0x8F1, CODE_FLAGS + 0x91
+ .equiv FLAG_0x8F2, CODE_FLAGS + 0x92
+ .equiv FLAG_0x8F3, CODE_FLAGS + 0x93
+ .equiv FLAG_0x8F4, CODE_FLAGS + 0x94
+ .equiv FLAG_0x8F5, CODE_FLAGS + 0x95
+ .equiv FLAG_0x8F6, CODE_FLAGS + 0x96
+ .equiv FLAG_0x8F7, CODE_FLAGS + 0x97
+ .equiv FLAG_0x8F8, CODE_FLAGS + 0x98
+ .equiv FLAG_0x8F9, CODE_FLAGS + 0x99
+ .equiv FLAG_0x8FA, CODE_FLAGS + 0x9A
+ .equiv FLAG_0x8FB, CODE_FLAGS + 0x9B
+ .equiv FLAG_0x8FC, CODE_FLAGS + 0x9C
+ .equiv FLAG_0x8FD, CODE_FLAGS + 0x9D
+ .equiv FLAG_0x8FE, CODE_FLAGS + 0x9E
+ .equiv FLAG_0x8FF, CODE_FLAGS + 0x9F
+ .equiv FLAG_0x900, CODE_FLAGS + 0xA0
+ .equiv FLAG_0x901, CODE_FLAGS + 0xA1
+ .equiv FLAG_0x902, CODE_FLAGS + 0xA2
+ .equiv FLAG_0x903, CODE_FLAGS + 0xA3
+ .equiv FLAG_0x904, CODE_FLAGS + 0xA4
+ .equiv FLAG_0x905, CODE_FLAGS + 0xA5
+ .equiv FLAG_0x906, CODE_FLAGS + 0xA6
+ .equiv FLAG_0x907, CODE_FLAGS + 0xA7
+ .equiv FLAG_0x908, CODE_FLAGS + 0xA8
+ .equiv FLAG_0x909, CODE_FLAGS + 0xA9
+ .equiv FLAG_0x90A, CODE_FLAGS + 0xAA
+ .equiv FLAG_0x90B, CODE_FLAGS + 0xAB
+ .equiv FLAG_0x90C, CODE_FLAGS + 0xAC
+ .equiv FLAG_0x90D, CODE_FLAGS + 0xAD
+ .equiv FLAG_0x90E, CODE_FLAGS + 0xAE
+ .equiv FLAG_0x90F, CODE_FLAGS + 0xAF
+ .equiv FLAG_0x910, CODE_FLAGS + 0xB0
+ .equiv FLAG_0x911, CODE_FLAGS + 0xB1
+ .equiv FLAG_0x912, CODE_FLAGS + 0xB2
+ .equiv FLAG_0x913, CODE_FLAGS + 0xB3
+ .equiv FLAG_0x914, CODE_FLAGS + 0xB4
+ .equiv FLAG_0x915, CODE_FLAGS + 0xB5
+ .equiv FLAG_0x916, CODE_FLAGS + 0xB6
+ .equiv FLAG_0x917, CODE_FLAGS + 0xB7
+ .equiv FLAG_0x918, CODE_FLAGS + 0xB8
+ .equiv FLAG_0x919, CODE_FLAGS + 0xB9
+ .equiv FLAG_0x91A, CODE_FLAGS + 0xBA
+ .equiv FLAG_0x91B, CODE_FLAGS + 0xBB
+ .equiv FLAG_0x91C, CODE_FLAGS + 0xBC
+ .equiv FLAG_0x91D, CODE_FLAGS + 0xBD
+ .equiv FLAG_0x91E, CODE_FLAGS + 0xBE
+ .equiv FLAG_0x91F, CODE_FLAGS + 0xBF
+ .equiv FLAG_0x920, CODE_FLAGS + 0xC0
+ .equiv FLAG_0x921, CODE_FLAGS + 0xC1
+ .equiv FLAG_0x922, CODE_FLAGS + 0xC2
+ .equiv FLAG_0x923, CODE_FLAGS + 0xC3
+ .equiv FLAG_0x924, CODE_FLAGS + 0xC4
+ .equiv FLAG_0x925, CODE_FLAGS + 0xC5
+ .equiv FLAG_0x926, CODE_FLAGS + 0xC6
+ .equiv FLAG_0x927, CODE_FLAGS + 0xC7
+ .equiv FLAG_0x928, CODE_FLAGS + 0xC8
+ .equiv FLAG_0x929, CODE_FLAGS + 0xC9
+ .equiv FLAG_0x92A, CODE_FLAGS + 0xCA
+ .equiv FLAG_0x92B, CODE_FLAGS + 0xCB
+ .equiv FLAG_0x92C, CODE_FLAGS + 0xCC
+ .equiv FLAG_0x92D, CODE_FLAGS + 0xCD
+ .equiv FLAG_0x92E, CODE_FLAGS + 0xCE
+ .equiv FLAG_0x92F, CODE_FLAGS + 0xCF
+ .equiv FLAG_0x930, CODE_FLAGS + 0xD0
+ .equiv FLAG_0x931, CODE_FLAGS + 0xD1
+ .equiv FLAG_0x932, CODE_FLAGS + 0xD2
+ .equiv FLAG_0x933, CODE_FLAGS + 0xD3
+ .equiv FLAG_0x934, CODE_FLAGS + 0xD4
+ .equiv FLAG_0x935, CODE_FLAGS + 0xD5
+ .equiv FLAG_0x936, CODE_FLAGS + 0xD6
+ .equiv FLAG_0x937, CODE_FLAGS + 0xD7
+ .equiv FLAG_0x938, CODE_FLAGS + 0xD8
+ .equiv FLAG_0x939, CODE_FLAGS + 0xD9
+ .equiv FLAG_0x93A, CODE_FLAGS + 0xDA
+ .equiv FLAG_0x93B, CODE_FLAGS + 0xDB
+ .equiv FLAG_0x93C, CODE_FLAGS + 0xDC
+ .equiv FLAG_0x93D, CODE_FLAGS + 0xDD
+ .equiv FLAG_0x93E, CODE_FLAGS + 0xDE
+ .equiv FLAG_0x93F, CODE_FLAGS + 0xDF
+ .equiv FLAG_0x940, CODE_FLAGS + 0xE0
+ .equiv FLAG_0x941, CODE_FLAGS + 0xE1
+ .equiv FLAG_0x942, CODE_FLAGS + 0xE2
+ .equiv FLAG_0x943, CODE_FLAGS + 0xE3
+ .equiv FLAG_0x944, CODE_FLAGS + 0xE4
+ .equiv FLAG_0x945, CODE_FLAGS + 0xE5
+ .equiv FLAG_0x946, CODE_FLAGS + 0xE6
+ .equiv FLAG_0x947, CODE_FLAGS + 0xE7
+ .equiv FLAG_0x948, CODE_FLAGS + 0xE8
+ .equiv FLAG_0x949, CODE_FLAGS + 0xE9
+ .equiv FLAG_0x94A, CODE_FLAGS + 0xEA
+ .equiv FLAG_0x94B, CODE_FLAGS + 0xEB
+ .equiv FLAG_0x94C, CODE_FLAGS + 0xEC
+ .equiv FLAG_0x94D, CODE_FLAGS + 0xED
+ .equiv FLAG_0x94E, CODE_FLAGS + 0xEE
+ .equiv FLAG_0x94F, CODE_FLAGS + 0xEF
+ .equiv FLAG_0x950, CODE_FLAGS + 0xF0
+ .equiv FLAG_0x951, CODE_FLAGS + 0xF1
+ .equiv FLAG_0x952, CODE_FLAGS + 0xF2
+ .equiv FLAG_0x953, CODE_FLAGS + 0xF3
+ .equiv FLAG_0x954, CODE_FLAGS + 0xF4
+ .equiv FLAG_0x955, CODE_FLAGS + 0xF5
+ .equiv FLAG_0x956, CODE_FLAGS + 0xF6
+ .equiv FLAG_0x957, CODE_FLAGS + 0xF7
+ .equiv FLAG_0x958, CODE_FLAGS + 0xF8
+ .equiv FLAG_0x959, CODE_FLAGS + 0xF9
+ .equiv FLAG_0x95A, CODE_FLAGS + 0xFA
+ .equiv FLAG_0x95B, CODE_FLAGS + 0xFB
+ .equiv FLAG_0x95C, CODE_FLAGS + 0xFC
+ .equiv FLAG_0x95D, CODE_FLAGS + 0xFD
+ .equiv FLAG_0x95E, CODE_FLAGS + 0xFE
+ .equiv FLAG_0x95F, CODE_FLAGS + 0xFF
+
+@ SPECIAL FLAGS (unknown purpose)
+
+ .equiv FLAG_SPECIAL_FLAG_0x4000, 0x4000
+ .equiv FLAG_SPECIAL_FLAG_0x4001, 0x4001
+ .equiv FLAG_SPECIAL_FLAG_0x4002, 0x4002
+ .equiv FLAG_SPECIAL_FLAG_0x4003, 0x4003
+ .equiv FLAG_SPECIAL_FLAG_0x4004, 0x4004
diff --git a/constants/map_object_constants.inc b/constants/map_object_constants.inc
index 014eb05c8..50b171d9c 100644
--- a/constants/map_object_constants.inc
+++ b/constants/map_object_constants.inc
@@ -39,7 +39,7 @@
.set MAP_OBJ_GFX_SCHOOL_KID_M, 38
.set MAP_OBJ_GFX_MANIAC, 39
.set MAP_OBJ_GFX_HEX_MANIAC, 40
- .set MAP_OBJ_GFX_RAYQUAZA, 41
+ .set MAP_OBJ_GFX_RAYQUAZA_1, 41
.set MAP_OBJ_GFX_SWIMMER_M, 42
.set MAP_OBJ_GFX_SWIMMER_F, 43
.set MAP_OBJ_GFX_BLACK_BELT, 44
@@ -68,12 +68,12 @@
.set MAP_OBJ_GFX_REPORTER_M, 67
.set MAP_OBJ_GFX_REPORTER_F, 68
.set MAP_OBJ_GFX_BARD, 69
- .set MAP_OBJ_GFX_HIPSTER, 70
- .set MAP_OBJ_GFX_TRADER, 71
- .set MAP_OBJ_GFX_STORYTELLER, 72
- .set MAP_OBJ_GFX_GIDDY, 73
- .set MAP_OBJ_GFX_UNUSED_MAUVILLE_OLD_MAN_1, 74
- .set MAP_OBJ_GFX_UNUSED_MAUVILLE_OLD_MAN_2, 75
+ .set MAP_OBJ_GFX_ANABEL, 70
+ .set MAP_OBJ_GFX_TUCKER, 71
+ .set MAP_OBJ_GFX_GRETA, 72
+ .set MAP_OBJ_GFX_SPENSER, 73
+ .set MAP_OBJ_GFX_NOLAND, 74
+ .set MAP_OBJ_GFX_LUCY, 75
.set MAP_OBJ_GFX_UNUSED_NATU_DOLL, 76
.set MAP_OBJ_GFX_UNUSED_MAGNEMITE_DOLL, 77
.set MAP_OBJ_GFX_UNUSED_SQUIRTLE_DOLL, 78
@@ -93,10 +93,10 @@
.set MAP_OBJ_GFX_MAY_SURFING, 92
.set MAP_OBJ_GFX_MAY_FIELD_MOVE, 93
.set MAP_OBJ_GFX_TRUCK, 94
- .set MAP_OBJ_GFX_MACHOKE_CARRYING_BOX, 95
- .set MAP_OBJ_GFX_MACHOKE_FACING_AWAY, 96
+ .set MAP_OBJ_GFX_VIGAROTH_CARRYING_BOX, 95
+ .set MAP_OBJ_GFX_VIGAROTH_FACING_AWAY, 96
.set MAP_OBJ_GFX_BIRCHS_BAG, 97
- .set MAP_OBJ_GFX_ZIGZAGOON, 98
+ .set MAP_OBJ_GFX_ZIGZAGOON_1, 98
.set MAP_OBJ_GFX_ARTIST, 99
.set MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 100
.set MAP_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE, 101
@@ -205,8 +205,8 @@
.set MAP_OBJ_GFX_KECLEON_1, 204
.set MAP_OBJ_GFX_KYOGRE_2, 205
.set MAP_OBJ_GFX_GROUDON_2, 206
- .set MAP_OBJ_GFX_RAYQUAZA_2, 207
- .set MAP_OBJ_GFX_ZIGZAGOON_2, 208
+ .set MAP_OBJ_GFX_RAYQUAZA_2, 207
+ .set MAP_OBJ_GFX_ZIGZAGOON_2, 208
.set MAP_OBJ_GFX_PIKACHU, 209
.set MAP_OBJ_GFX_AZUMARILL, 210
.set MAP_OBJ_GFX_WINGULL, 211
@@ -216,6 +216,34 @@
.set MAP_OBJ_GFX_MOM, 215
.set MAP_OBJ_GFX_LINK_BRENDAN, 216
.set MAP_OBJ_GFX_LINK_MAY, 217
+ .set MAP_OBJ_GFX_JUAN, 218
+ .set MAP_OBJ_GFX_SCOTT, 219
+ .set MAP_OBJ_GFX_POOCHYENA, 220
+ .set MAP_OBJ_GFX_KYOGRE_3, 221
+ .set MAP_OBJ_GFX_GROUDON_3, 222
+ .set MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 223
+ .set MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 224
+ .set MAP_OBJ_GFX_KIRLIA, 225
+ .set MAP_OBJ_GFX_DUSCLOPS, 226
+ .set MAP_OBJ_GFX_UNION_ROOM_NURSE, 227
+ .set MAP_OBJ_GFX_SUDOWOODO, 228
+ .set MAP_OBJ_GFX_MEW, 229
+ .set MAP_OBJ_GFX_RED, 230
+ .set MAP_OBJ_GFX_LEAF, 231
+ .set MAP_OBJ_GFX_DEOXYS, 232
+ .set MAP_OBJ_GFX_DEOXYS_TRIANGLE, 233
+ .set MAP_OBJ_GFX_BRANDON, 234
+ .set MAP_OBJ_GFX_LINK_RS_BRENDAN, 235
+ .set MAP_OBJ_GFX_LINK_RS_MAY, 236
+ .set MAP_OBJ_GFX_LUGIA, 237
+ .set MAP_OBJ_GFX_HOOH, 238
+ .set MAP_OBJ_GFX_BARD_2, 239
+ .set MAP_OBJ_GFX_HIPSTER, 240
+ .set MAP_OBJ_GFX_TRADER, 241
+ .set MAP_OBJ_GFX_STORYTELLER, 242
+ .set MAP_OBJ_GFX_GIDDY, 243
+ .set MAP_OBJ_GFX_PLACEHOLDER_1, 244
+ .set MAP_OBJ_GFX_PLACEHOLDER_2, 245
.set SHADOW_SIZE_S, 0
.set SHADOW_SIZE_M, 1
diff --git a/constants/songs.inc b/constants/songs.inc
new file mode 100644
index 000000000..61362f058
--- /dev/null
+++ b/constants/songs.inc
@@ -0,0 +1,461 @@
+ .equiv SE_STOP, 0
+ .equiv SE_KAIFUKU, 1
+ .equiv SE_PC_LOGON, 2
+ .equiv SE_PC_OFF, 3
+ .equiv SE_PC_ON, 4
+ .equiv SE_SELECT, 5
+ .equiv SE_WIN_OPEN, 6
+ .equiv SE_WALL_HIT, 7
+ .equiv SE_DOOR, 8
+ .equiv SE_KAIDAN, 9
+ .equiv SE_DANSA, 10
+ .equiv SE_JITENSYA, 11
+ .equiv SE_KOUKA_L, 12
+ .equiv SE_KOUKA_M, 13
+ .equiv SE_KOUKA_H, 14
+ .equiv SE_BOWA2, 15
+ .equiv SE_POKE_DEAD, 16
+ .equiv SE_NIGERU, 17
+ .equiv SE_JIDO_DOA, 18
+ .equiv SE_NAMINORI, 19
+ .equiv SE_BAN, 20
+ .equiv SE_PIN, 21
+ .equiv SE_BOO, 22
+ .equiv SE_BOWA, 23
+ .equiv SE_JYUNI, 24
+ .equiv SE_A, 25
+ .equiv SE_I, 26
+ .equiv SE_U, 27
+ .equiv SE_E, 28
+ .equiv SE_O, 29
+ .equiv SE_N, 30
+ .equiv SE_SEIKAI, 31
+ .equiv SE_HAZURE, 32
+ .equiv SE_EXP, 33
+ .equiv SE_JITE_PYOKO, 34
+ .equiv SE_MU_PACHI, 35
+ .equiv SE_TK_KASYA, 36
+ .equiv SE_FU_ZAKU, 37
+ .equiv SE_FU_ZAKU2, 38
+ .equiv SE_FU_ZUZUZU, 39
+ .equiv SE_RU_GASHIN, 40
+ .equiv SE_RU_GASYAN, 41
+ .equiv SE_RU_BARI, 42
+ .equiv SE_RU_HYUU, 43
+ .equiv SE_KI_GASYAN, 44
+ .equiv SE_TK_WARPIN, 45
+ .equiv SE_TK_WARPOUT, 46
+ .equiv SE_TU_SAA, 47
+ .equiv SE_HI_TURUN, 48
+ .equiv SE_TRACK_MOVE, 49
+ .equiv SE_TRACK_STOP, 50
+ .equiv SE_TRACK_HAIK, 51
+ .equiv SE_TRACK_DOOR, 52
+ .equiv SE_MOTER, 53
+ .equiv SE_CARD, 54
+ .equiv SE_SAVE, 55
+ .equiv SE_KON, 56
+ .equiv SE_KON2, 57
+ .equiv SE_KON3, 58
+ .equiv SE_KON4, 59
+ .equiv SE_SUIKOMU, 60
+ .equiv SE_NAGERU, 61
+ .equiv SE_TOY_C, 62
+ .equiv SE_TOY_D, 63
+ .equiv SE_TOY_E, 64
+ .equiv SE_TOY_F, 65
+ .equiv SE_TOY_G, 66
+ .equiv SE_TOY_A, 67
+ .equiv SE_TOY_B, 68
+ .equiv SE_TOY_C1, 69
+ .equiv SE_MIZU, 70
+ .equiv SE_HASHI, 71
+ .equiv SE_DAUGI, 72
+ .equiv SE_PINPON, 73
+ .equiv SE_FUUSEN1, 74
+ .equiv SE_FUUSEN2, 75
+ .equiv SE_FUUSEN3, 76
+ .equiv SE_TOY_KABE, 77
+ .equiv SE_TOY_DANGO, 78
+ .equiv SE_DOKU, 79
+ .equiv SE_ESUKA, 80
+ .equiv SE_T_AME, 81
+ .equiv SE_T_AME_E, 82
+ .equiv SE_T_OOAME, 83
+ .equiv SE_T_OOAME_E, 84
+ .equiv SE_T_KOAME, 85
+ .equiv SE_T_KOAME_E, 86
+ .equiv SE_T_KAMI, 87
+ .equiv SE_T_KAMI2, 88
+ .equiv SE_ELEBETA, 89
+ .equiv SE_HINSI, 90
+ .equiv SE_EXPMAX, 91
+ .equiv SE_TAMAKORO, 92
+ .equiv SE_TAMAKORO_E, 93
+ .equiv SE_BASABASA, 94
+ .equiv SE_REGI, 95
+ .equiv SE_C_GAJI, 96
+ .equiv SE_C_MAKU_U, 97
+ .equiv SE_C_MAKU_D, 98
+ .equiv SE_C_PASI, 99
+ .equiv SE_C_SYU, 100
+ .equiv SE_C_PIKON, 101
+ .equiv SE_REAPOKE, 102
+ .equiv SE_OP_BASYU, 103
+ .equiv SE_BT_START, 104
+ .equiv SE_DENDOU, 105
+ .equiv SE_JIHANKI, 106
+ .equiv SE_TAMA, 107
+ .equiv SE_Z_SCROLL, 108
+ .equiv SE_Z_PAGE, 109
+ .equiv SE_PN_ON, 110
+ .equiv SE_PN_OFF, 111
+ .equiv SE_Z_SEARCH, 112
+ .equiv SE_TAMAGO, 113
+ .equiv SE_TB_START, 114
+ .equiv SE_TB_KON, 115
+ .equiv SE_TB_KARA, 116
+ .equiv SE_BIDORO, 117
+ .equiv SE_W085, 118
+ .equiv SE_W085B, 119
+ .equiv SE_W231, 120
+ .equiv SE_W171, 121
+ .equiv SE_W233, 122
+ .equiv SE_W233B, 123
+ .equiv SE_W145, 124
+ .equiv SE_W145B, 125
+ .equiv SE_W145C, 126
+ .equiv SE_W240, 127
+ .equiv SE_W015, 128
+ .equiv SE_W081, 129
+ .equiv SE_W081B, 130
+ .equiv SE_W088, 131
+ .equiv SE_W016, 132
+ .equiv SE_W016B, 133
+ .equiv SE_W003, 134
+ .equiv SE_W104, 135
+ .equiv SE_W013, 136
+ .equiv SE_W196, 137
+ .equiv SE_W086, 138
+ .equiv SE_W004, 139
+ .equiv SE_W025, 140
+ .equiv SE_W025B, 141
+ .equiv SE_W152, 142
+ .equiv SE_W026, 143
+ .equiv SE_W172, 144
+ .equiv SE_W172B, 145
+ .equiv SE_W053, 146
+ .equiv SE_W007, 147
+ .equiv SE_W092, 148
+ .equiv SE_W221, 149
+ .equiv SE_W221B, 150
+ .equiv SE_W052, 151
+ .equiv SE_W036, 152
+ .equiv SE_W059, 153
+ .equiv SE_W059B, 154
+ .equiv SE_W010, 155
+ .equiv SE_W011, 156
+ .equiv SE_W017, 157
+ .equiv SE_W019, 158
+ .equiv SE_W028, 159
+ .equiv SE_W013B, 160
+ .equiv SE_W044, 161
+ .equiv SE_W029, 162
+ .equiv SE_W057, 163
+ .equiv SE_W056, 164
+ .equiv SE_W250, 165
+ .equiv SE_W030, 166
+ .equiv SE_W039, 167
+ .equiv SE_W054, 168
+ .equiv SE_W077, 169
+ .equiv SE_W020, 170
+ .equiv SE_W082, 171
+ .equiv SE_W047, 172
+ .equiv SE_W195, 173
+ .equiv SE_W006, 174
+ .equiv SE_W091, 175
+ .equiv SE_W146, 176
+ .equiv SE_W120, 177
+ .equiv SE_W153, 178
+ .equiv SE_W071B, 179
+ .equiv SE_W071, 180
+ .equiv SE_W103, 181
+ .equiv SE_W062, 182
+ .equiv SE_W062B, 183
+ .equiv SE_W048, 184
+ .equiv SE_W187, 185
+ .equiv SE_W118, 186
+ .equiv SE_W155, 187
+ .equiv SE_W122, 188
+ .equiv SE_W060, 189
+ .equiv SE_W185, 190
+ .equiv SE_W014, 191
+ .equiv SE_W043, 192
+ .equiv SE_W207, 193
+ .equiv SE_W207B, 194
+ .equiv SE_W215, 195
+ .equiv SE_W109, 196
+ .equiv SE_W173, 197
+ .equiv SE_W280, 198
+ .equiv SE_W202, 199
+ .equiv SE_W060B, 200
+ .equiv SE_W076, 201
+ .equiv SE_W080, 202
+ .equiv SE_W100, 203
+ .equiv SE_W107, 204
+ .equiv SE_W166, 205
+ .equiv SE_W129, 206
+ .equiv SE_W115, 207
+ .equiv SE_W112, 208
+ .equiv SE_W197, 209
+ .equiv SE_W199, 210
+ .equiv SE_W236, 211
+ .equiv SE_W204, 212
+ .equiv SE_W268, 213
+ .equiv SE_W070, 214
+ .equiv SE_W063, 215
+ .equiv SE_W127, 216
+ .equiv SE_W179, 217
+ .equiv SE_W151, 218
+ .equiv SE_W201, 219
+ .equiv SE_W161, 220
+ .equiv SE_W161B, 221
+ .equiv SE_W227, 222
+ .equiv SE_W227B, 223
+ .equiv SE_W226, 224
+ .equiv SE_W208, 225
+ .equiv SE_W213, 226
+ .equiv SE_W213B, 227
+ .equiv SE_W234, 228
+ .equiv SE_W260, 229
+ .equiv SE_W328, 230
+ .equiv SE_W320, 231
+ .equiv SE_W255, 232
+ .equiv SE_W291, 233
+ .equiv SE_W089, 234
+ .equiv SE_W239, 235
+ .equiv SE_W230, 236
+ .equiv SE_W281, 237
+ .equiv SE_W327, 238
+ .equiv SE_W287, 239
+ .equiv SE_W257, 240
+ .equiv SE_W253, 241
+ .equiv SE_W258, 242
+ .equiv SE_W322, 243
+ .equiv SE_W298, 244
+ .equiv SE_W287B, 245
+ .equiv SE_W114, 246
+ .equiv SE_W063B, 247
+
+ .equiv BGM_STOP, 349
+ .equiv BGM_TETSUJI, 350
+ .equiv BGM_FIELD13, 351
+ .equiv BGM_KACHI22, 352
+ .equiv BGM_KACHI2, 353
+ .equiv BGM_KACHI3, 354
+ .equiv BGM_KACHI5, 355
+ .equiv BGM_PCC, 356
+ .equiv BGM_NIBI, 357
+ .equiv BGM_SUIKUN, 358
+ .equiv BGM_DOORO1, 359
+ .equiv BGM_DOORO_X1, 360
+ .equiv BGM_DOORO_X3, 361
+ .equiv BGM_MACHI_S2, 362
+ .equiv BGM_MACHI_S4, 363
+ .equiv BGM_GIM, 364
+ .equiv BGM_NAMINORI, 365
+ .equiv BGM_DAN01, 366
+ .equiv BGM_FANFA1, 367
+ .equiv BGM_ME_ASA, 368
+ .equiv BGM_ME_BACHI, 369
+ .equiv BGM_FANFA4, 370
+ .equiv BGM_FANFA5, 371
+ .equiv BGM_ME_WAZA, 372
+ .equiv BGM_BIJYUTU, 373
+ .equiv BGM_DOORO_X4, 374
+ .equiv BGM_FUNE_KAN, 375
+ .equiv BGM_ME_SHINKA, 376
+ .equiv BGM_SHINKA, 377
+ .equiv BGM_ME_WASURE, 378
+ .equiv BGM_SYOUJOEYE, 379
+ .equiv BGM_BOYEYE, 380
+ .equiv BGM_DAN02, 381
+ .equiv BGM_MACHI_S3, 382
+ .equiv BGM_ODAMAKI, 383
+ .equiv BGM_B_TOWER, 384
+ .equiv BGM_SWIMEYE, 385
+ .equiv BGM_DAN03, 386
+ .equiv BGM_ME_KINOMI, 387
+ .equiv BGM_ME_TAMA, 388
+ .equiv BGM_ME_B_BIG, 389
+ .equiv BGM_ME_B_SMALL, 390
+ .equiv BGM_ME_ZANNEN, 391
+ .equiv BGM_BD_TIME, 392
+ .equiv BGM_TEST1, 393
+ .equiv BGM_TEST2, 394
+ .equiv BGM_TEST3, 395
+ .equiv BGM_TEST4, 396
+ .equiv BGM_TEST, 397
+ .equiv BGM_GOMACHI0, 398
+ .equiv BGM_GOTOWN, 399
+ .equiv BGM_POKECEN, 400
+ .equiv BGM_NEXTROAD, 401
+ .equiv BGM_GRANROAD, 402
+ .equiv BGM_CYCLING, 403
+ .equiv BGM_FRIENDLY, 404
+ .equiv BGM_MISHIRO, 405
+ .equiv BGM_TOZAN, 406
+ .equiv BGM_GIRLEYE, 407
+ .equiv BGM_MINAMO, 408
+ .equiv BGM_ASHROAD, 409
+ .equiv BGM_EVENT0, 410
+ .equiv BGM_DEEPDEEP, 411
+ .equiv BGM_KACHI1, 412
+ .equiv BGM_TITLE3, 413
+ .equiv BGM_DEMO1, 414
+ .equiv BGM_GIRL_SUP, 415
+ .equiv BGM_HAGESHII, 416
+ .equiv BGM_KAKKOII, 417
+ .equiv BGM_KAZANBAI, 418
+ .equiv BGM_AQA_0, 419
+ .equiv BGM_TSURETEK, 420
+ .equiv BGM_BOY_SUP, 421
+ .equiv BGM_RAINBOW, 422
+ .equiv BGM_AYASII, 423
+ .equiv BGM_KACHI4, 424
+ .equiv BGM_ROPEWAY, 425
+ .equiv BGM_CASINO, 426
+ .equiv BGM_HIGHTOWN, 427
+ .equiv BGM_SAFARI, 428
+ .equiv BGM_C_ROAD, 429
+ .equiv BGM_AJITO, 430
+ .equiv BGM_M_BOAT, 431
+ .equiv BGM_M_DUNGON, 432
+ .equiv BGM_FINECITY, 433
+ .equiv BGM_MACHUPI, 434
+ .equiv BGM_P_SCHOOL, 435
+ .equiv BGM_DENDOU, 436
+ .equiv BGM_TONEKUSA, 437
+ .equiv BGM_MABOROSI, 438
+ .equiv BGM_CON_FAN, 439
+ .equiv BGM_CONTEST0, 440
+ .equiv BGM_MGM0, 441
+ .equiv BGM_T_BATTLE, 442
+ .equiv BGM_OOAME, 443
+ .equiv BGM_HIDERI, 444
+ .equiv BGM_RUNECITY, 445
+ .equiv BGM_CON_K, 446
+ .equiv BGM_EIKOU_R, 447
+ .equiv BGM_KARAKURI, 448
+ .equiv BGM_HUTAGO, 449
+ .equiv BGM_SITENNOU, 450
+ .equiv BGM_YAMA_EYE, 451
+ .equiv BGM_CONLOBBY, 452
+ .equiv BGM_INTER_V, 453
+ .equiv BGM_DAIGO, 454
+ .equiv BGM_THANKFOR, 455
+ .equiv BGM_END, 456
+ .equiv BGM_BATTLE_FRONTIER, 457
+ .equiv BGM_BATTLE_ARENA, 458
+ .equiv BGM_ME_BATTLE_POINTS, 459
+ .equiv BGM_ME_MATCH_CALL, 460
+ .equiv BGM_BATTLE_PYRAMID, 461
+ .equiv BGM_BATTLE_PYRAMID_SUMMIT, 462
+ .equiv BGM_BATTLE_PALACE, 463
+ .equiv BGM_FANFA_RAYQUAZA, 464
+ .equiv BGM_BATTLE_TOWER, 465
+ .equiv BGM_ME_BATTLE_SYMBOL, 466
+ .equiv BGM_BATTLE_DOME_TOURNAMENT, 467
+ .equiv BGM_BATTLE_PIKE, 468
+ .equiv BGM_BATTLE_FACTORY, 469
+ .equiv BGM_BATTLE_LEGENDARY, 470
+ .equiv BGM_BATTLE_FRONTIER_BRAIN, 471
+ .equiv BGM_BATTLE_MEW, 472
+ .equiv BGM_BATTLE_DOME, 473
+ .equiv BGM_BATTLE27, 474
+ .equiv BGM_BATTLE31, 475
+ .equiv BGM_BATTLE20, 476
+ .equiv BGM_BATTLE32, 477
+ .equiv BGM_BATTLE33, 478
+ .equiv BGM_BATTLE36, 479
+ .equiv BGM_BATTLE34, 480
+ .equiv BGM_BATTLE35, 481
+ .equiv BGM_BATTLE38, 482
+ .equiv BGM_BATTLE30, 483
+ .equiv BGM_FRLG_FOLLOW_ME, 484
+ .equiv BGM_FRLG_GAMECORNER, 485
+ .equiv BGM_FRLG_ROCKET_HIDEOUT, 486
+ .equiv BGM_FRLG_GYM, 487
+ .equiv BGM_FRLG_JIGGLYPUFF, 488
+ .equiv BGM_FRLG_OPENING, 489
+ .equiv BGM_FRLG_TITLE, 490
+ .equiv BGM_FRLG_CINNABAR_ISLAND, 491
+ .equiv BGM_FRLG_LAVENDER_TOWN, 492
+ .equiv BGM_FRLG_HEALING_TEST, 493
+ .equiv BGM_FRLG_BICYCLE, 494
+ .equiv BGM_FRLG_SUSPICIOUS_EYE, 495
+ .equiv BGM_FRLG_GIRL_EYE, 496
+ .equiv BGM_FRLG_BOY_EYE, 497
+ .equiv BGM_FRLG_CONGRATULATIONS_HALL_OF_FAME, 498
+ .equiv BGM_FRLG_VIRIDIAN_FOREST, 499
+ .equiv BGM_FRLG_MT_MOON, 500
+ .equiv BGM_FRLG_POKEMON_MANSION, 501
+ .equiv BGM_FRLG_CREDITS, 502
+ .equiv BGM_FRLG_ROUTE_1, 503
+ .equiv BGM_FRLG_ROUTE_24, 504
+ .equiv BGM_FRLG_ROUTE_3, 505
+ .equiv BGM_FRLG_ROUTE_11, 506
+ .equiv BGM_FRLG_INDIGO_PLATEAU, 507
+ .equiv BGM_FRLG_BATTLE_LEADER, 508
+ .equiv BGM_FRLG_BATTLE_TRAINER, 509
+ .equiv BGM_FRLG_BATTLE_WILD_POKEMON, 510
+ .equiv BGM_FRLG_BATTLE_CHAMPION, 511
+ .equiv BGM_FRLG_PALLET_TOWN, 512
+ .equiv BGM_FRLG_OAK_LAB, 513
+ .equiv BGM_FRLG_PROF_OAK, 514
+ .equiv BGM_FRLG_POKEMON_CENTER, 515
+ .equiv BGM_FRLG_SS_ANNE, 516
+ .equiv BGM_FRLG_SURF, 517
+ .equiv BGM_FRLG_POKEMON_TOWER, 518
+ .equiv BGM_FRLG_SILPH, 519
+ .equiv BGM_FRLG_CERULEAN_CITY, 520
+ .equiv BGM_FRLG_CELADON_CITY, 521
+ .equiv BGM_FRLG_KACHI_TRAINER, 522
+ .equiv BGM_FRLG_KACHI_WILD_POKEMON, 523
+ .equiv BGM_FRLG_KACHI_LEADER, 524
+ .equiv BGM_FRLG_VERMILION_CITY, 525
+ .equiv BGM_FRLG_VIRIDIAN_CITY, 526
+ .equiv BGM_FRLG_RIVAL, 527
+ .equiv BGM_FRLG_RIVAL_POSTBATTLE, 528
+ .equiv BGM_FRLG_ME_POKEDEX_EVAL, 529
+ .equiv BGM_FRLG_ME_KEYITEM, 530
+ .equiv BGM_FRLG_FANFA_POKEMON_CAUGHT, 531
+ .equiv BGM_FRLG_FANFA_TRAINERCARD_PHOTO, 532
+ .equiv BGM_FRLG_GAMEFREAK_LOGO, 533
+ .equiv BGM_FRLG_CAUGHT_POKEMON, 534
+ .equiv BGM_FRLG_GAME_EXPLANATION_START, 535
+ .equiv BGM_FRLG_GAME_EXPLANATION_MIDDLE, 536
+ .equiv BGM_FRLG_GAME_EXPLANATION_END, 537
+ .equiv BGM_FRLG_POKEMON_JUMP, 538
+ .equiv BGM_FRLG_UNION_ROOM, 539
+ .equiv BGM_FRLG_POKEMON_NETWORK_CENTER, 540
+ .equiv BGM_FRLG_MYSTERY_GIFT, 541
+ .equiv BGM_FRLG_DODRIO_BERRY_PICK, 542
+ .equiv BGM_FRLG_MT_EMBER, 543
+ .equiv BGM_FRLG_TEACHY_TV_EPISODE, 544
+ .equiv BGM_FRLG_SEVII_ISLANDS, 545
+ .equiv BGM_FRLG_TANOBY_RUINS, 546
+ .equiv BGM_FRLG_ISLAND_ONE, 547
+ .equiv BGM_FRLG_ISLAND_FOUR, 548
+ .equiv BGM_FRLG_ISLAND_SIX, 549
+ .equiv BGM_FRLG_FLUTE, 550
+ .equiv BGM_FRLG_BATTLE_DEOXYS, 551
+ .equiv BGM_FRLG_BATTLE_MEWTWO, 552
+ .equiv BGM_FRLG_BATTLE_LEGENDARY, 553
+ .equiv BGM_FRLG_LEADER_EYE, 554
+ .equiv BGM_FRLG_DEOXYS_EYE, 555
+ .equiv BGM_FRLG_TRAINER_TOWER, 556
+ .equiv BGM_FRLG_HALL_OF_FAME_PALLET_TOWN, 557
+ .equiv BGM_FRLG_TEACHY_TV, 558
+
+ .equiv BGM_ROUTE_118, 0x7fff
diff --git a/constants/variables.inc b/constants/variables.inc
new file mode 100644
index 000000000..e2719e10c
--- /dev/null
+++ b/constants/variables.inc
@@ -0,0 +1,278 @@
+ .equiv VAR_0x4000, 0x4000
+ .equiv VAR_0x4001, 0x4001
+ .equiv VAR_0x4002, 0x4002
+ .equiv VAR_0x4003, 0x4003
+ .equiv VAR_0x4004, 0x4004
+ .equiv VAR_0x4005, 0x4005
+ .equiv VAR_0x4006, 0x4006
+ .equiv VAR_0x4007, 0x4007
+ .equiv VAR_0x4008, 0x4008
+ .equiv VAR_0x4009, 0x4009
+ .equiv VAR_0x400A, 0x400A
+ .equiv VAR_0x400B, 0x400B
+ .equiv VAR_0x400C, 0x400C
+ .equiv VAR_0x400D, 0x400D
+ .equiv VAR_0x400E, 0x400E
+ .equiv VAR_0x400F, 0x400F
+ .equiv VAR_0x4010, 0x4010
+ .equiv VAR_0x4011, 0x4011
+ .equiv VAR_0x4012, 0x4012
+ .equiv VAR_0x4013, 0x4013
+ .equiv VAR_0x4014, 0x4014
+ .equiv VAR_0x4015, 0x4015
+ .equiv VAR_0x4016, 0x4016
+ .equiv VAR_0x4017, 0x4017
+ .equiv VAR_0x4018, 0x4018
+ .equiv VAR_0x4019, 0x4019
+ .equiv VAR_0x401A, 0x401A
+ .equiv VAR_0x401B, 0x401B
+ .equiv VAR_0x401C, 0x401C
+ .equiv VAR_0x401D, 0x401D
+ .equiv VAR_0x401E, 0x401E
+ .equiv VAR_0x401F, 0x401F
+ .equiv VAR_RECYCLE_GOODS, 0x4020
+ .equiv VAR_REPEL_STEP_COUNT, 0x4021
+ .equiv VAR_ICE_STEP_COUNT, 0x4022
+ .equiv VAR_FIRST_POKE, 0x4023
+ .equiv VAR_MIRAGE_RND_H, 0x4024
+ .equiv VAR_MIRAGE_RND_L, 0x4025
+ .equiv VAR_SECRET_BASE_MAP, 0x4026
+ .equiv VAR_0x4027, 0x4027
+ .equiv VAR_0x4028, 0x4028
+ .equiv VAR_0x4029, 0x4029
+ .equiv VAR_HAPPINESS_STEP_COUNTER, 0x402A
+ .equiv VAR_POISON_STEP_COUNTER, 0x402B
+ .equiv VAR_RESET_RTC_ENABLE, 0x402C
+ .equiv VAR_0x402D, 0x402D
+ .equiv VAR_0x402E, 0x402E
+ .equiv VAR_0x402F, 0x402F
+ .equiv VAR_0x4030, 0x4030
+ .equiv VAR_0x4031, 0x4031
+ .equiv VAR_0x4032, 0x4032
+ .equiv VAR_0x4033, 0x4033
+ .equiv VAR_0x4034, 0x4034
+ .equiv VAR_0x4035, 0x4035
+ .equiv VAR_STORAGE_UNKNOWN, 0x4036
+ .equiv VAR_0x4037, 0x4037
+ .equiv VAR_0x4038, 0x4038
+ .equiv VAR_0x4039, 0x4039
+ .equiv VAR_0x403A, 0x403A
+ .equiv VAR_0x403B, 0x403B
+ .equiv VAR_0x403C, 0x403C
+ .equiv VAR_0x403D, 0x403D
+ .equiv VAR_0x403E, 0x403E
+ .equiv VAR_0x403F, 0x403F
+ .equiv VAR_DAYS, 0x4040
+ .equiv VAR_0x4041, 0x4041
+ .equiv VAR_0x4042, 0x4042
+ .equiv VAR_DEPT_STORE_FLOOR, 0x4043
+ .equiv VAR_0x4044, 0x4044
+ .equiv VAR_POKELOT_PRIZE, 0x4045
+ .equiv VAR_NATIONAL_DEX, 0x4046
+ .equiv VAR_SEEDOT_SIZE_RECORD, 0x4047
+ .equiv VAR_ASH_GATHER_COUNT, 0x4048
+ .equiv VAR_BIRCH_STATE, 0x4049
+ .equiv VAR_CRUISE_STEP_COUNT, 0x404A
+ .equiv VAR_POKELOT_RND1, 0x404B
+ .equiv VAR_POKELOT_RND2, 0x404C
+ .equiv VAR_0x404D, 0x404D
+ .equiv VAR_0x404E, 0x404E
+ .equiv VAR_LOTAD_SIZE_RECORD, 0x404F
+ .equiv VAR_0x4050, 0x4050
+ .equiv VAR_0x4051, 0x4051
+ .equiv VAR_0x4052, 0x4052
+ .equiv VAR_0x4053, 0x4053
+ .equiv VAR_0x4054, 0x4054
+ .equiv VAR_0x4055, 0x4055
+ .equiv VAR_0x4056, 0x4056
+ .equiv VAR_0x4057, 0x4057
+ .equiv VAR_0x4058, 0x4058
+ .equiv VAR_0x4059, 0x4059
+ .equiv VAR_0x405A, 0x405A
+ .equiv VAR_0x405B, 0x405B
+ .equiv VAR_0x405C, 0x405C
+ .equiv VAR_0x405D, 0x405D
+ .equiv VAR_0x405E, 0x405E
+ .equiv VAR_0x405F, 0x405F
+ .equiv VAR_0x4060, 0x4060
+ .equiv VAR_0x4061, 0x4061
+ .equiv VAR_0x4062, 0x4062
+ .equiv VAR_0x4063, 0x4063
+ .equiv VAR_0x4064, 0x4064
+ .equiv VAR_0x4065, 0x4065
+ .equiv VAR_0x4066, 0x4066
+ .equiv VAR_0x4067, 0x4067
+ .equiv VAR_0x4068, 0x4068
+ .equiv VAR_0x4069, 0x4069
+ .equiv VAR_0x406A, 0x406A
+ .equiv VAR_0x406B, 0x406B
+ .equiv VAR_0x406C, 0x406C
+ .equiv VAR_0x406D, 0x406D
+ .equiv VAR_0x406E, 0x406E
+ .equiv VAR_0x406F, 0x406F
+ .equiv VAR_0x4070, 0x4070
+ .equiv VAR_0x4071, 0x4071
+ .equiv VAR_0x4072, 0x4072
+ .equiv VAR_0x4073, 0x4073
+ .equiv VAR_0x4074, 0x4074
+ .equiv VAR_0x4075, 0x4075
+ .equiv VAR_0x4076, 0x4076
+ .equiv VAR_0x4077, 0x4077
+ .equiv VAR_0x4078, 0x4078
+ .equiv VAR_0x4079, 0x4079
+ .equiv VAR_0x407A, 0x407A
+ .equiv VAR_0x407B, 0x407B
+ .equiv VAR_0x407C, 0x407C
+ .equiv VAR_0x407D, 0x407D
+ .equiv VAR_0x407E, 0x407E
+ .equiv VAR_0x407F, 0x407F
+ .equiv VAR_0x4080, 0x4080
+ .equiv VAR_0x4081, 0x4081
+ .equiv VAR_0x4082, 0x4082
+ .equiv VAR_0x4083, 0x4083
+ .equiv VAR_0x4084, 0x4084
+ .equiv VAR_0x4085, 0x4085
+ .equiv VAR_0x4086, 0x4086
+ .equiv VAR_0x4087, 0x4087
+ .equiv VAR_0x4088, 0x4088
+ .equiv VAR_0x4089, 0x4089
+ .equiv VAR_0x408A, 0x408A
+ .equiv VAR_0x408B, 0x408B
+ .equiv VAR_0x408C, 0x408C
+ .equiv VAR_0x408D, 0x408D
+ .equiv VAR_0x408E, 0x408E
+ .equiv VAR_0x408F, 0x408F
+ .equiv VAR_0x4090, 0x4090
+ .equiv VAR_0x4091, 0x4091
+ .equiv VAR_0x4092, 0x4092
+ .equiv VAR_0x4093, 0x4093
+ .equiv VAR_0x4094, 0x4094
+ .equiv VAR_0x4095, 0x4095
+ .equiv VAR_0x4096, 0x4096
+ .equiv VAR_0x4097, 0x4097
+ .equiv VAR_0x4098, 0x4098
+ .equiv VAR_0x4099, 0x4099
+ .equiv VAR_0x409A, 0x409A
+ .equiv VAR_0x409B, 0x409B
+ .equiv VAR_0x409C, 0x409C
+ .equiv VAR_0x409D, 0x409D
+ .equiv VAR_0x409E, 0x409E
+ .equiv VAR_0x409F, 0x409F
+ .equiv VAR_0x40A0, 0x40A0
+ .equiv VAR_0x40A1, 0x40A1
+ .equiv VAR_0x40A2, 0x40A2
+ .equiv VAR_0x40A3, 0x40A3
+ .equiv VAR_0x40A4, 0x40A4
+ .equiv VAR_0x40A5, 0x40A5
+ .equiv VAR_0x40A6, 0x40A6
+ .equiv VAR_0x40A7, 0x40A7
+ .equiv VAR_0x40A8, 0x40A8
+ .equiv VAR_0x40A9, 0x40A9
+ .equiv VAR_0x40AA, 0x40AA
+ .equiv VAR_0x40AB, 0x40AB
+ .equiv VAR_0x40AC, 0x40AC
+ .equiv VAR_0x40AD, 0x40AD
+ .equiv VAR_0x40AE, 0x40AE
+ .equiv VAR_0x40AF, 0x40AF
+ .equiv VAR_0x40B0, 0x40B0
+ .equiv VAR_0x40B1, 0x40B1
+ .equiv VAR_0x40B2, 0x40B2
+ .equiv VAR_0x40B3, 0x40B3
+ .equiv VAR_PORTHOLE, 0x40B4
+ .equiv VAR_0x40B5, 0x40B5
+ .equiv VAR_0x40B6, 0x40B6
+ .equiv VAR_0x40B7, 0x40B7
+ .equiv VAR_0x40B8, 0x40B8
+ .equiv VAR_0x40B9, 0x40B9
+ .equiv VAR_0x40BA, 0x40BA
+ .equiv VAR_0x40BB, 0x40BB
+ .equiv VAR_0x40BC, 0x40BC
+ .equiv VAR_0x40BD, 0x40BD
+ .equiv VAR_0x40BE, 0x40BE
+ .equiv VAR_0x40BF, 0x40BF
+ .equiv VAR_0x40C0, 0x40C0
+ .equiv VAR_0x40C1, 0x40C1
+ .equiv VAR_0x40C2, 0x40C2
+ .equiv VAR_0x40C3, 0x40C3
+ .equiv VAR_0x40C4, 0x40C4
+ .equiv VAR_0x40C5, 0x40C5
+ .equiv VAR_0x40C6, 0x40C6
+ .equiv VAR_0x40C7, 0x40C7
+ .equiv VAR_0x40C8, 0x40C8
+ .equiv VAR_0x40C9, 0x40C9
+ .equiv VAR_0x40CA, 0x40CA
+ .equiv VAR_0x40CB, 0x40CB
+ .equiv VAR_0x40CC, 0x40CC
+ .equiv VAR_0x40CD, 0x40CD
+ .equiv VAR_0x40CE, 0x40CE
+ .equiv VAR_FRONTIER_FACILITY, 0x40CF
+ .equiv VAR_0x40D0, 0x40D0
+ .equiv VAR_0x40D1, 0x40D1
+ .equiv VAR_0x40D2, 0x40D2
+ .equiv VAR_0x40D3, 0x40D3
+ .equiv VAR_0x40D4, 0x40D4
+ .equiv VAR_0x40D5, 0x40D5
+ .equiv VAR_0x40D6, 0x40D6
+ .equiv VAR_0x40D7, 0x40D7
+ .equiv VAR_0x40D8, 0x40D8
+ .equiv VAR_0x40D9, 0x40D9
+ .equiv VAR_0x40DA, 0x40DA
+ .equiv VAR_0x40DB, 0x40DB
+ .equiv VAR_0x40DC, 0x40DC
+ .equiv VAR_0x40DD, 0x40DD
+ .equiv VAR_0x40DE, 0x40DE
+ .equiv VAR_0x40DF, 0x40DF
+ .equiv VAR_0x40E0, 0x40E0
+ .equiv VAR_0x40E1, 0x40E1
+ .equiv VAR_0x40E2, 0x40E2
+ .equiv VAR_0x40E3, 0x40E3
+ .equiv VAR_0x40E4, 0x40E4
+ .equiv VAR_0x40E5, 0x40E5
+ .equiv VAR_DAILY_SLOTS, 0x40E6
+ .equiv VAR_DAILY_WILDS, 0x40E7
+ .equiv VAR_DAILY_BLENDER, 0x40E8
+ .equiv VAR_DAILY_PLANTED_BERRIES, 0x40E9
+ .equiv VAR_DAILY_PICKED_BERRIES, 0x40EA
+ .equiv VAR_DAILY_ROULETTE, 0x40EB
+ .equiv VAR_0x40EC, 0x40EC
+ .equiv VAR_0x40ED, 0x40ED
+ .equiv VAR_0x40EE, 0x40EE
+ .equiv VAR_0x40EF, 0x40EF
+ .equiv VAR_0x40F0, 0x40F0
+ .equiv VAR_DAILY_BP, 0x40F1
+ .equiv VAR_0x40F2, 0x40F2
+ .equiv VAR_0x40F3, 0x40F3
+ .equiv VAR_0x40F4, 0x40F4
+ .equiv VAR_0x40F5, 0x40F5
+ .equiv VAR_0x40F6, 0x40F6
+ .equiv VAR_0x40F7, 0x40F7
+ .equiv VAR_0x40F8, 0x40F8
+ .equiv VAR_0x40F9, 0x40F9
+ .equiv VAR_0x40FA, 0x40FA
+ .equiv VAR_0x40FB, 0x40FB
+ .equiv VAR_0x40FC, 0x40FC
+ .equiv VAR_0x40FD, 0x40FD
+ .equiv VAR_0x40FE, 0x40FE
+ .equiv VAR_0x40FF, 0x40FF
+
+ .equiv VAR_0x8000, 0x8000
+ .equiv VAR_0x8001, 0x8001
+ .equiv VAR_0x8002, 0x8002
+ .equiv VAR_0x8003, 0x8003
+ .equiv VAR_0x8004, 0x8004
+ .equiv VAR_0x8005, 0x8005
+ .equiv VAR_0x8006, 0x8006
+ .equiv VAR_0x8007, 0x8007
+ .equiv VAR_0x8008, 0x8008
+ .equiv VAR_0x8009, 0x8009
+ .equiv VAR_0x800A, 0x800A
+ .equiv VAR_0x800B, 0x800B
+ .equiv VAR_FACING, 0x800C
+ .equiv VAR_RESULT, 0x800D
+ .equiv VAR_ITEM_ID, 0x800E
+ .equiv VAR_LAST_TALKED, 0x800F
+ .equiv VAR_CONTEST_RANK, 0x8010
+ .equiv VAR_CONTEST_CATEGORY, 0x8011
+ .equiv VAR_MON_BOX_ID, 0x8012
+ .equiv VAR_MON_BOX_POS, 0x8013
+ .equiv VAR_0x8014, 0x8014
diff --git a/data/battle_anim_80A9C70.s b/data/battle_anim_80A9C70.s
new file mode 100644
index 000000000..1b27b1044
--- /dev/null
+++ b/data/battle_anim_80A9C70.s
@@ -0,0 +1,23 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .incbin "baserom.gba", 0x53ede4, 0x14c
+
+ .align 2
+gUnknown_0853EF30:: @ 853EF30
+ .byte 0xf0, 0xf0, 0x0c, 0x80, 0xf0, 0x30, 0x0d, 0x84, 0x30, 0xf0, 0x0e, 0x86, 0x30, 0x30, 0x08, 0x88
+
+ .align 2
+gUnknown_0853EF40:: @ 853EF40
+ .4byte 0x00000004, gUnknown_0853EF30
+
+ .align 2
+gUnknown_0853EF48:: @ 853EF48
+ spr_template 0x271a, 0x271a, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gUnknown_0853EF60:: @ 853EF60
+ spr_template 0x2798, 0x2798, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A9E44
+
diff --git a/data/cable_car.s b/data/cable_car.s
index 23b81cba7..0f3bf3e2e 100644
--- a/data/cable_car.s
+++ b/data/cable_car.s
@@ -86,7 +86,7 @@ gMtChimneyHikerGraphicsIDs:: @ 85CDBE6
.byte MAP_OBJ_GFX_HIKER
.byte MAP_OBJ_GFX_CAMPER
.byte MAP_OBJ_GFX_PICNICKER
- .byte MAP_OBJ_GFX_ZIGZAGOON @ not used
+ .byte MAP_OBJ_GFX_ZIGZAGOON_1 @ not used
.align 1
gMtChimneyHikerCoords:: @ 85CDBEA
diff --git a/data/data4.s b/data/data4.s
index e98518b73..a49cebbe6 100644
--- a/data/data4.s
+++ b/data/data4.s
@@ -4,7 +4,9 @@
.include "constants/constants.inc"
.section .rodata
-
+
+.align 2
+
gUnknown_085B09E4:: @ 85B09E4
.incbin "baserom.gba", 0x5b09e4, 0x10
@@ -14,889 +16,3 @@ gUnknown_085B09F4:: @ 85B09F4
gUnknown_085B09F8:: @ 85B09F8
.incbin "baserom.gba", 0x5b09f8, 0x8
-gBirchBagGrassPal:: @ 85B0A00
- .incbin "baserom.gba", 0x5b0a00, 0x80
-
-gBirchBagTilemap:: @ 85B0A80
- .incbin "baserom.gba", 0x5b0a80, 0x18c
-
-gBirchGrassTilemap:: @ 85B0C0C
- .incbin "baserom.gba", 0x5b0c0c, 0x1f8
-
-gBirchHelpGfx:: @ 85B0E04
- .incbin "baserom.gba", 0x5b0e04, 0xfc8
-
-gUnknown_085B1DCC:: @ 85B1DCC
- .incbin "baserom.gba", 0x5b1dcc, 0x10
-
-gUnknown_085B1DDC:: @ 85B1DDC
- .incbin "baserom.gba", 0x5b1ddc, 0x8
-
-gUnknown_085B1DE4:: @ 85B1DE4
- .incbin "baserom.gba", 0x5b1de4, 0x8
-
-gUnknown_085B1DEC:: @ 85B1DEC
- .incbin "baserom.gba", 0x5b1dec, 0x6
-
-gUnknown_085B1DF2:: @ 85B1DF2
- .incbin "baserom.gba", 0x5b1df2, 0x6
-
-gUnknown_085B1DF8:: @ 85B1DF8
- .incbin "baserom.gba", 0x5b1df8, 0x8
-
-gUnknown_085B1E00:: @ 85B1E00
- .incbin "baserom.gba", 0x5b1e00, 0xc
-
-gUnknown_085B1E0C:: @ 85B1E0C
- .incbin "baserom.gba", 0x5b1e0c, 0x1c
-
-gUnknown_085B1E28:: @ 85B1E28
- .incbin "baserom.gba", 0x5b1e28, 0xa8
-
-gUnknown_085B1ED0:: @ 85B1ED0
- .incbin "baserom.gba", 0x5b1ed0, 0x8
-
-gUnknown_085B1ED8:: @ 85B1ED8
- .incbin "baserom.gba", 0x5b1ed8, 0x10
-
-gUnknown_085B1EE8:: @ 85B1EE8
- .incbin "baserom.gba", 0x5b1ee8, 0x10
-
-gUnknown_085B1EF8:: @ 85B1EF8
- .incbin "baserom.gba", 0x5b1ef8, 0x18
-
-gUnknown_085B1F10:: @ 85B1F10
- .incbin "baserom.gba", 0x5b1f10, 0x18
-
-gUnknown_085B1F28:: @ 85B1F28
- .incbin "baserom.gba", 0x5b1f28, 0x18
-
-gUnknown_085B1F40:: @ 85B1F40
- .incbin "baserom.gba", 0x5b1f40, 0x294
-
-gUnknown_085B21D4:: @ 85B21D4
- .incbin "baserom.gba", 0x5b21d4, 0x8
-
-gUnknown_085B21DC:: @ 85B21DC
- .incbin "baserom.gba", 0x5b21dc, 0x18
-
-gUnknown_085B21F4:: @ 85B21F4
- .incbin "baserom.gba", 0x5b21f4, 0x8
-
-gUnknown_085B21FC:: @ 85B21FC
- .incbin "baserom.gba", 0x5b21fc, 0xc
-
-gUnknown_085B2208:: @ 85B2208
- .incbin "baserom.gba", 0x5b2208, 0x10
-
-gUnknown_085B2218:: @ 85B2218
- .incbin "baserom.gba", 0x5b2218, 0x38
-
-gUnknown_085B2250:: @ 85B2250
- .incbin "baserom.gba", 0x5b2250, 0x18
-
-gUnknown_085B2268:: @ 85B2268
- .incbin "baserom.gba", 0x5b2268, 0x38
-
-gUnknown_085B22A0:: @ 85B22A0
- .incbin "baserom.gba", 0x5b22a0, 0x18
-
-gUnknown_085B22B8:: @ 85B22B8
- .incbin "baserom.gba", 0x5b22b8, 0x18
-
-gUnknown_085B22D0:: @ 85B22D0
- .incbin "baserom.gba", 0x5b22d0, 0x2d0
-
-gPokeblockFlavorCompatibilityTable:: @ 85B25A0
- .incbin "baserom.gba", 0x5b25a0, 0x80
-
-gUnknown_085B2620:: @ 85B2620
- .incbin "baserom.gba", 0x5b2620, 0xc
-
-gPokeblockNames:: @ 85B262C
- .incbin "baserom.gba", 0x5b262c, 0x3c
-
-gUnknown_085B2668:: @ 85B2668
- .incbin "baserom.gba", 0x5b2668, 0x30
-
-gUnknown_085B2698:: @ 85B2698
- .incbin "baserom.gba", 0x5b2698, 0x3
-
-gUnknown_085B269B:: @ 85B269B
- .incbin "baserom.gba", 0x5b269b, 0x2
-
-gUnknown_085B269D:: @ 85B269D
- .incbin "baserom.gba", 0x5b269d, 0x2
-
-gUnknown_085B269F:: @ 85B269F
- .incbin "baserom.gba", 0x5b269f, 0x5
-
-gUnknown_085B26A4:: @ 85B26A4
- .incbin "baserom.gba", 0x5b26a4, 0x4c
-
-gUnknown_085B26F0:: @ 85B26F0
- .incbin "baserom.gba", 0x5b26f0, 0x4
-
-gUnknown_085B26F4:: @ 85B26F4
- .incbin "baserom.gba", 0x5b26f4, 0x8
-
-gUnknown_085B26FC:: @ 85B26FC
- .incbin "baserom.gba", 0x5b26fc, 0x8
-
-gUnknown_085B2704:: @ 85B2704
- .incbin "baserom.gba", 0x5b2704, 0x18
-
-gUnknown_085B271C:: @ 85B271C
- .incbin "baserom.gba", 0x5b271c, 0x4
-
-gUnknown_085B2720:: @ 85B2720
- .incbin "baserom.gba", 0x5b2720, 0x28
-
-gUnknown_085B2748:: @ 85B2748
- .incbin "baserom.gba", 0x5b2748, 0x60
-
-gUnknown_085B27A8:: @ 85B27A8
- .incbin "baserom.gba", 0x5b27a8, 0x8
-
-gUnknown_085B27B0:: @ 85B27B0
- .incbin "baserom.gba", 0x5b27b0, 0x18
-
-gUnknown_085B27C8:: @ 85B27C8
- .incbin "baserom.gba", 0x5b27c8, 0x88
-
-gUnknown_085B2850:: @ 85B2850
- .incbin "baserom.gba", 0x5b2850, 0x20
-
-gUnknown_085B2870:: @ 85B2870
- .incbin "baserom.gba", 0x5b2870, 0x20
-
-gUnknown_085B2890:: @ 85B2890
- .incbin "baserom.gba", 0x5b2890, 0x10
-
-gUnknown_085B28A0:: @ 85B28A0
- .incbin "baserom.gba", 0x5b28a0, 0x10
-
-gUnknown_085B28B0:: @ 85B28B0
- .incbin "baserom.gba", 0x5b28b0, 0x1e0
-
-gUnknown_085B2A90:: @ 85B2A90
- .incbin "baserom.gba", 0x5b2a90, 0xb4
-
-gUnknown_085B2B44:: @ 85B2B44
- .incbin "baserom.gba", 0x5b2b44, 0x18
-
-gUnknown_085B2B5C:: @ 85B2B5C
- .incbin "baserom.gba", 0x5b2b5c, 0x4
-
-gUnknown_085B2B60:: @ 85B2B60
- .incbin "baserom.gba", 0x5b2b60, 0x8
-
-gUnknown_085B2B68:: @ 85B2B68
- .incbin "baserom.gba", 0x5b2b68, 0x10
-
-gUnknown_085B2B78:: @ 85B2B78
- .incbin "baserom.gba", 0x5b2b78, 0x6
-
-gUnknown_085B2B7E:: @ 85B2B7E
- .incbin "baserom.gba", 0x5b2b7e, 0xa
-
-gUnknown_085B2B88:: @ 85B2B88
- .incbin "baserom.gba", 0x5b2b88, 0xc
-
-gUnknown_085B2B94:: @ 85B2B94
- .incbin "baserom.gba", 0x5b2b94, 0xc
-
-gUnknown_085B2BA0:: @ 85B2BA0
- .incbin "baserom.gba", 0x5b2ba0, 0xc
-
-gUnknown_085B2BAC:: @ 85B2BAC
- .incbin "baserom.gba", 0x5b2bac, 0x8
-
-gUnknown_085B2BB4:: @ 85B2BB4
- .incbin "baserom.gba", 0x5b2bb4, 0x40
-
-gUnknown_085B2BF4:: @ 85B2BF4
- .incbin "baserom.gba", 0x5b2bf4, 0x12
-
-gUnknown_085B2C06:: @ 85B2C06
- .incbin "baserom.gba", 0x5b2c06, 0x12
-
-gUnknown_085B2C18:: @ 85B2C18
- .incbin "baserom.gba", 0x5b2c18, 0x9
-
-gUnknown_085B2C21:: @ 85B2C21
- .incbin "baserom.gba", 0x5b2c21, 0x9
-
-gUnknown_085B2C2A:: @ 85B2C2A
- .incbin "baserom.gba", 0x5b2c2a, 0x26
-
-gUnknown_085B2C50:: @ 85B2C50
- .incbin "baserom.gba", 0x5b2c50, 0x78
-
-gUnknown_085B2CC8:: @ 85B2CC8
- .incbin "baserom.gba", 0x5b2cc8, 0x14
-
-gUnknown_085B2CDC:: @ 85B2CDC
- .incbin "baserom.gba", 0x5b2cdc, 0x14
-
-gUnknown_085B2CF0:: @ 85B2CF0
- .incbin "baserom.gba", 0x5b2cf0, 0x340
-
-gUnknown_085B3030:: @ 85B3030
- .incbin "baserom.gba", 0x5b3030, 0x10
-
-gUnknown_085B3040:: @ 85B3040
- .incbin "baserom.gba", 0x5b3040, 0x64
-
-gUnknown_085B30A4:: @ 85B30A4
- .incbin "baserom.gba", 0x5b30a4, 0x30
-
-gUnknown_085B30D4:: @ 85B30D4
- .incbin "baserom.gba", 0x5b30d4, 0x30
-
-gUnknown_085B3104:: @ 85B3104
- .incbin "baserom.gba", 0x5b3104, 0x18
-
-gUnknown_085B311C:: @ 85B311C
- .incbin "baserom.gba", 0x5b311c, 0x8
-
-gUnknown_085B3124:: @ 85B3124
- .incbin "baserom.gba", 0x5b3124, 0x8
-
-gUnknown_085B312C:: @ 85B312C
- .incbin "baserom.gba", 0x5b312c, 0x16
-
-gUnknown_085B3142:: @ 85B3142
- .incbin "baserom.gba", 0x5b3142, 0xc
-
-gUnknown_085B314E:: @ 85B314E
- .incbin "baserom.gba", 0x5b314e, 0xe
-
-gUnknown_085B315C:: @ 85B315C
- .incbin "baserom.gba", 0x5b315c, 0x14
-
-gUnknown_085B3170:: @ 85B3170
- .incbin "baserom.gba", 0x5b3170, 0x2c
-
-gUnknown_085B319C:: @ 85B319C
- .incbin "baserom.gba", 0x5b319c, 0x18
-
-gUnknown_085B31B4:: @ 85B31B4
- .incbin "baserom.gba", 0x5b31b4, 0x1c
-
-gUnknown_085B31D0:: @ 85B31D0
- .incbin "baserom.gba", 0x5b31d0, 0x28
-
-gUnknown_085B31F8:: @ 85B31F8
- .incbin "baserom.gba", 0x5b31f8, 0x14
-
-gUnknown_085B320C:: @ 85B320C
- .incbin "baserom.gba", 0x5b320c, 0x14
-
-gUnknown_085B3220:: @ 85B3220
- .incbin "baserom.gba", 0x5b3220, 0x8
-
-gUnknown_085B3228:: @ 85B3228
- .incbin "baserom.gba", 0x5b3228, 0x2c
-
-gUnknown_085B3254:: @ 85B3254
- .incbin "baserom.gba", 0x5b3254, 0x2c
-
-gUnknown_085B3280:: @ 85B3280
- .incbin "baserom.gba", 0x5b3280, 0x160
-
-gUnknown_085B33E0:: @ 85B33E0
- .incbin "baserom.gba", 0x5b33e0, 0x16
-
-gUnknown_085B33F6:: @ 85B33F6
- .incbin "baserom.gba", 0x5b33f6, 0xa
-
-gUnknown_085B3400:: @ 85B3400
- .incbin "baserom.gba", 0x5b3400, 0x10
-
-gUnknown_085B3410:: @ 85B3410
- .incbin "baserom.gba", 0x5b3410, 0x10
-
-gUnknown_085B3420:: @ 85B3420
- .incbin "baserom.gba", 0x5b3420, 0x24
-
-gUnknown_085B3444:: @ 85B3444
- .incbin "baserom.gba", 0x5b3444, 0x2c
-
-gUnknown_085B3470:: @ 85B3470
- .incbin "baserom.gba", 0x5b3470, 0x4
-
-gUnknown_085B3474:: @ 85B3474
- .incbin "baserom.gba", 0x5b3474, 0x8
-
-gUnknown_085B347C:: @ 85B347C
- .incbin "baserom.gba", 0x5b347c, 0x8
-
-gUnknown_085B3484:: @ 85B3484
- .incbin "baserom.gba", 0x5b3484, 0xc0
-
-gUnknown_085B3544:: @ 85B3544
- .incbin "baserom.gba", 0x5b3544, 0x20
-
-gUnknown_085B3564:: @ 85B3564
- .incbin "baserom.gba", 0x5b3564, 0x800
-
-gUnknown_085B3D64:: @ 85B3D64
- .incbin "baserom.gba", 0x5b3d64, 0x8
-
-gUnknown_085B3D6C:: @ 85B3D6C
- .incbin "baserom.gba", 0x5b3d6c, 0x10
-
-gUnknown_085B3D7C:: @ 85B3D7C
- .incbin "baserom.gba", 0x5b3d7c, 0x8
-
-gUnknown_085B3D84:: @ 85B3D84
- .incbin "baserom.gba", 0x5b3d84, 0x8
-
-gUnknown_085B3D8C:: @ 85B3D8C
- .incbin "baserom.gba", 0x5b3d8c, 0x8
-
-gUnknown_085B3D94:: @ 85B3D94
- .incbin "baserom.gba", 0x5b3d94, 0x20
-
-gUnknown_085B3DB4:: @ 85B3DB4
- .incbin "baserom.gba", 0x5b3db4, 0x134
-
-gUnknown_085B3EE8:: @ 85B3EE8
- .incbin "baserom.gba", 0x5b3ee8, 0x2
-
-gUnknown_085B3EEA:: @ 85B3EEA
- .incbin "baserom.gba", 0x5b3eea, 0x6
-
-gUnknown_085B3EF0:: @ 85B3EF0
- .incbin "baserom.gba", 0x5b3ef0, 0xc
-
-gUnknown_085B3EFC:: @ 85B3EFC
- .incbin "baserom.gba", 0x5b3efc, 0x1c
-
-gUnknown_085B3F18:: @ 85B3F18
- .incbin "baserom.gba", 0x5b3f18, 0x100
-
-gUnknown_085B4018:: @ 85B4018
- .incbin "baserom.gba", 0x5b4018, 0x4
-
-gUnknown_085B401C:: @ 85B401C
- .incbin "baserom.gba", 0x5b401c, 0x8
-
-gUnknown_085B4024:: @ 85B4024
- .incbin "baserom.gba", 0x5b4024, 0x10
-
-gUnknown_085B4034:: @ 85B4034
- .incbin "baserom.gba", 0x5b4034, 0xb8
-
-gUnknown_085B40EC:: @ 85B40EC
- .incbin "baserom.gba", 0x5b40ec, 0x10
-
-gUnknown_085B40FC:: @ 85B40FC
- .incbin "baserom.gba", 0x5b40fc, 0x38
-
-gUnknown_085B4134:: @ 85B4134
- .incbin "baserom.gba", 0x5b4134, 0x6f8
-
-gUnknown_085B482C:: @ 85B482C
- .incbin "baserom.gba", 0x5b482c, 0x4e4
-
-gUnknown_085B4D10:: @ 85B4D10
- .incbin "baserom.gba", 0x5b4d10, 0x4d4
-
-gUnknown_085B51E4:: @ 85B51E4
- .incbin "baserom.gba", 0x5b51e4, 0x6a0
-
-gUnknown_085B5884:: @ 85B5884
- .incbin "baserom.gba", 0x5b5884, 0x40
-
-gText_ShedinjaJapaneseName2:: @ 85B58C4
- .incbin "baserom.gba", 0x5b58c4, 0x5
-
-gUnknown_085B58C9:: @ 85B58C9
- .incbin "baserom.gba", 0x5b58c9, 0x10
-
-gUnknown_085B58D9:: @ 85B58D9
- .incbin "baserom.gba", 0x5b58d9, 0x323
-
-gUnknown_085B5BFC:: @ 85B5BFC
- .incbin "baserom.gba", 0x5b5bfc, 0x200
-
-gUnknown_085B5DFC:: @ 85B5DFC
- .incbin "baserom.gba", 0x5b5dfc, 0x1a4
-
-gUnknown_085B5FA0:: @ 85B5FA0
- .incbin "baserom.gba", 0x5b5fa0, 0x1a0
-
-gUnknown_085B6140:: @ 85B6140
- .incbin "baserom.gba", 0x5b6140, 0xc
-
-gUnknown_085B614C:: @ 85B614C
- .incbin "baserom.gba", 0x5b614c, 0x8
-
-gUnknown_085B6154:: @ 85B6154
- .incbin "baserom.gba", 0x5b6154, 0xc
-
-gUnknown_085B6160:: @ 85B6160
- .incbin "baserom.gba", 0x5b6160, 0x184
-
-gUnknown_085B62E4:: @ 85B62E4
- .incbin "baserom.gba", 0x5b62e4, 0x4
-
-gUnknown_085B62E8:: @ 85B62E8
- .incbin "baserom.gba", 0x5b62e8, 0x5c
-
-gUnknown_085B6344:: @ 85B6344
- .incbin "baserom.gba", 0x5b6344, 0x4
-
-gUnknown_085B6348:: @ 85B6348
- .incbin "baserom.gba", 0x5b6348, 0x40
-
-gUnknown_085B6388:: @ 85B6388
- .incbin "baserom.gba", 0x5b6388, 0x68
-
-gUnknown_085B63F0:: @ 85B63F0
- .incbin "baserom.gba", 0x5b63f0, 0x18
-
-gUnknown_085B6408:: @ 85B6408
- .incbin "baserom.gba", 0x5b6408, 0x8
-
-gUnknown_085B6410:: @ 85B6410
- .incbin "baserom.gba", 0x5b6410, 0x8
-
-gUnknown_085B6418:: @ 85B6418
- .incbin "baserom.gba", 0x5b6418, 0x6
-
-gUnknown_085B641E:: @ 85B641E
- .incbin "baserom.gba", 0x5b641e, 0x4
-
-gUnknown_085B6422:: @ 85B6422
- .incbin "baserom.gba", 0x5b6422, 0xa
-
-gUnknown_085B642C:: @ 85B642C
- .incbin "baserom.gba", 0x5b642c, 0x10
-
-gUnknown_085B643C:: @ 85B643C
- .incbin "baserom.gba", 0x5b643c, 0xc
-
-gUnknown_085B6448:: @ 85B6448
- .incbin "baserom.gba", 0x5b6448, 0xf3c
-
-gUnknown_085B7384:: @ 85B7384
- .incbin "baserom.gba", 0x5b7384, 0x98
-
-gUnknown_085B741C:: @ 85B741C
- .incbin "baserom.gba", 0x5b741c, 0x6c
-
-gUnknown_085B7488:: @ 85B7488
- .incbin "baserom.gba", 0x5b7488, 0x8
-
-gUnknown_085B7490:: @ 85B7490
- .incbin "baserom.gba", 0x5b7490, 0x78
-
-gUnknown_085B7508:: @ 85B7508
- .incbin "baserom.gba", 0x5b7508, 0x60
-
-gUnknown_085B7568:: @ 85B7568
- .incbin "baserom.gba", 0x5b7568, 0x48
-
-gUnknown_085B75B0:: @ 85B75B0
- .incbin "baserom.gba", 0x5b75b0, 0x60
-
-gUnknown_085B7610:: @ 85B7610
- .incbin "baserom.gba", 0x5b7610, 0x140
-
-gUnknown_085B7750:: @ 85B7750
- .incbin "baserom.gba", 0x5b7750, 0x94
-
-gUnknown_085B77E4:: @ 85B77E4
- .incbin "baserom.gba", 0x5b77e4, 0x18
-
-gUnknown_085B77FC:: @ 85B77FC
- .incbin "baserom.gba", 0x5b77fc, 0x18
-
-gUnknown_085B7814:: @ 85B7814
- .incbin "baserom.gba", 0x5b7814, 0x18
-
-gUnknown_085B782C:: @ 85B782C
- .incbin "baserom.gba", 0x5b782c, 0x18
-
-gUnknown_085B7844:: @ 85B7844
- .incbin "baserom.gba", 0x5b7844, 0x20
-
-gUnknown_085B7864:: @ 85B7864
- .incbin "baserom.gba", 0x5b7864, 0xc4
-
-gUnknown_085B7928:: @ 85B7928
- .incbin "baserom.gba", 0x5b7928, 0x20
-
-gUnknown_085B7948:: @ 85B7948
- .incbin "baserom.gba", 0x5b7948, 0x8
-
-gUnknown_085B7950:: @ 85B7950
- .incbin "baserom.gba", 0x5b7950, 0x28
-
-gUnknown_085B7978:: @ 85B7978
- .incbin "baserom.gba", 0x5b7978, 0x80
-
-gUnknown_085B79F8:: @ 85B79F8
- .incbin "baserom.gba", 0x5b79f8, 0x18
-
-gUnknown_085B7A10:: @ 85B7A10
- .incbin "baserom.gba", 0x5b7a10, 0x30
-
-gUnknown_085B7A40:: @ 85B7A40
- .incbin "baserom.gba", 0x5b7a40, 0x7c
-
-gUnknown_085B7ABC:: @ 85B7ABC
- .incbin "baserom.gba", 0x5b7abc, 0x30
-
-gUnknown_085B7AEC:: @ 85B7AEC
- .incbin "baserom.gba", 0x5b7aec, 0x18
-
-gUnknown_085B7B04:: @ 85B7B04
- .incbin "baserom.gba", 0x5b7b04, 0x6
-
-gUnknown_085B7B0A:: @ 85B7B0A
- .incbin "baserom.gba", 0x5b7b0a, 0x8
-
-gUnknown_085B7B12:: @ 85B7B12
- .incbin "baserom.gba", 0x5b7b12, 0x8
-
-gUnknown_085B7B1A:: @ 85B7B1A
- .incbin "baserom.gba", 0x5b7b1a, 0x14
-
-gUnknown_085B7B2E:: @ 85B7B2E
- .incbin "baserom.gba", 0x5b7b2e, 0x18
-
-gUnknown_085B7B46:: @ 85B7B46
- .incbin "baserom.gba", 0x5b7b46, 0x2
-
-gUnknown_085B7B48:: @ 85B7B48
- .incbin "baserom.gba", 0x5b7b48, 0x8d0
-
-gUnknown_085B8418:: @ 85B8418
- .incbin "baserom.gba", 0x5b8418, 0x20
-
-gUnknown_085B8438:: @ 85B8438
- .incbin "baserom.gba", 0x5b8438, 0x338
-
-gUnknown_085B8770:: @ 85B8770
- .incbin "baserom.gba", 0x5b8770, 0x480
-
-gUnknown_085B8BF0:: @ 85B8BF0
- .incbin "baserom.gba", 0x5b8bf0, 0x20
-
-gUnknown_085B8C10:: @ 85B8C10
- .incbin "baserom.gba", 0x5b8c10, 0x20
-
-gUnknown_085B8C30:: @ 85B8C30
- .incbin "baserom.gba", 0x5b8c30, 0x2
-
-gUnknown_085B8C32:: @ 85B8C32
- .incbin "baserom.gba", 0x5b8c32, 0x36
-
-gUnknown_085B8C68:: @ 85B8C68
- .incbin "baserom.gba", 0x5b8c68, 0x18
-
-gUnknown_085B8C80:: @ 85B8C80
- .incbin "baserom.gba", 0x5b8c80, 0x10
-
-gUnknown_085B8C90:: @ 85B8C90
- .incbin "baserom.gba", 0x5b8c90, 0x528
-
-gUnknown_085B91B8:: @ 85B91B8
- .incbin "baserom.gba", 0x5b91b8, 0x178
-
-gUnknown_085B9330:: @ 85B9330
- .incbin "baserom.gba", 0x5b9330, 0x580
-
-gUnknown_085B98B0:: @ 85B98B0
- .incbin "baserom.gba", 0x5b98b0, 0x240
-
-gUnknown_085B9AF0:: @ 85B9AF0
- .incbin "baserom.gba", 0x5b9af0, 0x11e0
-
-gUnknown_085BACD0:: @ 85BACD0
- .incbin "baserom.gba", 0x5bacd0, 0x1e0
-
-gUnknown_085BAEB0:: @ 85BAEB0
- .incbin "baserom.gba", 0x5baeb0, 0x20
-
-gUnknown_085BAED0:: @ 85BAED0
- .incbin "baserom.gba", 0x5baed0, 0x378
-
-gUnknown_085BB248:: @ 85BB248
- .incbin "baserom.gba", 0x5bb248, 0x25c
-
-gUnknown_085BB4A4:: @ 85BB4A4
- .incbin "baserom.gba", 0x5bb4a4, 0x48c
-
-gUnknown_085BB930:: @ 85BB930
- .incbin "baserom.gba", 0x5bb930, 0x2e4
-
-gUnknown_085BBC14:: @ 85BBC14
- .incbin "baserom.gba", 0x5bbc14, 0x6a0
-
-gUnknown_085BC2B4:: @ 85BC2B4
- .incbin "baserom.gba", 0x5bc2b4, 0x20
-
-gUnknown_085BC2D4:: @ 85BC2D4
- .incbin "baserom.gba", 0x5bc2d4, 0x20
-
-gUnknown_085BC2F4:: @ 85BC2F4
- .incbin "baserom.gba", 0x5bc2f4, 0x20
-
-gUnknown_085BC314:: @ 85BC314
- .incbin "baserom.gba", 0x5bc314, 0x800
-
-gUnknown_085BCB14:: @ 85BCB14
- .incbin "baserom.gba", 0x5bcb14, 0x800
-
-gUnknown_085BD314:: @ 85BD314
- .incbin "baserom.gba", 0x5bd314, 0x820
-
-gUnknown_085BDB34:: @ 85BDB34
- .incbin "baserom.gba", 0x5bdb34, 0x6b4
-
-gUnknown_085BE1E8:: @ 85BE1E8
- .incbin "baserom.gba", 0x5be1e8, 0x334
-
-gUnknown_085BE51C:: @ 85BE51C
- .incbin "baserom.gba", 0x5be51c, 0x56c
-
-gUnknown_085BEA88:: @ 85BEA88
- .incbin "baserom.gba", 0x5bea88, 0x318
-
-gUnknown_085BEDA0:: @ 85BEDA0
- .incbin "baserom.gba", 0x5beda0, 0x140
-
-gUnknown_085BEEE0:: @ 85BEEE0
- .incbin "baserom.gba", 0x5beee0, 0x1c0
-
-gUnknown_085BF0A0:: @ 85BF0A0
- .incbin "baserom.gba", 0x5bf0a0, 0x200
-
-gUnknown_085BF2A0:: @ 85BF2A0
- .incbin "baserom.gba", 0x5bf2a0, 0x200
-
-gUnknown_085BF4A0:: @ 85BF4A0
- .incbin "baserom.gba", 0x5bf4a0, 0xa0
-
-gUnknown_085BF540:: @ 85BF540
- .incbin "baserom.gba", 0x5bf540, 0x160
-
-gUnknown_085BF6A0:: @ 85BF6A0
- .incbin "baserom.gba", 0x5bf6a0, 0x7540
-
-gUnknown_085C6BE0:: @ 85C6BE0
- .incbin "baserom.gba", 0x5c6be0, 0x1000
-
-gUnknown_085C7BE0:: @ 85C7BE0
- .incbin "baserom.gba", 0x5c7be0, 0x20
-
-gUnknown_085C7C00:: @ 85C7C00
- .incbin "baserom.gba", 0x5c7c00, 0x68c
-
-gUnknown_085C828C:: @ 85C828C
- .incbin "baserom.gba", 0x5c828c, 0x2ec
-
-gUnknown_085C8578:: @ 85C8578
- .incbin "baserom.gba", 0x5c8578, 0x20
-
-gUnknown_085C8598:: @ 85C8598
- .incbin "baserom.gba", 0x5c8598, 0x15c
-
-gUnknown_085C86F4:: @ 85C86F4
- .incbin "baserom.gba", 0x5c86f4, 0x100
-
-gUnknown_085C87F4:: @ 85C87F4
- .incbin "baserom.gba", 0x5c87f4, 0xb0
-
-gUnknown_085C88A4:: @ 85C88A4
- .incbin "baserom.gba", 0x5c88a4, 0x84
-
-gUnknown_085C8928:: @ 85C8928
- .incbin "baserom.gba", 0x5c8928, 0x20
-
-gUnknown_085C8948:: @ 85C8948
- .incbin "baserom.gba", 0x5c8948, 0xa8
-
-gUnknown_085C89F0:: @ 85C89F0
- .incbin "baserom.gba", 0x5c89f0, 0xa8
-
-gUnknown_085C8A98:: @ 85C8A98
- .incbin "baserom.gba", 0x5c8a98, 0x10
-
-gUnknown_085C8AA8:: @ 85C8AA8
- .incbin "baserom.gba", 0x5c8aa8, 0xc
-
-gUnknown_085C8AB4:: @ 85C8AB4
- .incbin "baserom.gba", 0x5c8ab4, 0x8
-
-gUnknown_085C8ABC:: @ 85C8ABC
- .incbin "baserom.gba", 0x5c8abc, 0x8
-
-gUnknown_085C8AC4:: @ 85C8AC4
- .incbin "baserom.gba", 0x5c8ac4, 0x1c
-
-gUnknown_085C8AE0:: @ 85C8AE0
- .incbin "baserom.gba", 0x5c8ae0, 0x1c
-
-gUnknown_085C8AFC:: @ 85C8AFC
- .incbin "baserom.gba", 0x5c8afc, 0x18
-
-gUnknown_085C8B14:: @ 85C8B14
- .incbin "baserom.gba", 0x5c8b14, 0x18
-
-gUnknown_085C8B2C:: @ 85C8B2C
- .incbin "baserom.gba", 0x5c8b2c, 0x18
-
-gUnknown_085C8B44:: @ 85C8B44
- .incbin "baserom.gba", 0x5c8b44, 0x18
-
-gUnknown_085C8B5C:: @ 85C8B5C
- .incbin "baserom.gba", 0x5c8b5c, 0x20
-
-gUnknown_085C8B7C:: @ 85C8B7C
- .incbin "baserom.gba", 0x5c8b7c, 0xc
-
-gUnknown_085C8B88:: @ 85C8B88
- .incbin "baserom.gba", 0x5c8b88, 0x4
-
-gUnknown_085C8B8C:: @ 85C8B8C
- .incbin "baserom.gba", 0x5c8b8c, 0xa
-
-gUnknown_085C8B96:: @ 85C8B96
- .incbin "baserom.gba", 0x5c8b96, 0x6
-
-gUnknown_085C8B9C:: @ 85C8B9C
- .incbin "baserom.gba", 0x5c8b9c, 0x1c
-
-gUnknown_085C8BB8:: @ 85C8BB8
- .incbin "baserom.gba", 0x5c8bb8, 0x8
-
-gUnknown_085C8BC0:: @ 85C8BC0
- .incbin "baserom.gba", 0x5c8bc0, 0xc
-
-gUnknown_085C8BCC:: @ 85C8BCC
- .incbin "baserom.gba", 0x5c8bcc, 0x28
-
-gUnknown_085C8BF4:: @ 85C8BF4
- .incbin "baserom.gba", 0x5c8bf4, 0x6
-
-gUnknown_085C8BFA:: @ 85C8BFA
- .incbin "baserom.gba", 0x5c8bfa, 0x14
-
-gUnknown_085C8C0E:: @ 85C8C0E
- .incbin "baserom.gba", 0x5c8c0e, 0x16
-
-gUnknown_085C8C24:: @ 85C8C24
- .incbin "baserom.gba", 0x5c8c24, 0x1c
-
-gUnknown_085C8C40:: @ 85C8C40
- .incbin "baserom.gba", 0x5c8c40, 0x4
-
-gUnknown_085C8C44:: @ 85C8C44
- .incbin "baserom.gba", 0x5c8c44, 0x4
-
-gUnknown_085C8C48:: @ 85C8C48
- .incbin "baserom.gba", 0x5c8c48, 0xc
-
-gUnknown_085C8C54:: @ 85C8C54
- .incbin "baserom.gba", 0x5c8c54, 0x10
-
-gUnknown_085C8C64:: @ 85C8C64
- .incbin "baserom.gba", 0x5c8c64, 0x2
-
-gUnknown_085C8C66:: @ 85C8C66
- .incbin "baserom.gba", 0x5c8c66, 0x6
-
-gUnknown_085C8C6C:: @ 85C8C6C
- .incbin "baserom.gba", 0x5c8c6c, 0xc
-
-gUnknown_085C8C78:: @ 85C8C78
- .incbin "baserom.gba", 0x5c8c78, 0x8
-
-gUnknown_085C8C80:: @ 85C8C80
- .incbin "baserom.gba", 0x5c8c80, 0x4
-
-gUnknown_085C8C84:: @ 85C8C84
- .incbin "baserom.gba", 0x5c8c84, 0xb4
-
-gUnknown_085C8D38:: @ 85C8D38
- .incbin "baserom.gba", 0x5c8d38, 0x8
-
-gUnknown_085C8D40:: @ 85C8D40
- .incbin "baserom.gba", 0x5c8d40, 0x20
-
-gUnknown_085C8D60:: @ 85C8D60
- .incbin "baserom.gba", 0x5c8d60, 0x2c
-
-gUnknown_085C8D8C:: @ 85C8D8C
- .incbin "baserom.gba", 0x5c8d8c, 0x14
-
-gUnknown_085C8DA0:: @ 85C8DA0
- .incbin "baserom.gba", 0x5c8da0, 0x10
-
-gUnknown_085C8DB0:: @ 85C8DB0
- .incbin "baserom.gba", 0x5c8db0, 0xc
-
-gUnknown_085C8DBC:: @ 85C8DBC
- .incbin "baserom.gba", 0x5c8dbc, 0x14
-
-gUnknown_085C8DD0:: @ 85C8DD0
- .incbin "baserom.gba", 0x5c8dd0, 0x46
-
-gUnknown_085C8E16:: @ 85C8E16
- .incbin "baserom.gba", 0x5c8e16, 0xe
-
-gUnknown_085C8E24:: @ 85C8E24
- .incbin "baserom.gba", 0x5c8e24, 0x44
-
-gUnknown_085C8E68:: @ 85C8E68
- .incbin "baserom.gba", 0x5c8e68, 0x6c
-
- .align 2
-gFieldEffectObjectPalette10:: @ 85C8ED4
- .incbin "graphics/map_objects/palettes/field_effect_object_palette_10.gbapal"
-
- .align 2
-gFieldEffectObjectPaletteInfo10:: @ 85C8EF4
- obj_pal gFieldEffectObjectPalette10, 0x1009
-
- .incbin "baserom.gba", 0x5c8efc, 0xe0
-
-gUnknown_085C8FDC:: @ 85C8FDC
- .incbin "baserom.gba", 0x5c8fdc, 0x14
-
-gUnknown_085C8FF0:: @ 85C8FF0
- .incbin "baserom.gba", 0x5c8ff0, 0x30
-
-gUnknown_085C9020:: @ 85C9020
- .incbin "baserom.gba", 0x5c9020, 0x4b0
-
-gUnknown_085C94D0:: @ 85C94D0
- .incbin "baserom.gba", 0x5c94d0, 0x500
-
-gUnknown_085C99D0:: @ 85C99D0
- .incbin "baserom.gba", 0x5c99d0, 0x18
-
-gUnknown_085C99E8:: @ 85C99E8
- .incbin "baserom.gba", 0x5c99e8, 0x10
-
-gUnknown_085C99F8:: @ 85C99F8
- .incbin "baserom.gba", 0x5c99f8, 0x10
-
-gUnknown_085C9A08:: @ 85C9A08
- .incbin "baserom.gba", 0x5c9a08, 0x14
-
-gUnknown_085C9A1C:: @ 85C9A1C
- .incbin "baserom.gba", 0x5c9a1c, 0x14
-
-gUnknown_085C9A30:: @ 85C9A30
- .incbin "baserom.gba", 0x5c9a30, 0x23
-
-gUnknown_085C9A53:: @ 85C9A53
- .incbin "baserom.gba", 0x5c9a53, 0x41
-
diff --git a/data/data4c.s b/data/data4c.s
new file mode 100644
index 000000000..b86cd2add
--- /dev/null
+++ b/data/data4c.s
@@ -0,0 +1,833 @@
+@ the fourth big chunk of data
+
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+gUnknown_085B21D4:: @ 85B21D4
+ .incbin "baserom.gba", 0x5b21d4, 0x8
+
+gUnknown_085B21DC:: @ 85B21DC
+ .incbin "baserom.gba", 0x5b21dc, 0x18
+
+gUnknown_085B21F4:: @ 85B21F4
+ .incbin "baserom.gba", 0x5b21f4, 0x8
+
+gUnknown_085B21FC:: @ 85B21FC
+ .incbin "baserom.gba", 0x5b21fc, 0xc
+
+gUnknown_085B2208:: @ 85B2208
+ .incbin "baserom.gba", 0x5b2208, 0x10
+
+gUnknown_085B2218:: @ 85B2218
+ .incbin "baserom.gba", 0x5b2218, 0x38
+
+gUnknown_085B2250:: @ 85B2250
+ .incbin "baserom.gba", 0x5b2250, 0x18
+
+gUnknown_085B2268:: @ 85B2268
+ .incbin "baserom.gba", 0x5b2268, 0x38
+
+gUnknown_085B22A0:: @ 85B22A0
+ .incbin "baserom.gba", 0x5b22a0, 0x18
+
+gUnknown_085B22B8:: @ 85B22B8
+ .incbin "baserom.gba", 0x5b22b8, 0x18
+
+gUnknown_085B22D0:: @ 85B22D0
+ .incbin "baserom.gba", 0x5b22d0, 0x2d0
+
+gPokeblockFlavorCompatibilityTable:: @ 85B25A0
+ .incbin "baserom.gba", 0x5b25a0, 0x80
+
+gUnknown_085B2620:: @ 85B2620
+ .incbin "baserom.gba", 0x5b2620, 0xc
+
+gPokeblockNames:: @ 85B262C
+ .incbin "baserom.gba", 0x5b262c, 0x3c
+
+gUnknown_085B2668:: @ 85B2668
+ .incbin "baserom.gba", 0x5b2668, 0x30
+
+gUnknown_085B2698:: @ 85B2698
+ .incbin "baserom.gba", 0x5b2698, 0x3
+
+gUnknown_085B269B:: @ 85B269B
+ .incbin "baserom.gba", 0x5b269b, 0x2
+
+gUnknown_085B269D:: @ 85B269D
+ .incbin "baserom.gba", 0x5b269d, 0x2
+
+gUnknown_085B269F:: @ 85B269F
+ .incbin "baserom.gba", 0x5b269f, 0x5
+
+gUnknown_085B26A4:: @ 85B26A4
+ .incbin "baserom.gba", 0x5b26a4, 0x4c
+
+gUnknown_085B26F0:: @ 85B26F0
+ .incbin "baserom.gba", 0x5b26f0, 0x4
+
+gUnknown_085B26F4:: @ 85B26F4
+ .incbin "baserom.gba", 0x5b26f4, 0x8
+
+gUnknown_085B26FC:: @ 85B26FC
+ .incbin "baserom.gba", 0x5b26fc, 0x8
+
+gUnknown_085B2704:: @ 85B2704
+ .incbin "baserom.gba", 0x5b2704, 0x18
+
+gUnknown_085B271C:: @ 85B271C
+ .incbin "baserom.gba", 0x5b271c, 0x4
+
+gUnknown_085B2720:: @ 85B2720
+ .incbin "baserom.gba", 0x5b2720, 0x28
+
+gUnknown_085B2748:: @ 85B2748
+ .incbin "baserom.gba", 0x5b2748, 0x60
+
+gUnknown_085B27A8:: @ 85B27A8
+ .incbin "baserom.gba", 0x5b27a8, 0x8
+
+gUnknown_085B27B0:: @ 85B27B0
+ .incbin "baserom.gba", 0x5b27b0, 0x18
+
+gUnknown_085B27C8:: @ 85B27C8
+ .incbin "baserom.gba", 0x5b27c8, 0x88
+
+gUnknown_085B2850:: @ 85B2850
+ .incbin "baserom.gba", 0x5b2850, 0x20
+
+gUnknown_085B2870:: @ 85B2870
+ .incbin "baserom.gba", 0x5b2870, 0x20
+
+gUnknown_085B2890:: @ 85B2890
+ .incbin "baserom.gba", 0x5b2890, 0x10
+
+gUnknown_085B28A0:: @ 85B28A0
+ .incbin "baserom.gba", 0x5b28a0, 0x10
+
+gUnknown_085B28B0:: @ 85B28B0
+ .incbin "baserom.gba", 0x5b28b0, 0x1e0
+
+gUnknown_085B2A90:: @ 85B2A90
+ .incbin "baserom.gba", 0x5b2a90, 0xb4
+
+gUnknown_085B2B44:: @ 85B2B44
+ .incbin "baserom.gba", 0x5b2b44, 0x18
+
+gUnknown_085B2B5C:: @ 85B2B5C
+ .incbin "baserom.gba", 0x5b2b5c, 0x4
+
+gUnknown_085B2B60:: @ 85B2B60
+ .incbin "baserom.gba", 0x5b2b60, 0x8
+
+gUnknown_085B2B68:: @ 85B2B68
+ .incbin "baserom.gba", 0x5b2b68, 0x10
+
+gUnknown_085B2B78:: @ 85B2B78
+ .incbin "baserom.gba", 0x5b2b78, 0x6
+
+gUnknown_085B2B7E:: @ 85B2B7E
+ .incbin "baserom.gba", 0x5b2b7e, 0xa
+
+gUnknown_085B2B88:: @ 85B2B88
+ .incbin "baserom.gba", 0x5b2b88, 0xc
+
+gUnknown_085B2B94:: @ 85B2B94
+ .incbin "baserom.gba", 0x5b2b94, 0xc
+
+gUnknown_085B2BA0:: @ 85B2BA0
+ .incbin "baserom.gba", 0x5b2ba0, 0xc
+
+gUnknown_085B2BAC:: @ 85B2BAC
+ .incbin "baserom.gba", 0x5b2bac, 0x8
+
+gUnknown_085B2BB4:: @ 85B2BB4
+ .incbin "baserom.gba", 0x5b2bb4, 0x40
+
+gUnknown_085B2BF4:: @ 85B2BF4
+ .incbin "baserom.gba", 0x5b2bf4, 0x12
+
+gUnknown_085B2C06:: @ 85B2C06
+ .incbin "baserom.gba", 0x5b2c06, 0x12
+
+gUnknown_085B2C18:: @ 85B2C18
+ .incbin "baserom.gba", 0x5b2c18, 0x9
+
+gUnknown_085B2C21:: @ 85B2C21
+ .incbin "baserom.gba", 0x5b2c21, 0x9
+
+gUnknown_085B2C2A:: @ 85B2C2A
+ .incbin "baserom.gba", 0x5b2c2a, 0x26
+
+gUnknown_085B2C50:: @ 85B2C50
+ .incbin "baserom.gba", 0x5b2c50, 0x78
+
+gUnknown_085B2CC8:: @ 85B2CC8
+ .incbin "baserom.gba", 0x5b2cc8, 0x14
+
+gUnknown_085B2CDC:: @ 85B2CDC
+ .incbin "baserom.gba", 0x5b2cdc, 0x14
+
+gUnknown_085B2CF0:: @ 85B2CF0
+ .incbin "baserom.gba", 0x5b2cf0, 0x340
+
+gUnknown_085B3030:: @ 85B3030
+ .incbin "baserom.gba", 0x5b3030, 0x10
+
+gUnknown_085B3040:: @ 85B3040
+ .incbin "baserom.gba", 0x5b3040, 0x64
+
+gUnknown_085B30A4:: @ 85B30A4
+ .incbin "baserom.gba", 0x5b30a4, 0x30
+
+gUnknown_085B30D4:: @ 85B30D4
+ .incbin "baserom.gba", 0x5b30d4, 0x30
+
+gUnknown_085B3104:: @ 85B3104
+ .incbin "baserom.gba", 0x5b3104, 0x18
+
+gUnknown_085B311C:: @ 85B311C
+ .incbin "baserom.gba", 0x5b311c, 0x8
+
+gUnknown_085B3124:: @ 85B3124
+ .incbin "baserom.gba", 0x5b3124, 0x8
+
+gUnknown_085B312C:: @ 85B312C
+ .incbin "baserom.gba", 0x5b312c, 0x16
+
+gUnknown_085B3142:: @ 85B3142
+ .incbin "baserom.gba", 0x5b3142, 0xc
+
+gUnknown_085B314E:: @ 85B314E
+ .incbin "baserom.gba", 0x5b314e, 0xe
+
+gUnknown_085B315C:: @ 85B315C
+ .incbin "baserom.gba", 0x5b315c, 0x14
+
+gUnknown_085B3170:: @ 85B3170
+ .incbin "baserom.gba", 0x5b3170, 0x2c
+
+gUnknown_085B319C:: @ 85B319C
+ .incbin "baserom.gba", 0x5b319c, 0x18
+
+gUnknown_085B31B4:: @ 85B31B4
+ .incbin "baserom.gba", 0x5b31b4, 0x1c
+
+gUnknown_085B31D0:: @ 85B31D0
+ .incbin "baserom.gba", 0x5b31d0, 0x28
+
+gUnknown_085B31F8:: @ 85B31F8
+ .incbin "baserom.gba", 0x5b31f8, 0x14
+
+gUnknown_085B320C:: @ 85B320C
+ .incbin "baserom.gba", 0x5b320c, 0x14
+
+gUnknown_085B3220:: @ 85B3220
+ .incbin "baserom.gba", 0x5b3220, 0x8
+
+gUnknown_085B3228:: @ 85B3228
+ .incbin "baserom.gba", 0x5b3228, 0x2c
+
+gUnknown_085B3254:: @ 85B3254
+ .incbin "baserom.gba", 0x5b3254, 0x2c
+
+gUnknown_085B3280:: @ 85B3280
+ .incbin "baserom.gba", 0x5b3280, 0x160
+
+gUnknown_085B33E0:: @ 85B33E0
+ .incbin "baserom.gba", 0x5b33e0, 0x16
+
+gUnknown_085B33F6:: @ 85B33F6
+ .incbin "baserom.gba", 0x5b33f6, 0xa
+
+gUnknown_085B3400:: @ 85B3400
+ .incbin "baserom.gba", 0x5b3400, 0x10
+
+gUnknown_085B3410:: @ 85B3410
+ .incbin "baserom.gba", 0x5b3410, 0x10
+
+gUnknown_085B3420:: @ 85B3420
+ .incbin "baserom.gba", 0x5b3420, 0x24
+
+gUnknown_085B3444:: @ 85B3444
+ .incbin "baserom.gba", 0x5b3444, 0x2c
+
+gUnknown_085B3470:: @ 85B3470
+ .incbin "baserom.gba", 0x5b3470, 0x4
+
+gUnknown_085B3474:: @ 85B3474
+ .incbin "baserom.gba", 0x5b3474, 0x8
+
+gUnknown_085B347C:: @ 85B347C
+ .incbin "baserom.gba", 0x5b347c, 0x8
+
+gUnknown_085B3484:: @ 85B3484
+ .incbin "baserom.gba", 0x5b3484, 0xc0
+
+gUnknown_085B3544:: @ 85B3544
+ .incbin "baserom.gba", 0x5b3544, 0x20
+
+gUnknown_085B3564:: @ 85B3564
+ .incbin "baserom.gba", 0x5b3564, 0x800
+
+gUnknown_085B3D64:: @ 85B3D64
+ .incbin "baserom.gba", 0x5b3d64, 0x8
+
+gUnknown_085B3D6C:: @ 85B3D6C
+ .incbin "baserom.gba", 0x5b3d6c, 0x10
+
+gUnknown_085B3D7C:: @ 85B3D7C
+ .incbin "baserom.gba", 0x5b3d7c, 0x8
+
+gUnknown_085B3D84:: @ 85B3D84
+ .incbin "baserom.gba", 0x5b3d84, 0x8
+
+gUnknown_085B3D8C:: @ 85B3D8C
+ .incbin "baserom.gba", 0x5b3d8c, 0x8
+
+gUnknown_085B3D94:: @ 85B3D94
+ .incbin "baserom.gba", 0x5b3d94, 0x20
+
+gUnknown_085B3DB4:: @ 85B3DB4
+ .incbin "baserom.gba", 0x5b3db4, 0x134
+
+gUnknown_085B3EE8:: @ 85B3EE8
+ .incbin "baserom.gba", 0x5b3ee8, 0x2
+
+gUnknown_085B3EEA:: @ 85B3EEA
+ .incbin "baserom.gba", 0x5b3eea, 0x6
+
+gUnknown_085B3EF0:: @ 85B3EF0
+ .incbin "baserom.gba", 0x5b3ef0, 0xc
+
+gUnknown_085B3EFC:: @ 85B3EFC
+ .incbin "baserom.gba", 0x5b3efc, 0x1c
+
+gUnknown_085B3F18:: @ 85B3F18
+ .incbin "baserom.gba", 0x5b3f18, 0x100
+
+gUnknown_085B4018:: @ 85B4018
+ .incbin "baserom.gba", 0x5b4018, 0x4
+
+gUnknown_085B401C:: @ 85B401C
+ .incbin "baserom.gba", 0x5b401c, 0x8
+
+gUnknown_085B4024:: @ 85B4024
+ .incbin "baserom.gba", 0x5b4024, 0x10
+
+gUnknown_085B4034:: @ 85B4034
+ .incbin "baserom.gba", 0x5b4034, 0xb8
+
+gUnknown_085B40EC:: @ 85B40EC
+ .incbin "baserom.gba", 0x5b40ec, 0x10
+
+gUnknown_085B40FC:: @ 85B40FC
+ .incbin "baserom.gba", 0x5b40fc, 0x38
+
+gUnknown_085B4134:: @ 85B4134
+ .incbin "baserom.gba", 0x5b4134, 0x6f8
+
+gUnknown_085B482C:: @ 85B482C
+ .incbin "baserom.gba", 0x5b482c, 0x4e4
+
+gUnknown_085B4D10:: @ 85B4D10
+ .incbin "baserom.gba", 0x5b4d10, 0x4d4
+
+gUnknown_085B51E4:: @ 85B51E4
+ .incbin "baserom.gba", 0x5b51e4, 0x6a0
+
+gUnknown_085B5884:: @ 85B5884
+ .incbin "baserom.gba", 0x5b5884, 0x40
+
+gText_ShedinjaJapaneseName2:: @ 85B58C4
+ .incbin "baserom.gba", 0x5b58c4, 0x5
+
+gUnknown_085B58C9:: @ 85B58C9
+ .incbin "baserom.gba", 0x5b58c9, 0x10
+
+gUnknown_085B58D9:: @ 85B58D9
+ .incbin "baserom.gba", 0x5b58d9, 0x323
+
+gUnknown_085B5BFC:: @ 85B5BFC
+ .incbin "baserom.gba", 0x5b5bfc, 0x200
+
+gUnknown_085B5DFC:: @ 85B5DFC
+ .incbin "baserom.gba", 0x5b5dfc, 0x1a4
+
+gUnknown_085B5FA0:: @ 85B5FA0
+ .incbin "baserom.gba", 0x5b5fa0, 0x1a0
+
+gUnknown_085B6140:: @ 85B6140
+ .incbin "baserom.gba", 0x5b6140, 0xc
+
+gUnknown_085B614C:: @ 85B614C
+ .incbin "baserom.gba", 0x5b614c, 0x8
+
+gUnknown_085B6154:: @ 85B6154
+ .incbin "baserom.gba", 0x5b6154, 0xc
+
+gUnknown_085B6160:: @ 85B6160
+ .incbin "baserom.gba", 0x5b6160, 0x184
+
+gUnknown_085B62E4:: @ 85B62E4
+ .incbin "baserom.gba", 0x5b62e4, 0x4
+
+gUnknown_085B62E8:: @ 85B62E8
+ .incbin "baserom.gba", 0x5b62e8, 0x5c
+
+gUnknown_085B6344:: @ 85B6344
+ .incbin "baserom.gba", 0x5b6344, 0x4
+
+gUnknown_085B6348:: @ 85B6348
+ .incbin "baserom.gba", 0x5b6348, 0x40
+
+gUnknown_085B6388:: @ 85B6388
+ .incbin "baserom.gba", 0x5b6388, 0x68
+
+gUnknown_085B63F0:: @ 85B63F0
+ .incbin "baserom.gba", 0x5b63f0, 0x18
+
+gUnknown_085B6408:: @ 85B6408
+ .incbin "baserom.gba", 0x5b6408, 0x8
+
+gUnknown_085B6410:: @ 85B6410
+ .incbin "baserom.gba", 0x5b6410, 0x8
+
+gUnknown_085B6418:: @ 85B6418
+ .incbin "baserom.gba", 0x5b6418, 0x6
+
+gUnknown_085B641E:: @ 85B641E
+ .incbin "baserom.gba", 0x5b641e, 0x4
+
+gUnknown_085B6422:: @ 85B6422
+ .incbin "baserom.gba", 0x5b6422, 0xa
+
+gUnknown_085B642C:: @ 85B642C
+ .incbin "baserom.gba", 0x5b642c, 0x10
+
+gUnknown_085B643C:: @ 85B643C
+ .incbin "baserom.gba", 0x5b643c, 0xc
+
+gUnknown_085B6448:: @ 85B6448
+ .incbin "baserom.gba", 0x5b6448, 0xf3c
+
+gUnknown_085B7384:: @ 85B7384
+ .incbin "baserom.gba", 0x5b7384, 0x98
+
+gUnknown_085B741C:: @ 85B741C
+ .incbin "baserom.gba", 0x5b741c, 0x6c
+
+gUnknown_085B7488:: @ 85B7488
+ .incbin "baserom.gba", 0x5b7488, 0x8
+
+gUnknown_085B7490:: @ 85B7490
+ .incbin "baserom.gba", 0x5b7490, 0x78
+
+gUnknown_085B7508:: @ 85B7508
+ .incbin "baserom.gba", 0x5b7508, 0x60
+
+gUnknown_085B7568:: @ 85B7568
+ .incbin "baserom.gba", 0x5b7568, 0x48
+
+gUnknown_085B75B0:: @ 85B75B0
+ .incbin "baserom.gba", 0x5b75b0, 0x60
+
+gUnknown_085B7610:: @ 85B7610
+ .incbin "baserom.gba", 0x5b7610, 0x140
+
+gUnknown_085B7750:: @ 85B7750
+ .incbin "baserom.gba", 0x5b7750, 0x94
+
+gUnknown_085B77E4:: @ 85B77E4
+ .incbin "baserom.gba", 0x5b77e4, 0x18
+
+gUnknown_085B77FC:: @ 85B77FC
+ .incbin "baserom.gba", 0x5b77fc, 0x18
+
+gUnknown_085B7814:: @ 85B7814
+ .incbin "baserom.gba", 0x5b7814, 0x18
+
+gUnknown_085B782C:: @ 85B782C
+ .incbin "baserom.gba", 0x5b782c, 0x18
+
+gUnknown_085B7844:: @ 85B7844
+ .incbin "baserom.gba", 0x5b7844, 0x20
+
+gUnknown_085B7864:: @ 85B7864
+ .incbin "baserom.gba", 0x5b7864, 0xc4
+
+gUnknown_085B7928:: @ 85B7928
+ .incbin "baserom.gba", 0x5b7928, 0x20
+
+gUnknown_085B7948:: @ 85B7948
+ .incbin "baserom.gba", 0x5b7948, 0x8
+
+gUnknown_085B7950:: @ 85B7950
+ .incbin "baserom.gba", 0x5b7950, 0x28
+
+gUnknown_085B7978:: @ 85B7978
+ .incbin "baserom.gba", 0x5b7978, 0x80
+
+gUnknown_085B79F8:: @ 85B79F8
+ .incbin "baserom.gba", 0x5b79f8, 0x18
+
+gUnknown_085B7A10:: @ 85B7A10
+ .incbin "baserom.gba", 0x5b7a10, 0x30
+
+gUnknown_085B7A40:: @ 85B7A40
+ .incbin "baserom.gba", 0x5b7a40, 0x7c
+
+gUnknown_085B7ABC:: @ 85B7ABC
+ .incbin "baserom.gba", 0x5b7abc, 0x30
+
+gUnknown_085B7AEC:: @ 85B7AEC
+ .incbin "baserom.gba", 0x5b7aec, 0x18
+
+gUnknown_085B7B04:: @ 85B7B04
+ .incbin "baserom.gba", 0x5b7b04, 0x6
+
+gUnknown_085B7B0A:: @ 85B7B0A
+ .incbin "baserom.gba", 0x5b7b0a, 0x8
+
+gUnknown_085B7B12:: @ 85B7B12
+ .incbin "baserom.gba", 0x5b7b12, 0x8
+
+gUnknown_085B7B1A:: @ 85B7B1A
+ .incbin "baserom.gba", 0x5b7b1a, 0x14
+
+gUnknown_085B7B2E:: @ 85B7B2E
+ .incbin "baserom.gba", 0x5b7b2e, 0x18
+
+gUnknown_085B7B46:: @ 85B7B46
+ .incbin "baserom.gba", 0x5b7b46, 0x2
+
+gUnknown_085B7B48:: @ 85B7B48
+ .incbin "baserom.gba", 0x5b7b48, 0x8d0
+
+gUnknown_085B8418:: @ 85B8418
+ .incbin "baserom.gba", 0x5b8418, 0x20
+
+gUnknown_085B8438:: @ 85B8438
+ .incbin "baserom.gba", 0x5b8438, 0x338
+
+gUnknown_085B8770:: @ 85B8770
+ .incbin "baserom.gba", 0x5b8770, 0x480
+
+gUnknown_085B8BF0:: @ 85B8BF0
+ .incbin "baserom.gba", 0x5b8bf0, 0x20
+
+gUnknown_085B8C10:: @ 85B8C10
+ .incbin "baserom.gba", 0x5b8c10, 0x20
+
+gUnknown_085B8C30:: @ 85B8C30
+ .incbin "baserom.gba", 0x5b8c30, 0x2
+
+gUnknown_085B8C32:: @ 85B8C32
+ .incbin "baserom.gba", 0x5b8c32, 0x36
+
+gUnknown_085B8C68:: @ 85B8C68
+ .incbin "baserom.gba", 0x5b8c68, 0x18
+
+gUnknown_085B8C80:: @ 85B8C80
+ .incbin "baserom.gba", 0x5b8c80, 0x10
+
+gUnknown_085B8C90:: @ 85B8C90
+ .incbin "baserom.gba", 0x5b8c90, 0x528
+
+gUnknown_085B91B8:: @ 85B91B8
+ .incbin "baserom.gba", 0x5b91b8, 0x178
+
+gUnknown_085B9330:: @ 85B9330
+ .incbin "baserom.gba", 0x5b9330, 0x580
+
+gUnknown_085B98B0:: @ 85B98B0
+ .incbin "baserom.gba", 0x5b98b0, 0x240
+
+gUnknown_085B9AF0:: @ 85B9AF0
+ .incbin "baserom.gba", 0x5b9af0, 0x11e0
+
+gUnknown_085BACD0:: @ 85BACD0
+ .incbin "baserom.gba", 0x5bacd0, 0x1e0
+
+gUnknown_085BAEB0:: @ 85BAEB0
+ .incbin "baserom.gba", 0x5baeb0, 0x20
+
+gUnknown_085BAED0:: @ 85BAED0
+ .incbin "baserom.gba", 0x5baed0, 0x378
+
+gUnknown_085BB248:: @ 85BB248
+ .incbin "baserom.gba", 0x5bb248, 0x25c
+
+gUnknown_085BB4A4:: @ 85BB4A4
+ .incbin "baserom.gba", 0x5bb4a4, 0x48c
+
+gUnknown_085BB930:: @ 85BB930
+ .incbin "baserom.gba", 0x5bb930, 0x2e4
+
+gUnknown_085BBC14:: @ 85BBC14
+ .incbin "baserom.gba", 0x5bbc14, 0x6a0
+
+gUnknown_085BC2B4:: @ 85BC2B4
+ .incbin "baserom.gba", 0x5bc2b4, 0x20
+
+gUnknown_085BC2D4:: @ 85BC2D4
+ .incbin "baserom.gba", 0x5bc2d4, 0x20
+
+gUnknown_085BC2F4:: @ 85BC2F4
+ .incbin "baserom.gba", 0x5bc2f4, 0x20
+
+gUnknown_085BC314:: @ 85BC314
+ .incbin "baserom.gba", 0x5bc314, 0x800
+
+gUnknown_085BCB14:: @ 85BCB14
+ .incbin "baserom.gba", 0x5bcb14, 0x800
+
+gUnknown_085BD314:: @ 85BD314
+ .incbin "baserom.gba", 0x5bd314, 0x820
+
+gUnknown_085BDB34:: @ 85BDB34
+ .incbin "baserom.gba", 0x5bdb34, 0x6b4
+
+gUnknown_085BE1E8:: @ 85BE1E8
+ .incbin "baserom.gba", 0x5be1e8, 0x334
+
+gUnknown_085BE51C:: @ 85BE51C
+ .incbin "baserom.gba", 0x5be51c, 0x56c
+
+gUnknown_085BEA88:: @ 85BEA88
+ .incbin "baserom.gba", 0x5bea88, 0x318
+
+gUnknown_085BEDA0:: @ 85BEDA0
+ .incbin "baserom.gba", 0x5beda0, 0x140
+
+gUnknown_085BEEE0:: @ 85BEEE0
+ .incbin "baserom.gba", 0x5beee0, 0x1c0
+
+gUnknown_085BF0A0:: @ 85BF0A0
+ .incbin "baserom.gba", 0x5bf0a0, 0x200
+
+gUnknown_085BF2A0:: @ 85BF2A0
+ .incbin "baserom.gba", 0x5bf2a0, 0x200
+
+gUnknown_085BF4A0:: @ 85BF4A0
+ .incbin "baserom.gba", 0x5bf4a0, 0xa0
+
+gUnknown_085BF540:: @ 85BF540
+ .incbin "baserom.gba", 0x5bf540, 0x160
+
+gUnknown_085BF6A0:: @ 85BF6A0
+ .incbin "baserom.gba", 0x5bf6a0, 0x7540
+
+gUnknown_085C6BE0:: @ 85C6BE0
+ .incbin "baserom.gba", 0x5c6be0, 0x1000
+
+gUnknown_085C7BE0:: @ 85C7BE0
+ .incbin "baserom.gba", 0x5c7be0, 0x20
+
+gUnknown_085C7C00:: @ 85C7C00
+ .incbin "baserom.gba", 0x5c7c00, 0x68c
+
+gUnknown_085C828C:: @ 85C828C
+ .incbin "baserom.gba", 0x5c828c, 0x2ec
+
+gUnknown_085C8578:: @ 85C8578
+ .incbin "baserom.gba", 0x5c8578, 0x20
+
+gUnknown_085C8598:: @ 85C8598
+ .incbin "baserom.gba", 0x5c8598, 0x15c
+
+gUnknown_085C86F4:: @ 85C86F4
+ .incbin "baserom.gba", 0x5c86f4, 0x100
+
+gUnknown_085C87F4:: @ 85C87F4
+ .incbin "baserom.gba", 0x5c87f4, 0xb0
+
+gUnknown_085C88A4:: @ 85C88A4
+ .incbin "baserom.gba", 0x5c88a4, 0x84
+
+gUnknown_085C8928:: @ 85C8928
+ .incbin "baserom.gba", 0x5c8928, 0x20
+
+gUnknown_085C8948:: @ 85C8948
+ .incbin "baserom.gba", 0x5c8948, 0xa8
+
+gUnknown_085C89F0:: @ 85C89F0
+ .incbin "baserom.gba", 0x5c89f0, 0xa8
+
+gUnknown_085C8A98:: @ 85C8A98
+ .incbin "baserom.gba", 0x5c8a98, 0x10
+
+gUnknown_085C8AA8:: @ 85C8AA8
+ .incbin "baserom.gba", 0x5c8aa8, 0xc
+
+gUnknown_085C8AB4:: @ 85C8AB4
+ .incbin "baserom.gba", 0x5c8ab4, 0x8
+
+gUnknown_085C8ABC:: @ 85C8ABC
+ .incbin "baserom.gba", 0x5c8abc, 0x8
+
+gUnknown_085C8AC4:: @ 85C8AC4
+ .incbin "baserom.gba", 0x5c8ac4, 0x1c
+
+gUnknown_085C8AE0:: @ 85C8AE0
+ .incbin "baserom.gba", 0x5c8ae0, 0x1c
+
+gUnknown_085C8AFC:: @ 85C8AFC
+ .incbin "baserom.gba", 0x5c8afc, 0x18
+
+gUnknown_085C8B14:: @ 85C8B14
+ .incbin "baserom.gba", 0x5c8b14, 0x18
+
+gUnknown_085C8B2C:: @ 85C8B2C
+ .incbin "baserom.gba", 0x5c8b2c, 0x18
+
+gUnknown_085C8B44:: @ 85C8B44
+ .incbin "baserom.gba", 0x5c8b44, 0x18
+
+gUnknown_085C8B5C:: @ 85C8B5C
+ .incbin "baserom.gba", 0x5c8b5c, 0x20
+
+gUnknown_085C8B7C:: @ 85C8B7C
+ .incbin "baserom.gba", 0x5c8b7c, 0xc
+
+gUnknown_085C8B88:: @ 85C8B88
+ .incbin "baserom.gba", 0x5c8b88, 0x4
+
+gUnknown_085C8B8C:: @ 85C8B8C
+ .incbin "baserom.gba", 0x5c8b8c, 0xa
+
+gUnknown_085C8B96:: @ 85C8B96
+ .incbin "baserom.gba", 0x5c8b96, 0x6
+
+gUnknown_085C8B9C:: @ 85C8B9C
+ .incbin "baserom.gba", 0x5c8b9c, 0x1c
+
+gUnknown_085C8BB8:: @ 85C8BB8
+ .incbin "baserom.gba", 0x5c8bb8, 0x8
+
+gUnknown_085C8BC0:: @ 85C8BC0
+ .incbin "baserom.gba", 0x5c8bc0, 0xc
+
+gUnknown_085C8BCC:: @ 85C8BCC
+ .incbin "baserom.gba", 0x5c8bcc, 0x28
+
+gUnknown_085C8BF4:: @ 85C8BF4
+ .incbin "baserom.gba", 0x5c8bf4, 0x6
+
+gUnknown_085C8BFA:: @ 85C8BFA
+ .incbin "baserom.gba", 0x5c8bfa, 0x14
+
+gUnknown_085C8C0E:: @ 85C8C0E
+ .incbin "baserom.gba", 0x5c8c0e, 0x16
+
+gUnknown_085C8C24:: @ 85C8C24
+ .incbin "baserom.gba", 0x5c8c24, 0x1c
+
+gUnknown_085C8C40:: @ 85C8C40
+ .incbin "baserom.gba", 0x5c8c40, 0x4
+
+gUnknown_085C8C44:: @ 85C8C44
+ .incbin "baserom.gba", 0x5c8c44, 0x4
+
+gUnknown_085C8C48:: @ 85C8C48
+ .incbin "baserom.gba", 0x5c8c48, 0xc
+
+gUnknown_085C8C54:: @ 85C8C54
+ .incbin "baserom.gba", 0x5c8c54, 0x10
+
+gUnknown_085C8C64:: @ 85C8C64
+ .incbin "baserom.gba", 0x5c8c64, 0x2
+
+gUnknown_085C8C66:: @ 85C8C66
+ .incbin "baserom.gba", 0x5c8c66, 0x6
+
+gUnknown_085C8C6C:: @ 85C8C6C
+ .incbin "baserom.gba", 0x5c8c6c, 0xc
+
+gUnknown_085C8C78:: @ 85C8C78
+ .incbin "baserom.gba", 0x5c8c78, 0x8
+
+gUnknown_085C8C80:: @ 85C8C80
+ .incbin "baserom.gba", 0x5c8c80, 0x4
+
+gUnknown_085C8C84:: @ 85C8C84
+ .incbin "baserom.gba", 0x5c8c84, 0xb4
+
+gUnknown_085C8D38:: @ 85C8D38
+ .incbin "baserom.gba", 0x5c8d38, 0x8
+
+gUnknown_085C8D40:: @ 85C8D40
+ .incbin "baserom.gba", 0x5c8d40, 0x20
+
+gUnknown_085C8D60:: @ 85C8D60
+ .incbin "baserom.gba", 0x5c8d60, 0x2c
+
+gUnknown_085C8D8C:: @ 85C8D8C
+ .incbin "baserom.gba", 0x5c8d8c, 0x14
+
+gUnknown_085C8DA0:: @ 85C8DA0
+ .incbin "baserom.gba", 0x5c8da0, 0x10
+
+gUnknown_085C8DB0:: @ 85C8DB0
+ .incbin "baserom.gba", 0x5c8db0, 0xc
+
+gUnknown_085C8DBC:: @ 85C8DBC
+ .incbin "baserom.gba", 0x5c8dbc, 0x14
+
+gUnknown_085C8DD0:: @ 85C8DD0
+ .incbin "baserom.gba", 0x5c8dd0, 0x46
+
+gUnknown_085C8E16:: @ 85C8E16
+ .incbin "baserom.gba", 0x5c8e16, 0xe
+
+gUnknown_085C8E24:: @ 85C8E24
+ .incbin "baserom.gba", 0x5c8e24, 0x44
+
+gUnknown_085C8E68:: @ 85C8E68
+ .incbin "baserom.gba", 0x5c8e68, 0x6c
+
+ .align 2
+gFieldEffectObjectPalette10:: @ 85C8ED4
+ .incbin "graphics/map_objects/palettes/field_effect_object_palette_10.gbapal"
+
+ .align 2
+gFieldEffectObjectPaletteInfo10:: @ 85C8EF4
+ obj_pal gFieldEffectObjectPalette10, 0x1009
+
+ .incbin "baserom.gba", 0x5c8efc, 0xe0
+
+gUnknown_085C8FDC:: @ 85C8FDC
+ .incbin "baserom.gba", 0x5c8fdc, 0x14
+
+gUnknown_085C8FF0:: @ 85C8FF0
+ .incbin "baserom.gba", 0x5c8ff0, 0x30
+
+gUnknown_085C9020:: @ 85C9020
+ .incbin "baserom.gba", 0x5c9020, 0x4b0
+
+gUnknown_085C94D0:: @ 85C94D0
+ .incbin "baserom.gba", 0x5c94d0, 0x500
+
+gUnknown_085C99D0:: @ 85C99D0
+ .incbin "baserom.gba", 0x5c99d0, 0x18
+
+gUnknown_085C99E8:: @ 85C99E8
+ .incbin "baserom.gba", 0x5c99e8, 0x10
+
+gUnknown_085C99F8:: @ 85C99F8
+ .incbin "baserom.gba", 0x5c99f8, 0x10
+
+gUnknown_085C9A08:: @ 85C9A08
+ .incbin "baserom.gba", 0x5c9a08, 0x14
+
+gUnknown_085C9A1C:: @ 85C9A1C
+ .incbin "baserom.gba", 0x5c9a1c, 0x14
+
+gUnknown_085C9A30:: @ 85C9A30
+ .incbin "baserom.gba", 0x5c9a30, 0x23
+
+gUnknown_085C9A53:: @ 85C9A53
+ .incbin "baserom.gba", 0x5c9a53, 0x41
+
diff --git a/data/event_scripts.s b/data/event_scripts.s
index bd6210c38..763b39585 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -1,396 +1,3265 @@
.include "asm/macros.inc"
+ .include "asm/macros/event.inc"
.include "constants/constants.inc"
+ .include "constants/variables.inc"
+ .include "constants/flags.inc"
.section script_data, "aw", %progbits
@ 81DB67C
- .include "data/event_script_command_function_table.inc"
-
-gScriptCmdTableEnd:: @ 81DBA08
- .incbin "baserom.gba", 0x1dba08, 0x4
+ .include "data/script_cmd_table.inc"
gSpecialVars:: @ 81DBA0C
- .incbin "baserom.gba", 0x1dba0c, 0x58
+ .4byte gSpecialVar_0x8000
+ .4byte gSpecialVar_0x8001
+ .4byte gSpecialVar_0x8002
+ .4byte gSpecialVar_0x8003
+ .4byte gSpecialVar_0x8004
+ .4byte gSpecialVar_0x8005
+ .4byte gSpecialVar_0x8006
+ .4byte gSpecialVar_0x8007
+ .4byte gSpecialVar_0x8008
+ .4byte gSpecialVar_0x8009
+ .4byte gSpecialVar_0x800A
+ .4byte gSpecialVar_0x800B
+ .4byte gSpecialVar_Facing
+ .4byte gSpecialVar_Result
+ .4byte gSpecialVar_ItemId
+ .4byte gSpecialVar_LastTalked
+ .4byte gSpecialVar_ContestRank
+ .4byte gSpecialVar_ContestCategory
+ .4byte gSpecialVar_MonBoxId
+ .4byte gSpecialVar_MonBoxPos
+ .4byte gSpecialVar_0x8014
+ .4byte gTrainerBattleOpponent_A
.include "data/specials.inc"
gStdScripts:: @ 81DC2A0
- .incbin "baserom.gba", 0x1dc2a0, 0x2c
+ .4byte Std_ObtainItem
+ .4byte Std_FindItem
+ .4byte Std_2
+ .4byte Std_3
+ .4byte Std_4
+ .4byte Std_5
+ .4byte Std_6
+ .4byte Std_ObtainDecoration
+ .4byte Std_8
+ .4byte Std_9
+ .4byte Std_10
gStdScripts_End:: @ 81DC2CC
- .incbin "baserom.gba", 0x1dc2cc, 0x34ee
-
-gUnknown_081DF7BA:: @ 81DF7BA
- .incbin "baserom.gba", 0x1df7ba, 0x69a3
-
-gUnknown_081E615D:: @ 81E615D
- .incbin "baserom.gba", 0x1e615d, 0xe88f
-
-gUnknown_081F49EC:: @ 81F49EC
- .incbin "baserom.gba", 0x1f49ec, 0x3c21
-
-gUnknown_081F860D:: @ 81F860D
- .incbin "baserom.gba", 0x1f860d, 0x32
-
-gUnknown_081F863F:: @ 81F863F
- .incbin "baserom.gba", 0x1f863f, 0xf14
-
-gUnknown_081F9553:: @ 81F9553
- .incbin "baserom.gba", 0x1f9553, 0x3c
-
-gUnknown_081F958F:: @ 81F958F
- .incbin "baserom.gba", 0x1f958f, 0xf47
-
-gUnknown_081FA4D6:: @ 81FA4D6
- .incbin "baserom.gba", 0x1fa4d6, 0x18ba5
-
-gUnknown_0821307B:: @ 821307B
- .incbin "baserom.gba", 0x21307b, 0x110dd
-
-gUnknown_08224158:: @ 8224158
- .incbin "baserom.gba", 0x224158, 0xf
-
-gUnknown_08224167:: @ 8224167
- .incbin "baserom.gba", 0x224167, 0xe
-
-gUnknown_08224175:: @ 8224175
- .incbin "baserom.gba", 0x224175, 0x14d3a
-
-gUnknown_08238EAF:: @ 8238EAF
- .incbin "baserom.gba", 0x238eaf, 0x54a
-
-gUnknown_082393F9:: @ 82393F9
- .incbin "baserom.gba", 0x2393f9, 0x20c2
+ map_script 3, PetalburgCity_MapScript1_1DC2D7
+ map_script 2, PetalburgCity_MapScript2_1DC31C
+ .byte 0
+
+ .include "data/scripts/maps/PetalburgCity.inc"
+ .include "data/scripts/maps/SlateportCity.inc"
+ .include "data/scripts/maps/MauvilleCity.inc"
+ .include "data/scripts/maps/RustboroCity.inc"
+ .include "data/scripts/maps/FortreeCity.inc"
+ .include "data/scripts/maps/LilycoveCity.inc"
+ .include "data/scripts/maps/MossdeepCity.inc"
+ .include "data/scripts/maps/SootopolisCity.inc"
+ .include "data/scripts/maps/EverGrandeCity.inc"
+ .include "data/scripts/maps/LittlerootTown.inc"
+ .include "data/scripts/maps/OldaleTown.inc"
+ .include "data/scripts/maps/DewfordTown.inc"
+ .include "data/scripts/maps/LavaridgeTown.inc"
+ .include "data/scripts/maps/FallarborTown.inc"
+ .include "data/scripts/maps/VerdanturfTown.inc"
+ .include "data/scripts/maps/PacifidlogTown.inc"
+ .include "data/scripts/maps/Route101.inc"
+ .include "data/scripts/maps/Route102.inc"
+ .include "data/scripts/maps/Route103.inc"
+ .include "data/scripts/maps/Route104.inc"
+ .include "data/scripts/maps/Route105.inc"
+ .include "data/scripts/maps/Route106.inc"
+ .include "data/scripts/maps/Route107.inc"
+ .include "data/scripts/maps/Route108.inc"
+ .include "data/scripts/maps/Route109.inc"
+ .include "data/scripts/maps/Route110.inc"
+ .include "data/scripts/maps/Route111.inc"
+ .include "data/scripts/maps/Route112.inc"
+ .include "data/scripts/maps/Route113.inc"
+ .include "data/scripts/maps/Route114.inc"
+ .include "data/scripts/maps/Route115.inc"
+ .include "data/scripts/maps/Route116.inc"
+ .include "data/scripts/maps/Route117.inc"
+ .include "data/scripts/maps/Route118.inc"
+ .include "data/scripts/maps/Route119.inc"
+ .include "data/scripts/maps/Route120.inc"
+ .include "data/scripts/maps/Route121.inc"
+ .include "data/scripts/maps/Route122.inc"
+ .include "data/scripts/maps/Route123.inc"
+ .include "data/scripts/maps/Route124.inc"
+ .include "data/scripts/maps/Route125.inc"
+ .include "data/scripts/maps/Route126.inc"
+ .include "data/scripts/maps/Route127.inc"
+ .include "data/scripts/maps/Route128.inc"
+ .include "data/scripts/maps/Route129.inc"
+ .include "data/scripts/maps/Route130.inc"
+ .include "data/scripts/maps/Route131.inc"
+ .include "data/scripts/maps/Route132.inc"
+ .include "data/scripts/maps/Route133.inc"
+ .include "data/scripts/maps/Route134.inc"
+ .include "data/scripts/maps/Underwater1.inc"
+ .include "data/scripts/maps/Underwater2.inc"
+ .include "data/scripts/maps/Underwater3.inc"
+ .include "data/scripts/maps/Underwater4.inc"
+ .include "data/scripts/maps/Underwater5.inc"
+ .include "data/scripts/maps/Underwater6.inc"
+ .include "data/scripts/maps/Underwater7.inc"
+ .include "data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc"
+ .include "data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc"
+ .include "data/scripts/maps/LittlerootTown_MaysHouse_1F.inc"
+ .include "data/scripts/maps/LittlerootTown_MaysHouse_2F.inc"
+ .include "data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc"
+ .include "data/scripts/maps/OldaleTown_House1.inc"
+ .include "data/scripts/maps/OldaleTown_House2.inc"
+ .include "data/scripts/maps/OldaleTown_PokemonCenter_1F.inc"
+ .include "data/scripts/maps/OldaleTown_PokemonCenter_2F.inc"
+ .include "data/scripts/maps/OldaleTown_Mart.inc"
+ .include "data/scripts/maps/DewfordTown_House1.inc"
+ .include "data/scripts/maps/DewfordTown_PokemonCenter_1F.inc"
+ .include "data/scripts/maps/DewfordTown_PokemonCenter_2F.inc"
+ .include "data/scripts/maps/DewfordTown_Gym.inc"
+ .include "data/scripts/maps/DewfordTown_Hall.inc"
+ .include "data/scripts/maps/DewfordTown_House2.inc"
+ .include "data/scripts/maps/LavaridgeTown_HerbShop.inc"
+ .include "data/scripts/maps/LavaridgeTown_Gym_1F.inc"
+ .include "data/scripts/maps/LavaridgeTown_Gym_B1F.inc"
+ .include "data/scripts/maps/LavaridgeTown_House.inc"
+ .include "data/scripts/maps/LavaridgeTown_Mart.inc"
+ .include "data/scripts/maps/LavaridgeTown_PokemonCenter_1F.inc"
+ .include "data/scripts/maps/LavaridgeTown_PokemonCenter_2F.inc"
+ .include "data/scripts/maps/FallarborTown_Mart.inc"
+ .include "data/scripts/maps/FallarborTown_BattleTentLobby.inc"
+ .include "data/scripts/maps/FallarborTown_BattleTentCorridor.inc"
+ .include "data/scripts/maps/FallarborTown_BattleTentBattleRoom.inc"
+ .include "data/scripts/maps/FallarborTown_PokemonCenter_1F.inc"
+ .include "data/scripts/maps/FallarborTown_PokemonCenter_2F.inc"
+ .include "data/scripts/maps/FallarborTown_House1.inc"
+ .include "data/scripts/maps/FallarborTown_House2.inc"
+ .include "data/scripts/maps/VerdanturfTown_BattleTentLobby.inc"
+ .include "data/scripts/maps/VerdanturfTown_BattleTentCorridor.inc"
+ .include "data/scripts/maps/VerdanturfTown_BattleTentBattleRoom.inc"
+ .include "data/scripts/maps/VerdanturfTown_Mart.inc"
+ .include "data/scripts/maps/VerdanturfTown_PokemonCenter_1F.inc"
+ .include "data/scripts/maps/VerdanturfTown_PokemonCenter_2F.inc"
+ .include "data/scripts/maps/VerdanturfTown_WandasHouse.inc"
+ .include "data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc"
+ .include "data/scripts/maps/VerdanturfTown_House.inc"
+ .include "data/scripts/maps/PacifidlogTown_PokemonCenter_1F.inc"
+ .include "data/scripts/maps/PacifidlogTown_PokemonCenter_2F.inc"
+ .include "data/scripts/maps/PacifidlogTown_House1.inc"
+ .include "data/scripts/maps/PacifidlogTown_House2.inc"
+ .include "data/scripts/maps/PacifidlogTown_House3.inc"
+ .include "data/scripts/maps/PacifidlogTown_House4.inc"
+ .include "data/scripts/maps/PacifidlogTown_House5.inc"
+ .include "data/scripts/maps/PetalburgCity_WallysHouse.inc"
+ .include "data/scripts/maps/PetalburgCity_Gym.inc"
+ .include "data/scripts/maps/PetalburgCity_House1.inc"
+ .include "data/scripts/maps/PetalburgCity_House2.inc"
+ .include "data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc"
+ .include "data/scripts/maps/PetalburgCity_PokemonCenter_2F.inc"
+ .include "data/scripts/maps/PetalburgCity_Mart.inc"
+ .include "data/scripts/maps/SlateportCity_SternsShipyard_1F.inc"
+ .include "data/scripts/maps/SlateportCity_SternsShipyard_2F.inc"
+ .include "data/scripts/maps/SlateportCity_BattleTentLobby.inc"
+ .include "data/scripts/maps/SlateportCity_BattleTentCorridor.inc"
+ .include "data/scripts/maps/SlateportCity_BattleTentBattleRoom.inc"
+ .include "data/scripts/maps/SlateportCity_House1.inc"
+ .include "data/scripts/maps/SlateportCity_PokemonFanClub.inc"
+ .include "data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc"
+ .include "data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc"
+ .include "data/scripts/maps/SlateportCity_Harbor.inc"
+ .include "data/scripts/maps/SlateportCity_House2.inc"
+ .include "data/scripts/maps/SlateportCity_PokemonCenter_1F.inc"
+ .include "data/scripts/maps/SlateportCity_PokemonCenter_2F.inc"
+ .include "data/scripts/maps/SlateportCity_Mart.inc"
+ .include "data/scripts/maps/MauvilleCity_Gym.inc"
+ .include "data/scripts/maps/MauvilleCity_BikeShop.inc"
+ .include "data/scripts/maps/MauvilleCity_House1.inc"
+ .include "data/scripts/maps/MauvilleCity_GameCorner.inc"
+ .include "data/scripts/maps/MauvilleCity_House2.inc"
+ .include "data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc"
+ .include "data/scripts/maps/MauvilleCity_PokemonCenter_2F.inc"
+ .include "data/scripts/maps/MauvilleCity_Mart.inc"
+ .include "data/scripts/maps/RustboroCity_DevonCorp_1F.inc"
+ .include "data/scripts/maps/RustboroCity_DevonCorp_2F.inc"
+ .include "data/scripts/maps/RustboroCity_DevonCorp_3F.inc"
+ .include "data/scripts/maps/RustboroCity_Gym.inc"
+ .include "data/scripts/maps/RustboroCity_PokemonSchool.inc"
+ .include "data/scripts/maps/RustboroCity_PokemonCenter_1F.inc"
+ .include "data/scripts/maps/RustboroCity_PokemonCenter_2F.inc"
+ .include "data/scripts/maps/RustboroCity_Mart.inc"
+ .include "data/scripts/maps/RustboroCity_Flat1_1F.inc"
+ .include "data/scripts/maps/RustboroCity_Flat1_2F.inc"
+ .include "data/scripts/maps/RustboroCity_House1.inc"
+ .include "data/scripts/maps/RustboroCity_CuttersHouse.inc"
+ .include "data/scripts/maps/RustboroCity_House2.inc"
+ .include "data/scripts/maps/RustboroCity_Flat2_1F.inc"
+ .include "data/scripts/maps/RustboroCity_Flat2_2F.inc"
+ .include "data/scripts/maps/RustboroCity_Flat2_3F.inc"
+ .include "data/scripts/maps/RustboroCity_House3.inc"
+ .include "data/scripts/maps/FortreeCity_House1.inc"
+ .include "data/scripts/maps/FortreeCity_Gym.inc"
+ .include "data/scripts/maps/FortreeCity_PokemonCenter_1F.inc"
+ .include "data/scripts/maps/FortreeCity_PokemonCenter_2F.inc"
+ .include "data/scripts/maps/FortreeCity_Mart.inc"
+ .include "data/scripts/maps/FortreeCity_House2.inc"
+ .include "data/scripts/maps/FortreeCity_House3.inc"
+ .include "data/scripts/maps/FortreeCity_House4.inc"
+ .include "data/scripts/maps/FortreeCity_House5.inc"
+ .include "data/scripts/maps/FortreeCity_DecorationShop.inc"
+ .include "data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc"
+ .include "data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc"
+ .include "data/scripts/maps/LilycoveCity_LilycoveMuseum_1F.inc"
+ .include "data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc"
+ .include "data/scripts/maps/LilycoveCity_ContestLobby.inc"
+ .include "data/scripts/maps/LilycoveCity_ContestHall.inc"
+ .include "data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc"
+ .include "data/scripts/maps/LilycoveCity_PokemonCenter_2F.inc"
+ .include "data/scripts/maps/LilycoveCity_UnusedMart.inc"
+ .include "data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc"
+ .include "data/scripts/maps/LilycoveCity_Harbor.inc"
+ .include "data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc"
+ .include "data/scripts/maps/LilycoveCity_House1.inc"
+ .include "data/scripts/maps/LilycoveCity_House2.inc"
+ .include "data/scripts/maps/LilycoveCity_House3.inc"
+ .include "data/scripts/maps/LilycoveCity_House4.inc"
+ .include "data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc"
+ .include "data/scripts/maps/LilycoveCity_DepartmentStore_2F.inc"
+ .include "data/scripts/maps/LilycoveCity_DepartmentStore_3F.inc"
+ .include "data/scripts/maps/LilycoveCity_DepartmentStore_4F.inc"
+ .include "data/scripts/maps/LilycoveCity_DepartmentStore_5F.inc"
+ .include "data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc"
+ .include "data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc"
+ .include "data/scripts/maps/MossdeepCity_Gym.inc"
+ .include "data/scripts/maps/MossdeepCity_House1.inc"
+ .include "data/scripts/maps/MossdeepCity_House2.inc"
+ .include "data/scripts/maps/MossdeepCity_PokemonCenter_1F.inc"
+ .include "data/scripts/maps/MossdeepCity_PokemonCenter_2F.inc"
+ .include "data/scripts/maps/MossdeepCity_Mart.inc"
+ .include "data/scripts/maps/MossdeepCity_House3.inc"
+ .include "data/scripts/maps/MossdeepCity_StevensHouse.inc"
+ .include "data/scripts/maps/MossdeepCity_House4.inc"
+ .include "data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc"
+ .include "data/scripts/maps/MossdeepCity_SpaceCenter_2F.inc"
+ .include "data/scripts/maps/MossdeepCity_GameCorner_1F.inc"
+ .include "data/scripts/maps/MossdeepCity_GameCorner_B1F.inc"
+ .include "data/scripts/maps/SootopolisCity_Gym_1F.inc"
+ .include "data/scripts/maps/SootopolisCity_Gym_B1F.inc"
+ .include "data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc"
+ .include "data/scripts/maps/SootopolisCity_PokemonCenter_2F.inc"
+ .include "data/scripts/maps/SootopolisCity_Mart.inc"
+ .include "data/scripts/maps/SootopolisCity_House1.inc"
+ .include "data/scripts/maps/SootopolisCity_House2.inc"
+ .include "data/scripts/maps/SootopolisCity_House3.inc"
+ .include "data/scripts/maps/SootopolisCity_House4.inc"
+ .include "data/scripts/maps/SootopolisCity_House5.inc"
+ .include "data/scripts/maps/SootopolisCity_House6.inc"
+ .include "data/scripts/maps/SootopolisCity_House7.inc"
+ .include "data/scripts/maps/SootopolisCity_LotadAndSeedotHouse.inc"
+ .include "data/scripts/maps/SootopolisCity_MysteryEventsHouse_1F.inc"
+ .include "data/scripts/maps/SootopolisCity_MysteryEventsHouse_B1F.inc"
+ .include "data/scripts/maps/EverGrandeCity_SidneysRoom.inc"
+ .include "data/scripts/maps/EverGrandeCity_PhoebesRoom.inc"
+ .include "data/scripts/maps/EverGrandeCity_GlaciasRoom.inc"
+ .include "data/scripts/maps/EverGrandeCity_DrakesRoom.inc"
+ .include "data/scripts/maps/EverGrandeCity_ChampionsRoom.inc"
+ .include "data/scripts/maps/EverGrandeCity_Hall1.inc"
+ .include "data/scripts/maps/EverGrandeCity_Hall2.inc"
+ .include "data/scripts/maps/EverGrandeCity_Hall3.inc"
+ .include "data/scripts/maps/EverGrandeCity_Hall4.inc"
+ .include "data/scripts/maps/EverGrandeCity_Hall5.inc"
+ .include "data/scripts/maps/EverGrandeCity_PokemonLeague_1F.inc"
+ .include "data/scripts/maps/EverGrandeCity_HallOfFame.inc"
+ .include "data/scripts/maps/EverGrandeCity_PokemonCenter_1F.inc"
+ .include "data/scripts/maps/EverGrandeCity_PokemonCenter_2F.inc"
+ .include "data/scripts/maps/EverGrandeCity_PokemonLeague_2F.inc"
+ .include "data/scripts/maps/Route104_MrBrineysHouse.inc"
+ .include "data/scripts/maps/Route104_PrettyPetalFlowerShop.inc"
+ .include "data/scripts/maps/Route111_WinstrateFamilysHouse.inc"
+ .include "data/scripts/maps/Route111_OldLadysRestStop.inc"
+ .include "data/scripts/maps/Route112_CableCarStation.inc"
+ .include "data/scripts/maps/MtChimney_CableCarStation.inc"
+ .include "data/scripts/maps/Route114_FossilManiacsHouse.inc"
+ .include "data/scripts/maps/Route114_FossilManiacsTunnel.inc"
+ .include "data/scripts/maps/Route114_LanettesHouse.inc"
+ .include "data/scripts/maps/Route116_TunnelersRestHouse.inc"
+ .include "data/scripts/maps/Route117_PokemonDayCare.inc"
+ .include "data/scripts/maps/Route121_SafariZoneEntrance.inc"
+ .include "data/scripts/maps/MeteorFalls_1F_1R.inc"
+ .include "data/scripts/maps/MeteorFalls_1F_2R.inc"
+ .include "data/scripts/maps/MeteorFalls_B1F_1R.inc"
+ .include "data/scripts/maps/MeteorFalls_B1F_2R.inc"
+ .include "data/scripts/maps/RusturfTunnel.inc"
+ .include "data/scripts/maps/Underwater_SootopolisCity.inc"
+ .include "data/scripts/maps/DesertRuins.inc"
+ .include "data/scripts/maps/GraniteCave_1F.inc"
+ .include "data/scripts/maps/GraniteCave_B1F.inc"
+ .include "data/scripts/maps/GraniteCave_B2F.inc"
+ .include "data/scripts/maps/GraniteCave_StevensRoom.inc"
+ .include "data/scripts/maps/PetalburgWoods.inc"
+ .include "data/scripts/maps/MtChimney.inc"
+ .include "data/scripts/maps/JaggedPass.inc"
+ .include "data/scripts/maps/FieryPath.inc"
+ .include "data/scripts/maps/MtPyre_1F.inc"
+ .include "data/scripts/maps/MtPyre_2F.inc"
+ .include "data/scripts/maps/MtPyre_3F.inc"
+ .include "data/scripts/maps/MtPyre_4F.inc"
+ .include "data/scripts/maps/MtPyre_5F.inc"
+ .include "data/scripts/maps/MtPyre_6F.inc"
+ .include "data/scripts/maps/MtPyre_Exterior.inc"
+ .include "data/scripts/maps/MtPyre_Summit.inc"
+ .include "data/scripts/maps/AquaHideout_1F.inc"
+ .include "data/scripts/maps/AquaHideout_B1F.inc"
+ .include "data/scripts/maps/AquaHideout_B2F.inc"
+ .include "data/scripts/maps/Underwater_SeafloorCavern.inc"
+ .include "data/scripts/maps/SeafloorCavern_Entrance.inc"
+ .include "data/scripts/maps/SeafloorCavern_Room1.inc"
+ .include "data/scripts/maps/SeafloorCavern_Room2.inc"
+ .include "data/scripts/maps/SeafloorCavern_Room3.inc"
+ .include "data/scripts/maps/SeafloorCavern_Room4.inc"
+ .include "data/scripts/maps/SeafloorCavern_Room5.inc"
+ .include "data/scripts/maps/SeafloorCavern_Room6.inc"
+ .include "data/scripts/maps/SeafloorCavern_Room7.inc"
+ .include "data/scripts/maps/SeafloorCavern_Room8.inc"
+ .include "data/scripts/maps/SeafloorCavern_Room9.inc"
+ .include "data/scripts/maps/CaveOfOrigin_Entrance.inc"
+ .include "data/scripts/maps/CaveOfOrigin_1F.inc"
+ .include "data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap1.inc"
+ .include "data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap2.inc"
+ .include "data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap3.inc"
+ .include "data/scripts/maps/CaveOfOrigin_B1F.inc"
+ .include "data/scripts/maps/VictoryRoad_1F.inc"
+ .include "data/scripts/maps/VictoryRoad_B1F.inc"
+ .include "data/scripts/maps/VictoryRoad_B2F.inc"
+ .include "data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc"
+ .include "data/scripts/maps/ShoalCave_LowTideInnerRoom.inc"
+ .include "data/scripts/maps/ShoalCave_LowTideStairsRoom.inc"
+ .include "data/scripts/maps/ShoalCave_LowTideLowerRoom.inc"
+ .include "data/scripts/maps/ShoalCave_HighTideEntranceRoom.inc"
+ .include "data/scripts/maps/ShoalCave_HighTideInnerRoom.inc"
+ .include "data/scripts/maps/NewMauville_Entrance.inc"
+ .include "data/scripts/maps/NewMauville_Inside.inc"
+ .include "data/scripts/maps/AbandonedShip_Deck.inc"
+ .include "data/scripts/maps/AbandonedShip_Corridors_1F.inc"
+ .include "data/scripts/maps/AbandonedShip_Rooms_1F.inc"
+ .include "data/scripts/maps/AbandonedShip_Corridors_B1F.inc"
+ .include "data/scripts/maps/AbandonedShip_Rooms_B1F.inc"
+ .include "data/scripts/maps/AbandonedShip_Rooms2_B1F.inc"
+ .include "data/scripts/maps/AbandonedShip_Underwater1.inc"
+ .include "data/scripts/maps/AbandonedShip_Room_B1F.inc"
+ .include "data/scripts/maps/AbandonedShip_Rooms2_1F.inc"
+ .include "data/scripts/maps/AbandonedShip_CaptainsOffice.inc"
+ .include "data/scripts/maps/AbandonedShip_Underwater2.inc"
+ .include "data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc"
+ .include "data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc"
+ .include "data/scripts/maps/IslandCave.inc"
+ .include "data/scripts/maps/AncientTomb.inc"
+ .include "data/scripts/maps/Underwater_Route134.inc"
+ .include "data/scripts/maps/Underwater_SealedChamber.inc"
+ .include "data/scripts/maps/SealedChamber_OuterRoom.inc"
+ .include "data/scripts/maps/SealedChamber_InnerRoom.inc"
+ .include "data/scripts/maps/ScorchedSlab.inc"
+ .include "data/scripts/maps/AquaHideout_UnusedRubyMap1.inc"
+ .include "data/scripts/maps/AquaHideout_UnusedRubyMap2.inc"
+ .include "data/scripts/maps/AquaHideout_UnusedRubyMap3.inc"
+ .include "data/scripts/maps/SkyPillar_Entrance.inc"
+ .include "data/scripts/maps/SkyPillar_Outside.inc"
+ .include "data/scripts/maps/SkyPillar_1F.inc"
+ .include "data/scripts/maps/SkyPillar_2F.inc"
+ .include "data/scripts/maps/SkyPillar_3F.inc"
+ .include "data/scripts/maps/SkyPillar_4F.inc"
+ .include "data/scripts/maps/ShoalCave_LowTideIceRoom.inc"
+ .include "data/scripts/maps/SkyPillar_5F.inc"
+ .include "data/scripts/maps/SkyPillar_Top.inc"
+ .include "data/scripts/maps/MagmaHideout_1F.inc"
+ .include "data/scripts/maps/MagmaHideout_2F_1R.inc"
+ .include "data/scripts/maps/MagmaHideout_2F_2R.inc"
+ .include "data/scripts/maps/MagmaHideout_3F_1R.inc"
+ .include "data/scripts/maps/MagmaHideout_3F_2R.inc"
+ .include "data/scripts/maps/MagmaHideout_4F.inc"
+ .include "data/scripts/maps/MagmaHideout_3F_3R.inc"
+ .include "data/scripts/maps/MagmaHideout_2F_3R.inc"
+ .include "data/scripts/maps/MirageTower_1F.inc"
+ .include "data/scripts/maps/MirageTower_2F.inc"
+ .include "data/scripts/maps/MirageTower_3F.inc"
+ .include "data/scripts/maps/MirageTower_4F.inc"
+ .include "data/scripts/maps/DesertUnderpass.inc"
+ .include "data/scripts/maps/ArtisanCave_B1F.inc"
+ .include "data/scripts/maps/ArtisanCave_1F.inc"
+ .include "data/scripts/maps/Underwater_MarineCave.inc"
+ .include "data/scripts/maps/MarineCave_Entrance.inc"
+ .include "data/scripts/maps/MarineCave_End.inc"
+ .include "data/scripts/maps/TerraCave_Entrance.inc"
+ .include "data/scripts/maps/TerraCave_End.inc"
+ .include "data/scripts/maps/AlteringCave.inc"
+ .include "data/scripts/maps/MeteorFalls_StevensCave.inc"
+ .include "data/scripts/maps/SecretBase_BlueCave1.inc"
+ .include "data/scripts/maps/SecretBase_BlueCave2.inc"
+ .include "data/scripts/maps/SecretBase_BlueCave3.inc"
+ .include "data/scripts/maps/SecretBase_BlueCave4.inc"
+ .include "data/scripts/maps/SecretBase_BrownCave1.inc"
+ .include "data/scripts/maps/SecretBase_BrownCave2.inc"
+ .include "data/scripts/maps/SecretBase_BrownCave3.inc"
+ .include "data/scripts/maps/SecretBase_BrownCave4.inc"
+ .include "data/scripts/maps/SecretBase_RedCave1.inc"
+ .include "data/scripts/maps/SecretBase_RedCave2.inc"
+ .include "data/scripts/maps/SecretBase_RedCave3.inc"
+ .include "data/scripts/maps/SecretBase_RedCave4.inc"
+ .include "data/scripts/maps/SecretBase_Shrub1.inc"
+ .include "data/scripts/maps/SecretBase_Shrub2.inc"
+ .include "data/scripts/maps/SecretBase_Shrub3.inc"
+ .include "data/scripts/maps/SecretBase_Shrub4.inc"
+ .include "data/scripts/maps/SecretBase_Tree1.inc"
+ .include "data/scripts/maps/SecretBase_Tree2.inc"
+ .include "data/scripts/maps/SecretBase_Tree3.inc"
+ .include "data/scripts/maps/SecretBase_Tree4.inc"
+ .include "data/scripts/maps/SecretBase_YellowCave1.inc"
+ .include "data/scripts/maps/SecretBase_YellowCave2.inc"
+ .include "data/scripts/maps/SecretBase_YellowCave3.inc"
+ .include "data/scripts/maps/SecretBase_YellowCave4.inc"
gUnknown_0823B4BB:: @ 823B4BB
- .incbin "baserom.gba", 0x23b4bb, 0x2d
+ lockall
+ playse 2
+ message Text_276805
+ dofieldeffect 61
+ waitstate
+ waitmessage
+ waitbuttonpress
+ playse 5
+ goto EventScript_23B4D3
+ end
+
+EventScript_23B4D3:: @ 823B4D3
+ message Text_27681A
+ waitmessage
+ checkflag FLAG_0x10C
+ goto_eq EventScript_23B4EF
+ goto EventScript_23B531
+ end
gUnknown_0823B4E8:: @ 823B4E8
- .incbin "baserom.gba", 0x23b4e8, 0xa1
+ lockall
+ goto EventScript_23B4D3
+ end
+
+EventScript_23B4EF:: @ 823B4EF
+ multichoice 0, 0, 6, 0
+ switch VAR_RESULT
+ case 0, EventScript_23B581
+ case 1, EventScript_23B568
+ case 2, EventScript_23B585
+ case 3, EventScript_23B66E
+ case 127, EventScript_23B66E
+ end
+
+EventScript_23B531:: @ 823B531
+ multichoice 0, 0, 5, 0
+ switch VAR_RESULT
+ case 0, EventScript_23B581
+ case 1, EventScript_23B568
+ case 2, EventScript_23B66E
+ case 127, EventScript_23B66E
+ end
+
+EventScript_23B568:: @ 823B568
+ msgbox Text_2766AA, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_23B4D3
+ closemessage
+ special sub_80E9AC0
+ releaseall
+ end
+
+EventScript_23B581:: @ 823B581
+ special sub_80E9C74
+ end
+
+EventScript_23B585:: @ 823B585
+ special sub_80E9C88
+ end
gUnknown_0823B589:: @ 823B589
- .incbin "baserom.gba", 0x23b589, 0x60
+ lockall
+ message Text_276805
+ playse 2
+ dofieldeffect 61
+ waitstate
+ waitmessage
+ waitbuttonpress
+ playse 5
+ goto EventScript_23B5A1
+ end
+
+EventScript_23B5A1:: @ 823B5A1
+ message Text_27681A
+ waitmessage
+ multichoice 0, 0, 7, 0
+ switch VAR_RESULT
+ case 0, EventScript_23B5F0
+ case 1, EventScript_23B585
+ case 2, EventScript_23B660
+ case 3, EventScript_23B66E
+ case 127, EventScript_23B66E
+ end
gUnknown_0823B5E9:: @ 823B5E9
- .incbin "baserom.gba", 0x23b5e9, 0x9b
+ lockall
+ goto EventScript_23B5A1
+ end
+
+EventScript_23B5F0:: @ 823B5F0
+ special sub_80E9BDC
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq EventScript_23B62F
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq EventScript_23B652
+ special sub_80E980C
+ msgbox Text_276707, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_23B5A1
+ msgbox Text_2767D1, 3
+ special sub_80E9C2C
+ special sub_80FA57C
+ releaseall
+ end
+
+EventScript_23B62F:: @ 823B62F
+ msgbox Text_276731, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_23B5A1
+ msgbox Text_2767E9, 3
+ special sub_80E9C2C
+ special sub_80FA57C
+ releaseall
+ end
+
+EventScript_23B652:: @ 823B652
+ msgbox Text_27676F, 3
+ special sub_80FA57C
+ closemessage
+ releaseall
+ end
+
+EventScript_23B660:: @ 823B660
+ msgbox Text_276835, 4
+ goto EventScript_23B5A1
+ end
+
+EventScript_23B66E:: @ 823B66E
+ special sub_80FA57C
+ closemessage
+ releaseall
+ end
+
+EventScript_23B674:: @ 823B674
+ special sub_80EB498
+ end
+
+EventScript_23B678:: @ 823B678
+ special sub_80EB56C
+ end
+
+EventScript_23B67C:: @ 823B67C
+ special sub_80EB9E0
+ end
+
+EventScript_23B680:: @ 823B680
+ special sub_80EBB28
+ end
gUnknown_0823B684:: @ 823B684
- .incbin "baserom.gba", 0x23b684, 0x8
+ special sub_80EBE7C
+ dofieldeffect 52
+ waitstate
+ end
gUnknown_0823B68C:: @ 823B68C
- .incbin "baserom.gba", 0x23b68c, 0x9c4
-
-gUnknown_0823C050:: @ 823C050
- .incbin "baserom.gba", 0x23c050, 0x6431
-
-gText_BattleRecordCouldntBeSaved:: @ 8242481
- .incbin "baserom.gba", 0x242481, 0x87b
-
-gUnknown_08242CFC:: @ 8242CFC
- .incbin "baserom.gba", 0x242cfc, 0x6a91
-
-gText_LinkStandby3:: @ 824978D
- .string "Link standby…$"
-
-gUnknown_0824979B:: @ 824979B
- .incbin "baserom.gba", 0x24979b, 0x944d
-
-gUnknown_08252BE8:: @ 8252BE8
- .incbin "baserom.gba", 0x252be8, 0x67
-
-gUnknown_08252C4F:: @ 8252C4F
- .incbin "baserom.gba", 0x252c4f, 0x1b
-
-gUnknown_08252C6A:: @ 8252C6A
- .incbin "baserom.gba", 0x252c6a, 0x1e
-
-gUnknown_08252C88:: @ 8252C88
- .incbin "baserom.gba", 0x252c88, 0x1f
-
-gUnknown_08252CA7:: @ 8252CA7
- .incbin "baserom.gba", 0x252ca7, 0x54
-
-gUnknown_08252CFB:: @ 8252CFB
- .incbin "baserom.gba", 0x252cfb, 0x151e0
-
-gUnknown_08267EDB:: @ 8267EDB
- .incbin "baserom.gba", 0x267edb, 0x234f
-
-gUnknown_0826A22A:: @ 826A22A
- .incbin "baserom.gba", 0x26a22a, 0x712a
-
-gUnknown_08271354:: @ 8271354
- .incbin "baserom.gba", 0x271354, 0xe
-
-gUnknown_08271362:: @ 8271362
- .incbin "baserom.gba", 0x271362, 0x28
-
-gUnknown_0827138A:: @ 827138A
- .incbin "baserom.gba", 0x27138a, 0x38
-
-gUnknown_082713C2:: @ 82713C2
- .incbin "baserom.gba", 0x2713c2, 0xf
-
-gUnknown_082713D1:: @ 82713D1
- .incbin "baserom.gba", 0x2713d1, 0x27
-
-gUnknown_082713F8:: @ 82713F8
- .incbin "baserom.gba", 0x2713f8, 0x1e6
-
-gUnknown_082715DE:: @ 82715DE
- .incbin "baserom.gba", 0x2715de, 0x279
-
-gUnknown_08271857:: @ 8271857
- .incbin "baserom.gba", 0x271857, 0xb
-
-gUnknown_08271862:: @ 8271862
- .incbin "baserom.gba", 0x271862, 0x455
-
-gUnknown_08271CB7:: @ 8271CB7
- .incbin "baserom.gba", 0x271cb7, 0xdb
-
-gUnknown_08271D92:: @ 8271D92
- .incbin "baserom.gba", 0x271d92, 0x10e
-
-gUnknown_08271EA0:: @ 8271EA0
- .incbin "baserom.gba", 0x271ea0, 0x1ef
-
-gUnknown_0827208F:: @ 827208F
- .incbin "baserom.gba", 0x27208f, 0x53f
-
-gUnknown_082725CE:: @ 82725CE
- .incbin "baserom.gba", 0x2725ce, 0x9
-
-gUnknown_082725D7:: @ 82725D7
- .incbin "baserom.gba", 0x2725d7, 0x9
-
-gUnknown_082725E0:: @ 82725E0
- .incbin "baserom.gba", 0x2725e0, 0x9
-
-gUnknown_082725E9:: @ 82725E9
- .incbin "baserom.gba", 0x2725e9, 0x9
-
-gUnknown_082725F2:: @ 82725F2
- .incbin "baserom.gba", 0x2725f2, 0x9
-
-gUnknown_082725FB:: @ 82725FB
- .incbin "baserom.gba", 0x2725fb, 0x9
+ special sub_80FAC78
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_23B6BC
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq EventScript_23B6C5
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq EventScript_23B6CE
+ compare_var_to_value VAR_RESULT, 3
+ goto_eq EventScript_23B6D7
+ end
+
+EventScript_23B6BC:: @ 823B6BC
+ msgbox Text_27692B, 3
+ end
+
+EventScript_23B6C5:: @ 823B6C5
+ msgbox Text_276974, 3
+ end
+
+EventScript_23B6CE:: @ 823B6CE
+ msgbox Text_2769B8, 3
+ end
+
+EventScript_23B6D7:: @ 823B6D7
+ msgbox Text_2769FF, 3
+ end
+
+gText_23B6E0:: @ 823B6E0
+ .string "There’s a small indent in the wall.$"
+
+gText_23B704:: @ 823B704
+ .string "There’s a small indent in the wall.\p"
+ .string "Use the SECRET POWER?$"
+
+gText_23B73E:: @ 823B73E
+ .string "Discovered a small cavern!$"
+
+SecretBase_RedCave1_Text_23B759: @ 823B759
+ .string "Want to make your SECRET BASE here?$"
+
+ .include "data/scripts/maps/SingleBattleColosseum.inc"
+ .include "data/scripts/maps/TradeCenter.inc"
+ .include "data/scripts/maps/RecordCorner.inc"
+ .include "data/scripts/maps/DoubleBattleColosseum.inc"
+ .include "data/scripts/maps/LinkContestRoom1.inc"
+ .include "data/scripts/maps/LinkContestRoom2.inc"
+ .include "data/scripts/maps/LinkContestRoom3.inc"
+ .include "data/scripts/maps/LinkContestRoom4.inc"
+ .include "data/scripts/maps/LinkContestRoom5.inc"
+ .include "data/scripts/maps/LinkContestRoom6.inc"
+ .include "data/scripts/maps/UnknownMap_25_29.inc"
+ .include "data/scripts/maps/UnknownMap_25_30.inc"
+ .include "data/scripts/maps/UnknownMap_25_31.inc"
+ .include "data/scripts/maps/UnknownMap_25_32.inc"
+ .include "data/scripts/maps/UnknownMap_25_33.inc"
+ .include "data/scripts/maps/UnknownMap_25_34.inc"
+ .include "data/scripts/maps/InsideOfTruck.inc"
+ .include "data/scripts/maps/SSTidalCorridor.inc"
+ .include "data/scripts/maps/SSTidalLowerDeck.inc"
+ .include "data/scripts/maps/SSTidalRooms.inc"
+ .include "data/scripts/maps/BattlePyramidSquare01.inc"
+ .include "data/scripts/maps/BattlePyramidSquare02.inc"
+ .include "data/scripts/maps/BattlePyramidSquare03.inc"
+ .include "data/scripts/maps/BattlePyramidSquare04.inc"
+ .include "data/scripts/maps/BattlePyramidSquare05.inc"
+ .include "data/scripts/maps/BattlePyramidSquare06.inc"
+ .include "data/scripts/maps/BattlePyramidSquare07.inc"
+ .include "data/scripts/maps/BattlePyramidSquare08.inc"
+ .include "data/scripts/maps/BattlePyramidSquare09.inc"
+ .include "data/scripts/maps/BattlePyramidSquare10.inc"
+ .include "data/scripts/maps/BattlePyramidSquare11.inc"
+ .include "data/scripts/maps/BattlePyramidSquare12.inc"
+ .include "data/scripts/maps/BattlePyramidSquare13.inc"
+ .include "data/scripts/maps/BattlePyramidSquare14.inc"
+ .include "data/scripts/maps/BattlePyramidSquare15.inc"
+ .include "data/scripts/maps/BattlePyramidSquare16.inc"
+ .include "data/scripts/maps/UnionRoom.inc"
+ .include "data/scripts/maps/SafariZone_Northwest.inc"
+ .include "data/scripts/maps/SafariZone_North.inc"
+ .include "data/scripts/maps/SafariZone_Southwest.inc"
+ .include "data/scripts/maps/SafariZone_South.inc"
+ .include "data/scripts/maps/BattleFrontier_OutsideWest.inc"
+ .include "data/scripts/maps/BattleFrontier_BattleTowerLobby.inc"
+ .include "data/scripts/maps/BattleFrontier_BattleTowerElevator.inc"
+ .include "data/scripts/maps/BattleFrontier_BattleTowerCorridor.inc"
+ .include "data/scripts/maps/BattleFrontier_BattleTowerBattleRoom.inc"
+ .include "data/scripts/maps/SouthernIsland_Exterior.inc"
+ .include "data/scripts/maps/SouthernIsland_Interior.inc"
+ .include "data/scripts/maps/SafariZone_RestHouse.inc"
+ .include "data/scripts/maps/SafariZone_Northeast.inc"
+ .include "data/scripts/maps/SafariZone_Southeast.inc"
+ .include "data/scripts/maps/BattleFrontier_OutsideEast.inc"
+ .include "data/scripts/maps/BattleFrontier_BattleTowerMultiBattleRoom.inc"
+ .include "data/scripts/maps/BattleFrontier_BattleTowerCorridor2.inc"
+ .include "data/scripts/maps/BattleFrontier_BattleTowerBattleRoom2.inc"
+ .include "data/scripts/maps/BattleFrontier_BattleDomeLobby.inc"
+ .include "data/scripts/maps/BattleFrontier_BattleDomeCorridor.inc"
+ .include "data/scripts/maps/BattleFrontier_BattleDomePreBattleRoom.inc"
+ .include "data/scripts/maps/BattleFrontier_BattleDomeBattleRoom.inc"
+ .include "data/scripts/maps/BattleFrontier_BattlePalaceLobby.inc"
+ .include "data/scripts/maps/BattleFrontier_BattlePalaceCorridor.inc"
+ .include "data/scripts/maps/BattleFrontier_BattlePalaceBattleRoom.inc"
+ .include "data/scripts/maps/BattleFrontier_BattlePyramidLobby.inc"
+ .include "data/scripts/maps/BattleFrontier_BattlePyramidEmptySquare.inc"
+ .include "data/scripts/maps/BattleFrontier_BattlePyramidTop.inc"
+ .include "data/scripts/maps/BattleFrontier_BattleArenaLobby.inc"
+ .include "data/scripts/maps/BattleFrontier_BattleArenaCorridor.inc"
+ .include "data/scripts/maps/BattleFrontier_BattleArenaBattleRoom.inc"
+ .include "data/scripts/maps/BattleFrontier_BattleFactoryLobby.inc"
+ .include "data/scripts/maps/BattleFrontier_BattleFactoryPreBattleRoom.inc"
+ .include "data/scripts/maps/BattleFrontier_BattleFactoryBattleRoom.inc"
+ .include "data/scripts/maps/BattleFrontier_BattlePikeLobby.inc"
+ .include "data/scripts/maps/BattleFrontier_BattlePikeCorridor.inc"
+ .include "data/scripts/maps/BattleFrontier_BattlePikeThreePathRoom.inc"
+ .include "data/scripts/maps/BattleFrontier_BattlePikeRandomRoom1.inc"
+ .include "data/scripts/maps/BattleFrontier_BattlePikeRandomRoom2.inc"
+ .include "data/scripts/maps/BattleFrontier_BattlePikeRandomRoom3.inc"
+ .include "data/scripts/maps/BattleFrontier_RankingHall.inc"
+ .include "data/scripts/maps/BattleFrontier_Lounge1.inc"
+ .include "data/scripts/maps/BattleFrontier_BattlePointExchangeServiceCorner.inc"
+ .include "data/scripts/maps/BattleFrontier_Lounge2.inc"
+ .include "data/scripts/maps/BattleFrontier_Lounge3.inc"
+ .include "data/scripts/maps/BattleFrontier_Lounge4.inc"
+ .include "data/scripts/maps/BattleFrontier_ScottsHouse.inc"
+ .include "data/scripts/maps/BattleFrontier_Lounge5.inc"
+ .include "data/scripts/maps/BattleFrontier_Lounge6.inc"
+ .include "data/scripts/maps/BattleFrontier_Lounge7.inc"
+ .include "data/scripts/maps/BattleFrontier_ReceptionGate.inc"
+ .include "data/scripts/maps/BattleFrontier_Lounge8.inc"
+ .include "data/scripts/maps/BattleFrontier_Lounge9.inc"
+ .include "data/scripts/maps/BattleFrontier_PokemonCenter_1F.inc"
+ .include "data/scripts/maps/BattleFrontier_PokemonCenter_2F.inc"
+ .include "data/scripts/maps/BattleFrontier_Mart.inc"
+ .include "data/scripts/maps/FarawayIsland_Entrance.inc"
+ .include "data/scripts/maps/FarawayIsland_Interior.inc"
+ .include "data/scripts/maps/BirthIsland_Exterior.inc"
+ .include "data/scripts/maps/BirthIsland_Harbor.inc"
+ .include "data/scripts/maps/TrainerHill_Entrance.inc"
+ .include "data/scripts/maps/TrainerHill_1F.inc"
+ .include "data/scripts/maps/TrainerHill_2F.inc"
+ .include "data/scripts/maps/TrainerHill_3F.inc"
+ .include "data/scripts/maps/TrainerHill_4F.inc"
+ .include "data/scripts/maps/TrainerHill_Roof.inc"
+ .include "data/scripts/maps/NavelRock_Exterior.inc"
+ .include "data/scripts/maps/NavelRock_Harbor.inc"
+ .include "data/scripts/maps/NavelRock_Entrance.inc"
+ .include "data/scripts/maps/NavelRock_B1F.inc"
+ .include "data/scripts/maps/NavelRock_Fork.inc"
+ .include "data/scripts/maps/NavelRock_Up1.inc"
+ .include "data/scripts/maps/NavelRock_Up2.inc"
+ .include "data/scripts/maps/NavelRock_Up3.inc"
+ .include "data/scripts/maps/NavelRock_Up4.inc"
+ .include "data/scripts/maps/NavelRock_Top.inc"
+ .include "data/scripts/maps/NavelRock_Down01.inc"
+ .include "data/scripts/maps/NavelRock_Down02.inc"
+ .include "data/scripts/maps/NavelRock_Down03.inc"
+ .include "data/scripts/maps/NavelRock_Down04.inc"
+ .include "data/scripts/maps/NavelRock_Down05.inc"
+ .include "data/scripts/maps/NavelRock_Down06.inc"
+ .include "data/scripts/maps/NavelRock_Down07.inc"
+ .include "data/scripts/maps/NavelRock_Down08.inc"
+ .include "data/scripts/maps/NavelRock_Down09.inc"
+ .include "data/scripts/maps/NavelRock_Down10.inc"
+ .include "data/scripts/maps/NavelRock_Down11.inc"
+ .include "data/scripts/maps/NavelRock_Bottom.inc"
+ .include "data/scripts/maps/TrainerHill_Elevator.inc"
+ .include "data/scripts/maps/Route104_Prototype.inc"
+ .include "data/scripts/maps/Route104_PrototypePrettyPetalFlowerShop.inc"
+ .include "data/scripts/maps/Route109_SeashoreHouse.inc"
+ .include "data/scripts/maps/Route110_TrickHouseEntrance.inc"
+ .include "data/scripts/maps/Route110_TrickHouseEnd.inc"
+ .include "data/scripts/maps/Route110_TrickHouseCorridor.inc"
+ .include "data/scripts/maps/Route110_TrickHousePuzzle1.inc"
+ .include "data/scripts/maps/Route110_TrickHousePuzzle2.inc"
+ .include "data/scripts/maps/Route110_TrickHousePuzzle3.inc"
+ .include "data/scripts/maps/Route110_TrickHousePuzzle4.inc"
+ .include "data/scripts/maps/Route110_TrickHousePuzzle5.inc"
+ .include "data/scripts/maps/Route110_TrickHousePuzzle6.inc"
+ .include "data/scripts/maps/Route110_TrickHousePuzzle7.inc"
+ .include "data/scripts/maps/Route110_TrickHousePuzzle8.inc"
+ .include "data/scripts/maps/Route110_SeasideCyclingRoadEntrance1.inc"
+ .include "data/scripts/maps/Route110_SeasideCyclingRoadEntrance2.inc"
+ .include "data/scripts/maps/Route113_GlassWorkshop.inc"
+ .include "data/scripts/maps/Route123_BerryMastersHouse.inc"
+ .include "data/scripts/maps/Route119_WeatherInstitute_1F.inc"
+ .include "data/scripts/maps/Route119_WeatherInstitute_2F.inc"
+ .include "data/scripts/maps/Route119_House.inc"
+ .include "data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc"
+
+Std_2: @ 8271315
+ lock
+ faceplayer
+ message 0x0
+ waitmessage
+ waitbuttonpress
+ release
+ return
+
+Std_3: @ 8271320
+ lockall
+ message 0x0
+ waitmessage
+ waitbuttonpress
+ releaseall
+ return
+
+Std_4: @ 827132A
+ message 0x0
+ waitmessage
+ waitbuttonpress
+ return
+
+Std_5: @ 8271332
+ message 0x0
+ waitmessage
+ yesnobox 20, 8
+ return
+
+Std_9: @ 827133C
+ message 0x0
+ playfanfare BGM_ME_BATTLE_POINTS
+ waitfanfare
+ waitmessage
+ return
+
+Std_10: @ 8271347
+ pokenavcall 0x0
+ waitmessage
+ return
+
+EventScript_27134E: @ 827134E
+ return
+
+BattleFrontier_BattleArenaLobby_EventScript_27134F:: @ 827134F
+BattleFrontier_BattleDomeLobby_EventScript_27134F:: @ 827134F
+BattleFrontier_BattleFactoryLobby_EventScript_27134F:: @ 827134F
+BattleFrontier_BattlePalaceLobby_EventScript_27134F:: @ 827134F
+BattleFrontier_BattlePikeLobby_EventScript_27134F:: @ 827134F
+BattleFrontier_BattlePyramidLobby_EventScript_27134F:: @ 827134F
+BattleFrontier_BattleTowerLobby_EventScript_27134F:: @ 827134F
+FallarborTown_BattleTentLobby_EventScript_27134F:: @ 827134F
+LilycoveCity_ContestLobby_EventScript_27134F:: @ 827134F
+MossdeepCity_GameCorner_1F_EventScript_27134F:: @ 827134F
+OldaleTown_PokemonCenter_2F_EventScript_27134F:: @ 827134F
+SecretBase_RedCave1_EventScript_27134F:: @ 827134F
+SlateportCity_BattleTentLobby_EventScript_27134F:: @ 827134F
+SootopolisCity_MysteryEventsHouse_1F_EventScript_27134F:: @ 827134F
+TrainerHill_Entrance_EventScript_27134F:: @ 827134F
+VerdanturfTown_BattleTentLobby_EventScript_27134F:: @ 827134F
+ special sub_809FF80
+ waitstate
+ return
+
+EventScript_271354:: @ 8271354
+ cmdD8
+ cmdD9
+
+EventScript_271356:: @ 8271356
+ special SetUpTrainerEncounterMusic
+ special sub_80B45AC
+ waitstate
+ goto EventScript_27143C
+
+EventScript_271362:: @ 8271362
+ lock
+ faceplayer
+ applymovement 0x800F, Movement_27143A
+ waitmovement 0
+ specialvar VAR_RESULT, check_trainer_flag
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, EventScript_271389
+ special SetUpTrainerEncounterMusic
+ special sub_80B16D8
+ goto EventScript_27143C
+
+EventScript_271389:: @ 8271389
+ ontrainerbattleend
+
+EventScript_27138A:: @ 827138A
+ lock
+ faceplayer
+ call EventScript_27142F
+ specialvar VAR_RESULT, check_trainer_flag
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, EventScript_2713C1
+ special sub_80F92F8
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, EventScript_2713BA
+ special SetUpTrainerEncounterMusic
+ special sub_80B16D8
+ goto EventScript_27143C
+
+EventScript_2713BA:: @ 82713BA
+ special special_trainer_unable_to_battle
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+EventScript_2713C1:: @ 82713C1
+ ontrainerbattleend
+
+EventScript_2713C2:: @ 82713C2
+ applymovement 0x800F, Movement_27143A
+ waitmovement 0
+ special SetUpTrainerEncounterMusic
+ trainerbattlebegin
+ ontrainerbattleend
+
+EventScript_2713D1:: @ 82713D1
+ call EventScript_27142F
+ specialvar VAR_RESULT, sub_80B22A0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_2713F7
+ special SetUpTrainerEncounterMusic
+ special sub_80B16D8
+ special sub_80B1A14
+ waitmessage
+ waitbuttonpress
+ special sub_80B19EC
+ waitstate
+ releaseall
+ end
+
+EventScript_2713F7:: @ 82713F7
+ ontrainerbattleend
+
+EventScript_2713F8:: @ 82713F8
+ specialvar VAR_RESULT, sub_80B22A0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_271427
+ special sub_80F92F8
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, EventScript_271428
+ special SetUpTrainerEncounterMusic
+ special sub_80B16D8
+ special sub_80B1A14
+ waitmessage
+ waitbuttonpress
+ special sub_80B19EC
+ waitstate
+ releaseall
+ end
+
+EventScript_271427:: @ 8271427
+ ontrainerbattleend
+
+EventScript_271428:: @ 8271428
+ special special_trainer_unable_to_battle
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+EventScript_27142F:: @ 827142F
+ applymovement 0x800F, Movement_27143A
+ waitmovement 0
+ return
+
+Movement_27143A: @ 827143A
+ step_59
+ step_end
+
+EventScript_27143C:: @ 827143C
+ special sub_80B1A14
+ waitmessage
+ waitbuttonpress
+ special sub_80B45D0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq EventScript_271356
+ goto EventScript_271454
+
+EventScript_271454:: @ 8271454
+ trainerbattlebegin
+ specialvar VAR_RESULT, sub_80B170C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_271491
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq EventScript_271491
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq EventScript_271491
+ compare_var_to_value VAR_RESULT, 6
+ goto_eq EventScript_271491
+ compare_var_to_value VAR_RESULT, 8
+ goto_eq EventScript_271491
+
+EventScript_271491:: @ 8271491
+ ontrainerbattleendgoto
+ releaseall
+ end
+
+Std_6:: @ 8271494
+ message 0x0
+ waitmessage
+ waitbuttonpress
+ release
+ return
+
+EventScript_27149D:: @ 827149D
+ setberrytree 2, 7, 5
+ setberrytree 1, 3, 5
+ setberrytree 11, 7, 5
+ setberrytree 13, 3, 5
+ setberrytree 4, 7, 5
+ setberrytree 76, 1, 5
+ setberrytree 8, 1, 5
+ setberrytree 10, 6, 5
+ setberrytree 25, 20, 5
+ setberrytree 26, 2, 5
+ setberrytree 66, 2, 5
+ setberrytree 67, 20, 5
+ setberrytree 69, 22, 5
+ setberrytree 70, 22, 5
+ setberrytree 71, 22, 5
+ setberrytree 55, 17, 5
+ setberrytree 56, 17, 5
+ setberrytree 5, 1, 5
+ setberrytree 6, 6, 5
+ setberrytree 7, 1, 5
+ setberrytree 16, 18, 5
+ setberrytree 17, 18, 5
+ setberrytree 18, 18, 5
+ setberrytree 29, 19, 5
+ setberrytree 28, 19, 5
+ setberrytree 27, 19, 5
+ setberrytree 24, 4, 5
+ setberrytree 23, 3, 5
+ setberrytree 22, 3, 5
+ setberrytree 21, 4, 5
+ setberrytree 19, 16, 5
+ setberrytree 20, 16, 5
+ setberrytree 80, 7, 5
+ setberrytree 81, 7, 5
+ setberrytree 77, 8, 5
+ setberrytree 78, 8, 5
+ setberrytree 68, 8, 5
+ setberrytree 31, 10, 5
+ setberrytree 33, 10, 5
+ setberrytree 34, 21, 5
+ setberrytree 35, 21, 5
+ setberrytree 36, 21, 5
+ setberrytree 83, 24, 5
+ setberrytree 84, 24, 5
+ setberrytree 85, 10, 5
+ setberrytree 86, 6, 5
+ setberrytree 37, 5, 5
+ setberrytree 38, 5, 5
+ setberrytree 39, 5, 5
+ setberrytree 40, 3, 5
+ setberrytree 41, 3, 5
+ setberrytree 42, 3, 5
+ setberrytree 46, 19, 5
+ setberrytree 45, 20, 5
+ setberrytree 44, 18, 5
+ setberrytree 43, 16, 5
+ setberrytree 47, 8, 5
+ setberrytree 48, 5, 5
+ setberrytree 49, 4, 5
+ setberrytree 50, 2, 5
+ setberrytree 52, 18, 5
+ setberrytree 53, 18, 5
+ setberrytree 62, 6, 5
+ setberrytree 64, 6, 5
+ setberrytree 58, 21, 5
+ setberrytree 59, 21, 5
+ setberrytree 60, 25, 5
+ setberrytree 61, 25, 5
+ setberrytree 79, 23, 5
+ setberrytree 14, 23, 5
+ setberrytree 15, 21, 5
+ setberrytree 30, 21, 5
+ setberrytree 65, 25, 5
+ setberrytree 72, 25, 5
+ setberrytree 73, 23, 5
+ setberrytree 74, 23, 5
+ setberrytree 87, 3, 5
+ setberrytree 88, 10, 5
+ setberrytree 89, 4, 5
+ setberrytree 82, 36, 5
+ return
+
+EventScript_2715DE:: @ 82715DE
+ setflag FLAG_0x056
+ setflag FLAG_0x301
+ setflag FLAG_0x302
+ setflag FLAG_0x303
+ setflag FLAG_0x2D1
+ setflag FLAG_0x379
+ setflag FLAG_0x32B
+ setflag FLAG_0x32C
+ setflag FLAG_0x346
+ setflag FLAG_0x2D6
+ setflag FLAG_0x363
+ setflag FLAG_0x2DB
+ setflag FLAG_0x2DC
+ setflag FLAG_0x32E
+ setflag FLAG_0x34C
+ setflag FLAG_0x364
+ setflag FLAG_0x2E3
+ setflag FLAG_0x371
+ setflag FLAG_0x2E2
+ setflag FLAG_0x2E4
+ setflag FLAG_0x2E5
+ setflag FLAG_0x2E7
+ setflag FLAG_0x2E8
+ setflag FLAG_0x38A
+ setflag FLAG_0x345
+ setflag FLAG_0x306
+ setflag FLAG_0x37F
+ setflag FLAG_0x308
+ setflag FLAG_0x309
+ setflag FLAG_0x30A
+ setflag FLAG_0x30B
+ setflag FLAG_0x30C
+ setflag FLAG_0x30D
+ setflag FLAG_0x338
+ setflag FLAG_0x2E9
+ setflag FLAG_0x2EA
+ setflag FLAG_0x2F8
+ setflag FLAG_0x2D2
+ setflag FLAG_0x2DE
+ setflag FLAG_0x351
+ setflag FLAG_0x32F
+ setflag FLAG_0x315
+ setflag FLAG_0x316
+ setflag FLAG_0x317
+ setflag FLAG_0x318
+ setflag FLAG_0x2DA
+ setflag FLAG_0x31D
+ setflag FLAG_0x31E
+ setflag FLAG_0x31F
+ setflag FLAG_0x385
+ setflag FLAG_0x386
+ setflag FLAG_0x387
+ setflag FLAG_0x388
+ setflag FLAG_0x323
+ setflag FLAG_0x322
+ setflag FLAG_0x326
+ setflag FLAG_0x328
+ setflag FLAG_0x329
+ setflag FLAG_0x3D8
+ setflag FLAG_0x2FE
+ setflag FLAG_0x33E
+ setflag FLAG_0x362
+ setflag FLAG_0x365
+ setflag FLAG_0x33C
+ setflag FLAG_0x33D
+ setflag FLAG_0x33F
+ setflag FLAG_0x35B
+ setflag FLAG_0x355
+ setflag FLAG_0x349
+ setflag FLAG_0x34D
+ setflag FLAG_0x34E
+ setflag FLAG_0x35C
+ setflag FLAG_0x35D
+ setflag FLAG_0x343
+ setflag FLAG_0x348
+ setflag FLAG_0x350
+ setflag FLAG_0x353
+ setflag FLAG_0x312
+ setflag FLAG_0x3CD
+ setflag FLAG_0x330
+ setflag FLAG_0x366
+ setflag FLAG_0x368
+ setflag FLAG_0x36D
+ setflag FLAG_0x3E2
+ setflag FLAG_0x36F
+ setflag FLAG_0x37B
+ setflag FLAG_0x370
+ setflag FLAG_0x36E
+ setflag FLAG_0x327
+ setflag FLAG_0x3D7
+ setflag FLAG_0x376
+ setflag FLAG_0x374
+ setflag FLAG_0x375
+ setflag FLAG_0x3C1
+ setflag FLAG_0x378
+ setflag FLAG_0x2F0
+ setflag FLAG_0x2F5
+ setflag FLAG_0x31A
+ setflag FLAG_0x31B
+ setflag FLAG_0x37C
+ setflag FLAG_0x380
+ setflag FLAG_0x381
+ setflag FLAG_0x382
+ setflag FLAG_0x38D
+ setflag FLAG_0x2EC
+ setflag FLAG_0x38E
+ setflag FLAG_0x38F
+ setflag FLAG_0x393
+ setflag FLAG_0x358
+ setflag FLAG_0x390
+ setflag FLAG_0x2FD
+ setflag FLAG_0x398
+ setflag FLAG_0x399
+ setflag FLAG_0x39A
+ setflag FLAG_0x39B
+ setflag FLAG_0x2CF
+ setflag FLAG_0x39D
+ setflag FLAG_0x3A1
+ setflag FLAG_0x3A2
+ setflag FLAG_0x3A6
+ setflag FLAG_0x3AA
+ setflag FLAG_0x3AC
+ setflag FLAG_0x3A0
+ setflag FLAG_0x3E0
+ setflag FLAG_0x342
+ setflag FLAG_0x3B0
+ setflag FLAG_0x3B1
+ setflag FLAG_0x3B3
+ setflag FLAG_0x3B4
+ setflag FLAG_0x2ED
+ setflag FLAG_0x35A
+ setflag FLAG_0x2EF
+ setflag FLAG_0x3B6
+ setflag FLAG_0x3C7
+ setflag FLAG_0x3C8
+ setflag FLAG_0x2D7
+ setflag FLAG_0x3D3
+ setflag FLAG_0x3DF
+ setflag FLAG_0x3E3
+ setflag FLAG_0x3E4
+ setflag FLAG_0x3E5
+ setflag FLAG_0x3E6
+ setflag FLAG_0x356
+ setflag FLAG_0x33A
+ setflag FLAG_0x33B
+ setflag FLAG_0x36C
+ setflag FLAG_0x36B
+ setflag FLAG_0x36A
+ setflag FLAG_0x337
+ setflag FLAG_0x2F4
+ setflag FLAG_0x35E
+ setflag FLAG_0x35F
+ setflag FLAG_0x340
+ setflag FLAG_0x2FB
+ setflag FLAG_0x2EB
+ setflag FLAG_0x2FF
+ setflag FLAG_0x319
+ setflag FLAG_0x357
+ setflag FLAG_0x050
+ call EventScript_27149D
+ end
+
+EverGrandeCity_HallOfFame_EventScript_2717C1:: @ 82717C1
+ special sub_81AFDD0
+ setflag FLAG_0x87F
+ call EverGrandeCity_HallOfFame_EventScript_271829
+ compare_var_to_value VAR_0x40CC, 0
+ call_if 1, EverGrandeCity_HallOfFame_EventScript_271839
+ clearflag FLAG_0x39D
+ call EverGrandeCity_HallOfFame_EventScript_2718CC
+ setflag FLAG_0x365
+ clearflag FLAG_0x3B6
+ clearflag FLAG_0x2D7
+ setvar VAR_0x40C6, 2
+ setflag FLAG_0x35A
+ clearflag FLAG_0x2EF
+ clearflag FLAG_0x35C
+ clearflag FLAG_0x35D
+ setflag FLAG_0x2CD
+ clearflag FLAG_0x2EB
+ setflag FLAG_0x3CB
+ special sub_813BA60
+ checkflag FLAG_0x123
+ call_if 0, EverGrandeCity_HallOfFame_EventScript_271843
+ checkflag FLAG_0x12A
+ call_if 0, EverGrandeCity_HallOfFame_EventScript_27183F
+ setflag FLAG_0x2F8
+ setflag FLAG_0x2D2
+ compare_var_to_value VAR_0x40D3, 0
+ call_if 1, EverGrandeCity_HallOfFame_EventScript_271851
+ return
+
+EverGrandeCity_HallOfFame_EventScript_271829:: @ 8271829
+ clearflag FLAG_0x1C7
+ clearflag FLAG_0x1C8
+ clearflag FLAG_0x1AC
+ clearflag FLAG_0x1DD
+ clearflag FLAG_0x1DC
+ return
+
+EverGrandeCity_HallOfFame_EventScript_271839:: @ 8271839
+ setvar VAR_0x40CC, 1
+ return
+
+EverGrandeCity_HallOfFame_EventScript_27183F:: @ 827183F
+ clearflag FLAG_0x3C8
+ return
+
+EverGrandeCity_HallOfFame_EventScript_271843:: @ 8271843
+ setvar VAR_0x4082, 3
+ setvar VAR_0x408C, 3
+ clearflag FLAG_0x2DE
+ return
+
+EverGrandeCity_HallOfFame_EventScript_271851:: @ 8271851
+ setvar VAR_0x40D3, 1
+ return
+
+EverGrandeCity_HallOfFame_EventScript_271857:: @ 8271857
+ call EverGrandeCity_HallOfFame_EventScript_2718CC
+ goto EverGrandeCity_HallOfFame_EventScript_271862
+ end
+
+EverGrandeCity_HallOfFame_EventScript_271862:: @ 8271862
+ compare_var_to_value VAR_0x4096, 1
+ goto_eq EverGrandeCity_HallOfFame_EventScript_271884
+ compare_var_to_value VAR_0x4096, 2
+ goto_eq EverGrandeCity_HallOfFame_EventScript_27189A
+ compare_var_to_value VAR_0x4096, 3
+ goto_eq EverGrandeCity_HallOfFame_EventScript_2718B3
+ end
+
+EverGrandeCity_HallOfFame_EventScript_271884:: @ 8271884
+ setflag FLAG_0x2E4
+ setflag FLAG_0x2E7
+ setflag FLAG_0x2E5
+ setflag FLAG_0x2E8
+ clearflag FLAG_0x2E6
+ clearflag FLAG_0x2E3
+ clearflag FLAG_0x371
+ end
+
+EverGrandeCity_HallOfFame_EventScript_27189A:: @ 827189A
+ setflag FLAG_0x2E5
+ setflag FLAG_0x2E8
+ setflag FLAG_0x2E2
+ setflag FLAG_0x2E6
+ setflag FLAG_0x2E3
+ setflag FLAG_0x371
+ clearflag FLAG_0x2E4
+ clearflag FLAG_0x2E7
+ end
+
+EverGrandeCity_HallOfFame_EventScript_2718B3:: @ 82718B3
+ setflag FLAG_0x2E2
+ setflag FLAG_0x2E6
+ setflag FLAG_0x2E3
+ setflag FLAG_0x371
+ setflag FLAG_0x2E4
+ setflag FLAG_0x2E7
+ clearflag FLAG_0x2E5
+ clearflag FLAG_0x2E8
+ end
+
+EverGrandeCity_HallOfFame_EventScript_2718CC:: @ 82718CC
+ clearflag FLAG_0x4FB
+ clearflag FLAG_0x4FC
+ clearflag FLAG_0x4FD
+ clearflag FLAG_0x4FE
+ setvar VAR_0x409C, 0
+ return
+
+DewfordTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
+FallarborTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
+LavaridgeTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
+MauvilleCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
+OldaleTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
+PetalburgCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
+RustboroCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
+SlateportCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
+VerdanturfTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
+ checkflag FLAG_0x0BC
+ goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_27374E
+ checkflag FLAG_0x4F4
+ goto_eq OldaleTown_PokemonCenter_1F_EventScript_27374E
+ checkflag FLAG_0x2E6
+ goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_27190C
+ checkflag FLAG_0x2E4
+ goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_271912
+ checkflag FLAG_0x2E5
+ goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_271918
+ return
+
+OldaleTown_PokemonCenter_1F_EventScript_27190C:: @ 827190C
+ setvar VAR_0x4096, 1
+ return
+
+OldaleTown_PokemonCenter_1F_EventScript_271912:: @ 8271912
+ setvar VAR_0x4096, 2
+ return
+
+OldaleTown_PokemonCenter_1F_EventScript_271918:: @ 8271918
+ setvar VAR_0x4096, 3
+ return
+
+BattleFrontier_PokemonCenter_1F_EventScript_27191E:: @ 827191E
+DewfordTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E
+EverGrandeCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E
+EverGrandeCity_PokemonLeague_1F_EventScript_27191E:: @ 827191E
+FallarborTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E
+FortreeCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E
+LavaridgeTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E
+LilycoveCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E
+MauvilleCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E
+MossdeepCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E
+OldaleTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E
+PacifidlogTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E
+PetalburgCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E
+RustboroCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E
+SlateportCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E
+SootopolisCity_PokemonCenter_1F_EventScript_27191E:: @ 827191E
+TrainerHill_Entrance_EventScript_27191E:: @ 827191E
+VerdanturfTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E
+ lock
+ faceplayer
+ setvar VAR_0x8004, 0
+ specialvar VAR_RESULT, sub_80C2E40
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq OldaleTown_PokemonCenter_1F_EventScript_271A68
+ msgbox gUnknown_082726EB, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq OldaleTown_PokemonCenter_1F_EventScript_27195A
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq OldaleTown_PokemonCenter_1F_EventScript_271954
+ end
+
+OldaleTown_PokemonCenter_1F_EventScript_271954:: @ 8271954
+ message gUnknown_082727DB
+ return
+
+OldaleTown_PokemonCenter_1F_EventScript_27195A:: @ 827195A
+ incrementgamestat 15
+ compare_var_to_value VAR_0x8004, 0
+ call_if 1, OldaleTown_PokemonCenter_1F_EventScript_271987
+ compare_var_to_value VAR_0x8004, 1
+ call_if 1, OldaleTown_PokemonCenter_1F_EventScript_27198D
+ waitmessage
+ call OldaleTown_PokemonCenter_1F_EventScript_271993
+ checkflag FLAG_0x111
+ goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_271A43
+ goto OldaleTown_PokemonCenter_1F_EventScript_2719B1
+ end
+
+OldaleTown_PokemonCenter_1F_EventScript_271987:: @ 8271987
+ message gUnknown_08272768
+ return
+
+OldaleTown_PokemonCenter_1F_EventScript_27198D:: @ 827198D
+ message gUnknown_082729C0
+ return
+
+OldaleTown_PokemonCenter_1F_EventScript_271993:: @ 8271993
+ applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_2725A4
+ waitmovement 0
+ dofieldeffect 25
+ waitfieldeffect 25
+ applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_2725AA
+ waitmovement 0
+ special sp000_heal_pokemon
+ return
+
+OldaleTown_PokemonCenter_1F_EventScript_2719B1:: @ 82719B1
+ specialvar VAR_RESULT, sub_8139ED0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq OldaleTown_PokemonCenter_1F_EventScript_2719E2
+ specialvar VAR_RESULT, sp182_move_string
+ copyvar VAR_0x8008, VAR_RESULT
+ compare_var_to_value VAR_0x8008, 0
+ goto_eq OldaleTown_PokemonCenter_1F_EventScript_2719E2
+ compare_var_to_value VAR_0x8008, 1
+ goto_eq OldaleTown_PokemonCenter_1F_EventScript_271A19
+ end
+
+OldaleTown_PokemonCenter_1F_EventScript_2719E2:: @ 82719E2
+ compare_var_to_value VAR_0x8004, 1
+ goto_eq OldaleTown_PokemonCenter_1F_EventScript_271A03
+ message gUnknown_08272798
+ waitmessage
+ applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_271AD0
+ waitmovement 0
+ message gUnknown_082727DB
+ return
+
+OldaleTown_PokemonCenter_1F_EventScript_271A03:: @ 8271A03
+ message gUnknown_082729F0
+ waitmessage
+ applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_271AD0
+ waitmovement 0
+ message gUnknown_08272A07
+ return
+
+OldaleTown_PokemonCenter_1F_EventScript_271A19:: @ 8271A19
+ checkflag FLAG_0x880
+ goto_eq OldaleTown_PokemonCenter_1F_EventScript_2719E2
+ msgbox gUnknown_08272798, 4
+ setflag FLAG_0x880
+ message OldaleTown_PokemonCenter_1F_Text_278A48
+ waitmessage
+ applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_271AD0
+ waitmovement 0
+ message gUnknown_082727DB
+ return
+
+OldaleTown_PokemonCenter_1F_EventScript_271A43:: @ 8271A43
+ specialvar VAR_RESULT, sub_8139540
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq OldaleTown_PokemonCenter_1F_EventScript_271A5F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq OldaleTown_PokemonCenter_1F_EventScript_2719B1
+ end
+
+OldaleTown_PokemonCenter_1F_EventScript_271A5F:: @ 8271A5F
+ message gUnknown_08272F07
+ setflag FLAG_0x111
+ return
+
+OldaleTown_PokemonCenter_1F_EventScript_271A68:: @ 8271A68
+ checkflag FLAG_0x159
+ goto_eq OldaleTown_PokemonCenter_1F_EventScript_271AAC
+ setflag FLAG_0x159
+ msgbox gUnknown_082727F5, 4
+ playse SE_PIN
+ applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_272598
+ waitmovement 0
+ applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_27259A
+ waitmovement 0
+ msgbox gUnknown_08272860, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq OldaleTown_PokemonCenter_1F_EventScript_271AC5
+ message gUnknown_08272A07
+ return
+
+OldaleTown_PokemonCenter_1F_EventScript_271AAC:: @ 8271AAC
+ msgbox gUnknown_08272982, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq OldaleTown_PokemonCenter_1F_EventScript_271AC5
+ message gUnknown_08272A07
+ return
+
+OldaleTown_PokemonCenter_1F_EventScript_271AC5:: @ 8271AC5
+ setvar VAR_0x8004, 1
+ goto OldaleTown_PokemonCenter_1F_EventScript_27195A
+ end
+
+OldaleTown_PokemonCenter_1F_Movement_271AD0: @ 8271AD0
+ step_4f
+ step_12
+ step_end
+
+Std_ObtainItem:: @ 8271AD3
+ giveitem VAR_0x8000, 32769
+ copyvar VAR_0x8007, VAR_RESULT
+ call EventScript_271AE3
+ return
+
+EventScript_271AE3:: @ 8271AE3
+ bufferitemnameplural 1, VAR_0x8000, 32769
+ checkitemtype VAR_0x8000
+ call EventScript_271B08
+ compare_var_to_value VAR_0x8007, 1
+ call_if 1, EventScript_271B95
+ compare_var_to_value VAR_0x8007, 0
+ call_if 1, EventScript_271BA9
+ return
+
+EventScript_271B08:: @ 8271B08
+ switch VAR_RESULT
+ case 1, EventScript_271B45
+ case 5, EventScript_271B55
+ case 2, EventScript_271B65
+ case 3, EventScript_271B75
+ case 4, EventScript_271B85
+ end
+
+EventScript_271B45:: @ 8271B45
+ bufferstdstring 2, 14
+ compare_var_to_value VAR_0x8007, 1
+ call_if 1, EventScript_271BAF
+ return
+
+EventScript_271B55:: @ 8271B55
+ bufferstdstring 2, 15
+ compare_var_to_value VAR_0x8007, 1
+ call_if 1, EventScript_271BAF
+ return
+
+EventScript_271B65:: @ 8271B65
+ bufferstdstring 2, 16
+ compare_var_to_value VAR_0x8007, 1
+ call_if 1, EventScript_271BAF
+ return
+
+EventScript_271B75:: @ 8271B75
+ bufferstdstring 2, 17
+ compare_var_to_value VAR_0x8007, 1
+ call_if 1, EventScript_271BB3
+ return
+
+EventScript_271B85:: @ 8271B85
+ bufferstdstring 2, 18
+ compare_var_to_value VAR_0x8007, 1
+ call_if 1, EventScript_271BAF
+ return
+
+EventScript_271B95:: @ 8271B95
+ message gUnknown_08272A78
+ waitfanfare
+ msgbox gUnknown_08272A9A, 4
+ setvar VAR_RESULT, 1
+ return
+
+EventScript_271BA9:: @ 8271BA9
+ setvar VAR_RESULT, 0
+ return
+
+EventScript_271BAF:: @ 8271BAF
+ playfanfare BGM_FANFA4
+ return
+
+EventScript_271BB3:: @ 8271BB3
+ playfanfare BGM_ME_WAZA
+ return
+
+Std_ObtainDecoration:: @ 8271BB7
+ givedecoration VAR_0x8000
+ copyvar VAR_0x8007, VAR_RESULT
+ call EventScript_271BC5
+ return
+
+EventScript_271BC5:: @ 8271BC5
+ bufferdecorationname 1, VAR_0x8000
+ compare_var_to_value VAR_0x8007, 1
+ call_if 1, EventScript_271BE0
+ compare_var_to_value VAR_0x8007, 0
+ call_if 1, EventScript_271BF7
+ return
+
+EventScript_271BE0:: @ 8271BE0
+ playfanfare BGM_FANFA4
+ message gUnknown_08272B09
+ waitfanfare
+ msgbox gUnknown_08272B48, 4
+ setvar VAR_RESULT, 1
+ return
+
+EventScript_271BF7:: @ 8271BF7
+ setvar VAR_RESULT, 0
+ return
+
+Std_FindItem:: @ 8271BFD
+ lock
+ faceplayer
+ waitse
+ copyvar VAR_0x8004, VAR_0x8000
+ copyvar VAR_0x8005, VAR_0x8001
+ checkitemspace VAR_0x8000, 32769
+ copyvar VAR_0x8007, VAR_RESULT
+ bufferitemnameplural 1, VAR_0x8000, 32769
+ checkitemtype VAR_0x8000
+ call EventScript_271B08
+ compare_var_to_value VAR_0x8007, 1
+ call_if 1, EventScript_271C3A
+ compare_var_to_value VAR_0x8007, 0
+ call_if 1, EventScript_271CA1
+ release
+ return
+
+EventScript_271C3A:: @ 8271C3A
+ removeobject VAR_LAST_TALKED
+ giveitem VAR_0x8004, 32773
+ specialvar VAR_RESULT, sub_81398C0
+ copyvar VAR_0x8008, VAR_RESULT
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, EventScript_271C8F
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, EventScript_271C9B
+ waitfanfare
+ waitmessage
+ bufferitemnameplural 1, VAR_0x8004, 32773
+ setvar VAR_0x8004, 12
+ special sub_81A8E7C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq EventScript_271C86
+ msgbox gUnknown_08272A9A, 4
+ return
+
+EventScript_271C86:: @ 8271C86
+ msgbox gUnknown_08272AEA, 4
+ return
+
+EventScript_271C8F:: @ 8271C8F
+ bufferitemnameplural 0, VAR_0x8004, 32773
+ message gUnknown_082731A9
+ return
+
+EventScript_271C9B:: @ 8271C9B
+ message gUnknown_08272ABF
+ return
+
+EventScript_271CA1:: @ 8271CA1
+ msgbox gUnknown_08272A78, 4
+ msgbox gUnknown_08272AD0, 4
+ setvar VAR_RESULT, 0
+ return
+
+EventScript_271CB7:: @ 8271CB7
+ lockall
+ waitse
+ giveitem VAR_0x8005, 1
+ copyvar VAR_0x8007, VAR_RESULT
+ bufferitemnameplural 1, VAR_0x8005, 1
+ checkitemtype VAR_0x8005
+ call EventScript_271B08
+ compare_var_to_value VAR_0x8007, 1
+ goto_eq EventScript_271CE8
+ compare_var_to_value VAR_0x8007, 0
+ goto_eq EventScript_271D47
+ end
+
+EventScript_271CE8:: @ 8271CE8
+ copyvar VAR_0x8008, VAR_0x8004
+ copyvar VAR_0x8004, VAR_0x8005
+ specialvar VAR_RESULT, sub_81398C0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq EventScript_271D0E
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_271D1F
+ end
+
+EventScript_271D0E:: @ 8271D0E
+ bufferitemnameplural 0, VAR_0x8004, 1
+ message gUnknown_082731A9
+ goto EventScript_271D2A
+ end
+
+EventScript_271D1F:: @ 8271D1F
+ message gUnknown_08272ABF
+ goto EventScript_271D2A
+ end
+
+EventScript_271D2A:: @ 8271D2A
+ waitmessage
+ waitfanfare
+ bufferitemnameplural 1, VAR_0x8004, 1
+ copyvar VAR_0x8004, VAR_0x8008
+ msgbox gUnknown_08272A9A, 4
+ special sub_80EDCE8
+ special sub_8138BC8
+ releaseall
+ end
+
+EventScript_271D47:: @ 8271D47
+ msgbox gUnknown_08272ABF, 4
+ msgbox gUnknown_08272AD0, 4
+ setvar VAR_RESULT, 0
+ releaseall
+ end
+
+EventScript_271D5E:: @ 8271D5E
+ lock
+ faceplayer
+ msgbox Text_27260D, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq EventScript_271D83
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_271D89
+ goto EventScript_271D89
+
+EventScript_271D83:: @ 8271D83
+ special sub_80E6BE8
+ waitstate
+ lock
+ faceplayer
+
+EventScript_271D89:: @ 8271D89
+ message Text_272640
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+EventScript_271D92:: @ 8271D92
+ lockall
+ setvar VAR_0x8004, 0
+ special sp0D9_ComputerRelated
+ playse SE_PC_ON
+ msgbox Text_27265A, 4
+ goto EventScript_271DAC
+ end
+
+EventScript_271DAC:: @ 8271DAC
+ message gUnknown_0827266F
+ waitmessage
+ special sp109_CreatePCMenu
+ waitstate
+ goto EventScript_271DBC
+ end
+
+EventScript_271DBC:: @ 8271DBC
+ switch VAR_RESULT
+ case 0, EventScript_271E0E
+ case 1, EventScript_271DF9
+ case 2, EventScript_271E54
+ case 3, EventScript_271E47
+ case 127, EventScript_271E47
+ end
+
+EventScript_271DF9:: @ 8271DF9
+ playse SE_PC_LOGON
+ msgbox gUnknown_082726C2, 4
+ special sub_816AE98
+ waitstate
+ goto EventScript_271DAC
+ end
+
+EventScript_271E0E:: @ 8271E0E
+ playse SE_PC_LOGON
+ checkflag FLAG_SYS_PC_LANETTE
+ call_if 0, EventScript_271E35
+ checkflag FLAG_SYS_PC_LANETTE
+ call_if 1, EventScript_271E3E
+ msgbox gUnknown_082726A3, 4
+ special sub_80C7578
+ waitstate
+ goto EventScript_271DAC
+ end
+
+EventScript_271E35:: @ 8271E35
+ msgbox gUnknown_0827268C, 4
+ return
+
+EventScript_271E3E:: @ 8271E3E
+ msgbox gUnknown_082726D4, 4
+ return
+
+EventScript_271E47:: @ 8271E47
+ setvar VAR_0x8004, 0
+ playse SE_PC_OFF
+ special sub_8138E20
+ releaseall
+ end
+
+EventScript_271E54:: @ 8271E54
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_if 0, EventScript_271E47
+ playse SE_PC_LOGON
+ special sub_8137C28
+ waitstate
+ goto EventScript_271DBC
+ end
+
+BattleFrontier_OutsideWest_EventScript_271E6A:: @ 8271E6A
+FallarborTown_EventScript_271E6A:: @ 8271E6A
+FortreeCity_EventScript_271E6A:: @ 8271E6A
+LavaridgeTown_EventScript_271E6A:: @ 8271E6A
+MauvilleCity_EventScript_271E6A:: @ 8271E6A
+MossdeepCity_EventScript_271E6A:: @ 8271E6A
+OldaleTown_EventScript_271E6A:: @ 8271E6A
+PetalburgCity_EventScript_271E6A:: @ 8271E6A
+RustboroCity_EventScript_271E6A:: @ 8271E6A
+SlateportCity_EventScript_271E6A:: @ 8271E6A
+SootopolisCity_EventScript_271E6A:: @ 8271E6A
+VerdanturfTown_EventScript_271E6A:: @ 8271E6A
+ msgbox gUnknown_08272B6A, 3
+ end
+
+BattleFrontier_OutsideEast_EventScript_271E73:: @ 8271E73
+DewfordTown_EventScript_271E73:: @ 8271E73
+EverGrandeCity_EventScript_271E73:: @ 8271E73
+FallarborTown_EventScript_271E73:: @ 8271E73
+FortreeCity_EventScript_271E73:: @ 8271E73
+LavaridgeTown_EventScript_271E73:: @ 8271E73
+LilycoveCity_EventScript_271E73:: @ 8271E73
+MauvilleCity_EventScript_271E73:: @ 8271E73
+MossdeepCity_EventScript_271E73:: @ 8271E73
+OldaleTown_EventScript_271E73:: @ 8271E73
+PacifidlogTown_EventScript_271E73:: @ 8271E73
+PetalburgCity_EventScript_271E73:: @ 8271E73
+RustboroCity_EventScript_271E73:: @ 8271E73
+SlateportCity_EventScript_271E73:: @ 8271E73
+SootopolisCity_EventScript_271E73:: @ 8271E73
+VerdanturfTown_EventScript_271E73:: @ 8271E73
+ msgbox gUnknown_08272B9E, 3
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_271E7C:: @ 8271E7C
+DewfordTown_EventScript_271E7C:: @ 8271E7C
+LilycoveCity_ContestLobby_EventScript_271E7C:: @ 8271E7C
+LilycoveCity_PokemonTrainerFanClub_EventScript_271E7C:: @ 8271E7C
+MauvilleCity_PokemonCenter_1F_EventScript_271E7C:: @ 8271E7C
+PetalburgCity_PokemonCenter_1F_EventScript_271E7C:: @ 8271E7C
+Route111_EventScript_271E7C:: @ 8271E7C
+Route123_BerryMastersHouse_EventScript_271E7C:: @ 8271E7C
+SlateportCity_OceanicMuseum_1F_EventScript_271E7C:: @ 8271E7C
+SlateportCity_PokemonFanClub_EventScript_271E7C:: @ 8271E7C
+ fadescreen 1
+ special easy_chat_input_maybe
+ fadescreen 0
+ return
+
+DewfordTown_Gym_EventScript_271E84:: @ 8271E84
+LavaridgeTown_Gym_1F_EventScript_271E84:: @ 8271E84
+MauvilleCity_Gym_EventScript_271E84:: @ 8271E84
+RustboroCity_Gym_EventScript_271E84:: @ 8271E84
+ clearflag FLAG_0x30D
+ setflag FLAG_0x128
+ return
+
+DewfordTown_EventScript_271E8B:: @ 8271E8B
+DewfordTown_Hall_EventScript_271E8B:: @ 8271E8B
+ dodailyevents
+ setvar VAR_0x8004, 0
+ special sub_8122998
+ return
+
+DewfordTown_EventScript_271E95:: @ 8271E95
+Route104_MrBrineysHouse_EventScript_271E95:: @ 8271E95
+Route109_EventScript_271E95:: @ 8271E95
+ copyvar VAR_0x8008, VAR_0x4096
+ setvar VAR_0x4096, 0
+ return
+
+EventScript_271EA0:: @ 8271EA0
+ checkpartymove MOVE_SURF
+ compare_var_to_value VAR_RESULT, 6
+ goto_eq EventScript_271ED6
+ bufferpartymonnick 0, VAR_RESULT
+ setfieldeffectargument 0, VAR_RESULT
+ lockall
+ msgbox gUnknown_08272FD6, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_271ED5
+ msgbox gUnknown_0827300D, 4
+ dofieldeffect 9
+
+EventScript_271ED5:: @ 8271ED5
+ releaseall
+
+EventScript_271ED6:: @ 8271ED6
+ end
+
+EverGrandeCity_ChampionsRoom_EventScript_271ED7:: @ 8271ED7
+LavaridgeTown_EventScript_271ED7:: @ 8271ED7
+LilycoveCity_EventScript_271ED7:: @ 8271ED7
+LittlerootTown_EventScript_271ED7:: @ 8271ED7
+LittlerootTown_ProfessorBirchsLab_EventScript_271ED7:: @ 8271ED7
+OldaleTown_EventScript_271ED7:: @ 8271ED7
+Route103_EventScript_271ED7:: @ 8271ED7
+Route104_EventScript_271ED7:: @ 8271ED7
+Route110_EventScript_271ED7:: @ 8271ED7
+Route119_EventScript_271ED7:: @ 8271ED7
+RustboroCity_EventScript_271ED7:: @ 8271ED7
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq RustboroCity_EventScript_271EEF
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq RustboroCity_EventScript_271EF5
+ end
+
+RustboroCity_EventScript_271EEF:: @ 8271EEF
+ setvar VAR_0x4010, 105
+ return
+
+RustboroCity_EventScript_271EF5:: @ 8271EF5
+ setvar VAR_0x4010, 100
+ return
+
+LavaridgeTown_EventScript_271EFB:: @ 8271EFB
+Route110_EventScript_271EFB:: @ 8271EFB
+Route119_EventScript_271EFB:: @ 8271EFB
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LavaridgeTown_EventScript_271F13
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LavaridgeTown_EventScript_271F19
+ end
+
+LavaridgeTown_EventScript_271F13:: @ 8271F13
+ setvar VAR_0x4013, 106
+ return
+
+LavaridgeTown_EventScript_271F19:: @ 8271F19
+ setvar VAR_0x4013, 101
+ return
+
+EventScript_271F1F:: @ 8271F1F
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_271F37
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq EventScript_271F3D
+ end
+
+EventScript_271F37:: @ 8271F37
+ setvar VAR_0x4010, 100
+ return
+
+EventScript_271F3D:: @ 8271F3D
+ setvar VAR_0x4010, 105
+ return
+
+DewfordTown_Gym_EventScript_271F43:: @ 8271F43
+FortreeCity_Gym_EventScript_271F43:: @ 8271F43
+LavaridgeTown_Gym_1F_EventScript_271F43:: @ 8271F43
+MauvilleCity_Gym_EventScript_271F43:: @ 8271F43
+MossdeepCity_Gym_EventScript_271F43:: @ 8271F43
+PetalburgCity_Gym_EventScript_271F43:: @ 8271F43
+RustboroCity_Gym_EventScript_271F43:: @ 8271F43
+SootopolisCity_Gym_1F_EventScript_271F43:: @ 8271F43
+ switch VAR_0x8008
+ case 1, DewfordTown_Gym_EventScript_271FA1
+ case 2, DewfordTown_Gym_EventScript_271FAB
+ case 3, DewfordTown_Gym_EventScript_271FBE
+ case 4, DewfordTown_Gym_EventScript_271FCE
+ case 5, DewfordTown_Gym_EventScript_271FE7
+ case 6, DewfordTown_Gym_EventScript_271FFD
+ case 7, DewfordTown_Gym_EventScript_272010
+ case 8, DewfordTown_Gym_EventScript_272035
+ end
+
+DewfordTown_Gym_EventScript_271FA1:: @ 8271FA1
+ settrainerflag TRAINER_JOSH
+ settrainerflag TRAINER_TOMMY
+ settrainerflag TRAINER_MARC
+ return
+
+DewfordTown_Gym_EventScript_271FAB:: @ 8271FAB
+ settrainerflag TRAINER_TAKAO
+ settrainerflag TRAINER_JOCELYN
+ settrainerflag TRAINER_LAURA
+ settrainerflag TRAINER_BRENDEN
+ settrainerflag TRAINER_CRISTIAN
+ settrainerflag TRAINER_LILITH
+ return
+
+DewfordTown_Gym_EventScript_271FBE:: @ 8271FBE
+ settrainerflag TRAINER_KIRK
+ settrainerflag TRAINER_SHAWN
+ settrainerflag TRAINER_BEN
+ settrainerflag TRAINER_VIVIAN
+ settrainerflag TRAINER_ANGELO
+ return
+
+DewfordTown_Gym_EventScript_271FCE:: @ 8271FCE
+ settrainerflag TRAINER_COLE
+ settrainerflag TRAINER_AXLE
+ settrainerflag TRAINER_KEEGAN
+ settrainerflag TRAINER_GERALD
+ settrainerflag TRAINER_DANIELLE
+ settrainerflag TRAINER_JACE
+ settrainerflag TRAINER_JEFF
+ settrainerflag TRAINER_ELI
+ return
+
+DewfordTown_Gym_EventScript_271FE7:: @ 8271FE7
+ settrainerflag TRAINER_RANDALL
+ settrainerflag TRAINER_PARKER
+ settrainerflag TRAINER_GEORGE
+ settrainerflag TRAINER_BERKE
+ settrainerflag TRAINER_MARY
+ settrainerflag TRAINER_ALEXIA
+ settrainerflag TRAINER_JODY
+ return
+
+DewfordTown_Gym_EventScript_271FFD:: @ 8271FFD
+ settrainerflag TRAINER_JARED
+ settrainerflag TRAINER_FLINT
+ settrainerflag TRAINER_ASHLEY
+ settrainerflag TRAINER_EDWARDO
+ settrainerflag TRAINER_HUMBERTO
+ settrainerflag TRAINER_DARIUS
+ return
+
+DewfordTown_Gym_EventScript_272010:: @ 8272010
+ settrainerflag TRAINER_PRESTON
+ settrainerflag TRAINER_VIRGIL
+ settrainerflag TRAINER_BLAKE
+ settrainerflag TRAINER_HANNAH
+ settrainerflag TRAINER_SAMANTHA
+ settrainerflag TRAINER_MAURA
+ settrainerflag TRAINER_SYLVIA
+ settrainerflag TRAINER_NATE
+ settrainerflag TRAINER_KATHLEEN
+ settrainerflag TRAINER_CLIFFORD
+ settrainerflag TRAINER_MACEY
+ settrainerflag TRAINER_NICHOLAS
+ return
+
+DewfordTown_Gym_EventScript_272035:: @ 8272035
+ settrainerflag TRAINER_ANDREA
+ settrainerflag TRAINER_CRISSY
+ settrainerflag TRAINER_BRIANNA
+ settrainerflag TRAINER_CONNIE
+ settrainerflag TRAINER_BRIDGET
+ settrainerflag TRAINER_OLIVIA
+ settrainerflag TRAINER_TIFFANY
+ settrainerflag TRAINER_BETHANY
+ settrainerflag TRAINER_ANNIKA
+ settrainerflag TRAINER_DAPHNE
+ return
+
+DewfordTown_Gym_EventScript_272054:: @ 8272054
+DewfordTown_Hall_EventScript_272054:: @ 8272054
+FallarborTown_House1_EventScript_272054:: @ 8272054
+FortreeCity_Gym_EventScript_272054:: @ 8272054
+FortreeCity_House2_EventScript_272054:: @ 8272054
+FortreeCity_House4_EventScript_272054:: @ 8272054
+LavaridgeTown_Gym_1F_EventScript_272054:: @ 8272054
+LavaridgeTown_HerbShop_EventScript_272054:: @ 8272054
+LilycoveCity_EventScript_272054:: @ 8272054
+LilycoveCity_House2_EventScript_272054:: @ 8272054
+LittlerootTown_BrendansHouse_1F_EventScript_272054:: @ 8272054
+MauvilleCity_EventScript_272054:: @ 8272054
+MauvilleCity_Gym_EventScript_272054:: @ 8272054
+MossdeepCity_EventScript_272054:: @ 8272054
+MossdeepCity_Gym_EventScript_272054:: @ 8272054
+MossdeepCity_SpaceCenter_1F_EventScript_272054:: @ 8272054
+MtPyre_1F_EventScript_272054:: @ 8272054
+PacifidlogTown_House2_EventScript_272054:: @ 8272054
+PetalburgCity_Gym_EventScript_272054:: @ 8272054
+PetalburgWoods_EventScript_272054:: @ 8272054
+Route104_EventScript_272054:: @ 8272054
+Route104_PrettyPetalFlowerShop_EventScript_272054:: @ 8272054
+Route109_EventScript_272054:: @ 8272054
+Route111_EventScript_272054:: @ 8272054
+Route111_WinstrateFamilysHouse_EventScript_272054:: @ 8272054
+Route114_EventScript_272054:: @ 8272054
+Route114_FossilManiacsHouse_EventScript_272054:: @ 8272054
+Route120_EventScript_272054:: @ 8272054
+Route123_BerryMastersHouse_EventScript_272054:: @ 8272054
+Route123_EventScript_272054:: @ 8272054
+RustboroCity_DevonCorp_3F_EventScript_272054:: @ 8272054
+RustboroCity_Flat2_2F_EventScript_272054:: @ 8272054
+RustboroCity_Gym_EventScript_272054:: @ 8272054
+RustboroCity_PokemonSchool_EventScript_272054:: @ 8272054
+SSTidalRooms_EventScript_272054:: @ 8272054
+ShoalCave_LowTideEntranceRoom_EventScript_272054:: @ 8272054
+ShoalCave_LowTideInnerRoom_EventScript_272054:: @ 8272054
+ShoalCave_LowTideLowerRoom_EventScript_272054:: @ 8272054
+ShoalCave_LowTideStairsRoom_EventScript_272054:: @ 8272054
+SlateportCity_BattleTentLobby_EventScript_272054:: @ 8272054
+SlateportCity_Harbor_EventScript_272054:: @ 8272054
+SlateportCity_PokemonFanClub_EventScript_272054:: @ 8272054
+SootopolisCity_EventScript_272054:: @ 8272054
+SootopolisCity_Gym_1F_EventScript_272054:: @ 8272054
+SootopolisCity_House1_EventScript_272054:: @ 8272054
+VerdanturfTown_BattleTentLobby_EventScript_272054:: @ 8272054
+ msgbox gUnknown_08272AD0, 4
+ release
+ end
+
+DewfordTown_Gym_EventScript_27205E:: @ 827205E
+FortreeCity_Gym_EventScript_27205E:: @ 827205E
+LavaridgeTown_Gym_1F_EventScript_27205E:: @ 827205E
+LilycoveCity_ContestLobby_EventScript_27205E:: @ 827205E
+LinkContestRoom1_EventScript_27205E:: @ 827205E
+MauvilleCity_GameCorner_EventScript_27205E:: @ 827205E
+MauvilleCity_Gym_EventScript_27205E:: @ 827205E
+MossdeepCity_Gym_EventScript_27205E:: @ 827205E
+PetalburgCity_Gym_EventScript_27205E:: @ 827205E
+Route110_TrickHouseEnd_EventScript_27205E:: @ 827205E
+Route110_TrickHouseEntrance_EventScript_27205E:: @ 827205E
+Route113_GlassWorkshop_EventScript_27205E:: @ 827205E
+SootopolisCity_Gym_1F_EventScript_27205E:: @ 827205E
+ msgbox gUnknown_08272AD0, 4
+ return
+
+Route114_LanettesHouse_EventScript_272067:: @ 8272067
+ msgbox gUnknown_08272B1A, 4
+ release
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_272071:: @ 8272071
+MauvilleCity_GameCorner_EventScript_272071:: @ 8272071
+Route110_TrickHouseEnd_EventScript_272071:: @ 8272071
+Route110_TrickHouseEntrance_EventScript_272071:: @ 8272071
+Route113_GlassWorkshop_EventScript_272071:: @ 8272071
+ msgbox gUnknown_08272B1A, 4
+ return
+
+EverGrandeCity_EventScript_27207A:: @ 827207A
+LilycoveCity_EventScript_27207A:: @ 827207A
+MossdeepCity_EventScript_27207A:: @ 827207A
+Route124_EventScript_27207A:: @ 827207A
+Route125_EventScript_27207A:: @ 827207A
+Route126_EventScript_27207A:: @ 827207A
+Route127_EventScript_27207A:: @ 827207A
+Route128_EventScript_27207A:: @ 827207A
+Route129_EventScript_27207A:: @ 827207A
+Route130_EventScript_27207A:: @ 827207A
+Route131_EventScript_27207A:: @ 827207A
+SkyPillar_Outside_EventScript_27207A:: @ 827207A
+SootopolisCity_EventScript_27207A:: @ 827207A
+ setweather 15
+ return
+
+DewfordTown_Gym_EventScript_27207E:: @ 827207E
+FortreeCity_Gym_EventScript_27207E:: @ 827207E
+LavaridgeTown_Gym_1F_EventScript_27207E:: @ 827207E
+LilycoveCity_CoveLilyMotel_2F_EventScript_27207E:: @ 827207E
+MauvilleCity_Gym_EventScript_27207E:: @ 827207E
+MossdeepCity_Gym_EventScript_27207E:: @ 827207E
+PetalburgCity_Gym_EventScript_27207E:: @ 827207E
+RustboroCity_Gym_EventScript_27207E:: @ 827207E
+SootopolisCity_Gym_1F_EventScript_27207E:: @ 827207E
+ playfanfare BGM_ME_BACHI
+ waitfanfare
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_272083:: @ 8272083
+Route111_OldLadysRestStop_EventScript_272083:: @ 8272083
+Route119_WeatherInstitute_1F_EventScript_272083:: @ 8272083
+RustboroCity_DevonCorp_3F_EventScript_272083:: @ 8272083
+SSTidalRooms_EventScript_272083:: @ 8272083
+ fadescreen 1
+ playfanfare BGM_ME_ASA
+ waitfanfare
+ special sp000_heal_pokemon
+ fadescreen 0
+ return
+
+EventScript_27208F:: @ 827208F
+ lockall
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F8820, 4
+ fadescreen 1
+ special sub_8138C94
+ waitstate
+ releaseall
+ end
+
+DewfordTown_EventScript_2720A0:: @ 82720A0
+Route104_EventScript_2720A0:: @ 82720A0
+Route109_EventScript_2720A0:: @ 82720A0
+ setflag FLAG_SPECIAL_FLAG_0x4001
+ playbgm BGM_M_BOAT, 0
+ return
+
+DewfordTown_EventScript_2720A8:: @ 82720A8
+Route104_EventScript_2720A8:: @ 82720A8
+Route109_EventScript_2720A8:: @ 82720A8
+ clearflag FLAG_SPECIAL_FLAG_0x4001
+ fadedefaultbgm
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_2720AD:: @ 82720AD
+Route101_EventScript_2720AD:: @ 82720AD
+Route103_EventScript_2720AD:: @ 82720AD
+ compare_var_to_value VAR_0x4085, 0
+ goto_eq Route101_EventScript_27374E
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_eq Route101_EventScript_27211A
+ compare_var_to_value VAR_BIRCH_STATE, 0
+ call_if 1, Route101_EventScript_27211A
+ compare_var_to_value VAR_BIRCH_STATE, 1
+ call_if 1, Route101_EventScript_27211A
+ compare_var_to_value VAR_BIRCH_STATE, 2
+ call_if 1, Route101_EventScript_272127
+ compare_var_to_value VAR_BIRCH_STATE, 3
+ call_if 1, Route101_EventScript_272127
+ compare_var_to_value VAR_BIRCH_STATE, 4
+ call_if 1, Route101_EventScript_272134
+ compare_var_to_value VAR_BIRCH_STATE, 5
+ call_if 1, Route101_EventScript_272134
+ compare_var_to_value VAR_BIRCH_STATE, 6
+ call_if 1, Route101_EventScript_27211A
+ compare_var_to_value VAR_BIRCH_STATE, 7
+ call_if 1, Route101_EventScript_27211A
+ return
+
+Route101_EventScript_27211A:: @ 827211A
+ clearflag FLAG_0x2D1
+ clearflag FLAG_0x380
+ setflag FLAG_0x381
+ setflag FLAG_0x382
+ return
+
+Route101_EventScript_272127:: @ 8272127
+ clearflag FLAG_0x381
+ setflag FLAG_0x2D1
+ setflag FLAG_0x380
+ setflag FLAG_0x382
+ return
+
+Route101_EventScript_272134:: @ 8272134
+ clearflag FLAG_0x382
+ setflag FLAG_0x381
+ setflag FLAG_0x2D1
+ setflag FLAG_0x380
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_272141:: @ 8272141
+Route101_EventScript_272141:: @ 8272141
+Route103_EventScript_272141:: @ 8272141
+ lock
+ faceplayer
+ checkflag FLAG_0x12F
+ goto_if 0, Route101_EventScript_272155
+ checkflag FLAG_0x119
+ goto_if 0, Route101_EventScript_1FA2D2
+
+Route101_EventScript_272155:: @ 8272155
+ msgbox gUnknown_082A5C9C, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route101_EventScript_27216F
+ call Route101_EventScript_272184
+ release
+ end
+
+Route101_EventScript_27216F:: @ 827216F
+ msgbox Route101_Text_2A5CEB, 4
+ release
+ end
+
+Route101_EventScript_272179:: @ 8272179
+ copyvar VAR_0x8004, VAR_0x8009
+ special sub_8137C10
+ waitmessage
+ waitbuttonpress
+ return
+
+EverGrandeCity_ChampionsRoom_EventScript_272184:: @ 8272184
+Route101_EventScript_272184:: @ 8272184
+ setvar VAR_0x8004, 0
+ specialvar VAR_RESULT, sub_8137A4C
+ copyvar VAR_0x8008, VAR_0x8005
+ copyvar VAR_0x8009, VAR_0x8006
+ copyvar VAR_0x800A, VAR_RESULT
+ buffernumberstring 0, VAR_0x8008
+ buffernumberstring 1, VAR_0x8009
+ msgbox gUnknown_082A5D2C, 4
+ call Route101_EventScript_272179
+ compare_var_to_value VAR_0x800A, 0
+ goto_eq Route101_EventScript_27374E
+ setvar VAR_0x8004, 1
+ specialvar VAR_RESULT, sub_8137A4C
+ copyvar VAR_0x8008, VAR_0x8005
+ copyvar VAR_0x8009, VAR_0x8006
+ buffernumberstring 0, VAR_0x8008
+ buffernumberstring 1, VAR_0x8009
+ msgbox gUnknown_082A633D, 4
+ return
+
+BattleFrontier_OutsideWest_EventScript_2721E2:: @ 82721E2
+LilycoveCity_Harbor_EventScript_2721E2:: @ 82721E2
+SlateportCity_Harbor_EventScript_2721E2:: @ 82721E2
+ delay 60
+ applymovement VAR_0x8004, SlateportCity_Harbor_Movement_2721F0
+ waitmovement 0
+ return
+
+SlateportCity_Harbor_Movement_2721F0: @ 82721F0
+ slow_step_right
+ slow_step_right
+ slow_step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+PetalburgCity_Gym_EventScript_2721F8:: @ 82721F8
+ setflag FLAG_0x2E4
+ setflag FLAG_0x2E7
+ setflag FLAG_0x2E5
+ setflag FLAG_0x2E8
+ setflag FLAG_0x2E2
+ setflag FLAG_0x2E6
+ setflag FLAG_0x2E3
+ setflag FLAG_0x371
+ setvar VAR_0x4096, 0
+ return
+
+RusturfTunnel_EventScript_272216:: @ 8272216
+ removeobject 1
+ removeobject 10
+ clearflag FLAG_0x328
+ clearflag FLAG_0x3D8
+ setvar VAR_0x409A, 6
+ setflag FLAG_0x0C7
+ return
+
+EventScript_27222B:: @ 827222B
+ delay 30
+ applymovement 255, PetalburgCity_Movement_2725A6
+ waitmovement 0
+ showobjectat 255, PETALBURG_CITY
+ delay 30
+ applymovement 255, Movement_27224E
+ waitmovement 0
+ delay 30
+ return
+
+Movement_27224E: @ 827224E
+ step_up
+ step_end
+
+BattleFrontier_OutsideWest_EventScript_272250:: @ 8272250
+BirthIsland_Harbor_EventScript_272250:: @ 8272250
+FarawayIsland_Entrance_EventScript_272250:: @ 8272250
+NavelRock_Harbor_EventScript_272250:: @ 8272250
+SouthernIsland_Exterior_EventScript_272250:: @ 8272250
+ compare_var_to_value VAR_FACING, 1
+ call_if 1, BattleFrontier_OutsideWest_EventScript_242A21
+ compare_var_to_value VAR_FACING, 3
+ call_if 1, BattleFrontier_OutsideWest_EventScript_242A2C
+ delay 30
+ hideobjectat 255, PETALBURG_CITY
+ call BattleFrontier_OutsideWest_EventScript_2721E2
+ return
+
+EventScript_272274:: @ 8272274
+ lockall
+ waitse
+ playmoncry SPECIES_KYOGRE, 2
+ waitmoncry
+ setvar VAR_0x4005, 1
+ releaseall
+ end
+
+EventScript_272283:: @ 8272283
+ lockall
+ setvar VAR_0x4001, 1
+ goto EventScript_2722A7
+ end
+
+EventScript_27228F:: @ 827228F
+ lockall
+ setvar VAR_0x4002, 1
+ goto EventScript_2722A7
+ end
+
+EventScript_27229B:: @ 827229B
+ lockall
+ setvar VAR_0x4003, 1
+ goto EventScript_2722A7
+ end
+
+EventScript_2722A7:: @ 82722A7
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 8
+ setvar VAR_0x8007, 5
+ special sub_8139560
+ waitstate
+ releaseall
+ end
+
+CaveOfOrigin_1F_EventScript_2722C1:: @ 82722C1
+CaveOfOrigin_UnusedRubySapphireMap1_EventScript_2722C1:: @ 82722C1
+CaveOfOrigin_UnusedRubySapphireMap2_EventScript_2722C1:: @ 82722C1
+CaveOfOrigin_UnusedRubySapphireMap3_EventScript_2722C1:: @ 82722C1
+ setvar VAR_0x4001, 1
+ setvar VAR_0x4002, 1
+ setvar VAR_0x4003, 1
+ setvar VAR_0x4004, 1
+ setvar VAR_0x4005, 1
+ return
+
+Route120_EventScript_2722DB:: @ 82722DB
+ lock
+ faceplayer
+ setvar VAR_0x8009, 1
+ goto Route120_EventScript_272336
+ end
+
+Route120_EventScript_2722E8:: @ 82722E8
+ lock
+ faceplayer
+ setvar VAR_0x8009, 2
+ goto Route120_EventScript_272336
+ end
+
+Route120_EventScript_2722F5:: @ 82722F5
+ lock
+ faceplayer
+ setvar VAR_0x8009, 3
+ goto Route120_EventScript_272336
+ end
+
+Route120_EventScript_272302:: @ 8272302
+ lock
+ faceplayer
+ setvar VAR_0x8009, 4
+ goto Route120_EventScript_272336
+ end
+
+Route120_EventScript_27230F:: @ 827230F
+ lock
+ faceplayer
+ setvar VAR_0x8009, 5
+ goto Route120_EventScript_272336
+ end
+
+Route119_EventScript_27231C:: @ 827231C
+ lock
+ faceplayer
+ setvar VAR_0x8009, 6
+ goto Route119_EventScript_272336
+ end
+
+Route119_EventScript_272329:: @ 8272329
+ lock
+ faceplayer
+ setvar VAR_0x8009, 7
+ goto Route119_EventScript_272336
+ end
+
+Route119_EventScript_272336:: @ 8272336
+Route120_EventScript_272336:: @ 8272336
+ checkitem ITEM_DEVON_SCOPE, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route119_EventScript_272350
+ msgbox Route119_Text_1F5D00, 4
+ release
+ end
+
+Route119_EventScript_272350:: @ 8272350
+ msgbox Route119_Text_1F5D23, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route119_EventScript_272365
+ release
+ end
+
+Route119_EventScript_272365:: @ 8272365
+ msgbox Route119_Text_1F5D63, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, Route119_Movement_27259E
+ waitmovement 0
+ applymovement VAR_LAST_TALKED, Route119_Movement_2723C7
+ waitmovement 0
+ waitse
+ playmoncry SPECIES_KECLEON, 2
+ delay 40
+ waitmoncry
+ setwildbattle SPECIES_KECLEON, 30, ITEM_NONE
+ setflag FLAG_SYS_CTRL_OBJ_DELETE
+ dowildbattle
+ clearflag FLAG_SYS_CTRL_OBJ_DELETE
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route119_EventScript_2723C1
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq Route119_EventScript_2723C1
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq Route119_EventScript_2723C1
+ release
+ end
+
+Route119_EventScript_2723C1:: @ 82723C1
+ goto Route119_EventScript_27376D
+ end
+
+FortreeCity_Movement_2723C7: @ 82723C7
+Route119_Movement_2723C7: @ 82723C7
+Route120_Movement_2723C7: @ 82723C7
+ step_55
+ step_12
+ step_54
+ step_12
+ step_55
+ step_12
+ step_54
+ step_12
+ step_55
+ step_13
+ step_54
+ step_13
+ step_55
+ step_13
+ step_54
+ step_13
+ step_55
+ step_14
+ step_54
+ step_14
+ step_55
+ step_end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_2723DD:: @ 82723DD
+MossdeepCity_StevensHouse_EventScript_2723DD:: @ 82723DD
+Route119_WeatherInstitute_2F_EventScript_2723DD:: @ 82723DD
+RustboroCity_DevonCorp_2F_EventScript_2723DD:: @ 82723DD
+SlateportCity_House1_EventScript_2723DD:: @ 82723DD
+ fadescreen 1
+ special ChangePokemonNickname
+ waitstate
+ return
+
+FallarborTown_House1_EventScript_2723E4:: @ 82723E4
+GraniteCave_StevensRoom_EventScript_2723E4:: @ 82723E4
+SlateportCity_OceanicMuseum_2F_EventScript_2723E4:: @ 82723E4
+ bufferitemname 0, VAR_0x8004
+ playfanfare BGM_ME_WAZA
+ message gUnknown_08273161
+ waitmessage
+ waitfanfare
+ takeitem VAR_0x8004, 1
+ return
+
+EverGrandeCity_DrakesRoom_EventScript_2723F8:: @ 82723F8
+EverGrandeCity_GlaciasRoom_EventScript_2723F8:: @ 82723F8
+EverGrandeCity_PhoebesRoom_EventScript_2723F8:: @ 82723F8
+EverGrandeCity_SidneysRoom_EventScript_2723F8:: @ 82723F8
+ applymovement 255, EverGrandeCity_SidneysRoom_Movement_2725C6
+ waitmovement 0
+ playse SE_DOOR
+ setmetatile 6, 1, 836, 0
+ setmetatile 6, 2, 837, 0
+ setmetatile 0, 2, 734, 1
+ setmetatile 1, 2, 733, 1
+ setmetatile 2, 2, 734, 1
+ setmetatile 3, 2, 733, 1
+ setmetatile 4, 2, 734, 1
+ setmetatile 8, 2, 733, 1
+ setmetatile 9, 2, 734, 1
+ setmetatile 10, 2, 733, 1
+ setmetatile 11, 2, 734, 1
+ setmetatile 12, 2, 733, 1
+ special DrawWholeMapView
+ return
+
+EverGrandeCity_DrakesRoom_EventScript_272475:: @ 8272475
+EverGrandeCity_GlaciasRoom_EventScript_272475:: @ 8272475
+EverGrandeCity_PhoebesRoom_EventScript_272475:: @ 8272475
+EverGrandeCity_SidneysRoom_EventScript_272475:: @ 8272475
+ applymovement 255, EverGrandeCity_SidneysRoom_Movement_2725BA
+ waitmovement 0
+ playse SE_TRACK_DOOR
+ setmetatile 5, 12, 518, 1
+ setmetatile 6, 12, 518, 1
+ setmetatile 7, 12, 518, 1
+ setmetatile 5, 13, 526, 1
+ setmetatile 6, 13, 526, 1
+ setmetatile 7, 13, 526, 1
+ special DrawWholeMapView
+ return
+
+EverGrandeCity_DrakesRoom_EventScript_2724BC:: @ 82724BC
+EverGrandeCity_GlaciasRoom_EventScript_2724BC:: @ 82724BC
+EverGrandeCity_PhoebesRoom_EventScript_2724BC:: @ 82724BC
+EverGrandeCity_SidneysRoom_EventScript_2724BC:: @ 82724BC
+ setmetatile 6, 1, 836, 0
+ setmetatile 6, 2, 837, 0
+ setmetatile 5, 12, 518, 1
+ setmetatile 6, 12, 518, 1
+ setmetatile 7, 12, 518, 1
+ setmetatile 5, 13, 526, 1
+ setmetatile 6, 13, 526, 1
+ setmetatile 7, 13, 526, 1
+ setmetatile 0, 2, 734, 1
+ setmetatile 1, 2, 733, 1
+ setmetatile 2, 2, 734, 1
+ setmetatile 3, 2, 733, 1
+ setmetatile 4, 2, 734, 1
+ setmetatile 8, 2, 733, 1
+ setmetatile 9, 2, 734, 1
+ setmetatile 10, 2, 733, 1
+ setmetatile 11, 2, 734, 1
+ setmetatile 12, 2, 733, 1
+ return
+
+EverGrandeCity_DrakesRoom_EventScript_27255F:: @ 827255F
+EverGrandeCity_GlaciasRoom_EventScript_27255F:: @ 827255F
+EverGrandeCity_PhoebesRoom_EventScript_27255F:: @ 827255F
+EverGrandeCity_SidneysRoom_EventScript_27255F:: @ 827255F
+ setmetatile 5, 12, 518, 1
+ setmetatile 6, 12, 518, 1
+ setmetatile 7, 12, 518, 1
+ setmetatile 5, 13, 526, 1
+ setmetatile 6, 13, 526, 1
+ setmetatile 7, 13, 526, 1
+ return
+
+SlateportCity_Movement_272596: @ 8272596
+ step_57
+ step_end
+
+AquaHideout_B2F_Movement_272598: @ 8272598
+BattleFrontier_BattleTowerBattleRoom_Movement_272598: @ 8272598
+BattleFrontier_ReceptionGate_Movement_272598: @ 8272598
+CaveOfOrigin_B1F_Movement_272598: @ 8272598
+EverGrandeCity_ChampionsRoom_Movement_272598: @ 8272598
+FarawayIsland_Interior_Movement_272598: @ 8272598
+JaggedPass_Movement_272598: @ 8272598
+LavaridgeTown_Movement_272598: @ 8272598
+LilycoveCity_ContestLobby_Movement_272598: @ 8272598
+LilycoveCity_CoveLilyMotel_1F_Movement_272598: @ 8272598
+LilycoveCity_Harbor_Movement_272598: @ 8272598
+LittlerootTown_BrendansHouse_1F_Movement_272598: @ 8272598
+LittlerootTown_BrendansHouse_2F_Movement_272598: @ 8272598
+LittlerootTown_MaysHouse_1F_Movement_272598: @ 8272598
+LittlerootTown_MaysHouse_2F_Movement_272598: @ 8272598
+LittlerootTown_Movement_272598: @ 8272598
+MauvilleCity_House2_Movement_272598: @ 8272598
+MauvilleCity_Movement_272598: @ 8272598
+MeteorFalls_1F_1R_Movement_272598: @ 8272598
+MeteorFalls_StevensCave_Movement_272598: @ 8272598
+MossdeepCity_SpaceCenter_2F_Movement_272598: @ 8272598
+MossdeepCity_StevensHouse_Movement_272598: @ 8272598
+MtChimney_Movement_272598: @ 8272598
+MtPyre_Summit_Movement_272598: @ 8272598
+OldaleTown_PokemonCenter_1F_Movement_272598: @ 8272598
+PetalburgCity_Gym_Movement_272598: @ 8272598
+PetalburgCity_Movement_272598: @ 8272598
+Route103_Movement_272598: @ 8272598
+Route104_Movement_272598: @ 8272598
+Route110_Movement_272598: @ 8272598
+Route110_TrickHouseEnd_Movement_272598: @ 8272598
+Route110_TrickHouseEntrance_Movement_272598: @ 8272598
+Route110_TrickHousePuzzle5_Movement_272598: @ 8272598
+Route119_WeatherInstitute_2F_Movement_272598: @ 8272598
+RustboroCity_DevonCorp_2F_Movement_272598: @ 8272598
+RustboroCity_Movement_272598: @ 8272598
+RusturfTunnel_Movement_272598: @ 8272598
+SeafloorCavern_Entrance_Movement_272598: @ 8272598
+SeafloorCavern_Room9_Movement_272598: @ 8272598
+SlateportCity_Movement_272598: @ 8272598
+SlateportCity_OceanicMuseum_1F_Movement_272598: @ 8272598
+SlateportCity_PokemonFanClub_Movement_272598: @ 8272598
+ step_56
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom_Movement_27259A: @ 827259A
+BattleFrontier_ReceptionGate_Movement_27259A: @ 827259A
+CaveOfOrigin_B1F_Movement_27259A: @ 827259A
+EverGrandeCity_ChampionsRoom_Movement_27259A: @ 827259A
+FarawayIsland_Interior_Movement_27259A: @ 827259A
+JaggedPass_Movement_27259A: @ 827259A
+LavaridgeTown_Movement_27259A: @ 827259A
+LilycoveCity_CoveLilyMotel_1F_Movement_27259A: @ 827259A
+LilycoveCity_Harbor_Movement_27259A: @ 827259A
+LittlerootTown_BrendansHouse_1F_Movement_27259A: @ 827259A
+LittlerootTown_BrendansHouse_2F_Movement_27259A: @ 827259A
+LittlerootTown_MaysHouse_1F_Movement_27259A: @ 827259A
+LittlerootTown_MaysHouse_2F_Movement_27259A: @ 827259A
+MauvilleCity_House2_Movement_27259A: @ 827259A
+MauvilleCity_Movement_27259A: @ 827259A
+MeteorFalls_1F_1R_Movement_27259A: @ 827259A
+MeteorFalls_StevensCave_Movement_27259A: @ 827259A
+MossdeepCity_SpaceCenter_2F_Movement_27259A: @ 827259A
+MossdeepCity_StevensHouse_Movement_27259A: @ 827259A
+MtChimney_Movement_27259A: @ 827259A
+MtPyre_Summit_Movement_27259A: @ 827259A
+OldaleTown_PokemonCenter_1F_Movement_27259A: @ 827259A
+PetalburgCity_Gym_Movement_27259A: @ 827259A
+PetalburgCity_Movement_27259A: @ 827259A
+Route103_Movement_27259A: @ 827259A
+Route104_Movement_27259A: @ 827259A
+Route110_Movement_27259A: @ 827259A
+Route110_TrickHouseEntrance_Movement_27259A: @ 827259A
+Route110_TrickHousePuzzle5_Movement_27259A: @ 827259A
+Route119_WeatherInstitute_2F_Movement_27259A: @ 827259A
+RustboroCity_DevonCorp_2F_Movement_27259A: @ 827259A
+RustboroCity_Movement_27259A: @ 827259A
+RusturfTunnel_Movement_27259A: @ 827259A
+SeafloorCavern_Entrance_Movement_27259A: @ 827259A
+SeafloorCavern_Room9_Movement_27259A: @ 827259A
+SlateportCity_Movement_27259A: @ 827259A
+SlateportCity_OceanicMuseum_1F_Movement_27259A: @ 827259A
+SlateportCity_PokemonFanClub_Movement_27259A: @ 827259A
+ step_14
+ step_14
+ step_14
+ step_end
+
+AquaHideout_B2F_Movement_27259E: @ 827259E
+BattleFrontier_BattlePyramidLobby_Movement_27259E: @ 827259E
+BattleFrontier_ScottsHouse_Movement_27259E: @ 827259E
+CaveOfOrigin_B1F_Movement_27259E: @ 827259E
+EverGrandeCity_PokemonLeague_1F_Movement_27259E: @ 827259E
+FallarborTown_House2_Movement_27259E: @ 827259E
+FortreeCity_House4_Movement_27259E: @ 827259E
+JaggedPass_Movement_27259E: @ 827259E
+LilycoveCity_ContestHall_Movement_27259E: @ 827259E
+LilycoveCity_CoveLilyMotel_1F_Movement_27259E: @ 827259E
+LilycoveCity_DepartmentStore_1F_Movement_27259E: @ 827259E
+LilycoveCity_DepartmentStore_5F_Movement_27259E: @ 827259E
+LilycoveCity_Harbor_Movement_27259E: @ 827259E
+LilycoveCity_LilycoveMuseum_1F_Movement_27259E: @ 827259E
+LilycoveCity_LilycoveMuseum_2F_Movement_27259E: @ 827259E
+LilycoveCity_MoveDeletersHouse_Movement_27259E: @ 827259E
+LilycoveCity_Movement_27259E: @ 827259E
+LittlerootTown_BrendansHouse_1F_Movement_27259E: @ 827259E
+LittlerootTown_BrendansHouse_2F_Movement_27259E: @ 827259E
+MagmaHideout_4F_Movement_27259E: @ 827259E
+MauvilleCity_Movement_27259E: @ 827259E
+MeteorFalls_StevensCave_Movement_27259E: @ 827259E
+MossdeepCity_SpaceCenter_2F_Movement_27259E: @ 827259E
+MtChimney_Movement_27259E: @ 827259E
+OldaleTown_Movement_27259E: @ 827259E
+PetalburgCity_Gym_Movement_27259E: @ 827259E
+PetalburgCity_Movement_27259E: @ 827259E
+Route103_Movement_27259E: @ 827259E
+Route104_Movement_27259E: @ 827259E
+Route110_TrickHouseEnd_Movement_27259E: @ 827259E
+Route110_TrickHouseEntrance_Movement_27259E: @ 827259E
+Route110_TrickHousePuzzle5_Movement_27259E: @ 827259E
+Route111_Movement_27259E: @ 827259E
+Route119_Movement_27259E: @ 827259E
+RustboroCity_Flat1_2F_Movement_27259E: @ 827259E
+RustboroCity_Movement_27259E: @ 827259E
+RusturfTunnel_Movement_27259E: @ 827259E
+SeafloorCavern_Room9_Movement_27259E: @ 827259E
+SlateportCity_Movement_27259E: @ 827259E
+SlateportCity_SternsShipyard_1F_Movement_27259E: @ 827259E
+SootopolisCity_Movement_27259E: @ 827259E
+ step_3e
+ step_end
+
+BattleFrontier_OutsideWest_Movement_2725A0: @ 82725A0
+ step_3f
+ step_end
+
+BattleFrontier_Lounge3_Movement_2725A2: @ 82725A2
+BattleFrontier_OutsideWest_Movement_2725A2: @ 82725A2
+EverGrandeCity_PokemonLeague_1F_Movement_2725A2: @ 82725A2
+JaggedPass_Movement_2725A2: @ 82725A2
+LilycoveCity_ContestHall_Movement_2725A2: @ 82725A2
+LilycoveCity_ContestLobby_Movement_2725A2: @ 82725A2
+LilycoveCity_CoveLilyMotel_1F_Movement_2725A2: @ 82725A2
+LilycoveCity_House3_Movement_2725A2: @ 82725A2
+LilycoveCity_LilycoveMuseum_1F_Movement_2725A2: @ 82725A2
+LilycoveCity_Movement_2725A2: @ 82725A2
+LittlerootTown_Movement_2725A2: @ 82725A2
+MauvilleCity_GameCorner_Movement_2725A2: @ 82725A2
+MauvilleCity_Movement_2725A2: @ 82725A2
+MossdeepCity_Movement_2725A2: @ 82725A2
+MossdeepCity_SpaceCenter_1F_Movement_2725A2: @ 82725A2
+MossdeepCity_SpaceCenter_2F_Movement_2725A2: @ 82725A2
+MtChimney_Movement_2725A2: @ 82725A2
+OldaleTown_Movement_2725A2: @ 82725A2
+PetalburgCity_Movement_2725A2: @ 82725A2
+Route109_Movement_2725A2: @ 82725A2
+Route110_Movement_2725A2: @ 82725A2
+Route111_Movement_2725A2: @ 82725A2
+Route111_WinstrateFamilysHouse_Movement_2725A2: @ 82725A2
+Route112_Movement_2725A2: @ 82725A2
+Route119_Movement_2725A2: @ 82725A2
+RustboroCity_DevonCorp_3F_Movement_2725A2: @ 82725A2
+RustboroCity_Movement_2725A2: @ 82725A2
+RusturfTunnel_Movement_2725A2: @ 82725A2
+SlateportCity_Harbor_Movement_2725A2: @ 82725A2
+SlateportCity_Movement_2725A2: @ 82725A2
+SlateportCity_OceanicMuseum_2F_Movement_2725A2: @ 82725A2
+SlateportCity_SternsShipyard_1F_Movement_2725A2: @ 82725A2
+SootopolisCity_Movement_2725A2: @ 82725A2
+VerdanturfTown_Movement_2725A2: @ 82725A2
+ step_4e
+ step_end
+
+AquaHideout_B2F_Movement_2725A4: @ 82725A4
+BattleFrontier_BattleFactoryBattleRoom_Movement_2725A4: @ 82725A4
+BattleFrontier_OutsideWest_Movement_2725A4: @ 82725A4
+BattleFrontier_ScottsHouse_Movement_2725A4: @ 82725A4
+DewfordTown_Hall_Movement_2725A4: @ 82725A4
+EverGrandeCity_ChampionsRoom_Movement_2725A4: @ 82725A4
+EverGrandeCity_HallOfFame_Movement_2725A4: @ 82725A4
+LavaridgeTown_Movement_2725A4: @ 82725A4
+LilycoveCity_Harbor_Movement_2725A4: @ 82725A4
+LilycoveCity_PokemonTrainerFanClub_Movement_2725A4: @ 82725A4
+LittlerootTown_BrendansHouse_1F_Movement_2725A4: @ 82725A4
+LittlerootTown_BrendansHouse_2F_Movement_2725A4: @ 82725A4
+LittlerootTown_MaysHouse_1F_Movement_2725A4: @ 82725A4
+LittlerootTown_MaysHouse_2F_Movement_2725A4: @ 82725A4
+LittlerootTown_Movement_2725A4: @ 82725A4
+LittlerootTown_ProfessorBirchsLab_Movement_2725A4: @ 82725A4
+MeteorFalls_1F_1R_Movement_2725A4: @ 82725A4
+MossdeepCity_SpaceCenter_2F_Movement_2725A4: @ 82725A4
+MossdeepCity_StevensHouse_Movement_2725A4: @ 82725A4
+MtChimney_Movement_2725A4: @ 82725A4
+MtPyre_Summit_Movement_2725A4: @ 82725A4
+OldaleTown_PokemonCenter_1F_Movement_2725A4: @ 82725A4
+PetalburgCity_Gym_Movement_2725A4: @ 82725A4
+PetalburgCity_Movement_2725A4: @ 82725A4
+PetalburgWoods_Movement_2725A4: @ 82725A4
+Route101_Movement_2725A4: @ 82725A4
+Route110_Movement_2725A4: @ 82725A4
+Route110_TrickHouseEnd_Movement_2725A4: @ 82725A4
+Route111_Movement_2725A4: @ 82725A4
+Route112_Movement_2725A4: @ 82725A4
+Route116_Movement_2725A4: @ 82725A4
+Route120_Movement_2725A4: @ 82725A4
+Route128_Movement_2725A4: @ 82725A4
+RustboroCity_Movement_2725A4: @ 82725A4
+SeafloorCavern_Entrance_Movement_2725A4: @ 82725A4
+SeafloorCavern_Room9_Movement_2725A4: @ 82725A4
+SkyPillar_Outside_Movement_2725A4: @ 82725A4
+SlateportCity_Movement_2725A4: @ 82725A4
+SlateportCity_OceanicMuseum_1F_Movement_2725A4: @ 82725A4
+SlateportCity_OceanicMuseum_2F_Movement_2725A4: @ 82725A4
+SootopolisCity_Movement_2725A4: @ 82725A4
+ step_27
+ step_end
+
+BattleFrontier_BattleTowerCorridor2_Movement_2725A6: @ 82725A6
+BattleFrontier_BattleTowerMultiBattleRoom_Movement_2725A6: @ 82725A6
+BattleFrontier_OutsideWest_Movement_2725A6: @ 82725A6
+BattleFrontier_ReceptionGate_Movement_2725A6: @ 82725A6
+BattleFrontier_ScottsHouse_Movement_2725A6: @ 82725A6
+CaveOfOrigin_B1F_Movement_2725A6: @ 82725A6
+DewfordTown_Hall_Movement_2725A6: @ 82725A6
+EverGrandeCity_ChampionsRoom_Movement_2725A6: @ 82725A6
+EverGrandeCity_HallOfFame_Movement_2725A6: @ 82725A6
+LavaridgeTown_Movement_2725A6: @ 82725A6
+LilycoveCity_DepartmentStore_5F_Movement_2725A6: @ 82725A6
+LilycoveCity_Harbor_Movement_2725A6: @ 82725A6
+LittlerootTown_BrendansHouse_1F_Movement_2725A6: @ 82725A6
+LittlerootTown_BrendansHouse_2F_Movement_2725A6: @ 82725A6
+LittlerootTown_MaysHouse_2F_Movement_2725A6: @ 82725A6
+LittlerootTown_Movement_2725A6: @ 82725A6
+LittlerootTown_ProfessorBirchsLab_Movement_2725A6: @ 82725A6
+MagmaHideout_4F_Movement_2725A6: @ 82725A6
+MeteorFalls_1F_1R_Movement_2725A6: @ 82725A6
+MossdeepCity_SpaceCenter_2F_Movement_2725A6: @ 82725A6
+MtPyre_Summit_Movement_2725A6: @ 82725A6
+NewMauville_Entrance_Movement_2725A6: @ 82725A6
+OldaleTown_PokemonCenter_2F_Movement_2725A6: @ 82725A6
+PetalburgCity_Gym_Movement_2725A6: @ 82725A6
+PetalburgCity_Movement_2725A6: @ 82725A6
+PetalburgWoods_Movement_2725A6: @ 82725A6
+Route104_Movement_2725A6: @ 82725A6
+Route110_TrickHouseEnd_Movement_2725A6: @ 82725A6
+Route110_TrickHouseEntrance_Movement_2725A6: @ 82725A6
+Route111_Movement_2725A6: @ 82725A6
+Route114_FossilManiacsTunnel_Movement_2725A6: @ 82725A6
+Route120_Movement_2725A6: @ 82725A6
+Route121_SafariZoneEntrance_Movement_2725A6: @ 82725A6
+Route128_Movement_2725A6: @ 82725A6
+RustboroCity_Movement_2725A6: @ 82725A6
+RusturfTunnel_Movement_2725A6: @ 82725A6
+SeafloorCavern_Entrance_Movement_2725A6: @ 82725A6
+SeafloorCavern_Room9_Movement_2725A6: @ 82725A6
+SlateportCity_BattleTentCorridor_Movement_2725A6: @ 82725A6
+SlateportCity_Harbor_Movement_2725A6: @ 82725A6
+SlateportCity_Movement_2725A6: @ 82725A6
+SlateportCity_OceanicMuseum_2F_Movement_2725A6: @ 82725A6
+SootopolisCity_MysteryEventsHouse_1F_Movement_2725A6: @ 82725A6
+VerdanturfTown_BattleTentBattleRoom_Movement_2725A6: @ 82725A6
+ step_26
+ step_end
+
+BattleFrontier_BattleFactoryBattleRoom_Movement_2725A8: @ 82725A8
+BattleFrontier_BattlePalaceBattleRoom_Movement_2725A8: @ 82725A8
+BattleFrontier_OutsideWest_Movement_2725A8: @ 82725A8
+BattleFrontier_ScottsHouse_Movement_2725A8: @ 82725A8
+DewfordTown_Hall_Movement_2725A8: @ 82725A8
+EverGrandeCity_ChampionsRoom_Movement_2725A8: @ 82725A8
+EverGrandeCity_HallOfFame_Movement_2725A8: @ 82725A8
+LavaridgeTown_Movement_2725A8: @ 82725A8
+LilycoveCity_DepartmentStore_1F_Movement_2725A8: @ 82725A8
+LilycoveCity_PokemonTrainerFanClub_Movement_2725A8: @ 82725A8
+LittlerootTown_BrendansHouse_1F_Movement_2725A8: @ 82725A8
+LittlerootTown_BrendansHouse_2F_Movement_2725A8: @ 82725A8
+LittlerootTown_MaysHouse_1F_Movement_2725A8: @ 82725A8
+LittlerootTown_Movement_2725A8: @ 82725A8
+LittlerootTown_ProfessorBirchsLab_Movement_2725A8: @ 82725A8
+MagmaHideout_4F_Movement_2725A8: @ 82725A8
+MauvilleCity_Movement_2725A8: @ 82725A8
+MossdeepCity_SpaceCenter_1F_Movement_2725A8: @ 82725A8
+MossdeepCity_SpaceCenter_2F_Movement_2725A8: @ 82725A8
+MtPyre_Summit_Movement_2725A8: @ 82725A8
+OldaleTown_Movement_2725A8: @ 82725A8
+PetalburgCity_Gym_Movement_2725A8: @ 82725A8
+PetalburgCity_Movement_2725A8: @ 82725A8
+Route101_Movement_2725A8: @ 82725A8
+Route110_Movement_2725A8: @ 82725A8
+Route110_TrickHouseEnd_Movement_2725A8: @ 82725A8
+Route112_Movement_2725A8: @ 82725A8
+Route116_Movement_2725A8: @ 82725A8
+Route120_Movement_2725A8: @ 82725A8
+Route128_Movement_2725A8: @ 82725A8
+RustboroCity_Movement_2725A8: @ 82725A8
+SSTidalCorridor_Movement_2725A8: @ 82725A8
+SeafloorCavern_Entrance_Movement_2725A8: @ 82725A8
+SkyPillar_Outside_Movement_2725A8: @ 82725A8
+SlateportCity_Harbor_Movement_2725A8: @ 82725A8
+SlateportCity_Movement_2725A8: @ 82725A8
+SlateportCity_OceanicMuseum_1F_Movement_2725A8: @ 82725A8
+SlateportCity_OceanicMuseum_2F_Movement_2725A8: @ 82725A8
+SootopolisCity_Movement_2725A8: @ 82725A8
+VerdanturfTown_BattleTentBattleRoom_Movement_2725A8: @ 82725A8
+ step_28
+ step_end
+
+BattleFrontier_OutsideWest_Movement_2725AA: @ 82725AA
+BattleFrontier_ScottsHouse_Movement_2725AA: @ 82725AA
+BirthIsland_Harbor_Movement_2725AA: @ 82725AA
+DewfordTown_Hall_Movement_2725AA: @ 82725AA
+EverGrandeCity_ChampionsRoom_Movement_2725AA: @ 82725AA
+FarawayIsland_Entrance_Movement_2725AA: @ 82725AA
+LilycoveCity_CoveLilyMotel_1F_Movement_2725AA: @ 82725AA
+LilycoveCity_DepartmentStoreElevator_Movement_2725AA: @ 82725AA
+LilycoveCity_Harbor_Movement_2725AA: @ 82725AA
+LilycoveCity_Movement_2725AA: @ 82725AA
+LilycoveCity_PokemonTrainerFanClub_Movement_2725AA: @ 82725AA
+LittlerootTown_BrendansHouse_1F_Movement_2725AA: @ 82725AA
+LittlerootTown_MaysHouse_1F_Movement_2725AA: @ 82725AA
+LittlerootTown_Movement_2725AA: @ 82725AA
+MauvilleCity_Movement_2725AA: @ 82725AA
+MeteorFalls_1F_1R_Movement_2725AA: @ 82725AA
+MossdeepCity_SpaceCenter_2F_Movement_2725AA: @ 82725AA
+MtPyre_Summit_Movement_2725AA: @ 82725AA
+NavelRock_Harbor_Movement_2725AA: @ 82725AA
+OldaleTown_PokemonCenter_1F_Movement_2725AA: @ 82725AA
+PetalburgCity_Gym_Movement_2725AA: @ 82725AA
+PetalburgCity_Movement_2725AA: @ 82725AA
+PetalburgWoods_Movement_2725AA: @ 82725AA
+Route110_Movement_2725AA: @ 82725AA
+Route110_TrickHouseEnd_Movement_2725AA: @ 82725AA
+Route114_FossilManiacsTunnel_Movement_2725AA: @ 82725AA
+Route119_Movement_2725AA: @ 82725AA
+Route120_Movement_2725AA: @ 82725AA
+Route128_Movement_2725AA: @ 82725AA
+RustboroCity_Movement_2725AA: @ 82725AA
+RustboroCity_PokemonSchool_Movement_2725AA: @ 82725AA
+RusturfTunnel_Movement_2725AA: @ 82725AA
+SeafloorCavern_Entrance_Movement_2725AA: @ 82725AA
+SeafloorCavern_Room9_Movement_2725AA: @ 82725AA
+SkyPillar_Outside_Movement_2725AA: @ 82725AA
+SlateportCity_Harbor_Movement_2725AA: @ 82725AA
+SlateportCity_Movement_2725AA: @ 82725AA
+SlateportCity_OceanicMuseum_2F_Movement_2725AA: @ 82725AA
+SouthernIsland_Exterior_Movement_2725AA: @ 82725AA
+VerdanturfTown_BattleTentBattleRoom_Movement_2725AA: @ 82725AA
+VictoryRoad_1F_Movement_2725AA: @ 82725AA
+ step_25
+ step_end
+
+RustboroCity_Movement_2725AC: @ 82725AC
+ step_03
+ step_end
+
+RustboroCity_Movement_2725AE: @ 82725AE
+ step_02
+ step_end
+
+BattleFrontier_Mart_Movement_2725B0: @ 82725B0
+MeteorFalls_1F_1R_Movement_2725B0: @ 82725B0
+ step_00
+ step_end
+
+MarineCave_End_Movement_2725B2: @ 82725B2
+MtPyre_Summit_Movement_2725B2: @ 82725B2
+Route118_Movement_2725B2: @ 82725B2
+SkyPillar_Top_Movement_2725B2: @ 82725B2
+SlateportCity_Movement_2725B2: @ 82725B2
+TerraCave_End_Movement_2725B2: @ 82725B2
+ step_01
+ step_end
+
+BattleFrontier_BattleDomeBattleRoom_Movement_2725B4: @ 82725B4
+MeteorFalls_1F_1R_Movement_2725B4: @ 82725B4
+ step_1d
+ step_end
+
+BattleFrontier_BattlePalaceBattleRoom_Movement_2725B6: @ 82725B6
+BattleFrontier_BattleTowerBattleRoom_Movement_2725B6: @ 82725B6
+ step_1f
+ step_end
+
+Route121_Movement_2725B8: @ 82725B8
+ step_20
+ step_end
+
+EverGrandeCity_SidneysRoom_Movement_2725BA: @ 82725BA
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+EverGrandeCity_ChampionsRoom_Movement_2725C1: @ 82725C1
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+EverGrandeCity_SidneysRoom_Movement_2725C6: @ 82725C6
+ step_14
+ step_14
+ step_end
+
+Route110_TrickHouseEntrance_Movement_2725C9: @ 82725C9
+ step_up
+ step_end
+
+Movement_2725CB:: @ 82725CB
+ step_up
+ step_up
+ step_end
+
+EventScript_2725CE:: @ 82725CE
+ msgbox Text_2A81E5, 3
+ end
+
+EventScript_2725D7:: @ 82725D7
+ msgbox Text_2A820D, 3
+ end
+
+EventScript_2725E0:: @ 82725E0
+ msgbox Text_2A8232, 3
+ end
+
+EventScript_2725E9:: @ 82725E9
+ msgbox Text_2A8276, 3
+ end
+
+EventScript_2725F2:: @ 82725F2
+ msgbox Text_2A82B3, 3
+ end
+
+EventScript_2725FB:: @ 82725FB
+ msgbox Text_2A82BF, 3
+ end
+
+EventScript_272604:: @ 8272604
+ msgbox Text_2A82F7, 3
+ end
+
+Text_27260D: @ 827260D
+ .string "Would you like to mix records with\n"
+ .string "other TRAINERS?$"
+
+Text_272640: @ 8272640
+ .string "We hope to see you again!$"
-gUnknown_08272604:: @ 8272604
- .incbin "baserom.gba", 0x272604, 0x6b
+Text_27265A: @ 827265A
+ .string "{PLAYER} booted up the PC.$"
gUnknown_0827266F:: @ 827266F
.string "Which PC should be accessed?$"
-
gUnknown_0827268C:: @ 827268C
.string "Accessed SOMEONE’S PC.$"
-
gUnknown_082726A3:: @ 82726A3
.string "POKéMON Storage System opened.$"
-
gUnknown_082726C2:: @ 82726C2
.string "Accessed {PLAYER}’s PC.$"
-
gUnknown_082726D4:: @ 82726D4
.string "Accessed LANETTE’s PC.$"
-
gUnknown_082726EB:: @ 82726EB
.string "Hello, and welcome to\nthe POKéMON CENTER.\pWe restore your tired POKéMON\nto full health.\pWould you like to rest your POKéMON?$"
-
gUnknown_08272768:: @ 8272768
.string "Okay, I’ll take your POKéMON\nfor a few seconds.$"
-
gUnknown_08272798:: @ 8272798
.string "Thank you for waiting.\pWe’ve restored your POKéMON\nto full health.$"
-
gUnknown_082727DB:: @ 82727DB
.string "We hope to see you again!$"
-
gUnknown_082727F5:: @ 82727F5
.string "Hello, and welcome to\nthe POKéMON CENTER.\pWe restore your tired POKéMON\nto full health.\pWould you like to…$"
-
gUnknown_08272860:: @ 8272860
.string "Th-that card…\nCould it be… The GOLD CARD?!\pOh, the gold color is brilliant!\nThe four stars seem to sparkle!\pI’ve seen several TRAINERS with\na SILVER CARD before, but, {PLAYER},\lyou’re the first TRAINER I’ve ever\lseen with a GOLD CARD!\pOkay, {PLAYER}, please allow me\nthe honor of resting your POKéMON!$"
-
gUnknown_08272982:: @ 8272982
.string "I’m delighted to see you, {PLAYER}!\nYou want the usual, am I right?$"
-
gUnknown_082729C0:: @ 82729C0
.string "Okay, I’ll take your POKéMON\nfor a few seconds.$"
-
gUnknown_082729F0:: @ 82729F0
.string "Thank you for waiting.$"
-
gUnknown_08272A07:: @ 8272A07
.string "We hope to see you again!$"
-
gUnknown_08272A21:: @ 8272A21
.string "Welcome!\pHow may I serve you?$"
-
gUnknown_08272A3F:: @ 8272A3F
.string "Please come again!$"
-
gUnknown_08272A52:: @ 8272A52
.string "{PLAYER}{STRING 5}, welcome!\pWhat can I do for you?$"
-
gUnknown_08272A78:: @ 8272A78
.string "Obtained the {STR_VAR_2}!$"
-
gUnknown_08272A89:: @ 8272A89
.string "The BAG is full…$"
-
gUnknown_08272A9A:: @ 8272A9A
.string "{PLAYER} put away the {STR_VAR_2}\nin the {STR_VAR_3} POCKET.$"
-
gUnknown_08272ABF:: @ 8272ABF
.string "{PLAYER} found one {STR_VAR_2}!$"
-
gUnknown_08272AD0:: @ 8272AD0
.string "Too bad!\nThe BAG is full…$"
-
gUnknown_08272AEA:: @ 8272AEA
.string "{PLAYER} put away the {STR_VAR_2}\nin the BAG.$"
-
gUnknown_08272B09:: @ 8272B09
.string "Obtained the {STR_VAR_2}!$"
-
gUnknown_08272B1A:: @ 8272B1A
.string "Too bad! There’s no room left for\nanother {STR_VAR_2}…$"
-
gUnknown_08272B48:: @ 8272B48
.string "The {STR_VAR_2} was transferred\nto the PC.$"
-
gUnknown_08272B6A:: @ 8272B6A
.string "“Selected items for your convenience!”\nPOKéMON MART$"
-
gUnknown_08272B9E:: @ 8272B9E
.string "“Rejuvenate your tired partners!”\nPOKéMON CENTER$"
-
gUnknown_08272BCF:: @ 8272BCF
.string "{STR_VAR_1} might like this program.\n… … … … … … … … … … … … … … … …\pBetter get going!$"
-
gUnknown_08272C1D:: @ 8272C1D
.string "Welcome to LILYCOVE DEPARTMENT STORE.\pWhich floor would you like?$"
-
gUnknown_08272C5F:: @ 8272C5F
.string "The sandstorm is vicious.\nIt’s impossible to keep going.$"
-
gUnknown_08272C98:: @ 8272C98
.string "An item in the BAG can be\nregistered to SELECT for easy use.$"
-
gUnknown_08272CD5:: @ 8272CD5
.string "There’s an e-mail from POKéMON TRAINER\nSCHOOL.\p… … … … … …\pA POKéMON may learn up to four moves.\pA TRAINER’s expertise is tested on the\nmove sets chosen for POKéMON.\p… … … … … …$"
-
gUnknown_08272D87:: @ 8272D87
.string "{PLAYER} booted up the PC.$"
-
gUnknown_08272D9C:: @ 8272D9C
.string "The link was canceled.$"
-
gUnknown_08272DB3:: @ 8272DB3
.string "Want to give a nickname to\nthe {STR_VAR_2} you received?$"
-
gUnknown_08272DE3:: @ 8272DE3
.string "{PLAYER} is out of usable\nPOKéMON!\p{PLAYER} whited out!$"
-
gUnknown_08272E0F:: @ 8272E0F
.string "Registered {STR_VAR_1} {STR_VAR_2}\nin the POKéNAV.$"
-
gUnknown_08272E30:: @ 8272E30
.string "Do you know the TM SECRET POWER?\pOur group, we love the TM SECRET\nPOWER.\pOne of our members will give it to you.\nCome back and show me if you get it.\pWe’ll accept you as a member and sell\nyou good stuff in secrecy.$"
-
gUnknown_08272F07:: @ 8272F07
.string "Your POKéMON may be infected with\nPOKéRUS.\pLittle is known about the POKéRUS\nexcept that they are microscopic life-\lforms that attach to POKéMON.\pWhile infected, POKéMON are said to\ngrow exceptionally well.$"
-
-gUnknown_08272FD6:: @ 8272FD6
- .string "The water is dyed a deep blue…\nWould you like to SURF?$"
-
-
-gUnknown_0827300D:: @ 827300D
- .string "{STR_VAR_1} used SURF!$"
-
+ .include "data/text/surf.inc"
gUnknown_0827301B:: @ 827301B
.string "It sounded as if a door opened\nsomewhere far away.$"
-
gUnknown_0827304E:: @ 827304E
.string "There is a big hole in the wall.$"
-
gUnknown_0827306F:: @ 827306F
.string "I’m terribly sorry.\nThe POKéMON WIRELESS CLUB is\lundergoing adjustments now.$"
-
gUnknown_082730BC:: @ 82730BC
.string "It appears to be undergoing\nadjustments…$"
-
gUnknown_082730E5:: @ 82730E5
.string "I’m terribly sorry. The TRADE CENTER\nis undergoing inspections.$"
-
gUnknown_08273125:: @ 8273125
.string "I’m terribly sorry. The RECORD CORNER\nis under preparation.$"
-
gUnknown_08273161:: @ 8273161
.string "{PLAYER} handed over the\n{STR_VAR_1}.$"
-
gUnknown_08273178:: @ 8273178
.string "Thank you for accessing the\nMYSTERY GIFT System.$"
-
gUnknown_082731A9:: @ 82731A9
.string "{PLAYER} found one {STR_VAR_1}\n{STR_VAR_2}!$"
-
gUnknown_082731BD:: @ 82731BD
.string "The weird tree doesn’t like the\nWAILMER PAIL!\pThe weird tree attacked!$"
-
gUnknown_08273204:: @ 8273204
.string "The {STR_VAR_1} flew away!$"
@@ -406,652 +3275,10782 @@ gText_PkmnBoxSomeonesPCFull:: @ 8273296
gText_PkmnBoxLanettesPCFull:: @ 82732D9
.string "BOX “{STR_VAR_3}” on\nLANETTE’S PC was full.\p{STR_VAR_2} was transferred to\nBOX “{STR_VAR_1}.”$"
-
gUnknown_0827331C:: @ 827331C
.string "There’s no more room for POKéMON!\pThe POKéMON BOXES are full and\ncan’t accept any more!$"
-
gUnknown_08273374:: @ 8273374
.string "Do you want to give a nickname to\nthis {STR_VAR_1}?$"
-
gUnknown_0827339F:: @ 827339F
.string "There is a questionnaire.\nWould you like to fill it out?$"
-
gUnknown_082733D8:: @ 82733D8
.string "Thank you for taking the time to\nfill out our questionnaire.\pYour feedback will be used for\nfuture reference.$"
-
gUnknown_08273446:: @ 8273446
.string "Oh, hello!\nYou know those words?\pThat means you must know about\nthe MYSTERY GIFT.\pFrom now on, you should be\nreceiving MYSTERY GIFTS!$"
-
gUnknown_082734CC:: @ 82734CC
.string "Once you save your game, you can\naccess the MYSTERY GIFT.$"
-
gUnknown_08273506:: @ 8273506
.string "Oh, hello!\nYou know those words?\pThat means you must know about\nthe MYSTERY EVENT.$"
-
gUnknown_08273559:: @ 8273559
.string "Once you save your game, you can\naccess the MYSTERY EVENT.$"
-
gUnknown_08273594:: @ 8273594
.string "Thank you for using the MYSTERY\nEVENT System.\pYou must be {PLAYER}.\nThere is a ticket here for you.$"
-
gUnknown_082735F2:: @ 82735F2
.string "It appears to be for use at\nthe LILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$"
-
gUnknown_08273656:: @ 8273656
.string "The massive downpour appears to\nhave stopped…$"
-
gUnknown_08273684:: @ 8273684
.string "The intense sunshine appears to\nhave subsided…$"
-gUnknown_082736B3:: @ 82736B3
- .incbin "baserom.gba", 0x2736b3, 0x9
-
-gUnknown_082736BC:: @ 82736BC
- .incbin "baserom.gba", 0x2736bc, 0x15f
-
-gUnknown_0827381B:: @ 827381B
- .incbin "baserom.gba", 0x27381b, 0x504
+EventScript_2736B3:: @ 82736B3
+ msgbox gUnknown_08272C98, 3
+ end
+
+EventScript_2736BC:: @ 82736BC
+ lockall
+ special sub_80F972C
+ waitstate
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq EventScript_2736D9
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq EventScript_2736F8
+ releaseall
+ end
+
+EventScript_2736D9:: @ 82736D9
+ message gUnknown_08272DE3
+ waitmessage
+ waitbuttonpress
+ special sub_80B05B4
+ waitstate
+ fadescreen 1
+ checkflag FLAG_0x06C
+ call_if 1, EventScript_2736F4
+ special sp0C8_whiteout_maybe
+ waitstate
+ end
+
+EventScript_2736F4:: @ 82736F4
+ setrespawn 16
+ return
+
+EventScript_2736F8:: @ 82736F8
+ message gUnknown_08272DE3
+ waitmessage
+ waitbuttonpress
+ setvar VAR_0x8004, 16
+ special sub_81A703C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222
+ setvar VAR_0x8004, 12
+ special sub_81A8E7C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
+ setvar VAR_0x8004, 10
+ special sp194_trainer_tower
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq TrainerHill_1F_EventScript_2C83C9
+ special sub_80B05B4
+ waitstate
+ fadescreen 1
+ special sp0C8_whiteout_maybe
+ waitstate
+ end
+
+AncientTomb_EventScript_27374E:: @ 827374E
+AquaHideout_B1F_EventScript_27374E:: @ 827374E
+BattleFrontier_BattleDomeBattleRoom_EventScript_27374E:: @ 827374E
+BattleFrontier_OutsideEast_EventScript_27374E:: @ 827374E
+BirthIsland_Exterior_EventScript_27374E:: @ 827374E
+DesertRuins_EventScript_27374E:: @ 827374E
+EverGrandeCity_PokemonCenter_1F_EventScript_27374E:: @ 827374E
+FarawayIsland_Interior_EventScript_27374E:: @ 827374E
+IslandCave_EventScript_27374E:: @ 827374E
+LilycoveCity_Harbor_EventScript_27374E:: @ 827374E
+MarineCave_End_EventScript_27374E:: @ 827374E
+NavelRock_Bottom_EventScript_27374E:: @ 827374E
+NavelRock_Top_EventScript_27374E:: @ 827374E
+NewMauville_Inside_EventScript_27374E:: @ 827374E
+OldaleTown_PokemonCenter_1F_EventScript_27374E:: @ 827374E
+PacifidlogTown_House2_EventScript_27374E:: @ 827374E
+Route101_EventScript_27374E:: @ 827374E
+Route119_EventScript_27374E:: @ 827374E
+Route120_EventScript_27374E:: @ 827374E
+SkyPillar_Top_EventScript_27374E:: @ 827374E
+SouthernIsland_Interior_EventScript_27374E:: @ 827374E
+TerraCave_End_EventScript_27374E:: @ 827374E
+ return
+
+EventScript_27374F:: @ 827374F
+ setvar VAR_RESULT, 1
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_273755:: @ 8273755
+ setvar VAR_RESULT, 0
+ return
+
+BattleFrontier_PokemonCenter_2F_EventScript_27375B:: @ 827375B
+DewfordTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B
+EverGrandeCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B
+EverGrandeCity_PokemonLeague_2F_EventScript_27375B:: @ 827375B
+FallarborTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B
+FortreeCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B
+LavaridgeTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B
+LilycoveCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B
+MauvilleCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B
+MossdeepCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B
+OldaleTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B
+PacifidlogTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B
+PetalburgCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B
+RustboroCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B
+SlateportCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B
+SootopolisCity_PokemonCenter_2F_EventScript_27375B:: @ 827375B
+VerdanturfTown_PokemonCenter_2F_EventScript_27375B:: @ 827375B
+ call OldaleTown_PokemonCenter_2F_EventScript_27751B
+ end
+
+BattleFrontier_PokemonCenter_2F_EventScript_273761:: @ 8273761
+DewfordTown_PokemonCenter_2F_EventScript_273761:: @ 8273761
+EverGrandeCity_PokemonCenter_2F_EventScript_273761:: @ 8273761
+EverGrandeCity_PokemonLeague_2F_EventScript_273761:: @ 8273761
+FallarborTown_PokemonCenter_2F_EventScript_273761:: @ 8273761
+FortreeCity_PokemonCenter_2F_EventScript_273761:: @ 8273761
+LavaridgeTown_PokemonCenter_2F_EventScript_273761:: @ 8273761
+LilycoveCity_PokemonCenter_2F_EventScript_273761:: @ 8273761
+MauvilleCity_PokemonCenter_2F_EventScript_273761:: @ 8273761
+MossdeepCity_PokemonCenter_2F_EventScript_273761:: @ 8273761
+OldaleTown_PokemonCenter_2F_EventScript_273761:: @ 8273761
+PacifidlogTown_PokemonCenter_2F_EventScript_273761:: @ 8273761
+PetalburgCity_PokemonCenter_2F_EventScript_273761:: @ 8273761
+RustboroCity_PokemonCenter_2F_EventScript_273761:: @ 8273761
+SlateportCity_PokemonCenter_2F_EventScript_273761:: @ 8273761
+SootopolisCity_PokemonCenter_2F_EventScript_273761:: @ 8273761
+VerdanturfTown_PokemonCenter_2F_EventScript_273761:: @ 8273761
+ call OldaleTown_PokemonCenter_2F_EventScript_277672
+ end
+
+BattleFrontier_PokemonCenter_2F_EventScript_273767:: @ 8273767
+DewfordTown_PokemonCenter_2F_EventScript_273767:: @ 8273767
+EverGrandeCity_PokemonCenter_2F_EventScript_273767:: @ 8273767
+EverGrandeCity_PokemonLeague_2F_EventScript_273767:: @ 8273767
+FallarborTown_PokemonCenter_2F_EventScript_273767:: @ 8273767
+FortreeCity_PokemonCenter_2F_EventScript_273767:: @ 8273767
+LavaridgeTown_PokemonCenter_2F_EventScript_273767:: @ 8273767
+LilycoveCity_PokemonCenter_2F_EventScript_273767:: @ 8273767
+MauvilleCity_PokemonCenter_2F_EventScript_273767:: @ 8273767
+MossdeepCity_PokemonCenter_2F_EventScript_273767:: @ 8273767
+OldaleTown_PokemonCenter_2F_EventScript_273767:: @ 8273767
+PacifidlogTown_PokemonCenter_2F_EventScript_273767:: @ 8273767
+PetalburgCity_PokemonCenter_2F_EventScript_273767:: @ 8273767
+RustboroCity_PokemonCenter_2F_EventScript_273767:: @ 8273767
+SlateportCity_PokemonCenter_2F_EventScript_273767:: @ 8273767
+SootopolisCity_PokemonCenter_2F_EventScript_273767:: @ 8273767
+VerdanturfTown_PokemonCenter_2F_EventScript_273767:: @ 8273767
+ call OldaleTown_PokemonCenter_2F_EventScript_2776A4
+ end
+
+AncientTomb_EventScript_27376D:: @ 827376D
+AquaHideout_B1F_EventScript_27376D:: @ 827376D
+DesertRuins_EventScript_27376D:: @ 827376D
+IslandCave_EventScript_27376D:: @ 827376D
+MarineCave_End_EventScript_27376D:: @ 827376D
+NewMauville_Inside_EventScript_27376D:: @ 827376D
+Route119_EventScript_27376D:: @ 827376D
+TerraCave_End_EventScript_27376D:: @ 827376D
+ fadescreenswapbuffers 1
+ removeobject VAR_LAST_TALKED
+ fadescreenswapbuffers 0
+ release
+ end
+
+AncientTomb_EventScript_273776:: @ 8273776
+BirthIsland_Exterior_EventScript_273776:: @ 8273776
+DesertRuins_EventScript_273776:: @ 8273776
+FarawayIsland_Interior_EventScript_273776:: @ 8273776
+IslandCave_EventScript_273776:: @ 8273776
+MarineCave_End_EventScript_273776:: @ 8273776
+NavelRock_Bottom_EventScript_273776:: @ 8273776
+NavelRock_Top_EventScript_273776:: @ 8273776
+SouthernIsland_Interior_EventScript_273776:: @ 8273776
+TerraCave_End_EventScript_273776:: @ 8273776
+ fadescreenswapbuffers 1
+ removeobject VAR_LAST_TALKED
+ fadescreenswapbuffers 0
+ bufferspeciesname 0, VAR_0x8004
+ msgbox gUnknown_08273204, 4
+ release
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_27378B:: @ 827378B
+MossdeepCity_StevensHouse_EventScript_27378B:: @ 827378B
+Route119_WeatherInstitute_2F_EventScript_27378B:: @ 827378B
+RustboroCity_DevonCorp_2F_EventScript_27378B:: @ 827378B
+ getpartysize
+ subvar VAR_RESULT, 1
+ copyvar VAR_0x8004, VAR_RESULT
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_273797:: @ 8273797
+MossdeepCity_StevensHouse_EventScript_273797:: @ 8273797
+Route119_WeatherInstitute_2F_EventScript_273797:: @ 8273797
+RustboroCity_DevonCorp_2F_EventScript_273797:: @ 8273797
+ fadescreen 1
+ special ChangeBoxPokemonNickname
+ waitstate
+ lock
+ faceplayer
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_2737A0:: @ 82737A0
+MossdeepCity_StevensHouse_EventScript_2737A0:: @ 82737A0
+Route119_WeatherInstitute_2F_EventScript_2737A0:: @ 82737A0
+RustboroCity_DevonCorp_2F_EventScript_2737A0:: @ 82737A0
+ bufferboxname 0, 16438
+ bufferspeciesname 1, VAR_0x4001
+ checkflag FLAG_SYS_PC_LANETTE
+ call_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_2737BB
+ checkflag FLAG_SYS_PC_LANETTE
+ call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_2737E6
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_2737BB:: @ 82737BB
+ specialvar VAR_RESULT, sub_813B21C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_2737D4
+ msgbox gText_PkmnTransferredSomeonesPC, 4
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_2737D4:: @ 82737D4
+ specialvar VAR_RESULT, get_unknown_box_id
+ bufferboxname 2, 32781
+ msgbox gText_PkmnBoxSomeonesPCFull, 4
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_2737E6:: @ 82737E6
+ specialvar VAR_RESULT, sub_813B21C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_2737FF
+ msgbox gText_PkmnTransferredLanettesPC, 4
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_2737FF:: @ 82737FF
+ specialvar VAR_RESULT, get_unknown_box_id
+ bufferboxname 2, 32781
+ msgbox gText_PkmnBoxLanettesPCFull, 4
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_273811:: @ 8273811
+MossdeepCity_StevensHouse_EventScript_273811:: @ 8273811
+Route119_WeatherInstitute_2F_EventScript_273811:: @ 8273811
+RustboroCity_DevonCorp_2F_EventScript_273811:: @ 8273811
+ msgbox gUnknown_0827331C, 4
+ release
+ end
+
+EventScript_27381B:: @ 827381B
+ lockall
+ msgbox gUnknown_0827339F, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_2738FD
+ setvar VAR_0x8004, 20
+ call MauvilleCity_PokemonCenter_1F_EventScript_271E7C
+ lock
+ faceplayer
+ specialvar VAR_0x8008, sub_813B490
+ compare_var_to_value VAR_0x8004, 1
+ goto_eq EventScript_27386D
+ compare_var_to_value VAR_0x8004, 2
+ goto_eq EventScript_2738B5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_2738FD
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq EventScript_2738FF
+ end
+
+EventScript_27386D:: @ 827386D
+ checkflag FLAG_SYS_POKEDEX_GET
+ goto_if 0, EventScript_2738FF
+ checkflag FLAG_SYS_MYSTERY_EVENT_ENABLE
+ goto_eq EventScript_2738FF
+ applymovement VAR_0x8008, BattleFrontier_Mart_Movement_2725B0
+ waitmovement 0
+ playse SE_PIN
+ applymovement VAR_0x8008, BattleFrontier_ReceptionGate_Movement_272598
+ waitmovement 0
+ applymovement VAR_0x8008, BattleFrontier_ReceptionGate_Movement_27259A
+ waitmovement 0
+ msgbox gUnknown_08273506, 4
+ setflag FLAG_SYS_MYSTERY_EVENT_ENABLE
+ msgbox gUnknown_08273559, 4
+ releaseall
+ end
+
+EventScript_2738B5:: @ 82738B5
+ checkflag FLAG_SYS_POKEDEX_GET
+ goto_if 0, EventScript_2738FF
+ checkflag FLAG_SYS_MYSTERY_GIFT_ENABLE
+ goto_eq EventScript_2738FF
+ applymovement VAR_0x8008, BattleFrontier_Mart_Movement_2725B0
+ waitmovement 0
+ playse SE_PIN
+ applymovement VAR_0x8008, BattleFrontier_ReceptionGate_Movement_272598
+ waitmovement 0
+ applymovement VAR_0x8008, BattleFrontier_ReceptionGate_Movement_27259A
+ waitmovement 0
+ msgbox gUnknown_08273446, 4
+ setflag FLAG_SYS_MYSTERY_GIFT_ENABLE
+ msgbox gUnknown_082734CC, 4
+ releaseall
+ end
+
+EventScript_2738FD:: @ 82738FD
+ releaseall
+ end
+
+EventScript_2738FF:: @ 82738FF
+ applymovement VAR_0x8008, BattleFrontier_Mart_Movement_2725B0
+ waitmovement 0
+ msgbox gUnknown_082733D8, 4
+ releaseall
+ end
+
+Route114_EventScript_273913:: @ 8273913
+ setmetatile 7, 3, 839, 1
+ setmetatile 7, 4, 847, 0
+ return
+
+Route114_EventScript_273926:: @ 8273926
+ setmetatile 6, 45, 601, 1
+ setmetatile 6, 46, 609, 0
+ return
+
+Route115_EventScript_273939:: @ 8273939
+ setmetatile 21, 5, 601, 1
+ setmetatile 21, 6, 609, 0
+ return
+
+Route115_EventScript_27394C:: @ 827394C
+ setmetatile 36, 9, 601, 1
+ setmetatile 36, 10, 609, 0
+ return
+
+Route116_EventScript_27395F:: @ 827395F
+ setmetatile 59, 12, 159, 1
+ setmetatile 59, 13, 167, 0
+ return
+
+Route116_EventScript_273972:: @ 8273972
+ setmetatile 79, 5, 159, 1
+ setmetatile 79, 6, 167, 0
+ return
+
+Route118_EventScript_273985:: @ 8273985
+ setmetatile 42, 5, 159, 1
+ setmetatile 42, 6, 167, 0
+ return
+
+Route118_EventScript_273998:: @ 8273998
+ setmetatile 9, 5, 159, 1
+ setmetatile 9, 6, 167, 0
+ return
+
+Route105_EventScript_2739AB:: @ 82739AB
+ setmetatile 10, 28, 334, 0
+ setmetatile 11, 28, 334, 0
+ setmetatile 9, 29, 334, 0
+ setmetatile 10, 29, 335, 0
+ setmetatile 11, 29, 335, 0
+ setmetatile 12, 29, 334, 0
+ setmetatile 9, 30, 334, 0
+ setmetatile 10, 30, 335, 0
+ setmetatile 11, 30, 335, 0
+ setmetatile 12, 30, 334, 0
+ setmetatile 10, 31, 334, 0
+ setmetatile 11, 31, 334, 0
+ return
+
+Route105_EventScript_273A18:: @ 8273A18
+ setmetatile 20, 53, 334, 0
+ setmetatile 21, 53, 334, 0
+ setmetatile 19, 54, 334, 0
+ setmetatile 20, 54, 335, 0
+ setmetatile 21, 54, 335, 0
+ setmetatile 22, 54, 334, 0
+ setmetatile 19, 55, 334, 0
+ setmetatile 20, 55, 335, 0
+ setmetatile 21, 55, 335, 0
+ setmetatile 22, 55, 334, 0
+ setmetatile 20, 56, 334, 0
+ setmetatile 21, 56, 334, 0
+ return
+
+Route125_EventScript_273A85:: @ 8273A85
+ setmetatile 8, 16, 334, 0
+ setmetatile 9, 16, 334, 0
+ setmetatile 7, 17, 334, 0
+ setmetatile 8, 17, 335, 0
+ setmetatile 9, 17, 335, 0
+ setmetatile 10, 17, 334, 0
+ setmetatile 7, 18, 334, 0
+ setmetatile 8, 18, 335, 0
+ setmetatile 9, 18, 335, 0
+ setmetatile 10, 18, 334, 0
+ setmetatile 8, 19, 334, 0
+ setmetatile 9, 19, 334, 0
+ return
+
+Route125_EventScript_273AF2:: @ 8273AF2
+ setmetatile 53, 18, 334, 0
+ setmetatile 54, 18, 334, 0
+ setmetatile 52, 19, 334, 0
+ setmetatile 53, 19, 335, 0
+ setmetatile 54, 19, 335, 0
+ setmetatile 55, 19, 334, 0
+ setmetatile 52, 20, 334, 0
+ setmetatile 53, 20, 335, 0
+ setmetatile 54, 20, 335, 0
+ setmetatile 55, 20, 334, 0
+ setmetatile 53, 21, 334, 0
+ setmetatile 54, 21, 334, 0
+ return
+
+Route127_EventScript_273B5F:: @ 8273B5F
+ setmetatile 57, 9, 334, 0
+ setmetatile 58, 9, 334, 0
+ setmetatile 56, 10, 334, 0
+ setmetatile 57, 10, 335, 0
+ setmetatile 58, 10, 335, 0
+ setmetatile 59, 10, 334, 0
+ setmetatile 56, 11, 334, 0
+ setmetatile 57, 11, 335, 0
+ setmetatile 58, 11, 335, 0
+ setmetatile 59, 11, 334, 0
+ setmetatile 57, 12, 334, 0
+ setmetatile 58, 12, 334, 0
+ return
+
+Route127_EventScript_273BCC:: @ 8273BCC
+ setmetatile 61, 30, 334, 0
+ setmetatile 62, 30, 334, 0
+ setmetatile 60, 31, 334, 0
+ setmetatile 61, 31, 335, 0
+ setmetatile 62, 31, 335, 0
+ setmetatile 63, 31, 334, 0
+ setmetatile 60, 32, 334, 0
+ setmetatile 61, 32, 335, 0
+ setmetatile 62, 32, 335, 0
+ setmetatile 63, 32, 334, 0
+ setmetatile 61, 33, 334, 0
+ setmetatile 62, 33, 334, 0
+ return
+
+Route129_EventScript_273C39:: @ 8273C39
+ setmetatile 16, 14, 334, 0
+ setmetatile 17, 14, 334, 0
+ setmetatile 15, 15, 334, 0
+ setmetatile 16, 15, 335, 0
+ setmetatile 17, 15, 335, 0
+ setmetatile 18, 15, 334, 0
+ setmetatile 15, 16, 334, 0
+ setmetatile 16, 16, 335, 0
+ setmetatile 17, 16, 335, 0
+ setmetatile 18, 16, 334, 0
+ setmetatile 16, 17, 334, 0
+ setmetatile 17, 17, 334, 0
+ return
+
+Route129_EventScript_273CA6:: @ 8273CA6
+ setmetatile 42, 19, 334, 0
+ setmetatile 43, 19, 334, 0
+ setmetatile 41, 20, 334, 0
+ setmetatile 42, 20, 335, 0
+ setmetatile 43, 20, 335, 0
+ setmetatile 44, 20, 334, 0
+ setmetatile 41, 21, 334, 0
+ setmetatile 42, 21, 335, 0
+ setmetatile 43, 21, 335, 0
+ setmetatile 44, 21, 334, 0
+ setmetatile 42, 22, 334, 0
+ setmetatile 43, 22, 334, 0
+ return
+
+Route105_EventScript_273D13:: @ 8273D13
+Route114_EventScript_273D13:: @ 8273D13
+Route115_EventScript_273D13:: @ 8273D13
+Route116_EventScript_273D13:: @ 8273D13
+Route118_EventScript_273D13:: @ 8273D13
+Route125_EventScript_273D13:: @ 8273D13
+Route127_EventScript_273D13:: @ 8273D13
+Route129_EventScript_273D13:: @ 8273D13
+ setflag FLAG_SPECIAL_FLAG_0x4000
+ return
+
+Route105_EventScript_273D17:: @ 8273D17
+Route125_EventScript_273D17:: @ 8273D17
+Route127_EventScript_273D17:: @ 8273D17
+Route129_EventScript_273D17:: @ 8273D17
+ setweather 13
+ return
+
+Route114_EventScript_273D1B:: @ 8273D1B
+Route115_EventScript_273D1B:: @ 8273D1B
+Route116_EventScript_273D1B:: @ 8273D1B
+Route118_EventScript_273D1B:: @ 8273D1B
+ setweather 12
+ return
gUnknown_08273D1F:: @ 8273D1F
- .incbin "baserom.gba", 0x273d1f, 0x5c7
-
-gUnknown_082742E6:: @ 82742E6
- .incbin "baserom.gba", 0x2742e6, 0x13
-
-BerryTreeScript:: @ 82742F9
- .incbin "baserom.gba", 0x2742f9, 0x189
-gUnknown_08274482:: @ 8274482
- .incbin "baserom.gba", 0x274482, 0x3e
-
-gUnknown_082744C0:: @ 82744C0
- .incbin "baserom.gba", 0x2744c0, 0x4a6
-
-gUnknown_08274966:: @ 8274966
- .incbin "baserom.gba", 0x274966, 0x1be
-
-gUnknown_08274B24:: @ 8274B24
- .incbin "baserom.gba", 0x274b24, 0x1ef
-
-gUnknown_08274D13:: @ 8274D13
- .incbin "baserom.gba", 0x274d13, 0x162
-
-gUnknown_08274E75:: @ 8274E75
- .incbin "baserom.gba", 0x274e75, 0x189
-
-gUnknown_08274FFE:: @ 8274FFE
- .incbin "baserom.gba", 0x274ffe, 0x1e3
-
-gUnknown_082751E1:: @ 82751E1
- .incbin "baserom.gba", 0x2751e1, 0x186
-
-gUnknown_08275367:: @ 8275367
- .incbin "baserom.gba", 0x275367, 0x18f
-
-gUnknown_082754F6:: @ 82754F6
- .incbin "baserom.gba", 0x2754f6, 0x1d1
-
-gUnknown_082756C7:: @ 82756C7
- .incbin "baserom.gba", 0x2756c7, 0x205
-
-gUnknown_082758CC:: @ 82758CC
- .incbin "baserom.gba", 0x2758cc, 0x125
-
-gUnknown_082759F1:: @ 82759F1
- .incbin "baserom.gba", 0x2759f1, 0x95
-
-gUnknown_08275A86:: @ 8275A86
- .incbin "baserom.gba", 0x275a86, 0x59
-
-gUnknown_08275ADF:: @ 8275ADF
- .incbin "baserom.gba", 0x275adf, 0x59
-
-gUnknown_08275B38:: @ 8275B38
- .incbin "baserom.gba", 0x275b38, 0x7f
-
-gUnknown_08275BB7:: @ 8275BB7
- .incbin "baserom.gba", 0x275bb7, 0x155
-
-gUnknown_08275D0C:: @ 8275D0C
- .incbin "baserom.gba", 0x275d0c, 0x13
-
-gUnknown_08275D1F:: @ 8275D1F
- .incbin "baserom.gba", 0x275d1f, 0xf
-
-gUnknown_08275D2E:: @ 8275D2E
- .incbin "baserom.gba", 0x275d2e, 0x974
-
-gUnknown_082766A2:: @ 82766A2
- .incbin "baserom.gba", 0x2766a2, 0x4
-
-gUnknown_082766A6:: @ 82766A6
- .incbin "baserom.gba", 0x2766a6, 0xcbf
-
-gUnknown_08277365:: @ 8277365
- .incbin "baserom.gba", 0x277365, 0xf
-
-gUnknown_08277374:: @ 8277374
- .incbin "baserom.gba", 0x277374, 0xa
+gUnknown_08273D1F:: @ 8273D1F
+ lockall
+ compare_var_to_value VAR_0x4037, 9
+ goto_if 4, Route105_EventScript_273D51
+ goto Route105_EventScript_273D5F
+ end
+
+Route105_EventScript_273D31:: @ 8273D31
+ closemessage
+ fadescreenswapbuffers 1
+ setweather 2
+ doweather
+ call Route105_EventScript_273D6D
+ special DrawWholeMapView
+ setvar VAR_0x4037, 0
+ setvar VAR_0x4039, 0
+ clearflag FLAG_SPECIAL_FLAG_0x4000
+ fadescreenswapbuffers 0
+ releaseall
+ end
+
+Route105_EventScript_273D51:: @ 8273D51
+ msgbox gUnknown_08273656, 4
+ goto Route105_EventScript_273D31
+ end
+
+Route105_EventScript_273D5F:: @ 8273D5F
+ msgbox gUnknown_08273684, 4
+ goto Route105_EventScript_273D31
+ end
+
+Route105_EventScript_273D6D:: @ 8273D6D
+ switch VAR_0x4037
+ case 1, Route105_EventScript_273E23
+ case 2, Route105_EventScript_273E36
+ case 3, Route105_EventScript_273E49
+ case 4, Route105_EventScript_273E5C
+ case 5, Route105_EventScript_273E6F
+ case 6, Route105_EventScript_273E82
+ case 7, Route105_EventScript_273E95
+ case 8, Route105_EventScript_273EA8
+ case 9, Route105_EventScript_273EBB
+ case 10, Route105_EventScript_273F28
+ case 11, Route105_EventScript_273F95
+ case 12, Route105_EventScript_274002
+ case 13, Route105_EventScript_27406F
+ case 14, Route105_EventScript_2740DC
+ case 15, Route105_EventScript_274149
+ case 16, Route105_EventScript_2741B6
+ return
+
+Route105_EventScript_273E23:: @ 8273E23
+ setmetatile 7, 3, 617, 1
+ setmetatile 7, 4, 617, 1
+ return
+
+Route105_EventScript_273E36:: @ 8273E36
+ setmetatile 6, 45, 613, 1
+ setmetatile 6, 46, 613, 1
+ return
+
+Route105_EventScript_273E49:: @ 8273E49
+ setmetatile 21, 5, 613, 1
+ setmetatile 21, 6, 613, 1
+ return
+
+Route105_EventScript_273E5C:: @ 8273E5C
+ setmetatile 36, 9, 613, 1
+ setmetatile 36, 10, 613, 1
+ return
+
+Route105_EventScript_273E6F:: @ 8273E6F
+ setmetatile 59, 12, 124, 1
+ setmetatile 59, 13, 124, 1
+ return
+
+Route105_EventScript_273E82:: @ 8273E82
+ setmetatile 79, 5, 124, 1
+ setmetatile 79, 6, 124, 1
+ return
+
+Route105_EventScript_273E95:: @ 8273E95
+ setmetatile 42, 5, 124, 1
+ setmetatile 42, 6, 121, 1
+ return
+
+Route105_EventScript_273EA8:: @ 8273EA8
+ setmetatile 9, 5, 124, 1
+ setmetatile 9, 6, 121, 1
+ return
+
+Route105_EventScript_273EBB:: @ 8273EBB
+ setmetatile 10, 28, 368, 0
+ setmetatile 11, 28, 368, 0
+ setmetatile 9, 29, 368, 0
+ setmetatile 10, 29, 368, 0
+ setmetatile 11, 29, 368, 0
+ setmetatile 12, 29, 368, 0
+ setmetatile 9, 30, 368, 0
+ setmetatile 10, 30, 368, 0
+ setmetatile 11, 30, 368, 0
+ setmetatile 12, 30, 368, 0
+ setmetatile 10, 31, 368, 0
+ setmetatile 11, 31, 368, 0
+ return
+
+Route105_EventScript_273F28:: @ 8273F28
+ setmetatile 20, 53, 368, 0
+ setmetatile 21, 53, 368, 0
+ setmetatile 19, 54, 368, 0
+ setmetatile 20, 54, 368, 0
+ setmetatile 21, 54, 368, 0
+ setmetatile 22, 54, 368, 0
+ setmetatile 19, 55, 368, 0
+ setmetatile 20, 55, 368, 0
+ setmetatile 21, 55, 368, 0
+ setmetatile 22, 55, 368, 0
+ setmetatile 20, 56, 368, 0
+ setmetatile 21, 56, 368, 0
+ return
+
+Route105_EventScript_273F95:: @ 8273F95
+ setmetatile 8, 16, 368, 0
+ setmetatile 9, 16, 368, 0
+ setmetatile 7, 17, 368, 0
+ setmetatile 8, 17, 368, 0
+ setmetatile 9, 17, 368, 0
+ setmetatile 10, 17, 368, 0
+ setmetatile 7, 18, 368, 0
+ setmetatile 8, 18, 368, 0
+ setmetatile 9, 18, 368, 0
+ setmetatile 10, 18, 368, 0
+ setmetatile 8, 19, 368, 0
+ setmetatile 9, 19, 368, 0
+ return
+
+Route105_EventScript_274002:: @ 8274002
+ setmetatile 53, 18, 368, 0
+ setmetatile 54, 18, 368, 0
+ setmetatile 52, 19, 368, 0
+ setmetatile 53, 19, 368, 0
+ setmetatile 54, 19, 368, 0
+ setmetatile 55, 19, 368, 0
+ setmetatile 52, 20, 368, 0
+ setmetatile 53, 20, 368, 0
+ setmetatile 54, 20, 368, 0
+ setmetatile 55, 20, 368, 0
+ setmetatile 53, 21, 368, 0
+ setmetatile 54, 21, 368, 0
+ return
+
+Route105_EventScript_27406F:: @ 827406F
+ setmetatile 57, 9, 368, 0
+ setmetatile 58, 9, 368, 0
+ setmetatile 56, 10, 368, 0
+ setmetatile 57, 10, 368, 0
+ setmetatile 58, 10, 368, 0
+ setmetatile 59, 10, 368, 0
+ setmetatile 56, 11, 368, 0
+ setmetatile 57, 11, 368, 0
+ setmetatile 58, 11, 368, 0
+ setmetatile 59, 11, 368, 0
+ setmetatile 57, 12, 368, 0
+ setmetatile 58, 12, 368, 0
+ return
+
+Route105_EventScript_2740DC:: @ 82740DC
+ setmetatile 61, 30, 368, 0
+ setmetatile 62, 30, 368, 0
+ setmetatile 60, 31, 368, 0
+ setmetatile 61, 31, 368, 0
+ setmetatile 62, 31, 368, 0
+ setmetatile 63, 31, 368, 0
+ setmetatile 60, 32, 368, 0
+ setmetatile 61, 32, 368, 0
+ setmetatile 62, 32, 368, 0
+ setmetatile 63, 32, 368, 0
+ setmetatile 61, 33, 368, 0
+ setmetatile 62, 33, 368, 0
+ return
+
+Route105_EventScript_274149:: @ 8274149
+ setmetatile 16, 14, 368, 0
+ setmetatile 17, 14, 368, 0
+ setmetatile 15, 15, 368, 0
+ setmetatile 16, 15, 368, 0
+ setmetatile 17, 15, 368, 0
+ setmetatile 18, 15, 368, 0
+ setmetatile 15, 16, 368, 0
+ setmetatile 16, 16, 368, 0
+ setmetatile 17, 16, 368, 0
+ setmetatile 18, 16, 368, 0
+ setmetatile 16, 17, 368, 0
+ setmetatile 17, 17, 368, 0
+ return
+
+Route105_EventScript_2741B6:: @ 82741B6
+ setmetatile 42, 19, 368, 0
+ setmetatile 43, 19, 368, 0
+ setmetatile 41, 20, 368, 0
+ setmetatile 42, 20, 368, 0
+ setmetatile 43, 20, 368, 0
+ setmetatile 44, 20, 368, 0
+ setmetatile 41, 21, 368, 0
+ setmetatile 42, 21, 368, 0
+ setmetatile 43, 21, 368, 0
+ setmetatile 44, 21, 368, 0
+ setmetatile 42, 22, 368, 0
+ setmetatile 43, 22, 368, 0
+ return
+
+Underwater3_EventScript_274223:: @ 8274223
+Underwater5_EventScript_274223:: @ 8274223
+Underwater6_EventScript_274223:: @ 8274223
+Underwater7_EventScript_274223:: @ 8274223
+ switch VAR_0x4037
+ case 9, Underwater3_EventScript_274281
+ case 10, Underwater3_EventScript_27428A
+ case 11, Underwater3_EventScript_274293
+ case 12, Underwater3_EventScript_27429C
+ case 13, Underwater3_EventScript_2742A5
+ case 14, Underwater3_EventScript_2742AE
+ case 15, Underwater3_EventScript_2742B7
+ case 16, Underwater3_EventScript_2742C0
+ return
+
+Underwater3_EventScript_274281:: @ 8274281
+ setescapewarp ROUTE_105, 255, 11, 29
+ return
+
+Underwater3_EventScript_27428A:: @ 827428A
+ setescapewarp ROUTE_105, 255, 21, 54
+ return
+
+Underwater3_EventScript_274293:: @ 8274293
+ setescapewarp ROUTE_125, 255, 9, 17
+ return
+
+Underwater3_EventScript_27429C:: @ 827429C
+ setescapewarp ROUTE_125, 255, 54, 19
+ return
+
+Underwater3_EventScript_2742A5:: @ 82742A5
+ setescapewarp ROUTE_127, 255, 58, 10
+ return
+
+Underwater3_EventScript_2742AE:: @ 82742AE
+ setescapewarp ROUTE_127, 255, 62, 31
+ return
+
+Underwater3_EventScript_2742B7:: @ 82742B7
+ setescapewarp ROUTE_129, 255, 17, 15
+ return
+
+Underwater3_EventScript_2742C0:: @ 82742C0
+ setescapewarp ROUTE_129, 255, 43, 20
+ return
+
+Std_8:: @ 82742C9
+ buffertrainerclassname 0, VAR_0x8000
+ buffertrainername 1, VAR_0x8000
+ closemessage
+ delay 30
+ playfanfare BGM_ME_MATCH_CALL
+ msgbox gUnknown_08272E0F, 4
+ waitfanfare
+ closemessage
+ delay 30
+ return
+
+LavaridgeTown_Gym_1F_EventScript_2742E6:: @ 82742E6
+ special CheckIfMultipleTrainersWantBattle
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LavaridgeTown_Gym_1F_EventScript_2742F6
+ releaseall
+ end
+
+LavaridgeTown_Gym_1F_EventScript_2742F6:: @ 82742F6
+ ontrainerbattleendgoto
+ releaseall
+ end
+
+ .include "data/scripts/berry_tree.inc"
+
+Text_274746: @ 8274746
+ .string "If some vines drop down, this tree can\n"
+ .string "be climbed.$"
+
+Text_274779: @ 8274779
+ .string "If some vines drop down, this tree can\n"
+ .string "be climbed.\p"
+ .string "Use the SECRET POWER?$"
+
+Text_2747C2: @ 82747C2
+ .string "A thick vine dropped down!$"
+
+Text_2747DD: @ 82747DD
+ .string "If this clump of grass can be moved,\n"
+ .string "it might be possible to go inside.$"
+
+Text_274825: @ 8274825
+ .string "If this clump of grass can be moved,\n"
+ .string "it might be possible to go inside.\p"
+ .string "Use the SECRET POWER?$"
+
+Text_274883: @ 8274883
+ .string "Discovered a small entrance!$"
+
+SecretBase_RedCave1_Text_2748A0: @ 82748A0
+ .string "Have you made a SECRET BASE already?\p"
+ .string "I went here, there, everywhere before\n"
+ .string "choosing this place.\p"
+ .string "Since you’re already here, how would\n"
+ .string "you like to battle?$"
+
+SecretBase_RedCave1_Text_274939: @ 8274939
+ .string "Okay!\n"
+ .string "Here we come!$"
+
+SecretBase_RedCave1_Text_27494D: @ 827494D
+ .string "Hunh?\n"
+ .string "Oh, you can’t now…$"
+
+SecretBase_RedCave1_Text_274966:: @ 8274966
+ .string "Waaargh! You’re too strong!\n"
+ .string "About me losing… Please keep it secret!$"
+
+SecretBase_RedCave1_Text_2749AA: @ 82749AA
+ .string "What do you think of my SECRET BASE?\n"
+ .string "Come visit me again tomorrow.$"
+
+SecretBase_RedCave1_Text_2749ED: @ 82749ED
+ .string "Have you made a SECRET BASE already?\p"
+ .string "I went here, there, everywhere before\n"
+ .string "choosing this place.\p"
+ .string "Feel free to hang out!$"
+
+SecretBase_RedCave1_Text_274A64: @ 8274A64
+ .string "There’re a lot of places where\n"
+ .string "you can make a SECRET BASE.\p"
+ .string "But I like this spot best.\n"
+ .string "Don’t you think it’s nice?\p"
+ .string "Oh, would you like to have a battle?$"
+
+SecretBase_RedCave1_Text_274AFA: @ 8274AFA
+ .string "Okay, here goes!$"
+
+SecretBase_RedCave1_Text_274B0B: @ 8274B0B
+ .string "Oh…\n"
+ .string "You can’t now, okay.$"
+
+SecretBase_RedCave1_Text_274B24:: @ 8274B24
+ .string "Hmmm… It’s our loss…\n"
+ .string "But don’t tell anyone!\l"
+ .string "It’s a confidential secret!$"
+
+SecretBase_RedCave1_Text_274B6C: @ 8274B6C
+ .string "If you’re in this area again,\n"
+ .string "I hope you’ll visit me.$"
+
+SecretBase_RedCave1_Text_274BA2: @ 8274BA2
+ .string "There’re a lot of places where you can\n"
+ .string "make a SECRET BASE.\p"
+ .string "But I like this spot best.\n"
+ .string "Don’t you think it’s nice?$"
+
+SecretBase_RedCave1_Text_274C13: @ 8274C13
+ .string "This is a popular spot.\n"
+ .string "It’s always taken.\p"
+ .string "Oh! Were you thinking about\n"
+ .string "taking this spot, too?\p"
+ .string "I’ll tell you what, you can have this\n"
+ .string "spot if you can beat me.$"
+
+SecretBase_RedCave1_Text_274CB0: @ 8274CB0
+ .string "Okay!\n"
+ .string "I’m going to defend my SECRET BASE!$"
+
+SecretBase_RedCave1_Text_274CDA: @ 8274CDA
+ .string "Hunh? Is that right?\n"
+ .string "You’re not interested in this spot?$"
+
+SecretBase_RedCave1_Text_274D13:: @ 8274D13
+ .string "I can’t keep going!\n"
+ .string "I surrender!$"
+
+SecretBase_RedCave1_Text_274D34: @ 8274D34
+ .string "Okay, when I move one day,\n"
+ .string "this place will be yours!$"
+
+SecretBase_RedCave1_Text_274D69: @ 8274D69
+ .string "This is a popular spot.\n"
+ .string "It’s always taken.\p"
+ .string "I waited a long time for it to open.\n"
+ .string "I finally got to use it!$"
+
+SecretBase_RedCave1_Text_274DD2: @ 8274DD2
+ .string "Welcome to my POKéMON LAB.\p"
+ .string "I carry out research on battling in\n"
+ .string "secrecy.\p"
+ .string "Would you like to see how strong I am?$"
+
+SecretBase_RedCave1_Text_274E41: @ 8274E41
+ .string "I’m going to go all out!$"
+
+SecretBase_RedCave1_Text_274E5A: @ 8274E5A
+ .string "Oh.\n"
+ .string "Some other time, then!$"
+
+SecretBase_RedCave1_Text_274E75:: @ 8274E75
+ .string "Hmm… I’ve still got lots to learn.\n"
+ .string "I have to study some more.$"
+
+SecretBase_RedCave1_Text_274EB3: @ 8274EB3
+ .string "Thanks for battling with me.\n"
+ .string "Please come back again tomorrow.$"
+
+SecretBase_RedCave1_Text_274EF1: @ 8274EF1
+ .string "Welcome to my POKéMON LAB.\p"
+ .string "I carry out research on battling in\n"
+ .string "secrecy.$"
+
+SecretBase_RedCave1_Text_274F39: @ 8274F39
+ .string "A big mansion is nice, but I like this\n"
+ .string "sort of place more.\p"
+ .string "I like it because all kinds of people\n"
+ .string "come visit me.\p"
+ .string "So, how would you like a battle?$"
+
+SecretBase_RedCave1_Text_274FCA: @ 8274FCA
+ .string "That’s the way!$"
+
+SecretBase_RedCave1_Text_274FDA: @ 8274FDA
+ .string "When you’re ready, give me a shout!$"
+
+SecretBase_RedCave1_Text_274FFE:: @ 8274FFE
+ .string "Aww! Done in!\n"
+ .string "But it’s still fun to battle!$"
+
+SecretBase_RedCave1_Text_27502A: @ 827502A
+ .string "Well, anyway, I should go buy some\n"
+ .string "decorations and furniture.\p"
+ .string "I want my SECRET BASE to be a place\n"
+ .string "other people can enjoy.$"
+
+SecretBase_RedCave1_Text_2750A4: @ 82750A4
+ .string "A big mansion is nice, but I like this\n"
+ .string "sort of place more.\p"
+ .string "I like it because all kinds of people\n"
+ .string "come visit me.$"
+
+SecretBase_RedCave1_Text_275114: @ 8275114
+ .string "I simply adore shopping for decorations\n"
+ .string "and furniture.\p"
+ .string "I also love raising POKéMON just\n"
+ .string "as much.\p"
+ .string "If you would be so kind, will you battle\n"
+ .string "with my POKéMON?$"
+
+SecretBase_RedCave1_Text_2751AF: @ 82751AF
+ .string "Thank you.\n"
+ .string "Shall we begin?$"
+
+SecretBase_RedCave1_Text_2751CA: @ 82751CA
+ .string "Oh.\n"
+ .string "How disappointing…$"
+
+SecretBase_RedCave1_Text_2751E1:: @ 82751E1
+ .string "I concede…$"
+
+SecretBase_RedCave1_Text_2751EC: @ 82751EC
+ .string "That was all in good fun!\n"
+ .string "I should go enjoy shopping now.$"
+
+SecretBase_RedCave1_Text_275226: @ 8275226
+ .string "I simply adore shopping for decorations\n"
+ .string "and furniture.\p"
+ .string "I also love raising POKéMON just\n"
+ .string "as much.$"
+
+SecretBase_RedCave1_Text_275287: @ 8275287
+ .string "Some people make their SECRET BASES in\n"
+ .string "hard-to-find places.\l"
+ .string "Do they want to just lie low?\p"
+ .string "But since you found me, how about we\n"
+ .string "have a battle?$"
+
+SecretBase_RedCave1_Text_275315: @ 8275315
+ .string "I’m not going down easily!$"
+
+SecretBase_RedCave1_Text_275330: @ 8275330
+ .string "Oh… Are you maybe tired from searching\n"
+ .string "for this place?$"
+
+SecretBase_RedCave1_Text_275367:: @ 8275367
+ .string "I went down…$"
+
+SecretBase_RedCave1_Text_275374: @ 8275374
+ .string "Where’s your SECRET BASE?\n"
+ .string "I should go visit you there.$"
+
+SecretBase_RedCave1_Text_2753AB: @ 82753AB
+ .string "Some people make their SECRET BASES in\n"
+ .string "hard-to-find places.\l"
+ .string "Do they want to just lie low?$"
+
+SecretBase_RedCave1_Text_275405: @ 8275405
+ .string "People have told me that you can get\n"
+ .string "decorations in several ways.\p"
+ .string "We should have a race to see who can\n"
+ .string "get nicer decorations and furniture!\p"
+ .string "In the meantime, want to battle?$"
+
+SecretBase_RedCave1_Text_2754B2: @ 82754B2
+ .string "This is my SECRET BASE.\n"
+ .string "I can’t lose!$"
+
+SecretBase_RedCave1_Text_2754D8: @ 82754D8
+ .string "I’ll battle with you anytime.$"
+
+SecretBase_RedCave1_Text_2754F6:: @ 82754F6
+ .string "Huh?\n"
+ .string "Did I just lose?$"
+
+SecretBase_RedCave1_Text_27550C: @ 827550C
+ .string "I won’t lose at collecting decorations.\n"
+ .string "Come visit again!$"
+
+SecretBase_RedCave1_Text_275546: @ 8275546
+ .string "People have told me that you can get\n"
+ .string "decorations in several ways.\p"
+ .string "We should have a race to see who can\n"
+ .string "get nicer decorations and furniture!$"
+
+SecretBase_RedCave1_Text_2755D2: @ 82755D2
+ .string "I found a spot I liked, and I did it up\n"
+ .string "with my favorite decorations.\p"
+ .string "I raise my favorite POKéMON and grow\n"
+ .string "stronger with it.\p"
+ .string "That’s what I do.\n"
+ .string "Want to battle with me?$"
+
+SecretBase_RedCave1_Text_275679: @ 8275679
+ .string "Show me what you’re made of!$"
+
+SecretBase_RedCave1_Text_275696: @ 8275696
+ .string "I guess there are times when you’re not\n"
+ .string "into it.$"
+
+SecretBase_RedCave1_Text_2756C7:: @ 82756C7
+ .string "I know exactly what you’re made of now.$"
+
+SecretBase_RedCave1_Text_2756EF: @ 82756EF
+ .string "We can both become stronger.\n"
+ .string "Let’s keep at it!$"
+
+SecretBase_RedCave1_Text_27571E: @ 827571E
+ .string "I found a spot I liked, and I did it up\n"
+ .string "with my favorite decorations.\p"
+ .string "I raise my favorite POKéMON and grow\n"
+ .string "stronger with it.\p"
+ .string "Every day is a great day.$"
+
+SecretBase_RedCave1_Text_2757B5: @ 82757B5
+ .string "You can learn a lot about the taste\n"
+ .string "and sense of people by the kinds of\l"
+ .string "decorations they have, and how they\l"
+ .string "display them.\p"
+ .string "What do you think of my taste?\n"
+ .string "Are you speechless?\p"
+ .string "Want to see my taste in battling?$"
+
+SecretBase_RedCave1_Text_275884: @ 8275884
+ .string "There’s no holding back!$"
+
+SecretBase_RedCave1_Text_27589D: @ 827589D
+ .string "I’ll be happy to demonstrate my style\n"
+ .string "anytime.$"
+
+SecretBase_RedCave1_Text_2758CC:: @ 82758CC
+ .string "You’re supremely talented!\n"
+ .string "Your power seems to be limitless…$"
+
+SecretBase_RedCave1_Text_275909: @ 8275909
+ .string "What did you think of my style?\n"
+ .string "I’ll keep on polishing it!$"
+
+SecretBase_RedCave1_Text_275944: @ 8275944
+ .string "You can learn a lot about the taste\n"
+ .string "and sense of people by the kinds of\l"
+ .string "decorations they have, and how they\l"
+ .string "display them.\p"
+ .string "What do you think of my taste?\n"
+ .string "Are you speechless?$"
+
+EventScript_2759F1:: @ 82759F1
+ special sub_80E8C98
+ special sub_80E8BC8
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq EventScript_275BE8
+ checkpartymove MOVE_SECRET_POWER
+ setfieldeffectargument 0, VAR_RESULT
+ buffermovename 1, MOVE_SECRET_POWER
+ compare_var_to_value VAR_0x8007, 1
+ goto_eq EventScript_275A50
+ compare_var_to_value VAR_0x8007, 2
+ goto_eq EventScript_275A50
+ compare_var_to_value VAR_0x8007, 3
+ goto_eq EventScript_275A50
+ compare_var_to_value VAR_0x8007, 4
+ goto_eq EventScript_275A50
+ compare_var_to_value VAR_0x8007, 5
+ goto_eq EventScript_275AA9
+ compare_var_to_value VAR_0x8007, 6
+ goto_eq EventScript_275B02
+ end
+
+EventScript_275A50:: @ 8275A50
+ lockall
+ compare_var_to_value VAR_RESULT, 6
+ goto_eq EventScript_275A91
+ bufferpartymonnick 0, VAR_RESULT
+ msgbox gText_23B704, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_275CDE
+ msgbox Route103_Text_290771, 4
+ closemessage
+ dofieldeffect 11
+ waitstate
+ goto EventScript_275A9B
+ end
+
+EventScript_275A86:: @ 8275A86
+ lockall
+ dofieldeffect 11
+ waitstate
+ goto EventScript_275A9B
+ end
+
+EventScript_275A91:: @ 8275A91
+ msgbox gText_23B6E0, 4
+ releaseall
+ end
+
+EventScript_275A9B:: @ 8275A9B
+ msgbox gText_23B73E, 4
+ goto EventScript_275B5B
+ end
+
+EventScript_275AA9:: @ 8275AA9
+ lockall
+ compare_var_to_value VAR_RESULT, 6
+ goto_eq EventScript_275AEA
+ bufferpartymonnick 0, VAR_RESULT
+ msgbox Text_274779, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_275CDE
+ msgbox Route103_Text_290771, 4
+ closemessage
+ dofieldeffect 26
+ waitstate
+ goto EventScript_275AF4
+ end
+
+EventScript_275ADF:: @ 8275ADF
+ lockall
+ dofieldeffect 26
+ waitstate
+ goto EventScript_275AF4
+ end
+
+EventScript_275AEA:: @ 8275AEA
+ msgbox Text_274746, 4
+ releaseall
+ end
+
+EventScript_275AF4:: @ 8275AF4
+ msgbox Text_2747C2, 4
+ goto EventScript_275B5B
+ end
+
+EventScript_275B02:: @ 8275B02
+ lockall
+ compare_var_to_value VAR_RESULT, 6
+ goto_eq EventScript_275B43
+ bufferpartymonnick 0, VAR_RESULT
+ msgbox Text_274825, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_275CDE
+ msgbox Route103_Text_290771, 4
+ closemessage
+ dofieldeffect 27
+ waitstate
+ goto EventScript_275B4D
+ end
+
+EventScript_275B38:: @ 8275B38
+ lockall
+ dofieldeffect 27
+ waitstate
+ goto EventScript_275B4D
+ end
+
+EventScript_275B43:: @ 8275B43
+ msgbox Text_2747DD, 4
+ releaseall
+ end
+
+EventScript_275B4D:: @ 8275B4D
+ msgbox Text_274883, 4
+ goto EventScript_275B5B
+ end
+
+EventScript_275B5B:: @ 8275B5B
+ closemessage
+ playse SE_KAIDAN
+ setvar VAR_0x4097, 0
+ setflag FLAG_0x0AD
+ special sub_80E8E18
+ special sub_80E9068
+ setvar VAR_0x8004, 0
+ setvar VAR_0x8005, 0
+ special sub_80E933C
+ setvar VAR_0x4089, 1
+ waitstate
+ end
+
+SecretBase_RedCave1_EventScript_275B81:: @ 8275B81
+ applymovement 255, SecretBase_RedCave1_Movement_275BB4
+ waitmovement 0
+ setvar VAR_0x4097, 1
+ msgbox SecretBase_RedCave1_Text_23B759, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SecretBase_RedCave1_EventScript_275BAB
+ closemessage
+ playse SE_KAIDAN
+ special sub_80E9A90
+ end
+
+SecretBase_RedCave1_EventScript_275BAB:: @ 8275BAB
+ closemessage
+ setflag FLAG_0x060
+ special sub_80E91F8
+ waitstate
+ end
+
+SecretBase_RedCave1_Movement_275BB4: @ 8275BB4
+ step_up
+ step_up
+ step_end
+
+EventScript_275BB7:: @ 8275BB7
+ lockall
+ setvar VAR_0x4097, 1
+ playse SE_KAIDAN
+ special sub_80E9744
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_275BDB
+ clearflag FLAG_0x0AD
+ special sub_80E9068
+ setvar VAR_0x4089, 0
+ waitstate
+ end
+
+EventScript_275BDB:: @ 8275BDB
+ setflag FLAG_0x0AD
+ special sub_80E9068
+ setvar VAR_0x4089, 0
+ waitstate
+ end
+
+EventScript_275BE8:: @ 8275BE8
+ checkpartymove MOVE_SECRET_POWER
+ compare_var_to_value VAR_RESULT, 6
+ goto_eq EventScript_275C9A
+ setfieldeffectargument 0, VAR_RESULT
+ setorcopyvar VAR_0x8004, VAR_RESULT
+ lockall
+ special sub_8139200
+ msgbox Text_276A3D, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_275CDE
+ msgbox Text_2766AA, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_275CDE
+ fadescreenswapbuffers 1
+ special sub_80E9B70
+ closemessage
+ fadescreenswapbuffers 0
+ msgbox Text_276A95, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_275CDE
+ bufferpartymonnick 0, VAR_0x8004
+ buffermovename 1, MOVE_SECRET_POWER
+ msgbox Route103_Text_290771, 4
+ closemessage
+ closemessage
+ compare_var_to_value VAR_0x8007, 1
+ goto_eq EventScript_275A86
+ compare_var_to_value VAR_0x8007, 2
+ goto_eq EventScript_275A86
+ compare_var_to_value VAR_0x8007, 3
+ goto_eq EventScript_275A86
+ compare_var_to_value VAR_0x8007, 4
+ goto_eq EventScript_275A86
+ compare_var_to_value VAR_0x8007, 5
+ goto_eq EventScript_275ADF
+ compare_var_to_value VAR_0x8007, 6
+ goto_eq EventScript_275B38
+ releaseall
+ end
+
+EventScript_275C9A:: @ 8275C9A
+ lockall
+ compare_var_to_value VAR_0x8007, 1
+ goto_eq EventScript_275A91
+ compare_var_to_value VAR_0x8007, 2
+ goto_eq EventScript_275A91
+ compare_var_to_value VAR_0x8007, 3
+ goto_eq EventScript_275A91
+ compare_var_to_value VAR_0x8007, 4
+ goto_eq EventScript_275A91
+ compare_var_to_value VAR_0x8007, 5
+ goto_eq EventScript_275AEA
+ compare_var_to_value VAR_0x8007, 6
+ goto_eq EventScript_275B43
+ end
+
+EventScript_275CDE:: @ 8275CDE
+ closemessage
+ releaseall
+ end
+
+LittlerootTown_BrendansHouse_2F_EventScript_275CE1:: @ 8275CE1
+LittlerootTown_MaysHouse_2F_EventScript_275CE1:: @ 8275CE1
+SecretBase_RedCave1_EventScript_275CE1:: @ 8275CE1
+ setflag FLAG_0x0AE
+ setflag FLAG_0x0AF
+ setflag FLAG_0x0B0
+ setflag FLAG_0x0B1
+ setflag FLAG_0x0B2
+ setflag FLAG_0x0B3
+ setflag FLAG_0x0B4
+ setflag FLAG_0x0B5
+ setflag FLAG_0x0B6
+ setflag FLAG_0x0B7
+ setflag FLAG_0x0B8
+ setflag FLAG_0x0B9
+ setflag FLAG_0x0BA
+ setflag FLAG_0x0BB
+ return
+
+EventScript_275D0C:: @ 8275D0C
+ setvar VAR_0x8004, 0
+ setvar VAR_0x8005, 0
+ special sub_80E933C
+ setvar VAR_0x4089, 1
+ end
+
+EventScript_275D1F:: @ 8275D1F
+ setvar VAR_0x8005, 0
+ goto EventScript_275D2A
+ end
+
+EventScript_275D2A:: @ 8275D2A
+ special sub_8127E18
+ end
+
+EventScript_275D2E:: @ 8275D2E
+ setvar VAR_0x8004, 0
+ goto EventScript_275D39
+ end
+
+EventScript_275D39:: @ 8275D39
+ special sub_8129708
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq EventScript_275D63
+ addvar VAR_0x8004, 1
+ compare_var_to_value VAR_0x8005, 0
+ goto_eq EventScript_275D39
+ removeobject VAR_0x8006
+ setflag 0x8005
+ goto EventScript_275D39
+ end
+
+EventScript_275D63:: @ 8275D63
+ end
+
+SecretBase_BlueCave1_EventScript_275D64:: @ 8275D64
+SecretBase_BlueCave2_EventScript_275D64:: @ 8275D64
+SecretBase_BlueCave3_EventScript_275D64:: @ 8275D64
+SecretBase_BlueCave4_EventScript_275D64:: @ 8275D64
+SecretBase_BrownCave1_EventScript_275D64:: @ 8275D64
+SecretBase_BrownCave2_EventScript_275D64:: @ 8275D64
+SecretBase_BrownCave3_EventScript_275D64:: @ 8275D64
+SecretBase_BrownCave4_EventScript_275D64:: @ 8275D64
+SecretBase_RedCave1_EventScript_275D64:: @ 8275D64
+SecretBase_RedCave2_EventScript_275D64:: @ 8275D64
+SecretBase_RedCave3_EventScript_275D64:: @ 8275D64
+SecretBase_RedCave4_EventScript_275D64:: @ 8275D64
+SecretBase_Shrub1_EventScript_275D64:: @ 8275D64
+SecretBase_Shrub2_EventScript_275D64:: @ 8275D64
+SecretBase_Shrub3_EventScript_275D64:: @ 8275D64
+SecretBase_Shrub4_EventScript_275D64:: @ 8275D64
+SecretBase_Tree1_EventScript_275D64:: @ 8275D64
+SecretBase_Tree2_EventScript_275D64:: @ 8275D64
+SecretBase_Tree3_EventScript_275D64:: @ 8275D64
+SecretBase_Tree4_EventScript_275D64:: @ 8275D64
+SecretBase_YellowCave1_EventScript_275D64:: @ 8275D64
+SecretBase_YellowCave2_EventScript_275D64:: @ 8275D64
+SecretBase_YellowCave3_EventScript_275D64:: @ 8275D64
+SecretBase_YellowCave4_EventScript_275D64:: @ 8275D64
+ special sub_80EA354
+ compare_var_to_value VAR_0x8004, 0
+ goto_eq SecretBase_RedCave1_EventScript_275DD6
+ compare_var_to_value VAR_0x8004, 1
+ goto_eq SecretBase_RedCave1_EventScript_275E4E
+ compare_var_to_value VAR_0x8004, 2
+ goto_eq SecretBase_RedCave1_EventScript_275EC6
+ compare_var_to_value VAR_0x8004, 3
+ goto_eq SecretBase_RedCave1_EventScript_275F3E
+ compare_var_to_value VAR_0x8004, 4
+ goto_eq SecretBase_RedCave1_EventScript_275FB6
+ compare_var_to_value VAR_0x8004, 5
+ goto_eq SecretBase_RedCave1_EventScript_27602E
+ compare_var_to_value VAR_0x8004, 6
+ goto_eq SecretBase_RedCave1_EventScript_2760A6
+ compare_var_to_value VAR_0x8004, 7
+ goto_eq SecretBase_RedCave1_EventScript_27611E
+ compare_var_to_value VAR_0x8004, 8
+ goto_eq SecretBase_RedCave1_EventScript_276196
+ compare_var_to_value VAR_0x8004, 9
+ goto_eq SecretBase_RedCave1_EventScript_27620E
+ end
+
+SecretBase_RedCave1_EventScript_275DD6:: @ 8275DD6
+ lock
+ faceplayer
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_if 0, SecretBase_RedCave1_EventScript_275E25
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SecretBase_RedCave1_EventScript_275E44
+ msgbox SecretBase_RedCave1_Text_2748A0, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SecretBase_RedCave1_EventScript_275E2F
+ setvar VAR_RESULT, 1
+ special sub_80EA30C
+ call SecretBase_RedCave1_EventScript_27134F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SecretBase_RedCave1_EventScript_275E2F
+ msgbox SecretBase_RedCave1_Text_274939, 4
+ goto SecretBase_RedCave1_EventScript_276286
+ end
+
+SecretBase_RedCave1_EventScript_275E25:: @ 8275E25
+ msgbox SecretBase_RedCave1_Text_2749ED, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_275E2F:: @ 8275E2F
+ special sub_80EB300
+ setvar VAR_RESULT, 0
+ special sub_80EA30C
+ msgbox SecretBase_RedCave1_Text_27494D, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_275E44:: @ 8275E44
+ msgbox SecretBase_RedCave1_Text_2749AA, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_275E4E:: @ 8275E4E
+ lock
+ faceplayer
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_if 0, SecretBase_RedCave1_EventScript_275E9D
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SecretBase_RedCave1_EventScript_275EBC
+ msgbox SecretBase_RedCave1_Text_274C13, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SecretBase_RedCave1_EventScript_275EA7
+ setvar VAR_RESULT, 1
+ special sub_80EA30C
+ call SecretBase_RedCave1_EventScript_27134F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SecretBase_RedCave1_EventScript_275EA7
+ msgbox SecretBase_RedCave1_Text_274CB0, 4
+ goto SecretBase_RedCave1_EventScript_276286
+ end
+
+SecretBase_RedCave1_EventScript_275E9D:: @ 8275E9D
+ msgbox SecretBase_RedCave1_Text_274D69, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_275EA7:: @ 8275EA7
+ special sub_80EB300
+ setvar VAR_RESULT, 0
+ special sub_80EA30C
+ msgbox SecretBase_RedCave1_Text_274CDA, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_275EBC:: @ 8275EBC
+ msgbox SecretBase_RedCave1_Text_274D34, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_275EC6:: @ 8275EC6
+ lock
+ faceplayer
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_if 0, SecretBase_RedCave1_EventScript_275F15
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SecretBase_RedCave1_EventScript_275F34
+ msgbox SecretBase_RedCave1_Text_274F39, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SecretBase_RedCave1_EventScript_275F1F
+ setvar VAR_RESULT, 1
+ special sub_80EA30C
+ call SecretBase_RedCave1_EventScript_27134F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SecretBase_RedCave1_EventScript_275F1F
+ msgbox SecretBase_RedCave1_Text_274FCA, 4
+ goto SecretBase_RedCave1_EventScript_276286
+ end
+
+SecretBase_RedCave1_EventScript_275F15:: @ 8275F15
+ msgbox SecretBase_RedCave1_Text_2750A4, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_275F1F:: @ 8275F1F
+ special sub_80EB300
+ setvar VAR_RESULT, 0
+ special sub_80EA30C
+ msgbox SecretBase_RedCave1_Text_274FDA, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_275F34:: @ 8275F34
+ msgbox SecretBase_RedCave1_Text_27502A, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_275F3E:: @ 8275F3E
+ lock
+ faceplayer
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_if 0, SecretBase_RedCave1_EventScript_275F8D
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SecretBase_RedCave1_EventScript_275FAC
+ msgbox SecretBase_RedCave1_Text_275287, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SecretBase_RedCave1_EventScript_275F97
+ setvar VAR_RESULT, 1
+ special sub_80EA30C
+ call SecretBase_RedCave1_EventScript_27134F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SecretBase_RedCave1_EventScript_275F97
+ msgbox SecretBase_RedCave1_Text_275315, 4
+ goto SecretBase_RedCave1_EventScript_276286
+ end
+
+SecretBase_RedCave1_EventScript_275F8D:: @ 8275F8D
+ msgbox SecretBase_RedCave1_Text_2753AB, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_275F97:: @ 8275F97
+ special sub_80EB300
+ setvar VAR_RESULT, 0
+ special sub_80EA30C
+ msgbox SecretBase_RedCave1_Text_275330, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_275FAC:: @ 8275FAC
+ msgbox SecretBase_RedCave1_Text_275374, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_275FB6:: @ 8275FB6
+ lock
+ faceplayer
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_if 0, SecretBase_RedCave1_EventScript_276005
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SecretBase_RedCave1_EventScript_276024
+ msgbox SecretBase_RedCave1_Text_2755D2, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SecretBase_RedCave1_EventScript_27600F
+ setvar VAR_RESULT, 1
+ special sub_80EA30C
+ call SecretBase_RedCave1_EventScript_27134F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SecretBase_RedCave1_EventScript_27600F
+ msgbox SecretBase_RedCave1_Text_275679, 4
+ goto SecretBase_RedCave1_EventScript_276286
+ end
+
+SecretBase_RedCave1_EventScript_276005:: @ 8276005
+ msgbox SecretBase_RedCave1_Text_27571E, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_27600F:: @ 827600F
+ special sub_80EB300
+ setvar VAR_RESULT, 0
+ special sub_80EA30C
+ msgbox SecretBase_RedCave1_Text_275696, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_276024:: @ 8276024
+ msgbox SecretBase_RedCave1_Text_2756EF, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_27602E:: @ 827602E
+ lock
+ faceplayer
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_if 0, SecretBase_RedCave1_EventScript_27607D
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SecretBase_RedCave1_EventScript_27609C
+ msgbox SecretBase_RedCave1_Text_274A64, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SecretBase_RedCave1_EventScript_276087
+ setvar VAR_RESULT, 1
+ special sub_80EA30C
+ call SecretBase_RedCave1_EventScript_27134F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SecretBase_RedCave1_EventScript_276087
+ msgbox SecretBase_RedCave1_Text_274AFA, 4
+ goto SecretBase_RedCave1_EventScript_276286
+ end
+
+SecretBase_RedCave1_EventScript_27607D:: @ 827607D
+ msgbox SecretBase_RedCave1_Text_274BA2, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_276087:: @ 8276087
+ special sub_80EB300
+ setvar VAR_RESULT, 0
+ special sub_80EA30C
+ msgbox SecretBase_RedCave1_Text_274B0B, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_27609C:: @ 827609C
+ msgbox SecretBase_RedCave1_Text_274B6C, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_2760A6:: @ 82760A6
+ lock
+ faceplayer
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_if 0, SecretBase_RedCave1_EventScript_2760F5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SecretBase_RedCave1_EventScript_276114
+ msgbox SecretBase_RedCave1_Text_274DD2, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SecretBase_RedCave1_EventScript_2760FF
+ setvar VAR_RESULT, 1
+ special sub_80EA30C
+ call SecretBase_RedCave1_EventScript_27134F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SecretBase_RedCave1_EventScript_2760FF
+ msgbox SecretBase_RedCave1_Text_274E41, 4
+ goto SecretBase_RedCave1_EventScript_276286
+ end
+
+SecretBase_RedCave1_EventScript_2760F5:: @ 82760F5
+ msgbox SecretBase_RedCave1_Text_274EF1, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_2760FF:: @ 82760FF
+ special sub_80EB300
+ setvar VAR_RESULT, 0
+ special sub_80EA30C
+ msgbox SecretBase_RedCave1_Text_274E5A, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_276114:: @ 8276114
+ msgbox SecretBase_RedCave1_Text_274EB3, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_27611E:: @ 827611E
+ lock
+ faceplayer
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_if 0, SecretBase_RedCave1_EventScript_27616D
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SecretBase_RedCave1_EventScript_27618C
+ msgbox SecretBase_RedCave1_Text_275114, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SecretBase_RedCave1_EventScript_276177
+ setvar VAR_RESULT, 1
+ special sub_80EA30C
+ call SecretBase_RedCave1_EventScript_27134F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SecretBase_RedCave1_EventScript_276177
+ msgbox SecretBase_RedCave1_Text_2751AF, 4
+ goto SecretBase_RedCave1_EventScript_276286
+ end
+
+SecretBase_RedCave1_EventScript_27616D:: @ 827616D
+ msgbox SecretBase_RedCave1_Text_275226, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_276177:: @ 8276177
+ special sub_80EB300
+ setvar VAR_RESULT, 0
+ special sub_80EA30C
+ msgbox SecretBase_RedCave1_Text_2751CA, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_27618C:: @ 827618C
+ msgbox SecretBase_RedCave1_Text_2751EC, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_276196:: @ 8276196
+ lock
+ faceplayer
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_if 0, SecretBase_RedCave1_EventScript_2761E5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SecretBase_RedCave1_EventScript_276204
+ msgbox SecretBase_RedCave1_Text_275405, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SecretBase_RedCave1_EventScript_2761EF
+ setvar VAR_RESULT, 1
+ special sub_80EA30C
+ call SecretBase_RedCave1_EventScript_27134F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SecretBase_RedCave1_EventScript_2761EF
+ msgbox SecretBase_RedCave1_Text_2754B2, 4
+ goto SecretBase_RedCave1_EventScript_276286
+ end
+
+SecretBase_RedCave1_EventScript_2761E5:: @ 82761E5
+ msgbox SecretBase_RedCave1_Text_275546, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_2761EF:: @ 82761EF
+ special sub_80EB300
+ setvar VAR_RESULT, 0
+ special sub_80EA30C
+ msgbox SecretBase_RedCave1_Text_2754D8, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_276204:: @ 8276204
+ msgbox SecretBase_RedCave1_Text_27550C, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_27620E:: @ 827620E
+ lock
+ faceplayer
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_if 0, SecretBase_RedCave1_EventScript_27625D
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SecretBase_RedCave1_EventScript_27627C
+ msgbox SecretBase_RedCave1_Text_2757B5, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SecretBase_RedCave1_EventScript_276267
+ setvar VAR_RESULT, 1
+ special sub_80EA30C
+ call SecretBase_RedCave1_EventScript_27134F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SecretBase_RedCave1_EventScript_276267
+ msgbox SecretBase_RedCave1_Text_275884, 4
+ goto SecretBase_RedCave1_EventScript_276286
+ end
+
+SecretBase_RedCave1_EventScript_27625D:: @ 827625D
+ msgbox SecretBase_RedCave1_Text_275944, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_276267:: @ 8276267
+ special sub_80EB300
+ setvar VAR_RESULT, 0
+ special sub_80EA30C
+ msgbox SecretBase_RedCave1_Text_27589D, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_27627C:: @ 827627C
+ msgbox SecretBase_RedCave1_Text_275909, 4
+ release
+ end
+
+SecretBase_RedCave1_EventScript_276286:: @ 8276286
+ special sub_80EA2E4
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 0
+ special sub_8163AC4
+ waitstate
+ compare_var_to_value VAR_RESULT, 3
+ call_if 1, SecretBase_RedCave1_EventScript_2762BD
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, SecretBase_RedCave1_EventScript_2762C1
+ compare_var_to_value VAR_RESULT, 2
+ call_if 1, SecretBase_RedCave1_EventScript_2762C5
+ special sp000_heal_pokemon
+ release
+ end
+
+SecretBase_RedCave1_EventScript_2762BD:: @ 82762BD
+ special sub_80EB438
+ return
+
+SecretBase_RedCave1_EventScript_2762C1:: @ 82762C1
+ special sub_80EB368
+ return
+
+SecretBase_RedCave1_EventScript_2762C5:: @ 82762C5
+ special sub_80EB3D0
+ return
+
+ .include "data/scripts/secret_power_tm.inc"
+
+Text_2766AA: @ 82766AA
+ .string "All decorations and furniture in your\n"
+ .string "SECRET BASE will be returned to your PC.\p"
+ .string "Is that okay?$"
+
+Text_276707: @ 8276707
+ .string "Do you want to register\n"
+ .string "{STR_VAR_1}’s SECRET BASE?$"
+
+Text_276731: @ 8276731
+ .string "This data is already registered.\n"
+ .string "Would you like to delete it?$"
+
+Text_27676F: @ 827676F
+ .string "Up to 10 locations can be registered.\p"
+ .string "Delete a location if you want to\n"
+ .string "register another location.$"
+
+Text_2767D1: @ 82767D1
+ .string "Registration completed.$"
+
+Text_2767E9: @ 82767E9
+ .string "Data has been unregistered.$"
+
+Text_276805: @ 8276805
+ .string "{PLAYER} booted up the PC.$"
-gUnknown_0827737E:: @ 827737E
- .incbin "baserom.gba", 0x27737e, 0xa
+Text_27681A: @ 827681A
+ .string "What would you like to do?$"
-gUnknown_08277388:: @ 8277388
- .incbin "baserom.gba", 0x277388, 0x1b
+Text_276835: @ 8276835
+ .string "Once registered, a SECRET BASE will not\n"
+ .string "disappear unless the other TRAINER\l"
+ .string "moves it to a different location.\p"
+ .string "If a SECRET BASE is deleted from the\n"
+ .string "registered list, another one may take\l"
+ .string "its place.\p"
+ .string "Up to ten SECRET BASE locations\n"
+ .string "may be registered.$"
-gUnknown_082773A3:: @ 82773A3
- .incbin "baserom.gba", 0x2773a3, 0x1b
+Text_27692B: @ 827692B
+ .string "A shield of {STR_VAR_2} that marks winning\n"
+ .string "{STR_VAR_1} times in a row at the BATTLE TOWER.$"
-gUnknown_082773BE:: @ 82773BE
- .incbin "baserom.gba", 0x2773be, 0x1b
+Text_276974: @ 8276974
+ .string "A realistic toy TV. It could be easily\n"
+ .string "mistaken for the real thing.$"
-gUnknown_082773D9:: @ 82773D9
- .incbin "baserom.gba", 0x2773d9, 0x1c
+Text_2769B8: @ 82769B8
+ .string "A toy TV shaped like a SEEDOT.\n"
+ .string "It looks ready to roll away on its own…$"
-gUnknown_082773F5:: @ 82773F5
- .incbin "baserom.gba", 0x2773f5, 0xa
+Text_2769FF: @ 82769FF
+ .string "A toy TV shaped like a SKITTY.\n"
+ .string "It looks ready to stroll away…$"
-gUnknown_082773FF:: @ 82773FF
- .incbin "baserom.gba", 0x2773ff, 0x1e
+Text_276A3D: @ 8276A3D
+ .string "You may only make one SECRET BASE.\p"
+ .string "Would you like to move from the SECRET\n"
+ .string "BASE near {STR_VAR_1}?$"
-gUnknown_0827741D:: @ 827741D
- .incbin "baserom.gba", 0x27741d, 0x15
+Text_276A95: @ 8276A95
+ .string "Moving completed.\p"
+ .string "Would you like to use the SECRET POWER?$"
-gUnknown_08277432:: @ 8277432
- .incbin "baserom.gba", 0x277432, 0x15
+ .include "data/scripts/cable_club.inc"
+ .include "data/scripts/contest_hall.inc"
+ .include "data/text/contest_strings.inc"
-gUnknown_08277447:: @ 8277447
- .incbin "baserom.gba", 0x277447, 0x15
+gUnknown_0827E8CE:: @ 827E8CE
+ .string "Missed turn$"
-gUnknown_0827745C:: @ 827745C
- .incbin "baserom.gba", 0x27745c, 0x22
+gUnknown_0827E8DA:: @ 827E8DA
+ .string "Link standby!$"
-gUnknown_0827747E:: @ 827747E
- .incbin "baserom.gba", 0x27747e, 0xf
+gUnknown_0827E8E8:: @ 827E8E8
+ .string "The winner is {STR_VAR_1}’s {STR_VAR_2}!\n"
+ .string "Congratulations!$"
-gUnknown_0827748D:: @ 827748D
- .incbin "baserom.gba", 0x27748d, 0xf
+gUnknown_0827E910:: @ 827E910
+ .string "The winner is {STR_VAR_1}’s {STR_VAR_2}!{PAUSE_UNTIL_PRESS}$"
-gUnknown_0827749C:: @ 827749C
- .incbin "baserom.gba", 0x27749c, 0x53
+gUnknown_0827E929:: @ 827E929
+ .string "Primary judging: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$"
-gUnknown_082774EF:: @ 82774EF
- .incbin "baserom.gba", 0x2774ef, 0x1a
+gUnknown_0827E943:: @ 827E943
+ .string "Secondary judging: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$"
-gUnknown_08277509:: @ 8277509
- .incbin "baserom.gba", 0x277509, 0xa
+gUnknown_0827E95F:: @ 827E95F
+ .string "Set event: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$"
-gUnknown_08277513:: @ 8277513
- .incbin "baserom.gba", 0x277513, 0x677
+gUnknown_0827E973:: @ 827E973
+ .string "The move used most often:\n"
+ .string "{STR_VAR_1}{PAUSE_UNTIL_PRESS}$"
-gUnknown_08277B8A:: @ 8277B8A
- .incbin "baserom.gba", 0x277b8a, 0x507
+gUnknown_0827E992:: @ 827E992
+ .string "The most impressive POKéMON:\n"
+ .string "{STR_VAR_1}’s {STR_VAR_2}{PAUSE_UNTIL_PRESS}$"
-gUnknown_08278091:: @ 8278091
- .incbin "baserom.gba", 0x278091, 0x22
+gUnknown_0827E9B9:: @ 827E9B9
+ .string "Set event: No. {STR_VAR_1}{PAUSE_UNTIL_PRESS}$"
-gUnknown_082780B3:: @ 82780B3
- .incbin "baserom.gba", 0x2780b3, 0x3f
+gUnknown_0827E9CD:: @ 827E9CD
+ .string "A link TV program will not be made\n"
+ .string "because the TRAINER lost.{PAUSE_UNTIL_PRESS}$"
-gUnknown_082780F2:: @ 82780F2
- .incbin "baserom.gba", 0x2780f2, 0x3f
+gUnknown_0827EA0C:: @ 827EA0C
+ .string "{STR_VAR_1}\n"
+ .string "{STR_VAR_2}’s {STR_VAR_3}$"
-gUnknown_08278131:: @ 8278131
- .incbin "baserom.gba", 0x278131, 0x4a51
+gUnknown_0827EA17:: @ 827EA17
+ .string "CONTEST$"
-@ 827CB82
- .include "data/text/contest_text.inc"
+ .string "NORMAL RANK$"
-gUnknown_0827D507:: @ 827D507
- .incbin "baserom.gba", 0x27d507, 0x2a
+ .string "SUPER RANK$"
-gUnknown_0827D531:: @ 827D531
- .incbin "baserom.gba", 0x27d531, 0x29
+ .string "HYPER RANK$"
-gUnknown_0827D55A:: @ 827D55A
- .incbin "baserom.gba", 0x27d55a, 0x15
+ .string "MASTER RANK$"
-gUnknown_0827D56F:: @ 827D56F
- .incbin "baserom.gba", 0x27d56f, 0x28
+ .string "LINK$"
-gUnknown_0827D597:: @ 827D597
- .incbin "baserom.gba", 0x27d597, 0xd67
+ .string "COOLNESS$"
-gUnknown_0827E2FE:: @ 827E2FE
- .incbin "baserom.gba", 0x27e2fe, 0x30
+ .string "BEAUTY$"
-gUnknown_0827E32E:: @ 827E32E
- .incbin "baserom.gba", 0x27e32e, 0x2d
+ .string "CUTENESS$"
-gUnknown_0827E35B:: @ 827E35B
- .incbin "baserom.gba", 0x27e35b, 0x32
+ .string "SMARTNESS$"
-gUnknown_0827E38D:: @ 827E38D
- .incbin "baserom.gba", 0x27e38d, 0x1fd
+ .string "TOUGHNESS$"
-gUnknown_0827E58A:: @ 827E58A
- .incbin "baserom.gba", 0x27e58a, 0x159
+ .string "Nonstop supercool--\n"
+ .string "the inestimable {STR_VAR_1}$"
-gUnknown_0827E6E3:: @ 827E6E3
- .incbin "baserom.gba", 0x27e6e3, 0x34
+ .string "Hey, there!\n"
+ .string "The good-looking POKéMON {STR_VAR_1}$"
-gUnknown_0827E717:: @ 827E717
- .incbin "baserom.gba", 0x27e717, 0x25
+ .string "The marvelous, wonderful, and\n"
+ .string "very great {STR_VAR_1}$"
-gUnknown_0827E73C:: @ 827E73C
- .incbin "baserom.gba", 0x27e73c, 0x2e
+ .string "This century’s last Venus--\n"
+ .string "the beautiful {STR_VAR_1}$"
-gUnknown_0827E76A:: @ 827E76A
- .incbin "baserom.gba", 0x27e76a, 0x29
+ .string "{STR_VAR_1}’s dazzling,\n"
+ .string "glittering smile$"
-gUnknown_0827E793:: @ 827E793
- .incbin "baserom.gba", 0x27e793, 0x57
+ .string "POKéMON CENTER’s super idol--\n"
+ .string "the incomparable {STR_VAR_1}$"
-gUnknown_0827E7EA:: @ 827E7EA
- .incbin "baserom.gba", 0x27e7ea, 0x2d
+ .string "The lovely and sweet {STR_VAR_1}$"
-gUnknown_0827E817:: @ 827E817
- .incbin "baserom.gba", 0x27e817, 0x20
+ .string "The pretty {STR_VAR_1}’s\n"
+ .string "winning portrait$"
-gUnknown_0827E837:: @ 827E837
- .incbin "baserom.gba", 0x27e837, 0x8
+ .string "Give us a wink!\n"
+ .string "The cutie POKéMON {STR_VAR_1}$"
-gUnknown_0827E83F:: @ 827E83F
- .incbin "baserom.gba", 0x27e83f, 0x8
+ .string "The smartness maestro--\n"
+ .string "the wise POKéMON {STR_VAR_1}$"
-gUnknown_0827E847:: @ 827E847
- .incbin "baserom.gba", 0x27e847, 0x9
+ .string "{STR_VAR_1}--the one chosen\n"
+ .string "above all POKéMON$"
-gUnknown_0827E850:: @ 827E850
- .incbin "baserom.gba", 0x27e850, 0xa
+ .string "The excellent {STR_VAR_1}’s\n"
+ .string "moment of elegance$"
-gUnknown_0827E85A:: @ 827E85A
- .incbin "baserom.gba", 0x27e85a, 0x80
+ .string "The powerfully muscular\n"
+ .string "speedster {STR_VAR_1}$"
-gUnknown_0827E8DA:: @ 827E8DA
- .incbin "baserom.gba", 0x27e8da, 0x132
+ .string "The strong, stronger, and\n"
+ .string "strongest {STR_VAR_1}$"
-gUnknown_0827EA0C:: @ 827EA0C
- .incbin "baserom.gba", 0x27ea0c, 0x2b0
+ .string "The mighty tough\n"
+ .string "hyper POKéMON {STR_VAR_1}$"
gUnknown_0827ECBC:: @ 27ECBC
- .incbin "baserom.gba", 0x27ecbc, 0x7
+ .string "ODDISH$"
gUnknown_0827ECC3:: @ 27ECC3
- .incbin "baserom.gba", 0x27ecc3, 0xa
+ .string "POOCHYENA$"
gUnknown_0827ECCD:: @ 27ECCD
- .incbin "baserom.gba", 0x27eccd, 0x8
+ .string "TAILLOW$"
gUnknown_0827ECD5:: @ 27ECD5
- .incbin "baserom.gba", 0x27ecd5, 0x8
+ .string "AZURILL$"
gUnknown_0827ECDD:: @ 27ECDD
- .incbin "baserom.gba", 0x27ecdd, 0x6
+ .string "LOTAD$"
gUnknown_0827ECE3:: @ 27ECE3
- .incbin "baserom.gba", 0x27ece3, 0x8
+ .string "WINGULL$"
gUnknown_0827ECEB:: @ 27ECEB
- .incbin "baserom.gba", 0x27eceb, 0x7
+ .string "DUSTOX$"
gUnknown_0827ECF2:: @ 27ECF2
- .incbin "baserom.gba", 0x27ecf2, 0x6
+ .string "ZUBAT$"
gUnknown_0827ECF8:: @ 27ECF8
- .incbin "baserom.gba", 0x27ecf8, 0x8
+ .string "NINCADA$"
gUnknown_0827ED00:: @ 27ED00
- .incbin "baserom.gba", 0x27ed00, 0x6
+ .string "RALTS$"
gUnknown_0827ED06:: @ 27ED06
- .incbin "baserom.gba", 0x27ed06, 0xa
+ .string "ZIGZAGOON$"
gUnknown_0827ED10:: @ 27ED10
- .incbin "baserom.gba", 0x27ed10, 0x8
+ .string "SLAKOTH$"
gUnknown_0827ED18:: @ 27ED18
- .incbin "baserom.gba", 0x27ed18, 0xa
+ .string "POOCHYENA$"
gUnknown_0827ED22:: @ 27ED22
- .incbin "baserom.gba", 0x27ed22, 0xa
+ .string "SHROOMISH$"
gUnknown_0827ED2C:: @ 27ED2C
- .incbin "baserom.gba", 0x27ed2c, 0xa
+ .string "ZIGZAGOON$"
gUnknown_0827ED36:: @ 27ED36
- .incbin "baserom.gba", 0x27ed36, 0xa
+ .string "POOCHYENA$"
gUnknown_0827ED40:: @ 27ED40
- .incbin "baserom.gba", 0x27ed40, 0x6
+ .string "ZUBAT$"
gUnknown_0827ED46:: @ 27ED46
- .incbin "baserom.gba", 0x27ed46, 0x9
+ .string "CARVANHA$"
gUnknown_0827ED4F:: @ 27ED4F
- .incbin "baserom.gba", 0x27ed4f, 0xa
+ .string "BURN HEAL$"
gUnknown_0827ED59:: @ 27ED59
- .incbin "baserom.gba", 0x27ed59, 0xc
+ .string "HARBOR MAIL$"
gUnknown_0827ED65:: @ 27ED65
- .incbin "baserom.gba", 0x27ed65, 0xb
+ .string "Same price$"
gUnknown_0827ED70:: @ 27ED70
- .incbin "baserom.gba", 0x27ed70, 0x4
+ .string "¥60$"
gUnknown_0827ED74:: @ 27ED74
- .incbin "baserom.gba", 0x27ed74, 0x4
+ .string "¥55$"
gUnknown_0827ED78:: @ 27ED78
- .incbin "baserom.gba", 0x27ed78, 0x8
+ .string "Nothing$"
gUnknown_0827ED80:: @ 27ED80
- .incbin "baserom.gba", 0x27ed80, 0x15
+ .string "They will cost more.$"
gUnknown_0827ED95:: @ 27ED95
- .incbin "baserom.gba", 0x27ed95, 0x15
+ .string "They will cost less.$"
gUnknown_0827EDAA:: @ 27EDAA
- .incbin "baserom.gba", 0x27edaa, 0xb
+ .string "Same price$"
gUnknown_0827EDB5:: @ 27EDB5
- .incbin "baserom.gba", 0x27edb5, 0x5
+ .string "Male$"
gUnknown_0827EDBA:: @ 27EDBA
- .incbin "baserom.gba", 0x27edba, 0x7
+ .string "Female$"
gUnknown_0827EDC1:: @ 27EDC1
- .incbin "baserom.gba", 0x27edc1, 0x8
+ .string "Neither$"
gUnknown_0827EDC9:: @ 27EDC9
- .incbin "baserom.gba", 0x27edc9, 0xc
+ .string "Elderly men$"
gUnknown_0827EDD5:: @ 27EDD5
- .incbin "baserom.gba", 0x27edd5, 0xf
+ .string "Elderly ladies$"
gUnknown_0827EDE4:: @ 27EDE4
- .incbin "baserom.gba", 0x27ede4, 0xc
+ .string "Same number$"
gUnknown_0827EDF0:: @ 27EDF0
- .incbin "baserom.gba", 0x27edf0, 0x5
+ .string "None$"
gUnknown_0827EDF5:: @ 27EDF5
- .incbin "baserom.gba", 0x27edf5, 0x2
+ .string "1$"
gUnknown_0827EDF7:: @ 27EDF7
- .incbin "baserom.gba", 0x27edf7, 0x2
+ .string "2$"
gUnknown_0827EDF9:: @ 27EDF9
- .incbin "baserom.gba", 0x27edf9, 0x2
+ .string "2$"
gUnknown_0827EDFB:: @ 27EDFB
- .incbin "baserom.gba", 0x27edfb, 0x2
+ .string "3$"
gUnknown_0827EDFD:: @ 27EDFD
- .incbin "baserom.gba", 0x27edfd, 0x2
+ .string "4$"
gUnknown_0827EDFF:: @ 27EDFF
- .incbin "baserom.gba", 0x27edff, 0x2
+ .string "6$"
gUnknown_0827EE01:: @ 27EE01
- .incbin "baserom.gba", 0x27ee01, 0x2
+ .string "7$"
gUnknown_0827EE03:: @ 27EE03
- .incbin "baserom.gba", 0x27ee03, 0x2
+ .string "8$"
gUnknown_0827EE05:: @ 27EE05
- .incbin "baserom.gba", 0x27ee05, 0x2
+ .string "6$"
gUnknown_0827EE07:: @ 27EE07
- .incbin "baserom.gba", 0x27ee07, 0x2
+ .string "7$"
gUnknown_0827EE09:: @ 27EE09
- .incbin "baserom.gba", 0x27ee09, 0x2
-
-gUnknown_0827EE0B:: @ 827EE0B
- .incbin "baserom.gba", 0x27ee0b, 0x46a
+ .string "8$"
+ .include "data/scripts/tv.inc"
.include "data/text/tv.inc"
- .incbin "baserom.gba", 0x0028c7e9, 0x90f
-
+BattleFrontier_BattleTowerLobby_EventScript_28C7E9:: @ 828C7E9
+LilycoveCity_ContestLobby_EventScript_28C7E9:: @ 828C7E9
+SlateportCity_OceanicMuseum_1F_EventScript_28C7E9:: @ 828C7E9
+SlateportCity_PokemonFanClub_EventScript_28C7E9:: @ 828C7E9
+ special InterviewAfter
+ incrementgamestat 6
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_28C7F0:: @ 828C7F0
+ setvar VAR_0x8005, 1
+ special InterviewBefore
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SlateportCity_PokemonFanClub_EventScript_28C879
+ copyvar VAR_0x8009, VAR_0x8006
+ msgbox SlateportCity_PokemonFanClub_Text_280674, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SlateportCity_PokemonFanClub_EventScript_28C827
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_PokemonFanClub_EventScript_28C85C
+ end
+
+SlateportCity_PokemonFanClub_EventScript_28C827:: @ 828C827
+ msgbox SlateportCity_PokemonFanClub_Text_28073B, 4
+ setvar VAR_0x8004, 5
+ copyvar VAR_0x8005, VAR_0x8009
+ setvar VAR_0x8006, 1
+ call SlateportCity_PokemonFanClub_EventScript_271E7C
+ lock
+ faceplayer
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SlateportCity_PokemonFanClub_EventScript_28C866
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_PokemonFanClub_EventScript_28C85C
+ end
+
+SlateportCity_PokemonFanClub_EventScript_28C85C:: @ 828C85C
+ msgbox SlateportCity_PokemonFanClub_Text_2805E2, 4
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_28C866:: @ 828C866
+ msgbox SlateportCity_PokemonFanClub_Text_280789, 4
+ setvar VAR_0x8005, 1
+ goto SlateportCity_PokemonFanClub_EventScript_28C7E9
+ end
+
+SlateportCity_PokemonFanClub_EventScript_28C879:: @ 828C879
+ msgbox SlateportCity_PokemonFanClub_Text_28062E, 4
+ release
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_28C883:: @ 828C883
+ lock
+ faceplayer
+ setvar VAR_0x8005, 2
+ special InterviewBefore
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C939
+ copyvar VAR_0x8009, VAR_0x8006
+ checkflag FLAG_0x069
+ goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8C8
+ setflag FLAG_0x069
+ msgbox SlateportCity_OceanicMuseum_1F_Text_2811A0, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8E7
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_28C8C8:: @ 828C8C8
+ msgbox SlateportCity_OceanicMuseum_1F_Text_28126D, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8E7
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_28C8E7:: @ 828C8E7
+ msgbox SlateportCity_OceanicMuseum_1F_Text_2812F2, 4
+ setvar VAR_0x8004, 5
+ copyvar VAR_0x8005, VAR_0x8009
+ setvar VAR_0x8006, 0
+ call SlateportCity_OceanicMuseum_1F_EventScript_271E7C
+ lock
+ faceplayer
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C926
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_28C91C:: @ 828C91C
+ msgbox SlateportCity_OceanicMuseum_1F_Text_281367, 4
+ release
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_28C926:: @ 828C926
+ msgbox SlateportCity_OceanicMuseum_1F_Text_2813B9, 4
+ setvar VAR_0x8005, 2
+ goto SlateportCity_OceanicMuseum_1F_EventScript_28C7E9
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_28C939:: @ 828C939
+ msgbox SlateportCity_OceanicMuseum_1F_Text_28144D, 4
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_28C943:: @ 828C943
+ lock
+ faceplayer
+ specialvar VAR_RESULT, sub_80EF8F8
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_PokemonFanClub_EventScript_28C7F0
+ setvar VAR_0x8005, 3
+ special InterviewBefore
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SlateportCity_PokemonFanClub_EventScript_28CA4F
+ copyvar VAR_0x8009, VAR_0x8006
+ msgbox SlateportCity_PokemonFanClub_Text_280270, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SlateportCity_PokemonFanClub_EventScript_28C98C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_PokemonFanClub_EventScript_28CA45
+ end
+
+SlateportCity_PokemonFanClub_EventScript_28C98C:: @ 828C98C
+ msgbox SlateportCity_PokemonFanClub_Text_28034F, 4
+ random 3
+ copyvar VAR_0x800A, VAR_RESULT
+ switch VAR_RESULT
+ case 0, SlateportCity_PokemonFanClub_EventScript_28C9C3
+ case 1, SlateportCity_PokemonFanClub_EventScript_28C9D1
+ case 2, SlateportCity_PokemonFanClub_EventScript_28C9DF
+ end
+
+SlateportCity_PokemonFanClub_EventScript_28C9C3:: @ 828C9C3
+ msgbox SlateportCity_PokemonFanClub_Text_280393, 4
+ goto SlateportCity_PokemonFanClub_EventScript_28C9ED
+ end
+
+SlateportCity_PokemonFanClub_EventScript_28C9D1:: @ 828C9D1
+ msgbox SlateportCity_PokemonFanClub_Text_2803EF, 4
+ goto SlateportCity_PokemonFanClub_EventScript_28C9ED
+ end
+
+SlateportCity_PokemonFanClub_EventScript_28C9DF:: @ 828C9DF
+ msgbox SlateportCity_PokemonFanClub_Text_280454, 4
+ goto SlateportCity_PokemonFanClub_EventScript_28C9ED
+ end
+
+SlateportCity_PokemonFanClub_EventScript_28C9ED:: @ 828C9ED
+ setvar VAR_0x8004, 7
+ copyvar VAR_0x8005, VAR_0x8009
+ setvar VAR_0x8006, 0
+ call SlateportCity_PokemonFanClub_EventScript_271E7C
+ lock
+ faceplayer
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_PokemonFanClub_EventScript_28CA45
+ msgbox SlateportCity_PokemonFanClub_Text_2804AC, 4
+ setvar VAR_0x8006, 1
+ call SlateportCity_PokemonFanClub_EventScript_271E7C
+ lock
+ faceplayer
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_PokemonFanClub_EventScript_28CA45
+ msgbox SlateportCity_PokemonFanClub_Text_280523, 4
+ copyvar VAR_0x8007, VAR_0x800A
+ setvar VAR_0x8005, 3
+ goto SlateportCity_PokemonFanClub_EventScript_28C7E9
+ end
+
+SlateportCity_PokemonFanClub_EventScript_28CA45:: @ 828CA45
+ msgbox SlateportCity_PokemonFanClub_Text_2805E2, 4
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_28CA4F:: @ 828CA4F
+ msgbox SlateportCity_PokemonFanClub_Text_28062E, 4
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_28CA59:: @ 828CA59
+ lock
+ faceplayer
+ checkflag FLAG_0x002
+ goto_eq LilycoveCity_ContestLobby_EventScript_28CB21
+ setvar VAR_0x8005, 6
+ special InterviewBefore
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_28CB21
+ copyvar VAR_0x8009, VAR_0x8006
+ msgbox LilycoveCity_ContestLobby_Text_27EF15, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_28CA9B
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_28CAD0
+ end
+
+LilycoveCity_ContestLobby_EventScript_28CA9B:: @ 828CA9B
+ msgbox LilycoveCity_ContestLobby_Text_27EFE7, 4
+ setvar VAR_0x8004, 11
+ copyvar VAR_0x8005, VAR_0x8009
+ setvar VAR_0x8006, 0
+ call LilycoveCity_ContestLobby_EventScript_271E7C
+ lock
+ faceplayer
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_28CADA
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_28CAD0
+ end
+
+LilycoveCity_ContestLobby_EventScript_28CAD0:: @ 828CAD0
+ msgbox LilycoveCity_ContestLobby_Text_27F1EF, 4
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_28CADA:: @ 828CADA
+ setvar VAR_0x8004, 24
+ special SetContestCategoryStringVarForInterview
+ msgbox LilycoveCity_ContestLobby_Text_27F03E, 4
+ setvar VAR_0x8004, 11
+ copyvar VAR_0x8005, VAR_0x8009
+ setvar VAR_0x8006, 1
+ call LilycoveCity_ContestLobby_EventScript_271E7C
+ lock
+ faceplayer
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_28CAD0
+ msgbox LilycoveCity_ContestLobby_Text_27F0EC, 4
+ setflag FLAG_0x002
+ setvar VAR_0x8005, 6
+ goto LilycoveCity_ContestLobby_EventScript_28C7E9
+ end
+
+LilycoveCity_ContestLobby_EventScript_28CB21:: @ 828CB21
+ msgbox LilycoveCity_ContestLobby_Text_27F23F, 4
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_28CB2B:: @ 828CB2B
+ compare_var_to_value VAR_0x4086, 2
+ goto_if 5, LilycoveCity_ContestLobby_EventScript_28CB95
+ setvar VAR_0x8005, 6
+ special InterviewBefore
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_28CB95
+ switch VAR_0x4088
+ case 0, LilycoveCity_ContestLobby_EventScript_28CB95
+ case 2, LilycoveCity_ContestLobby_EventScript_28CB91
+ case 1, LilycoveCity_ContestLobby_EventScript_28CB91
+ case 3, LilycoveCity_ContestLobby_EventScript_28CB91
+ case 4, LilycoveCity_ContestLobby_EventScript_28CB91
+ case 5, LilycoveCity_ContestLobby_EventScript_28CB95
+ end
+
+LilycoveCity_ContestLobby_EventScript_28CB91:: @ 828CB91
+ clearflag FLAG_0x322
+ return
+
+LilycoveCity_ContestLobby_EventScript_28CB95:: @ 828CB95
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_28CB96:: @ 828CB96
+ lock
+ faceplayer
+ checkflag FLAG_0x002
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC7A
+ setvar VAR_0x8005, 7
+ special InterviewBefore
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC7A
+ copyvar VAR_0x8009, VAR_0x8006
+ msgbox BattleFrontier_BattleTowerLobby_Text_27F704, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CBD8
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC2E
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_28CBD8:: @ 828CBD8
+ message BattleFrontier_BattleTowerLobby_Text_27F7BA
+ waitmessage
+ multichoice 20, 8, 45, 1
+ copyvar VAR_0x8008, VAR_RESULT
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_28CC38
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_28CC41
+ msgbox BattleFrontier_BattleTowerLobby_Text_27F97A, 4
+ setvar VAR_0x8004, 12
+ copyvar VAR_0x8005, VAR_0x8009
+ call BattleFrontier_BattleTowerLobby_EventScript_271E7C
+ lock
+ faceplayer
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC4A
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC70
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_28CC2E:: @ 828CC2E
+ msgbox BattleFrontier_BattleTowerLobby_Text_27F84C, 4
+ release
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_28CC38:: @ 828CC38
+ msgbox BattleFrontier_BattleTowerLobby_Text_27F8AE, 4
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_28CC41:: @ 828CC41
+ msgbox BattleFrontier_BattleTowerLobby_Text_27F921, 4
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_28CC4A:: @ 828CC4A
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC70
+ msgbox BattleFrontier_BattleTowerLobby_Text_27F9FD, 4
+ setflag FLAG_0x002
+ copyvar VAR_0x8004, VAR_0x8008
+ setvar VAR_0x8005, 7
+ goto BattleFrontier_BattleTowerLobby_EventScript_28C7E9
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_28CC70:: @ 828CC70
+ msgbox BattleFrontier_BattleTowerLobby_Text_27FA6F, 4
+ release
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_28CC7A:: @ 828CC7A
+ msgbox BattleFrontier_BattleTowerLobby_Text_27FAF3, 4
+ release
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_28CC84:: @ 828CC84
+ compare_var_to_value VAR_0x40BC, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CCA6
+ setvar VAR_0x8005, 7
+ special InterviewBefore
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CCA6
+ clearflag FLAG_0x396
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_28CCA6:: @ 828CCA6
+ setflag FLAG_0x396
+ return
+
+ .include "data/scripts/gabby_and_ty.inc"
.include "data/text/pokemon_news.inc"
+ .include "data/scripts/mauville_man.inc"
+ .include "data/scripts/field_move_scripts.inc"
+ .include "data/scripts/item_ball_scripts.inc"
+ .include "data/scripts/mystery_event_club.inc"
+ .include "data/scripts/day_care.inc"
- .incbin "baserom.gba", 0x28e066, 0x269f
+EventScript_2926F8:: @ 82926F8
+ animateflash 1
+ setflashradius 1
+ end
-gUnknown_08290705:: @ 8290705
- .incbin "baserom.gba", 0x290705, 0xeb
+ .include "data/scripts/players_house.inc"
-gUnknown_082907F0:: @ 82907F0
- .incbin "baserom.gba", 0x2907f0, 0x10d
+EventScript_292DE5:: @ 8292DE5
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7F66, 3
+ end
-gUnknown_082908FD:: @ 82908FD
- .incbin "baserom.gba", 0x2908fd, 0x14c
+ .include "data/scripts/pokeblocks.inc"
-gUnknown_08290A49:: @ 8290A49
- .incbin "baserom.gba", 0x290a49, 0x3a
+Text_294295: @ 8294295
+ .string " so pretty!$"
-gUnknown_08290A83:: @ 8290A83
- .incbin "baserom.gba", 0x290a83, 0x8c
+Text_2942A1: @ 82942A1
+ .string " so darling!$"
-gUnknown_08290B0F:: @ 8290B0F
- .incbin "baserom.gba", 0x290b0f, 0x4b
+Text_2942AE: @ 82942AE
+ .string " so relaxed!$"
-gUnknown_08290B5A:: @ 8290B5A
- .incbin "baserom.gba", 0x290b5a, 0x154
+Text_2942BB: @ 82942BB
+ .string " so sunny!$"
-gUnknown_08290CAE:: @ 8290CAE
- .incbin "baserom.gba", 0x290cae, 0x1312
+Text_2942C6: @ 82942C6
+ .string " so desirable!$"
-gUnknown_08291FC0:: @ 8291FC0
- .incbin "baserom.gba", 0x291fc0, 0x738
+Text_2942D5: @ 82942D5
+ .string " so exciting!$"
-gUnknown_082926F8:: @ 82926F8
- .incbin "baserom.gba", 0x2926f8, 0x6ed
+Text_2942E3: @ 82942E3
+ .string " so amusing!$"
-gUnknown_08292DE5:: @ 8292DE5
- .incbin "baserom.gba", 0x292de5, 0x1518
+Text_2942F0: @ 82942F0
+ .string " so magical!$"
gUnknown_082942FD:: @ 82942FD
- .incbin "baserom.gba", 0x2942fd, 0x4
+ .string " is$"
gUnknown_08294301:: @ 8294301
- .incbin "baserom.gba", 0x294301, 0x10829
+ .string "\n"
+ .string "Don’t you agree?$"
+
+gUnknown_08294313:: @ 8294313
+ .string "I so want to go on a vacation.\n"
+ .string "Would you happen to know a nice place?$"
+
+gUnknown_08294359:: @ 8294359
+ .string "I bought crayons with 120 colors!\n"
+ .string "Don’t you think that’s nice?$"
+
+gUnknown_08294398:: @ 8294398
+ .string "Wouldn’t it be nice if we could float\n"
+ .string "away on a cloud of bubbles?$"
+
+gUnknown_082943DA:: @ 82943DA
+ .string "When you write on a sandy beach,\n"
+ .string "they wash away. It makes me sad.$"
+
+gUnknown_0829441C:: @ 829441C
+ .string "What’s the bottom of the sea like?\n"
+ .string "Just once I would so love to go!$"
+
+gUnknown_08294460:: @ 8294460
+ .string "When you see the setting sun, does it\n"
+ .string "make you want to go home?$"
+
+gUnknown_082944A0:: @ 82944A0
+ .string "Lying back in the green grass…\n"
+ .string "Oh, it’s so, so nice!$"
+
+gUnknown_082944D5:: @ 82944D5
+ .string "SECRET BASES are so wonderful!\n"
+ .string "Can’t you feel the excitement?$"
+
+ .include "data/text/trainers.inc"
+
+EventScript_RepelWoreOff:: @ 82A4B2A
+ msgbox Text_RepelWoreOff, 3
+ end
+
+Text_RepelWoreOff: @ 82A4B33
+ .string "REPEL’s effect wore off…$"
+
+ .include "data/scripts/safari_zone.inc"
+
+MauvilleCity_GameCorner_EventScript_2A5AB1:: @ 82A5AB1
+ checkitem ITEM_COIN_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_210456
+ setvar VAR_0x8004, 0
+ getpricereduction 2
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_2A5B0D
+ addvar VAR_0x8004, 128
+ goto MauvilleCity_GameCorner_EventScript_2A5B0D
+ end
+
+MauvilleCity_GameCorner_EventScript_2A5ADF:: @ 82A5ADF
+ checkitem ITEM_COIN_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_210456
+ setvar VAR_0x8004, 1
+ getpricereduction 2
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_2A5B0D
+ addvar VAR_0x8004, 128
+ goto MauvilleCity_GameCorner_EventScript_2A5B0D
+ end
+
+MauvilleCity_GameCorner_EventScript_2A5B0D:: @ 82A5B0D
+ special sub_8142BC8
+ waitstate
+ end
+
+ .include "data/text/roulette.inc"
+ .include "data/text/pokedex_rating.inc"
+ .include "data/text/lottery_corner.inc"
+ .include "data/text/eon_ticket.inc"
+ .include "data/text/braille.inc"
+ .include "data/text/berries.inc"
+ .include "data/text/shoal_cave.inc"
+
+Text_2A81E5: @ 82A81E5
+ .string "There’s a set of POKéMON picture books.$"
+
+Text_2A820D: @ 82A820D
+ .string "It’s filled with all sorts of books.$"
+
+Text_2A8232: @ 82A8232
+ .string "POKéMON magazines!\n"
+ .string "POKéMON PAL…\p"
+ .string "POKéMON HANDBOOK…\n"
+ .string "ADORABLE POKéMON…$"
+
+Text_2A8276: @ 82A8276
+ .string "This vase looks expensive…\n"
+ .string "Peered inside…\p"
+ .string "But, it was empty.$"
+
+Text_2A82B3: @ 82A82B3
+ .string "It’s empty.$"
+
+Text_2A82BF: @ 82A82BF
+ .string "The shelves brim with all sorts of\n"
+ .string "POKéMON merchandise.$"
+
+Text_2A82F7: @ 82A82F7
+ .string "A blueprint of some sort?\n"
+ .string "It’s too complicated!$"
+
+GraniteCave_B1F_MapScript2_2A8327: @ 82A8327
+MirageTower_2F_MapScript2_2A8327: @ 82A8327
+MirageTower_3F_MapScript2_2A8327: @ 82A8327
+MtPyre_2F_MapScript2_2A8327: @ 82A8327
+SkyPillar_2F_MapScript2_2A8327: @ 82A8327
+SkyPillar_4F_MapScript2_2A8327: @ 82A8327
+ map_script_2 VAR_ICE_STEP_COUNT, 0, gUnknown_082A8337
+ .2byte 0
+
+GraniteCave_B1F_MapScript1_2A8331: @ 82A8331
+MirageTower_2F_MapScript1_2A8331: @ 82A8331
+MirageTower_3F_MapScript1_2A8331: @ 82A8331
+MtPyre_2F_MapScript1_2A8331: @ 82A8331
+ copyvar VAR_ICE_STEP_COUNT, 0x1
+ end
-gUnknown_082A4B2A:: @ 82A4B2A
- .incbin "baserom.gba", 0x2a4b2a, 0x22
+gUnknown_082A8337:: @ 82A8337
+ lockall
+ delay 20
+ applymovement 255, GraniteCave_B1F_Movement_2A8369
+ waitmovement 0
+ playse SE_RU_HYUU
+ delay 60
+ warphole UNDEFINED
+ waitstate
+ end
-gUnknown_082A4B4C:: @ 82A4B4C
- .incbin "baserom.gba", 0x2a4b4c, 0x23
+gUnknown_082A8350:: @ 82A8350
+ lockall
+ delay 20
+ applymovement 255, GraniteCave_B1F_Movement_2A8369
+ waitmovement 0
+ playse SE_RU_HYUU
+ delay 60
+ special sp13F_fall_to_last_warp
+ waitstate
+ end
+
+GraniteCave_B1F_Movement_2A8369: @ 82A8369
+ step_54
+ step_end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A836B:: @ 82A836B
+ special sub_818DAEC
+ switch VAR_RESULT
+ case 0, LilycoveCity_PokemonCenter_1F_EventScript_2A8554
+ case 1, LilycoveCity_PokemonCenter_1F_EventScript_2A8395
+ case 2, LilycoveCity_PokemonCenter_1F_EventScript_2A882A
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8395:: @ 82A8395
+ lock
+ faceplayer
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8A69, 4
+ specialvar VAR_RESULT, sub_818DBE8
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83D0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83C6
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8510
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A83C6:: @ 82A83C6
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8AB1, 4
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A83D0:: @ 82A83D0
+ special sub_818DC2C
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8A7D, 4
+ specialvar VAR_RESULT, sub_818DC60
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8435
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83F7
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A83F7:: @ 82A83F7
+ special sub_818DCC8
+ special sub_818DD14
+ specialvar VAR_RESULT, sub_818DD54
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8419
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8427
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8419:: @ 82A8419
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8ACE, 4
+ goto LilycoveCity_PokemonCenter_1F_EventScript_2A8435
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8427:: @ 82A8427
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8B36, 4
+ goto LilycoveCity_PokemonCenter_1F_EventScript_2A8435
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8435:: @ 82A8435
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8B69, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8454
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A845E
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8454:: @ 82A8454
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8BCD, 4
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A845E:: @ 82A845E
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8BAD, 4
+ goto LilycoveCity_PokemonCenter_1F_EventScript_2A846C
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A846C:: @ 82A846C
+ fadescreen 1
+ setvar VAR_RESULT, 0
+ special sub_818DD78
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A848E
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84AD
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A848E:: @ 82A848E
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8BEE, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8454
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A846C
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A84AD:: @ 82A84AD
+ specialvar VAR_RESULT, sub_818DE44
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84C9
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84D6
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A84C9:: @ 82A84C9
+ special sub_818DC2C
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8C0F, 4
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A84D6:: @ 82A84D6
+ specialvar VAR_RESULT, sub_818DE5C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84F2
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84FF
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A84F2:: @ 82A84F2
+ special sub_818DC2C
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8C6F, 4
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A84FF:: @ 82A84FF
+ special sub_818DC2C
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8CC8, 4
+ goto LilycoveCity_PokemonCenter_1F_EventScript_2A8510
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8510:: @ 82A8510
+ setvar VAR_0x8004, 0
+ specialvar VAR_0x8004, sub_818DEA0
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8D5D, 4
+ giveitem_std VAR_0x8004
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8545
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A854F
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8545:: @ 82A8545
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8DBD, 4
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A854F:: @ 82A854F
+ special sub_818DEDC
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8554:: @ 82A8554
+ lock
+ faceplayer
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8E2B, 4
+ specialvar VAR_RESULT, sub_818E038
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8585
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85AC
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86EC
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8585:: @ 82A8585
+ specialvar VAR_RESULT, sub_818E06C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85C8
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85D2
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85E0
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A85AC:: @ 82A85AC
+ specialvar VAR_RESULT, sub_818E2D8
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8759
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85C8
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A85C8:: @ 82A85C8
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8E4E, 4
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A85D2:: @ 82A85D2
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8EAC, 4
+ goto LilycoveCity_PokemonCenter_1F_EventScript_2A85EE
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A85E0:: @ 82A85E0
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8EAC, 4
+ goto LilycoveCity_PokemonCenter_1F_EventScript_2A85EE
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A85EE:: @ 82A85EE
+ setvar VAR_0x8004, 0
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8EEC, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A861C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8612
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8612:: @ 82A8612
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F65, 4
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A861C:: @ 82A861C
+ special sub_818E3BC
+ compare_var_to_value VAR_0x8004, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A864C
+ compare_var_to_value VAR_0x8004, 15
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8656
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8635:: @ 82A8635
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8660
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8689
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A864C:: @ 82A864C
+ special sub_811A858
+ waitstate
+ goto LilycoveCity_PokemonCenter_1F_EventScript_2A8635
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8656:: @ 82A8656
+ special sub_818E2FC
+ waitstate
+ goto LilycoveCity_PokemonCenter_1F_EventScript_2A8635
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8660:: @ 82A8660
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F7E, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A867F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A861C
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A867F:: @ 82A867F
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F9A, 4
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8689:: @ 82A8689
+ special sub_818E37C
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F4D, 4
+ specialvar VAR_RESULT, sub_818E308
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86C7
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86B0
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A86B0:: @ 82A86B0
+ playse SE_SEIKAI
+ delay 10
+ playse SE_SEIKAI
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A8FC7, 4
+ goto LilycoveCity_PokemonCenter_1F_EventScript_2A86EC
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A86C7:: @ 82A86C7
+ special sub_818E538
+ special sub_818E274
+ playse SE_HAZURE
+ delay 10
+ playse SE_HAZURE
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A90A5, 4
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A90CD, 4
+ goto LilycoveCity_PokemonCenter_1F_EventScript_2A8759
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A86EC:: @ 82A86EC
+ specialvar VAR_RESULT, sub_818E298
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8708
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8716
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8708:: @ 82A8708
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9007, 4
+ goto LilycoveCity_PokemonCenter_1F_EventScript_2A8724
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8716:: @ 82A8716
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9007, 4
+ goto LilycoveCity_PokemonCenter_1F_EventScript_2A8724
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8724:: @ 82A8724
+ setvar VAR_0x8005, 0
+ special sub_818E358
+ special sub_818E37C
+ giveitem_std VAR_0x8005
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A874C
+ goto LilycoveCity_PokemonCenter_1F_EventScript_2A8759
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A874C:: @ 82A874C
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A906A, 4
+ special sub_818E39C
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8759:: @ 82A8759
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A90FB, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8785
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8778:: @ 82A8778
+ special sub_818E3EC
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9131, 4
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8785:: @ 82A8785
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9153, 4
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A878D:: @ 82A878D
+ fadescreen 1
+ setvar VAR_RESULT, 0
+ special sub_818E3E0
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87AF
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87CE
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A87AF:: @ 82A87AF
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9212, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A878D
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A87CE:: @ 82A87CE
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9270, 4
+ special sub_818E430
+ special sub_818E3BC
+ setvar VAR_0x8004, 16
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A87E1:: @ 82A87E1
+ fadescreen 1
+ special sub_818E47C
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87F8
+ goto LilycoveCity_PokemonCenter_1F_EventScript_2A8817
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A87F8:: @ 82A87F8
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A92D3, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87E1
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8817:: @ 82A8817
+ special sub_818E490
+ special sub_818E4A4
+ special sub_818E510
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9336, 4
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A882A:: @ 82A882A
+ lock
+ faceplayer
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A93A7, 4
+ specialvar VAR_RESULT, sub_818E8B4
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8850
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A886C
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8850:: @ 82A8850
+ specialvar VAR_RESULT, sub_818E8E0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8876
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A886C
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A886C:: @ 82A886C
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A93D6, 4
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8876:: @ 82A8876
+ special sub_818E914
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A93F4, 4
+ checkitem ITEM_POKEBLOCK_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A89AE
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A94E8, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88B0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88BA
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A88B0:: @ 82A88B0
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9556, 4
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A88BA:: @ 82A88BA
+ fadescreen 1
+ special sub_818E92C
+ waitstate
+ compare_var_to_value VAR_RESULT, 65535
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88D7
+ compare_var_to_value VAR_RESULT, 65535
+ goto_if 5, LilycoveCity_PokemonCenter_1F_EventScript_2A88F6
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A88D7:: @ 82A88D7
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9537, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88B0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88BA
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A88F6:: @ 82A88F6
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9571, 4
+ special sub_818E940
+ special sub_818E960
+ goto LilycoveCity_PokemonCenter_1F_EventScript_2A890A
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A890A:: @ 82A890A
+ applymovement 4, LilycoveCity_PokemonCenter_1F_Movement_2A89B8
+ waitmovement 0
+ delay 60
+ applymovement 5, LilycoveCity_PokemonCenter_1F_Movement_2A89BB
+ waitmovement 0
+ delay 60
+ waitse
+ playmoncry VAR_0x8005, 0
+ delay 120
+ waitmoncry
+ compare_var_to_value VAR_0x8004, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A893F
+ goto LilycoveCity_PokemonCenter_1F_EventScript_2A894C
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A893F:: @ 82A893F
+ applymovement 5, LilycoveCity_PokemonCenter_1F_Movement_2A89C2
+ waitmovement 0
+ delay 60
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A894C:: @ 82A894C
+ applymovement 4, LilycoveCity_PokemonCenter_1F_Movement_2A89C0
+ waitmovement 0
+ delay 60
+ compare_var_to_value VAR_0x8004, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8970
+ compare_var_to_value VAR_0x8004, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A897E
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8970:: @ 82A8970
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A95AD, 4
+ goto LilycoveCity_PokemonCenter_1F_EventScript_2A898F
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A897E:: @ 82A897E
+ special sub_818E914
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9605, 4
+ goto LilycoveCity_PokemonCenter_1F_EventScript_2A898F
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A898F:: @ 82A898F
+ specialvar VAR_RESULT, sub_818E8E0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A89A1
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A89A1:: @ 82A89A1
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9669, 4
+ special PutLilycoveContestLadyShowOnTheAir
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A89AE:: @ 82A89AE
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9451, 4
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_Movement_2A89B8: @ 82A89B8
+ step_03
+ step_13
+ step_end
+
+LilycoveCity_PokemonCenter_1F_Movement_2A89BB: @ 82A89BB
+ step_02
+ step_13
+ step_end
+
+LilycoveCity_PokemonCenter_1F_Movement_2A89BE: @ 82A89BE
+ step_00
+ step_end
+
+LilycoveCity_PokemonCenter_1F_Movement_2A89C0: @ 82A89C0
+ step_3e
+ step_end
+
+LilycoveCity_PokemonCenter_1F_Movement_2A89C2: @ 82A89C2
+ step_51
+ step_48
+ step_51
+ step_48
+ step_end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A89C7:: @ 82A89C7
+ specialvar VAR_RESULT, sub_818E990
+ special sub_818E914
+ special sub_818E960
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A0A
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A1D
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A30
+ compare_var_to_value VAR_RESULT, 3
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A43
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A56
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8A0A:: @ 82A8A0A
+ lock
+ faceplayer
+ waitse
+ playmoncry VAR_0x8005, 0
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A96DA, 4
+ waitmoncry
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8A1D:: @ 82A8A1D
+ lock
+ faceplayer
+ waitse
+ playmoncry VAR_0x8005, 0
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A970E, 4
+ waitmoncry
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8A30:: @ 82A8A30
+ lock
+ faceplayer
+ waitse
+ playmoncry VAR_0x8005, 0
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A96F6, 4
+ waitmoncry
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8A43:: @ 82A8A43
+ lock
+ faceplayer
+ waitse
+ playmoncry VAR_0x8005, 0
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A96E6, 4
+ waitmoncry
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_2A8A56:: @ 82A8A56
+ lock
+ faceplayer
+ waitse
+ playmoncry VAR_0x8005, 0
+ msgbox LilycoveCity_PokemonCenter_1F_Text_2A9703, 4
+ waitmoncry
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_Text_2A8A69: @ 82A8A69
+ .string "I’m the FAVOR LADY…$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A8A7D: @ 82A8A7D
+ .string "I’ve recently developed an obsession\n"
+ .string "for {STR_VAR_1} things…$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A8AB1: @ 82A8AB1
+ .string "Oh…\n"
+ .string "Thank you for last time…$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A8ACE: @ 82A8ACE
+ .string "Before, I think it was {STR_VAR_3}…\p"
+ .string "{STR_VAR_3} gave me one {STR_VAR_2},\n"
+ .string "saying it was {STR_VAR_1}.\p"
+ .string "But it wasn’t {STR_VAR_1}.\n"
+ .string "Not in the least bit.$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A8B36: @ 82A8B36
+ .string "Before, {STR_VAR_3} gave me a very\n"
+ .string "{STR_VAR_1} {STR_VAR_2}.\p"
+ .string "I cherish it now.$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A8B69: @ 82A8B69
+ .string "Listen, if you have anything that\n"
+ .string "is {STR_VAR_1}, will you share it\l"
+ .string "with me?$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A8BAD: @ 82A8BAD
+ .string "…Really?\n"
+ .string "What will you give me?$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A8BCD: @ 82A8BCD
+ .string "Is that so?\n"
+ .string "Then, it’s good-bye…$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A8BEE: @ 82A8BEE
+ .string "Oh…\n"
+ .string "You’re not willing to share?$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A8C0F: @ 82A8C0F
+ .string "Oh?\n"
+ .string "That {STR_VAR_2} is {STR_VAR_1}?\p"
+ .string "…Oh, is that right?\p"
+ .string "Well, I owe you a thanks anyway.\n"
+ .string "I’ll try to cherish it…$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A8C6F: @ 82A8C6F
+ .string "Oh…\p"
+ .string "That’s a quite {STR_VAR_1}\n"
+ .string "{STR_VAR_2}…\p"
+ .string "Isn’t it nice?\n"
+ .string "It’s so dreamy…\p"
+ .string "Thank you…\n"
+ .string "I will cherish this…$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A8CC8: @ 82A8CC8
+ .string "…Oh, oh, oh…\p"
+ .string "This is amazing!\n"
+ .string "This really is {STR_VAR_1}!\p"
+ .string "I never knew that one {STR_VAR_2}\n"
+ .string "could be this {STR_VAR_1}!\p"
+ .string "Thank you!\p"
+ .string "I will treasure this for the rest\n"
+ .string "of my life!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A8D5D: @ 82A8D5D
+ .string "I’ll give you this wonderful item in\n"
+ .string "return for your fabulous gift.\p"
+ .string "I hope you will cherish it…$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A8DBD: @ 82A8DBD
+ .string "Oh, you can’t have it if you don’t have\n"
+ .string "the space for it.\p"
+ .string "Please come see me when you get\n"
+ .string "your BAG organized…$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A8E2B: @ 82A8E2B
+ .string "I’m the QUIZ LADY!\n"
+ .string "I love quizzes!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A8E4E: @ 82A8E4E
+ .string "Oh?\p"
+ .string "I’m waiting for a challenger to answer\n"
+ .string "the quiz you made.\p"
+ .string "We can chat another time, okay?$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A8EAC: @ 82A8EAC
+ .string "I’m waiting for someone to challenge\n"
+ .string "a quiz this {STR_VAR_1} thought up!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A8EEC: @ 82A8EEC
+ .string "If you answer correctly, you can win\n"
+ .string "fabulous prizes!\p"
+ .string "Would you like to take the quiz\n"
+ .string "challenge?$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A8F4D: @ 82A8F4D
+ .string "… … … … … …\n"
+ .string "… … … … … …$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A8F65: @ 82A8F65
+ .string "Oh, how boring!\n"
+ .string "Bye-bye!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A8F7E: @ 82A8F7E
+ .string "Awww!\n"
+ .string "You’re going to quit?$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A8F9A: @ 82A8F9A
+ .string "Please take the quiz challenge\n"
+ .string "another time!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A8FC7: @ 82A8FC7
+ .string "You’re amazing! You’ve got it right!\n"
+ .string "You’re one sharp customer!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A9007: @ 82A9007
+ .string "Congratulations!\n"
+ .string "You’ve got the quiz right!\p"
+ .string "You’ve won a prize provided by\n"
+ .string "{STR_VAR_1}!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A9056: @ 82A9056
+ .string "{STR_VAR_1} received\n"
+ .string "one {STR_VAR_2}!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A906A: @ 82A906A
+ .string "Oh? Your BAG is filled up!\n"
+ .string "Come see me when you have room.$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A90A5: @ 82A90A5
+ .string "Hmm… Wrong!\n"
+ .string "The correct answer is “{STR_VAR_3}”!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A90CD: @ 82A90CD
+ .string "Too bad!\p"
+ .string "I get to keep the quiz prize\n"
+ .string "{STR_VAR_1} now!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A90FB: @ 82A90FB
+ .string "Listen, listen!\n"
+ .string "Would you like to make your own quiz?$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A9131: @ 82A9131
+ .string "Oh, I see…\n"
+ .string "Well, maybe next time!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A9153: @ 82A9153
+ .string "Okay, the first thing you have to do\n"
+ .string "is pick the prize for the person that\l"
+ .string "answers your quiz correctly.\p"
+ .string "But beware, if the person taking\n"
+ .string "the quiz can’t get it right, I get to\l"
+ .string "keep the prize!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A9212: @ 82A9212
+ .string "If you don’t choose a prize,\n"
+ .string "your quiz can’t be made.\p"
+ .string "Are you going to quit making\n"
+ .string "your quiz?$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A9270: @ 82A9270
+ .string "Oh, how nice!\n"
+ .string "That’s a wonderful prize!\p"
+ .string "Next, you need to write your quiz\n"
+ .string "question and its answer.$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A92D3: @ 82A92D3
+ .string "Are you going to quit writing\n"
+ .string "your quiz question?$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A9305: @ 82A9305
+ .string "Are you going to quit choosing\n"
+ .string "your quiz answer?$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A9336: @ 82A9336
+ .string "Thank you!\n"
+ .string "You’ve put together a nice quiz.\p"
+ .string "I’ll go look for someone who’ll take\n"
+ .string "your quiz challenge right away.$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A93A7: @ 82A93A7
+ .string "I’m the CONTEST LADY!\n"
+ .string "I sure do love CONTESTS!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A93D6: @ 82A93D6
+ .string "Thanks for your {POKEBLOCK} before!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A93F4: @ 82A93F4
+ .string "This is my friend {STR_VAR_1}!\n"
+ .string "It’s the epitome of {STR_VAR_2}!\p"
+ .string "But I think that it will display\n"
+ .string "even more {STR_VAR_2}!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A9451: @ 82A9451
+ .string "So, I need your help!\p"
+ .string "Please, may I have one {POKEBLOCK}?\n"
+ .string "All I’m asking for is one!\p"
+ .string "…Oh, but…\n"
+ .string "Don’t you have a {POKEBLOCK} CASE?\l"
+ .string "That’s no good. Next time, then!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A94E8: @ 82A94E8
+ .string "So, I need your help!\p"
+ .string "Please, may I have one {POKEBLOCK}?\n"
+ .string "All I’m asking for is one!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A9537: @ 82A9537
+ .string "Awww!\n"
+ .string "I can’t have one {POKEBLOCK}?!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A9556: @ 82A9556
+ .string "Sheesh!\n"
+ .string "What a cheapskate!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A9571: @ 82A9571
+ .string "Yay!\n"
+ .string "Thank you!\p"
+ .string "I’ll feed my POKéMON your {POKEBLOCK}\n"
+ .string "right away.$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A95AD: @ 82A95AD
+ .string "…It doesn’t seem to have changed\n"
+ .string "in any way at all…\p"
+ .string "Hmm…\p"
+ .string "Oh, well!\n"
+ .string "Thank you very much!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A9605: @ 82A9605
+ .string "Oh, yay!\n"
+ .string "It’s really delighted!\p"
+ .string "I think it really improved {STR_VAR_1}’s\n"
+ .string "{STR_VAR_2} quality, too.\p"
+ .string "Thank you so much!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A9669: @ 82A9669
+ .string "Hmm…\p"
+ .string "I think we may be ready to enter\n"
+ .string "some CONTESTS.\p"
+ .string "If you see us in one somewhere,\n"
+ .string "I hope you’ll cheer for us.$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A96DA: @ 82A96DA
+ .string "{STR_VAR_1}: Guguuh!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A96E6: @ 82A96E6
+ .string "{STR_VAR_1}: Igigigiiih!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A96F6: @ 82A96F6
+ .string "{STR_VAR_1}: Baaarun…$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A9703: @ 82A9703
+ .string "{STR_VAR_1}: Pikka!$"
+
+LilycoveCity_PokemonCenter_1F_Text_2A970E: @ 82A970E
+ .string "{STR_VAR_1}: Umyaaaan!$"
+
+ .string "Hi! {PLAYER}{STRING 5}, hello!\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "I saw this {STR_VAR_2} a while back\n"
+ .string "but I couldn’t catch it.\p"
+ .string "It was so close, too!\n"
+ .string "Well, see you again!$"
+
+ .string "Hello, {PLAYER}{STRING 5}.\n"
+ .string "It’s {STR_VAR_1}.\p"
+ .string "I tried to catch a nice {STR_VAR_2}\n"
+ .string "a little while ago.\p"
+ .string "But, it got away.\n"
+ .string "I was sure disappointed!\p"
+ .string "Okay, bye!$"
+
+ .string "Hey there, {PLAYER}!\n"
+ .string "It’s me, {STR_VAR_1}.\p"
+ .string "I just took a shot at catching\n"
+ .string "this {STR_VAR_2}, but it took off.\p"
+ .string "I came oh so close, too!\p"
+ .string "It spoiled my day…\n"
+ .string "All right, see you!$"
+
+ .string "Hey, {PLAYER}{STRING 5}.\n"
+ .string "{STR_VAR_1} here.\p"
+ .string "You know the POKéMON {STR_VAR_2}?\n"
+ .string "I came close to getting one.\p"
+ .string "It was just a while back.\n"
+ .string "I thought I had it but it escaped.\p"
+ .string "If I see it again, I’ll get it for\n"
+ .string "sure, though.\p"
+ .string "Okay, catch you later.$"
+
+ .string "Hiya, {PLAYER}{STRING 5}!\n"
+ .string "It’s {STR_VAR_1}.\l"
+ .string "Catching any POKéMON lately?\p"
+ .string "A little while ago I came close to\n"
+ .string "nabbing one, but it got loose.\p"
+ .string "Right, take care!$"
+
+ .string "Hey, {PLAYER}{STRING 5}.\n"
+ .string "{STR_VAR_1} here.\l"
+ .string "Caught any POKéMON lately?\p"
+ .string "I nearly nabbed one the other day.\n"
+ .string "But it evaded me somehow.\p"
+ .string "You take care.$"
+
+ .string "…Uh, {PLAYER}{STRING 5}?\n"
+ .string "It’s me, {STR_VAR_1}.\p"
+ .string "Oh, wait! Wait!\n"
+ .string "I can catch this {STR_VAR_2}…\p"
+ .string "Aaarrrgh! It bolted loose!\n"
+ .string "That wasn’t just close!$"
+
+ .string "Oh, {PLAYER}{STRING 5}, how do you do?\n"
+ .string "This is {STR_VAR_1} speaking.\p"
+ .string "Have you had success catching\n"
+ .string "POKéMON lately?\p"
+ .string "I came very close a little while\n"
+ .string "ago, but my target got free.\p"
+ .string "I need to try harder!\n"
+ .string "See you again!$"
+
+ .string "Oh, {PLAYER}{STRING 5}, hi there!\n"
+ .string "This is {STR_VAR_1}!\p"
+ .string "So? Are you getting more POKéMON\n"
+ .string "together?\p"
+ .string "I’m having a rotten time of it!\n"
+ .string "They all get away from me!\p"
+ .string "See you!$"
+
+ .string "Oh, {PLAYER}{STRING 5}, hello…\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "Listen, I came within a whisker of\n"
+ .string "catching this {STR_VAR_2}…\p"
+ .string "But, it gave me the slip…\p"
+ .string "I need to try harder.\n"
+ .string "See you around.$"
+
+ .string "Ah, {PLAYER}{STRING 5}.\n"
+ .string "This is {STR_VAR_1}.\l"
+ .string "How are things with you?\p"
+ .string "I tried to catch a wild {STR_VAR_2}\n"
+ .string "earlier, but it managed to flee.\p"
+ .string "I feel defeated…$"
+
+ .string "Hello, {PLAYER}{STRING 5}.\n"
+ .string "It’s me, {STR_VAR_1}.\l"
+ .string "Are you still catching POKéMON?\p"
+ .string "I’ve been trying to catch them\n"
+ .string "myself, but it’s not so easy.\p"
+ .string "The way of POKéMON is deep!$"
+
+ .string "Ah, hello, {PLAYER}{STRING 5}!\n"
+ .string "This is {STR_VAR_1}!\l"
+ .string "Have you been catching POKéMON?\p"
+ .string "I’ve been trying to catch them\n"
+ .string "myself, but with little success.\p"
+ .string "The way of POKéMON is deep!$"
+
+ .string "Oh, hi, {PLAYER}{STRING 5}, how do you do?\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "Just now, I tried to catch a cute\n"
+ .string "{STR_VAR_2}.\p"
+ .string "It got away, though!\n"
+ .string "Oh, you bet I was disappointed!\p"
+ .string "Bye-bye!$"
+
+ .string "Hey, {PLAYER}!\n"
+ .string "This is {STR_VAR_1}!\p"
+ .string "I’ve been thinking about trying\n"
+ .string "to catch me some POKéMON.\p"
+ .string "But I can’t seem to find any.\n"
+ .string "It’s a real puzzler for me!\p"
+ .string "I’m at my wit’s end!\n"
+ .string "See you around!$"
+
+ .string "Hi! {PLAYER}{STRING 5}, hello!\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "I tried battling another TRAINER,\n"
+ .string "but I lost.\p"
+ .string "It was really disappointing.\n"
+ .string "Well, see you again!$"
+
+ .string "Hello, {PLAYER}{STRING 5}.\n"
+ .string "It’s {STR_VAR_1}.\p"
+ .string "I challenged someone else after\n"
+ .string "we battled.\p"
+ .string "I came close, but I ended up\n"
+ .string "losing. Oh, well!$"
+
+ .string "Hey there, {PLAYER}!\n"
+ .string "It’s me, {STR_VAR_1}.\p"
+ .string "I just got cleaned in a battle.\p"
+ .string "I guess I need to raise my team\n"
+ .string "some more!$"
+
+ .string "Hey, {PLAYER}.\n"
+ .string "{STR_VAR_1} here.\p"
+ .string "I tried another battle yesterday,\n"
+ .string "but I couldn’t pull out the win.\p"
+ .string "My team needs more raising.\n"
+ .string "Okay, catch you later.$"
+
+ .string "Hiya, {PLAYER}!\n"
+ .string "It’s {STR_VAR_1}.\p"
+ .string "How are things with you?\p"
+ .string "I’ve been battling on,\n"
+ .string "but I haven’t won very often.\p"
+ .string "I can’t get it together.\n"
+ .string "Right, take care!$"
+
+ .string "Hey, {PLAYER}.\n"
+ .string "{STR_VAR_1} here.\p"
+ .string "How’s it going for you?\p"
+ .string "I’ve been battling hard lately,\n"
+ .string "but to little success.\p"
+ .string "I can’t get into the groove.\n"
+ .string "You take care.$"
+
+ .string "{STR_VAR_1} here.\n"
+ .string "How’s it going lately?\p"
+ .string "I lost a battle yesterday,\n"
+ .string "and it’s filled my thoughts.\p"
+ .string "I have to devise a plan…\n"
+ .string "See you.$"
+
+ .string "Oh, {PLAYER}{STRING 5}, how do you do?\n"
+ .string "This is {STR_VAR_1} speaking.\p"
+ .string "How are your POKéMON doing?\n"
+ .string "I lost a match the other day.\p"
+ .string "I need to try harder!\n"
+ .string "See you again!$"
+
+ .string "Oh, {PLAYER}{STRING 5}, hi there!\n"
+ .string "This is {STR_VAR_1}!\p"
+ .string "Listen, listen, you have to hear\n"
+ .string "this!\p"
+ .string "I had a POKéMON battle earlier,\n"
+ .string "but I lost at the last second.\p"
+ .string "Oh, it burns me up!$"
+
+ .string "Oh, {PLAYER}{STRING 5}, hello…\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "A little earlier, I was in a battle.\n"
+ .string "I lost, though.\p"
+ .string "I need to raise my POKéMON more.\n"
+ .string "See you around.$"
+
+ .string "Ah, {PLAYER}{STRING 5}.\n"
+ .string "This is {STR_VAR_1}.\l"
+ .string "How are your POKéMON?\p"
+ .string "I just lost yet another battle.\p"
+ .string "Well, see you!$"
+
+ .string "Hello, {PLAYER}{STRING 5}.\n"
+ .string "It’s me, {STR_VAR_1}.\l"
+ .string "Are you still battling hard?\p"
+ .string "As for me, I lost recently, so I’ve\n"
+ .string "been training my team all over.\p"
+ .string "Let’s meet again.$"
+
+ .string "Ah, hello, {PLAYER}{STRING 5}!\n"
+ .string "This is {STR_VAR_1}!\p"
+ .string "I hope you’ve been keeping well.\p"
+ .string "I was in a battle just a little\n"
+ .string "while before this.\p"
+ .string "{PLAYER}{STRING 5}, try to be active like me.\n"
+ .string "See you again!$"
+
+ .string "Oh, hi, {PLAYER}{STRING 5}.\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "Are you doing good?\p"
+ .string "You should go home every so often,\n"
+ .string "though.\p"
+ .string "Bye-bye!$"
+
+ .string "Hi! {PLAYER}{STRING 5}, hello!\n"
+ .string "This is {STR_VAR_1}!\p"
+ .string "I battled another TRAINER earlier.\n"
+ .string "I won! I won!\p"
+ .string "My {STR_VAR_2} really worked hard\n"
+ .string "for me. This is so great!$"
+
+ .string "Hello, {PLAYER}{STRING 5}!\n"
+ .string "It’s {STR_VAR_1}!\p"
+ .string "I had a battle yesterday and\n"
+ .string "I won! It’s fantastic!$"
+
+ .string "Hey there, {PLAYER}!\n"
+ .string "It’s me, {STR_VAR_1}!\l"
+ .string "How’s your battling?\p"
+ .string "Me, I had a battle the other day,\n"
+ .string "and my {STR_VAR_2} came up huge!\p"
+ .string "The next time I battle you,\n"
+ .string "{PLAYER}, it won’t be me losing!$"
+
+ .string "Hey, {PLAYER}.\n"
+ .string "{STR_VAR_1} here.\p"
+ .string "I had a match earlier.\n"
+ .string "I managed to win, but it was close.\p"
+ .string "My {STR_VAR_2} put on one\n"
+ .string "inspired showing.$"
+
+ .string "Hiya, {PLAYER}{STRING 5}!\n"
+ .string "It’s {STR_VAR_1}.\p"
+ .string "How are things with you?\n"
+ .string "Battling much?\p"
+ .string "I just won a while back!\n"
+ .string "My {STR_VAR_2} was brilliant!\p"
+ .string "You wait. I’m going to beat you\n"
+ .string "next time! Right, take care!$"
+
+ .string "Hey, {PLAYER}{STRING 5}.\n"
+ .string "{STR_VAR_1} here.\p"
+ .string "How’s it going for you?\p"
+ .string "I’ve been riding a hot streak.\n"
+ .string "Why, I just won a battle.\p"
+ .string "When we have our next battle,\n"
+ .string "I’m sure not going to lose!$"
+
+ .string "{PLAYER}{STRING 5}?\n"
+ .string "{STR_VAR_1} here.\p"
+ .string "My {STR_VAR_2} is a force!\n"
+ .string "It won me another battle just now!\p"
+ .string "I can’t wait to have a rematch\n"
+ .string "with you.$"
+
+ .string "Oh, {PLAYER}{STRING 5}, how do you do?\n"
+ .string "This is {STR_VAR_1} speaking.\p"
+ .string "I hope you’ve been well.\n"
+ .string "I wanted to tell you I just won.\p"
+ .string "My {STR_VAR_2} worked especially\n"
+ .string "hard to get the win.\p"
+ .string "See you again!$"
+
+ .string "Oh, {PLAYER}{STRING 5}, hi there!\n"
+ .string "This is {STR_VAR_1}!\p"
+ .string "How are your POKéMON holding up?\n"
+ .string "Mine just won a battle!\p"
+ .string "My {STR_VAR_2} was spectacular,\n"
+ .string "I must say!\p"
+ .string "I wish I could’ve shown you!\n"
+ .string "See you again!$"
+
+ .string "Oh, {PLAYER}{STRING 5}, hello…\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "How has life been treating you?\p"
+ .string "My POKéMON appear to be charged\n"
+ .string "with energy.\p"
+ .string "I just won a battle with them.\n"
+ .string "See you around.$"
+
+ .string "Ah, {PLAYER}{STRING 5}.\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "Been in any battles lately?\n"
+ .string "I just won another one today!\p"
+ .string "I’m on a roll! Gahahaha!\n"
+ .string "Well, see you!$"
+
+ .string "Hello, {PLAYER}{STRING 5}.\n"
+ .string "It’s me, {STR_VAR_1}.\p"
+ .string "I trust you’ve been well?\n"
+ .string "I’m still bursting with life!\p"
+ .string "Why, just now, I won another match.\n"
+ .string "I’m not stepping aside to you\l"
+ .string "youngsters yet!$"
+
+ .string "Ah, hello, {PLAYER}{STRING 5}!\n"
+ .string "This is {STR_VAR_1}!\p"
+ .string "I hope you’ve been keeping well.\n"
+ .string "I still have a bounce in my step!\p"
+ .string "Why, I just won a battle yet again.\n"
+ .string "Oh, I won’t lose to young people\l"
+ .string "quite yet!\p"
+ .string "See you again!$"
+
+ .string "Oh, hi, {PLAYER}{STRING 5}.\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "I was in a battle recently, and my\n"
+ .string "{STR_VAR_2} was exceptional!\p"
+ .string "I wish you could have seen it,\n"
+ .string "{PLAYER}{STRING 5}. Bye-bye!$"
+
+ .string "Hi! {PLAYER}, hello!\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "Huh? Wait, you’re near\n"
+ .string "{STR_VAR_2}?\p"
+ .string "Oh, wow, we have to battle, then!\n"
+ .string "I’ll be waiting! See you!$"
+
+ .string "Hello, {PLAYER}!\n"
+ .string "It’s {STR_VAR_1}.\p"
+ .string "Oh? You happen to be around\n"
+ .string "{STR_VAR_2} right now?\p"
+ .string "Would you like to battle now?\n"
+ .string "I’ll wait for you! See you!$"
+
+ .string "Hey there, {PLAYER}!\n"
+ .string "It’s me, {STR_VAR_1}.\p"
+ .string "Oh, hey, are you near\n"
+ .string "{STR_VAR_2} right now?\p"
+ .string "How would you like to battle with\n"
+ .string "me right now?\p"
+ .string "I’m not losing again!\n"
+ .string "I’ll be waiting! Catch you soon!$"
+
+ .string "Hey, {PLAYER}{STRING 5}.\n"
+ .string "{STR_VAR_1} here.\p"
+ .string "Whereabouts are you now?\n"
+ .string "Huh? {STR_VAR_2}?\p"
+ .string "Want to battle now?\n"
+ .string "I’ll wait for you. See you!$"
+
+ .string "Hiya, {PLAYER}{STRING 5}!\n"
+ .string "It’s {STR_VAR_1}.\l"
+ .string "How are things with you?\p"
+ .string "You’re where now?\n"
+ .string "{STR_VAR_2}?\p"
+ .string "Well, how about we have a quick\n"
+ .string "rematch right away?\p"
+ .string "I’ll keep an eye out for you.\n"
+ .string "See you soon!$"
+
+ .string "Hey, {PLAYER}{STRING 5}.\n"
+ .string "{STR_VAR_1} here.\l"
+ .string "How are your POKéMON keeping?\p"
+ .string "Oh, is that right? You’re around\n"
+ .string "{STR_VAR_2}?\p"
+ .string "Well, then, we’d better have\n"
+ .string "a rematch.\p"
+ .string "I can wait, sure.\n"
+ .string "See you!$"
+
+ .string "…Er, {PLAYER}{STRING 5}?\n"
+ .string "{STR_VAR_1} here…\p"
+ .string "Oh, you happen to be around\n"
+ .string "{STR_VAR_2}?\p"
+ .string "Then, let’s battle.\n"
+ .string "Right away, I mean.\p"
+ .string "I’ll show you my POKéMON.\n"
+ .string "I’ll wait for you.$"
+
+ .string "Oh, {PLAYER}{STRING 5}, how do you do?\n"
+ .string "This is {STR_VAR_1} speaking.\p"
+ .string "I hope you’re doing well.\n"
+ .string "Oh, you’re near {STR_VAR_2}.\p"
+ .string "Would you like to have a battle\n"
+ .string "with me, then?\p"
+ .string "I’ll wait for you.\n"
+ .string "See you soon!$"
+
+ .string "Oh, {PLAYER}{STRING 5}, hi there!\n"
+ .string "This is {STR_VAR_1}!\p"
+ .string "Are you keeping up?\n"
+ .string "Oh, you’re near {STR_VAR_2}?\p"
+ .string "Oh, well, then don’t you think we\n"
+ .string "should battle?\p"
+ .string "Don’t keep me waiting too long!$"
+
+ .string "Oh, {PLAYER}{STRING 5}, hello…\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "How are things with you?\n"
+ .string "Oh, you’re near {STR_VAR_2}.\p"
+ .string "We should have a battle now, then.\p"
+ .string "I’m ready and waiting.\n"
+ .string "Be quick!$"
+
+ .string "Ah, {PLAYER}{STRING 5}.\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "Ah, so where you are now is\n"
+ .string "{STR_VAR_2}?\p"
+ .string "Well, then, we just have to have\n"
+ .string "a battle, don’t you think?\p"
+ .string "I’ll wait around for you!\n"
+ .string "See you real quick!$"
+
+ .string "Hello, {PLAYER}{STRING 5}.\n"
+ .string "It’s me, {STR_VAR_1}.\l"
+ .string "Where might you be now?\p"
+ .string "{STR_VAR_2}?\n"
+ .string "That’s quite close by!\p"
+ .string "What do you say we have a battle\n"
+ .string "now?\p"
+ .string "I can wait.\n"
+ .string "See you!$"
+
+ .string "Ah, hello, {PLAYER}{STRING 5}!\n"
+ .string "This is {STR_VAR_1}!\p"
+ .string "I hope you’ve been keeping well.\n"
+ .string "Oh, you’re near {STR_VAR_2}?\p"
+ .string "Since that’s not very far away,\n"
+ .string "come see me for a battle.\p"
+ .string "I’ll wait for you.\n"
+ .string "Bye for now.$"
+
+ .string "Oh, hi, {PLAYER}{STRING 5}.\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "You’re what? …{STR_VAR_2}?\n"
+ .string "That’s very close.\p"
+ .string "Don’t you think we ought to have\n"
+ .string "a battle?\p"
+ .string "I’ll be looking for you!\n"
+ .string "Bye-bye!$"
+
+ .string "Hi! {PLAYER}, hello!\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "Want to have a battle with me?\p"
+ .string "I’ll be waiting for you around\n"
+ .string "{STR_VAR_2}!$"
+
+ .string "Hello, {PLAYER}!\n"
+ .string "It’s {STR_VAR_1}.\p"
+ .string "Would you like to have a battle\n"
+ .string "with me again?\p"
+ .string "You can find me around\n"
+ .string "{STR_VAR_2}. I’ll be waiting!$"
+
+ .string "Hey there, {PLAYER}!\n"
+ .string "It’s me, {STR_VAR_1}.\p"
+ .string "My POKéMON have grown a lot\n"
+ .string "tougher since last time.\p"
+ .string "I want to see how strong they’ve\n"
+ .string "become with your POKéMON, {PLAYER}.\p"
+ .string "So, let’s have a battle!\p"
+ .string "I’ll be waiting for you around\n"
+ .string "{STR_VAR_2}.$"
+
+ .string "Hey, {PLAYER}{STRING 5}.\n"
+ .string "{STR_VAR_1} here.\l"
+ .string "How are things with you?\p"
+ .string "My POKéMON have grown pretty\n"
+ .string "tough lately.\p"
+ .string "Hey, how would you like to have\n"
+ .string "another battle with me?\p"
+ .string "Let’s meet up around\n"
+ .string "{STR_VAR_2}, okay?$"
+
+ .string "Hiya, {PLAYER}{STRING 5}!\n"
+ .string "It’s {STR_VAR_1}.\p"
+ .string "My POKéMON are growing up in\n"
+ .string "decent ways.\p"
+ .string "I’d really like to have another\n"
+ .string "battle with you.\p"
+ .string "I’ll keep an eye out for you around\n"
+ .string "{STR_VAR_2}. See you soon!$"
+
+ .string "Hey, {PLAYER}{STRING 5}.\n"
+ .string "{STR_VAR_1} here.\l"
+ .string "I hope you’re on top of things.\p"
+ .string "I was thinking I’d like another\n"
+ .string "battle with you. What do you say?\p"
+ .string "If you feel like a battle,\n"
+ .string "come to {STR_VAR_2}.\p"
+ .string "See you!$"
+
+ .string "…Er, {PLAYER}{STRING 5}?\n"
+ .string "{STR_VAR_1} here…\l"
+ .string "So? Are your POKéMON growing?\p"
+ .string "Mine sure got stronger.\n"
+ .string "I’d like to show you.\p"
+ .string "I’ll be around {STR_VAR_2}.\n"
+ .string "Come see me for a match.\p"
+ .string "See you around.$"
+
+ .string "Oh, {PLAYER}{STRING 5}, how do you do?\n"
+ .string "This is {STR_VAR_1} speaking.\p"
+ .string "I hope you’re doing well.\n"
+ .string "My POKéMON are very frisky.\p"
+ .string "If you’re ever in the area, please\n"
+ .string "give me a rematch.\p"
+ .string "I’ll be around {STR_VAR_2}.\n"
+ .string "Until then, good-bye!$"
+
+ .string "Oh, {PLAYER}{STRING 5}, hi there!\n"
+ .string "This is {STR_VAR_1}!\l"
+ .string "How are your POKéMON doing?\p"
+ .string "My POKéMON keep getting better.\n"
+ .string "I’d like to show you, {PLAYER}{STRING 5}.\p"
+ .string "I’m around {STR_VAR_2} now,\n"
+ .string "so let’s battle if you’re close by.\p"
+ .string "Hope I see you soon!$"
+
+ .string "Oh, {PLAYER}{STRING 5}, hello…\n"
+ .string "This is {STR_VAR_1}.\l"
+ .string "So, how are things with you?\p"
+ .string "My POKéMON have grown much\n"
+ .string "stronger than before.\p"
+ .string "I’d love another battle with you,\n"
+ .string "{PLAYER}{STRING 5}.\p"
+ .string "I’ll be around {STR_VAR_2}.\n"
+ .string "Come see me if you’re close.$"
+
+ .string "Ah, {PLAYER}{STRING 5}.\n"
+ .string "This is {STR_VAR_1}.\l"
+ .string "Where might you be now?\p"
+ .string "My POKéMON are full of life.\n"
+ .string "They appear to be looking forward\l"
+ .string "to seeing your POKéMON, {PLAYER}{STRING 5}.\p"
+ .string "I’m around {STR_VAR_2} now.\n"
+ .string "I hope you’ll seek us out.$"
+
+ .string "Hello, {PLAYER}{STRING 5}.\n"
+ .string "It’s me, {STR_VAR_1}.\p"
+ .string "I should tell you, my POKéMON have\n"
+ .string "grown to be quite robust lately.\p"
+ .string "I would like to see them in a battle\n"
+ .string "with you, {PLAYER}{STRING 5}.\p"
+ .string "We’ll be around {STR_VAR_2}.\n"
+ .string "Come see us anytime!$"
+
+ .string "Ah, hello, {PLAYER}{STRING 5}!\n"
+ .string "This is {STR_VAR_1}!\l"
+ .string "Are your POKéMON keeping well?\p"
+ .string "My POKéMON have been so healthy,\n"
+ .string "they don’t look capable of losing!\p"
+ .string "I would surely love to have another\n"
+ .string "battle with you.\p"
+ .string "If you’re near {STR_VAR_2},\n"
+ .string "do come see us.$"
+
+ .string "Oh, hi, {PLAYER}{STRING 5}.\n"
+ .string "This is {STR_VAR_1}.\l"
+ .string "Keeping well, I hope.\p"
+ .string "Oh, yes! My POKéMON are\n"
+ .string "much stronger than before.\p"
+ .string "Don’t you think we ought to have\n"
+ .string "a battle, {PLAYER}{STRING 5}?\p"
+ .string "We’ll be waiting for you around\n"
+ .string "{STR_VAR_2}.\p"
+ .string "Come see us anytime, okay?$"
+
+ .string "It’s me, the mountain-loving\n"
+ .string "{STR_VAR_1}!\p"
+ .string "Well, since we met, have you grown\n"
+ .string "to appreciate the mountains more?\p"
+ .string "I rarely see you in the mountains…\p"
+ .string "Next time, we’ll meet somewhere\n"
+ .string "around {STR_VAR_2}.$"
+
+ .string "This is {STR_VAR_1}.\n"
+ .string "Hello.\p"
+ .string "I was just telling a new TRAINER\n"
+ .string "about you.\p"
+ .string "I told her about a strong TRAINER\n"
+ .string "who raises POKéMON with care.\p"
+ .string "I hope you’ll become a TRAINER\n"
+ .string "that everyone will admire.\p"
+ .string "I hope we meet again!$"
+
+ .string "Hello! It’s {STR_VAR_1}.\p"
+ .string "I love where I am now.\n"
+ .string "It’s pleasant with sweet aromas!\p"
+ .string "I think someone planted BERRIES,\n"
+ .string "and they burst into bloom.\p"
+ .string "See you again sometime!$"
+
+ .string "Hello! Thirty years of exploration,\n"
+ .string "{STR_VAR_1} at your service!\p"
+ .string "It seems that you’re energetically\n"
+ .string "traveling here and there.\p"
+ .string "Have you discovered any new ruins?\n"
+ .string "Please tell if you have!\p"
+ .string "Now, if you’ll excuse me,\n"
+ .string "I have ruins to explore.$"
+
+ .string "It’s {STR_VAR_1}!\p"
+ .string "Know what I’m doing today?\n"
+ .string "Looking at waves from the beach!\p"
+ .string "Sigh… The waves are all sparkly.\n"
+ .string "The sea is the prettiest from here.\l"
+ .string "I’m getting hungry, so bye-bye!$"
+
+ .string "Munch-chew…\n"
+ .string "Oh, hi, it’s {STR_VAR_1}.\l"
+ .string "I love eating on the beach.\p"
+ .string "My POKéMON and I have been doing\n"
+ .string "great. We’re fully fueled!\l"
+ .string "I’m going for a swim. Bye!$"
+
+ .string "Hello, this is {STR_VAR_1}…\p"
+ .string "I’ve grown a little jaded with this\n"
+ .string "whole COOLTRAINER thing…\p"
+ .string "Everyone thinks I’m a perfect\n"
+ .string "TRAINER, and that makes me try to\l"
+ .string "live up to that expectation.\p"
+ .string "But I guess that goes with being\n"
+ .string "a COOLTRAINER.\p"
+ .string "I’ll just have to buckle down…\n"
+ .string "and grin and bear it.\p"
+ .string "You’re the only person that I could\n"
+ .string "confide in like this.\p"
+ .string "But when I see you next,\n"
+ .string "don’t worry, I won’t whine!$"
+
+ .string "Yahoo, it’s {STR_VAR_1}!\n"
+ .string "How do you do?\p"
+ .string "I’ve been raising my POKéMON with\n"
+ .string "you as the target.\p"
+ .string "I don’t intend to lose when we\n"
+ .string "battle again.\p"
+ .string "Isn’t it great to have TRAINER\n"
+ .string "friends? Let’s meet again!$"
+
+ .string "It’s {STR_VAR_1}…\n"
+ .string "Right now, behind you…\l"
+ .string "Wasn’t there something…?\p"
+ .string "The power of the POKéMON that\n"
+ .string "sleep here at MT. PYRE…\p"
+ .string "It’s telling me about you…\p"
+ .string "You should walk away quickly and\n"
+ .string "never once look back…\p"
+ .string "Giggle…\n"
+ .string "Farewell…$"
+
+ .string "This is {STR_VAR_1}.\n"
+ .string "How do you do?\p"
+ .string "Isn’t it convenient that we can\n"
+ .string "chat like this at a distance?\p"
+ .string "Before, if I wanted to speak with\n"
+ .string "anyone, I had to have my father\l"
+ .string "drive me…\p"
+ .string "I should be going now.\n"
+ .string "I’m glad we had this chat.$"
+
+ .string "It’s {STR_VAR_1}!\n"
+ .string "Will you listen to this?\p"
+ .string "I like the SAFARI ZONE a lot,\n"
+ .string "but whenever I go, I get lost!\p"
+ .string "All that tall grass!\n"
+ .string "And it’s much too spread out!\p"
+ .string "I feel better getting that off\n"
+ .string "my chest!\p"
+ .string "I’m off to the SAFARI ZONE again!\n"
+ .string "Catch you!$"
+
+ .string "Hello, {STR_VAR_1} here.\n"
+ .string "Yes, correct, I am rich, yes.\p"
+ .string "I should tell you, my wealth has\n"
+ .string "grown since we last met.\p"
+ .string "What’s more, my POKéMON have also\n"
+ .string "grown stronger.\p"
+ .string "I can’t shake the feeling that\n"
+ .string "this world exists for me!\p"
+ .string "Oh, no need to say a word!\n"
+ .string "Everyone knows it’s true!\p"
+ .string "Oh, you must excuse me, I have this\n"
+ .string "formal dinner to attend.$"
+
+ .string "Ufufufufu…\n"
+ .string "It’s me, {STR_VAR_1}…\p"
+ .string "Can you guess what I’m seeing?\n"
+ .string "A pair of {STR_VAR_2} in a battle.\p"
+ .string "Maybe I’ll try catching the winner…\n"
+ .string "Ufufufufufu…\p"
+ .string "I… I’m kind of busy now.\n"
+ .string "I have to go.$"
+
+ .string "Oh, it’s {STR_VAR_1}!\p"
+ .string "I was just thinking I’m getting\n"
+ .string "bored of the ABANDONED SHIP.\p"
+ .string "But since I’m already here,\n"
+ .string "and I want to beat you once,\l"
+ .string "I’ll be sticking around a bit more.\p"
+ .string "If you feel compelled, why don’t\n"
+ .string "you come see me?\p"
+ .string "I think today will be the day that\n"
+ .string "I finally challenge the man next\l"
+ .string "door to a match.\p"
+ .string "Be seeing you!$"
+
+ .string "I’m {STR_VAR_1}!\n"
+ .string "The man of the sea!\p"
+ .string "You know what I think?\p"
+ .string "The TRAINERS out at sea are\n"
+ .string "the toughest of the tough!\p"
+ .string "You should learn from me and train\n"
+ .string "in the sea…\p"
+ .string "Whoops, giant surf rising!\p"
+ .string "It’s a great training opportunity!\n"
+ .string "Sorry, but I have to go!$"
+
+ .string "It’s {STR_VAR_1}! Listen, I’ve been\n"
+ .string "teaching karate to my POKéMON.\p"
+ .string "But now they’re better than me!\n"
+ .string "I’ve done nothing but lose to them!\p"
+ .string "But even though I may lose to\n"
+ .string "POKéMON, I won’t lose to another\l"
+ .string "TRAINER, no sir!\p"
+ .string "We have to battle again!\n"
+ .string "Ugwaah!$"
+
+ .string "It’s me, {STR_VAR_1}.\n"
+ .string "How’re your travels unwinding?\p"
+ .string "…Whoa, is that right?\n"
+ .string "Sounds awfully stimulating!\p"
+ .string "I think I could write a song about\n"
+ .string "one of your episodes.\p"
+ .string "…Oh, hey, I’m feeling it.\n"
+ .string "I hear the riffs in my head.\p"
+ .string "I’d better get this tune properly\n"
+ .string "written, so I’ve got to fly! Later!$"
+
+ .string "This is {STR_VAR_1}…\n"
+ .string "Hear my new song.\p"
+ .string "Lalala, {STR_VAR_2}, {STR_VAR_2}!\n"
+ .string "Why are you that {STR_VAR_2}?\l"
+ .string "Why can’t I be you, {STR_VAR_2}?\l"
+ .string "Lala, {STR_VAR_2} and {STR_VAR_1},\l"
+ .string "{STR_VAR_1} and {STR_VAR_2}…\p"
+ .string "Repeat chorus, fade…$"
+
+ .string "I’m {STR_VAR_1}, you know,\n"
+ .string "the camping expert!\p"
+ .string "When we battled, I couldn’t help\n"
+ .string "but lose to you.\p"
+ .string "After all, my expertise is in\n"
+ .string "camping.\p"
+ .string "But win or lose, I like to battle\n"
+ .string "when I’m camping.\p"
+ .string "Battle with us again, okay?\n"
+ .string "Oh, and let’s go camping, too!$"
+
+ .string "It’s me, me, {STR_VAR_1}!\p"
+ .string "I’d like to climb other mountains\n"
+ .string "than this one, to be honest.\p"
+ .string "But I’m not sure if there’d be any\n"
+ .string "ladies like on MT. CHIMNEY.\p"
+ .string "If you know any other mountain\n"
+ .string "with ladies around, let me know!\p"
+ .string "Ehehehe, see you around!$"
+
+ .string "… … … … … …\n"
+ .string "… … … … … …\l"
+ .string "It’s {STR_VAR_1}…\p"
+ .string "… … … … … …\n"
+ .string "… … … … … …\l"
+ .string "That’s all today…$"
+
+ .string "This is {STR_VAR_1}. Today, I had\n"
+ .string "this feeling I would chat with you.\p"
+ .string "My desire to defeat you builds\n"
+ .string "by day and by night.\p"
+ .string "You have a rival like that, yes?\n"
+ .string "I wish it were me…\p"
+ .string "I’m glad you heard me out.\n"
+ .string "See you!$"
+
+ .string "It’s {STR_VAR_1}.\p"
+ .string "When there’s a strong TRAINER\n"
+ .string "nearby, I can sometimes sense that\l"
+ .string "somehow.\p"
+ .string "Did you pass close by, {PLAYER}{STRING 5}?\n"
+ .string "Maybe it was you.\p"
+ .string "I’ll be waiting for your visit.\n"
+ .string "Bye!$"
+
+ .string "Hello, this is {STR_VAR_1}.\n"
+ .string "You sound well, {PLAYER}{STRING 5}.\p"
+ .string "I’ve traveled around the world,\n"
+ .string "but I must say I’ve taken a great\l"
+ .string "shine to this region.\p"
+ .string "I plan to stay here a while.\n"
+ .string "Perhaps we can meet again?\p"
+ .string "I’ve not forgotten your dazzling\n"
+ .string "techniques.\p"
+ .string "I do hope for a rematch.$"
+
+ .string "Snivel… It’s… {STR_VAR_1}…\n"
+ .string "…Sob…\p"
+ .string "ROXANNE chewed me out in class\n"
+ .string "today.\p"
+ .string "But I don’t dislike her or anything.\p"
+ .string "ROXANNE tells me exactly what\n"
+ .string "I did wrong so I can learn from it.\p"
+ .string "You bet I’ll be going to\n"
+ .string "the TRAINER’S SCHOOL tomorrow!\p"
+ .string "See you later!$"
+
+ .string "It’s {STR_VAR_1}!\p"
+ .string "ROXANNE let me battle with her\n"
+ .string "yesterday.\p"
+ .string "The results…\n"
+ .string "Terrible, like you needed to ask.\p"
+ .string "But I was delighted that ROXANNE\n"
+ .string "would even let me challenge her!\p"
+ .string "You wouldn’t believe how much\n"
+ .string "more I admire her!\p"
+ .string "I’m going to really focus and work!\n"
+ .string "I’d better go!$"
+
+ .string "Hi, it’s ANNA! I’m with my junior\n"
+ .string "partner MEG again today.\p"
+ .string "I really love caring for MEG and\n"
+ .string "POKéMON. They’re so cute!\p"
+ .string "I wish I could look after them\n"
+ .string "as if they were my siblings!\p"
+ .string "Oh, hi, MEG!\n"
+ .string "Did you get the buns?\p"
+ .string "Huh? No, no, I’m not treating you\n"
+ .string "like my personal slave!\p"
+ .string "You lost the match, so you have\n"
+ .string "to go buy the bread as punishment!\p"
+ .string "I wouldn’t treat you like a slave,\n"
+ .string "MEG! You’re too special to me!\p"
+ .string "I have to go now.\n"
+ .string "It’s time for our snack!$"
+
+ .string "I love POKéMON!\n"
+ .string "It’s {STR_VAR_1} from the FAN CLUB!\p"
+ .string "You have to hear this!\n"
+ .string "My sweet POKéMON…\p"
+ .string "Snort! Wahaha!\n"
+ .string "I can’t say any more! It’s a secret!\l"
+ .string "It’s just too cute for words!\p"
+ .string "Oh, my sweet {STR_VAR_2} is begging\n"
+ .string "for a {POKEBLOCK}!\p"
+ .string "It’s the picture of cuteness!\p"
+ .string "Sorry, but I can’t talk now!\n"
+ .string "You’ll have to hear this next time!$"
+
+ .string "Ohoho!\p"
+ .string "This is {STR_VAR_1}! I can’t wait to\n"
+ .string "tell you about my darling POKéMON!\p"
+ .string "Please, you must listen to this.\n"
+ .string "It’s about my darling {STR_VAR_2}.\p"
+ .string "Whenever anyone picks it up,\n"
+ .string "it leaps straight into my arms!\p"
+ .string "Oh… Oh… Could there be anything\n"
+ .string "more blissful?\p"
+ .string "Oh, it feels so heavenly!\p"
+ .string "I’m so glad I could share some of\n"
+ .string "my happiness with you.\p"
+ .string "Well, I must be going.\n"
+ .string "Bye, now!$"
+
+ .string "I am… {STR_VAR_1}.\n"
+ .string "People call me an EXPERT.\p"
+ .string "But there is one thing I know.\n"
+ .string "I could not be an EXPERT on my own\l"
+ .string "power.\p"
+ .string "Only with the help of POKéMON can\n"
+ .string "a TRAINER become an EXPERT.\p"
+ .string "Humph! I believe I may have said\n"
+ .string "something deep and profound!\p"
+ .string "I shall leave you in good spirits!$"
+
+ .string "It’s {STR_VAR_1}.\n"
+ .string "I’m glad to chat with you!\p"
+ .string "I am feeling alive and refreshed\n"
+ .string "soaking in this hot-spring tub.\p"
+ .string "I’ve been battling young TRAINERS\n"
+ .string "since we met, but you’re still\l"
+ .string "the best of the lot.\p"
+ .string "I imagine you’ll become an EXPERT\n"
+ .string "in your old age! Ohohoho…$"
+
+ .string "Yay! This is {STR_VAR_1}!\n"
+ .string "What’s up?\p"
+ .string "I might be imagining this, but when\n"
+ .string "I win battles, my shorts seem to\l"
+ .string "feel, like, better. Materially.\p"
+ .string "What do I mean by that?\n"
+ .string "It’s kind of hard to explain, but…\l"
+ .string "How would I say this now…\l"
+ .string "My shorts feel silkier!\p"
+ .string "And when I battled you, {PLAYER}{STRING 5},\n"
+ .string "my shorts felt icky and coarse.\p"
+ .string "… … … … … …\n"
+ .string "You didn’t really believe that?\l"
+ .string "Ehehehe, that’s all! Bye now!$"
+
+ .string "Ahoy!\n"
+ .string "{STR_VAR_1} here!\p"
+ .string "As always, I’m fishing with wild\n"
+ .string "abandon!\p"
+ .string "Are there other places I can fish\n"
+ .string "than the sea and rivers?\p"
+ .string "I get these powerful urges to\n"
+ .string "fish just about anywhere!\p"
+ .string "Oh, gosh, darn it!\n"
+ .string "My line’s tangled up!\p"
+ .string "Gotta go!\n"
+ .string "Find me some new fishing spots!$"
+
+ .string "Hey, there! It’s {STR_VAR_1}.\n"
+ .string "Are you taking it casually?\p"
+ .string "Ever since I was a kid, you know,\n"
+ .string "I’ve always been placid, huh?\p"
+ .string "I never was much for getting all\n"
+ .string "stressed or rushing things.\p"
+ .string "But wouldn’t you know it,\n"
+ .string "I’m now a TRIATHLETE.\p"
+ .string "You just can’t tell where life will\n"
+ .string "take you, if you get my drift.\p"
+ .string "You’re a TRAINER now, but who\n"
+ .string "knows what the future holds, huh?\p"
+ .string "Imagine yourself as a teacher,\n"
+ .string "or maybe an artist. Cool, huh?\p"
+ .string "But, hey, be cool. Take it casual.\n"
+ .string "See you around.$"
+
+ .string "This is {STR_VAR_1}!\n"
+ .string "I’m cycling right now.\p"
+ .string "I love swimming and running,\n"
+ .string "but cycling is my first love!\p"
+ .string "It makes my whole body feel as if\n"
+ .string "I’m one with the wind.\p"
+ .string "It exhilarates me as if I were\n"
+ .string "flying!\p"
+ .string "Okay! Today, I’m going to set a new\n"
+ .string "CYCLING ROAD record!\p"
+ .string "You should make the challenge, too!\n"
+ .string "See you!$"
+
+ .string "Yo, this is {STR_VAR_1}! I’m smack\n"
+ .string "in the middle of a triathlon!\p"
+ .string "But, hey, I’ve always got time to\n"
+ .string "shoot the breeze!\p"
+ .string "Working out with POKéMON feels\n"
+ .string "mighty good!\p"
+ .string "Without exchanging words, we synch\n"
+ .string "as if we shared a heart.\p"
+ .string "It’s inspiring!\p"
+ .string "Gasp… Chatting while running…\n"
+ .string "I’m getting run down…\l"
+ .string "Gasp… Have…to…go…$"
+
+ .string "Hi, it’s {STR_VAR_1}.\n"
+ .string "If you want to improve endurance,\l"
+ .string "high-altitude training is it!\p"
+ .string "Try running on a mountaintop.\n"
+ .string "You’ll be gasping in no time!\p"
+ .string "I’m getting oxygen starved, too!\n"
+ .string "See you!$"
+
+ .string "Oh, it’s {STR_VAR_1}, hello.\p"
+ .string "I’ve been swimming a lot but I still\n"
+ .string "can’t seem to reach EVERGRANDE.\p"
+ .string "Maybe I’m just going in circles.\p"
+ .string "No, no, that can’t be possible.\n"
+ .string "Wahahaha.\l"
+ .string "Take care!$"
+
+ .string "Hey, it’s {STR_VAR_1}…\n"
+ .string "Whoops!\p"
+ .string "Splash!\p"
+ .string "Blug-blug-blug-blug…\p"
+ .string "Sploosh!\p"
+ .string "Whiff-whiff! Whiff-whiff!\p"
+ .string "Hey! Sorry about that!\n"
+ .string "I just put on some suntan oil.\p"
+ .string "So my POKéNAV went whoopsy\n"
+ .string "out of my hand into the water!\p"
+ .string "But, boy, DEVON’s POKéNAV is built\n"
+ .string "tough. It survived that dunking!\p"
+ .string "Anyways, I’m busy sunbathing,\n"
+ .string "so let’s chat another time.$"
+
+ .string "Hello, this is {STR_VAR_1}.\p"
+ .string "Out of the three triathlon events,\n"
+ .string "I like swimming best.\p"
+ .string "But if I stay in the sea too long,\n"
+ .string "won’t I get all prune-like?\p"
+ .string "Ooh, triathlon is such a grueling\n"
+ .string "test of human endurance! Bye!$"
+
+ .string "Hello, {PLAYER}{STRING 5}.\n"
+ .string "{STR_VAR_1} here.\p"
+ .string "How are your POKéMON doing?\p"
+ .string "My DRAGON POKéMON appear to be\n"
+ .string "in peak form. Bye for now.$"
+
+ .string "{STR_VAR_1} here.\p"
+ .string "My {STR_VAR_2} has grown even more\n"
+ .string "tough than that last time.\p"
+ .string "I’m not going to lose again to you.\n"
+ .string "You wait till next time!\p"
+ .string "See you around!$"
+
+ .string "It is {STR_VAR_1} here.\p"
+ .string "I have continued with my studies\n"
+ .string "in the art of concealment.\p"
+ .string "But I have been too successful.\n"
+ .string "No one has been able to find me.\l"
+ .string "My success makes me lonely…\p"
+ .string "Like smoke I disappear!\n"
+ .string "Farewell!$"
+
+ .string "This is {STR_VAR_1}.\n"
+ .string "I kept up my training since we met.\p"
+ .string "My {STR_VAR_2} is getting pretty\n"
+ .string "tough.\p"
+ .string "Training on a beach is effective,\n"
+ .string "just as I thought. Bye now!$"
+
+ .string "How do you do?\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "I wonder when this yucky volcanic\n"
+ .string "ash will stop falling?\p"
+ .string "If it gets too deep, it will cover\n"
+ .string "up the pattern on my parasol…\p"
+ .string "Let’s promise to meet again!$"
+
+ .string "Hi, {STR_VAR_1} here.\p"
+ .string "Did you know that it’s easier to\n"
+ .string "float in the sea than a pool?\p"
+ .string "Just by lying still, your body will\n"
+ .string "float on its own.\p"
+ .string "But if you float for too long,\n"
+ .string "watch that you don’t get carried\l"
+ .string "off too far out.\p"
+ .string "…Where am I, anyway?\n"
+ .string "I’d better go!$"
+
+ .string "Oh, {PLAYER}{STRING 5}, hello!\n"
+ .string "This is {STR_VAR_1}.\l"
+ .string "I’m up in the mountains now.\p"
+ .string "But the ground is too bumpy.\n"
+ .string "I can’t pitch my tent here…\p"
+ .string "Oh, I had a brilliant idea!\p"
+ .string "Maybe I can get my POKéMON to tamp\n"
+ .string "the ground flat here!\p"
+ .string "I’m going to try that!\n"
+ .string "Bye-bye!$"
+
+ .string "Oh, hi, hi, this is {STR_VAR_1}!\p"
+ .string "I’m raising POKéMON with LIV!\n"
+ .string "We’re trying very hard!\p"
+ .string "If we try harder, can we become\n"
+ .string "number one? Bye-bye!$"
+
+ .string "{STR_VAR_1} here!\p"
+ .string "I’m a SAILOR, but I’m not on a boat\n"
+ .string "now.\p"
+ .string "It makes me wonder--what should\n"
+ .string "a SAILOR on land be called?\p"
+ .string "That’s what I’ve been thinking\n"
+ .string "while staring out across the waves.\p"
+ .string "All right, next time!$"
+
+ .string "It’s {STR_VAR_1}.\n"
+ .string "So? Get any more POKéMON?\p"
+ .string "If you catch a new POKéMON,\n"
+ .string "you have to come show me.\p"
+ .string "I won’t whine for it, honest.\n"
+ .string "I’ll be waiting. See you.$"
+
+ .string "This is {STR_VAR_1}.\p"
+ .string "Are you raising your POKéMON\n"
+ .string "in the optimal way?\p"
+ .string "The air is clean where I am.\n"
+ .string "It’s the perfect environment for\l"
+ .string "raising POKéMON.\p"
+ .string "If you’re going to focus on raising\n"
+ .string "POKéMON, you should come out to\l"
+ .string "{STR_VAR_2}. Take care now.$"
+
+ .string "Hi, this is {STR_VAR_1}.\p"
+ .string "I gave a {POKEBLOCK} to my {STR_VAR_2}.\n"
+ .string "It seemed to enjoy it very much.\p"
+ .string "It looks like POKéMON have their\n"
+ .string "likes and dislikes with {POKEBLOCK}S.\p"
+ .string "I find that quite fascinating.\n"
+ .string "Please do take care.$"
+
+ .string "{STR_VAR_1} here.\p"
+ .string "If you cooperate with POKéMON,\n"
+ .string "one can be comfortable in the wild.\p"
+ .string "Everyone should realize that and\n"
+ .string "cooperate with POKéMON more.\p"
+ .string "That would be ideal.\n"
+ .string "I really think so.\p"
+ .string "I think you’re on the right track!\n"
+ .string "Catch you later!$"
+
+ .string "Hi, it’s {STR_VAR_1}. You know,\n"
+ .string "the TRAINER who’s always prepared!\p"
+ .string "{PLAYER}{STRING 5}, do you have enough items?\n"
+ .string "Are your POKéMON fit for action?\p"
+ .string "Keeping everything perfect around\n"
+ .string "you all the time is the secret to\l"
+ .string "keeping your journey going.\p"
+ .string "I’d better go check my own\n"
+ .string "supplies! Be vigilant!$"
+
+ .string "It’s {STR_VAR_1}!\n"
+ .string "It’s {STR_VAR_1}!\p"
+ .string "{STR_VAR_2} is a very busy\n"
+ .string "thoroughfare, so I get challenged\l"
+ .string "by all kinds of TRAINERS every day.\p"
+ .string "Today, I won five battles and lost\n"
+ .string "only three!\p"
+ .string "How did you do today?\n"
+ .string "Tell me about it next time, okay?$"
+
+ .string "It’s me, {STR_VAR_1}.\p"
+ .string "I’m popular because I have lots\n"
+ .string "of BUG POKéMON, right?\p"
+ .string "Well, I took a bunch of my fave\n"
+ .string "bugs to school today.\p"
+ .string "This girl I like started crying!\n"
+ .string "Go ahead and laugh if you want.\p"
+ .string "I have to try teaching her what\n"
+ .string "makes BUG POKéMON so appealing.\p"
+ .string "Snivel…\n"
+ .string "See you!$"
+
+ .string "Hah! Hah! Hah! Hah!\p"
+ .string "Hi! It’s {STR_VAR_1}! Hah! Hah!\p"
+ .string "Trying to chat…\n"
+ .string "While climbing…\l"
+ .string "Is harsh exercise… Hah! Hah!\p"
+ .string "Urgh! Oof…\n"
+ .string "It’s steeper now…\l"
+ .string "We’ll chat…another time…\l"
+ .string "Hah! Hah! Hah!$"
+
+ .string "Oh, hi!\p"
+ .string "I’m still searching for treasures\n"
+ .string "with KIRA!\p"
+ .string "Maybe there isn’t any treasure\n"
+ .string "here at all…\p"
+ .string "But the important thing is for me\n"
+ .string "to search alongside KIRA.\p"
+ .string "Oh, hey, KIRA!\n"
+ .string "Wh-why are you angry?\p"
+ .string "I’m not ignoring you, honey!\n"
+ .string "You’re my one and only!\p"
+ .string "…{PLAYER}, I have to go, bye!$"
+
+ .string "This is {STR_VAR_1}!\p"
+ .string "I went to DEWFORD’s GYM again\n"
+ .string "for training.\p"
+ .string "BRAWLY, the GYM LEADER, seems\n"
+ .string "to be tougher now.\p"
+ .string "Something about being toughened\n"
+ .string "by the wild waves…\p"
+ .string "But he’s still as cool as ever.\n"
+ .string "The ladies adore him!\l"
+ .string "It makes me envious, frankly.\p"
+ .string "I wonder… Is his friend BRUNO\n"
+ .string "the same way as BRAWLY?\p"
+ .string "You know, all sweaty or smelly,\n"
+ .string "and prone to calling people\l"
+ .string "“big wave,” that sort of thing.\p"
+ .string "But, hey, this jealousy thing isn’t\n"
+ .string "very seemly, is it?\p"
+ .string "Forget this chat ever happened,\n"
+ .string "how about it? So long!$"
+
+ .string "It’s a pleasure to chat with\n"
+ .string "a young TRAINER like you.\p"
+ .string "I imagine that you will continue to\n"
+ .string "enjoy POKéMON whatever your age.\p"
+ .string "Wouldn’t it be good if you had\n"
+ .string "a partnership like ours?\p"
+ .string "Of course, {PLAYER}{STRING 5}, you already\n"
+ .string "enjoy the trust and companionship\l"
+ .string "of your POKéMON now.\p"
+ .string "You have the makings of long and\n"
+ .string "enduring relationships already!\p"
+ .string "Hahaha!\n"
+ .string "Never be discouraged!$"
+
+ .string "Hi, this is {STR_VAR_1}!\n"
+ .string "We just won a battle!\p"
+ .string "We don’t win often, but it was this\n"
+ .string "cool SWIMMER guy.\p"
+ .string "My sister was steamed!\p"
+ .string "She wanted to pretend that she\n"
+ .string "was weak to make an impression!\p"
+ .string "She always chews me out whether\n"
+ .string "we win or lose!\p"
+ .string "{PLAYER}{STRING 5}, can you say something\n"
+ .string "to her next time?\p"
+ .string "Okay, see you!$"
+
+ .string "{STR_VAR_1} here, yes.\n"
+ .string "I headed out to sea yesterday.\p"
+ .string "I had been hoping to find a new\n"
+ .string "ruin to explore.\p"
+ .string "But the tides somehow seemed to\n"
+ .string "carry me back where I started.\p"
+ .string "I’m still weak at battling, too…\n"
+ .string "Feel free to mock me…\l"
+ .string "But I won’t give up.\p"
+ .string "My day will come when I discover\n"
+ .string "a new ruin!\p"
+ .string "That’s all I have to say!\n"
+ .string "Farewell for now!$"
+
+ .string "Ahoy there!\n"
+ .string "It’s me, {STR_VAR_1}!\l"
+ .string "I’m out on ROUTE 108 now!\l"
+ .string "In other words, where I always am!\p"
+ .string "Today, a gorgeous SWIMMER \n"
+ .string "swam by me!\p"
+ .string "So I startled her with a shout!\p"
+ .string "And she gave me a nasty glare!\p"
+ .string "That’s all from ROUTE 108!\n"
+ .string "Brought to you by {STR_VAR_1}!$"
+
+ .string "It’s {STR_VAR_1}!\p"
+ .string "I’m kind of busy, but I figured\n"
+ .string "I should let you know that I’ve\l"
+ .string "beaten five TRAINERS again today.\p"
+ .string "If I keep this pace up, I can\n"
+ .string "probably beat you next time.\p"
+ .string "I think we’ll be good rivals,\n"
+ .string "you and I. Good-bye for now!$"
+
+ .string "Hi! This is {STR_VAR_1}.\n"
+ .string "I heard the news!\p"
+ .string "They say you did excellent at\n"
+ .string "the {STR_VAR_2}.\p"
+ .string "It’s awesome, {STR_VAR_3} straight wins?\n"
+ .string "See you!$"
+
+ .string "Hello, it’s {STR_VAR_1}!\n"
+ .string "I heard about you!\p"
+ .string "They said you won {STR_VAR_3} straight\n"
+ .string "battles at the {STR_VAR_2}.\p"
+ .string "That’s special! I should try\n"
+ .string "harder, too! See you!$"
+
+ .string "Hey there, {PLAYER}!\n"
+ .string "It’s me, {STR_VAR_1}.\p"
+ .string "I heard you went on a tear at\n"
+ .string "the {STR_VAR_2}!\p"
+ .string "A big {STR_VAR_3}-win streak…\n"
+ .string "That is a big record, isn’t it?\p"
+ .string "I’d better get it together, too!\n"
+ .string "Catch you soon!$"
+
+ .string "Hey, {PLAYER}{STRING 5}.\n"
+ .string "{STR_VAR_1} here. What’s up?\p"
+ .string "There’s a rumor going around that\n"
+ .string "you strung together {STR_VAR_3} straight\l"
+ .string "wins at the {STR_VAR_2}.\p"
+ .string "I’d better step it up, too.\n"
+ .string "See you!$"
+
+ .string "Hiya, {PLAYER}{STRING 5}!\n"
+ .string "It’s {STR_VAR_1}.\p"
+ .string "You were at the {STR_VAR_2}\n"
+ .string "and won {STR_VAR_3} battles in a row?\l"
+ .string "Isn’t that something!\p"
+ .string "I’d better work on my POKéMON more.\n"
+ .string "See you soon!$"
+
+ .string "Hey, {PLAYER}{STRING 5}.\n"
+ .string "{STR_VAR_1} here. How are you?\p"
+ .string "By the way, I heard you pulled off\n"
+ .string "the feat of {STR_VAR_3} straight wins at\l"
+ .string "the {STR_VAR_2}.\p"
+ .string "That inspires me to focus on\n"
+ .string "raising my team.$"
+
+ .string "…Er, {PLAYER}{STRING 5}?\n"
+ .string "{STR_VAR_1} here…\p"
+ .string "Oh, yeah, you were over at\n"
+ .string "the {STR_VAR_2}, right?\p"
+ .string "And you won {STR_VAR_3} battles in a row.\p"
+ .string "Oh, there goes a rare POKéMON!\n"
+ .string "I have to go!$"
+
+ .string "Oh, {PLAYER}{STRING 5}, how do you do?\n"
+ .string "This is {STR_VAR_1} speaking.\l"
+ .string "I hope you’re doing well.\p"
+ .string "Oh, but, you are. I’ve heard that\n"
+ .string "you won {STR_VAR_3} matches in a row at\l"
+ .string "the {STR_VAR_2}.\p"
+ .string "That’s very impressive!\n"
+ .string "I hope you stay successful.$"
+
+ .string "Oh, {PLAYER}{STRING 5}, hi there!\n"
+ .string "This is {STR_VAR_1}!\p"
+ .string "I heard! Your {STR_VAR_3}-win streak at\n"
+ .string "the {STR_VAR_2}!\p"
+ .string "That is so cool!\n"
+ .string "I’d better try harder, too!$"
+
+ .string "Oh, {PLAYER}{STRING 5}, hello…\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "You won {STR_VAR_3} straight battles at\n"
+ .string "the {STR_VAR_2}?\p"
+ .string "That’s quite the accomplishment.\n"
+ .string "I need to work harder.$"
+
+ .string "Ah, {PLAYER}{STRING 5}.\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "I hear you’re the terror of\n"
+ .string "the {STR_VAR_2}?\p"
+ .string "You won, what, {STR_VAR_3} matches in\n"
+ .string "a row?\p"
+ .string "You’re good, you.\n"
+ .string "I wonder how many I can win?$"
+
+ .string "Hello, {PLAYER}{STRING 5}.\n"
+ .string "It’s me, {STR_VAR_1}.\l"
+ .string "Are you keeping well?\p"
+ .string "Someone passed on word about you.\n"
+ .string "How you won {STR_VAR_3} straight battles\l"
+ .string "at a place named {STR_VAR_2}?\p"
+ .string "That’s quite the tale.\n"
+ .string "See you!$"
+
+ .string "Ah, hello, {PLAYER}{STRING 5}!\n"
+ .string "This is {STR_VAR_1}!\l"
+ .string "I hope you’ve been keeping well.\p"
+ .string "They say you won {STR_VAR_3} straight\n"
+ .string "battles at the {STR_VAR_2}.\p"
+ .string "I admire your energy!\n"
+ .string "Bye now.$"
+
+ .string "Oh, hi, {PLAYER}{STRING 5}.\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "I heard about you!\n"
+ .string "Didn’t you just win {STR_VAR_3} battles in\l"
+ .string "a row at the {STR_VAR_2}?\p"
+ .string "You’re an inspiration!\n"
+ .string "Bye-bye!$"
+
+ .string "Hi! This is {STR_VAR_1}.\n"
+ .string "I heard the news!\p"
+ .string "They say you did excellent at\n"
+ .string "the {STR_VAR_2}.\p"
+ .string "It’s awesome--{STR_VAR_3} straight wins?\n"
+ .string "See you!$"
+
+ .string "Hello, it’s {STR_VAR_1}!\n"
+ .string "I heard about you!\p"
+ .string "They said you won {STR_VAR_3} straight\n"
+ .string "battles at the {STR_VAR_2}.\p"
+ .string "That’s special! I should try\n"
+ .string "harder, too! See you!$"
+
+ .string "Hey there, {PLAYER}!\n"
+ .string "It’s me, {STR_VAR_1}.\p"
+ .string "I heard you went on a tear at\n"
+ .string "the {STR_VAR_2}!\p"
+ .string "A big {STR_VAR_3}-win streak…\n"
+ .string "That is a big record, isn’t it?\p"
+ .string "I’d better get it together, too!\n"
+ .string "Catch you soon!$"
+
+ .string "Hey, {PLAYER}{STRING 5}.\n"
+ .string "{STR_VAR_1} here. What’s up?\p"
+ .string "There’s a rumor going around that\n"
+ .string "you strung together {STR_VAR_3} straight\l"
+ .string "wins at the {STR_VAR_2}.\p"
+ .string "I’d better step it up, too.\n"
+ .string "See you!$"
+
+ .string "Hiya, {PLAYER}{STRING 5}!\n"
+ .string "It’s {STR_VAR_1}.\p"
+ .string "You were at the {STR_VAR_2}\n"
+ .string "and won {STR_VAR_3} battles in a row?\l"
+ .string "Isn’t that something!\p"
+ .string "Me? I’d say I’m coming along.\n"
+ .string "See you soon!$"
+
+ .string "Hey, {PLAYER}{STRING 5}.\n"
+ .string "{STR_VAR_1} here. How are you?\p"
+ .string "By the way, I heard you pulled off\n"
+ .string "the feat of {STR_VAR_3} straight wins at\l"
+ .string "the {STR_VAR_2}.\p"
+ .string "I’d better try harder myself!\n"
+ .string "See you soon!$"
+
+ .string "…Er, {PLAYER}{STRING 5}?\n"
+ .string "{STR_VAR_1} here…\p"
+ .string "Oh, yeah, you were over at\n"
+ .string "the {STR_VAR_2}, right?\p"
+ .string "And you won {STR_VAR_3} battles in a row.\p"
+ .string "Oh, there goes a rare POKéMON!\n"
+ .string "I have to go!$"
+
+ .string "Oh, {PLAYER}{STRING 5}, how do you do?\n"
+ .string "This is {STR_VAR_1} speaking.\l"
+ .string "I hope you’re doing well.\p"
+ .string "Oh, but, you are. I’ve heard that\n"
+ .string "you won {STR_VAR_3} matches in a row at\l"
+ .string "the {STR_VAR_2}.\p"
+ .string "That’s very impressive!\n"
+ .string "I’d better work on my POKéMON, too!$"
+
+ .string "Oh, {PLAYER}{STRING 5}, hi there!\n"
+ .string "This is {STR_VAR_1}!\p"
+ .string "I heard! Your {STR_VAR_3}-win streak at\n"
+ .string "the {STR_VAR_2}!\p"
+ .string "That is so cool!\n"
+ .string "I’d better try harder, too!$"
+
+ .string "Oh, {PLAYER}{STRING 5}, hello…\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "You won {STR_VAR_3} straight battles at\n"
+ .string "the {STR_VAR_2}?\p"
+ .string "That’s quite the accomplishment.\n"
+ .string "I need to work harder.$"
+
+ .string "Ah, {PLAYER}{STRING 5}.\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "I hear you’re the terror of\n"
+ .string "the {STR_VAR_2}?\p"
+ .string "You won, what, {STR_VAR_3} matches in\n"
+ .string "a row?\p"
+ .string "You’re good, you.\n"
+ .string "I wonder how many I can win?$"
+
+ .string "Hello, {PLAYER}{STRING 5}.\n"
+ .string "It’s me, {STR_VAR_1}.\l"
+ .string "Are you keeping well?\p"
+ .string "Someone passed on word about you.\n"
+ .string "How you won {STR_VAR_3} straight battles\l"
+ .string "at a place named {STR_VAR_2}?\p"
+ .string "That’s quite the tale.\n"
+ .string "See you!$"
+
+ .string "Ah, hello, {PLAYER}{STRING 5}!\n"
+ .string "This is {STR_VAR_1}!\l"
+ .string "I hope you’ve been keeping well.\p"
+ .string "They say you won {STR_VAR_3} straight\n"
+ .string "battles at the {STR_VAR_2}.\p"
+ .string "I admire your energy!\n"
+ .string "Bye now.$"
+
+ .string "Oh, hi, {PLAYER}{STRING 5}.\n"
+ .string "This is {STR_VAR_1}.\l"
+ .string "I heard about you!\p"
+ .string "Didn’t you just win {STR_VAR_3} battles in\n"
+ .string "a row at the {STR_VAR_2}?\p"
+ .string "You’re an inspiration!\n"
+ .string "Bye-bye!$"
+
+ .string "Hi! {PLAYER}?\n"
+ .string "Hello, this is {STR_VAR_1}!\l"
+ .string "I heard the news!\p"
+ .string "You became the champion at\n"
+ .string "the {STR_VAR_2} {STR_VAR_3} times?\p"
+ .string "It’s awesome! I have to do better!\n"
+ .string "See you!$"
+
+ .string "Hello, it’s {STR_VAR_1}!\n"
+ .string "I heard about you!\p"
+ .string "They said you won {STR_VAR_3} titles\n"
+ .string "at the {STR_VAR_2}.\p"
+ .string "That’s super! I wonder if I can\n"
+ .string "become a champion?$"
+
+ .string "Hey there, {PLAYER}!\n"
+ .string "It’s me, {STR_VAR_1}.\l"
+ .string "How’s it going?\p"
+ .string "I heard you won events {STR_VAR_3} times\n"
+ .string "at the {STR_VAR_2}!\p"
+ .string "Make it one more next time!\n"
+ .string "Catch you soon!$"
+
+ .string "Hey, {PLAYER}{STRING 5}.\n"
+ .string "{STR_VAR_1} here.\p"
+ .string "I heard you became the champion\n"
+ .string "at the {STR_VAR_2} {STR_VAR_3} times.\p"
+ .string "Sounds like you’re working hard.\n"
+ .string "I’ll try to keep up!$"
+
+ .string "Hiya, {PLAYER}{STRING 5}!\n"
+ .string "It’s {STR_VAR_1}.\p"
+ .string "I heard you won {STR_VAR_3} times\n"
+ .string "outright at the {STR_VAR_2}.\p"
+ .string "I’d better get with it, too!\n"
+ .string "See you soon!$"
+
+ .string "Hey, {PLAYER}{STRING 5}?\n"
+ .string "{STR_VAR_1} here. How are you?\p"
+ .string "By the way, I heard you became\n"
+ .string "the champion {STR_VAR_3} times at\l"
+ .string "the {STR_VAR_2}.\p"
+ .string "I’d better raise my POKéMON before\n"
+ .string "you pull farther ahead.$"
+
+ .string "{PLAYER}{STRING 5}?\n"
+ .string "{STR_VAR_1} here.\p"
+ .string "You were at the {STR_VAR_2}\n"
+ .string "and became the champ {STR_VAR_3} times?\p"
+ .string "That’s neat. By the way, have you\n"
+ .string "caught any rare POKéMON lately?\p"
+ .string "Oh, is that right.\n"
+ .string "Okay, bye.$"
+
+ .string "Oh, {PLAYER}{STRING 5}, how do you do?\n"
+ .string "This is {STR_VAR_1} speaking.\l"
+ .string "I hope you’re doing well.\l"
+ .string "Oh, but, you are.\p"
+ .string "I’ve heard that you won {STR_VAR_3} titles\n"
+ .string "at the {STR_VAR_2}.\p"
+ .string "I must raise my POKéMON like you.\n"
+ .string "See you again.$"
+
+ .string "Oh, {PLAYER}{STRING 5}, hi there!\n"
+ .string "This is {STR_VAR_1}!\p"
+ .string "I heard! You took the title\n"
+ .string "{STR_VAR_3} times at the {STR_VAR_2}!\p"
+ .string "That is so cool!\n"
+ .string "I’d better try harder, too!$"
+
+ .string "Oh, {PLAYER}{STRING 5}, hello.\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "You won {STR_VAR_3} straight times at\n"
+ .string "the {STR_VAR_2}?\p"
+ .string "That’s quite the accomplishment.\n"
+ .string "I need to work harder.$"
+
+ .string "Ah, {PLAYER}{STRING 5}.\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "I hear you’re the terror of\n"
+ .string "the {STR_VAR_2}?\p"
+ .string "You won, what, {STR_VAR_3} straight times\n"
+ .string "now?\p"
+ .string "I wonder if I can ever become\n"
+ .string "a champion?\p"
+ .string "…Pretty well impossible?\n"
+ .string "Well, see you!$"
+
+ .string "Hello, {PLAYER}{STRING 5}.\n"
+ .string "It’s me, {STR_VAR_1}.\l"
+ .string "Are you keeping well?\p"
+ .string "You’ve won {STR_VAR_3} events at a place\n"
+ .string "named {STR_VAR_2}?\p"
+ .string "That’s quite the tale.\n"
+ .string "See you!$"
+
+ .string "Ah, hello, {PLAYER}{STRING 5}!\n"
+ .string "This is {STR_VAR_1}!\l"
+ .string "I hope you’ve been keeping well.\p"
+ .string "They say you won {STR_VAR_3} events\n"
+ .string "at the {STR_VAR_2}?\p"
+ .string "I admire your energy!\n"
+ .string "Bye now.$"
+
+ .string "Oh, hi, {PLAYER}{STRING 5}.\n"
+ .string "This is {STR_VAR_1}.\l"
+ .string "I heard about you!\p"
+ .string "Didn’t you win {STR_VAR_3} titles\n"
+ .string "at the {STR_VAR_2}?\p"
+ .string "You’re an inspiration!\n"
+ .string "See you again!$"
+
+ .string "Hi! {PLAYER}?\n"
+ .string "Hello, this is {STR_VAR_1}!\l"
+ .string "I heard the news!\p"
+ .string "You got through {STR_VAR_3} rooms\n"
+ .string "at the {STR_VAR_2}!\p"
+ .string "That’s awesome!\n"
+ .string "See you!$"
+
+ .string "Hello, it’s {STR_VAR_1}!\n"
+ .string "I heard about you!\p"
+ .string "They said you won your way through\n"
+ .string "{STR_VAR_3} rooms at the {STR_VAR_2}.\p"
+ .string "I have to try much harder!\n"
+ .string "Bye!$"
+
+ .string "Hey there, {PLAYER}!\n"
+ .string "It’s me, {STR_VAR_1}.\l"
+ .string "How’s it going?\p"
+ .string "I heard you won through {STR_VAR_3} rooms\n"
+ .string "at the {STR_VAR_2}!\p"
+ .string "Try to do even better next time!\n"
+ .string "Catch you soon!$"
+
+ .string "Hey, {PLAYER}{STRING 5}.\n"
+ .string "{STR_VAR_1} here.\p"
+ .string "I heard you blew through {STR_VAR_3} rooms\n"
+ .string "at the {STR_VAR_2}.\p"
+ .string "I’d better train my POKéMON and\n"
+ .string "try to keep up!$"
+
+ .string "Hiya, {PLAYER}{STRING 5}!\n"
+ .string "It’s {STR_VAR_1}.\p"
+ .string "I heard you got past {STR_VAR_3} rooms\n"
+ .string "at the {STR_VAR_2}.\p"
+ .string "I’d better get with it, too!\n"
+ .string "See you soon!$"
+
+ .string "Hey, {PLAYER}{STRING 5}?\n"
+ .string "{STR_VAR_1} here. How are you?\p"
+ .string "By the way, I heard you got through\n"
+ .string "{STR_VAR_3} rooms at the {STR_VAR_2}.\p"
+ .string "I’d better raise my POKéMON before\n"
+ .string "you pull further ahead.$"
+
+ .string "{PLAYER}{STRING 5}?\n"
+ .string "{STR_VAR_1} here.\p"
+ .string "You were at the {STR_VAR_2}\n"
+ .string "and won your way past {STR_VAR_3} rooms?\p"
+ .string "That’s wicked.\p"
+ .string "Oh, there goes a rare POKéMON!\n"
+ .string "Okay, bye.$"
+
+ .string "Oh, {PLAYER}{STRING 5}, how do you do?\n"
+ .string "This is {STR_VAR_1} speaking.\l"
+ .string "I hope you’re doing well.\l"
+ .string "Oh, but, you are.\p"
+ .string "I’ve heard that you got through\n"
+ .string "{STR_VAR_3} rooms at the {STR_VAR_2}.\p"
+ .string "That’s quite impressive!\n"
+ .string "I must raise my POKéMON like you.\l"
+ .string "See you again.$"
+
+ .string "Oh, {PLAYER}{STRING 5}, hi there!\n"
+ .string "This is {STR_VAR_1}!\p"
+ .string "I heard! You won your way through\n"
+ .string "{STR_VAR_3} rooms at the {STR_VAR_2}!\p"
+ .string "That is so cool!\n"
+ .string "I’d better try harder, too!$"
+
+ .string "Oh, {PLAYER}{STRING 5}, hello.\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "You won your way past {STR_VAR_3} rooms\n"
+ .string "at the {STR_VAR_2}?\p"
+ .string "That’s quite the accomplishment.\n"
+ .string "I need to work harder.$"
+
+ .string "Ah, {PLAYER}{STRING 5}.\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "I hear you’re the terror of\n"
+ .string "the {STR_VAR_2}?\p"
+ .string "You got through, what, {STR_VAR_3} rooms?\n"
+ .string "That’s gotta count for something.\p"
+ .string "I wonder if I can ever become\n"
+ .string "a champion?\p"
+ .string "…Pretty well impossible?\n"
+ .string "Well, see you!$"
+
+ .string "Hello, {PLAYER}{STRING 5}.\n"
+ .string "It’s me, {STR_VAR_1}.\l"
+ .string "Are you keeping well?\p"
+ .string "You’ve won through {STR_VAR_3} rooms at\n"
+ .string "a place named {STR_VAR_2}?\p"
+ .string "That’s quite the tale.\n"
+ .string "See you!$"
+
+ .string "Ah, hello, {PLAYER}{STRING 5}!\n"
+ .string "This is {STR_VAR_1}!\l"
+ .string "I hope you’ve been keeping well.\p"
+ .string "They say you won in {STR_VAR_3} rooms\n"
+ .string "at the {STR_VAR_2}?\p"
+ .string "I admire your energy!\n"
+ .string "Bye now.$"
+
+ .string "Oh, hi, {PLAYER}{STRING 5}.\n"
+ .string "This is {STR_VAR_1}.\l"
+ .string "I heard about you!\p"
+ .string "Didn’t you get through {STR_VAR_3} rooms\n"
+ .string "at the {STR_VAR_2}?\p"
+ .string "You’re an inspiration!\n"
+ .string "See you again!$"
+
+ .string "Hi! {PLAYER}?\n"
+ .string "Hello, this is {STR_VAR_1}!\l"
+ .string "I heard the news!\p"
+ .string "You climbed {STR_VAR_3} floors inside\n"
+ .string "the {STR_VAR_2}, right?\p"
+ .string "That’s awesome!\n"
+ .string "I should try that challenge.$"
+
+ .string "Hello, it’s {STR_VAR_1}!\n"
+ .string "I heard about you!\p"
+ .string "They said you won your way through\n"
+ .string "{STR_VAR_3} floors in the {STR_VAR_2}.\p"
+ .string "Wow, that’s fantastic!\n"
+ .string "I’d better raise my POKéMON, too!$"
+
+ .string "Hey there, {PLAYER}!\n"
+ .string "It’s me, {STR_VAR_1}.\l"
+ .string "How’s it going?\p"
+ .string "I heard you climbed {STR_VAR_3} floors\n"
+ .string "in the {STR_VAR_2}!\p"
+ .string "Try to do even better next time!\n"
+ .string "Catch you soon!$"
+
+ .string "Hey, {PLAYER}{STRING 5}.\n"
+ .string "{STR_VAR_1} here.\p"
+ .string "I heard you scaled {STR_VAR_3} floors\n"
+ .string "in the {STR_VAR_2}.\p"
+ .string "I’d better work hard and try\n"
+ .string "to keep up!$"
+
+ .string "Hiya, {PLAYER}{STRING 5}!\n"
+ .string "It’s {STR_VAR_1}.\p"
+ .string "I heard you climbed {STR_VAR_3} floors\n"
+ .string "in the {STR_VAR_2}.\p"
+ .string "I’d better get with it, too!\n"
+ .string "See you soon!$"
+
+ .string "Hey, {PLAYER}{STRING 5}?\n"
+ .string "{STR_VAR_1} here. How are you?\p"
+ .string "By the way, I heard you got through\n"
+ .string "{STR_VAR_3} floors in the {STR_VAR_2}.\p"
+ .string "I’d better raise my POKéMON before\n"
+ .string "you pull further ahead.$"
+
+ .string "{PLAYER}{STRING 5}?\n"
+ .string "{STR_VAR_1} here.\p"
+ .string "You were at the {STR_VAR_2}\n"
+ .string "and won your way up {STR_VAR_3} floors?\p"
+ .string "Neat. Were there any rare POKéMON\n"
+ .string "there?\p"
+ .string "No, huh?\n"
+ .string "Okay, bye.$"
+
+ .string "Oh, {PLAYER}{STRING 5}, how do you do?\n"
+ .string "This is {STR_VAR_1} speaking.\l"
+ .string "I hope you’re doing well.\l"
+ .string "Oh, but, you are.\p"
+ .string "I’ve heard that you got through\n"
+ .string "{STR_VAR_3} floors in the {STR_VAR_2}.\p"
+ .string "That’s quite impressive!\n"
+ .string "I must raise my POKéMON like you.\l"
+ .string "See you again.$"
+
+ .string "Oh, {PLAYER}{STRING 5}, hi there!\n"
+ .string "This is {STR_VAR_1}!\p"
+ .string "I heard! You won your way through\n"
+ .string "{STR_VAR_3} floors in the {STR_VAR_2}!\p"
+ .string "That is so cool!\n"
+ .string "I’d better try harder, too!$"
+
+ .string "Oh, {PLAYER}{STRING 5}, hello.\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "You climbed {STR_VAR_3} floors inside\n"
+ .string "the {STR_VAR_2}?\p"
+ .string "That’s quite the accomplishment.\n"
+ .string "I need to work harder.$"
+
+ .string "Ah, {PLAYER}{STRING 5}.\n"
+ .string "This is {STR_VAR_1}.\p"
+ .string "I hear you’re the terror of\n"
+ .string "the {STR_VAR_2}?\p"
+ .string "You rose through, what, {STR_VAR_3} floors?\n"
+ .string "That’s gotta count for something.\p"
+ .string "I wonder if I can ever become\n"
+ .string "a champion?\p"
+ .string "…Pretty well impossible?\n"
+ .string "Well, see you!$"
+
+ .string "Hello, {PLAYER}{STRING 5}.\n"
+ .string "It’s me, {STR_VAR_1}.\l"
+ .string "Are you keeping well?\p"
+ .string "You’ve won through {STR_VAR_3} floors in\n"
+ .string "a place named {STR_VAR_2}?\p"
+ .string "That’s quite the tale.\n"
+ .string "See you!$"
+
+ .string "Ah, hello, {PLAYER}{STRING 5}!\n"
+ .string "This is {STR_VAR_1}!\l"
+ .string "I hope you’ve been keeping well.\p"
+ .string "They say you climbed {STR_VAR_3} floors\n"
+ .string "in the {STR_VAR_2}?\p"
+ .string "I admire your energy!\n"
+ .string "Bye now.$"
+
+ .string "Oh, hi, {PLAYER}{STRING 5}.\n"
+ .string "This is {STR_VAR_1}.\l"
+ .string "I heard about you!\p"
+ .string "Didn’t you get through {STR_VAR_3} floors\n"
+ .string "in the {STR_VAR_2}?\p"
+ .string "You’re an inspiration!\n"
+ .string "See you again!$"
+
+ .string "MOM: Your father and you…\n"
+ .string "Everyone is captivated by POKéMON.\p"
+ .string "What is the charm of POKéMON?\p"
+ .string "Me?\n"
+ .string "I adore POKéMON that help me with\l"
+ .string "my everyday chores.$"
+
+ .string "MOM: Hi, {PLAYER}!\n"
+ .string "Your father keeps himself locked\l"
+ .string "away in the PETALBURG GYM.\p"
+ .string "He comes home every so often.\n"
+ .string "But he goes back to the GYM when\l"
+ .string "he’s eaten everything he can.\p"
+ .string "I’m guessing that losing to you\n"
+ .string "was a big blow to his pride!$"
+
+ .string "MOM: {PLAYER}…\n"
+ .string "Don’t worry about me or the house.\p"
+ .string "Wear those RUNNING SHOES until\n"
+ .string "they fall apart, honey!$"
+
+ .string "ROXANNE: Oh, hello, {PLAYER}!\p"
+ .string "I’ve been hard at work retraining\n"
+ .string "since we met.\p"
+ .string "I will still need some more time\n"
+ .string "before I can reopen the GYM.\p"
+ .string "But when I do, please visit my GYM\n"
+ .string "for a rematch!$"
+
+ .string "ROXANNE: Is this {PLAYER}?\n"
+ .string "Congratulations!\l"
+ .string "I’ve been hearing about you!\p"
+ .string "As for me, I need some more time\n"
+ .string "before I can reopen the GYM.\p"
+ .string "But when I do, please visit my GYM\n"
+ .string "for a rematch!$"
+
+ .string "ROXANNE: {PLAYER}!\n"
+ .string "My GYM is ready!\p"
+ .string "Please visit RUSTBORO whenever\n"
+ .string "you can!$"
+
+ .string "ROXANNE: At the RUSTBORO GYM,\n"
+ .string "the fact that we battled, {PLAYER},\l"
+ .string "is a matter of pride.$"
+
+ .string "BRAWLY: Hey, there, {PLAYER}{STRING 5}!\p"
+ .string "I learned a lot from the battle we\n"
+ .string "had together.\p"
+ .string "I intend to do my training over,\n"
+ .string "then reopen the GYM.\p"
+ .string "It’s going to take some time before\n"
+ .string "I’m ready to run the GYM again.\p"
+ .string "But if I can reopen the GYM,\n"
+ .string "I want you to challenge us again.$"
+
+ .string "BRAWLY: Hey, {PLAYER}{STRING 5}!\n"
+ .string "Congratulations!\p"
+ .string "Word about your exploits arrived\n"
+ .string "on tidal winds!\p"
+ .string "It appears as if I need to work on\n"
+ .string "my training some more.\p"
+ .string "It’s going to take some time before\n"
+ .string "I’m ready to run the GYM again.\p"
+ .string "But if I can reopen the GYM,\n"
+ .string "I want you to challenge us again.$"
+
+ .string "BRAWLY: Hey, {PLAYER}{STRING 5}!\n"
+ .string "My GYM’s ready for action!\p"
+ .string "Come back to DEWFORD anytime\n"
+ .string "for another challenge!$"
+
+ .string "BRAWLY: {PLAYER}{STRING 5}, I don’t think\n"
+ .string "I’ll ever get bored of battling you!$"
+
+ .string "WATTSON: Oh, it’s you!\p"
+ .string "After you left, I’ve been redoing\n"
+ .string "my training from scratch.\p"
+ .string "I’d say I could use a wee bit more\n"
+ .string "time to reopen my GYM.\p"
+ .string "You’ll have to wait till then!\n"
+ .string "Wahahahaha!$"
+
+ .string "WATTSON: Wahahahaha!\p"
+ .string "You’ve really done it, haven’t you?\n"
+ .string "I’ve been getting word about you!\p"
+ .string "It seems I need to retrain some\n"
+ .string "more still.\p"
+ .string "I’d say I could use a wee bit more\n"
+ .string "time to reopen my GYM.\p"
+ .string "You’ll have to wait till then!\n"
+ .string "Wahahahaha!$"
+
+ .string "WATTSON: Oh, it’s you!\n"
+ .string "My GYM’s ready!\p"
+ .string "Visit MAUVILLE anytime!\n"
+ .string "Wahahahaha!$"
+
+ .string "WATTSON: Wahahaha!\p"
+ .string "A battle with you is always charged\n"
+ .string "with shocking power!$"
+
+ .string "FLANNERY: {PLAYER}…\p"
+ .string "When we battled, I learned exactly\n"
+ .string "how immature I was.\p"
+ .string "But I’m not done yet!\p"
+ .string "I’m going to redo my training and\n"
+ .string "reopen the GYM.\p"
+ .string "When the time comes, {PLAYER},\n"
+ .string "please challenge us again.$"
+
+ .string "FLANNERY: Hello, {PLAYER}?\n"
+ .string "Congratulations!\p"
+ .string "Word of your success has reached\n"
+ .string "us like the heat of a volcano!\p"
+ .string "Our training is coming along very\n"
+ .string "well here.\p"
+ .string "When the GYM’s ready, a mark will\n"
+ .string "appear beside my name in the\l"
+ .string "MATCH CALL list.$"
+
+ .string "FLANNERY: Oh, {PLAYER}?\n"
+ .string "Our GYM’s ready!\p"
+ .string "Come to LAVARIDGE for a soak\n"
+ .string "in the hot spring and a challenge!$"
+
+ .string "FLANNERY: {PLAYER}…\n"
+ .string "I’m positive that you keep getting\l"
+ .string "better at training every time.$"
+
+ .string "WINONA: Hello, {PLAYER}!\p"
+ .string "Thanks to our battle, I’ve come\n"
+ .string "to understand my weak points!\p"
+ .string "When I reopen the GYM, I won’t go\n"
+ .string "down in defeat again!$"
+
+ .string "WINONA: You’ve done it, {PLAYER}!\p"
+ .string "News about the new CHAMPION\n"
+ .string "has reached us in FORTREE!\p"
+ .string "But… The next time we battle,\n"
+ .string "it’s not going to end the same way.$"
+
+ .string "WINONA: Is this {PLAYER}?\n"
+ .string "Our GYM is back in operation!\p"
+ .string "We’re waiting for you in FORTREE!$"
+
+ .string "WINONA: {PLAYER}…\n"
+ .string "Though I have lost, my wings will\l"
+ .string "never break.\p"
+ .string "Yes, in exactly the same way that\n"
+ .string "you never lost sight of your dream.$"
+
+ .string "TATE: Oh! You’re…\n"
+ .string "LIZA: {PLAYER}!\p"
+ .string "TATE: We’re in training again…\n"
+ .string "LIZA: So we can reopen our GYM!\p"
+ .string "TATE: When our GYM is ready…\n"
+ .string "LIZA: When our GYM is ready…\p"
+ .string "TATE: A mark’ll appear by our name…\n"
+ .string "LIZA: On the MATCH CALL list.$"
+
+ .string "TATE: {PLAYER}, congratulations!\n"
+ .string "LIZA: {PLAYER}, congratulations!\p"
+ .string "TATE: The two of us are…\n"
+ .string "LIZA: Still in training!\p"
+ .string "TATE: We need some more time, but…\n"
+ .string "LIZA: When our GYM is ready…\p"
+ .string "TATE: A mark’ll appear by our name…\n"
+ .string "LIZA: On the MATCH CALL list.$"
+
+ .string "TATE: {PLAYER}!\n"
+ .string "LIZA: {PLAYER}!\p"
+ .string "TATE: Our GYM is ready!\n"
+ .string "LIZA: Our GYM is ready!\p"
+ .string "TATE: Please come visit…\n"
+ .string "LIZA: MOSSDEEP anytime!$"
+
+ .string "TATE: {PLAYER}, the battle we had…\n"
+ .string "LIZA: Is an invaluable experience.\p"
+ .string "TATE: It would be nice if…\n"
+ .string "LIZA: We could all battle again!$"
+
+ .string "JUAN: Hmm…\n"
+ .string "{PLAYER}{STRING 5}… Was it?\p"
+ .string "Our battle together--it brought\n"
+ .string "to me memories of when I first\l"
+ .string "encountered WALLACE.\p"
+ .string "Perhaps you are a genius who may\n"
+ .string "yet surpass WALLACE!$"
+
+ .string "JUAN: Fufu… {PLAYER}{STRING 5}…\n"
+ .string "You’ve finally achieved your goal.\p"
+ .string "My eye for appraising talent wasn’t\n"
+ .string "mistaken…\p"
+ .string "I wish for another chance to meet\n"
+ .string "you, for you have scaled the peak\l"
+ .string "of power and prestige.$"
+
+ .string "JUAN: Hoho… {PLAYER}{STRING 5}…\p"
+ .string "Our SOOTOPOLIS GYM has finally\n"
+ .string "reopened.\p"
+ .string "If you wish to see me, you are\n"
+ .string "welcome to visit anytime.$"
+
+ .string "JUAN: {PLAYER}{STRING 5}…\p"
+ .string "Like the finest music, the battles\n"
+ .string "we wage together strike chords\l"
+ .string "of inspiration in my heart…\p"
+ .string "When I close my eyes, I see visions\n"
+ .string "of you soaring with the melody…$"
+
+ .string "SIDNEY: Yo, {PLAYER}!\p"
+ .string "If you want to battle with me\n"
+ .string "again, you come on back whenever\l"
+ .string "you like to the POKéMON LEAGUE.\p"
+ .string "I’ll always be here!\n"
+ .string "I’ll be waiting!$"
+
+ .string "PHOEBE: Hi, {PLAYER}!\p"
+ .string "How about coming back here again\n"
+ .string "sometime?\p"
+ .string "I’d like to see how much tighter\n"
+ .string "your bond has grown with your\l"
+ .string "POKéMON.$"
+
+ .string "GLACIA: Hello, {PLAYER}.\p"
+ .string "I trust you haven’t become\n"
+ .string "complacent with your power?\p"
+ .string "If you feel the need to cool your\n"
+ .string "hot emotions just a little, do come\l"
+ .string "to the POKéMON LEAGUE…$"
+
+ .string "DRAKE: That voice… {PLAYER}, is it?\n"
+ .string "You sound well…\p"
+ .string "I understand that there is now\n"
+ .string "a facility called the BATTLE\l"
+ .string "FRONTIER that tests the skills of\l"
+ .string "TRAINERS.\p"
+ .string "However, if you wish to have real\n"
+ .string "battles, there is no substitute for\l"
+ .string "the POKéMON LEAGUE!\p"
+ .string "Don’t you agree, {PLAYER}?$"
+
+ .string "WALLACE: Hello, {PLAYER}{STRING 5}.\n"
+ .string "Have you met STEVEN?\p"
+ .string "He is…\n"
+ .string "Actually incredibly skilled.\p"
+ .string "However, he’s an odd soul who\n"
+ .string "rarely battles.\p"
+ .string "Instead, he would rather look for\n"
+ .string "rare stones.\p"
+ .string "I’m sure he’s digging in a cave or\n"
+ .string "a craggy mountain somewhere.\p"
+ .string "But what is a rare stone exactly?\n"
+ .string "All I can think of is a METEORITE…$"
+
+MossdeepCity_SpaceCenter_2F_Text_2B38C1: @ 82B38C1
+ .string "… … … … … …\n"
+ .string "… … … … … Beep!\p"
+ .string "MAY: Hi, {PLAYER}{KUN}!\p"
+ .string "I was just in PACIFIDLOG a little\n"
+ .string "while ago.\p"
+ .string "I saw a giant green POKéMON\n"
+ .string "flying high in the sky.\p"
+ .string "I…\n"
+ .string "I’ve never seen anything like it.\p"
+ .string "I wonder what it was.\n"
+ .string "Is this maybe a major discovery?\p"
+ .string "… … … … … …\n"
+ .string "… … … … … Click!$"
+
+MossdeepCity_SpaceCenter_2F_Text_2B39C6: @ 82B39C6
+ .string "… … … … … …\n"
+ .string "… … … … … Beep!\p"
+ .string "BRENDAN: Hey, {PLAYER}!\n"
+ .string "I was in PACIFIDLOG just now.\p"
+ .string "I saw this huge green POKéMON\n"
+ .string "flying across the sky.\p"
+ .string "I’ve never seen anything that\n"
+ .string "amazing before.\p"
+ .string "I wish you could’ve seen it,\n"
+ .string "{PLAYER}.\p"
+ .string "… … … … … …\n"
+ .string "… … … … … Click!$"
+
+ .string "MAY: Hi, {PLAYER}{STRING 5}!\p"
+ .string "MR. BRINEY retired as a SAILOR,\n"
+ .string "but I still see him out on the sea\l"
+ .string "with his pet PEEKO sometimes.\p"
+ .string "He must love the sea still.$"
+
+ .string "MAY: Hi, {PLAYER}{STRING 5}!\p"
+ .string "You know how little towns like\n"
+ .string "PETALBURG and DEWFORD have GYMS?\p"
+ .string "For some reason, the big port of\n"
+ .string "SLATEPORT doesn’t have a GYM.\p"
+ .string "When they finally build a GYM there,\n"
+ .string "I should apply to be the LEADER.$"
+
+ .string "MAY: Hi, {PLAYER}{STRING 5}!\p"
+ .string "Do you remember a man named\n"
+ .string "the CUTTER in RUSTBORO?\l"
+ .string "He had a house there, remember?\p"
+ .string "Well, I found out his younger\n"
+ .string "brother lives in MAUVILLE.\p"
+ .string "Can you guess his name?\p"
+ .string "… … … … … …\n"
+ .string "… … … … … …\p"
+ .string "The ROCK SMASH GUY!$"
+
+ .string "MAY: {PLAYER}{STRING 5}?\p"
+ .string "RUSTURF TUNNEL…\n"
+ .string "They named it that because it\l"
+ .string "joins RUSTBORO and VERDANTURF.$"
+
+ .string "MAY: {PLAYER}{STRING 5}, how are you?\p"
+ .string "I’m out on ROUTE 111 now.\p"
+ .string "I’m going to get a rest at an old\n"
+ .string "lady’s house.\p"
+ .string "She lives just north of\n"
+ .string "the desert.$"
+
+ .string "MAY: Hi, {PLAYER}{STRING 5}!\p"
+ .string "Did you know about the MIRAGE\n"
+ .string "TOWER in the desert?\p"
+ .string "They say, like a mirage, it seems\n"
+ .string "to mysteriously come and go.\p"
+ .string "I wish I could see it.$"
+
+ .string "MAY: {PLAYER}{STRING 5}, yahoo!\n"
+ .string "I’m on ROUTE 119 now.\p"
+ .string "There’s a big river here, and\n"
+ .string "it often rains.\p"
+ .string "I got soaked!$"
+
+ .string "MAY: {PLAYER}{STRING 5}, hi.\p"
+ .string "MT. PYRE is a memorial to POKéMON\n"
+ .string "whose lives have ended.\p"
+ .string "Maybe as a result, it’s infested\n"
+ .string "with many GHOST-type POKéMON!$"
+
+ .string "MAY: Hi, {PLAYER}{STRING 5}!\p"
+ .string "I was thinking of going to the hot\n"
+ .string "spring in LAVARIDGE.\p"
+ .string "But on the way, around JAGGED\n"
+ .string "PASS, I ran into some bad-looking\l"
+ .string "characters. The mood was ugly!$"
+
+ .string "MAY: Hi, {PLAYER}{STRING 5}!\n"
+ .string "Did you see the news?\p"
+ .string "They say CAPT. STERN discovered\n"
+ .string "the SEAFLOOR CAVERN while on his\l"
+ .string "submarine expedition.$"
+
+ .string "MAY: Hi, {PLAYER}{STRING 5}!\n"
+ .string "Don’t you think it’s neat?\p"
+ .string "Even if you don’t have a boat,\n"
+ .string "you can cross the sea using\l"
+ .string "a POKéMON’s move.\p"
+ .string "Did you know there’s more?\p"
+ .string "There’s a POKéMON move that lets\n"
+ .string "you go to the bottom of the sea.$"
+
+ .string "MAY: Hi, {PLAYER}{STRING 5}!\n"
+ .string "Hope things are okay!\p"
+ .string "Have you been on the sea and\n"
+ .string "found your way to the other side\l"
+ .string "blocked?\p"
+ .string "Try diving deep underwater and\n"
+ .string "following trenches.\p"
+ .string "When you get to the other side,\n"
+ .string "come up to the surface. Easy!$"
+
+ .string "MAY: Hi, {PLAYER}{STRING 5}!\p"
+ .string "How’s it going?\n"
+ .string "Are you filling your POKéDEX?\p"
+ .string "I heard a rumor that there are\n"
+ .string "super-ancient POKéMON out there.\l"
+ .string "And there are three of them!\p"
+ .string "I would love to see even one…$"
+
+ .string "MAY: {PLAYER}{STRING 5}!\n"
+ .string "I heard the rumors!\p"
+ .string "You beat the SOOTOPOLIS GYM\n"
+ .string "LEADER?\p"
+ .string "That means you don’t have far\n"
+ .string "to go, do you?$"
+
+ .string "MAY: There isn’t a single TRAINER\n"
+ .string "left in HOENN who doesn’t know who\l"
+ .string "you are, {PLAYER}{STRING 5}!\p"
+ .string "When I tell people that I’m friends\n"
+ .string "with you, {PLAYER}{STRING 5}, they’re all\l"
+ .string "surprised!$"
+
+ .string "BRENDAN: Hey, {PLAYER}!\p"
+ .string "MR. BRINEY retired as a SAILOR,\n"
+ .string "but I still see him out on the sea\l"
+ .string "with his pet PEEKO sometimes.\p"
+ .string "I guess he must love\n"
+ .string "the sea still.$"
+
+ .string "BRENDAN: Hey, {PLAYER}!\p"
+ .string "I don’t get how little towns like\n"
+ .string "PETALBURG and DEWFORD have GYMS.\p"
+ .string "I mean, not when the big port of\n"
+ .string "SLATEPORT doesn’t have a GYM.\p"
+ .string "When they finally build a GYM there,\n"
+ .string "I should apply to be the LEADER.$"
+
+ .string "BRENDAN: Yo, {PLAYER}!\p"
+ .string "Do you remember a guy named\n"
+ .string "the CUTTER in RUSTBORO?\l"
+ .string "He had a house there, right?\p"
+ .string "Well, it turns out his little\n"
+ .string "brother lives in MAUVILLE.\p"
+ .string "Can you guess his name?\p"
+ .string "… … … … … …\n"
+ .string "… … … … … …\p"
+ .string "The ROCK SMASH GUY!$"
+
+ .string "BRENDAN: This voice… {PLAYER}?\p"
+ .string "They gave RUSTURF TUNNEL its name\n"
+ .string "because it joins RUSTBORO and\l"
+ .string "VERDANTURF.\p"
+ .string "Did you know that?$"
+
+ .string "BRENDAN: {PLAYER}, what’s up?\p"
+ .string "Hey, I’m out on ROUTE 111 now.\p"
+ .string "I’m going to rest up at an old\n"
+ .string "lady’s house north of the desert.\p"
+ .string "If you’re in the area, you should\n"
+ .string "visit her, too.$"
+
+ .string "BRENDAN: Hey, {PLAYER}!\p"
+ .string "Did you know about the MIRAGE\n"
+ .string "TOWER in the desert?\p"
+ .string "They say, like a mirage, it can be\n"
+ .string "seen only sometimes.\p"
+ .string "I’d like to see that!$"
+
+ .string "BRENDAN: Who’s this? Oh, {PLAYER}?\n"
+ .string "Guess what? I’m on ROUTE 119 now.\p"
+ .string "There’s a big river here, and\n"
+ .string "it rains all the time.\p"
+ .string "I got soaked to the bone!$"
+
+ .string "BRENDAN: {PLAYER}!\p"
+ .string "MT. PYRE is a memorial to POKéMON\n"
+ .string "whose lives have ended.\p"
+ .string "That’s probably why it’s infested\n"
+ .string "with many GHOST-type POKéMON!$"
+
+ .string "BRENDAN: Hey there, {PLAYER}.\p"
+ .string "I was on my way back to the hot\n"
+ .string "spring in LAVARIDGE.\p"
+ .string "But around JAGGED PASS, I ran into\n"
+ .string "some nasty-looking characters.\p"
+ .string "Those creeps…\n"
+ .string "I think they were TEAM MAGMA.$"
+
+ .string "BRENDAN: Hi, {PLAYER}!\n"
+ .string "Did you catch the news?\p"
+ .string "They say CAPT. STERN discovered\n"
+ .string "the SEAFLOOR CAVERN while on his\l"
+ .string "submarine expedition.$"
+
+ .string "BRENDAN: Hey there, {PLAYER}!\n"
+ .string "Don’t you think it’s awesome?\p"
+ .string "Even if you don’t have a boat,\n"
+ .string "you can cross the sea using\l"
+ .string "a POKéMON’s move.\p"
+ .string "And, there’s a move that lets you\n"
+ .string "travel to the bottom of the sea.\p"
+ .string "Man, POKéMON can do anything!$"
+
+ .string "BRENDAN: Howdy, {PLAYER}!\n"
+ .string "How are you holding up?\p"
+ .string "Ever found your way to the other\n"
+ .string "side blocked while on the sea?\p"
+ .string "Try diving deep underwater and\n"
+ .string "following trenches at the bottom.\p"
+ .string "When you get to the other side,\n"
+ .string "come up to the surface. Simple!$"
+
+ .string "BRENDAN: Hey there, {PLAYER}!\p"
+ .string "How’s it going? Filling up your\n"
+ .string "POKéDEX successfully?\p"
+ .string "I heard a rumor that there are\n"
+ .string "super-ancient POKéMON out there.\l"
+ .string "And not just one--three!\p"
+ .string "I’d love to catch even one…$"
+
+ .string "BRENDAN: {PLAYER}!\n"
+ .string "I heard the rumors!\p"
+ .string "You beat the SOOTOPOLIS GYM\n"
+ .string "LEADER? Awesome!\p"
+ .string "You’re getting awful close now!$"
+
+ .string "BRENDAN: There isn’t a TRAINER in\n"
+ .string "all of HOENN who doesn’t know who\l"
+ .string "you are, {PLAYER}!\p"
+ .string "When I tell people that I’m friends\n"
+ .string "with you, {PLAYER}, they get pretty\l"
+ .string "envious!$"
+
+ .string "WALLY: Oh, {PLAYER}!\p"
+ .string "I’ve been getting healthier and\n"
+ .string "more physically fit.\p"
+ .string "I hope I can become a TRAINER like\n"
+ .string "you soon, {PLAYER}!$"
+
+ .string "WALLY: {PLAYER}, hello!\p"
+ .string "After RUSTURF TUNNEL went\n"
+ .string "through, WANDA’s been very happy!$"
+
+ .string "WALLY: Oh, {PLAYER}!\p"
+ .string "I… I left my uncle’s place in\n"
+ .string "VERDANTURF without telling anyone.\p"
+ .string "I wonder if he’s furious with me…\p"
+ .string "{PLAYER}, you understand how\n"
+ .string "I feel, don’t you?$"
+
+ .string "WALLY: {PLAYER}?\n"
+ .string "It’s me, WALLY!\p"
+ .string "The world of TRAINERS is amazing!\p"
+ .string "When I have my POKéMON with me,\n"
+ .string "all sorts of people say hi!\p"
+ .string "It’s as if everyone’s getting\n"
+ .string "connected through POKéMON!$"
+
+ .string "WALLY: {PLAYER}? It’s awesome!\n"
+ .string "That RALTS we caught together?\l"
+ .string "It evolved, {PLAYER}!\p"
+ .string "Maybe I’m talented…\p"
+ .string "Oh, but I shouldn’t get a big head\n"
+ .string "like that!\p"
+ .string "After all, it’s the POKéMON that\n"
+ .string "should be praised!$"
+
+ .string "… … … … … …\n"
+ .string "… … … … … …\p"
+ .string "WALLY appears to be out of\n"
+ .string "the POKéNAV’s service area…$"
+
+ .string "WALLY: Oh, {PLAYER}!\p"
+ .string "Before I met you, I hardly ever\n"
+ .string "left my house…\p"
+ .string "But now, I’m on an adventure with\n"
+ .string "my very own POKéMON…\p"
+ .string "{PLAYER}…\n"
+ .string "Thank you…$"
+
+ .string "SCOTT: Howdy, {PLAYER}{STRING 5}!\p"
+ .string "You know how POKéMON can be found\n"
+ .string "everywhere?\p"
+ .string "Like in the mountains, in the sea,\n"
+ .string "in tall grass anywhere?\p"
+ .string "Just like POKéMON, you can find\n"
+ .string "TRAINERS everywhere, too.\p"
+ .string "As a result, I have to hurry\n"
+ .string "everywhere, too. Busy, busy!$"
+
+ .string "SCOTT: I’m on ROUTE 119 right now.\n"
+ .string "It’s teeming with TRAINERS!\p"
+ .string "It’s also overgrown with tall grass\n"
+ .string "everywhere, it seems.\p"
+ .string "Walking around in shorts here\n"
+ .string "makes me all ticklish!$"
+
+ .string "SCOTT: Hi, hi, {PLAYER}{STRING 5}!\p"
+ .string "Have you had the chance to climb\n"
+ .string "MT. PYRE?\p"
+ .string "The place is a memorial to POKéMON\n"
+ .string "that have passed away.\p"
+ .string "It’s somewhere every TRAINER\n"
+ .string "should climb to the top of once.$"
+
+ .string "SCOTT: Hi, {PLAYER}{STRING 5}!\p"
+ .string "I’ve been hearing about these odd\n"
+ .string "gangs being a nuisance.\p"
+ .string "TEAM MAGMA and TEAM AQUA,\n"
+ .string "I think they were.\p"
+ .string "I would think there’d be some\n"
+ .string "skilled TRAINERS among them.\p"
+ .string "…But if they’re thugs…$"
+
+ .string "SCOTT: Oh, hi, {PLAYER}{STRING 5}.\p"
+ .string "Might there be tough TRAINERS\n"
+ .string "at the bottom of the sea?\p"
+ .string "I can’t go check for myself.\n"
+ .string "I can’t swim, for one.\l"
+ .string "And I don’t raise POKéMON…$"
+
+ .string "SCOTT: Hi, hi, {PLAYER}{STRING 5}!\p"
+ .string "You know that you can challenge\n"
+ .string "the POKéMON LEAGUE when you’ve\l"
+ .string "collected all the GYM BADGES?\p"
+ .string "With your talent, becoming the\n"
+ .string "CHAMPION isn’t a pipe dream.\p"
+ .string "But did you know?\n"
+ .string "There’s somewhere even better.\p"
+ .string "But, that’s all I’m willing to say\n"
+ .string "for the time being.\p"
+ .string "It’s something you can look\n"
+ .string "forward to.\p"
+ .string "When you’ve won your way through\n"
+ .string "the POKéMON LEAGUE into the HALL\l"
+ .string "OF FAME!$"
+
+ .string "… … … … … …\n"
+ .string "… … … … … …\p"
+ .string "SCOTT appears to be out of\n"
+ .string "the POKéNAV’s service area…$"
+
+ .string "DAD: In RUSTBORO, there’s a man\n"
+ .string "that goes by the odd name of\l"
+ .string "the CUTTER.\p"
+ .string "If you’re in the area, you should\n"
+ .string "pay him a visit.$"
+
+ .string "DAD: Hm… Little by little, but also\n"
+ .string "very surely, you’re getting\l"
+ .string "tougher, {PLAYER}.\p"
+ .string "The stronger you get, the farther\n"
+ .string "and higher you soar from Mother\l"
+ .string "and me…\p"
+ .string "This feeling is hard to explain.$"
+
+ .string "DAD: I see…\n"
+ .string "You’ve collected four GYM BADGES…\p"
+ .string "There’s no avoiding it now.\n"
+ .string "We will battle like I promised.\p"
+ .string "Come anytime.\n"
+ .string "We’ll all be waiting for you!$"
+
+ .string "DAD: {PLAYER}! You’d better go visit\n"
+ .string "Mother every so often.\p"
+ .string "I’m going to remain here and\n"
+ .string "redouble my training.\p"
+ .string "The way of battling is deep\n"
+ .string "and unforgiving!$"
+
+ .string "DAD: Oh, hi, {PLAYER}!\p"
+ .string "What’s that? MAGMA EMBLEM?\n"
+ .string "I don’t know what that’s about.\p"
+ .string "But with a name like that, it may\n"
+ .string "be somehow linked to a volcano!$"
+
+ .string "DAD: Hiyah! Haah! Dwah!\p"
+ .string "…Oh? {PLAYER}!\p"
+ .string "You caught me right in the middle\n"
+ .string "of a POKéMON training session!$"
+
+ .string "DAD: {PLAYER}!\p"
+ .string "Who would’ve thought you’d become\n"
+ .string "the POKéMON LEAGUE CHAMPION…\p"
+ .string "Okay!\n"
+ .string "I won’t be left behind!$"
+
+ .string "DAD: Hm? {PLAYER}?\n"
+ .string "What good timing!\p"
+ .string "This time, I’m going to challenge\n"
+ .string "you to battle.\p"
+ .string "I’m waiting in the PETALBURG GYM.\n"
+ .string "Accept my challenge anytime!$"
+
+ .string "DAD: …You amaze me, {PLAYER}.\n"
+ .string "How much higher will you soar?$"
+
+ .string "STEVEN: Hi, {PLAYER}{STRING 5}!\p"
+ .string "Have you been to MAUVILLE\n"
+ .string "already?\p"
+ .string "You should visit the BIKE SHOP\n"
+ .string "and get a MACH BIKE.\p"
+ .string "Then, try exploring the GRANITE\n"
+ .string "CAVE thoroughly.\p"
+ .string "You may make a new discovery\n"
+ .string "there.$"
+
+ .string "STEVEN: Hi, {PLAYER}{STRING 5}!\p"
+ .string "I’ve met a lot of different\n"
+ .string "TRAINERS so far.\p"
+ .string "But you’re one of a kind.\n"
+ .string "You’re not like anyone else.$"
+
+ .string "STEVEN: Hi, {PLAYER}{STRING 5}!\p"
+ .string "When you’re on an adventure with\n"
+ .string "your POKéMON, what do you think?\p"
+ .string "Do you consider them to be strong\n"
+ .string "partners?\p"
+ .string "Do you think of them as fun\n"
+ .string "companions?\p"
+ .string "Depending on how you think, your\n"
+ .string "adventure’s significance changes.$"
+
+ .string "STEVEN: Hello?\n"
+ .string "{PLAYER}{STRING 5}?\p"
+ .string "I’m involved in a spot of trouble\n"
+ .string "at the SPACE CENTER.\p"
+ .string "I’m sorry, but I can’t talk now.\n"
+ .string "Bye!$"
+
+ .string "STEVEN: Oh!\n"
+ .string "{PLAYER}{STRING 5}!\p"
+ .string "There’s no need to talk.\n"
+ .string "It’s past time for talking.\p"
+ .string "You have to believe in yourself\n"
+ .string "and do what’s right.$"
+
+ .string "… … … … … …\p"
+ .string "STEVEN appears not to be getting\n"
+ .string "the call…$"
+
+ .string "STEVEN: {PLAYER}{STRING 5}… Congratulations\n"
+ .string "for entering the HALL OF FAME.\p"
+ .string "… … … … … …\n"
+ .string "… … … … … …\p"
+ .string "I hope we can meet again\n"
+ .string "somewhere!$"
+
+Route101_Text_2B5F52: @ 82B5F52
+ .string "PROF. BIRCH: Oh, {PLAYER}{KUN}!\n"
+ .string "I’ve already heard about you!\p"
+ .string "It seems your POKéNAV’s been\n"
+ .string "upgraded with MATCH CALL.\p"
+ .string "Well, I should register, too!\p"
+ .string "That way, I’d be able to examine\n"
+ .string "your POKéDEX even while you’re\l"
+ .string "out in the field.\p"
+ .string "… … … … … …$"
+
+Route101_Text_2B603A: @ 82B603A
+ .string "Registered PROF. BIRCH\n"
+ .string "in the POKéNAV.$"
+
+ .string "PROF. BIRCH: When one has both\n"
+ .string "the POKéDEX and POKéNAV, studying\l"
+ .string "POKéMON becomes more fun, eh?$"
+
+ .string "MR. STONE: Oh? {PLAYER}{STRING 5}!\p"
+ .string "Since you called me, the POKéNAV\n"
+ .string "must be working properly!\p"
+ .string "Other people will be registered,\n"
+ .string "so try calling them up, too!\p"
+ .string "Good! Good!\n"
+ .string "You seem to be quite happy!\p"
+ .string "Hm…\n"
+ .string "How could I know that?\p"
+ .string "It’s because I’m looking down at\n"
+ .string "you from my office window!\p"
+ .string "Wahahaha!\n"
+ .string "See you again!$"
+
+ .string "MR. STONE: Oh? {PLAYER}{STRING 5}!\p"
+ .string "What’s wrong? Have you forgotten\n"
+ .string "about that little errand of mine?\p"
+ .string "I need you to deliver my letter\n"
+ .string "to STEVEN in DEWFORD.\p"
+ .string "After that, deliver our parcel to\n"
+ .string "CAPT. STERN in SLATEPORT.\p"
+ .string "You remember, don’t you?\p"
+ .string "Now, since I am a busy PRESIDENT,\n"
+ .string "I have to go! Bye-bye!$"
+
+ .string "MR. STONE: Oh! {PLAYER}{STRING 5}!\p"
+ .string "Ah, so you’ve met STEVEN!\n"
+ .string "I’d better reward you, then!\p"
+ .string "When you visit RUSTBORO again,\n"
+ .string "come see me at my office.\p"
+ .string "I’ll be waiting for you!$"
+
+ .string "MR. STONE: Oh! {PLAYER}{STRING 5}!\p"
+ .string "Did you know that DEVON was\n"
+ .string "digging the RUSTURF TUNNEL?\p"
+ .string "But we shut down the operation to\n"
+ .string "protect the POKéMON in the area.\p"
+ .string "It’s a no-brainer, really.\p"
+ .string "It’s more important to let POKéMON\n"
+ .string "live in peace than worry about our\l"
+ .string "own convenience.$"
+
+ .string "MR. STONE: Hello, hello, {PLAYER}{STRING 5}!\p"
+ .string "I heard from someone in PETALBURG\n"
+ .string "that you’re NORMAN’s child!\p"
+ .string "No wonder you’re such a capable\n"
+ .string "being!$"
+
+ .string "MR. STONE: What’s that?\p"
+ .string "You battled your own father and\n"
+ .string "defeated him?\p"
+ .string "That’s astounding!\p"
+ .string "I had no idea that I befriended\n"
+ .string "someone so special! Wahaha!$"
+
+ .string "Hello!\n"
+ .string "This is DEVON CORPORATI…\l"
+ .string "Oh, hello, {PLAYER}!\p"
+ .string "Our PRESIDENT was here a little\n"
+ .string "while ago, but he’s gone out.\p"
+ .string "Our PRESIDENT is busy, but you\n"
+ .string "seem to be just as busy, {PLAYER}.$"
+
+ .string "…Huh? …What’s that?\p"
+ .string "GROU… Yes? …DON?\p"
+ .string "You’re breaking up…\n"
+ .string "…can’t hear…\p"
+ .string "BZZZZ…$"
+
+ .string "…Huh? …What’s that?\p"
+ .string "Seaflo… Yes? …Caver…?\p"
+ .string "You’re breaking up…\n"
+ .string "…can’t hear…\p"
+ .string "BZZZZ…$"
+
+ .string "MR. STONE: {PLAYER}{STRING 5}! It’s me!\p"
+ .string "You were apparently involved in all\n"
+ .string "sorts of things, but I, being busy,\l"
+ .string "haven’t a clue exactly what!\p"
+ .string "However, I urge you to take\n"
+ .string "the road you believe in and walk it.\p"
+ .string "I’ll always be in your corner!\n"
+ .string "Take care!$"
+
+ .string "MR. STONE: … … … … … …\n"
+ .string "Is this maybe {PLAYER}{STRING 5}?\p"
+ .string "Your voice is so full of confidence,\n"
+ .string "I didn’t recognize you right off!\p"
+ .string "Hm! You must come visit us at DEVON\n"
+ .string "sometime!$"
+
+BattleFrontier_BattleTowerLobby_EventScript_2B688D:: @ 82B688D
+ lock
+ faceplayer
+ setvar VAR_0x8004, 0
+ special sub_81A085C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6900
+ setvar VAR_0x8004, 10
+ special sub_81A085C
+ compare_var_to_value VAR_0x8004, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B68BE
+ checkflag FLAG_0x934
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6E90
+
+BattleFrontier_BattleTowerLobby_EventScript_2B68BE:: @ 82B68BE
+ setvar VAR_0x8004, 11
+ special sub_81A085C
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B69D3
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6ACF
+ compare_var_to_value VAR_RESULT, 3
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6C77
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6D5C
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6DD4
+ release
+ releaseall
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6900:: @ 82B6900
+ setvar VAR_0x8004, 16
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 6
+ special sub_81A085C
+ setvar VAR_0x8004, 8
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A085C
+ waitstate
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6925:: @ 82B6925
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 6
+ special sub_81A085C
+ waitstate
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B69BB
+ setvar VAR_0x8004, 8
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 2
+ special sub_81A085C
+ waitstate
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 0
+ special sub_81A085C
+ waitstate
+ setvar VAR_0x8004, 1
+ setorcopyvar VAR_0x8005, VAR_RESULT
+ addvar VAR_0x8005, 1
+ special sub_81A085C
+ setvar VAR_0x8004, 3
+ special sub_81A085C
+ setvar VAR_0x8004, 16
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 8
+ special sub_81A085C
+ setvar VAR_0x8004, 8
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 3
+ special sub_81A085C
+ waitstate
+ call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D
+ release
+ releaseall
+ switch VAR_FACING
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_2B6E54
+ goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2B69BB:: @ 82B69BB
+ setvar VAR_0x8004, 8
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 1
+ special sub_81A085C
+ waitstate
+ goto BattleFrontier_BattleTowerLobby_EventScript_2B6925
+
+BattleFrontier_BattleTowerLobby_EventScript_2B69D3:: @ 82B69D3
+ setvar VAR_0x8004, 14
+ setvar VAR_0x8005, 2
+ special sub_81A085C
+ setvar VAR_0x8004, 16
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A085C
+ setvar VAR_0x8004, 16
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 1
+ special sub_81A085C
+ setvar VAR_0x8004, 8
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 6
+ special sub_81A085C
+ waitstate
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 2
+ special sub_81A085C
+ waitstate
+ copyvar VAR_0x8005, VAR_RESULT
+ compare_var_to_value VAR_0x8005, 0
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6ABA
+ compare_var_to_value VAR_0x8005, 1
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6AC0
+ setvar VAR_0x8004, 12
+ special sub_81A085C
+ copyvar VAR_0x8006, VAR_RESULT
+ setvar VAR_0x8004, 13
+ special sub_81A085C
+ setvar VAR_0x8004, 5
+ special sub_81A085C
+ setvar VAR_0x8004, 12
+ special sub_81A085C
+ compare_var_to_value VAR_RESULT, 3
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6AC6
+ setvar VAR_0x8004, 16
+ setvar VAR_0x8005, 0
+ copyvar VAR_0x8006, VAR_0x8007
+ special sub_81A085C
+ setvar VAR_0x8004, 15
+ special sub_81A085C
+ setvar VAR_0x8004, 8
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 7
+ special sub_81A085C
+ waitstate
+ call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D
+ release
+ releaseall
+ switch VAR_FACING
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_2B6E54
+ goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6ABA:: @ 82B6ABA
+ setvar VAR_0x8007, 0
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6AC0:: @ 82B6AC0
+ setvar VAR_0x8007, 1
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6AC6:: @ 82B6AC6
+ setvar VAR_0x8004, 4
+ special sub_81A085C
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6ACF:: @ 82B6ACF
+ setvar VAR_0x8004, 14
+ setvar VAR_0x8005, 4
+ special sub_81A085C
+ setvar VAR_0x8004, 16
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 2
+ special sub_81A085C
+ setvar VAR_0x8004, 8
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 10
+ special sub_81A085C
+ waitstate
+ setvar VAR_0x8004, 15
+ special sub_81A085C
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6B09:: @ 82B6B09
+ fadescreen 1
+ setvar VAR_RESULT, 0
+ setvar VAR_0x8004, 19
+ special sub_81A085C
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B81
+ setvar VAR_0x8004, 20
+ special sub_81A085C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6C0C
+ setvar VAR_0x8004, 16
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 5
+ special sub_81A085C
+ setvar VAR_0x8004, 8
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 12
+ special sub_81A085C
+ waitstate
+ setvar VAR_0x8004, 5
+ special sub_81A085C
+ call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D
+ release
+ releaseall
+ switch VAR_FACING
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_2B6E54
+ goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6B81:: @ 82B6B81
+ setvar VAR_0x8004, 14
+ setvar VAR_0x8005, 4
+ special sub_81A085C
+ setvar VAR_0x8004, 16
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 2
+ special sub_81A085C
+ setvar VAR_0x8004, 8
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 13
+ special sub_81A085C
+ waitstate
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 4
+ special sub_81A085C
+ waitstate
+ setvar VAR_0x8004, 15
+ special sub_81A085C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B09
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6BD4:: @ 82B6BD4
+ setvar VAR_0x8004, 8
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 14
+ special sub_81A085C
+ waitstate
+ setvar VAR_0x8004, 5
+ special sub_81A085C
+ call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D
+ release
+ releaseall
+ switch VAR_FACING
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_2B6E54
+ goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6C0C:: @ 82B6C0C
+ setvar VAR_0x8004, 14
+ setvar VAR_0x8005, 4
+ special sub_81A085C
+ setvar VAR_0x8004, 16
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 5
+ special sub_81A085C
+ setvar VAR_0x8004, 16
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 2
+ special sub_81A085C
+ setvar VAR_0x8004, 8
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 16
+ special sub_81A085C
+ waitstate
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 4
+ special sub_81A085C
+ waitstate
+ setvar VAR_0x8004, 15
+ special sub_81A085C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B09
+ goto BattleFrontier_BattleTowerLobby_EventScript_2B6BD4
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6C77:: @ 82B6C77
+ setvar VAR_0x8004, 14
+ setvar VAR_0x8005, 3
+ special sub_81A085C
+ setvar VAR_0x8004, 16
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 2
+ special sub_81A085C
+ setvar VAR_0x8004, 16
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 3
+ special sub_81A085C
+ setvar VAR_0x8004, 16
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 4
+ special sub_81A085C
+ setvar VAR_0x8004, 8
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 8
+ special sub_81A085C
+ waitstate
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 3
+ special sub_81A085C
+ waitstate
+ copyvar VAR_0x8005, VAR_RESULT
+ compare_var_to_value VAR_0x8005, 0
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6D50
+ compare_var_to_value VAR_0x8005, 1
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6D56
+ setvar VAR_0x8004, 17
+ special sub_81A085C
+ setvar VAR_0x8004, 5
+ special sub_81A085C
+ setvar VAR_0x8004, 16
+ setvar VAR_0x8005, 0
+ copyvar VAR_0x8006, VAR_0x8007
+ special sub_81A085C
+ setvar VAR_0x8004, 15
+ special sub_81A085C
+ setvar VAR_0x8004, 8
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 9
+ special sub_81A085C
+ waitstate
+ call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D
+ release
+ releaseall
+ switch VAR_FACING
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_2B6E54
+ goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6D50:: @ 82B6D50
+ setvar VAR_0x8007, 3
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6D56:: @ 82B6D56
+ setvar VAR_0x8007, 4
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6D5C:: @ 82B6D5C
+ setvar VAR_0x8004, 8
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 4
+ special sub_81A085C
+ waitstate
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 1
+ special sub_81A085C
+ waitstate
+ copyvar VAR_0x8005, VAR_RESULT
+ setvar VAR_0x8004, 18
+ special sub_81A085C
+ setvar VAR_0x8004, 5
+ special sub_81A085C
+ setvar VAR_0x8004, 16
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 9
+ special sub_81A085C
+ setvar VAR_0x8004, 8
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 5
+ special sub_81A085C
+ waitstate
+ call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D
+ release
+ releaseall
+ switch VAR_FACING
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_2B6E54
+ goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6DD4:: @ 82B6DD4
+ setvar VAR_0x8004, 8
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 11
+ special sub_81A085C
+ waitstate
+ setvar VAR_0x8004, 25
+ special sub_81A085C
+ setvar VAR_0x8004, 19
+ call BattleFrontier_BattleTowerLobby_EventScript_271E7C
+ lock
+ faceplayer
+ setvar VAR_0x8004, 21
+ special sub_81A085C
+ setvar VAR_0x8004, 16
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 7
+ special sub_81A085C
+ setvar VAR_0x8004, 8
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 15
+ special sub_81A085C
+ waitstate
+ setvar VAR_0x8004, 9
+ special sub_81A085C
+ call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D
+ release
+ releaseall
+ switch VAR_FACING
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_2B6E54
+ goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6E4D:: @ 82B6E4D
+ setflag FLAG_0x2BD
+ setflag FLAG_0x934
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6E54:: @ 82B6E54
+ setvar VAR_0x8004, 24
+ special sub_81A085C
+ compare_var_to_value VAR_0x8004, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6E93
+ applymovement 6, BattleFrontier_BattleTowerLobby_Movement_2B6E94
+ waitmovement 0
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6E72:: @ 82B6E72
+ setvar VAR_0x8004, 24
+ special sub_81A085C
+ compare_var_to_value VAR_0x8004, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6E93
+ applymovement 6, BattleFrontier_BattleTowerLobby_Movement_2B6E95
+ waitmovement 0
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6E90:: @ 82B6E90
+ release
+ releaseall
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2B6E93:: @ 82B6E93
+ end
+
+BattleFrontier_BattleTowerLobby_Movement_2B6E94: @ 82B6E94
+ step_18
+
+BattleFrontier_BattleTowerLobby_Movement_2B6E95: @ 82B6E95
+ step_15
+ step_15
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_54
+ step_31
+ step_31
+ step_31
+ step_end
+
+ .string "Um, I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice.\n"
+ .string "Snivel… This tension is getting to me…$"
+
+ .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!\n"
+ .string "Here we come!$"
+
+ .string "I’m the no. {STR_VAR_2} apprentice of {STR_VAR_1}!\n"
+ .string "Accept my challenge!$"
+
+ .string "Um… I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice…\n"
+ .string "Do you think someone like me can win?$"
+
+ .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!\n"
+ .string "I’ll let you challenge me!$"
+
+ .string "I’m horribly busy, but I also happen\n"
+ .string "to be {STR_VAR_1}’s no. {STR_VAR_2} apprentice.$"
+
+ .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice.\n"
+ .string "Glad to meet you!$"
+
+ .string "I serve as {STR_VAR_1}’s no. {STR_VAR_2} apprentice.\n"
+ .string "May I begin?$"
+
+ .string "Eek! I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!\n"
+ .string "I’ll do my best!$"
+
+ .string "Yeehaw! I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!\n"
+ .string "Put ’em up!$"
+
+ .string "I’m {STR_VAR_1}’s 1,000th apprentice!\n"
+ .string "Actually, I’m no. {STR_VAR_2}! Here goes!$"
+
+ .string "Yeah, I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!\n"
+ .string "Let’s get rockin’ and a-rollin’!$"
+
+ .string "Yippee-yahoo! I’m what you call\n"
+ .string "{STR_VAR_1}’s no. {STR_VAR_2} apprentice!$"
+
+ .string "Cough! I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice.\n"
+ .string "Good to meet you! Cough!$"
+
+ .string "This is nerve-racking…\n"
+ .string "I’m the no. {STR_VAR_2} apprentice of {STR_VAR_1}.$"
+
+ .string "I am {STR_VAR_1}’s no. {STR_VAR_2} apprentice,\n"
+ .string "and that’s no lie.$"
+
+ .string "Are you… {PLAYER}?\n"
+ .string "Oh! Sniff…sob…\p"
+ .string "Oh! S-sorry…\n"
+ .string "I’m so nervous, I can’t help crying…\p"
+ .string "I’m {STR_VAR_1}, and I really look up\n"
+ .string "to you, {PLAYER}.\p"
+ .string "I… I had this dream of one day meeting\n"
+ .string "you and asking you about POKéMON.\p"
+ .string "Please, please, {PLAYER}!\n"
+ .string "Please teach me about POKéMON!$"
+
+ .string "Oh… B-but…\n"
+ .string "Snivel… Waaaaaaah!\p"
+ .string "Please!\n"
+ .string "I’m begging you, please!$"
+
+ .string "Oh, really? You will?\n"
+ .string "Awesome! Wicked! Awoooh!\p"
+ .string "Oh… I’m sorry…\n"
+ .string "I’m so happy, I’m crying…\p"
+ .string "Um… Then please tell me!\n"
+ .string "It’s about the BATTLE TOWER.\p"
+ .string "Which would be better for me: Level 50\n"
+ .string "or the Open Level?$"
+
+ .string "{STR_VAR_1}?\n"
+ .string "Waaaaah!\p"
+ .string "Oh! I’m so sorry!\n"
+ .string "You’ve made me happy by choosing\l"
+ .string "the level for me, and it’s made me cry…\p"
+ .string "Snivel…\n"
+ .string "Thank you so much!\l"
+ .string "Please talk with me again!$"
+
+ .string "Wowee! You’re {PLAYER}, aren’t you?\n"
+ .string "You’re awesomely strong, aren’t you?\p"
+ .string "I’m {STR_VAR_1}!\n"
+ .string "I just became a TRAINER!\p"
+ .string "Please, {PLAYER}!\n"
+ .string "Can you be my teacher and tell me\l"
+ .string "lots about being a TRAINER?$"
+
+ .string "Aww, why?\n"
+ .string "Oh, please? Pretty please?\l"
+ .string "Please be my teacher, please!$"
+
+ .string "Yay! Great!\p"
+ .string "The first thing I wanted to ask you is\n"
+ .string "about the BATTLE TOWER!\p"
+ .string "The Level 50 and Open Level Rooms…\n"
+ .string "Which would be perfect for me?$"
+
+ .string "{STR_VAR_1}, huh? That’s true!\n"
+ .string "I’ll do my best there!\p"
+ .string "If we meet here again, please teach\n"
+ .string "me something else, teacher!$"
+
+ .string "Um… Are you {PLAYER}?\n"
+ .string "My name is {STR_VAR_1}.\p"
+ .string "I want to become a POKéMON TRAINER,\n"
+ .string "but I don’t know what to do…\p"
+ .string "So I thought maybe I could ask you for\n"
+ .string "advice because you’re so famous.\p"
+ .string "{PLAYER}, could you give me advice?$"
+
+ .string "Oh, but…\p"
+ .string "I sincerely want to become a POKéMON\n"
+ .string "TRAINER!\p"
+ .string "Please, can you answer my questions?$"
+
+ .string "Thank you!\n"
+ .string "Here’s my first question right away!\p"
+ .string "The BATTLE TOWER has two levels,\n"
+ .string "Level 50 and Open Level, right?\p"
+ .string "Which level do you think is more\n"
+ .string "suitable for me?$"
+
+ .string "Oh, the {STR_VAR_1} challenge?\n"
+ .string "Understood!\p"
+ .string "If I have another question, I’ll come\n"
+ .string "back here for your advice!$"
+
+ .string "Oh? Huh? You’re…\n"
+ .string "No, that can’t be true.\p"
+ .string "There isn’t any way that someone\n"
+ .string "like me could meet {PLAYER}.\p"
+ .string "…You really are {PLAYER}?\n"
+ .string "I can’t believe I’m talking to you!\p"
+ .string "When something this good happens,\n"
+ .string "only terrible things will happen to me\l"
+ .string "now, I just know it…\p"
+ .string "…I’m sorry…\n"
+ .string "I’m… {STR_VAR_1}…\p"
+ .string "There isn’t anything special about\n"
+ .string "me that I can be proud of…\p"
+ .string "I shouldn’t even say anything about\n"
+ .string "myself because you’ll forget…\p"
+ .string "I had this dream that if I ever met\n"
+ .string "you, {PLAYER}, that maybe I could ask\l"
+ .string "you for advice as a TRAINER.\p"
+ .string "But I don’t think you would agree\n"
+ .string "to that.\p"
+ .string "…Or will you be so kind as to give\n"
+ .string "me advice?$"
+
+ .string "I knew it…\p"
+ .string "It had to happen because I’m such\n"
+ .string "a really boring nobody…\p"
+ .string "But I thought just maybe…\n"
+ .string "You won’t reconsider, will you?\p"
+ .string "But I can’t give up just like that.\n"
+ .string "I’ll ask you while I’m still lucky!\p"
+ .string "Please, will you be so kind as to give\n"
+ .string "me advice?$"
+
+ .string "Really? I can’t believe it!\n"
+ .string "I can’t believe you’ll advise me!\l"
+ .string "I… I’m so happy…\p"
+ .string "What I want to ask you is really\n"
+ .string "trivial, but I can’t decide…\p"
+ .string "At the BATTLE TOWER, they let you\n"
+ .string "choose Level 50 or Open Level.\p"
+ .string "Which course do you think even I may\n"
+ .string "have a chance at?$"
+
+ .string "{STR_VAR_1}? Okay!\n"
+ .string "But do you really think someone like\l"
+ .string "me would have a chance?\p"
+ .string "I’ll do my best, even though I don’t\n"
+ .string "think it will work.\p"
+ .string "Thank you very much for spending\n"
+ .string "time with someone like me.$"
+
+ .string "Oh! You’re {PLAYER}{STRING 5}, aren’t you?\p"
+ .string "I’ve heard that you’re tough at\n"
+ .string "POKéMON!\p"
+ .string "I’m {STR_VAR_1}!\n"
+ .string "I’ll be your friend!\p"
+ .string "Did you know?\p"
+ .string "You can’t win at the BATTLE FRONTIER\n"
+ .string "if all you know is what they teach at\l"
+ .string "the TRAINER’S SCHOOL.\p"
+ .string "I’m willing to listen to your advice.\n"
+ .string "You’ll agree, of course?$"
+
+ .string "Huh? Why are you refusing me?\n"
+ .string "It’s me who’s asking you!\l"
+ .string "You have to reconsider!$"
+
+ .string "Okay, so there is this something.\n"
+ .string "I want you to decide it for me.\p"
+ .string "You know that the BATTLE TOWER has\n"
+ .string "Level 50 and Open Level Rooms?\p"
+ .string "Which do you think would be good\n"
+ .string "for me, {PLAYER}{STRING 5}?$"
+
+ .string "Okay, {STR_VAR_1} is suitable for me?\n"
+ .string "Thank you!\p"
+ .string "Knowing that you made the decision,\n"
+ .string "{PLAYER}{STRING 5}, I won’t be so upset if\l"
+ .string "I lose.\p"
+ .string "Okay, I’ll look to you for advice again.\n"
+ .string "Bye!$"
+
+ .string "Oh, hi, there! {PLAYER}{STRING 5}!\n"
+ .string "I know you because you’re famous!\l"
+ .string "Call me {STR_VAR_1}! Glad to meet you!\p"
+ .string "I’m a TRIATHLETE, so I keep myself\n"
+ .string "fit even while I raise POKéMON.\p"
+ .string "I’m also involved with other things\n"
+ .string "like work, napping, ballroom dancing…\p"
+ .string "Being this busy, it’s not so easy for\n"
+ .string "me to become a decent TRAINER.\p"
+ .string "So, I have a proposition!\p"
+ .string "There must be a reason why we met.\n"
+ .string "So, {PLAYER}{STRING 5}, how about sharing your\l"
+ .string "wisdom with me every so often?$"
+
+ .string "Oh, but, please?\n"
+ .string "A guy like me needs someone like\l"
+ .string "you, {PLAYER}{STRING 5}!\p"
+ .string "Honestly, I need your advice!$"
+
+ .string "Thank you! That’s more like it!\n"
+ .string "So, let’s start with an easy one!\p"
+ .string "You know about the BATTLE TOWER’s\n"
+ .string "two courses, right?\l"
+ .string "You know, Level 50 and Open Level.\p"
+ .string "Me being a busy guy, which one should\n"
+ .string "I gear up for?$"
+
+ .string "{STR_VAR_1}, huh? Okay, gotcha.\n"
+ .string "I’ll find time somehow and give it a go!\p"
+ .string "…Whoops, I’d better go to work!\n"
+ .string "Thanks! See you around!$"
+
+ .string "No way! Uh-uh!\n"
+ .string "Are you maybe the real {PLAYER}?\p"
+ .string "A-hah! Awesome! I’m {STR_VAR_1},\n"
+ .string "so pleased to meet you!\p"
+ .string "{PLAYER}, you’re very strong,\n"
+ .string "aren’t you?\p"
+ .string "Everyone’s talking about you!\p"
+ .string "Oh! I just had this great idea!\n"
+ .string "I’ll get advice off you, {PLAYER}!\l"
+ .string "I’m sure it will make me tougher!\p"
+ .string "Isn’t it a great idea?\n"
+ .string "Please, I want your advice!$"
+
+ .string "Ahahaha, you can pretend to be mean,\n"
+ .string "but you can’t fool me!\l"
+ .string "You really mean okay, don’t you?$"
+
+ .string "Yay! I knew you’d have a big heart,\n"
+ .string "{PLAYER}!\p"
+ .string "What should I ask you first?\n"
+ .string "…Oh, I thought of something!\p"
+ .string "Drum roll, please!\n"
+ .string "The question I have is…\p"
+ .string "If I were to take a BATTLE TOWER\n"
+ .string "challenge, which way should I go?\p"
+ .string "Level 50 or Open Level?\n"
+ .string "Which suits me more?$"
+
+ .string "Oh-oh-oh!\n"
+ .string "{STR_VAR_1}, you say!\l"
+ .string "Thank you for a totally cool reply!\p"
+ .string "I guess that’s about all I wanted\n"
+ .string "to ask you today.\p"
+ .string "Let’s meet here again, okay?\n"
+ .string "Thanks!$"
+
+ .string "I beg your pardon, but…\n"
+ .string "Are you {PLAYER}?\p"
+ .string "I’m {STR_VAR_1}, and I am delighted to\n"
+ .string "make your acquaintance.\p"
+ .string "I have long been an admirer\n"
+ .string "of yours…\p"
+ .string "… … … … … …\p"
+ .string "Um… I hope you don’t find this\n"
+ .string "request too much of a burden, but…\p"
+ .string "May I become your apprentice,\n"
+ .string "{PLAYER}?$"
+
+ .string "Oh…!\p"
+ .string "… … … … … …\n"
+ .string "… … … … … …\p"
+ .string "…I must have fainted from shock.\n"
+ .string "I’m sorry, I must have misheard you.\p"
+ .string "Please! Please say that you will\n"
+ .string "accept me as your apprentice!$"
+
+ .string "Oh… I’m delighted!\p"
+ .string "I don’t wish to waste your time,\n"
+ .string "so please advise me on this.\p"
+ .string "I plan to take a BATTLE TOWER\n"
+ .string "challenge soon.\p"
+ .string "However, there are two levels…\p"
+ .string "Which would be most suitable for me?\n"
+ .string "Level 50 or Open Level?$"
+
+ .string "{STR_VAR_1} is your choice!\n"
+ .string "I see. I will do my best!\p"
+ .string "Thank you, {PLAYER}.\n"
+ .string "I hope I can count on you again.\l"
+ .string "Please take care!$"
+
+ .string "Eek! Eek! {PLAYER}!\n"
+ .string "You spoke to me!\l"
+ .string "I… I’m overjoyed!\p"
+ .string "Me! My name is {STR_VAR_1}!\n"
+ .string "I just became a TRAINER!\p"
+ .string "I’m delighted I met you, {PLAYER},\n"
+ .string "the big name in POKéMON circles!\p"
+ .string "Oh-oh-oh, I know!\n"
+ .string "May I ask a huge favor, {PLAYER}?\p"
+ .string "Please take me in as your apprentice!\n"
+ .string "I want to learn from you!$"
+
+ .string "Waaaah!\n"
+ .string "{PLAYER} turned me down…\l"
+ .string "It… It’s an invaluable experience!\p"
+ .string "{PLAYER}, please! I want to hear\n"
+ .string "an affirmative answer this time!\p"
+ .string "I beg you for your guidance!$"
+
+ .string "Hieeeeh! {PLAYER} said yes!\n"
+ .string "{PLAYER} said yes!\p"
+ .string "I won’t be able to sleep tonight…\n"
+ .string "Thank you ever so much!\p"
+ .string "Then, here’s my question!\p"
+ .string "At the BATTLE TOWER, what is right\n"
+ .string "for me, Level 50 or Open Level?$"
+
+ .string "{STR_VAR_1}! Perfectly understood!\n"
+ .string "I understand perfectly!\l"
+ .string "I’m deliriously delighted!\p"
+ .string "I hope you’ll be willing to teach me\n"
+ .string "some more another time.$"
+
+ .string "Whoa! Could you be…\n"
+ .string "Might you be… {PLAYER}{STRING 5}?!\l"
+ .string "That strong and famous TRAINER?\l"
+ .string "Well, hello, aren’t I just the luckiest!\p"
+ .string "Hello, the name’s {STR_VAR_1}!\p"
+ .string "I’ve been on the lookout for\n"
+ .string "a POKéMON teacher.\p"
+ .string "And with impeccably good timing,\n"
+ .string "along came you, {PLAYER}{STRING 5}!\p"
+ .string "So, there you have it, {PLAYER}{STRING 5}!\n"
+ .string "Let me apprentice under you!$"
+
+ .string "Gwaaaah!\n"
+ .string "You’re quite cool and tough…\p"
+ .string "Don’t be that way, please.\n"
+ .string "I’m asking you!$"
+
+ .string "Oh, yeah! That’s a solid reply!\n"
+ .string "Excellent, I might add!\p"
+ .string "So how about a first piece of advice\n"
+ .string "on the BATTLE TOWER?\p"
+ .string "If I were to go, what would be better?\n"
+ .string "Level 50 or Open Level?$"
+
+ .string "Uh-huh, {STR_VAR_1} it is!\n"
+ .string "OK, A-OK!\l"
+ .string "I’ll go show my mettle, like, jam!\p"
+ .string "All right, I’ll look to you as my mentor!\n"
+ .string "Adios!$"
+
+ .string "Oh, hey, {PLAYER}{STRING 5}, right?\n"
+ .string "The police were looking for you!\p"
+ .string "… … …\n"
+ .string "Of course I’m lying!\p"
+ .string "Me, I’m {STR_VAR_1}. Despite the way\n"
+ .string "I look, I’m the POKéMON CHAMPION!\l"
+ .string "…That’s a lie, too!\p"
+ .string "This is no lie, though.\n"
+ .string "I’m not very good at battling.\p"
+ .string "So, how about you becoming my master\n"
+ .string "about all things POKéMON?$"
+
+ .string "If you’re going to act cold like that,\n"
+ .string "I’ll show you what I’ll do!\p"
+ .string "Waaah! Waaah! Waaah!\n"
+ .string "Hiccup!\p"
+ .string "Hahaha, that was my FAKE TEARS!\p"
+ .string "Come on, will you please be\n"
+ .string "my POKéMON master?$"
+
+ .string "Yippee!\n"
+ .string "I’ll buy you a boat for that!\p"
+ .string "Of course I’m lying again!\n"
+ .string "But… Thank you, master!\p"
+ .string "You know how there’s Level 50 and\n"
+ .string "Open Level at the BATTLE TOWER?\p"
+ .string "I’m having trouble deciding which\n"
+ .string "level I should challenge…\p"
+ .string "Can you decide for me, master?$"
+
+ .string "Okay, so {STR_VAR_1} is better!\n"
+ .string "I’ll go to the other level, then!\p"
+ .string "Just kidding!\n"
+ .string "I’ll obey your teaching, master!\p"
+ .string "Thanks, master!\n"
+ .string "I hope you’ll keep teaching me!$"
+
+ .string "A-H-O-Y!\n"
+ .string "And that spells ahoy, and it means hi!\p"
+ .string "I’m {STR_VAR_1}, the rappin’ SAILOR\n"
+ .string "am I!\p"
+ .string "Your turn now, tell me a little about\n"
+ .string "yourself, give it a try!\p"
+ .string "Uh-huh, uh-huh!\n"
+ .string "{PLAYER}{STRING 5}’s your name,\l"
+ .string "and POKéMON’s your game!\p"
+ .string "And you’re at a delicate age\n"
+ .string "when all the world’s your stage!\p"
+ .string "Anyway, I just want to say,\n"
+ .string "that you’re the tenth TRAINER\l"
+ .string "I’ve spoken to today.\p"
+ .string "Let’s make that a celebration!\n"
+ .string "Become my mentor for commemoration!$"
+
+ .string "But!\n"
+ .string "You have to work with me!\p"
+ .string "Don’t be such a tease!\n"
+ .string "Become my mentor, please!$"
+
+ .string "That’s it!\n"
+ .string "{PLAYER}, you’ve got the spirit!\p"
+ .string "So here’s my first question\n"
+ .string "that begs your suggestion!\p"
+ .string "It’s about the BATTLE TOWER,\n"
+ .string "and it hinges on my power!\p"
+ .string "Level 50 and Open Level there be,\n"
+ .string "which is the one that’s good for me?$"
+
+ .string "Okay, {STR_VAR_1} it is, you say!\n"
+ .string "I’ll go and take it on my way!\p"
+ .string "If it’s advice I ever need,\n"
+ .string "{PLAYER}, your word I’ll always heed!$"
+
+ .string "Say, hey, aren’t you {PLAYER}?\n"
+ .string "What should I do? Talk to you?\l"
+ .string "Why not? I’m already talking to you!\p"
+ .string "{PLAYER}, are you surprised at me?\n"
+ .string "I’d better tell you who I happen to be!\p"
+ .string "{STR_VAR_1} is what you can call me.\n"
+ .string "The brightest star in guitardom,\l"
+ .string "that’s me!\p"
+ .string "Are you receiving me?\n"
+ .string "You are receiving me!\p"
+ .string "My luck’s at its best,\n"
+ .string "I’ll hit you with a request!\p"
+ .string "{PLAYER}, let me be your underling!\n"
+ .string "I want you to teach me everything!$"
+
+ .string "You’re turning me down, then?\n"
+ .string "I’ll just have to ask you again!\p"
+ .string "{PLAYER}, I beg to be your underling!\n"
+ .string "I need you to teach me everything!$"
+
+ .string "Lucky, yeah, woohoo!\n"
+ .string "Should I pop a question to you?\p"
+ .string "Since we’re near the BATTLE TOWER,\n"
+ .string "how about a question about its power?\p"
+ .string "Of the choices you see,\n"
+ .string "which is the right one for me?$"
+
+ .string "If {STR_VAR_1} is what you suggest,\n"
+ .string "it must be the very best!\p"
+ .string "Well, {PLAYER}, I have to roam free,\n"
+ .string "but don’t you forget about me.\p"
+ .string "See you again, my smart friend!$"
+
+ .string "Oh, hi! You there!\n"
+ .string "Can I get you to massage my shoulder?\p"
+ .string "…Yes, there! That’s it!\n"
+ .string "Ouch, ouch! Oooh, that feels great!\p"
+ .string "My name’s {STR_VAR_1}.\n"
+ .string "I take karate training, but my body’s\l"
+ .string "not built to take the abuse…\p"
+ .string "I decided I’ll battle POKéMON and\n"
+ .string "toughen myself up.\p"
+ .string "You’re {PLAYER}{STRING 5}, aren’t you?\n"
+ .string "The POKéMON LEAGUE CHAMP?\p"
+ .string "Listen, can I get you to give me\n"
+ .string "advice?$"
+
+ .string "Oh, why?\p"
+ .string "I won’t be a big bother, I promise!\n"
+ .string "Please?$"
+
+ .string "Thank you. Mighty good of you!\n"
+ .string "…Cough! Cough!\p"
+ .string "Oogh, I have to toughen up quick…\p"
+ .string "I’ll be heading off to the BATTLE TOWER\n"
+ .string "right away, but what would be better\l"
+ .string "for me? Level 50 or Open Level?$"
+
+ .string "Hm, all right. That’s {STR_VAR_1}.\n"
+ .string "I’ll go there right away.\p"
+ .string "I hope I can keep hitting you up for\n"
+ .string "help--after all, you’re my mentor!$"
+
+ .string "Er… Um…\n"
+ .string "{PLAYER}{STRING 5}…?\p"
+ .string "Please, don’t look at me that way.\n"
+ .string "You’re making me all self-conscious.\p"
+ .string "I… I’m {STR_VAR_1}.\p"
+ .string "I’m really embarrassed to say this,\n"
+ .string "but I explore ancient ruins and such.\p"
+ .string "I’m even more embarrassed to admit\n"
+ .string "I’m interested in the BATTLE FRONTIER.\p"
+ .string "{PLAYER}{STRING 5}, you have a reputation as\n"
+ .string "a tough TRAINER…\p"
+ .string "It’s hard for me to say this,\n"
+ .string "but I want to ask something.\p"
+ .string "Could you become my teacher and\n"
+ .string "give me advice?$"
+
+ .string "Please don’t brush me off like this!\n"
+ .string "I can’t live with the humiliation.\p"
+ .string "Please become my teacher!\n"
+ .string "I need your advice!$"
+
+ .string "Th-thank you…\p"
+ .string "But please don’t look at me like that.\n"
+ .string "It makes me all flustered.\p"
+ .string "Please, answer me without looking\n"
+ .string "at my eyes.\p"
+ .string "At the BATTLE TOWER…\n"
+ .string "Which level should I attempt?$"
+
+ .string "Oh… Okay!\n"
+ .string "I’ll try my hand at that.\p"
+ .string "I hope I can make a valiant challenge\n"
+ .string "without getting all flustered…\p"
+ .string "Thank you, {PLAYER}{STRING 5}.\n"
+ .string "If we meet again, I hope you will be\l"
+ .string "as helpful.$"
+
+ .string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
+ .string "But are you really real?\p"
+ .string "You may call me {STR_VAR_1}.\p"
+ .string "I have been toying with the idea of\n"
+ .string "apprenticing under a strong TRAINER.\p"
+ .string "So, I must say I’m lucky you came along!\n"
+ .string "…You really are {PLAYER}{STRING 5}, yes?\p"
+ .string "No, no, if you are real, it’s fine.\n"
+ .string "I merely want you to recognize me\l"
+ .string "as your apprentice.$"
+
+ .string "Oh?\n"
+ .string "But what would compel you to refuse?\p"
+ .string "I apologize for being skeptical about\n"
+ .string "your identity.\p"
+ .string "Please accept my apology and\n"
+ .string "accept me as your apprentice.$"
+
+ .string "You really are accepting me?\n"
+ .string "I don’t wish to celebrate prematurely.\p"
+ .string "If it is true, I apologize.\n"
+ .string "But now, I need your advice.\p"
+ .string "If I were to enter the BATTLE TOWER,\n"
+ .string "what would be worthy of me?\l"
+ .string "Level 50 or Open Level?$"
+
+ .string "{STR_VAR_1}?\n"
+ .string "Are you certain?\p"
+ .string "I see. If that’s the case, that’s fine.\n"
+ .string "I thank you for your time.\p"
+ .string "I realize I can annoy, but it delights\n"
+ .string "me that you have accepted me.\p"
+ .string "Let us meet again!$"
+
+ .string "Sigh… Sob…\n"
+ .string "Oh, {PLAYER}!\p"
+ .string "I’m all tangled up in a dilemma\n"
+ .string "that I can’t decide.\p"
+ .string "I can’t decide what I should make\n"
+ .string "my {STR_VAR_1} hold.\p"
+ .string "Please tell me, {PLAYER}.\n"
+ .string "What item should I make it hold?$"
+
+ .string "Oh, really? I shouldn’t make\n"
+ .string "my {STR_VAR_1} hold anything?$"
+
+ .string "Oh, okay! I’m delighted it’s settled!\n"
+ .string "Awesome! Wicked! Awoooh!\p"
+ .string "Thank you so much!$"
+
+ .string "Oh, I’m so glad…\n"
+ .string "I think I have that {STR_VAR_1}, too.\p"
+ .string "I’m delighted it’s settled!\n"
+ .string "Awesome! Wicked! Awoooh!\p"
+ .string "Thank you so much!$"
+
+ .string "Waaaah! Please don’t be mean!\p"
+ .string "That item {STR_VAR_1} was already\n"
+ .string "recommended to me before, sob…\p"
+ .string "Or do you mean I shouldn’t make\n"
+ .string "my {STR_VAR_2} hold anything?$"
+
+ .string "Yay! It’s {PLAYER}!\n"
+ .string "Great! I wanted to ask you something!\p"
+ .string "Do you make your POKéMON hold items?\n"
+ .string "I want to make mine hold items, but…\p"
+ .string "What item would be good for\n"
+ .string "{STR_VAR_1} to hold?\p"
+ .string "What do you think?$"
+
+ .string "Huh? You mean my {STR_VAR_1} doesn’t\n"
+ .string "have to hold anything?$"
+
+ .string "Oh, I get it! I’ll do that!\n"
+ .string "Thanks for teaching me!$"
+
+ .string "Oh, wow! One {STR_VAR_1}, huh?\n"
+ .string "Okay, I’ll do that!\p"
+ .string "Thanks for teaching me!$"
+
+ .string "Oh, uh, no, that’s not what I meant.\n"
+ .string "I want to know about a different item\l"
+ .string "than the ones I already know.\p"
+ .string "Or do you mean that my POKéMON doesn’t\n"
+ .string "have to hold anything this time?$"
+
+ .string "{PLAYER}, hello!\n"
+ .string "It’s about my {STR_VAR_1}…\p"
+ .string "I want to make it hold a good item.\n"
+ .string "What would be good for it?$"
+
+ .string "Oh, then my {STR_VAR_1} doesn’t have\n"
+ .string "to hold anything?$"
+
+ .string "Okay, I got it!\n"
+ .string "See you again!$"
+
+ .string "Oh, the item {STR_VAR_1}?\n"
+ .string "Understood!\p"
+ .string "I’ll do my best to find one!\n"
+ .string "See you again!$"
+
+ .string "Somebody taught me about\n"
+ .string "the {STR_VAR_1} already.\p"
+ .string "I want my POKéMON to hold a different\n"
+ .string "kind of item.\p"
+ .string "Or do you think {STR_VAR_2} doesn’t\n"
+ .string "have to hold anything?$"
+
+ .string "Hello, {PLAYER}…\n"
+ .string "I’m sorry to disturb you, but I have\l"
+ .string "something else I wanted to ask you.\p"
+ .string "I don’t think I’m good enough to win\n"
+ .string "matches on my own, so I’m thinking of\l"
+ .string "making my {STR_VAR_1} hold an item.\p"
+ .string "But I don’t know what would be good.\p"
+ .string "{PLAYER}, please, could you decide\n"
+ .string "for me?$"
+
+ .string "A POKéMON belonging to someone like me\n"
+ .string "would be better off without an item?$"
+
+ .string "I understand…\n"
+ .string "You’re saying I shouldn’t rely on items.\l"
+ .string "I’ll do my best not to!\p"
+ .string "Thank you very much!$"
+
+ .string "The item {STR_VAR_1}, okay.\n"
+ .string "I’m not sure if I can get one…\l"
+ .string "No! I’ll do my best to get it.\p"
+ .string "Thank you very much!$"
+
+ .string "Oh, but…\n"
+ .string "I think I’ve heard about that before…\p"
+ .string "Is it maybe because I haven’t handled\n"
+ .string "the item {STR_VAR_1} very well?\p"
+ .string "Or do you mean I shouldn’t make\n"
+ .string "my {STR_VAR_2} hold anything?$"
+
+ .string "Oh, {PLAYER}{STRING 5}.\n"
+ .string "There’s something I wanted to ask you.\p"
+ .string "You know how you decided which\n"
+ .string "POKéMON I should have for me?\p"
+ .string "But I never asked you what item\n"
+ .string "it should be holding.\p"
+ .string "Since you already gave me advice,\n"
+ .string "how about seeing this to the end?\p"
+ .string "What would be good? I want to make\n"
+ .string "my {STR_VAR_1} hold something.$"
+
+ .string "Oh! So my {STR_VAR_1} should do\n"
+ .string "the best it can empty-handed?$"
+
+ .string "If you think that’s best, I’ll do that.\p"
+ .string "Knowing that you made the decision,\n"
+ .string "{PLAYER}{STRING 5}, I won’t be so upset if\l"
+ .string "I lose.\p"
+ .string "Okay, I’ll look to you for advice again.\n"
+ .string "Bye!$"
+
+ .string "The item {STR_VAR_1}, huh?\n"
+ .string "Not bad. I’ll use it!\p"
+ .string "Knowing that you made the decision,\n"
+ .string "{PLAYER}{STRING 5}, I won’t be so upset if\l"
+ .string "I lose.\p"
+ .string "Okay, I’ll look to you for advice again.\n"
+ .string "Bye!$"
+
+ .string "Huh? What are you saying?\n"
+ .string "You told me about the {STR_VAR_1}\l"
+ .string "already before.\p"
+ .string "Or do you mean my {STR_VAR_2} should\n"
+ .string "do the best it can empty-handed?$"
+
+ .string "Yo, {PLAYER}{STRING 5}!\p"
+ .string "We’re both busy, but we seem to run\n"
+ .string "into each other often anyway!\p"
+ .string "Today I have to do some walking,\n"
+ .string "cleaning, and brushing.\p"
+ .string "I haven’t even had the time to buy\n"
+ .string "my precious {STR_VAR_1} anything.\p"
+ .string "I don’t have any time, so how about\n"
+ .string "giving me advice on what I should make\l"
+ .string "my {STR_VAR_1} hold?$"
+
+ .string "Oh, so me being a busy guy, you say\n"
+ .string "my {STR_VAR_1} doesn’t need anything?$"
+
+ .string "Okay, gotcha.\n"
+ .string "I won’t need any time for that.\p"
+ .string "Thanks today!\n"
+ .string "See you around!$"
+
+ .string "Okay, gotcha.\n"
+ .string "I’ll find time somehow and find\l"
+ .string "that {STR_VAR_1} you recommended.\p"
+ .string "I’m glad I met a good mentor in you.\n"
+ .string "Thanks! See you around!$"
+
+ .string "Huh? I already know about\n"
+ .string "that {STR_VAR_1}.\p"
+ .string "Oh, right, I get it.\n"
+ .string "So me being a busy guy, you say\l"
+ .string "my {STR_VAR_2} doesn’t need anything?$"
+
+ .string "Hiya, {PLAYER}! It’s me!\n"
+ .string "I need to tap your mind again today.\l"
+ .string "Please, I need your advice!\p"
+ .string "Drum roll, please!\n"
+ .string "The question I have is…\p"
+ .string "If I want to make my {STR_VAR_1} hold\n"
+ .string "an item, what should it be?$"
+
+ .string "Is that right? My {STR_VAR_1} doesn’t\n"
+ .string "need to hold an item, you’re saying.$"
+
+ .string "Okay, that’s what I’ll do!\p"
+ .string "I guess that’s about all I wanted\n"
+ .string "to ask you today.\p"
+ .string "Let’s meet here again, okay?\n"
+ .string "Thanks!$"
+
+ .string "Uh-huh! One {STR_VAR_1}.\n"
+ .string "What a cool choice!\l"
+ .string "I’ll definitely try that!\p"
+ .string "I guess that’s about all I wanted\n"
+ .string "to ask you today.\p"
+ .string "Let’s meet here again, okay?\n"
+ .string "Thanks!$"
+
+ .string "Ahahah! That’s silly!\n"
+ .string "You already told me about that\l"
+ .string "{STR_VAR_1} before!\p"
+ .string "Are you feeling okay, {PLAYER}?\p"
+ .string "Oh, wait! My {STR_VAR_2} doesn’t\n"
+ .string "need to hold an item, you’re saying.$"
+
+ .string "Hello, {PLAYER}. I hope you’ve been\n"
+ .string "keeping well.\p"
+ .string "May I approach you for advice?\p"
+ .string "In a recent battle, my opponent\n"
+ .string "seemed to have given his POKéMON\l"
+ .string "an item to hold.\p"
+ .string "As a result, I was defeated…\p"
+ .string "I don’t wish to be left behind.\n"
+ .string "I would like to make my {STR_VAR_1}\l"
+ .string "hold an item, too.\p"
+ .string "It would please me if you could decide\n"
+ .string "what would be right for my POKéMON…$"
+
+ .string "In other words… My POKéMON has\n"
+ .string "no need to hold an item?$"
+
+ .string "I understand clearly now!\n"
+ .string "I will keep trying like this.\p"
+ .string "Thank you, {PLAYER}.\n"
+ .string "I hope I can count on you again.\l"
+ .string "Please take care!$"
+
+ .string "One {STR_VAR_1} it is!\n"
+ .string "I will order it right away.\p"
+ .string "Thank you, {PLAYER}.\n"
+ .string "I hope I can count on you again.\l"
+ .string "Please take care!$"
+
+ .string "You’ve already told me about that,\n"
+ .string "and I already have it.\p"
+ .string "Or are you saying… My POKéMON has\n"
+ .string "no need to hold an item?$"
+
+ .string "Eek! {PLAYER}!\n"
+ .string "I… I’m overjoyed to see you again!\p"
+ .string "Oh-oh-oh! There’s something I just\n"
+ .string "had to ask you, {PLAYER}!\p"
+ .string "Please decide what my {STR_VAR_1}\n"
+ .string "should be holding!$"
+
+ .string "Oh, wow! I didn’t expect that answer!\n"
+ .string "So, a hold item isn’t necessary?$"
+
+ .string "Perfectly understood!\n"
+ .string "I’ll keep at this without an item!\p"
+ .string "I hope you’ll be willing to teach me\n"
+ .string "some more another time.$"
+
+ .string "{STR_VAR_1}! I’ll use that!\p"
+ .string "Um… Could it be, {PLAYER}, you also\n"
+ .string "make your POKéMON hold that item?\p"
+ .string "I’ll be sure to get it!\n"
+ .string "I hope you’ll be willing to teach me\l"
+ .string "some more another time.$"
+
+ .string "Oh? You recommended that\n"
+ .string "{STR_VAR_1} before, too.\p"
+ .string "Or is it the best thing to hold?\n"
+ .string "Or do you mean that my {STR_VAR_2}\l"
+ .string "doesn’t need anything to hold?$"
+
+ .string "Hola!\n"
+ .string "My maestro, {PLAYER}{STRING 5}!\p"
+ .string "I want to hit you up for advice on\n"
+ .string "POKéMON tools.\p"
+ .string "What do you think would be good for\n"
+ .string "my {STR_VAR_1} to hold?\p"
+ .string "Don’t be shy now.\n"
+ .string "Let’s blurt it out!$"
+
+ .string "Oh? So, you’re saying my {STR_VAR_1}\n"
+ .string "can win without holding any item?$"
+
+ .string "Si, bueno!\n"
+ .string "I’ll give it my best shot, like, slam!\p"
+ .string "All right, thanks, as always!\n"
+ .string "Adios!$"
+
+ .string "Uh-huh, that’s one {STR_VAR_1}?\n"
+ .string "Si, bueno!\l"
+ .string "I’ll go find me one, like, bam!\p"
+ .string "All right, thanks, as always!\n"
+ .string "Adios!$"
+
+ .string "No, no! You already told me about\n"
+ .string "that {STR_VAR_1} thing before.\p"
+ .string "Oh, now wait just one minute here…\n"
+ .string "So, you’re saying my {STR_VAR_2}\l"
+ .string "can win without holding any item?$"
+
+ .string "{PLAYER}{STRING 5}, something unbelievable\n"
+ .string "has happened!\p"
+ .string "I woke up this morning, and my POKéMON\n"
+ .string "had 10 NUGGETS!\p"
+ .string "Of course I’m lying!\n"
+ .string "Wahahaha!\p"
+ .string "This is no lie, though.\n"
+ .string "I’m not very good at thinking about\l"
+ .string "what items POKéMON should hold.\p"
+ .string "So, how about deciding for me what\n"
+ .string "my {STR_VAR_1} should hold, master?$"
+
+ .string "What’s that mean?\n"
+ .string "Don’t make it hold anything?$"
+
+ .string "Okay, so it shouldn’t hold anything.\n"
+ .string "Then, I’d better get something for it!\p"
+ .string "Just kidding!\n"
+ .string "I’ll obey your teaching, master!\p"
+ .string "Thanks, master!\n"
+ .string "I hope you’ll keep teaching me!$"
+
+ .string "Okay, so it’s one {STR_VAR_1}!\n"
+ .string "I’ll make it hold anything but that!\p"
+ .string "Just kidding!\n"
+ .string "I’ll obey your teaching, master!\p"
+ .string "Thanks, master!\n"
+ .string "I hope you’ll keep teaching me!$"
+
+ .string "Um, you told me about that before,\n"
+ .string "didn’t you?\p"
+ .string "Isn’t there something else?\p"
+ .string "Or do you mean, don’t make\n"
+ .string "my {STR_VAR_2} hold anything?$"
+
+ .string "A-H-O-Y!\n"
+ .string "And that spells ahoy!\p"
+ .string "The rappin’ SAILOR am I!\n"
+ .string "I present to you a question\l"
+ .string "that’s pretty fly!\p"
+ .string "It’s an item question\n"
+ .string "that begs your suggestion!\p"
+ .string "My {STR_VAR_1} needs an item to hold,\n"
+ .string "What should it be, if I may be bold?$"
+
+ .string "Is that right?\n"
+ .string "My {STR_VAR_1} doesn’t need to be\l"
+ .string "holding anything tight?$"
+
+ .string "Okay, I hear you, sure I do!\n"
+ .string "My POKéMON will go empty-handed, too!\p"
+ .string "If it’s advice I ever need,\n"
+ .string "{PLAYER}, your word I’ll always heed!$"
+
+ .string "Okay, one {STR_VAR_1},\n"
+ .string "that’s what I’ll use.\l"
+ .string "I was right to make you choose!\p"
+ .string "If it’s advice I ever need,\n"
+ .string "{PLAYER}, your word I’ll always heed!$"
+
+ .string "Okay, one {STR_VAR_1}, you say?\n"
+ .string "You told me that the other day.\l"
+ .string "I need a new idea, a brand new way.\p"
+ .string "Or, what, is that right?\n"
+ .string "My POKéMON doesn’t need to hold\l"
+ .string "anything tight?$"
+
+ .string "Say, hey, {PLAYER}!\n"
+ .string "I found you again today!\p"
+ .string "What should I do? Get your advice?\n"
+ .string "Why not? I’m already talking to you!\p"
+ .string "{PLAYER}, are you getting sick of me?\n"
+ .string "Nah, no way, that can’t be.\p"
+ .string "Will you hear me out?\n"
+ .string "I’m looking for advice--that’s what\l"
+ .string "I’m talking about.\p"
+ .string "It’s about a hold item for\n"
+ .string "my {STR_VAR_1} that’d be good.\l"
+ .string "My indecision is making me brood.$"
+
+ .string "My {STR_VAR_1} needs nothing?\n"
+ .string "Doesn’t need to hold anything?$"
+
+ .string "If holding nothing is the best,\n"
+ .string "I’ll do as you suggest!\p"
+ .string "Well, {PLAYER}, I have to roam free,\n"
+ .string "but don’t you forget about me.\p"
+ .string "See you again, my smart friend!$"
+
+ .string "If holding that {STR_VAR_1} is\n"
+ .string "the best, I’ll do as you suggest!\p"
+ .string "Well, {PLAYER}, I have to roam free,\n"
+ .string "but don’t you forget about me.\p"
+ .string "See you again, my smart friend!$"
+
+ .string "Haven’t I heard about that\n"
+ .string "{STR_VAR_1} before?\l"
+ .string "I’m certain I have, that’s for sure!\p"
+ .string "I need a new something!\n"
+ .string "Or, my {STR_VAR_2} needs nothing?\l"
+ .string "Doesn’t need to hold anything?$"
+
+ .string "Gwah! Ouch! {PLAYER}{STRING 5}, my arm’s broken!\n"
+ .string "Don’t touch it, please!\p"
+ .string "I must’ve broken it while I was trying\n"
+ .string "out different hold items with my posse\l"
+ .string "of POKéMON.\p"
+ .string "So, things being this way,\n"
+ .string "I need you to decide for me.\p"
+ .string "{PLAYER}{STRING 5}, what do you think would be\n"
+ .string "good for my {STR_VAR_1} to hold?$"
+
+ .string "Ouch…\p"
+ .string "So your suggestion is my {STR_VAR_1}\n"
+ .string "doesn’t have to hold anything?$"
+
+ .string "Hm, all right. That would be easier\n"
+ .string "for me, the way things are now.\p"
+ .string "I hope I can keep hitting you up\n"
+ .string "for help like this.$"
+
+ .string "Hm, all right. That’s one {STR_VAR_1}.\n"
+ .string "My POKéMON’s arm is fine, so I’ll make\l"
+ .string "it hold that item right away.\p"
+ .string "I hope I can keep hitting you up\n"
+ .string "for help like this.$"
+
+ .string "No, no, you told me about that\n"
+ .string "{STR_VAR_1} before, remember?\p"
+ .string "How about telling me something\n"
+ .string "even better?\p"
+ .string "Oh, wait a second.\n"
+ .string "So your suggestion is my {STR_VAR_2}\l"
+ .string "doesn’t have to hold anything?$"
+
+ .string "Er… Um…\n"
+ .string "{PLAYER}{STRING 5}…\p"
+ .string "Please, don’t look at me that way.\n"
+ .string "My POKéMON don’t have anything.\p"
+ .string "I… I’m really embarrassed about this,\n"
+ .string "but I really need your advice.\p"
+ .string "I can’t decide what hold item would\n"
+ .string "make my {STR_VAR_1} strong.\p"
+ .string "{PLAYER}{STRING 5}, what do you think would\n"
+ .string "be good?$"
+
+ .string "Oh… Then, you think it would be better\n"
+ .string "if my {STR_VAR_1} didn’t have an item?$"
+
+ .string "Oh… Okay!\n"
+ .string "I’ll go without an item.\p"
+ .string "This is nerve-racking, though.\n"
+ .string "Wouldn’t it be too cool?\p"
+ .string "Thank you, {PLAYER}{STRING 5}.\n"
+ .string "If we meet again, I hope you will be\l"
+ .string "as helpful.$"
+
+ .string "Oh… Okay!\n"
+ .string "I’ll go with that {STR_VAR_1}.\p"
+ .string "This is nerve-racking, though.\n"
+ .string "Wouldn’t it be too cool?\p"
+ .string "Thank you, {PLAYER}{STRING 5}.\n"
+ .string "If we meet again, I hope you will be\l"
+ .string "as helpful.$"
+
+ .string "B-but I already heard about that.\p"
+ .string "Please don’t brush me off like this!\n"
+ .string "I can’t live with the humiliation.\p"
+ .string "Oh… Am I jumping to conclusions?\n"
+ .string "Do you think it would be better if\l"
+ .string "my {STR_VAR_2} didn’t have an item?$"
+
+ .string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
+ .string "But are you really?\l"
+ .string "Perhaps you’re a twin?\p"
+ .string "Oh, no, no, no, don’t worry!\n"
+ .string "If you really are {PLAYER}, please\l"
+ .string "forget about my rudeness.\p"
+ .string "What I would like is some more of\n"
+ .string "your fine advice.\p"
+ .string "I have here my {STR_VAR_1} that I wish\n"
+ .string "to make hold a convenient item.\p"
+ .string "What would be worthy of it?$"
+
+ .string "It’s better if it held nothing?\n"
+ .string "Are you certain?$"
+
+ .string "I see. If that’s the case, that’s fine.\n"
+ .string "I thank you for your time.\p"
+ .string "Let us meet again!$"
+
+ .string "One {STR_VAR_1}?\n"
+ .string "Are you certain?\p"
+ .string "I see. If that’s the case, that’s fine.\n"
+ .string "I thank you for your time.\p"
+ .string "I do hope my POKéMON will be able to\n"
+ .string "put it to good use.\p"
+ .string "Let us meet again!$"
+
+ .string "No, no, wait a minute.\n"
+ .string "I believe you taught me that before.\p"
+ .string "I would like you to recommend\n"
+ .string "something different this time.\p"
+ .string "Perhaps you’re suggesting that\n"
+ .string "my {STR_VAR_2} should hold nothing?\l"
+ .string "Are you certain?$"
+
+ .string "Waah, {PLAYER}!\n"
+ .string "I have a dilemma, sob…\p"
+ .string "I want to begin battling other people,\n"
+ .string "but I don’t know what to do.\p"
+ .string "How should I line up my POKéMON\n"
+ .string "so they’ll be at their strongest?\p"
+ .string "Please tell me, {PLAYER}.\n"
+ .string "If you were me, which of these POKéMON\l"
+ .string "would you send out first?$"
+
+ .string "My {STR_VAR_1} should go first?\n"
+ .string "Waaaaah!\p"
+ .string "Oh! I’m so sorry!\n"
+ .string "You’ve made me happy by choosing\l"
+ .string "my first POKéMON, and it’s made me cry…\p"
+ .string "Thank you so much!$"
+
+ .string "Yay! It’s {PLAYER}!\n"
+ .string "Great! I wanted to ask you something!\p"
+ .string "Um, of my POKéMON, which do you\n"
+ .string "think should go out first?$"
+
+ .string "My {STR_VAR_1}? That’s true.\n"
+ .string "Okay, I’ll do that!\p"
+ .string "Thanks for teaching me!$"
+
+ .string "{PLAYER}, hello!\p"
+ .string "I think, in a battle, it’s very important\n"
+ .string "which POKéMON comes out first.\p"
+ .string "Out of the POKéMON that I have,\n"
+ .string "which would be good to send out first?$"
+
+ .string "My {STR_VAR_1} goes first?\n"
+ .string "Okay, I got it!\p"
+ .string "See you again!$"
+
+ .string "Hello, {PLAYER}…\n"
+ .string "I’m sorry to disturb you again with\l"
+ .string "another question.\p"
+ .string "I have so little confidence, I don’t\n"
+ .string "know what I’d do without you, {PLAYER}.\p"
+ .string "It may be a waste of time for me to\n"
+ .string "even worry about it, but I just can’t\l"
+ .string "decide something…\p"
+ .string "Which of my POKéMON should I send\n"
+ .string "out first in a battle?$"
+
+ .string "My {STR_VAR_1}?\n"
+ .string "Understood!\p"
+ .string "I can’t believe that you would bother\n"
+ .string "to answer my questions so often!\p"
+ .string "I’m so grateful that you would even\n"
+ .string "speak with me… Thank you!$"
+
+ .string "Oh, {PLAYER}{STRING 5}! It’s me!\n"
+ .string "I’m so glad to see you because I have\l"
+ .string "this little problem.\p"
+ .string "I can’t decide how my POKéMON should\n"
+ .string "be lined up. Could you decide for me?\p"
+ .string "Oh, you don’t need to decide the whole\n"
+ .string "party right now.\p"
+ .string "How about deciding just the first\n"
+ .string "POKéMON for me?$"
+
+ .string "My {STR_VAR_1}? That’s great!\p"
+ .string "Knowing that you made the decision,\n"
+ .string "{PLAYER}{STRING 5}, I won’t be so upset if\l"
+ .string "I lose.\p"
+ .string "Okay, I’ll look to you for advice again.\n"
+ .string "Bye!$"
+
+ .string "Hi, my teacher {PLAYER}{STRING 5}!\n"
+ .string "I’m busy again today!\p"
+ .string "I have to do some cycling, shopping,\n"
+ .string "and humming.\p"
+ .string "I haven’t even had the time to decide\n"
+ .string "how to line up my POKéMON team.\p"
+ .string "So, how about checking out my team?\n"
+ .string "Which one should go first?$"
+
+ .string "Okay, gotcha.\n"
+ .string "I have enough time at least to put\l"
+ .string "my {STR_VAR_1} at the head of the line!\p"
+ .string "Whoops, my girlfriend’s waiting!\n"
+ .string "Thanks! See you around!$"
+
+ .string "Yoohoo! Hiya, {PLAYER}!\n"
+ .string "You always walk around looking tough!\p"
+ .string "Listen, I need something from you\n"
+ .string "again! It’s the usual thing!\p"
+ .string "Drum roll, please!\n"
+ .string "The question I have is about my team.\p"
+ .string "Which POKéMON of mine should be first\n"
+ .string "to go out in a battle?$"
+
+ .string "Hmhm!\n"
+ .string "My {STR_VAR_1}, you say!\l"
+ .string "Thanks for a most cool answer!\p"
+ .string "I guess that’s about all I wanted\n"
+ .string "to ask you today.\p"
+ .string "Let’s meet here again, okay?\n"
+ .string "Thanks!$"
+
+ .string "Thank you so much for stopping to\n"
+ .string "chat with me, {PLAYER}.\p"
+ .string "I know I’m taking advantage of your\n"
+ .string "kindness, but may I ask for advice?\p"
+ .string "I would like you to decide on the order\n"
+ .string "of my POKéMON team.\p"
+ .string "It would please me if you could decide\n"
+ .string "which POKéMON should come first.$"
+
+ .string "My {STR_VAR_1} it is!\n"
+ .string "I will put it first right away!\p"
+ .string "Thank you, {PLAYER}.\n"
+ .string "I hope I can count on you again.\l"
+ .string "Please take care!$"
+
+ .string "Eek! {PLAYER}!\n"
+ .string "I… I’m overjoyed to see you again!\p"
+ .string "My POKéMON have become much\n"
+ .string "stronger!\p"
+ .string "But I don’t always win. It seems to\n"
+ .string "depend on which POKéMON goes first.\p"
+ .string "{PLAYER}, please, I need your help!\p"
+ .string "Please decide which of my POKéMON\n"
+ .string "should go out first!$"
+
+ .string "Sigh… I’m overwhelmed with happiness…\p"
+ .string "It’s like a dream having you decide\n"
+ .string "for me, {PLAYER}.\p"
+ .string "But perfectly understood!\n"
+ .string "I will go with my {STR_VAR_1} first!\p"
+ .string "I hope you’ll be willing to teach me\n"
+ .string "some more another time.$"
+
+ .string "Hello, hello!\n"
+ .string "My mentor, {PLAYER}{STRING 5}!\l"
+ .string "Hit me with your sage advice today!\p"
+ .string "You see, I pulled together a team of\n"
+ .string "three POKéMON. So far so good.\p"
+ .string "But the team’s battling order’s not\n"
+ .string "settled yet.\p"
+ .string "This is where you come in, {PLAYER}{STRING 5}!\n"
+ .string "You decide which POKéMON leads off!\p"
+ .string "Don’t be shy now.\n"
+ .string "Let’s blurt it out!$"
+
+ .string "Uh-huh, my {STR_VAR_1} leads off!\n"
+ .string "OK, A-OK!\l"
+ .string "I’ll reorder the lineup, like, wham!\p"
+ .string "All right, thanks, as always!\n"
+ .string "Adios!$"
+
+ .string "{PLAYER}{STRING 5}, listen!\n"
+ .string "It’s a crisis!\p"
+ .string "My POKéMON, all three of them, go into\n"
+ .string "battle at once!\p"
+ .string "Of course that’s impossible!\n"
+ .string "Wahahaha!\p"
+ .string "This is no lie, though.\n"
+ .string "I’m not very good at thinking about\l"
+ .string "how I should line up my POKéMON.\p"
+ .string "So, how about deciding for me which\n"
+ .string "POKéMON should go first, master?$"
+
+ .string "Okay, so it’s my {STR_VAR_1} you chose?\n"
+ .string "I’ll let any but that one go first!\p"
+ .string "Just kidding!\n"
+ .string "I’ll obey your teaching, master!\p"
+ .string "Thanks, master!\n"
+ .string "I hope you’ll keep teaching me!$"
+
+ .string "A-H-O-Y!\n"
+ .string "And that spells ahoy!\p"
+ .string "The rappin’ SAILOR am I!\n"
+ .string "I present to you a question\l"
+ .string "that’s pretty fly!\p"
+ .string "It’s a team lineup question\n"
+ .string "that begs your suggestion!\p"
+ .string "Out of this lot, which should go first\n"
+ .string "as the first on the spot?$"
+
+ .string "Okay, I hear you, sure I do!\n"
+ .string "I’ll switch them up, that I’ll do!\p"
+ .string "If it’s advice I ever need,\n"
+ .string "{PLAYER}, your word I’ll always heed!$"
+
+ .string "Yahoo, {PLAYER}!\n"
+ .string "How do you do?\p"
+ .string "What should I do? Go ahead and ask?\n"
+ .string "Uh-huh, I have something to ask!\l"
+ .string "Are you receiving me?\l"
+ .string "You are receiving me!\p"
+ .string "You have to decide, which of my\n"
+ .string "POKéMON is the first to ride!\l"
+ .string "Into battle, I mean to say.$"
+
+ .string "My {STR_VAR_1}? Yes!\n"
+ .string "That’ll do, there’s no distress!\p"
+ .string "Well, {PLAYER}, I have to roam free,\n"
+ .string "but don’t you forget about me.\p"
+ .string "See you again, my smart friend!$"
+
+ .string "…Oof…ooch… {PLAYER}{STRING 5}…\n"
+ .string "My stomach’s hurting all of a sudden…\p"
+ .string "…It’s getting better now…\p"
+ .string "I must’ve worried myself sick racking\n"
+ .string "my brains on how I should line up\l"
+ .string "my posse of POKéMON.\p"
+ .string "So, things being this way,\n"
+ .string "I need you to decide for me.\p"
+ .string "{PLAYER}{STRING 5}, which of my POKéMON should\n"
+ .string "go first? So I’d win, I mean.$"
+
+ .string "Hm, all right.\n"
+ .string "My {STR_VAR_1} goes first.\p"
+ .string "I’ll fix the lineup like that after\n"
+ .string "I have my supper.\p"
+ .string "I hope I can keep hitting you up\n"
+ .string "for help like this.$"
+
+ .string "Er… Um…\n"
+ .string "{PLAYER}{STRING 5}?\p"
+ .string "Please, don’t look at me that way.\n"
+ .string "You’re making me feel all flustered.\p"
+ .string "Um…\n"
+ .string "I really need your advice.\p"
+ .string "It makes me bashful to say this,\n"
+ .string "but I chose my 3-POKéMON team.\l"
+ .string "I can’t decide on the order, though.\p"
+ .string "Which POKéMON should I send out first\n"
+ .string "so I at least look capable?$"
+
+ .string "Oh… Okay!\n"
+ .string "I’ll lead with my {STR_VAR_1}.\p"
+ .string "I hope I can do my best without\n"
+ .string "getting all flustered.\p"
+ .string "Thank you, {PLAYER}{STRING 5}.\n"
+ .string "If we meet again, I hope you will be\l"
+ .string "as helpful.$"
+
+ .string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
+ .string "But are you really?\l"
+ .string "Perhaps you’re a clever look-alike?\p"
+ .string "Oh, no, no, no, don’t worry!\n"
+ .string "If you really are {PLAYER}, please\l"
+ .string "forget about my rudeness.\p"
+ .string "What I would like is your fine advice.\p"
+ .string "I have here my POKéMON team.\n"
+ .string "I would like you to tell me which one\l"
+ .string "should go first in a battle.$"
+
+ .string "My {STR_VAR_1}…\n"
+ .string "You aren’t pulling my leg?\p"
+ .string "I see. If that’s the case, that’s fine.\n"
+ .string "I thank you for your time.\p"
+ .string "I am as you see, but I shall do\n"
+ .string "my best.\p"
+ .string "Let us meet again!$"
+
+ .string "Snivel…\n"
+ .string "Oh, {PLAYER}!\p"
+ .string "What perfect timing!\n"
+ .string "There’s something I just can’t decide…\p"
+ .string "I can’t decide which POKéMON I should\n"
+ .string "be using.\p"
+ .string "I can’t decide between the POKéMON\n"
+ .string "{STR_VAR_1} and {STR_VAR_2}…\p"
+ .string "{PLAYER}, which do you think will give\n"
+ .string "even me a chance at winning?$"
+
+ .string "Snivel… I… I understand!\n"
+ .string "Oh! I’m so sorry!\l"
+ .string "You’ve made me so happy, I’m crying…\p"
+ .string "I’ll do my best to catch one\n"
+ .string "{STR_VAR_1}!\p"
+ .string "Thank you so much!$"
+
+ .string "Yay! It’s {PLAYER}!\n"
+ .string "Yay, you came at the right time, too!\l"
+ .string "I need your advice again!\p"
+ .string "Um, I’m all mixed up--should I use\n"
+ .string "my {STR_VAR_1} or {STR_VAR_2}…\p"
+ .string "Which do you think I should raise,\n"
+ .string "{PLAYER}?$"
+
+ .string "Oh, so my {STR_VAR_1} is better!\n"
+ .string "Okay, I’ll do that!\p"
+ .string "Thanks for teaching me!$"
+
+ .string "{PLAYER}, hello!\n"
+ .string "I have a question I wanted to ask.\p"
+ .string "I’m in a dilemma over whether I should\n"
+ .string "raise one {STR_VAR_1} or {STR_VAR_2}.\p"
+ .string "Which POKéMON do you think will\n"
+ .string "be stronger?$"
+
+ .string "{STR_VAR_1} is your choice?\n"
+ .string "Okay, I got it!\p"
+ .string "I’ll go catch a strong {STR_VAR_1}\n"
+ .string "right away!\p"
+ .string "See you again!$"
+
+ .string "Hello, {PLAYER}…\p"
+ .string "Um, you’ve probably already forgotten\n"
+ .string "about someone like me…\p"
+ .string "…But that doesn’t matter if you\n"
+ .string "could give me advice…\p"
+ .string "I can’t decide on the one kind of\n"
+ .string "POKéMON I should raise…\p"
+ .string "I’ve narrowed the field to the POKéMON\n"
+ .string "{STR_VAR_1} and {STR_VAR_2}, but that’s\l"
+ .string "where I became stuck…\p"
+ .string "{PLAYER}, you probably don’t want to\n"
+ .string "bother, but please decide for me.$"
+
+ .string "But will a wild {STR_VAR_1} even pay\n"
+ .string "attention to me?\p"
+ .string "I will try!\p"
+ .string "But will I even be able to catch one…\n"
+ .string "No! I’ll do my best!\p"
+ .string "Thank you!$"
+
+ .string "Oh, {PLAYER}{STRING 5}! I’m so glad to see you!\n"
+ .string "I was about to go looking for you!\p"
+ .string "Can you decide what kind of POKéMON\n"
+ .string "I should use?\p"
+ .string "For instance…\n"
+ .string "How about the POKéMON {STR_VAR_1}\l"
+ .string "and {STR_VAR_2}?\p"
+ .string "Which one do you think would be\n"
+ .string "better?$"
+
+ .string "{STR_VAR_1}? That’s great!\p"
+ .string "Knowing that you made the decision,\n"
+ .string "{PLAYER}{STRING 5}, I won’t be so upset if\l"
+ .string "I lose.\p"
+ .string "Okay, I’ll look to you for advice again.\n"
+ .string "Bye!$"
+
+ .string "If it isn’t {PLAYER}{STRING 5}! How’s it going?\n"
+ .string "I’m busy again as always!\p"
+ .string "I want to do good with POKéMON, too,\n"
+ .string "but I haven’t been able to decide\l"
+ .string "which POKéMON I should use.\p"
+ .string "You know how {STR_VAR_1} look strong?\n"
+ .string "But {STR_VAR_2} are tough to ignore.\p"
+ .string "{PLAYER}{STRING 5}, give me some of your good\n"
+ .string "advice! Which one’d be good for me?$"
+
+ .string "Okay, gotcha.\n"
+ .string "I’ll find time somehow and catch me\l"
+ .string "that {STR_VAR_1} you recommended.\p"
+ .string "I’m glad I met a good mentor in you.\n"
+ .string "Thanks! See you around!$"
+
+ .string "Oh!\n"
+ .string "Yay, it’s {PLAYER}!\p"
+ .string "I didn’t waste any time boasting to\n"
+ .string "my friends about meeting you!\p"
+ .string "I need to tap your mind again today.\n"
+ .string "It’s an easy one for you!\p"
+ .string "Drum roll, please!\n"
+ .string "The question I have is…\p"
+ .string "If I were to raise a POKéMON,\n"
+ .string "and the choices were one {STR_VAR_1}\l"
+ .string "or {STR_VAR_2}, which should it be?$"
+
+ .string "Ahhh!\n"
+ .string "{STR_VAR_1}, you say!\l"
+ .string "Thanks for a most cool answer!\p"
+ .string "I guess that’s about all I wanted\n"
+ .string "to ask you today.\p"
+ .string "Let’s meet here again, okay?\n"
+ .string "Thanks!$"
+
+ .string "Oh, is it you, {PLAYER}?\n"
+ .string "I’m delighted to see you again!\p"
+ .string "Ever since I became your apprentice,\n"
+ .string "my confidence has been blooming.\p"
+ .string "I think I’m ready to raise a POKéMON\n"
+ .string "of my own!\p"
+ .string "{PLAYER}, may I impose on you to choose\n"
+ .string "which POKéMON I should raise?\p"
+ .string "The choices are the POKéMON\n"
+ .string "{STR_VAR_1} or {STR_VAR_2}…\l"
+ .string "Which POKéMON is right for me?$"
+
+ .string "One {STR_VAR_1} it is!\n"
+ .string "I will find one right away!\p"
+ .string "Thank you, {PLAYER}.\n"
+ .string "I hope I can count on you again.\l"
+ .string "Please take care!$"
+
+ .string "Eek! {PLAYER}! I met you again!\n"
+ .string "I… I’m overjoyed!\p"
+ .string "Oh-oh-oh, I know!\n"
+ .string "I shouldn’t pass up this opportunity!\p"
+ .string "May I ask a huge favor, {PLAYER}?\n"
+ .string "Please choose a POKéMON for me!\p"
+ .string "Please decide which would be better,\n"
+ .string "{STR_VAR_1} or {STR_VAR_2}!$"
+
+ .string "Wow! You decided for me!\n"
+ .string "One {STR_VAR_1} is what I’ll raise to\l"
+ .string "the best of my ability.\p"
+ .string "I hope you’ll be willing to teach me\n"
+ .string "some more another time.$"
+
+ .string "Hey, hey!\n"
+ .string "My mentor, {PLAYER}{STRING 5}!\p"
+ .string "Hello, I’ve been looking for you\n"
+ .string "for some more of your sage advice!\p"
+ .string "Which kind of POKéMON would be right\n"
+ .string "for me, one {STR_VAR_1} or {STR_VAR_2}?\p"
+ .string "Don’t be shy now.\n"
+ .string "Let’s blurt it out!$"
+
+ .string "Uh-huh, one {STR_VAR_1} it is!\n"
+ .string "OK, A-OK!\l"
+ .string "I’ll get one in a BALL, like, cram!\p"
+ .string "All right, thanks, as always!\n"
+ .string "Adios!$"
+
+ .string "{PLAYER}{STRING 5}, listen! Big news!\n"
+ .string "I caught a mirage POKéMON!\p"
+ .string "Of course I’m lying!\n"
+ .string "Wahahaha!\p"
+ .string "This is no lie, though.\n"
+ .string "I’m not very good at catching\l"
+ .string "POKéMON.\p"
+ .string "So, how about deciding for me which\n"
+ .string "kind of POKéMON I should catch,\l"
+ .string "master?\p"
+ .string "Which would be better?\n"
+ .string "{STR_VAR_1} or {STR_VAR_2}?$"
+
+ .string "Okay, so it’s {STR_VAR_1} you chose?\n"
+ .string "I’ll grab the other kind, then!\p"
+ .string "Just kidding!\n"
+ .string "I’ll obey your teaching, master!\p"
+ .string "Thanks, master!\n"
+ .string "I hope you’ll keep teaching me!$"
+
+ .string "A-H-O-Y!\n"
+ .string "And that spells ahoy!\p"
+ .string "The rappin’ SAILOR am I!\n"
+ .string "Surely you remember who am I?\p"
+ .string "Today, I have a POKéMON question\n"
+ .string "that begs your suggestion!\p"
+ .string "I have the choice between this\n"
+ .string "{STR_VAR_1} and {STR_VAR_2}, you see.\l"
+ .string "Which is the one to catch for me?$"
+
+ .string "{STR_VAR_1}, you say, hey, hey!\n"
+ .string "I’ll go get me one right away!\p"
+ .string "If it’s advice I ever need,\n"
+ .string "{PLAYER}, your word I’ll always heed!$"
+
+ .string "Oh, wow, if it isn’t {PLAYER}!\p"
+ .string "What should I do? Get your advice?\n"
+ .string "Why not? I’m already talking to you!\p"
+ .string "It’s been a long time. Let me break\n"
+ .string "the ice. I’m also looking for advice!\l"
+ .string "Are you receiving me?\l"
+ .string "You are receiving me!\p"
+ .string "My POKéMON--which should I use?\n"
+ .string "It’s either {STR_VAR_1} or {STR_VAR_2}.\l"
+ .string "Which do you choose?$"
+
+ .string "If that {STR_VAR_1} is the best,\n"
+ .string "I’ll do as you suggest!\p"
+ .string "Well, {PLAYER}, I have to roam free,\n"
+ .string "but don’t you forget about me.\p"
+ .string "See you again, my smart friend!$"
+
+ .string "Oh, hi, {PLAYER}{STRING 5}…\n"
+ .string "I have this horrible headache…\p"
+ .string "I must’ve worried too much about\n"
+ .string "the kind of POKéMON I should raise.\p"
+ .string "So, things being this way,\n"
+ .string "I need you to decide for me.\p"
+ .string "{PLAYER}{STRING 5}, if I had to choose between\n"
+ .string "the POKéMON {STR_VAR_1} and\l"
+ .string "{STR_VAR_2}, which should it be?$"
+
+ .string "Hm, one {STR_VAR_1}, all right.\n"
+ .string "I’ll go look for one when I get better.\p"
+ .string "I hope I can keep hitting you up\n"
+ .string "for help like this.$"
+
+ .string "Er… Um…\n"
+ .string "{PLAYER}{STRING 5}…?\p"
+ .string "Please, don’t look at me that way.\n"
+ .string "I’m getting all flustered…\l"
+ .string "I… I need your advice.\p"
+ .string "I… I’m really embarrassed, but I can’t\n"
+ .string "decide which POKéMON to use.\p"
+ .string "If the choices were {STR_VAR_1} or\n"
+ .string "{STR_VAR_2}, which would be better?$"
+
+ .string "Oh… Okay!\n"
+ .string "I’ll do my best with one {STR_VAR_1}.\p"
+ .string "I hope I can do my best without\n"
+ .string "getting all flustered.\p"
+ .string "Thank you, {PLAYER}{STRING 5}.\n"
+ .string "If we meet again, I hope you will be\l"
+ .string "as helpful.$"
+
+ .string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
+ .string "But are you really real?\p"
+ .string "No, no, if you are real, it’s fine.\n"
+ .string "Incidentally, I would like to obtain\l"
+ .string "your advice.\p"
+ .string "It’s about the POKéMON I am to use.\p"
+ .string "If the choices are the POKéMON\n"
+ .string "{STR_VAR_1} and {STR_VAR_2}, which is\l"
+ .string "more worthy of me?$"
+
+ .string "{STR_VAR_1}?\n"
+ .string "Are you certain?\p"
+ .string "I see. If that’s the case, that’s fine.\n"
+ .string "I thank you for your time.\p"
+ .string "I do hope it is something even I can\n"
+ .string "handle with aplomb.\p"
+ .string "Let us meet again!$"
+
+ .string "Waaah! Oh, {PLAYER}!\n"
+ .string "Snivel… Hiccup…\p"
+ .string "I have a dilemma!\n"
+ .string "I can’t decide on a move for\l"
+ .string "my {STR_VAR_1}…\p"
+ .string "Please, please, {PLAYER}.\n"
+ .string "Can you decide for me?\p"
+ .string "For my {STR_VAR_1}, which move would\n"
+ .string "be the better choice: {STR_VAR_2}\l"
+ .string "or {STR_VAR_3}?$"
+
+ .string "{STR_VAR_1}?\n"
+ .string "Waaaaah!\p"
+ .string "Oh! I’m so sorry, {PLAYER}!\n"
+ .string "You’ve made me so happy by deciding\l"
+ .string "the move, I’m crying…\p"
+ .string "Snivel…\n"
+ .string "Thank you so much!$"
+
+ .string "Yay! Hi, {PLAYER}!\n"
+ .string "I need your advice again!\p"
+ .string "I want to teach my {STR_VAR_1}\n"
+ .string "a cool move.\p"
+ .string "I like either of the moves\n"
+ .string "{STR_VAR_2} or {STR_VAR_3}.\l"
+ .string "What’s your recommendation?$"
+
+ .string "{STR_VAR_1} is better? I guess so!\n"
+ .string "Okay, I’ll go with that!\p"
+ .string "If we meet here again, please teach\n"
+ .string "me something else, teacher!$"
+
+ .string "{PLAYER}, hello!\n"
+ .string "It’s about my {STR_VAR_1}, but I’m\l"
+ .string "worried about its moves.\p"
+ .string "You see, it’s the moves {STR_VAR_2}\n"
+ .string "and {STR_VAR_3}.\p"
+ .string "Which is stronger and better for\n"
+ .string "my {STR_VAR_1}?$"
+
+ .string "{STR_VAR_1} is your choice?\n"
+ .string "Okay, I got it!\p"
+ .string "I’ll go teach {STR_VAR_1} to\n"
+ .string "my POKéMON right away!\p"
+ .string "See you again!$"
+
+ .string "Ohhh, {PLAYER}…\n"
+ .string "I’m hopeless, no, really!\p"
+ .string "I’ve decided to raise a POKéMON,\n"
+ .string "but now I can’t even decide what\l"
+ .string "move I should let it learn…\p"
+ .string "I know that it doesn’t mean anything\n"
+ .string "to you, {PLAYER}.\p"
+ .string "But it means a lot to me…\p"
+ .string "Please, {PLAYER}, could you choose\n"
+ .string "a move for my {STR_VAR_1}?\p"
+ .string "If you could even choose between\n"
+ .string "{STR_VAR_2} and {STR_VAR_3}…$"
+
+ .string "I understand!\p"
+ .string "But will it even be willing to learn\n"
+ .string "{STR_VAR_1} for me…\l"
+ .string "No! I’ll do my best!\p"
+ .string "Thank you!$"
+
+ .string "Oh, {PLAYER}{STRING 5}!\n"
+ .string "I was just hoping to see you, too!\p"
+ .string "I was wondering what move would\n"
+ .string "be suitable for my {STR_VAR_1}.\p"
+ .string "I can’t decide, so can you decide\n"
+ .string "for me instead?\p"
+ .string "For instance… How about the moves\n"
+ .string "{STR_VAR_2} and {STR_VAR_3}?\l"
+ .string "Which one would be better?$"
+
+ .string "{STR_VAR_1}? That’s great!\p"
+ .string "Knowing that you made the decision,\n"
+ .string "{PLAYER}{STRING 5}, I won’t be so upset if\l"
+ .string "I lose.\p"
+ .string "Okay, I’ll look to you for advice again.\n"
+ .string "Bye!$"
+
+ .string "How could things be this busy?\n"
+ .string "Hey, if it isn’t {PLAYER}{STRING 5}!\l"
+ .string "How’s it going?\p"
+ .string "Since I got up this morning, I’ve done\n"
+ .string "my jogging, swimming, and cooking!\p"
+ .string "You wouldn’t believe how busy I am!\p"
+ .string "I can’t even decide what move\n"
+ .string "my {STR_VAR_1} should learn!\p"
+ .string "{STR_VAR_2} looks good, huh?\n"
+ .string "But {STR_VAR_3}’s also decent.\p"
+ .string "{PLAYER}{STRING 5}, give me some of your good\n"
+ .string "advice! Which move’d be good for me?$"
+
+ .string "Okay, gotcha.\n"
+ .string "I’ll make room in my schedule and\l"
+ .string "teach that move.\p"
+ .string "I’m glad I met a good mentor in you.\n"
+ .string "Thanks! See you around!$"
+
+ .string "Oh! Lucky!\n"
+ .string "I met you again, {PLAYER}!\l"
+ .string "I need to tap your mind again today.\p"
+ .string "Drum roll, please!\n"
+ .string "The question I have is…\p"
+ .string "For my {STR_VAR_1}, which is the move\n"
+ .string "best suited, {STR_VAR_2} or\l"
+ .string "{STR_VAR_3}?$"
+
+ .string "Ahhh!\n"
+ .string "{STR_VAR_1}, you say!\l"
+ .string "Thanks for a most cool answer!\p"
+ .string "I guess that’s about all I wanted\n"
+ .string "to ask you today.\p"
+ .string "Let’s meet here again, okay?\n"
+ .string "Thanks!$"
+
+ .string "Oh, hello, {PLAYER}.\n"
+ .string "I trust you’ve been well?\p"
+ .string "I have to seek your advice again.\n"
+ .string "It’s about my dearest {STR_VAR_1}.\p"
+ .string "What would be the ideal move for\n"
+ .string "my lovable {STR_VAR_1}?\l"
+ .string "{STR_VAR_2} or {STR_VAR_3}?$"
+
+ .string "{STR_VAR_1} it is!\n"
+ .string "I will teach that right away!\p"
+ .string "Thank you, {PLAYER}.\n"
+ .string "I hope I can count on you again.\l"
+ .string "Please take care!$"
+
+ .string "Eek! {PLAYER}! I met you again!\n"
+ .string "I… I’m overjoyed!\p"
+ .string "Whenever I’m in need, you’re always\n"
+ .string "there for me, {PLAYER}!\p"
+ .string "Today, I want you to recommend\n"
+ .string "a move for me!\p"
+ .string "Please choose a move for\n"
+ .string "my {STR_VAR_1}!\p"
+ .string "Which move would be better,\n"
+ .string "{STR_VAR_2} or {STR_VAR_3}?$"
+
+ .string "Oh-oh-oh! Thank you!\n"
+ .string "{STR_VAR_1} is it!\l"
+ .string "Perfectly understood!\p"
+ .string "I hope you’ll be willing to teach me\n"
+ .string "some more another time.$"
+
+ .string "Hola, {PLAYER}{STRING 5}, bueno!\n"
+ .string "I’m hoping for some more of\l"
+ .string "your sage advice today!\p"
+ .string "What would be the best move for\n"
+ .string "my {STR_VAR_1}?\p"
+ .string "It should be something that’ll\n"
+ .string "let me win just like that!\p"
+ .string "Would it be {STR_VAR_2}?\n"
+ .string "Or {STR_VAR_3}?$"
+
+ .string "Uh-huh, {STR_VAR_1} it is!\n"
+ .string "Si, bueno!\l"
+ .string "I’ll get it taught, like, ka-blam!\p"
+ .string "All right, thanks, as always!\n"
+ .string "Adios!$"
+
+ .string "{PLAYER}{STRING 5}, it’s completely wild!\p"
+ .string "My POKéMON!\n"
+ .string "It learned six moves!\p"
+ .string "Of course I’m lying!\n"
+ .string "Wahahaha!\p"
+ .string "This is no lie, though.\n"
+ .string "I’m not very good at choosing moves\l"
+ .string "for my POKéMON.\p"
+ .string "So, how about deciding for me which\n"
+ .string "kind of move I should teach?\p"
+ .string "{STR_VAR_2} or {STR_VAR_3}--which\n"
+ .string "would go with my {STR_VAR_1} best?$"
+
+ .string "Okay, so it’s {STR_VAR_1} you chose?\n"
+ .string "I’ll choose another move, then!\p"
+ .string "Just kidding!\n"
+ .string "I’ll obey your teaching, master!\p"
+ .string "Thanks, master!\n"
+ .string "I hope you’ll keep teaching me!$"
+
+ .string "A-H-O-Y!\n"
+ .string "And that spells ahoy!\p"
+ .string "The rappin’ SAILOR am I!\n"
+ .string "I’m always with it, don’t ask me why.\p"
+ .string "Today, I have a move question\n"
+ .string "that begs your suggestion!\p"
+ .string "{STR_VAR_2} and {STR_VAR_3} are\n"
+ .string "the moves. What would be the best\l"
+ .string "for my {STR_VAR_1} so it grooves?$"
+
+ .string "{STR_VAR_1}, you say, hey, hey!\n"
+ .string "I’ll go teach that right away!\p"
+ .string "If it’s advice I ever need,\n"
+ .string "{PLAYER}, your word I’ll always heed!$"
+
+ .string "Oh, yeahah, if it isn’t {PLAYER}!\p"
+ .string "What should I do? Get your advice?\n"
+ .string "Why not? I’m already talking to you!\p"
+ .string "{PLAYER}, are you surprised by me?\n"
+ .string "I want your advice, can’t you see?\p"
+ .string "Are you receiving me?\n"
+ .string "You are receiving me!\p"
+ .string "My {STR_VAR_1}--what should it use?\n"
+ .string "It’s {STR_VAR_2} or {STR_VAR_3},\l"
+ .string "what do you choose?$"
+
+ .string "If that {STR_VAR_1} is the best,\n"
+ .string "I’ll do as you suggest!\p"
+ .string "Well, {PLAYER}, I have to roam free,\n"
+ .string "but don’t you forget about me.\p"
+ .string "See you again, my smart friend!$"
+
+ .string "Gahack! Gaah! Oh, {PLAYER}{STRING 5}…\n"
+ .string "I have this lousy cold, I do…\p"
+ .string "I want to pick a move for my POKéMON,\n"
+ .string "but I’m not up to it…\p"
+ .string "So, things being this way,\n"
+ .string "I need you to decide for me.\p"
+ .string "{PLAYER}{STRING 5}, if I had to choose between\n"
+ .string "{STR_VAR_2} and {STR_VAR_3} for\l"
+ .string "my {STR_VAR_1}, which would it be?$"
+
+ .string "Hm, {STR_VAR_1}, all right. Cough!\n"
+ .string "I’ll go teach it when I get better.\p"
+ .string "I hope I can keep hitting you up\n"
+ .string "for help like this.$"
+
+ .string "Er… Um…\n"
+ .string "{PLAYER}{STRING 5}…?\p"
+ .string "Please, don’t look at me that way.\n"
+ .string "I’m getting all flustered…\l"
+ .string "I… I need your advice.\p"
+ .string "I… I’m really embarrassed, but I can’t\n"
+ .string "decide what move I should teach\l"
+ .string "my POKéMON.\p"
+ .string "It’s for my {STR_VAR_1}.\n"
+ .string "If the choices were {STR_VAR_2} or\l"
+ .string "{STR_VAR_3}, which would be better?$"
+
+ .string "Oh… Okay!\n"
+ .string "I’ll try that {STR_VAR_1}.\p"
+ .string "I hope I can teach that move…\n"
+ .string "This is so nerve-racking…\p"
+ .string "Thank you, {PLAYER}{STRING 5}.\n"
+ .string "If we meet again, I hope you will be\l"
+ .string "as helpful.$"
+
+ .string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
+ .string "But are you really real?\p"
+ .string "Perhaps you’re one of those popular\n"
+ .string "mimics?\p"
+ .string "No, no, if you are real, it’s fine.\n"
+ .string "No need to be upset, I assure you!\p"
+ .string "Incidentally, I would like to obtain\n"
+ .string "your advice.\p"
+ .string "It’s about my {STR_VAR_1}.\p"
+ .string "Which move would be better for it to\n"
+ .string "use, {STR_VAR_2} or {STR_VAR_3}?$"
+
+ .string "{STR_VAR_1}?\n"
+ .string "There’s no question about that?\p"
+ .string "I see. If that’s the case, that’s fine.\n"
+ .string "I thank you for your time.\p"
+ .string "I do hope it is something even\n"
+ .string "my POKéMON can learn.\p"
+ .string "Let us meet again!$"
+
+ .string "Oh… {PLAYER}?\n"
+ .string "It is {PLAYER}!\l"
+ .string "Oh! Sniff…sob… Please, listen!\p"
+ .string "I… When I battle, I get so nervous,\n"
+ .string "I can’t help crying even if I win…\p"
+ .string "I wish I could say something cool\n"
+ .string "when I win…\p"
+ .string "Please, please, {PLAYER}!\n"
+ .string "Could you maybe teach me something\l"
+ .string "cool to say when I win so I don’t cry?$"
+
+ .string "{STR_VAR_1}\p"
+ .string "Awesome! Wicked! Awoooh!\n"
+ .string "It’s really cool!\p"
+ .string "Oh… I’m sorry…\n"
+ .string "I’m so happy, I’m crying…\p"
+ .string "Snivel… {PLAYER}!\n"
+ .string "Thank you so much for everything!\p"
+ .string "I will battle the best I can for\n"
+ .string "your sake, {PLAYER}!\p"
+ .string "{PLAYER}…\n"
+ .string "Next time… We should battle!$"
+
+ .string "Yay! It’s {PLAYER}! Hello!\n"
+ .string "I wanted to ask you something!\p"
+ .string "I want to say something cool when\n"
+ .string "I win a match.\p"
+ .string "Do you have a cool saying that\n"
+ .string "you could recommend?$"
+
+ .string "{STR_VAR_1}\p"
+ .string "Oh, wow! That is so cool!\n"
+ .string "Okay, I’ll say that!\p"
+ .string "Thanks for teaching me all this time!\n"
+ .string "I’m going to do the best I can\l"
+ .string "wherever I go from now on!\p"
+ .string "When we meet again, it’ll be for\n"
+ .string "a battle!$"
+
+ .string "{PLAYER}, hello!\p"
+ .string "My POKéMON and I are ready for\n"
+ .string "anything, except for one thing.\p"
+ .string "I think it would be good if I had\n"
+ .string "something to shout when I win.\p"
+ .string "Could you think up something good\n"
+ .string "to say?$"
+
+ .string "{STR_VAR_1}\p"
+ .string "…Cool!\n"
+ .string "I will use that!\p"
+ .string "I’m going out to battle all over\n"
+ .string "the place.\p"
+ .string "Who knows, I may even get to battle\n"
+ .string "you one day, {PLAYER}.\p"
+ .string "Next time, let’s meet at a place\n"
+ .string "of battle!$"
+
+ .string "Hello, {PLAYER}…\n"
+ .string "I’m sorry to bug you, but I’m hopeless…\p"
+ .string "Even when…\n"
+ .string "Even when I win, I don’t have anything\l"
+ .string "special to say…\p"
+ .string "I know that it doesn’t mean anything\n"
+ .string "to you, {PLAYER}.\p"
+ .string "But it means a lot to me…\p"
+ .string "Please, {PLAYER}, what should I say\n"
+ .string "if I win a battle?$"
+
+ .string "{STR_VAR_1}\p"
+ .string "That’s inspired…\p"
+ .string "Uh… Is it okay for someone like me\n"
+ .string "to even say that?\p"
+ .string "No! I’ll do my best!\p"
+ .string "{PLAYER}, thank you so much for\n"
+ .string "putting up with me for so long…\p"
+ .string "I promise to do my best from now on.\p"
+ .string "I’m sure you’ll quickly forget about\n"
+ .string "someone like me, but let’s meet\l"
+ .string "somewhere again!$"
+
+ .string "Oh, {PLAYER}{STRING 5}.\n"
+ .string "There’s something I want you to hear.\p"
+ .string "I know that I don’t always sound\n"
+ .string "nice or polite…\p"
+ .string "When I win a battle, I think I come\n"
+ .string "across as being arrogant.\p"
+ .string "I don’t want people to dislike me,\n"
+ .string "so I want to say something nice to\l"
+ .string "someone I beat.\p"
+ .string "But I can’t think of anything good!\n"
+ .string "Could you think something up for me?$"
+
+ .string "{STR_VAR_1}\p"
+ .string "Not bad!\n"
+ .string "Yup, that’s what I’ll go with!\p"
+ .string "I’m going to hit the road and do what\n"
+ .string "I can with what you taught me in\l"
+ .string "my head and heart.\p"
+ .string "I’m sorry that I’ve been so pushy\n"
+ .string "with you!\p"
+ .string "Next time, we battle, okay?\n"
+ .string "See you!$"
+
+ .string "Oh, I can’t get over how busy I am!\n"
+ .string "Oh, hey, I was looking for you, {PLAYER}{STRING 5}.\p"
+ .string "Are you well as usual?\n"
+ .string "Things haven’t changed for me at all.\p"
+ .string "I’ve got running, fighting, and mapping\n"
+ .string "to do. Why am I so busy?\p"
+ .string "But even though I’m busy, it’d be rude\n"
+ .string "to just turn on my heels and walk away\l"
+ .string "from a win without saying a word.\p"
+ .string "So, what would be a cool saying to\n"
+ .string "underline my coolness when I’m done\l"
+ .string "and walking away? {PLAYER}{STRING 5}, help me!$"
+
+ .string "{STR_VAR_1}\p"
+ .string "Okay, gotcha.\n"
+ .string "I can find time to say that!\p"
+ .string "Honestly, I’m glad I met a good mentor\n"
+ .string "like you.\p"
+ .string "I’m going to make time somehow so\n"
+ .string "I can get into battling.\p"
+ .string "Thanks for everything, {PLAYER}{STRING 5}!\n"
+ .string "We have to battle, you and me, one day!$"
+
+ .string "I lucked out again!\n"
+ .string "{PLAYER}! Am I glad to see you!\l"
+ .string "Like usual, I need your advice!\p"
+ .string "Drum roll, please!\n"
+ .string "The last question I have is…\p"
+ .string "If I win a battle and want to end\n"
+ .string "it with a cool flourish, what\l"
+ .string "should I say?$"
+
+ .string "{STR_VAR_1}\p"
+ .string "That… That’s fabulous!\n"
+ .string "It’s dignified and cool! I claim it!\p"
+ .string "…Listen, I think I’m getting decent\n"
+ .string "at this, huh?\p"
+ .string "So, I’m thinking of challenging other\n"
+ .string "TRAINERS from now on.\p"
+ .string "{PLAYER}, your advice really helped me.\p"
+ .string "Maybe one day, there’ll be a time when\n"
+ .string "we battle!\p"
+ .string "Thank you for everything!$"
+
+ .string "Oh, {PLAYER}.\n"
+ .string "I’m so glad I met you!\p"
+ .string "I no longer have any concerns with\n"
+ .string "regard to my POKéMON.\p"
+ .string "It’s myself that worries me…\p"
+ .string "Do you know how a TRAINER says\n"
+ .string "a few things upon winning a battle?\p"
+ .string "Definitely, I wish I could do that,\n"
+ .string "too!\p"
+ .string "Please, what should I say when\n"
+ .string "I win a battle?$"
+
+ .string "{STR_VAR_1}\p"
+ .string "Ah! That saying! It refreshes me\n"
+ .string "and makes me feel reborn!\p"
+ .string "I must use that right away!\p"
+ .string "And now, I must take my leave,\n"
+ .string "{PLAYER}…\p"
+ .string "I will go out to battle many others,\n"
+ .string "but never will I forget your teachings.\p"
+ .string "Perhaps one day…\n"
+ .string "Farewell!$"
+
+ .string "Eek! I spotted {PLAYER}!\n"
+ .string "I… I’m overjoyed to see you!\p"
+ .string "Oh-oh-oh! There’s something I just\n"
+ .string "had to ask you!\p"
+ .string "A little while ago, I won a battle.\n"
+ .string "That part was giddying!\p"
+ .string "But it made me so overjoyed that\n"
+ .string "I choked up and couldn’t say a thing!\p"
+ .string "So now, {PLAYER}, please, I want you to\n"
+ .string "think up an exit line for when I win!$"
+
+ .string "{STR_VAR_1}\p"
+ .string "Waaaaah!\n"
+ .string "I’m going to say that?!\l"
+ .string "I… I’m delirious with joy!\p"
+ .string "Th-th-thank you!\n"
+ .string "I have nothing left to regret now!\p"
+ .string "I’m going to travel now and battle\n"
+ .string "all sorts of people.\p"
+ .string "Everything, I owe it to you, {PLAYER}.\n"
+ .string "Really, really, thank you!\p"
+ .string "I’ve got to go now, but let’s meet\n"
+ .string "in battle one day!$"
+
+ .string "Hola, bueno!\n"
+ .string "{PLAYER}{STRING 5}!\p"
+ .string "You know, I’m getting the itch to roam\n"
+ .string "and battle where I may.\p"
+ .string "But before I do, I want your advice\n"
+ .string "once again, please!\p"
+ .string "If I were to win a battle, what would\n"
+ .string "be a good boast I could say to my\l"
+ .string "fallen TRAINER opponent?$"
+
+ .string "{STR_VAR_1}\p"
+ .string "Uh-huh, that’s sweet!\n"
+ .string "Si, bueno!\l"
+ .string "I’ll try saying that, like, ham!\p"
+ .string "And now, it’s time to say good-bye!\n"
+ .string "Thanks for all sorts of things!\p"
+ .string "Give me a battle one day, OK?\n"
+ .string "Adios!$"
+
+ .string "{PLAYER}{STRING 5}, there’s big trouble!\p"
+ .string "When I win a battle, I brag about it\n"
+ .string "for an hour at least!\p"
+ .string "Of course I’m lying!\n"
+ .string "Wahahaha!\p"
+ .string "This is no lie, though.\n"
+ .string "I’m not very good at chatting.\p"
+ .string "So, how about deciding for me what\n"
+ .string "I should say after winning a battle,\l"
+ .string "master?$"
+
+ .string "{STR_VAR_1}\p"
+ .string "That’s what I should say, huh?\n"
+ .string "Then, I’ll stay away from that!\p"
+ .string "Just kidding!\n"
+ .string "I’ll obey your teaching, master!\p"
+ .string "Thanks for teaching me all this time,\n"
+ .string "master!\p"
+ .string "I’m finally understanding what being\n"
+ .string "a TRAINER is about.\p"
+ .string "I’m going to go out and win battles\n"
+ .string "against any TRAINER.\p"
+ .string "Maybe it’ll be you one day, master!\p"
+ .string "That’s all!\n"
+ .string "Farewell, my master!$"
+
+ .string "A-H-O-Y!\n"
+ .string "And that spells ahoy!\p"
+ .string "The rappin’ SAILOR am I!\n"
+ .string "This will be my last question,\l"
+ .string "don’t you cry!\p"
+ .string "It’s a saying question\n"
+ .string "that begs your suggestion!\p"
+ .string "If I win a match, what can I say\n"
+ .string "in a real cool way?$"
+
+ .string "{STR_VAR_1}\p"
+ .string "Perfect! That’s what I’ll use.\n"
+ .string "I was right to make you choose!\p"
+ .string "And now, I think it’d be best,\n"
+ .string "if I were to fly the nest!\p"
+ .string "Thanks for all you taught me.\n"
+ .string "I’ll be off on a battle spree!\p"
+ .string "B-O-N-V-O-Y-A-G-E!\n"
+ .string "And that spells bon voyage,\l"
+ .string "to you this is my homage!$"
+
+ .string "Oh, yeah, {PLAYER}!\n"
+ .string "I found you again today!\p"
+ .string "What should I do? Ask you again?\n"
+ .string "Why not? I’m already asking you!\p"
+ .string "Anyways, {PLAYER}…\n"
+ .string "Are you receiving me?\l"
+ .string "You are receiving me!\l"
+ .string "I need some more advice for me!\p"
+ .string "It’s about what I should yell.\n"
+ .string "Something cool to holler when\l"
+ .string "a battle ends well.\p"
+ .string "Come on, I wanna hear you say it!$"
+
+ .string "{STR_VAR_1}\p"
+ .string "All right, all right!\n"
+ .string "I’ll use that because it’s so tight!\p"
+ .string "I’m out of things to ask you.\n"
+ .string "Waving bye is all that’s left to do.\p"
+ .string "But maybe one day we’ll meet, with one\n"
+ .string "destined to go down in defeat.\p"
+ .string "But, it really is time to say farewell.\p"
+ .string "Well, {PLAYER}, I have to roam free,\n"
+ .string "but don’t you forget about me!\p"
+ .string "Take care, {PLAYER}!\n"
+ .string "Love ya!$"
+
+ .string "{PLAYER}{STRING 5}, I’m finished…\n"
+ .string "My nose won’t stop dripping…\p"
+ .string "I was trying to think up something\n"
+ .string "cool to say when I win a battle.\p"
+ .string "It inspired me so much, it made me cry,\n"
+ .string "and now my nose won’t stop running…\p"
+ .string "So, things being this way,\n"
+ .string "I need you to decide for me, {PLAYER}{STRING 5}.\p"
+ .string "When I win a battle,\n"
+ .string "what should I say?$"
+
+ .string "{STR_VAR_1}\p"
+ .string "… … …That’s good.\n"
+ .string "No, it’s awe inspiring!\l"
+ .string "It’s bringing fresh tears to my eyes!\p"
+ .string "But in spite of my tears and runny\n"
+ .string "nose, I will use that saying!\p"
+ .string "I’m plumb out of things to ask you,\n"
+ .string "{PLAYER}{STRING 5}.\p"
+ .string "From now on, we’re rivals!\n"
+ .string "Thanks for everything!$"
+
+ .string "Er… Um…\n"
+ .string "{PLAYER}{STRING 5}…\p"
+ .string "Please, don’t look at me that way.\n"
+ .string "You’re making me all nervous.\p"
+ .string "I… I need your advice again.\n"
+ .string "I’ll make it my last, though…\p"
+ .string "It’s really embarrassing to ask,\n"
+ .string "but what if I win a battle?\l"
+ .string "What should I say?$"
+
+ .string "{STR_VAR_1}\p"
+ .string "Oh… Okay!\n"
+ .string "I’ll try to say that!\l"
+ .string "I might be too nervous to say it…\p"
+ .string "Thank you, {PLAYER}{STRING 5}.\n"
+ .string "I have to say good-bye now.\p"
+ .string "I’ll obey all that you’ve taught me,\n"
+ .string "{PLAYER}{STRING 5}, and do the best I can.$"
+
+ .string "Hm? You appear to be {PLAYER}{STRING 5}…\n"
+ .string "But are you really?\l"
+ .string "Perhaps a clever {PLAYER} DOLL?\p"
+ .string "Oh, no, no, no, don’t worry!\n"
+ .string "If you really are real, please\l"
+ .string "forget about my rudeness.\p"
+ .string "No need to be so angry. All I wish for\n"
+ .string "is more of your fine advice.\p"
+ .string "It concerns a saying.\p"
+ .string "More precisely, what should I say\n"
+ .string "if I win a battle?$"
-gUnknown_082A4B6F:: @ 82A4B6F
- .incbin "baserom.gba", 0x2a4b6f, 0x1b
+ .string "{STR_VAR_1}\p"
+ .string "… … … … … …\n"
+ .string "When I win a match…\p"
+ .string "{STR_VAR_1}\p"
+ .string "…Are you serious?\p"
+ .string "I see. If you are serious, that’s fine.\n"
+ .string "I thank you for your time.\p"
+ .string "I do hope even I will be able to\n"
+ .string "put that saying to good use.\p"
+ .string "I seem to have run dry on what advice\n"
+ .string "I need.\p"
+ .string "I do believe it’s high time I bid you\n"
+ .string "farewell and strike out on my own.\p"
+ .string "Thank you, my mentor!\n"
+ .string "I apologize for my skepticism!$"
-gUnknown_082A4B8A:: @ 82A4B8A
- .incbin "baserom.gba", 0x2a4b8a, 0x11
+ .string "The best candidate to be a champ!$"
-gUnknown_082A4B9B:: @ 82A4B9B
- .incbin "baserom.gba", 0x2a4b9b, 0x11
+ .string "A sure-finalist team.$"
-gUnknown_082A4BAC:: @ 82A4BAC
- .incbin "baserom.gba", 0x2a4bac, 0xf66
+ .string "A likely top-three finisher.$"
-gUnknown_082A5B12:: @ 82A5B12
- .incbin "baserom.gba", 0x2a5b12, 0x3c
+ .string "A candidate to finish first.$"
-gUnknown_082A5B4E:: @ 82A5B4E
- .incbin "baserom.gba", 0x2a5b4e, 0x1d
+ .string "A team with top-class potential.$"
-gUnknown_082A5B6B:: @ 82A5B6B
- .incbin "baserom.gba", 0x2a5b6b, 0x1e
+ .string "The dark horse team this tournament.$"
-gUnknown_082A5B89:: @ 82A5B89
- .incbin "baserom.gba", 0x2a5b89, 0x42
+ .string "A better-than-average team.$"
-gUnknown_082A5BCB:: @ 82A5BCB
- .incbin "baserom.gba", 0x2a5bcb, 0xc
+ .string "This tournament’s average team.$"
-gUnknown_082A5BD7:: @ 82A5BD7
- .incbin "baserom.gba", 0x2a5bd7, 0x9
+ .string "A team with average potential.$"
-gUnknown_082A5BE0:: @ 82A5BE0
- .incbin "baserom.gba", 0x2a5be0, 0xf
+ .string "A weaker-than-average team.$"
-gUnknown_082A5BEF:: @ 82A5BEF
- .incbin "baserom.gba", 0x2a5bef, 0x15
+ .string "A team looking for its first win.$"
-gUnknown_082A5C04:: @ 82A5C04
- .incbin "baserom.gba", 0x2a5c04, 0xf
+ .string "One win will make this team proud.$"
-gUnknown_082A5C13:: @ 82A5C13
- .incbin "baserom.gba", 0x2a5c13, 0xe
+ .string "Overall, a weak team.$"
-gUnknown_082A5C21:: @ 82A5C21
- .incbin "baserom.gba", 0x2a5c21, 0x40
+ .string "A team with very low potential.$"
-gUnknown_082A5C61:: @ 82A5C61
- .incbin "baserom.gba", 0x2a5c61, 0x3b
+ .string "A team unlikely to win the tournament.$"
-gUnknown_082A5C9C:: @ 82A5C9C
- .incbin "baserom.gba", 0x2a5c9c, 0x90
+ .string "The team most unlikely to win.$"
-gUnknown_082A5D2C:: @ 82A5D2C
- .incbin "baserom.gba", 0x2a5d2c, 0x40
+ .string "The perfect, invincible superstar!$"
-gUnknown_082A5D6C:: @ 82A5D6C
- .incbin "baserom.gba", 0x2a5d6c, 0x3f
+ .string "Willing to risk total disaster at times.$"
-gUnknown_082A5DAB:: @ 82A5DAB
- .incbin "baserom.gba", 0x2a5dab, 0x46
+ .string "Skilled at enduring long battles.$"
-gUnknown_082A5DF1:: @ 82A5DF1
- .incbin "baserom.gba", 0x2a5df1, 0x43
+ .string "Varies tactics to suit the opponent.$"
-gUnknown_082A5E34:: @ 82A5E34
- .incbin "baserom.gba", 0x2a5e34, 0x4f
+ .string "Has a tough winning pattern.$"
-gUnknown_082A5E83:: @ 82A5E83
- .incbin "baserom.gba", 0x2a5e83, 0x36
+ .string "Occasionally uses a very rare move.$"
-gUnknown_082A5EB9:: @ 82A5EB9
- .incbin "baserom.gba", 0x2a5eb9, 0x3b
+ .string "Uses startling and disruptive moves.$"
-gUnknown_082A5EF4:: @ 82A5EF4
- .incbin "baserom.gba", 0x2a5ef4, 0x45
+ .string "Constantly watches HP in battle.$"
-gUnknown_082A5F39:: @ 82A5F39
- .incbin "baserom.gba", 0x2a5f39, 0x49
+ .string "Good at storing then loosing power.$"
-gUnknown_082A5F82:: @ 82A5F82
- .incbin "baserom.gba", 0x2a5f82, 0x37
+ .string "Skilled at enfeebling foes.$"
-gUnknown_082A5FB9:: @ 82A5FB9
- .incbin "baserom.gba", 0x2a5fb9, 0x5f
+ .string "Prefers tactics that rely on luck.$"
-gUnknown_082A6018:: @ 82A6018
- .incbin "baserom.gba", 0x2a6018, 0x49
+ .string "Attacks with a regal atmosphere.$"
-gUnknown_082A6061:: @ 82A6061
- .incbin "baserom.gba", 0x2a6061, 0x3b
+ .string "Attacks with powerful, low-PP moves.$"
-gUnknown_082A609C:: @ 82A609C
- .incbin "baserom.gba", 0x2a609c, 0x39
+ .string "Skilled at enfeebling, then attacking.$"
-gUnknown_082A60D5:: @ 82A60D5
- .incbin "baserom.gba", 0x2a60d5, 0x4f
+ .string "Battles while enduring all attacks.$"
-gUnknown_082A6124:: @ 82A6124
- .incbin "baserom.gba", 0x2a6124, 0x4b
+ .string "Skilled at upsetting foes emotionally.$"
-gUnknown_082A616F:: @ 82A616F
- .incbin "baserom.gba", 0x2a616f, 0x67
+ .string "Uses strong and straightforward moves.$"
-gUnknown_082A61D6:: @ 82A61D6
- .incbin "baserom.gba", 0x2a61d6, 0x64
+ .string "Aggressively uses strong moves.$"
-gUnknown_082A623A:: @ 82A623A
- .incbin "baserom.gba", 0x2a623a, 0x4d
+ .string "Battles while cleverly dodging attacks.$"
-gUnknown_082A6287:: @ 82A6287
- .incbin "baserom.gba", 0x2a6287, 0x42
+ .string "Skilled at using upsetting attacks.$"
-gUnknown_082A62C9:: @ 82A62C9
- .incbin "baserom.gba", 0x2a62c9, 0x49
+ .string "Uses many popular moves.$"
-gUnknown_082A6312:: @ 82A6312
- .incbin "baserom.gba", 0x2a6312, 0x2b
+ .string "Has moves for powerful combinations.$"
-gUnknown_082A633D:: @ 82A633D
- .incbin "baserom.gba", 0x2a633d, 0x1ffa
+ .string "Uses high-probability attacks.$"
-gUnknown_082A8337:: @ 82A8337
- .incbin "baserom.gba", 0x2a8337, 0x19
+ .string "Aggressively uses spectacular moves.$"
-gUnknown_082A8350:: @ 82A8350
- .incbin "baserom.gba", 0x2a8350, 0x20043
+ .string "Emphasizes offense over defense.$"
+
+ .string "Emphasizes defense over offense.$"
+
+ .string "Attacks quickly with strong moves.$"
+
+ .string "Often uses moves with added effects.$"
+
+ .string "Uses a well-balanced mix of moves.$"
+
+ .string "This is sample message 1.$"
+
+ .string "This is sample message 2.$"
+
+ .string "This is sample message 3.$"
+
+ .string "This is sample message 4.$"
+
+ .string "Emphasizes HP and ATTACK.$"
+
+ .string "Emphasizes HP and DEFENSE.$"
+
+ .string "Emphasizes HP and SPEED.$"
+
+ .string "Emphasizes HP and SP. ATTACK.$"
+
+ .string "Emphasizes HP and SP. DEFENSE.$"
+
+ .string "Emphasizes ATTACK and DEFENSE.$"
+
+ .string "Emphasizes ATTACK and SPEED.$"
+
+ .string "Emphasizes ATTACK and SP. ATTACK.$"
+
+ .string "Emphasizes ATTACK and SP. DEFENSE.$"
+
+ .string "Emphasizes DEFENSE and SPEED.$"
+
+ .string "Emphasizes DEFENSE and SP. ATTACK.$"
+
+ .string "Emphasizes DEFENSE and SP. DEFENSE.$"
+
+ .string "Emphasizes SPEED and SP. ATTACK.$"
+
+ .string "Emphasizes SPEED and SP. DEFENSE.$"
+
+ .string "Emphasizes SP. ATTACK and SP. DEFENSE.$"
+
+ .string "Emphasizes HP.$"
+
+ .string "Emphasizes ATTACK.$"
+
+ .string "Emphasizes DEFENSE.$"
+
+ .string "Emphasizes SPEED.$"
+
+ .string "Emphasizes SP. ATTACK.$"
+
+ .string "Emphasizes SP. DEFENSE.$"
+
+ .string "Neglects HP and ATTACK.$"
+
+ .string "Neglects HP and DEFENSE.$"
+
+ .string "Neglects HP and SPEED.$"
+
+ .string "Neglects HP and SP. ATTACK.$"
+
+ .string "Neglects HP and SP. DEFENSE.$"
+
+ .string "Neglects ATTACK and DEFENSE.$"
+
+ .string "Neglects ATTACK and SPEED.$"
+
+ .string "Neglects ATTACK and SP. ATTACK.$"
+
+ .string "Neglects ATTACK and SP. DEFENSE.$"
+
+ .string "Neglects DEFENSE and SPEED.$"
+
+ .string "Neglects DEFENSE and SP. ATTACK.$"
+
+ .string "Neglects DEFENSE and SP. DEFENSE.$"
+
+ .string "Neglects SPEED and SP. ATTACK.$"
+
+ .string "Neglects SPEED and SP. DEFENSE.$"
+
+ .string "Neglects SP. ATTACK and SP. DEFENSE.$"
+
+ .string "Neglects HP.$"
+
+ .string "Neglects ATTACK.$"
+
+ .string "Neglects DEFENSE.$"
+
+ .string "Neglects SPEED.$"
+
+ .string "Neglects SP. ATTACK.$"
+
+ .string "Neglects SP. DEFENSE.$"
+
+ .string "Raises POKéMON in a well-balanced way.$"
+
+ .string "Let the battle begin!$"
+
+ .string "{STR_VAR_1} won using {STR_VAR_2}!$"
+
+ .string "{STR_VAR_1} became the champ!$"
+
+ .string "{STR_VAR_1} won by default!$"
+
+ .string "{STR_VAR_1} won outright by default!$"
+
+ .string "{STR_VAR_1} won without using a move!$"
+
+ .string "{STR_VAR_1} won outright with no moves!$"
+
+ .string "Round 1, Match 1$"
+
+ .string "Round 1, Match 2$"
+
+ .string "Round 1, Match 3$"
+
+ .string "Round 1, Match 4$"
+
+ .string "Round 1, Match 5$"
+
+ .string "Round 1, Match 6$"
+
+ .string "Round 1, Match 7$"
+
+ .string "Round 1, Match 8$"
+
+ .string "Round 2, Match 1$"
+
+ .string "Round 2, Match 2$"
+
+ .string "Round 2, Match 3$"
+
+ .string "Round 2, Match 4$"
+
+ .string "Semifinal Match 1$"
+
+ .string "Semifinal Match 2$"
+
+ .string "Final Match$"
+
+BattleFrontier_BattlePikeRandomRoom1_MapScripts_2C3E1B: @ 82C3E1B
+ map_script 3, BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C3E25
+ map_script 4, BattleFrontier_BattlePikeRandomRoom1_MapScript2_2C3EDE
+
+BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C3E25: @ 82C3E25
+ setvar VAR_0x8004, 4
+ special sub_81A703C
+ setvar VAR_0x8004, 5
+ special sub_81A703C
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1
+ case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1
+ case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EC0
+ case 3, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EA2
+ case 4, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1
+ case 7, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3E93
+ case 6, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EA2
+ case 8, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3ECF
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3E93:: @ 82C3E93
+ setobjectxyperm 1, 2, 5
+ setobjectxyperm 2, 6, 5
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EA2:: @ 82C3EA2
+ setobjectxyperm 1, 4, 4
+ setobjectxyperm 2, 3, 4
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EB1:: @ 82C3EB1
+ setobjectxyperm 1, 4, 4
+ setobjectxyperm 2, 0, 0
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EC0:: @ 82C3EC0
+ setobjectxyperm 1, 5, 5
+ setobjectxyperm 2, 0, 0
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3ECF:: @ 82C3ECF
+ setobjectxyperm 1, 4, 3
+ setobjectxyperm 2, 4, 4
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_MapScript2_2C3EDE: @ 82C3EDE
+ map_script_2 VAR_0x4004, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EE8
+ .2byte 0
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EE8:: @ 82C3EE8
+ setvar VAR_0x4011, 28
+ setvar VAR_0x4010, 28
+ setvar VAR_0x8004, 5
+ special sub_81A703C
+ compare_var_to_value VAR_RESULT, 3
+ goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35
+ compare_var_to_value VAR_RESULT, 6
+ goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35
+ compare_var_to_value VAR_RESULT, 7
+ goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35
+ compare_var_to_value VAR_RESULT, 8
+ goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F3F
+ hideobjectat 2, BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_1
+ setvar VAR_0x4004, 1
+ turnobject 255, 2
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35:: @ 82C3F35
+ setvar VAR_0x4004, 1
+ turnobject 255, 2
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F3F:: @ 82C3F3F
+ setvar VAR_0x4004, 1
+ turnobject 255, 2
+ hideobjectat 1, BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_1
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F4E:: @ 82C3F4E
+ setvar VAR_0x8007, 0
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F59:: @ 82C3F59
+ setvar VAR_0x8007, 1
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F64:: @ 82C3F64
+ setvar VAR_0x8007, 2
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F:: @ 82C3F6F
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ special sub_81A703C
+ addvar VAR_RESULT, 1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A703C
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ addvar VAR_RESULT, 1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A1780
+ setvar VAR_0x8004, 0
+ special sub_81A703C
+ setvar VAR_0x8004, 5
+ special sub_81A703C
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030
+ case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030
+ case 2, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030
+ case 3, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030
+ case 4, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030
+ case 5, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4049
+ case 6, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030
+ case 7, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030
+ case 8, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030:: @ 82C4030
+ applymovement 255, BattleFrontier_BattlePikeThreePathRoom_Movement_2C427A
+ waitmovement 0
+ call BattleFrontier_BattlePikeThreePathRoom_EventScript_25BB49
+ warpsilent BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_1, 255, 4, 7
+ waitstate
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4049:: @ 82C4049
+ applymovement 255, BattleFrontier_BattlePikeThreePathRoom_Movement_2C427A
+ waitmovement 0
+ call BattleFrontier_BattlePikeThreePathRoom_EventScript_25BB49
+ warpsilent BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_3, 255, 4, 19
+ waitstate
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062:: @ 82C4062
+ setvar VAR_0x4003, 1
+ setvar VAR_0x4002, 1
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D:: @ 82C406D
+ setvar VAR_0x4003, 0
+ setvar VAR_0x4002, 0
+ lockall
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CE36, 4
+ closemessage
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082:: @ 82C4082
+ setvar VAR_0x4003, 1
+ setvar VAR_0x4002, 1
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D:: @ 82C408D
+ setvar VAR_0x4003, 0
+ setvar VAR_0x4002, 0
+ lockall
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25CE36, 4
+ closemessage
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2:: @ 82C40A2
+ setvar VAR_0x8004, 25
+ special sub_81A703C
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4128
+ compare_var_to_value VAR_RESULT, 1
+ call_if 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4136
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ special sub_81A703C
+ addvar VAR_RESULT, 1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A703C
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ addvar VAR_RESULT, 1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A1780
+ setvar VAR_0x8004, 3
+ special sub_81A703C
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C415C
+ waitstate
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4128:: @ 82C4128
+BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4128:: @ 82C4128
+ setvar VAR_0x8004, 24
+ setvar VAR_0x8005, 1
+ special sub_81A703C
+ return
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4136:: @ 82C4136
+BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136:: @ 82C4136
+ setvar VAR_0x8004, 24
+ setvar VAR_0x8005, 0
+ special sub_81A703C
+ return
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144:: @ 82C4144
+BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144:: @ 82C4144
+ applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A
+ waitmovement 0
+ call BattleFrontier_BattlePikeRandomRoom1_EventScript_25BB49
+ warpsilent BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_2, 255, 2, 7
+ return
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_2C415C:: @ 82C415C
+BattleFrontier_BattlePikeRandomRoom3_EventScript_2C415C:: @ 82C415C
+ applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A
+ waitmovement 0
+ call BattleFrontier_BattlePikeRandomRoom1_EventScript_25BB49
+ warpsilent BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM, 255, 6, 10
+ return
+
+BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174:: @ 82C4174
+ setvar VAR_0x8004, 7
+ special sub_81A703C
+ setvar VAR_0x8004, 25
+ special sub_81A703C
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4128
+ compare_var_to_value VAR_RESULT, 1
+ call_if 5, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ special sub_81A703C
+ addvar VAR_RESULT, 1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A703C
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ addvar VAR_RESULT, 1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A1780
+ setvar VAR_0x8004, 3
+ special sub_81A703C
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C415C
+ waitstate
+ end
+
+BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202:: @ 82C4202
+ setvar VAR_0x4003, 1
+ setvar VAR_0x4002, 1
+ end
+
+BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D:: @ 82C420D
+ setvar VAR_0x4003, 0
+ setvar VAR_0x4002, 0
+ lockall
+ msgbox BattleFrontier_BattlePikeRandomRoom3_Text_25CE36, 4
+ closemessage
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222:: @ 82C4222
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 4
+ special sub_81A1780
+ warp BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
+ waitstate
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C423E: @ 82C423E
+BattleFrontier_BattlePikeThreePathRoom_MapScript1_2C423E: @ 82C423E
+ setorcopyvar VAR_0x8006, VAR_RESULT
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 0
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B
+ call BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4271
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B:: @ 82C426B
+ setorcopyvar VAR_RESULT, VAR_0x8006
+ end
+
+BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4271:: @ 82C4271
+BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4271:: @ 82C4271
+ setvar VAR_0x8004, 21
+ special sub_81A1780
+ return
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A: @ 82C427A
+BattleFrontier_BattlePikeThreePathRoom_Movement_2C427A: @ 82C427A
+ step_54
+ step_end
+
+LilycoveCity_ContestLobby_Text_2C427C: @ 82C427C
+ .string "BLEND MASTER: Indeed I am!\n"
+ .string "The BLEND MASTER am I!\p"
+ .string "Blend with me, and you shall witness\n"
+ .string "the mastery I bring to blending!$"
+
+LilycoveCity_ContestLobby_Text_2C42F4: @ 82C42F4
+ .string "BLEND MASTER: Hmmm! So, you wish to\n"
+ .string "see my mastery in action?$"
+
+LilycoveCity_ContestLobby_Text_2C4332: @ 82C4332
+ .string "Hmmm!\p"
+ .string "So, you are too busy now, I see!\p"
+ .string "But fear not!\n"
+ .string "I shall be here all day!\l"
+ .string "Hurry back from your errand!$"
+
+LilycoveCity_ContestLobby_Text_2C439D: @ 82C439D
+ .string "Hmmm!\p"
+ .string "You haven’t got a single BERRY!\p"
+ .string "I shall be here all day!\n"
+ .string "Hurry back with some BERRIES!$"
+
+LilycoveCity_ContestLobby_Text_2C43FA: @ 82C43FA
+ .string "Of course!\n"
+ .string "Of course!\p"
+ .string "Incidentally…\n"
+ .string "You do know how to blend {POKEBLOCK}S\l"
+ .string "from BERRIES?$"
+
+LilycoveCity_ContestLobby_Text_2C444C: @ 82C444C
+ .string "Hmmm!\p"
+ .string "Ah, but it is a simple process!\p"
+ .string "When the BLENDER’s arrow comes to\n"
+ .string "your marker, just press the A Button.\p"
+ .string "That’s all you have to do.\p"
+ .string "When you see how precisely I press\n"
+ .string "the A Button, you will understand.$"
+
+LilycoveCity_ContestLobby_Text_2C451B: @ 82C451B
+ .string "Fine!\p"
+ .string "Let’s get started, then!\p"
+ .string "All together with the BLEND MASTER,\n"
+ .string "let’s BERRY BLENDER!$"
+
+LilycoveCity_ContestLobby_Text_2C4573: @ 82C4573
+ .string "Hmmm!\p"
+ .string "You don’t appear to have gotten\n"
+ .string "the {POKEBLOCK} CASE!\p"
+ .string "I shall be here all day!\n"
+ .string "Obtain the {POKEBLOCK} CASE and hurry back!$"
+
+LilycoveCity_ContestLobby_Text_2C45E8: @ 82C45E8
+ .string "Hmmm!\p"
+ .string "Your {POKEBLOCK} CASE appears to be full!\p"
+ .string "I shall be here all day!\n"
+ .string "Use some {POKEBLOCK}S and hurry back!$"
+
+LilycoveCity_ContestLobby_Text_2C464B: @ 82C464B
+ .string "Whoa!\n"
+ .string "Awesome!$"
+
+LilycoveCity_ContestLobby_Text_2C465A: @ 82C465A
+ .string "Wickedly fast!$"
+
+LilycoveCity_ContestLobby_Text_2C4669: @ 82C4669
+ .string "What an expert!$"
+
+LilycoveCity_ContestLobby_Text_2C4679: @ 82C4679
+ .string "When I blended with the MASTER,\n"
+ .string "we made amazing {POKEBLOCK}S!$"
+
+LilycoveCity_ContestLobby_Text_2C46B1: @ 82C46B1
+ .string "Eyes that track the arrow with\n"
+ .string "machinelike intensity…\p"
+ .string "A hand that taps the A Button\n"
+ .string "with clockwork-like precision…\p"
+ .string "Possessing these qualities makes\n"
+ .string "the BLEND MASTER truly great.$"
+
+LilycoveCity_ContestLobby_Text_2C4763: @ 82C4763
+ .string "The BLEND MASTER’s supposed to work\n"
+ .string "on his skills deep in the mountains.\p"
+ .string "Sometimes, he comes to LILYCOVE\n"
+ .string "to blend BERRIES all day long.$"
+
+FallarborTown_BattleTentLobby_Text_2C47EB: @ 82C47EB
+ .string "I welcome you to the BATTLE TENT\n"
+ .string "FALLARBOR SITE!\p"
+ .string "I am your guide to the Set KO Tourney!$"
+
+FallarborTown_BattleTentLobby_Text_2C4843: @ 82C4843
+ .string "Now, do you wish to take the challenge\n"
+ .string "of a Set KO Tourney?$"
+
+FallarborTown_BattleTentLobby_Text_2C487F: @ 82C487F
+ .string "We await your challenge on\n"
+ .string "another occasion!$"
+
+FallarborTown_BattleTentLobby_Text_2C48AC: @ 82C48AC
+ .string "In the FALLARBOR BATTLE TENT,\n"
+ .string "we undertake the Set KO Tourney.\p"
+ .string "All participants enter with a team of\n"
+ .string "three POKéMON.\p"
+ .string "The three POKéMON must be lined up\n"
+ .string "in the order that they are to appear in.\p"
+ .string "During battle, the POKéMON will appear\n"
+ .string "one at a time in the preset order.\p"
+ .string "Once a POKéMON enters battle, it must\n"
+ .string "remain out until the match is decided.\p"
+ .string "If a match remains undecided in\n"
+ .string "three turns, it goes to judging.\p"
+ .string "If you wish to interrupt your challenge,\n"
+ .string "please save the game.\p"
+ .string "If you don’t save, you will not be able\n"
+ .string "to continue with your challenge.\p"
+ .string "If you pull off the feat of beating\n"
+ .string "three TRAINERS in succession,\l"
+ .string "we will present you with a fine prize.$"
+
+FallarborTown_BattleTentLobby_Text_2C4B35: @ 82C4B35
+ .string "Before showing you to the BATTLE\n"
+ .string "TENT, I must save. Is that okay?$"
+
+FallarborTown_BattleTentLobby_Text_2C4B77: @ 82C4B77
+ .string "We offer two levels of challenge,\n"
+ .string "Level 50 and Open Level.\l"
+ .string "Which is your choice?$"
+
+FallarborTown_BattleTentLobby_Text_2C4BC8: @ 82C4BC8
+ .string "Very well, now select your\n"
+ .string "three POKéMON, please.$"
+
+FallarborTown_BattleTentLobby_Text_2C4BFA: @ 82C4BFA
+ .string "My dear challenger!\p"
+ .string "You do not have the three POKéMON\n"
+ .string "required for entry.\p"
+ .string "They also must not hold the same\n"
+ .string "kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "When you have made your preparations,\n"
+ .string "please do return.$"
+
+FallarborTown_BattleTentLobby_Text_2C4CC0: @ 82C4CC0
+ .string "My dear challenger!\p"
+ .string "You do not have the three POKéMON\n"
+ .string "required for entry.\p"
+ .string "To qualify, you must bring three\n"
+ .string "different kinds of POKéMON.\p"
+ .string "They also must not hold the same\n"
+ .string "kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "When you have made your preparations,\n"
+ .string "please do return.$"
+
+FallarborTown_BattleTentLobby_Text_2C4DC3: @ 82C4DC3
+ .string "I shall now guide you to\n"
+ .string "the BATTLE TENT.$"
+
+FallarborTown_BattleTentLobby_Text_2C4DED: @ 82C4DED
+ .string "My dear challenger!\p"
+ .string "You did not save the game before\n"
+ .string "shutting down, did you?\p"
+ .string "It is unfortunate, but that has\n"
+ .string "resulted in your disqualification\l"
+ .string "from your challenge.\p"
+ .string "You may, of course, start with a fresh\n"
+ .string "challenge.$"
+
+FallarborTown_BattleTentLobby_Text_2C4EC3: @ 82C4EC3
+ .string "How splendid! You have beaten\n"
+ .string "three TRAINERS in succession!$"
+
+FallarborTown_BattleTentLobby_Text_2C4EFF: @ 82C4EFF
+ .string "Please wait while I save the game.$"
+
+FallarborTown_BattleTentLobby_Text_2C4F22: @ 82C4F22
+ .string "In commemoration of your 3-win streak,\n"
+ .string "we present you with this prize.$"
+
+FallarborTown_BattleTentLobby_Text_2C4F69: @ 82C4F69
+ .string "{PLAYER} received the prize\n"
+ .string "{STR_VAR_1}.$"
+
+FallarborTown_BattleTentLobby_Text_2C4F83: @ 82C4F83
+ .string "Oh?\n"
+ .string "Your BAG seems to be full.\p"
+ .string "I urge you to clear space and\n"
+ .string "return for your prize.$"
+
+FallarborTown_BattleTentLobby_Text_2C4FD7: @ 82C4FD7
+ .string "Thank you so much for participating!\p"
+ .string "Please wait while I save the game.$"
+
+FallarborTown_BattleTentLobby_Text_2C501F: @ 82C501F
+ .string "We await your challenge on\n"
+ .string "another occasion!$"
+
+FallarborTown_BattleTentLobby_Text_2C504C: @ 82C504C
+ .string "We have been looking forward to\n"
+ .string "your arrival.\p"
+ .string "Before I show you to the BATTLE TENT,\n"
+ .string "I must save the game. Please wait.$"
+
+VerdanturfTown_BattleTentLobby_Text_2C50C3: @ 82C50C3
+ .string "I welcome you to the BATTLE TENT\n"
+ .string "VERDANTURF SITE!\p"
+ .string "Here, the TRAINER’s trust toward\n"
+ .string "POKéMON is tested.$"
+
+VerdanturfTown_BattleTentLobby_Text_2C5129: @ 82C5129
+ .string "Do you wish to take the VERDANTURF\n"
+ .string "BATTLE TENT challenge?$"
+
+VerdanturfTown_BattleTentLobby_Text_2C5163: @ 82C5163
+ .string "In the VERDANTURF BATTLE TENT,\n"
+ .string "there is one crucial rule that must\l"
+ .string "be obeyed.\p"
+ .string "TRAINERS are permitted only to switch\n"
+ .string "their POKéMON in and out.\p"
+ .string "TRAINERS are otherwise forbidden to\n"
+ .string "command their POKéMON.\p"
+ .string "The POKéMON are to behave according\n"
+ .string "to their nature and battle on their own.\p"
+ .string "You must put your trust in your\n"
+ .string "POKéMON and watch over them.\p"
+ .string "If you achieve the honor of beating\n"
+ .string "three TRAINERS in succession,\l"
+ .string "we will present you with a prize.\p"
+ .string "If you want to interrupt your\n"
+ .string "challenge, please save the game.\p"
+ .string "If you don’t save before interrupting,\n"
+ .string "you will be disqualified.$"
+
+VerdanturfTown_BattleTentLobby_Text_2C539A: @ 82C539A
+ .string "When you have fortified your heart\n"
+ .string "and POKéMON, you must return.$"
+
+VerdanturfTown_BattleTentLobby_Text_2C53DB: @ 82C53DB
+ .string "There are two levels of difficulty,\n"
+ .string "Level 50 and Open Level.\l"
+ .string "Which is your choice of a challenge?$"
+
+VerdanturfTown_BattleTentLobby_Text_2C543D: @ 82C543D
+ .string "Sigh…\p"
+ .string "You do not have the three POKéMON\n"
+ .string "required for the challenge.\p"
+ .string "To enter, you must provide three\n"
+ .string "different kinds of POKéMON.\p"
+ .string "They also must not be holding\n"
+ .string "the same kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "Come back when you have made\n"
+ .string "your preparations.$"
+
+VerdanturfTown_BattleTentLobby_Text_2C5538: @ 82C5538
+ .string "Sigh…\p"
+ .string "You do not have the three POKéMON\n"
+ .string "required for the challenge.\p"
+ .string "To enter, you must provide three\n"
+ .string "different kinds of POKéMON.\p"
+ .string "They also must not be holding\n"
+ .string "the same kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "Come back when you have made\n"
+ .string "your preparations.$"
+
+VerdanturfTown_BattleTentLobby_Text_2C5633: @ 82C5633
+ .string "Good. Now, you must select your\n"
+ .string "three POKéMON.$"
+
+VerdanturfTown_BattleTentLobby_Text_2C5662: @ 82C5662
+ .string "I must save before I show you to\n"
+ .string "the BATTLE TENT. Is that okay?$"
+
+VerdanturfTown_BattleTentLobby_Text_2C56A2: @ 82C56A2
+ .string "Good.\n"
+ .string "Now, follow me.$"
+
+VerdanturfTown_BattleTentLobby_Text_2C56B8: @ 82C56B8
+ .string "I feel privileged for having seen\n"
+ .string "your POKéMON’s exploits.\p"
+ .string "The results will be recorded.\n"
+ .string "I must ask you to briefly wait.$"
+
+VerdanturfTown_BattleTentLobby_Text_2C5731: @ 82C5731
+ .string "To achieve a 3-win streak…\p"
+ .string "The bonds that bind your heart with\n"
+ .string "your POKéMON seem firm and true.$"
+
+VerdanturfTown_BattleTentLobby_Text_2C5791: @ 82C5791
+ .string "Your feat will be recorded.\n"
+ .string "I must ask you to briefly wait.$"
+
+VerdanturfTown_BattleTentLobby_Text_2C57CD: @ 82C57CD
+ .string "For the feat of your 3-win streak,\n"
+ .string "we present you with this prize.$"
+
+SlateportCity_BattleTentLobby_Text_2C5810: @ 82C5810
+ .string "Welcome to the BATTLE TENT\n"
+ .string "SLATEPORT SITE!\p"
+ .string "I am your guide to the Battle Swap\n"
+ .string "Tournament.$"
+
+SlateportCity_BattleTentLobby_Text_2C586A: @ 82C586A
+ .string "Would you like to take the Battle\n"
+ .string "Swap challenge?$"
+
+SlateportCity_BattleTentLobby_Text_2C589C: @ 82C589C
+ .string "Here at the SLATEPORT BATTLE TENT,\n"
+ .string "we hold Battle Swap events\l"
+ .string "using rental POKéMON.\p"
+ .string "First, you will be loaned three\n"
+ .string "POKéMON specifically for this event.\p"
+ .string "Using the supplied rental POKéMON,\n"
+ .string "you must conduct a SINGLE BATTLE.\p"
+ .string "If you win, you are permitted to trade\n"
+ .string "one of your rental POKéMON.\p"
+ .string "Repeat this cycle of battling and\n"
+ .string "trading--if you win three times in\l"
+ .string "a row, you will earn a fine prize.\p"
+ .string "If you want to interrupt your\n"
+ .string "challenge, please save the game.\p"
+ .string "If you don’t save before interrupting,\n"
+ .string "you will be disqualified.$"
+
+SlateportCity_BattleTentLobby_Text_2C5AA5: @ 82C5AA5
+ .string "We look forward to your next visit.$"
+
+SlateportCity_BattleTentLobby_Text_2C5AC9: @ 82C5AC9
+ .string "Which level do you wish to challenge?\n"
+ .string "Level 50 or Level 100?$"
+
+SlateportCity_BattleTentLobby_Text_2C5B06: @ 82C5B06
+ .string "Before you begin your challenge,\n"
+ .string "I need to save data. Is that okay?$"
+
+SlateportCity_BattleTentLobby_Text_2C5B4A: @ 82C5B4A
+ .string "Okay, I will hold your POKéMON for\n"
+ .string "safekeeping while you compete.$"
+
+SlateportCity_BattleTentLobby_Text_2C5B8C: @ 82C5B8C
+ .string "Please step this way.$"
+
+SlateportCity_BattleTentLobby_Text_2C5BA2: @ 82C5BA2
+ .string "Thank you for participating!\p"
+ .string "I will return your POKéMON in exchange\n"
+ .string "for our rental POKéMON.\p"
+ .string "I must also save your event results.\n"
+ .string "Please wait.$"
+
+SlateportCity_BattleTentLobby_Text_2C5C30: @ 82C5C30
+ .string "I will return your POKéMON in exchange\n"
+ .string "for our rental POKéMON.$"
+
+SlateportCity_BattleTentLobby_Text_2C5C6F: @ 82C5C6F
+ .string "Congratulations!\n"
+ .string "You’ve won three straight matches!\p"
+ .string "I will return your POKéMON in exchange\n"
+ .string "for our rental POKéMON.\p"
+ .string "I must also save your event results.\n"
+ .string "Please wait.$"
+
+SlateportCity_BattleTentLobby_Text_2C5D14: @ 82C5D14
+ .string "In recognition of your 3-win streak,\n"
+ .string "we award you this prize.$"
+
+SlateportCity_BattleTentLobby_Text_2C5D52: @ 82C5D52
+ .string "Oh?\n"
+ .string "You seem to have no room for this.\p"
+ .string "Please make room in your BAG and\n"
+ .string "let me know.$"
+
+SlateportCity_BattleTentLobby_Text_2C5DA7: @ 82C5DA7
+ .string "We’ve been waiting for you!\p"
+ .string "Before we resume your challenge,\n"
+ .string "I must save the game.$"
+
+SlateportCity_BattleTentLobby_Text_2C5DFA: @ 82C5DFA
+ .string "I’m sorry to say this, but you didn’t\n"
+ .string "save before you quit playing last time.\p"
+ .string "As a result, you have been disqualified\n"
+ .string "from your challenge.$"
+
+SlateportCity_BattleTentLobby_Text_2C5E85: @ 82C5E85
+ .string "We’ll return your personal POKéMON.$"
+
+SlateportCity_BattleTentLobby_Text_2C5EA9: @ 82C5EA9
+ .string "{PLAYER} received the prize\n"
+ .string "{STR_VAR_1}.$"
+
+SlateportCity_BattleTentLobby_Text_2C5EC3: @ 82C5EC3
+ .string "The Battle Swap rules are listed.$"
+
+SlateportCity_BattleTentLobby_Text_2C5EE5: @ 82C5EE5
+ .string "Which heading do you want to read?$"
+
+SlateportCity_BattleTentLobby_Text_2C5F08: @ 82C5F08
+ .string "In a Battle Swap event, you may use\n"
+ .string "only three POKéMON.\p"
+ .string "Whether you are renting or swapping,\n"
+ .string "your team may not have two or more\l"
+ .string "of the same POKéMON.$"
+
+SlateportCity_BattleTentLobby_Text_2C5F9D: @ 82C5F9D
+ .string "You may swap POKéMON only with\n"
+ .string "the TRAINER you have just defeated.\p"
+ .string "You may swap for only those POKéMON\n"
+ .string "used by the beaten TRAINER.$"
+
+SlateportCity_BattleTentLobby_Text_2C6020: @ 82C6020
+ .string "After every battle you win, you may\n"
+ .string "swap for one of your defeated\l"
+ .string "opponent’s POKéMON.\p"
+ .string "You will not be able to swap POKéMON\n"
+ .string "with the third TRAINER in the event.$"
+
+SlateportCity_BattleTentLobby_Text_2C60C0: @ 82C60C0
+ .string "There are two key points to be aware\n"
+ .string "of when swapping POKéMON.\p"
+ .string "First, when swapping, you can’t check\n"
+ .string "the stats of the POKéMON you are\l"
+ .string "about to receive.\p"
+ .string "Second, the POKéMON on your team\n"
+ .string "are lined up in sequence, depending on\l"
+ .string "the order in which you rented them.\p"
+ .string "This sequence remains unchanged\n"
+ .string "even when swaps are made.$"
+
+SlateportCity_BattleTentLobby_Text_2C61FE: @ 82C61FE
+ .string "The POKéMON of the SLATEPORT\n"
+ .string "BATTLE TENT are all rentals.\p"
+ .string "All rental POKéMON are kept at\n"
+ .string "Level 30.$"
+
+VerdanturfTown_BattleTentLobby_Text_2C6261: @ 82C6261
+ .string "The VERDANTURF BATTLE TENT\n"
+ .string "rules are listed.$"
+
+VerdanturfTown_BattleTentLobby_Text_2C628E: @ 82C628E
+ .string "Which heading do you want to read?$"
+
+VerdanturfTown_BattleTentLobby_Text_2C62B1: @ 82C62B1
+ .string "Here at the VERDANTURF BATTLE TENT,\n"
+ .string "POKéMON are required to think and\l"
+ .string "battle by themselves.\p"
+ .string "Unlike in the wild, POKéMON that live\n"
+ .string "with people behave differently\l"
+ .string "depending on their nature.$"
+
+VerdanturfTown_BattleTentLobby_Text_2C636D: @ 82C636D
+ .string "Depending on its nature, a POKéMON\n"
+ .string "may prefer to attack no matter what.\p"
+ .string "Another POKéMON may prefer to protect\n"
+ .string "itself from any harm.\p"
+ .string "Yet another may enjoy vexing or\n"
+ .string "confounding its foes.\p"
+ .string "Depending on its nature, a POKéMON\n"
+ .string "will have favorite moves that it is good\l"
+ .string "at using.\p"
+ .string "It may also dislike certain moves that\n"
+ .string "it has trouble using.$"
+
+VerdanturfTown_BattleTentLobby_Text_2C64BA: @ 82C64BA
+ .string "There are offensive moves that inflict\n"
+ .string "direct damage on the foe.\p"
+ .string "There are defensive moves that are\n"
+ .string "used to prepare for enemy attacks or\l"
+ .string "used to heal HP and so on.\p"
+ .string "There are also other somewhat-odd\n"
+ .string "moves that may enfeeble the foes with\l"
+ .string "stat problems including poison and \l"
+ .string "paralysis.\p"
+ .string "POKéMON will consider using moves in\n"
+ .string "these three categories.$"
+
+VerdanturfTown_BattleTentLobby_Text_2C6612: @ 82C6612
+ .string "When not under command by its TRAINER,\n"
+ .string "a POKéMON may be unable to effectively\l"
+ .string "use certain moves.\p"
+ .string "A POKéMON is not good at using any\n"
+ .string "move that it dislikes.\p"
+ .string "If a POKéMON only knows moves that\n"
+ .string "do not match its nature, it will often\l"
+ .string "be unable to live up to its potential.$"
+
+VerdanturfTown_BattleTentLobby_Text_2C671E: @ 82C671E
+ .string "Depending on its nature, a POKéMON may\n"
+ .string "start using moves that don’t match its\l"
+ .string "nature when it is in trouble.\p"
+ .string "If a POKéMON begins behaving oddly\n"
+ .string "in a pinch, watch it carefully.$"
+
+FallarborTown_BattleTentLobby_Text_2C67CD: @ 82C67CD
+VerdanturfTown_BattleTentLobby_Text_2C67CD: @ 82C67CD
+ .string "At this BATTLE TENT, the levels of\n"
+ .string "your opponents will be adjusted to\l"
+ .string "match the levels of your POKéMON.\p"
+ .string "However, no TRAINER you face will\n"
+ .string "have any POKéMON below Level 30.$"
+
+VerdanturfTown_BattleTentLobby_Text_2C6878: @ 82C6878
+ .string "The VERDANTURF BATTLE TENT\n"
+ .string "rules are listed.$"
+
+LilycoveCity_Harbor_Text_2C68A5: @ 82C68A5
+ .string "What’s up, youngster?\p"
+ .string "What, it’s you who’s supposed to have\n"
+ .string "a tattered old map?\p"
+ .string "Let’s have a look.\n"
+ .string "… … … … … …\p"
+ .string "Boy, this is quite a ways away.\n"
+ .string "I’m afraid I can’t help you…$"
+
+LilycoveCity_Harbor_Text_2C6951: @ 82C6951
+ .string "BRINEY: Hold on a second!\p"
+ .string "What’s the idea of turning down\n"
+ .string "someone that I owe so much to?$"
+
+LilycoveCity_Harbor_Text_2C69AA: @ 82C69AA
+ .string "{PLAYER}{KUN}, I’m terribly sorry.\p"
+ .string "You came to me seeking my help,\n"
+ .string "and we almost turned you away.\p"
+ .string "Well, let me make things right.\p"
+ .string "We’ll sail right away, of course!\p"
+ .string "Let’s find this island on\n"
+ .string "this OLD SEA MAP!$"
+
+LilycoveCity_Harbor_Text_2C6A71: @ 82C6A71
+ .string "Is it you who brought that odd\n"
+ .string "ticket?\p"
+ .string "Where you’re trying to go is an island\n"
+ .string "that’s far, far away.\p"
+ .string "No one knows what awaits there…\p"
+ .string "The very thought excites my blood\n"
+ .string "as a sailing man!\p"
+ .string "Get on board, youngster!$"
+
+FarawayIsland_Entrance_Text_2C6B42: @ 82C6B42
+ .string "CAPT. BRINEY can be so maddeningly\n"
+ .string "fickle…\p"
+ .string "Do you want to return to LILYCOVE?$"
+
+BirthIsland_Harbor_Text_2C6B90: @ 82C6B90
+ .string "What an oddly shaped island, eh?\n"
+ .string "Do you want to return to LILYCOVE?$"
+
+LilycoveCity_Harbor_Text_2C6BD4: @ 82C6BD4
+ .string "Is it you who brought those\n"
+ .string "odd tickets?\p"
+ .string "… … …Hm.\p"
+ .string "These tickets will get you to islands\n"
+ .string "that are far, far away.\p"
+ .string "No one knows what awaits there,\n"
+ .string "or what may happen there.\p"
+ .string "The very thought excites my blood\n"
+ .string "as a sailing man!\p"
+ .string "Get on board, youngster!\n"
+ .string "Where shall we sail first?$"
+
+NavelRock_Harbor_Text_2C6CE6: @ 82C6CE6
+ .string "Did… Did you hear that?\n"
+ .string "That low growling from deep in there.\p"
+ .string "Are you sure it’s safe?\n"
+ .string "Do you think we should leave?$"
+
+FarawayIsland_Entrance_Text_2C6D5A: @ 82C6D5A
+ .string "The writing is fading as if it was\n"
+ .string "written a long time ago…\p"
+ .string "“…ber, 6th day\n"
+ .string "If any human…sets foot here…\l"
+ .string "again…et it be a kindhearted pers…\l"
+ .string "…ith that hope, I depar…”$"
+
+FarawayIsland_Interior_Text_2C6DFF: @ 82C6DFF
+ .string "Myuu…$"
+
+MauvilleCity_Text_2C6E05: @ 82C6E05
+ .string "This move can be learned only\n"
+ .string "once. Is that okay?$"
+
+SlateportCity_PokemonFanClub_Text_2C6E37: @ 82C6E37
+ .string "Heh! My POKéMON totally rules!\n"
+ .string "It’s cooler than any POKéMON!\p"
+ .string "I was lipping off with a swagger in\n"
+ .string "my step like that when the CHAIRMAN\l"
+ .string "chewed me out.\p"
+ .string "That took the swagger out of my step.\p"
+ .string "If you’d like, I’ll teach the move\n"
+ .string "SWAGGER to a POKéMON of yours.$"
+
+SlateportCity_PokemonFanClub_Text_2C6F33: @ 82C6F33
+ .string "What, no? Can’t you get into\n"
+ .string "the spirit of things?$"
+
+SlateportCity_PokemonFanClub_Text_2C6F66: @ 82C6F66
+ .string "All right, which POKéMON wants to\n"
+ .string "learn how to SWAGGER?$"
+
+SlateportCity_PokemonFanClub_Text_2C6F9E: @ 82C6F9E
+ .string "I’ll just praise my POKéMON from now\n"
+ .string "on without the swagger.$"
+
+MauvilleCity_Text_2C6FDB: @ 82C6FDB
+ .string "Did you know that you can go from\n"
+ .string "here a long way in that direction\l"
+ .string "without changing direction?\p"
+ .string "I might even be able to roll\n"
+ .string "that way.\p"
+ .string "Do you think your POKéMON will\n"
+ .string "want to roll, too?\p"
+ .string "I can teach one the move ROLLOUT\n"
+ .string "if you’d like.$"
+
+MauvilleCity_Text_2C70C4: @ 82C70C4
+ .string "You don’t need to be shy about it.\n"
+ .string "Let’s roll!$"
+
+MauvilleCity_Text_2C70F3: @ 82C70F3
+ .string "Ehehe, sure thing! It’d be great if\n"
+ .string "the POKéMON looked like me.$"
+
+MauvilleCity_Text_2C7133: @ 82C7133
+ .string "Rolling around in the grass makes me\n"
+ .string "happy. Come on, let’s roll!$"
+
+VerdanturfTown_PokemonCenter_1F_Text_2C7174: @ 82C7174
+ .string "There’s a move that gets stronger\n"
+ .string "when you keep using it in a row.\p"
+ .string "It’s a BUG-type move, and it is\n"
+ .string "wickedly cool.\p"
+ .string "It’s called FURY CUTTER.\n"
+ .string "Want me to teach it to a POKéMON?$"
+
+VerdanturfTown_PokemonCenter_1F_Text_2C7221: @ 82C7221
+ .string "We’re not on the same wavelength.$"
+
+VerdanturfTown_PokemonCenter_1F_Text_2C7243: @ 82C7243
+ .string "Yay!\n"
+ .string "Show me which POKéMON I should teach.$"
+
+VerdanturfTown_PokemonCenter_1F_Text_2C726E: @ 82C726E
+ .string "I get a thrill watching to see if\n"
+ .string "the move keeps hitting in succession!$"
+
+LavaridgeTown_House_Text_2C72B6: @ 82C72B6
+ .string "Ah, young one!\p"
+ .string "I am also a young one, but I mimic\n"
+ .string "the styles and speech of the elderly\l"
+ .string "folks of this town.\p"
+ .string "What do you say, young one?\n"
+ .string "Would you agree to it if I were to\l"
+ .string "offer to teach the move MIMIC?$"
+
+LavaridgeTown_House_Text_2C737F: @ 82C737F
+ .string "Oh, boo! I wanted to teach MIMIC\n"
+ .string "to your POKéMON!$"
+
+LavaridgeTown_House_Text_2C73B1: @ 82C73B1
+ .string "Fwofwo! And so I shall!\n"
+ .string "Let me see the POKéMON\l"
+ .string "you wish me to teach.$"
+
+LavaridgeTown_House_Text_2C73F6: @ 82C73F6
+ .string "MIMIC is a move of great depth.\p"
+ .string "Could you execute it to perfection\n"
+ .string "as well as me…?$"
+
+FallarborTown_Mart_Text_2C7449: @ 82C7449
+ .string "I want all sorts of things!\n"
+ .string "But I used up my allowance…\p"
+ .string "Wouldn’t it be nice if there were\n"
+ .string "a spell that made money appear when\l"
+ .string "you waggle a finger?\p"
+ .string "If you want, I can teach your POKéMON\n"
+ .string "the move METRONOME.\p"
+ .string "Money won’t appear, but your POKéMON\n"
+ .string "will waggle a finger. Yes?$"
+
+FallarborTown_Mart_Text_2C7556: @ 82C7556
+ .string "Okay. I’ll be here if you change\n"
+ .string "your mind.$"
+
+FallarborTown_Mart_Text_2C7582: @ 82C7582
+ .string "Okay! I’ll teach it!\n"
+ .string "Which POKéMON should I teach?$"
+
+FallarborTown_Mart_Text_2C75B5: @ 82C75B5
+ .string "When a POKéMON waggles its finger\n"
+ .string "like a METRONOME, all sorts of nice\l"
+ .string "things happen.\p"
+ .string "Wouldn’t it be nice if we could\n"
+ .string "use it, too?$"
+
+FortreeCity_House2_Text_2C7637: @ 82C7637
+ .string "Humph! My wife relies on HIDDEN\n"
+ .string "POWER to stay awake.\p"
+ .string "She should just take a nap like I do,\n"
+ .string "and SLEEP TALK.\p"
+ .string "I can teach your POKéMON how to\n"
+ .string "SLEEP TALK instead. Interested?$"
+
+FortreeCity_House2_Text_2C76E2: @ 82C76E2
+ .string "Oh, fine, fine. You want to stay awake\n"
+ .string "with HIDDEN POWER, too…$"
+
+FortreeCity_House2_Text_2C7721: @ 82C7721
+ .string "Ah, an appreciative child!\n"
+ .string "Which POKéMON should I teach?$"
+
+FortreeCity_House2_Text_2C775A: @ 82C775A
+ .string "I’ve never once gotten my wife’s\n"
+ .string "coin trick right.\p"
+ .string "I would be happy if I got it right\n"
+ .string "even as I SLEEP TALK…$"
+
+LilycoveCity_DepartmentStoreRooftop_Text_2C77C6: @ 82C77C6
+ .string "When I see the wide world from up\n"
+ .string "here on the roof…\p"
+ .string "I think about how nice it would be\n"
+ .string "if there were more than just one me\l"
+ .string "so I could enjoy all sorts of lives.\p"
+ .string "Of course it’s not possible.\n"
+ .string "Giggle…\p"
+ .string "I know! Would you be interested in\n"
+ .string "having a POKéMON learn SUBSTITUTE?$"
+
+LilycoveCity_DepartmentStoreRooftop_Text_2C78D1: @ 82C78D1
+ .string "Oh, no?\p"
+ .string "A POKéMON can make a copy of\n"
+ .string "itself using it, you know.$"
+
+LilycoveCity_DepartmentStoreRooftop_Text_2C7911: @ 82C7911
+ .string "Giggle…\n"
+ .string "Which POKéMON do you want me to\l"
+ .string "teach SUBSTITUTE?$"
+
+LilycoveCity_DepartmentStoreRooftop_Text_2C794B: @ 82C794B
+ .string "We human beings should enjoy our\n"
+ .string "own lives to the utmost!\p"
+ .string "I hope you’ll get that way, too!$"
+
+MossdeepCity_Text_2C79A6: @ 82C79A6
+ .string "I can’t do this anymore!\p"
+ .string "It’s utterly hopeless!\p"
+ .string "I’m a FIGHTING-type TRAINER,\n"
+ .string "so I can’t win at the MOSSDEEP GYM\l"
+ .string "no matter how hard I try!\p"
+ .string "Argh! Punch! Punch! Punch!\n"
+ .string "Punch! Punch! Punch!\p"
+ .string "What, don’t look at me that way!\n"
+ .string "I’m only hitting the ground!\p"
+ .string "Or do you want me to teach your\n"
+ .string "POKéMON DYNAMICPUNCH?$"
+
+MossdeepCity_Text_2C7AD4: @ 82C7AD4
+ .string "Darn! You’re even making fun of me?\n"
+ .string "Punch! Punch! Punch!$"
+
+MossdeepCity_Text_2C7B0D: @ 82C7B0D
+ .string "What? You do? You’re a good person!\n"
+ .string "Which POKéMON should I teach?$"
+
+MossdeepCity_Text_2C7B4F: @ 82C7B4F
+ .string "I want you to win at the MOSSDEEP GYM\n"
+ .string "using that DYNAMICPUNCH!$"
+
+SootopolisCity_PokemonCenter_1F_Text_2C7B8E: @ 82C7B8E
+ .string "Sigh…\p"
+ .string "SOOTOPOLIS’s GYM LEADER is really\n"
+ .string "lovably admirable.\p"
+ .string "But that also means I have many\n"
+ .string "rivals for his attention.\p"
+ .string "He’s got appeal with a DOUBLE-EDGE.\n"
+ .string "I couldn’t even catch his eye.\p"
+ .string "Please, let me teach your POKéMON\n"
+ .string "the move DOUBLE-EDGE!$"
+
+SootopolisCity_PokemonCenter_1F_Text_2C7C7E: @ 82C7C7E
+ .string "Oh…\n"
+ .string "Even you rejected me…$"
+
+SootopolisCity_PokemonCenter_1F_Text_2C7C98: @ 82C7C98
+ .string "Okay, which POKéMON should I teach\n"
+ .string "DOUBLE-EDGE?$"
+
+SootopolisCity_PokemonCenter_1F_Text_2C7CC8: @ 82C7CC8
+ .string "I won’t live for love anymore!\n"
+ .string "I’ll become tough!$"
+
+PacifidlogTown_PokemonCenter_1F_Text_2C7CFA: @ 82C7CFA
+ .string "I don’t intend to be going nowhere\n"
+ .string "fast in the sticks like this forever.\p"
+ .string "You watch me, I’ll get out to the city\n"
+ .string "and become a huge hit.\p"
+ .string "Seriously, I’m going to cause\n"
+ .string "a huge EXPLOSION of popularity!\p"
+ .string "If you overheard that, I’ll happily\n"
+ .string "teach EXPLOSION to your POKéMON!$"
+
+PacifidlogTown_PokemonCenter_1F_Text_2C7E04: @ 82C7E04
+ .string "Gaah! You’re turning me down because\n"
+ .string "I live in the country?$"
+
+PacifidlogTown_PokemonCenter_1F_Text_2C7E40: @ 82C7E40
+ .string "Fine! An EXPLOSION it is!\n"
+ .string "Which POKéMON wants to blow up?$"
+
+PacifidlogTown_PokemonCenter_1F_Text_2C7E7A: @ 82C7E7A
+ .string "For a long time, I’ve taught POKéMON\n"
+ .string "how to use EXPLOSION, but I’ve yet\l"
+ .string "to ignite my own EXPLOSION…\p"
+ .string "Maybe it’s because deep down,\n"
+ .string "I would rather stay here…$"
+
+SlateportCity_PokemonFanClub_EventScript_2C7F16:: @ 82C7F16
+ lock
+ faceplayer
+ checkflag FLAG_0x1B1
+ goto_eq SlateportCity_PokemonFanClub_EventScript_2C7F74
+ msgbox SlateportCity_PokemonFanClub_Text_2C6E37, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A
+ call SlateportCity_PokemonFanClub_EventScript_2C832D
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A
+ msgbox SlateportCity_PokemonFanClub_Text_2C6F66, 4
+ setvar VAR_0x8005, 23
+ call SlateportCity_PokemonFanClub_EventScript_2C8326
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A
+ setflag FLAG_0x1B1
+ goto SlateportCity_PokemonFanClub_EventScript_2C7F74
+ end
+
+SlateportCity_PokemonFanClub_EventScript_2C7F6A:: @ 82C7F6A
+ msgbox SlateportCity_PokemonFanClub_Text_2C6F33, 4
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_2C7F74:: @ 82C7F74
+ msgbox SlateportCity_PokemonFanClub_Text_2C6F9E, 4
+ release
+ end
+
+MauvilleCity_EventScript_2C7F7E:: @ 82C7F7E
+ lock
+ faceplayer
+ checkflag FLAG_0x1B2
+ goto_eq MauvilleCity_EventScript_2C7FDC
+ msgbox MauvilleCity_Text_2C6FDB, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_EventScript_2C7FD2
+ call MauvilleCity_EventScript_2C832D
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_EventScript_2C7FD2
+ msgbox MauvilleCity_Text_2C70F3, 4
+ setvar VAR_0x8005, 16
+ call MauvilleCity_EventScript_2C8326
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_EventScript_2C7FD2
+ setflag FLAG_0x1B2
+ goto MauvilleCity_EventScript_2C7FDC
+ end
+
+MauvilleCity_EventScript_2C7FD2:: @ 82C7FD2
+ msgbox MauvilleCity_Text_2C70C4, 4
+ release
+ end
+
+MauvilleCity_EventScript_2C7FDC:: @ 82C7FDC
+ msgbox MauvilleCity_Text_2C7133, 4
+ release
+ end
+
+VerdanturfTown_PokemonCenter_1F_EventScript_2C7FE6:: @ 82C7FE6
+ lock
+ faceplayer
+ checkflag FLAG_0x1B3
+ goto_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C8044
+ msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7174, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A
+ call VerdanturfTown_PokemonCenter_1F_EventScript_2C832D
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A
+ msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7243, 4
+ setvar VAR_0x8005, 29
+ call VerdanturfTown_PokemonCenter_1F_EventScript_2C8326
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A
+ setflag FLAG_0x1B3
+ goto VerdanturfTown_PokemonCenter_1F_EventScript_2C8044
+ end
+
+VerdanturfTown_PokemonCenter_1F_EventScript_2C803A:: @ 82C803A
+ msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7221, 4
+ release
+ end
+
+VerdanturfTown_PokemonCenter_1F_EventScript_2C8044:: @ 82C8044
+ msgbox VerdanturfTown_PokemonCenter_1F_Text_2C726E, 4
+ release
+ end
+
+LavaridgeTown_House_EventScript_2C804E:: @ 82C804E
+ lock
+ faceplayer
+ checkflag FLAG_0x1B4
+ goto_eq LavaridgeTown_House_EventScript_2C80AC
+ msgbox LavaridgeTown_House_Text_2C72B6, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LavaridgeTown_House_EventScript_2C80A2
+ call LavaridgeTown_House_EventScript_2C832D
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LavaridgeTown_House_EventScript_2C80A2
+ msgbox LavaridgeTown_House_Text_2C73B1, 4
+ setvar VAR_0x8005, 7
+ call LavaridgeTown_House_EventScript_2C8326
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LavaridgeTown_House_EventScript_2C80A2
+ setflag FLAG_0x1B4
+ goto LavaridgeTown_House_EventScript_2C80AC
+ end
+
+LavaridgeTown_House_EventScript_2C80A2:: @ 82C80A2
+ msgbox LavaridgeTown_House_Text_2C737F, 4
+ release
+ end
+
+LavaridgeTown_House_EventScript_2C80AC:: @ 82C80AC
+ msgbox LavaridgeTown_House_Text_2C73F6, 4
+ release
+ end
+
+FallarborTown_Mart_EventScript_2C80B6:: @ 82C80B6
+ lock
+ faceplayer
+ checkflag FLAG_0x1B5
+ goto_eq FallarborTown_Mart_EventScript_2C8114
+ msgbox FallarborTown_Mart_Text_2C7449, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq FallarborTown_Mart_EventScript_2C810A
+ call FallarborTown_Mart_EventScript_2C832D
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq FallarborTown_Mart_EventScript_2C810A
+ msgbox FallarborTown_Mart_Text_2C7582, 4
+ setvar VAR_0x8005, 8
+ call FallarborTown_Mart_EventScript_2C8326
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq FallarborTown_Mart_EventScript_2C810A
+ setflag FLAG_0x1B5
+ goto FallarborTown_Mart_EventScript_2C8114
+ end
+
+FallarborTown_Mart_EventScript_2C810A:: @ 82C810A
+ msgbox FallarborTown_Mart_Text_2C7556, 4
+ release
+ end
+
+FallarborTown_Mart_EventScript_2C8114:: @ 82C8114
+ msgbox FallarborTown_Mart_Text_2C75B5, 4
+ release
+ end
+
+FortreeCity_House2_EventScript_2C811E:: @ 82C811E
+ lock
+ faceplayer
+ checkflag FLAG_0x1B6
+ goto_eq FortreeCity_House2_EventScript_2C817C
+ msgbox FortreeCity_House2_Text_2C7637, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq FortreeCity_House2_EventScript_2C8172
+ call FortreeCity_House2_EventScript_2C832D
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq FortreeCity_House2_EventScript_2C8172
+ msgbox FortreeCity_House2_Text_2C7721, 4
+ setvar VAR_0x8005, 24
+ call FortreeCity_House2_EventScript_2C8326
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq FortreeCity_House2_EventScript_2C8172
+ setflag FLAG_0x1B6
+ goto FortreeCity_House2_EventScript_2C817C
+ end
+
+FortreeCity_House2_EventScript_2C8172:: @ 82C8172
+ msgbox FortreeCity_House2_Text_2C76E2, 4
+ release
+ end
+
+FortreeCity_House2_EventScript_2C817C:: @ 82C817C
+ msgbox FortreeCity_House2_Text_2C775A, 4
+ release
+ end
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_2C8186:: @ 82C8186
+ lock
+ faceplayer
+ checkflag FLAG_0x1B7
+ goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C77C6, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA
+ call LilycoveCity_DepartmentStoreRooftop_EventScript_2C832D
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C7911, 4
+ setvar VAR_0x8005, 14
+ call LilycoveCity_DepartmentStoreRooftop_EventScript_2C8326
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA
+ setflag FLAG_0x1B7
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4
+ end
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA:: @ 82C81DA
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C78D1, 4
+ release
+ end
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4:: @ 82C81E4
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C794B, 4
+ release
+ end
+
+MossdeepCity_EventScript_2C81EE:: @ 82C81EE
+ lock
+ faceplayer
+ checkflag FLAG_0x1B8
+ goto_eq MossdeepCity_EventScript_2C824C
+ msgbox MossdeepCity_Text_2C79A6, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MossdeepCity_EventScript_2C8242
+ call MossdeepCity_EventScript_2C832D
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MossdeepCity_EventScript_2C8242
+ msgbox MossdeepCity_Text_2C7B0D, 4
+ setvar VAR_0x8005, 15
+ call MossdeepCity_EventScript_2C8326
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MossdeepCity_EventScript_2C8242
+ setflag FLAG_0x1B8
+ goto MossdeepCity_EventScript_2C824C
+ end
+
+MossdeepCity_EventScript_2C8242:: @ 82C8242
+ msgbox MossdeepCity_Text_2C7AD4, 4
+ release
+ end
+
+MossdeepCity_EventScript_2C824C:: @ 82C824C
+ msgbox MossdeepCity_Text_2C7B4F, 4
+ release
+ end
+
+SootopolisCity_PokemonCenter_1F_EventScript_2C8256:: @ 82C8256
+ lock
+ faceplayer
+ checkflag FLAG_0x1B9
+ goto_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82B4
+ msgbox SootopolisCity_PokemonCenter_1F_Text_2C7B8E, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA
+ call SootopolisCity_PokemonCenter_1F_EventScript_2C832D
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA
+ msgbox SootopolisCity_PokemonCenter_1F_Text_2C7C98, 4
+ setvar VAR_0x8005, 4
+ call SootopolisCity_PokemonCenter_1F_EventScript_2C8326
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA
+ setflag FLAG_0x1B9
+ goto SootopolisCity_PokemonCenter_1F_EventScript_2C82B4
+ end
+
+SootopolisCity_PokemonCenter_1F_EventScript_2C82AA:: @ 82C82AA
+ msgbox SootopolisCity_PokemonCenter_1F_Text_2C7C7E, 4
+ release
+ end
+
+SootopolisCity_PokemonCenter_1F_EventScript_2C82B4:: @ 82C82B4
+ msgbox SootopolisCity_PokemonCenter_1F_Text_2C7CC8, 4
+ release
+ end
+
+PacifidlogTown_PokemonCenter_1F_EventScript_2C82BE:: @ 82C82BE
+ lock
+ faceplayer
+ checkflag FLAG_0x1BA
+ goto_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C831C
+ msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7CFA, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312
+ call PacifidlogTown_PokemonCenter_1F_EventScript_2C832D
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312
+ msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E40, 4
+ setvar VAR_0x8005, 12
+ call PacifidlogTown_PokemonCenter_1F_EventScript_2C8326
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312
+ setflag FLAG_0x1BA
+ goto PacifidlogTown_PokemonCenter_1F_EventScript_2C831C
+ end
+
+PacifidlogTown_PokemonCenter_1F_EventScript_2C8312:: @ 82C8312
+ msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E04, 4
+ release
+ end
+
+PacifidlogTown_PokemonCenter_1F_EventScript_2C831C:: @ 82C831C
+ msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E7A, 4
+ release
+ end
+
+FallarborTown_Mart_EventScript_2C8326:: @ 82C8326
+FortreeCity_House2_EventScript_2C8326:: @ 82C8326
+LavaridgeTown_House_EventScript_2C8326:: @ 82C8326
+LilycoveCity_DepartmentStoreRooftop_EventScript_2C8326:: @ 82C8326
+MauvilleCity_EventScript_2C8326:: @ 82C8326
+MossdeepCity_EventScript_2C8326:: @ 82C8326
+PacifidlogTown_PokemonCenter_1F_EventScript_2C8326:: @ 82C8326
+SlateportCity_PokemonFanClub_EventScript_2C8326:: @ 82C8326
+SootopolisCity_PokemonCenter_1F_EventScript_2C8326:: @ 82C8326
+VerdanturfTown_PokemonCenter_1F_EventScript_2C8326:: @ 82C8326
+ special sub_81B892C
+ waitstate
+ lock
+ faceplayer
+ return
+
+FallarborTown_Mart_EventScript_2C832D:: @ 82C832D
+FortreeCity_House2_EventScript_2C832D:: @ 82C832D
+LavaridgeTown_House_EventScript_2C832D:: @ 82C832D
+LilycoveCity_DepartmentStoreRooftop_EventScript_2C832D:: @ 82C832D
+MauvilleCity_EventScript_2C832D:: @ 82C832D
+MossdeepCity_EventScript_2C832D:: @ 82C832D
+PacifidlogTown_PokemonCenter_1F_EventScript_2C832D:: @ 82C832D
+SlateportCity_PokemonFanClub_EventScript_2C832D:: @ 82C832D
+SootopolisCity_PokemonCenter_1F_EventScript_2C832D:: @ 82C832D
+VerdanturfTown_PokemonCenter_1F_EventScript_2C832D:: @ 82C832D
+ msgbox MauvilleCity_Text_2C6E05, 5
+ return
+
+TrainerHill_1F_MapScript1_2C8336: @ 82C8336
+TrainerHill_2F_MapScript1_2C8336: @ 82C8336
+TrainerHill_3F_MapScript1_2C8336: @ 82C8336
+TrainerHill_4F_MapScript1_2C8336: @ 82C8336
+TrainerHill_Roof_MapScript1_2C8336: @ 82C8336
+ setvar VAR_0x4002, 0
+ setvar VAR_0x8004, 4
+ special sp194_trainer_tower
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 5
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq TrainerHill_1F_EventScript_2C83C9
+ compare_var_to_value VAR_RESULT, 3
+ goto_eq TrainerHill_1F_EventScript_2C83C9
+ compare_var_to_value VAR_RESULT, 9
+ goto_eq TrainerHill_1F_EventScript_2C83C9
+ end
+
+TrainerHill_1F_MapScript2_2C8372: @ 82C8372
+TrainerHill_2F_MapScript2_2C8372: @ 82C8372
+ map_script_2 VAR_0x4003, 0, TrainerHill_1F_EventScript_2C837C
+ .2byte 0
+
+TrainerHill_1F_EventScript_2C837C:: @ 82C837C
+ setvar VAR_0x4003, 1
+@ forced stop
+
+TrainerHill_1F_MapScript2_2C8381: @ 82C8381
+TrainerHill_2F_MapScript2_2C8381: @ 82C8381
+TrainerHill_3F_MapScript2_2C8381: @ 82C8381
+TrainerHill_4F_MapScript2_2C8381: @ 82C8381
+TrainerHill_Roof_MapScript2_2C8381: @ 82C8381
+ map_script_2 VAR_0x4002, 0, TrainerHill_1F_EventScript_2C83A6
+ map_script_2 VAR_0x4001, 1, TrainerHill_1F_EventScript_2C83DF
+ .2byte 0
+
+TrainerHill_1F_EventScript_2C8393:: @ 82C8393
+ lockall
+ setvar VAR_0x8004, 7
+ special sp194_trainer_tower
+ msgbox TrainerHill_Entrance_Text_268D47, 4
+ releaseall
+ end
+
+TrainerHill_1F_EventScript_2C83A6:: @ 82C83A6
+ setvar VAR_0x4002, 1
+ setvar VAR_0x8004, 9
+ special sp194_trainer_tower
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq TrainerHill_1F_EventScript_2C83BF
+ end
+
+TrainerHill_1F_EventScript_2C83BF:: @ 82C83BF
+ warpsilent TRAINER_HILL_ENTRANCE, 255, 9, 6
+ waitstate
+ end
+
+TrainerHill_1F_EventScript_2C83C9:: @ 82C83C9
+ setvar VAR_0x8004, 12
+ special sp194_trainer_tower
+ setvar VAR_0x8004, 5
+ special sp194_trainer_tower
+ setvar VAR_0x4001, 1
+ end
+
+TrainerHill_1F_EventScript_2C83DF:: @ 82C83DF
+TrainerHill_Entrance_EventScript_2C83DF:: @ 82C83DF
+ setvar VAR_0x4001, 0
+ warp TRAINER_HILL_ENTRANCE, 255, 9, 6
+ waitstate
+ end
+
+TrainerHill_1F_Movement_2C83EE:: @ 82C83EE
+ step_54
+ step_end
+
+EventScript_2C83F0:: @ 82C83F0
+ trainerbattle 12, TRAINER_PHILLIP, 0, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D
+ setvar VAR_0x8004, 11
+ special sp194_trainer_tower
+ waitmessage
+ waitbuttonpress
+ closemessage
+ end
+
+Text_2C840A:: @ 82C840A
+ .string "This is a test message.\n"
+ .string "This is a signpost.$"
+
+EventScript_2C8436:: @ 82C8436
+ msgbox Text_2C840A, 3
+ end
+
+ .string "It’s very disappointing…$"
+
+ .string "Okay, I understand…$"
+
+ .string "I’m terribly sorry…$"
+
+ .string "Thank you…$"
+
+ .string "Ahahaha! Aren’t you embarrassed?\n"
+ .string "Everyone’s watching!$"
+
+ .string "Grr…\n"
+ .string "What the…$"
+
+ .string "My DOME ACE title isn’t just for show!$"
+
+ .string "Ahahaha!\n"
+ .string "You’re inspiring!$"
+
+ .string "Way to work!\n"
+ .string "That was a good lesson, eh?$"
+
+ .string "Good job!\n"
+ .string "You know what you’re doing!$"
+
+ .string "Hey, hey, hey!\n"
+ .string "You’re finished already?$"
-gUnknown_082C8393:: @ 82C8393
- .incbin "baserom.gba", 0x2c8393, 0x5d
+ .string "What happened here?$"
-gUnknown_082C83F0:: @ 82C83F0
- .incbin "baserom.gba", 0x2c83f0, 0x46
+ .string "Humph…$"
-gUnknown_082C8436:: @ 82C8436
- .incbin "baserom.gba", 0x2c8436, 0x37e
+ .string "Urk…$"
-gUnknown_082C87B4:: @ 82C87B4
- .incbin "baserom.gba", 0x2c87b4, 0x21
+ .string "Hah!$"
-gUnknown_082C87D5:: @ 82C87D5
- .incbin "baserom.gba", 0x2c87d5, 0x3b
+ .string "Darn!$"
-gUnknown_082C8810:: @ 82C8810
- .incbin "baserom.gba", 0x2c8810, 0x22
+ .string "Oh, come on!\n"
+ .string "You have to try harder than that!$"
-gUnknown_082C8832:: @ 82C8832
- .incbin "baserom.gba", 0x2c8832, 0x13
+ .string "No way!\n"
+ .string "Good job!$"
-gUnknown_082C8845:: @ 82C8845
- .incbin "baserom.gba", 0x2c8845, 0xe5
+ .string "Heheh!\n"
+ .string "What did you expect?$"
-gUnknown_082C892A:: @ 82C892A
- .incbin "baserom.gba", 0x2c892a, 0x2f
+ .string "Huh?\n"
+ .string "Are you serious?!$"
-gText_SavingDontTurnOffPower:: @ 82C8959
- .incbin "baserom.gba", 0x2c8959, 0x22
+ .string "Your POKéMON are wimpy because\n"
+ .string "you’re wimpy as a TRAINER!$"
-gUnknown_082C897B:: @ 82C897B
- .incbin "baserom.gba", 0x2c897b, 0xa4
+ .string "Ah…\n"
+ .string "Now this is something else…$"
-gUnknown_082C8A1F:: @ 82C8A1F
- .incbin "baserom.gba", 0x2c8a1f, 0x1b1
+ .string "Gwahahaha!\n"
+ .string "My brethren, we have nothing to fear!$"
-gUnknown_082C8BD0:: @ 82C8BD0
- .incbin "baserom.gba", 0x2c8bd0, 0xd
+ .string "Gwah!\n"
+ .string "Hahahaha!$"
-gUnknown_082C8BDD:: @ 82C8BDD
- .incbin "baserom.gba", 0x2c8bdd, 0x22
+ .string "Hey! What’s wrong with you!\n"
+ .string "Let’s see some effort! Get up!$"
-gUnknown_082C8BFF:: @ 82C8BFF
- .incbin "baserom.gba", 0x2c8bff, 0x1d
+ .string "That’s it! You’ve done great!\n"
+ .string "You’ve worked hard for this!$"
-gUnknown_082C8C1C:: @ 82C8C1C
- .incbin "baserom.gba", 0x2c8c1c, 0xe
+ .string "Hey! Don’t you give up now!\n"
+ .string "Get up! Don’t lose faith in yourself!$"
-gUnknown_082C8C2A:: @ 82C8C2A
- .incbin "baserom.gba", 0x2c8c2a, 0x50
+ .string "That’s it! You’ve done it!\n"
+ .string "You kept working for this!$"
-gUnknown_082C8C7A:: @ 82C8C7A
- .incbin "baserom.gba", 0x2c8c7a, 0xea
+ .align 2
+ .include "data/text/save.inc"
+ .include "data/text/birch_speech.inc"
diff --git a/data/map_events.s b/data/map_events.s
new file mode 100644
index 000000000..805c4d255
--- /dev/null
+++ b/data/map_events.s
@@ -0,0 +1,526 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+ .include "constants/flags.inc"
+ .include "constants/variables.inc"
+
+ .section .rodata
+
+ .include "data/maps/events/PetalburgCity.inc"
+ .include "data/maps/events/SlateportCity.inc"
+ .include "data/maps/events/MauvilleCity.inc"
+ .include "data/maps/events/RustboroCity.inc"
+ .include "data/maps/events/FortreeCity.inc"
+ .include "data/maps/events/LilycoveCity.inc"
+ .include "data/maps/events/MossdeepCity.inc"
+ .include "data/maps/events/SootopolisCity.inc"
+ .include "data/maps/events/EverGrandeCity.inc"
+ .include "data/maps/events/LittlerootTown.inc"
+ .include "data/maps/events/OldaleTown.inc"
+ .include "data/maps/events/DewfordTown.inc"
+ .include "data/maps/events/LavaridgeTown.inc"
+ .include "data/maps/events/FallarborTown.inc"
+ .include "data/maps/events/VerdanturfTown.inc"
+ .include "data/maps/events/PacifidlogTown.inc"
+ .include "data/maps/events/Route101.inc"
+ .include "data/maps/events/Route102.inc"
+ .include "data/maps/events/Route103.inc"
+ .include "data/maps/events/Route104.inc"
+ .include "data/maps/events/Route105.inc"
+ .include "data/maps/events/Route106.inc"
+ .include "data/maps/events/Route107.inc"
+ .include "data/maps/events/Route108.inc"
+ .include "data/maps/events/Route109.inc"
+ .include "data/maps/events/Route110.inc"
+ .include "data/maps/events/Route111.inc"
+ .include "data/maps/events/Route112.inc"
+ .include "data/maps/events/Route113.inc"
+ .include "data/maps/events/Route114.inc"
+ .include "data/maps/events/Route115.inc"
+ .include "data/maps/events/Route116.inc"
+ .include "data/maps/events/Route117.inc"
+ .include "data/maps/events/Route118.inc"
+ .include "data/maps/events/Route119.inc"
+ .include "data/maps/events/Route120.inc"
+ .include "data/maps/events/Route121.inc"
+ .include "data/maps/events/Route122.inc"
+ .include "data/maps/events/Route123.inc"
+ .include "data/maps/events/Route124.inc"
+ .include "data/maps/events/Route125.inc"
+ .include "data/maps/events/Route126.inc"
+ .include "data/maps/events/Route127.inc"
+ .include "data/maps/events/Route128.inc"
+ .include "data/maps/events/Route129.inc"
+ .include "data/maps/events/Route130.inc"
+ .include "data/maps/events/Route131.inc"
+ .include "data/maps/events/Route132.inc"
+ .include "data/maps/events/Route133.inc"
+ .include "data/maps/events/Route134.inc"
+ .include "data/maps/events/Underwater1.inc"
+ .include "data/maps/events/Underwater2.inc"
+ .include "data/maps/events/Underwater3.inc"
+ .include "data/maps/events/Underwater4.inc"
+ .include "data/maps/events/Underwater5.inc"
+ .include "data/maps/events/Underwater6.inc"
+ .include "data/maps/events/Underwater7.inc"
+ .include "data/maps/events/LittlerootTown_BrendansHouse_1F.inc"
+ .include "data/maps/events/LittlerootTown_BrendansHouse_2F.inc"
+ .include "data/maps/events/LittlerootTown_MaysHouse_1F.inc"
+ .include "data/maps/events/LittlerootTown_MaysHouse_2F.inc"
+ .include "data/maps/events/LittlerootTown_ProfessorBirchsLab.inc"
+ .include "data/maps/events/OldaleTown_House1.inc"
+ .include "data/maps/events/OldaleTown_House2.inc"
+ .include "data/maps/events/OldaleTown_PokemonCenter_1F.inc"
+ .include "data/maps/events/OldaleTown_PokemonCenter_2F.inc"
+ .include "data/maps/events/OldaleTown_Mart.inc"
+ .include "data/maps/events/DewfordTown_House1.inc"
+ .include "data/maps/events/DewfordTown_PokemonCenter_1F.inc"
+ .include "data/maps/events/DewfordTown_PokemonCenter_2F.inc"
+ .include "data/maps/events/DewfordTown_Gym.inc"
+ .include "data/maps/events/DewfordTown_Hall.inc"
+ .include "data/maps/events/DewfordTown_House2.inc"
+ .include "data/maps/events/LavaridgeTown_HerbShop.inc"
+ .include "data/maps/events/LavaridgeTown_Gym_1F.inc"
+ .include "data/maps/events/LavaridgeTown_Gym_B1F.inc"
+ .include "data/maps/events/LavaridgeTown_House.inc"
+ .include "data/maps/events/LavaridgeTown_Mart.inc"
+ .include "data/maps/events/LavaridgeTown_PokemonCenter_1F.inc"
+ .include "data/maps/events/LavaridgeTown_PokemonCenter_2F.inc"
+ .include "data/maps/events/FallarborTown_Mart.inc"
+ .include "data/maps/events/FallarborTown_BattleTentLobby.inc"
+ .include "data/maps/events/FallarborTown_BattleTentCorridor.inc"
+ .include "data/maps/events/FallarborTown_BattleTentBattleRoom.inc"
+ .include "data/maps/events/FallarborTown_PokemonCenter_1F.inc"
+ .include "data/maps/events/FallarborTown_PokemonCenter_2F.inc"
+ .include "data/maps/events/FallarborTown_House1.inc"
+ .include "data/maps/events/FallarborTown_House2.inc"
+ .include "data/maps/events/VerdanturfTown_BattleTentLobby.inc"
+ .include "data/maps/events/VerdanturfTown_BattleTentCorridor.inc"
+ .include "data/maps/events/VerdanturfTown_BattleTentBattleRoom.inc"
+ .include "data/maps/events/VerdanturfTown_Mart.inc"
+ .include "data/maps/events/VerdanturfTown_PokemonCenter_1F.inc"
+ .include "data/maps/events/VerdanturfTown_PokemonCenter_2F.inc"
+ .include "data/maps/events/VerdanturfTown_WandasHouse.inc"
+ .include "data/maps/events/VerdanturfTown_FriendshipRatersHouse.inc"
+ .include "data/maps/events/VerdanturfTown_House.inc"
+ .include "data/maps/events/PacifidlogTown_PokemonCenter_1F.inc"
+ .include "data/maps/events/PacifidlogTown_PokemonCenter_2F.inc"
+ .include "data/maps/events/PacifidlogTown_House1.inc"
+ .include "data/maps/events/PacifidlogTown_House2.inc"
+ .include "data/maps/events/PacifidlogTown_House3.inc"
+ .include "data/maps/events/PacifidlogTown_House4.inc"
+ .include "data/maps/events/PacifidlogTown_House5.inc"
+ .include "data/maps/events/PetalburgCity_WallysHouse.inc"
+ .include "data/maps/events/PetalburgCity_Gym.inc"
+ .include "data/maps/events/PetalburgCity_House1.inc"
+ .include "data/maps/events/PetalburgCity_House2.inc"
+ .include "data/maps/events/PetalburgCity_PokemonCenter_1F.inc"
+ .include "data/maps/events/PetalburgCity_PokemonCenter_2F.inc"
+ .include "data/maps/events/PetalburgCity_Mart.inc"
+ .include "data/maps/events/SlateportCity_SternsShipyard_1F.inc"
+ .include "data/maps/events/SlateportCity_SternsShipyard_2F.inc"
+ .include "data/maps/events/SlateportCity_BattleTentLobby.inc"
+ .include "data/maps/events/SlateportCity_BattleTentCorridor.inc"
+ .include "data/maps/events/SlateportCity_BattleTentBattleRoom.inc"
+ .include "data/maps/events/SlateportCity_House1.inc"
+ .include "data/maps/events/SlateportCity_PokemonFanClub.inc"
+ .include "data/maps/events/SlateportCity_OceanicMuseum_1F.inc"
+ .include "data/maps/events/SlateportCity_OceanicMuseum_2F.inc"
+ .include "data/maps/events/SlateportCity_Harbor.inc"
+ .include "data/maps/events/SlateportCity_House2.inc"
+ .include "data/maps/events/SlateportCity_PokemonCenter_1F.inc"
+ .include "data/maps/events/SlateportCity_PokemonCenter_2F.inc"
+ .include "data/maps/events/SlateportCity_Mart.inc"
+ .include "data/maps/events/MauvilleCity_Gym.inc"
+ .include "data/maps/events/MauvilleCity_BikeShop.inc"
+ .include "data/maps/events/MauvilleCity_House1.inc"
+ .include "data/maps/events/MauvilleCity_GameCorner.inc"
+ .include "data/maps/events/MauvilleCity_House2.inc"
+ .include "data/maps/events/MauvilleCity_PokemonCenter_1F.inc"
+ .include "data/maps/events/MauvilleCity_PokemonCenter_2F.inc"
+ .include "data/maps/events/MauvilleCity_Mart.inc"
+ .include "data/maps/events/RustboroCity_DevonCorp_1F.inc"
+ .include "data/maps/events/RustboroCity_DevonCorp_2F.inc"
+ .include "data/maps/events/RustboroCity_DevonCorp_3F.inc"
+ .include "data/maps/events/RustboroCity_Gym.inc"
+ .include "data/maps/events/RustboroCity_PokemonSchool.inc"
+ .include "data/maps/events/RustboroCity_PokemonCenter_1F.inc"
+ .include "data/maps/events/RustboroCity_PokemonCenter_2F.inc"
+ .include "data/maps/events/RustboroCity_Mart.inc"
+ .include "data/maps/events/RustboroCity_Flat1_1F.inc"
+ .include "data/maps/events/RustboroCity_Flat1_2F.inc"
+ .include "data/maps/events/RustboroCity_House1.inc"
+ .include "data/maps/events/RustboroCity_CuttersHouse.inc"
+ .include "data/maps/events/RustboroCity_House2.inc"
+ .include "data/maps/events/RustboroCity_Flat2_1F.inc"
+ .include "data/maps/events/RustboroCity_Flat2_2F.inc"
+ .include "data/maps/events/RustboroCity_Flat2_3F.inc"
+ .include "data/maps/events/RustboroCity_House3.inc"
+ .include "data/maps/events/FortreeCity_House1.inc"
+ .include "data/maps/events/FortreeCity_Gym.inc"
+ .include "data/maps/events/FortreeCity_PokemonCenter_1F.inc"
+ .include "data/maps/events/FortreeCity_PokemonCenter_2F.inc"
+ .include "data/maps/events/FortreeCity_Mart.inc"
+ .include "data/maps/events/FortreeCity_House2.inc"
+ .include "data/maps/events/FortreeCity_House3.inc"
+ .include "data/maps/events/FortreeCity_House4.inc"
+ .include "data/maps/events/FortreeCity_House5.inc"
+ .include "data/maps/events/FortreeCity_DecorationShop.inc"
+ .include "data/maps/events/LilycoveCity_CoveLilyMotel_1F.inc"
+ .include "data/maps/events/LilycoveCity_CoveLilyMotel_2F.inc"
+ .include "data/maps/events/LilycoveCity_LilycoveMuseum_1F.inc"
+ .include "data/maps/events/LilycoveCity_LilycoveMuseum_2F.inc"
+ .include "data/maps/events/LilycoveCity_ContestLobby.inc"
+ .include "data/maps/events/LilycoveCity_ContestHall.inc"
+ .include "data/maps/events/LilycoveCity_PokemonCenter_1F.inc"
+ .include "data/maps/events/LilycoveCity_PokemonCenter_2F.inc"
+ .include "data/maps/events/LilycoveCity_UnusedMart.inc"
+ .include "data/maps/events/LilycoveCity_PokemonTrainerFanClub.inc"
+ .include "data/maps/events/LilycoveCity_Harbor.inc"
+ .include "data/maps/events/LilycoveCity_MoveDeletersHouse.inc"
+ .include "data/maps/events/LilycoveCity_House1.inc"
+ .include "data/maps/events/LilycoveCity_House2.inc"
+ .include "data/maps/events/LilycoveCity_House3.inc"
+ .include "data/maps/events/LilycoveCity_House4.inc"
+ .include "data/maps/events/LilycoveCity_DepartmentStore_1F.inc"
+ .include "data/maps/events/LilycoveCity_DepartmentStore_2F.inc"
+ .include "data/maps/events/LilycoveCity_DepartmentStore_3F.inc"
+ .include "data/maps/events/LilycoveCity_DepartmentStore_4F.inc"
+ .include "data/maps/events/LilycoveCity_DepartmentStore_5F.inc"
+ .include "data/maps/events/LilycoveCity_DepartmentStoreRooftop.inc"
+ .include "data/maps/events/LilycoveCity_DepartmentStoreElevator.inc"
+ .include "data/maps/events/MossdeepCity_Gym.inc"
+ .include "data/maps/events/MossdeepCity_House1.inc"
+ .include "data/maps/events/MossdeepCity_House2.inc"
+ .include "data/maps/events/MossdeepCity_PokemonCenter_1F.inc"
+ .include "data/maps/events/MossdeepCity_PokemonCenter_2F.inc"
+ .include "data/maps/events/MossdeepCity_Mart.inc"
+ .include "data/maps/events/MossdeepCity_House3.inc"
+ .include "data/maps/events/MossdeepCity_StevensHouse.inc"
+ .include "data/maps/events/MossdeepCity_House4.inc"
+ .include "data/maps/events/MossdeepCity_SpaceCenter_1F.inc"
+ .include "data/maps/events/MossdeepCity_SpaceCenter_2F.inc"
+ .include "data/maps/events/MossdeepCity_GameCorner_1F.inc"
+ .include "data/maps/events/MossdeepCity_GameCorner_B1F.inc"
+ .include "data/maps/events/SootopolisCity_Gym_1F.inc"
+ .include "data/maps/events/SootopolisCity_Gym_B1F.inc"
+ .include "data/maps/events/SootopolisCity_PokemonCenter_1F.inc"
+ .include "data/maps/events/SootopolisCity_PokemonCenter_2F.inc"
+ .include "data/maps/events/SootopolisCity_Mart.inc"
+ .include "data/maps/events/SootopolisCity_House1.inc"
+ .include "data/maps/events/SootopolisCity_House2.inc"
+ .include "data/maps/events/SootopolisCity_House3.inc"
+ .include "data/maps/events/SootopolisCity_House4.inc"
+ .include "data/maps/events/SootopolisCity_House5.inc"
+ .include "data/maps/events/SootopolisCity_House6.inc"
+ .include "data/maps/events/SootopolisCity_House7.inc"
+ .include "data/maps/events/SootopolisCity_LotadAndSeedotHouse.inc"
+ .include "data/maps/events/SootopolisCity_MysteryEventsHouse_1F.inc"
+ .include "data/maps/events/SootopolisCity_MysteryEventsHouse_B1F.inc"
+ .include "data/maps/events/EverGrandeCity_SidneysRoom.inc"
+ .include "data/maps/events/EverGrandeCity_PhoebesRoom.inc"
+ .include "data/maps/events/EverGrandeCity_GlaciasRoom.inc"
+ .include "data/maps/events/EverGrandeCity_DrakesRoom.inc"
+ .include "data/maps/events/EverGrandeCity_ChampionsRoom.inc"
+ .include "data/maps/events/EverGrandeCity_Hall1.inc"
+ .include "data/maps/events/EverGrandeCity_Hall2.inc"
+ .include "data/maps/events/EverGrandeCity_Hall3.inc"
+ .include "data/maps/events/EverGrandeCity_Hall4.inc"
+ .include "data/maps/events/EverGrandeCity_Hall5.inc"
+ .include "data/maps/events/EverGrandeCity_PokemonLeague_1F.inc"
+ .include "data/maps/events/EverGrandeCity_HallOfFame.inc"
+ .include "data/maps/events/EverGrandeCity_PokemonCenter_1F.inc"
+ .include "data/maps/events/EverGrandeCity_PokemonCenter_2F.inc"
+ .include "data/maps/events/EverGrandeCity_PokemonLeague_2F.inc"
+ .include "data/maps/events/Route104_MrBrineysHouse.inc"
+ .include "data/maps/events/Route104_PrettyPetalFlowerShop.inc"
+ .include "data/maps/events/Route111_WinstrateFamilysHouse.inc"
+ .include "data/maps/events/Route111_OldLadysRestStop.inc"
+ .include "data/maps/events/Route112_CableCarStation.inc"
+ .include "data/maps/events/MtChimney_CableCarStation.inc"
+ .include "data/maps/events/Route114_FossilManiacsHouse.inc"
+ .include "data/maps/events/Route114_FossilManiacsTunnel.inc"
+ .include "data/maps/events/Route114_LanettesHouse.inc"
+ .include "data/maps/events/Route116_TunnelersRestHouse.inc"
+ .include "data/maps/events/Route117_PokemonDayCare.inc"
+ .include "data/maps/events/Route121_SafariZoneEntrance.inc"
+ .include "data/maps/events/MeteorFalls_1F_1R.inc"
+ .include "data/maps/events/MeteorFalls_1F_2R.inc"
+ .include "data/maps/events/MeteorFalls_B1F_1R.inc"
+ .include "data/maps/events/MeteorFalls_B1F_2R.inc"
+ .include "data/maps/events/RusturfTunnel.inc"
+ .include "data/maps/events/Underwater_SootopolisCity.inc"
+ .include "data/maps/events/DesertRuins.inc"
+ .include "data/maps/events/GraniteCave_1F.inc"
+ .include "data/maps/events/GraniteCave_B1F.inc"
+ .include "data/maps/events/GraniteCave_B2F.inc"
+ .include "data/maps/events/GraniteCave_StevensRoom.inc"
+ .include "data/maps/events/PetalburgWoods.inc"
+ .include "data/maps/events/MtChimney.inc"
+ .include "data/maps/events/JaggedPass.inc"
+ .include "data/maps/events/FieryPath.inc"
+ .include "data/maps/events/MtPyre_1F.inc"
+ .include "data/maps/events/MtPyre_2F.inc"
+ .include "data/maps/events/MtPyre_3F.inc"
+ .include "data/maps/events/MtPyre_4F.inc"
+ .include "data/maps/events/MtPyre_5F.inc"
+ .include "data/maps/events/MtPyre_6F.inc"
+ .include "data/maps/events/MtPyre_Exterior.inc"
+ .include "data/maps/events/MtPyre_Summit.inc"
+ .include "data/maps/events/AquaHideout_1F.inc"
+ .include "data/maps/events/AquaHideout_B1F.inc"
+ .include "data/maps/events/AquaHideout_B2F.inc"
+ .include "data/maps/events/Underwater_SeafloorCavern.inc"
+ .include "data/maps/events/SeafloorCavern_Entrance.inc"
+ .include "data/maps/events/SeafloorCavern_Room1.inc"
+ .include "data/maps/events/SeafloorCavern_Room2.inc"
+ .include "data/maps/events/SeafloorCavern_Room3.inc"
+ .include "data/maps/events/SeafloorCavern_Room4.inc"
+ .include "data/maps/events/SeafloorCavern_Room5.inc"
+ .include "data/maps/events/SeafloorCavern_Room6.inc"
+ .include "data/maps/events/SeafloorCavern_Room7.inc"
+ .include "data/maps/events/SeafloorCavern_Room8.inc"
+ .include "data/maps/events/SeafloorCavern_Room9.inc"
+ .include "data/maps/events/CaveOfOrigin_Entrance.inc"
+ .include "data/maps/events/CaveOfOrigin_1F.inc"
+ .include "data/maps/events/CaveOfOrigin_UnusedRubySapphireMap1.inc"
+ .include "data/maps/events/CaveOfOrigin_UnusedRubySapphireMap2.inc"
+ .include "data/maps/events/CaveOfOrigin_UnusedRubySapphireMap3.inc"
+ .include "data/maps/events/CaveOfOrigin_B1F.inc"
+ .include "data/maps/events/VictoryRoad_1F.inc"
+ .include "data/maps/events/VictoryRoad_B1F.inc"
+ .include "data/maps/events/VictoryRoad_B2F.inc"
+ .include "data/maps/events/ShoalCave_LowTideEntranceRoom.inc"
+ .include "data/maps/events/ShoalCave_LowTideInnerRoom.inc"
+ .include "data/maps/events/ShoalCave_LowTideStairsRoom.inc"
+ .include "data/maps/events/ShoalCave_LowTideLowerRoom.inc"
+ .include "data/maps/events/ShoalCave_HighTideEntranceRoom.inc"
+ .include "data/maps/events/ShoalCave_HighTideInnerRoom.inc"
+ .include "data/maps/events/NewMauville_Entrance.inc"
+ .include "data/maps/events/NewMauville_Inside.inc"
+ .include "data/maps/events/AbandonedShip_Deck.inc"
+ .include "data/maps/events/AbandonedShip_Corridors_1F.inc"
+ .include "data/maps/events/AbandonedShip_Rooms_1F.inc"
+ .include "data/maps/events/AbandonedShip_Corridors_B1F.inc"
+ .include "data/maps/events/AbandonedShip_Rooms_B1F.inc"
+ .include "data/maps/events/AbandonedShip_Rooms2_B1F.inc"
+ .include "data/maps/events/AbandonedShip_Underwater1.inc"
+ .include "data/maps/events/AbandonedShip_Room_B1F.inc"
+ .include "data/maps/events/AbandonedShip_Rooms2_1F.inc"
+ .include "data/maps/events/AbandonedShip_CaptainsOffice.inc"
+ .include "data/maps/events/AbandonedShip_Underwater2.inc"
+ .include "data/maps/events/AbandonedShip_HiddenFloorCorridors.inc"
+ .include "data/maps/events/AbandonedShip_HiddenFloorRooms.inc"
+ .include "data/maps/events/IslandCave.inc"
+ .include "data/maps/events/AncientTomb.inc"
+ .include "data/maps/events/Underwater_Route134.inc"
+ .include "data/maps/events/Underwater_SealedChamber.inc"
+ .include "data/maps/events/SealedChamber_OuterRoom.inc"
+ .include "data/maps/events/SealedChamber_InnerRoom.inc"
+ .include "data/maps/events/ScorchedSlab.inc"
+ .include "data/maps/events/AquaHideout_UnusedRubyMap1.inc"
+ .include "data/maps/events/AquaHideout_UnusedRubyMap2.inc"
+ .include "data/maps/events/AquaHideout_UnusedRubyMap3.inc"
+ .include "data/maps/events/SkyPillar_Entrance.inc"
+ .include "data/maps/events/SkyPillar_Outside.inc"
+ .include "data/maps/events/SkyPillar_1F.inc"
+ .include "data/maps/events/SkyPillar_2F.inc"
+ .include "data/maps/events/SkyPillar_3F.inc"
+ .include "data/maps/events/SkyPillar_4F.inc"
+ .include "data/maps/events/ShoalCave_LowTideIceRoom.inc"
+ .include "data/maps/events/SkyPillar_5F.inc"
+ .include "data/maps/events/SkyPillar_Top.inc"
+ .include "data/maps/events/MagmaHideout_1F.inc"
+ .include "data/maps/events/MagmaHideout_2F_1R.inc"
+ .include "data/maps/events/MagmaHideout_2F_2R.inc"
+ .include "data/maps/events/MagmaHideout_3F_1R.inc"
+ .include "data/maps/events/MagmaHideout_3F_2R.inc"
+ .include "data/maps/events/MagmaHideout_4F.inc"
+ .include "data/maps/events/MagmaHideout_3F_3R.inc"
+ .include "data/maps/events/MagmaHideout_2F_3R.inc"
+ .include "data/maps/events/MirageTower_1F.inc"
+ .include "data/maps/events/MirageTower_2F.inc"
+ .include "data/maps/events/MirageTower_3F.inc"
+ .include "data/maps/events/MirageTower_4F.inc"
+ .include "data/maps/events/DesertUnderpass.inc"
+ .include "data/maps/events/ArtisanCave_B1F.inc"
+ .include "data/maps/events/ArtisanCave_1F.inc"
+ .include "data/maps/events/Underwater_MarineCave.inc"
+ .include "data/maps/events/MarineCave_Entrance.inc"
+ .include "data/maps/events/MarineCave_End.inc"
+ .include "data/maps/events/TerraCave_Entrance.inc"
+ .include "data/maps/events/TerraCave_End.inc"
+ .include "data/maps/events/AlteringCave.inc"
+ .include "data/maps/events/MeteorFalls_StevensCave.inc"
+ .include "data/maps/events/SecretBase_RedCave1.inc"
+ .include "data/maps/events/SecretBase_BrownCave1.inc"
+ .include "data/maps/events/SecretBase_BlueCave1.inc"
+ .include "data/maps/events/SecretBase_YellowCave1.inc"
+ .include "data/maps/events/SecretBase_Tree1.inc"
+ .include "data/maps/events/SecretBase_Shrub1.inc"
+ .include "data/maps/events/SecretBase_RedCave2.inc"
+ .include "data/maps/events/SecretBase_BrownCave2.inc"
+ .include "data/maps/events/SecretBase_BlueCave2.inc"
+ .include "data/maps/events/SecretBase_YellowCave2.inc"
+ .include "data/maps/events/SecretBase_Tree2.inc"
+ .include "data/maps/events/SecretBase_Shrub2.inc"
+ .include "data/maps/events/SecretBase_RedCave3.inc"
+ .include "data/maps/events/SecretBase_BrownCave3.inc"
+ .include "data/maps/events/SecretBase_BlueCave3.inc"
+ .include "data/maps/events/SecretBase_YellowCave3.inc"
+ .include "data/maps/events/SecretBase_Tree3.inc"
+ .include "data/maps/events/SecretBase_Shrub3.inc"
+ .include "data/maps/events/SecretBase_RedCave4.inc"
+ .include "data/maps/events/SecretBase_BrownCave4.inc"
+ .include "data/maps/events/SecretBase_BlueCave4.inc"
+ .include "data/maps/events/SecretBase_YellowCave4.inc"
+ .include "data/maps/events/SecretBase_Tree4.inc"
+ .include "data/maps/events/SecretBase_Shrub4.inc"
+ .include "data/maps/events/SingleBattleColosseum.inc"
+ .include "data/maps/events/TradeCenter.inc"
+ .include "data/maps/events/RecordCorner.inc"
+ .include "data/maps/events/DoubleBattleColosseum.inc"
+ .include "data/maps/events/LinkContestRoom1.inc"
+ .include "data/maps/events/LinkContestRoom2.inc"
+ .include "data/maps/events/LinkContestRoom3.inc"
+ .include "data/maps/events/LinkContestRoom4.inc"
+ .include "data/maps/events/LinkContestRoom5.inc"
+ .include "data/maps/events/LinkContestRoom6.inc"
+ .include "data/maps/events/UnknownMap_25_29.inc"
+ .include "data/maps/events/UnknownMap_25_30.inc"
+ .include "data/maps/events/UnknownMap_25_31.inc"
+ .include "data/maps/events/UnknownMap_25_32.inc"
+ .include "data/maps/events/UnknownMap_25_33.inc"
+ .include "data/maps/events/UnknownMap_25_34.inc"
+ .include "data/maps/events/InsideOfTruck.inc"
+ .include "data/maps/events/SSTidalCorridor.inc"
+ .include "data/maps/events/SSTidalLowerDeck.inc"
+ .include "data/maps/events/SSTidalRooms.inc"
+ .include "data/maps/events/BattlePyramidSquare01.inc"
+ .include "data/maps/events/BattlePyramidSquare02.inc"
+ .include "data/maps/events/BattlePyramidSquare03.inc"
+ .include "data/maps/events/BattlePyramidSquare04.inc"
+ .include "data/maps/events/BattlePyramidSquare05.inc"
+ .include "data/maps/events/BattlePyramidSquare06.inc"
+ .include "data/maps/events/BattlePyramidSquare07.inc"
+ .include "data/maps/events/BattlePyramidSquare08.inc"
+ .include "data/maps/events/BattlePyramidSquare09.inc"
+ .include "data/maps/events/BattlePyramidSquare10.inc"
+ .include "data/maps/events/BattlePyramidSquare11.inc"
+ .include "data/maps/events/BattlePyramidSquare12.inc"
+ .include "data/maps/events/BattlePyramidSquare13.inc"
+ .include "data/maps/events/BattlePyramidSquare14.inc"
+ .include "data/maps/events/BattlePyramidSquare15.inc"
+ .include "data/maps/events/BattlePyramidSquare16.inc"
+ .include "data/maps/events/UnionRoom.inc"
+ .include "data/maps/events/SafariZone_Northwest.inc"
+ .include "data/maps/events/SafariZone_North.inc"
+ .include "data/maps/events/SafariZone_Southwest.inc"
+ .include "data/maps/events/SafariZone_South.inc"
+ .include "data/maps/events/BattleFrontier_OutsideWest.inc"
+ .include "data/maps/events/BattleFrontier_BattleTowerLobby.inc"
+ .include "data/maps/events/BattleFrontier_BattleTowerElevator.inc"
+ .include "data/maps/events/BattleFrontier_BattleTowerCorridor.inc"
+ .include "data/maps/events/BattleFrontier_BattleTowerBattleRoom.inc"
+ .include "data/maps/events/SouthernIsland_Exterior.inc"
+ .include "data/maps/events/SouthernIsland_Interior.inc"
+ .include "data/maps/events/SafariZone_RestHouse.inc"
+ .include "data/maps/events/SafariZone_Northeast.inc"
+ .include "data/maps/events/SafariZone_Southeast.inc"
+ .include "data/maps/events/BattleFrontier_OutsideEast.inc"
+ .include "data/maps/events/BattleFrontier_BattleTowerMultiBattleRoom.inc"
+ .include "data/maps/events/BattleFrontier_BattleTowerCorridor2.inc"
+ .include "data/maps/events/BattleFrontier_BattleTowerBattleRoom2.inc"
+ .include "data/maps/events/BattleFrontier_BattleDomeLobby.inc"
+ .include "data/maps/events/BattleFrontier_BattleDomeCorridor.inc"
+ .include "data/maps/events/BattleFrontier_BattleDomePreBattleRoom.inc"
+ .include "data/maps/events/BattleFrontier_BattleDomeBattleRoom.inc"
+ .include "data/maps/events/BattleFrontier_BattlePalaceLobby.inc"
+ .include "data/maps/events/BattleFrontier_BattlePalaceCorridor.inc"
+ .include "data/maps/events/BattleFrontier_BattlePalaceBattleRoom.inc"
+ .include "data/maps/events/BattleFrontier_BattlePyramidLobby.inc"
+ .include "data/maps/events/BattleFrontier_BattlePyramidEmptySquare.inc"
+ .include "data/maps/events/BattleFrontier_BattlePyramidTop.inc"
+ .include "data/maps/events/BattleFrontier_BattleArenaLobby.inc"
+ .include "data/maps/events/BattleFrontier_BattleArenaCorridor.inc"
+ .include "data/maps/events/BattleFrontier_BattleArenaBattleRoom.inc"
+ .include "data/maps/events/BattleFrontier_BattleFactoryLobby.inc"
+ .include "data/maps/events/BattleFrontier_BattleFactoryPreBattleRoom.inc"
+ .include "data/maps/events/BattleFrontier_BattleFactoryBattleRoom.inc"
+ .include "data/maps/events/BattleFrontier_BattlePikeLobby.inc"
+ .include "data/maps/events/BattleFrontier_BattlePikeCorridor.inc"
+ .include "data/maps/events/BattleFrontier_BattlePikeThreePathRoom.inc"
+ .include "data/maps/events/BattleFrontier_BattlePikeRandomRoom1.inc"
+ .include "data/maps/events/BattleFrontier_BattlePikeRandomRoom2.inc"
+ .include "data/maps/events/BattleFrontier_BattlePikeRandomRoom3.inc"
+ .include "data/maps/events/BattleFrontier_RankingHall.inc"
+ .include "data/maps/events/BattleFrontier_Lounge1.inc"
+ .include "data/maps/events/BattleFrontier_BattlePointExchangeServiceCorner.inc"
+ .include "data/maps/events/BattleFrontier_Lounge2.inc"
+ .include "data/maps/events/BattleFrontier_Lounge3.inc"
+ .include "data/maps/events/BattleFrontier_Lounge4.inc"
+ .include "data/maps/events/BattleFrontier_ScottsHouse.inc"
+ .include "data/maps/events/BattleFrontier_Lounge5.inc"
+ .include "data/maps/events/BattleFrontier_Lounge6.inc"
+ .include "data/maps/events/BattleFrontier_Lounge7.inc"
+ .include "data/maps/events/BattleFrontier_ReceptionGate.inc"
+ .include "data/maps/events/BattleFrontier_Lounge8.inc"
+ .include "data/maps/events/BattleFrontier_Lounge9.inc"
+ .include "data/maps/events/BattleFrontier_PokemonCenter_1F.inc"
+ .include "data/maps/events/BattleFrontier_PokemonCenter_2F.inc"
+ .include "data/maps/events/BattleFrontier_Mart.inc"
+ .include "data/maps/events/FarawayIsland_Entrance.inc"
+ .include "data/maps/events/FarawayIsland_Interior.inc"
+ .include "data/maps/events/BirthIsland_Exterior.inc"
+ .include "data/maps/events/BirthIsland_Harbor.inc"
+ .include "data/maps/events/TrainerHill_Entrance.inc"
+ .include "data/maps/events/TrainerHill_1F.inc"
+ .include "data/maps/events/TrainerHill_2F.inc"
+ .include "data/maps/events/TrainerHill_3F.inc"
+ .include "data/maps/events/TrainerHill_4F.inc"
+ .include "data/maps/events/TrainerHill_Roof.inc"
+ .include "data/maps/events/NavelRock_Exterior.inc"
+ .include "data/maps/events/NavelRock_Harbor.inc"
+ .include "data/maps/events/NavelRock_Entrance.inc"
+ .include "data/maps/events/NavelRock_B1F.inc"
+ .include "data/maps/events/NavelRock_Fork.inc"
+ .include "data/maps/events/NavelRock_Up1.inc"
+ .include "data/maps/events/NavelRock_Up2.inc"
+ .include "data/maps/events/NavelRock_Up3.inc"
+ .include "data/maps/events/NavelRock_Up4.inc"
+ .include "data/maps/events/NavelRock_Top.inc"
+ .include "data/maps/events/NavelRock_Down01.inc"
+ .include "data/maps/events/NavelRock_Down02.inc"
+ .include "data/maps/events/NavelRock_Down03.inc"
+ .include "data/maps/events/NavelRock_Down04.inc"
+ .include "data/maps/events/NavelRock_Down05.inc"
+ .include "data/maps/events/NavelRock_Down06.inc"
+ .include "data/maps/events/NavelRock_Down07.inc"
+ .include "data/maps/events/NavelRock_Down08.inc"
+ .include "data/maps/events/NavelRock_Down09.inc"
+ .include "data/maps/events/NavelRock_Down10.inc"
+ .include "data/maps/events/NavelRock_Down11.inc"
+ .include "data/maps/events/NavelRock_Bottom.inc"
+ .include "data/maps/events/TrainerHill_Elevator.inc"
+ .include "data/maps/events/Route104_Prototype.inc"
+ .include "data/maps/events/Route104_PrototypePrettyPetalFlowerShop.inc"
+ .include "data/maps/events/Route109_SeashoreHouse.inc"
+ .include "data/maps/events/Route110_TrickHouseEntrance.inc"
+ .include "data/maps/events/Route110_TrickHouseEnd.inc"
+ .include "data/maps/events/Route110_TrickHouseCorridor.inc"
+ .include "data/maps/events/Route110_TrickHousePuzzle1.inc"
+ .include "data/maps/events/Route110_TrickHousePuzzle2.inc"
+ .include "data/maps/events/Route110_TrickHousePuzzle3.inc"
+ .include "data/maps/events/Route110_TrickHousePuzzle4.inc"
+ .include "data/maps/events/Route110_TrickHousePuzzle5.inc"
+ .include "data/maps/events/Route110_TrickHousePuzzle6.inc"
+ .include "data/maps/events/Route110_TrickHousePuzzle7.inc"
+ .include "data/maps/events/Route110_TrickHousePuzzle8.inc"
+ .include "data/maps/events/Route110_SeasideCyclingRoadEntrance1.inc"
+ .include "data/maps/events/Route110_SeasideCyclingRoadEntrance2.inc"
+ .include "data/maps/events/Route113_GlassWorkshop.inc"
+ .include "data/maps/events/Route123_BerryMastersHouse.inc"
+ .include "data/maps/events/Route119_WeatherInstitute_1F.inc"
+ .include "data/maps/events/Route119_WeatherInstitute_2F.inc"
+ .include "data/maps/events/Route119_House.inc"
+ .include "data/maps/events/Route124_DivingTreasureHuntersHouse.inc"
+
diff --git a/data/maps.s b/data/maps.s
new file mode 100644
index 000000000..a8074c02a
--- /dev/null
+++ b/data/maps.s
@@ -0,0 +1,10 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .include "data/maps/_assets.inc"
+ .include "data/maps/attributes_table.inc"
+ .include "data/maps/headers.inc"
+ .include "data/maps/_groups.inc"
+ .include "data/maps/connections.inc"
diff --git a/data/maps/AbandonedShip_CaptainsOffice/border.bin b/data/maps/AbandonedShip_CaptainsOffice/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/AbandonedShip_CaptainsOffice/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/AbandonedShip_CaptainsOffice/header.inc b/data/maps/AbandonedShip_CaptainsOffice/header.inc
new file mode 100644
index 000000000..143d0c61e
--- /dev/null
+++ b/data/maps/AbandonedShip_CaptainsOffice/header.inc
@@ -0,0 +1,15 @@
+AbandonedShip_CaptainsOffice: @ 84845A4
+ .4byte AbandonedShip_CaptainsOffice_MapAttributes
+ .4byte AbandonedShip_CaptainsOffice_MapEvents
+ .4byte AbandonedShip_CaptainsOffice_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN02
+ .2byte 195
+ .byte 61
+ .byte 0
+ .byte 11
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/AbandonedShip_CaptainsOffice/map.bin b/data/maps/AbandonedShip_CaptainsOffice/map.bin
new file mode 100644
index 000000000..c9097fa63
--- /dev/null
+++ b/data/maps/AbandonedShip_CaptainsOffice/map.bin
Binary files differ
diff --git a/data/maps/AbandonedShip_Corridors_1F/border.bin b/data/maps/AbandonedShip_Corridors_1F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/AbandonedShip_Corridors_1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Corridors_1F/header.inc b/data/maps/AbandonedShip_Corridors_1F/header.inc
new file mode 100644
index 000000000..5aa0d11c2
--- /dev/null
+++ b/data/maps/AbandonedShip_Corridors_1F/header.inc
@@ -0,0 +1,15 @@
+AbandonedShip_Corridors_1F: @ 84844C4
+ .4byte AbandonedShip_Corridors_1F_MapAttributes
+ .4byte AbandonedShip_Corridors_1F_MapEvents
+ .4byte AbandonedShip_Corridors_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN02
+ .2byte 187
+ .byte 61
+ .byte 0
+ .byte 11
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/AbandonedShip_Corridors_1F/map.bin b/data/maps/AbandonedShip_Corridors_1F/map.bin
new file mode 100644
index 000000000..5ef5ca949
--- /dev/null
+++ b/data/maps/AbandonedShip_Corridors_1F/map.bin
@@ -0,0 +1,3 @@
+    22222
+2 662222222
+2 6222222222222222226201222220111122222012222201111222220122222011112222201222220111122262%#&2222%$"#&2222-+6.2222-2,*+6.262222222222222222222222222222222222 \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Corridors_B1F/border.bin b/data/maps/AbandonedShip_Corridors_B1F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/AbandonedShip_Corridors_B1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Corridors_B1F/header.inc b/data/maps/AbandonedShip_Corridors_B1F/header.inc
new file mode 100644
index 000000000..39d3c52ea
--- /dev/null
+++ b/data/maps/AbandonedShip_Corridors_B1F/header.inc
@@ -0,0 +1,15 @@
+AbandonedShip_Corridors_B1F: @ 84844FC
+ .4byte AbandonedShip_Corridors_B1F_MapAttributes
+ .4byte AbandonedShip_Corridors_B1F_MapEvents
+ .4byte AbandonedShip_Corridors_B1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN02
+ .2byte 189
+ .byte 61
+ .byte 0
+ .byte 11
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/AbandonedShip_Corridors_B1F/map.bin b/data/maps/AbandonedShip_Corridors_B1F/map.bin
new file mode 100644
index 000000000..24b1a7b61
--- /dev/null
+++ b/data/maps/AbandonedShip_Corridors_B1F/map.bin
@@ -0,0 +1 @@
+!!011112!!011)011112)0112011112201122%#$"&22%#$22-+6,*2.22-+6,22222222222222222222222226222222222222262220111111122222011111112 \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Deck/border.bin b/data/maps/AbandonedShip_Deck/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/AbandonedShip_Deck/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Deck/header.inc b/data/maps/AbandonedShip_Deck/header.inc
new file mode 100644
index 000000000..563401ca7
--- /dev/null
+++ b/data/maps/AbandonedShip_Deck/header.inc
@@ -0,0 +1,15 @@
+AbandonedShip_Deck: @ 84844A8
+ .4byte AbandonedShip_Deck_MapAttributes
+ .4byte AbandonedShip_Deck_MapEvents
+ .4byte AbandonedShip_Deck_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN02
+ .2byte 186
+ .byte 61
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/AbandonedShip_Deck/map.bin b/data/maps/AbandonedShip_Deck/map.bin
new file mode 100644
index 000000000..67cdde3d7
--- /dev/null
+++ b/data/maps/AbandonedShip_Deck/map.bin
@@ -0,0 +1 @@
+(((`(`(((((b`(((((((((((`(''`(eif(b`(((((((((`('/`(((((b`('((ef(`(/'hiiiiij`(''('((((`(*/`(//(/((((`(* ]]]2hiiiiiiii(((`(((33*2*22*22ef(hiiiiif(2(2ei (((00((( ]]]2002]]]]]]]](((33*2*22*22*22*22*2*2*2*2*2*2*2(((((((2(2(2(2(2(2(2(2(2(2(2(2iiiiiiiiiiiif(2(2eiiiiiii00 00  22 44pppppppp \ No newline at end of file
diff --git a/data/maps/AbandonedShip_HiddenFloorCorridors/border.bin b/data/maps/AbandonedShip_HiddenFloorCorridors/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/AbandonedShip_HiddenFloorCorridors/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/AbandonedShip_HiddenFloorCorridors/header.inc b/data/maps/AbandonedShip_HiddenFloorCorridors/header.inc
new file mode 100644
index 000000000..e71aa5764
--- /dev/null
+++ b/data/maps/AbandonedShip_HiddenFloorCorridors/header.inc
@@ -0,0 +1,15 @@
+AbandonedShip_HiddenFloorCorridors: @ 84845DC
+ .4byte AbandonedShip_HiddenFloorCorridors_MapAttributes
+ .4byte AbandonedShip_HiddenFloorCorridors_MapEvents
+ .4byte AbandonedShip_HiddenFloorCorridors_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN02
+ .2byte 289
+ .byte 61
+ .byte 0
+ .byte 11
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/AbandonedShip_HiddenFloorCorridors/map.bin b/data/maps/AbandonedShip_HiddenFloorCorridors/map.bin
new file mode 100644
index 000000000..a4637ccbe
--- /dev/null
+++ b/data/maps/AbandonedShip_HiddenFloorCorridors/map.bin
@@ -0,0 +1 @@
+    222222222222262242222224222222011111112266201111111222220111111122222%#$"#$"#&22-36,*36,*+6.22V2222222222GVx2222222222 \ No newline at end of file
diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/border.bin b/data/maps/AbandonedShip_HiddenFloorRooms/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/AbandonedShip_HiddenFloorRooms/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/header.inc b/data/maps/AbandonedShip_HiddenFloorRooms/header.inc
new file mode 100644
index 000000000..08fd1b2cb
--- /dev/null
+++ b/data/maps/AbandonedShip_HiddenFloorRooms/header.inc
@@ -0,0 +1,15 @@
+AbandonedShip_HiddenFloorRooms: @ 84845F8
+ .4byte AbandonedShip_HiddenFloorRooms_MapAttributes
+ .4byte AbandonedShip_HiddenFloorRooms_MapEvents
+ .4byte AbandonedShip_HiddenFloorRooms_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN02
+ .2byte 310
+ .byte 61
+ .byte 0
+ .byte 11
+ .byte 4
+ .2byte 0
+ .byte 7
+ .byte 0
+
diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/map.bin b/data/maps/AbandonedShip_HiddenFloorRooms/map.bin
new file mode 100644
index 000000000..b63eeabe6
--- /dev/null
+++ b/data/maps/AbandonedShip_HiddenFloorRooms/map.bin
@@ -0,0 +1 @@
+6''''c'''''76''''''''''76'''''c'''''7>////6/////?>/////2/////GF/////6/////?>h;2;2;2;2;2;2;2;2;2;2;2?>:2;2;2665;266;2;2;2;2ON:2;2;2;2;2;2;2g2;2;266;2?>=28282828282a2828282826?>682a2^6_682b6682828282;2;2<28282b68282828282826682?>=282V6W68282828282a28282?>=28282`2828282828282828282?>=282828282`282828282828282?>682^6_6828282828282`282?>=2`2828282828282828282a282?>682V6W682828282b6828282a2?>=28282828282828282828282?>=2828282828282828282828282?>=282^6_6828282a2828282826?6''''''''''''76'''''''''''''76'''''''''''''7>////////////?>/////////////?>/////////////?>:2g2;2;2;2;25;2;2;2;2;2?>:2;2;2;2;2;2;2;2;2;2;2;2;2?>:2;2;2g2;2;2;2;2;2;266;2?>=282828282a2828282V6W682?>=28282828282`2828282b6826?>682828282V6W68282826682?>=28282828282828282^6_682?>=28282a2`28282828282828282?>=282828282^6_68282a2828282?>682`2828282828282828282?>=2V6W682828282828282828282?>=282828282828282828282826?>=282828282d2e2828282826?>=2^6_6828282d2e2828282a282?>=2`282b68282d2e282828282a2? \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Room_B1F/border.bin b/data/maps/AbandonedShip_Room_B1F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/AbandonedShip_Room_B1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Room_B1F/header.inc b/data/maps/AbandonedShip_Room_B1F/header.inc
new file mode 100644
index 000000000..3e717ffb2
--- /dev/null
+++ b/data/maps/AbandonedShip_Room_B1F/header.inc
@@ -0,0 +1,15 @@
+AbandonedShip_Room_B1F: @ 848456C
+ .4byte AbandonedShip_Room_B1F_MapAttributes
+ .4byte AbandonedShip_Room_B1F_MapEvents
+ .4byte AbandonedShip_Room_B1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN02
+ .2byte 193
+ .byte 61
+ .byte 0
+ .byte 11
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/AbandonedShip_Room_B1F/map.bin b/data/maps/AbandonedShip_Room_B1F/map.bin
new file mode 100644
index 000000000..cb8393eb2
--- /dev/null
+++ b/data/maps/AbandonedShip_Room_B1F/map.bin
@@ -0,0 +1 @@
+6'''''''7>///////?>:2;2;2;2;2;2;2?>=282a282828282?>=2`28282828282?>=282828282a282?>=2828282828282?>=28282d2e282b? \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Rooms2_1F/border.bin b/data/maps/AbandonedShip_Rooms2_1F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/AbandonedShip_Rooms2_1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Rooms2_1F/header.inc b/data/maps/AbandonedShip_Rooms2_1F/header.inc
new file mode 100644
index 000000000..7f7b8140c
--- /dev/null
+++ b/data/maps/AbandonedShip_Rooms2_1F/header.inc
@@ -0,0 +1,15 @@
+AbandonedShip_Rooms2_1F: @ 8484588
+ .4byte AbandonedShip_Rooms2_1F_MapAttributes
+ .4byte AbandonedShip_Rooms2_1F_MapEvents
+ .4byte AbandonedShip_Rooms2_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN02
+ .2byte 194
+ .byte 61
+ .byte 0
+ .byte 11
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/AbandonedShip_Rooms2_1F/map.bin b/data/maps/AbandonedShip_Rooms2_1F/map.bin
new file mode 100644
index 000000000..c897ce8a0
--- /dev/null
+++ b/data/maps/AbandonedShip_Rooms2_1F/map.bin
@@ -0,0 +1 @@
+6@kc''7>Hs6//?>PQ:2;2;2;2;2?>XY=282828282?>2;2<28282a282?>=2828282828282?>=282b82a28282?>=2828282828282?=26'''=2'''7>///=2///?>:2;2;2<2;2;2;2?>=2828282828282?>=2VW82a28282?>=2^_a2828282?>=2828282828282?>=28282d2e28282? \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Rooms2_B1F/border.bin b/data/maps/AbandonedShip_Rooms2_B1F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/AbandonedShip_Rooms2_B1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Rooms2_B1F/header.inc b/data/maps/AbandonedShip_Rooms2_B1F/header.inc
new file mode 100644
index 000000000..ce86c382a
--- /dev/null
+++ b/data/maps/AbandonedShip_Rooms2_B1F/header.inc
@@ -0,0 +1,15 @@
+AbandonedShip_Rooms2_B1F: @ 8484534
+ .4byte AbandonedShip_Rooms2_B1F_MapAttributes
+ .4byte AbandonedShip_Rooms2_B1F_MapEvents
+ .4byte AbandonedShip_Rooms2_B1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN02
+ .2byte 191
+ .byte 61
+ .byte 0
+ .byte 11
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/AbandonedShip_Rooms2_B1F/map.bin b/data/maps/AbandonedShip_Rooms2_B1F/map.bin
new file mode 100644
index 000000000..7865bb69d
--- /dev/null
+++ b/data/maps/AbandonedShip_Rooms2_B1F/map.bin
@@ -0,0 +1 @@
+6@AB''''76@AB'CDE7>HIJ////?>HIJ/KLM?>PQ:2;2;2;2;2GFPQ:2;2;2TU?>XY=282VW6ONXY=28282\]?>:2;2<282^_82;2;2;2;2f28282;2;2?>=2828282828282?>=282828282826?>6828282828282?>682828282`282?>=28282d2e282b?>=28282d2e28282? \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Rooms_1F/border.bin b/data/maps/AbandonedShip_Rooms_1F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/AbandonedShip_Rooms_1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Rooms_1F/header.inc b/data/maps/AbandonedShip_Rooms_1F/header.inc
new file mode 100644
index 000000000..46014cde9
--- /dev/null
+++ b/data/maps/AbandonedShip_Rooms_1F/header.inc
@@ -0,0 +1,15 @@
+AbandonedShip_Rooms_1F: @ 84844E0
+ .4byte AbandonedShip_Rooms_1F_MapAttributes
+ .4byte AbandonedShip_Rooms_1F_MapEvents
+ .4byte AbandonedShip_Rooms_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN02
+ .2byte 188
+ .byte 61
+ .byte 0
+ .byte 11
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/AbandonedShip_Rooms_1F/map.bin b/data/maps/AbandonedShip_Rooms_1F/map.bin
new file mode 100644
index 000000000..20529b3df
--- /dev/null
+++ b/data/maps/AbandonedShip_Rooms_1F/map.bin
@@ -0,0 +1 @@
+6''c''76@kc''7>//6//?>Hs6//?>:2;2;2;2;2;2;2?>PQ:2;2;2;2;2?>=2828282828282?>XY=28282826?>682828282a282?>:2;2<282828282?>=2828282828282?>=2828282`28282?>=2b8282828282?>6828282828282?>=2828282a28282?>=2828282828282?=26@AB'''E76'''=2CDE7>HIJ////?>///=2KLM?>PQ:2;2;2;2;2GF:2;2;2<2;2TU?>XY=282`28282ON=282828282\]?>:2;2<2b828282;2;2<282828282;2;2?>=2828282828282?>=2VW8282826?>=2a28282828282?>=2^_82828282?>68282d2e28282?>=28282d2e28282? \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Rooms_B1F/border.bin b/data/maps/AbandonedShip_Rooms_B1F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/AbandonedShip_Rooms_B1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Rooms_B1F/header.inc b/data/maps/AbandonedShip_Rooms_B1F/header.inc
new file mode 100644
index 000000000..f9fab80eb
--- /dev/null
+++ b/data/maps/AbandonedShip_Rooms_B1F/header.inc
@@ -0,0 +1,15 @@
+AbandonedShip_Rooms_B1F: @ 8484518
+ .4byte AbandonedShip_Rooms_B1F_MapAttributes
+ .4byte AbandonedShip_Rooms_B1F_MapEvents
+ .4byte AbandonedShip_Rooms_B1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN02
+ .2byte 190
+ .byte 61
+ .byte 0
+ .byte 11
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/AbandonedShip_Rooms_B1F/map.bin b/data/maps/AbandonedShip_Rooms_B1F/map.bin
new file mode 100644
index 000000000..b18509507
--- /dev/null
+++ b/data/maps/AbandonedShip_Rooms_B1F/map.bin
@@ -0,0 +1 @@
+6@kmE@kc''@kmE7>Hs2uMHs6//Hs2uM?>PQ:2;2;2TUPQ:2;2;2;2;2PQ:2;2;2TU?>XY=28282\]XY=28282a282XY=2a282\]?>:2;2<2a282;2;2:2;2<28282826:2;2<28282;2;2?>=2VW8282826=282=28282a2828282?>=2^_82`28282=2pVp82=2`2828282b82?>6828282828282=2VGV82=282828282826? \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Underwater1/border.bin b/data/maps/AbandonedShip_Underwater1/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/AbandonedShip_Underwater1/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Underwater1/header.inc b/data/maps/AbandonedShip_Underwater1/header.inc
new file mode 100644
index 000000000..c3864d6c4
--- /dev/null
+++ b/data/maps/AbandonedShip_Underwater1/header.inc
@@ -0,0 +1,15 @@
+AbandonedShip_Underwater1: @ 8484550
+ .4byte AbandonedShip_Underwater1_MapAttributes
+ .4byte AbandonedShip_Underwater1_MapEvents
+ .4byte AbandonedShip_Underwater1_MapScripts
+ .4byte 0x0
+ .2byte BGM_DEEPDEEP
+ .2byte 192
+ .byte 61
+ .byte 0
+ .byte 14
+ .byte 5
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/AbandonedShip_Underwater1/map.bin b/data/maps/AbandonedShip_Underwater1/map.bin
new file mode 100644
index 000000000..2c73cfe86
--- /dev/null
+++ b/data/maps/AbandonedShip_Underwater1/map.bin
@@ -0,0 +1 @@
+222222222222222222222222222222222222222222222222 \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Underwater2/border.bin b/data/maps/AbandonedShip_Underwater2/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/AbandonedShip_Underwater2/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/AbandonedShip_Underwater2/header.inc b/data/maps/AbandonedShip_Underwater2/header.inc
new file mode 100644
index 000000000..b8b591eed
--- /dev/null
+++ b/data/maps/AbandonedShip_Underwater2/header.inc
@@ -0,0 +1,15 @@
+AbandonedShip_Underwater2: @ 84845C0
+ .4byte AbandonedShip_Underwater2_MapAttributes
+ .4byte AbandonedShip_Underwater2_MapEvents
+ .4byte AbandonedShip_Underwater2_MapScripts
+ .4byte 0x0
+ .2byte BGM_DEEPDEEP
+ .2byte 196
+ .byte 61
+ .byte 0
+ .byte 14
+ .byte 5
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/AbandonedShip_Underwater2/map.bin b/data/maps/AbandonedShip_Underwater2/map.bin
new file mode 100644
index 000000000..9dbd5c71a
--- /dev/null
+++ b/data/maps/AbandonedShip_Underwater2/map.bin
@@ -0,0 +1 @@
+2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 \ No newline at end of file
diff --git a/data/maps/AlteringCave/border.bin b/data/maps/AlteringCave/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/AlteringCave/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/AlteringCave/header.inc b/data/maps/AlteringCave/header.inc
new file mode 100644
index 000000000..bc062c9d5
--- /dev/null
+++ b/data/maps/AlteringCave/header.inc
@@ -0,0 +1,15 @@
+AlteringCave: @ 8484A58
+ .4byte AlteringCave_MapAttributes
+ .4byte AlteringCave_MapEvents
+ .4byte AlteringCave_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_MT_EMBER
+ .2byte 420
+ .byte 210
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/AlteringCave/map.bin b/data/maps/AlteringCave/map.bin
new file mode 100644
index 000000000..38bec91fa
--- /dev/null
+++ b/data/maps/AlteringCave/map.bin
@@ -0,0 +1 @@
+f222f222ff6662222226662222226662f2222222222222######"f22222222#######"2222222 !B!B!B!B!B!B"P22222222BBBBBBP222222222222fP222BBBBBB22222222222ffPf2BBBBBB22222222222222222BBBBB2222222222222222222222222222f2222222222222222f22222222222Pf22222222222222222P2222222222f22222222222222222####"22222222222222222 ##################"22222222666666222222226666662222222 #666666###"2<22#XYZ## \ No newline at end of file
diff --git a/data/maps/AncientTomb/border.bin b/data/maps/AncientTomb/border.bin
new file mode 100644
index 000000000..c07869a9f
--- /dev/null
+++ b/data/maps/AncientTomb/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/AncientTomb/header.inc b/data/maps/AncientTomb/header.inc
new file mode 100644
index 000000000..daf7c5c2d
--- /dev/null
+++ b/data/maps/AncientTomb/header.inc
@@ -0,0 +1,15 @@
+AncientTomb: @ 8484630
+ .4byte AncientTomb_MapAttributes
+ .4byte AncientTomb_MapEvents
+ .4byte AncientTomb_MapScripts
+ .4byte 0x0
+ .2byte BGM_MABOROSI
+ .2byte 281
+ .byte 83
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/AncientTomb/map.bin b/data/maps/AncientTomb/map.bin
new file mode 100644
index 000000000..406cf7279
--- /dev/null
+++ b/data/maps/AncientTomb/map.bin
Binary files differ
diff --git a/data/maps/AquaHideout_1F/border.bin b/data/maps/AquaHideout_1F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/AquaHideout_1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/AquaHideout_1F/header.inc b/data/maps/AquaHideout_1F/header.inc
new file mode 100644
index 000000000..b9b43b2d2
--- /dev/null
+++ b/data/maps/AquaHideout_1F/header.inc
@@ -0,0 +1,15 @@
+AquaHideout_1F: @ 8484144
+ .4byte AquaHideout_1F_MapAttributes
+ .4byte AquaHideout_1F_MapEvents
+ .4byte AquaHideout_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_AJITO
+ .2byte 143
+ .byte 197
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 8
+ .byte 3
+
diff --git a/data/maps/AquaHideout_1F/map.bin b/data/maps/AquaHideout_1F/map.bin
new file mode 100644
index 000000000..2330fe015
--- /dev/null
+++ b/data/maps/AquaHideout_1F/map.bin
@@ -0,0 +1,55 @@
+STST [\21$#![\0!21!!2"
+cd:292)2)2)2cd82)2:292)2)22)22)2'
+
+!!! k2l22(2(2(2(2k2l22(2(2(2(2(2(2(2(2(27
+
+2)2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2)2
+
+'//2(2(2]iiiiiiiiii^2(2(2(2(2(2
+
+/'/2(2(2`q1q1q1q1q1q1q1q1q1q12(2(2(2(2(2
+
+'/22(2(2`q1p1p1p1p1p1p1p1p1q12(2(2(2(2(2
+
+/22(2(2(2hiiiiiiiiii2(2(2(2(2
+
+)22(2(2(2(2*2*2*2*2*2*2*2*2*2*2*2*22(2(2(2(2'
+
+)2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2/
+
+)2(2(2]iiiiiif(2(2eiiiiii^2(2'
+
+)2(2(2`t||||||00||||||2(2/
+
+)2(2(2`us2(2*2
+
+)2(2(2`upppppppppppps2(2(2
+
+22(2`upppppppppppps2(2(2
+
+2uppppppppppppsy2(2(2
+
+2*BBBBtppppprBBBBB*2(2(2
+
+)2*22((BBBBuypppxsBBBBB((222
+
+)2(2(2t|||}ppp{||||2
+
+)2(2(2`uppps2
+
+)2(2(2`upppppppppppps2*2*2
+
+22(2`upppppppppppps2(2(2
+
+2`upppppppppppps222
+
+2uppppppppppppsy2
+
+)2*22*BBBBBtppprBBBBBB*2
+
+)2(2(2((BBBBBuypxsB(B(B(B(B(B((2*2*2
+
+mmmmmmmmougsnmmmmmmmmm
+
+qqqqqqqqusqqqqqqqqq
+llllllllllllllllllllll \ No newline at end of file
diff --git a/data/maps/AquaHideout_B1F/border.bin b/data/maps/AquaHideout_B1F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/AquaHideout_B1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/AquaHideout_B1F/header.inc b/data/maps/AquaHideout_B1F/header.inc
new file mode 100644
index 000000000..401f3ba9a
--- /dev/null
+++ b/data/maps/AquaHideout_B1F/header.inc
@@ -0,0 +1,15 @@
+AquaHideout_B1F: @ 8484160
+ .4byte AquaHideout_B1F_MapAttributes
+ .4byte AquaHideout_B1F_MapEvents
+ .4byte AquaHideout_B1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_AJITO
+ .2byte 144
+ .byte 197
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 8
+ .byte 3
+
diff --git a/data/maps/AquaHideout_B1F/map.bin b/data/maps/AquaHideout_B1F/map.bin
new file mode 100644
index 000000000..97efacec8
--- /dev/null
+++ b/data/maps/AquaHideout_B1F/map.bin
@@ -0,0 +1,83 @@
+ 01!2
+112!
+!!2!!
+
+!!!
+ST8292)22)22
+92922)22)2
+')22)22)2'
+
+)2)2)2
+
+!2[\ )2(2(2(2(2(2
+)2(2(2(2(2(27
+/2(2(2(2(2/
+
+72(227
+
+)22)22cd2)2(2(2(2(2(2
+)2(2(2(2(22*2*27
+)22(2(2(22(2
+
+)2*22(2(2*2*27
+
+)2(2(2(2k2l22(2(2(2(2(2(2  2Y2Y2Y2Y2Y2Y2Y2Y2Y2  2Y2Y2Y2Y2Y2Y2 
+)22(2(22(2(22(2
+
+)2(2(2(22A2B2222(2(2(2+,-.
+iiiiiii^
+
+)2(2(2(2IJ222(2(2(2
+$#$!!!
+0013456
+
+`2222222
+
+)2(2(2(2222A2B22(2(2(2
+377C66
+828292;<=>
+
+hiiiiiii
+
+)2(2(2(2222IJ(2(2(2
+33377C333
+)263(2CDEF
+
+)22(2(22(2(22(2
+
+)2(2(2(2222222(2(2(2
+33333323
+)2(2(2KLMN
+
+iiiiiii^
+  2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2 3333333333 )2(2(2(2UV)2
+
+`2222222
+)22(2(2(2(2(2
+
+hiiiiiii
+
+!!!!!!!!!!!!! !!!!!!!!!!  2Y2Y2Y2Y2Y2Y2 
+)22(2(22(2(22(2
+
+)2)2)2)2)2)2)2)2)2)2)2)2)22)2222222223
+iiiiiii^
+
+)2(22(2(2(2(2(2(2(2(2(2(2(2(23  2227 !!!!!!!
+
+`2222222
+
+iiiiiiiiiiiii^222D322222)2)2
+
+hiiiiiii
+
+`2222222222222222222222222222(2(2
+
+)22(2(22(2(22(2
+
+`2O1O1O1O1O1O1O1O1O1O1O1O12A2B2222A2B23322222(2(2
+  2Y2Y2Y2Y2Y2Y2Y2Y2 
+hiiiiiiiiiiiii2IJ222IJ22222(22
+
+)2*22*2*2*2*2*2*2*2*2*2*2*2*2222222222222222(2(2
+ !!!!!!!!!   2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  \ No newline at end of file
diff --git a/data/maps/AquaHideout_B2F/border.bin b/data/maps/AquaHideout_B2F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/AquaHideout_B2F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/AquaHideout_B2F/header.inc b/data/maps/AquaHideout_B2F/header.inc
new file mode 100644
index 000000000..6e4304732
--- /dev/null
+++ b/data/maps/AquaHideout_B2F/header.inc
@@ -0,0 +1,15 @@
+AquaHideout_B2F: @ 848417C
+ .4byte AquaHideout_B2F_MapAttributes
+ .4byte AquaHideout_B2F_MapEvents
+ .4byte AquaHideout_B2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_AJITO
+ .2byte 145
+ .byte 197
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 8
+ .byte 3
+
diff --git a/data/maps/AquaHideout_B2F/map.bin b/data/maps/AquaHideout_B2F/map.bin
new file mode 100644
index 000000000..2e843a8e4
--- /dev/null
+++ b/data/maps/AquaHideout_B2F/map.bin
@@ -0,0 +1,51 @@
+ST+,-.+,-.222 [\012
+!!23456!!3456!!!
+cd82922)22
+)2)22)22;<=>)2)2;<=>)2)2)2
+
+!2!
+k2l22(2(2(2(2
+)2(2(2(2(2CDEF2(2CDEF2(2(2
+
+)22)22)2
+)2(2(2(2(2(2(2
+)2(2(2(2(2KLMN2(2KLMN2(2(2
+
+)2(2(2(2(2
+)2(2(22A2B22
+)2(2(2(2(2(2UV2(2(2(2UV2(2(2(2
+
+)2(2(2
+)2(2(22IJ
+)2(222(2(2*2*22(2(2(2*2*22(2(2(2
+
+)2//(2
+)2(2(22222
+)2(22(222(2(222(222(2(2(2
+
+)277/2
+)22(22222
+)2(2202(2222(2
+  2Y2Y2Y2Y2  2Y2Y2Y2Y2Y2Y2 )2(2*2*22822(2:22(2(2
+)2(2(2(2(2(2*2*22(2*2*22*2*22(2(2
+
+!!!!! 012!!!!
+)2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2
+
+)2)2)2)2)228292:2)2)2)2)2
+)2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2 
+)2(2(2(2(2(2(2(2(2(2(22(2 )2(2(22(2(2(2'2Y2Y2Y2Y2Y2Y2Y2Y2
+)2(2(2(2(2(2(2(2(2(2(2(2(2)2(2(2(2(2(2'/
+
+iiiiiiiiiiif )2(2(2(2(2(2/// !!!!!!!!
+
+2iiiiiii^2)2)2)2)2)2)2)2)2
+
+VVVVVVVVppp2(2(2(2(2(2(22(2
+
+GGGGGGGVVVVVVVVpppppy2(2(2(2(2
+
+GGGGGGGGGGGGGGVVVVVp*22(2(2(2(2''//
+
+GGGGGGGGGGGGGGGGGGVp2(2(2(2(2//)22
+ GGGGGGGGGGGGGGGGGGVp2Y2Y2Y2Y2 2 2 2Y2 GGGGGGGGGGGGGGGGGGVpb iiiiiiiiiiiiiiiiiiiiij !!!!!!!!  \ No newline at end of file
diff --git a/data/maps/AquaHideout_UnusedRubyMap1/border.bin b/data/maps/AquaHideout_UnusedRubyMap1/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/AquaHideout_UnusedRubyMap1/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/AquaHideout_UnusedRubyMap1/header.inc b/data/maps/AquaHideout_UnusedRubyMap1/header.inc
new file mode 100644
index 000000000..1b678dfd1
--- /dev/null
+++ b/data/maps/AquaHideout_UnusedRubyMap1/header.inc
@@ -0,0 +1,15 @@
+AquaHideout_UnusedRubyMap1: @ 84846D8
+ .4byte AquaHideout_UnusedRubyMap1_MapAttributes
+ .4byte AquaHideout_UnusedRubyMap1_MapEvents
+ .4byte AquaHideout_UnusedRubyMap1_MapScripts
+ .4byte 0x0
+ .2byte BGM_AJITO
+ .2byte 316
+ .byte 197
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 2
+
diff --git a/data/maps/AquaHideout_UnusedRubyMap1/map.bin b/data/maps/AquaHideout_UnusedRubyMap1/map.bin
new file mode 100644
index 000000000..52c2d57eb
--- /dev/null
+++ b/data/maps/AquaHideout_UnusedRubyMap1/map.bin
Binary files differ
diff --git a/data/maps/AquaHideout_UnusedRubyMap2/border.bin b/data/maps/AquaHideout_UnusedRubyMap2/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/AquaHideout_UnusedRubyMap2/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/AquaHideout_UnusedRubyMap2/header.inc b/data/maps/AquaHideout_UnusedRubyMap2/header.inc
new file mode 100644
index 000000000..17d98b346
--- /dev/null
+++ b/data/maps/AquaHideout_UnusedRubyMap2/header.inc
@@ -0,0 +1,15 @@
+AquaHideout_UnusedRubyMap2: @ 84846F4
+ .4byte AquaHideout_UnusedRubyMap2_MapAttributes
+ .4byte AquaHideout_UnusedRubyMap2_MapEvents
+ .4byte AquaHideout_UnusedRubyMap2_MapScripts
+ .4byte 0x0
+ .2byte BGM_AJITO
+ .2byte 317
+ .byte 197
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 2
+
diff --git a/data/maps/AquaHideout_UnusedRubyMap2/map.bin b/data/maps/AquaHideout_UnusedRubyMap2/map.bin
new file mode 100644
index 000000000..1406dde5d
--- /dev/null
+++ b/data/maps/AquaHideout_UnusedRubyMap2/map.bin
@@ -0,0 +1,95 @@
+ 01!2
+012!!!!!!!3333
+
+!!!
+STST8292)22)22
+82922)22)2)2)2)2)2)2)27777//
+
+)2)2)2
+
+!2[\01!!
+2[\
+)2(2(2(2(2(2
+)2(2(2(2(22A2B222(2(2*2*27777
+
+72(227
+
+)22)22cd8292)2)2
+'2)22cd
+)2(2(2(2(2(2
+)2(2(2(2(22IJ2(2(2(2(2*2*2*2*2
+
+)2*22(2(2*2*27
+
+)2(2(2(2k2l2(22(2(2
+/2(2(2k2l2
+)2(2(2(22(2
+)2(2(2(2(222222(2(2(22(2(2(2(2
+
+)22(2(22(2(22(2
+
+)2(2(2(2(2(2(2(2(2(2
+'2(2(2(2(2
+)22A2B222  2Y2Y2Y2Y2Y2Y2Y2Y22Y2Y2Y2Y2Y2Y2Y2Y2 
+mmmmmmmo
+
+)2(2(2(2(2(2(22(2(2
+/62(2(2(2(2
+)22IJ2
+vq0q0q0q0q0q0q0w
+  2Y2Y2Y2Y2Y2Y2Y2Y2Y2 )222(2(2(2
+)222222
+$#$!!
+001!3333
+
+~yyyyyyy
+)2(2(2(2(2(2
+)2(2(2(2(2(2
+7733
+828292)2
+
+)22(2(22(2(22(2
+ !!!!!!!!!!  2Y2Y2Y2Y2Y2  2Y2Y2Y2Y2Y2 333C33
+)2(2(2(2*2*2
+
+mmmmmmmo
++,-.33333332
+)2(22(2(22*2*2
+
+vq0q0q0q0q0q0q0w
+
+345601
+0011!! 333333333  2Y2Y2Y2Y2Y2Y2Y2 
+~yyyyyyy
+
+;<=>8292
+82829292)2)2
+)22(2(22(2(22(2
+
+CDEF)22
+)2(22(2(2(2 !!!!!!!!! !!!!!!!!
+
+mmmmmmmo
+
+KLMN)2(2
+)2(2(2(2(2(22)2)2)2)2)2)2)2)2)22)2)2)2)2)2)2)2)2
+
+vq0q0q0q0q0q0q0w
+
+)2UV)22(2  2Y2Y2Y2Y2Y2Y2Y2Y223222222222222(2(2
+
+~yyyyyyy
+
+)2)2)2)2(2(2  2A2B222@2B2332(2(2
+
+)22(2(22(2(22(2
+
+)2(2(2(233
+!!!!!!!!! 2IJ22HJ2(2(2
+  2Y2Y2Y2Y2Y2Y2Y2Y2 
+)2(233
+)2)2)2)2)2)2)2)2)222222222222222(22
+
+3377(2(2
+)2(22(2(2(2(2(2(2(22222222222222(2(2
+ !!!!!!!!!  7777  2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2  !!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!  \ No newline at end of file
diff --git a/data/maps/AquaHideout_UnusedRubyMap3/border.bin b/data/maps/AquaHideout_UnusedRubyMap3/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/AquaHideout_UnusedRubyMap3/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/AquaHideout_UnusedRubyMap3/header.inc b/data/maps/AquaHideout_UnusedRubyMap3/header.inc
new file mode 100644
index 000000000..73c8d7c0d
--- /dev/null
+++ b/data/maps/AquaHideout_UnusedRubyMap3/header.inc
@@ -0,0 +1,15 @@
+AquaHideout_UnusedRubyMap3: @ 8484710
+ .4byte AquaHideout_UnusedRubyMap3_MapAttributes
+ .4byte AquaHideout_UnusedRubyMap3_MapEvents
+ .4byte AquaHideout_UnusedRubyMap3_MapScripts
+ .4byte 0x0
+ .2byte BGM_AJITO
+ .2byte 318
+ .byte 197
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 2
+
diff --git a/data/maps/AquaHideout_UnusedRubyMap3/map.bin b/data/maps/AquaHideout_UnusedRubyMap3/map.bin
new file mode 100644
index 000000000..68afb0063
--- /dev/null
+++ b/data/maps/AquaHideout_UnusedRubyMap3/map.bin
@@ -0,0 +1,49 @@
+ST|}~|}~ [\012
+!!23456!!3456!!!
+cd82922)22
+)2)22)22;<=>)2)2;<=>)2)2)2
+
+2! k2l22(2(2(2(2
+)2(2(2(2(2CDEF(2(2CDEF2(2(2
+
+'2)22)22)2(2(2(2(2(2(2
+)2(2(2(2(2KLMN(2(2KLMN22(2
+
+/(2(2(2(22A2B222(2(2(2
+)222(2(2(2UV2(2(2(2UV2(2(2(2
+
+/(2(2(2(22IJ2(2(2(2
+)222(2(2(2(2(2(2(2*2*22(2(2(2
+
+)2(2(2(2(222222(2(2(2
+)2:22(2(2(2(2(2(222(222(2(2
+
+)2(2(2(2(222222(2(2(2
+)2*2*22(2(2(2(2(2(2(222(2
+  2Y22Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2  2Y2Y2Y2Y2Y2Y2Y22(2(2:22(2
+(2(2*2*22*2*22(2
+
+01
+!!!!!!!!!!
+!!!!!!!! (2(2(2(2(2(2(2(2(2
+
+8292
+)2)2)2)2)2)2)2)2)2)2 )2)2)2)2)2)2)2)22(2(2(2(2(22Y2Y2Y2 
+)2(2
+)2(2(2(2(2(2(2(22(2)2(22(2(2(2(2(2(2(2(2(2(2(2
+)22
+)2(2(2(2(2(2(2(2(2(2 iiiiiiiiiiii^ !!!
+
+)2(2
+)2(2(2(2piiiif22)2)2)2
+
+)2(2 )2(2(2(2`pppppVVVVVVb2(22(2
+
+)2(2)2(2(2(2`ppppppVVVVVGGGGGVb2(2(2(2
+
+)2(2 )2(2(2(2xpppVVVGGGGGGGGGGVb2(2(2(2
+
+)2(22)2(2(2(2*2pVVGGGGGGGGGGGGGVb2(2(2(2
+
+)2(2(2(2(2(2(2VGGGGGGGGGGGGGGGVb2(2(2(2
+  2Y2Y2Y2Y2Y22`VGGGGGGGGGGGGGGGVb{3(2(2(2 `VGGGGGGGGGGGGGGGVb !!!!!! hiiiiiiiiiiiiiiiiiiij !!!  \ No newline at end of file
diff --git a/data/maps/ArtisanCave_1F/border.bin b/data/maps/ArtisanCave_1F/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/ArtisanCave_1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/ArtisanCave_1F/header.inc b/data/maps/ArtisanCave_1F/header.inc
new file mode 100644
index 000000000..dbfd31dba
--- /dev/null
+++ b/data/maps/ArtisanCave_1F/header.inc
@@ -0,0 +1,15 @@
+ArtisanCave_1F: @ 84849B0
+ .4byte ArtisanCave_1F_MapAttributes
+ .4byte ArtisanCave_1F_MapEvents
+ .4byte ArtisanCave_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN01
+ .2byte 401
+ .byte 202
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/ArtisanCave_1F/map.bin b/data/maps/ArtisanCave_1F/map.bin
new file mode 100644
index 000000000..2009f24f4
--- /dev/null
+++ b/data/maps/ArtisanCave_1F/map.bin
@@ -0,0 +1 @@
+666666666666666666666666666666666666666666666666666666666666666666?262666666262666666262666666262666666226666662266666626U266666622262226666662226222666666 6 6 6"22U22  6 6 6666666666"22222 666666666666"222 6666666666662<2666666666666 6XYZ 6666666666666 6 6 6 6 6 6 6666666666666 6 6 6 6 6 6 6 6 6666666666666666666666666666 \ No newline at end of file
diff --git a/data/maps/ArtisanCave_B1F/border.bin b/data/maps/ArtisanCave_B1F/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/ArtisanCave_B1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/ArtisanCave_B1F/header.inc b/data/maps/ArtisanCave_B1F/header.inc
new file mode 100644
index 000000000..3caf8f660
--- /dev/null
+++ b/data/maps/ArtisanCave_B1F/header.inc
@@ -0,0 +1,15 @@
+ArtisanCave_B1F: @ 8484994
+ .4byte ArtisanCave_B1F_MapAttributes
+ .4byte ArtisanCave_B1F_MapEvents
+ .4byte ArtisanCave_B1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN01
+ .2byte 400
+ .byte 202
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/ArtisanCave_B1F/map.bin b/data/maps/ArtisanCave_B1F/map.bin
new file mode 100644
index 000000000..c5ce45c52
--- /dev/null
+++ b/data/maps/ArtisanCave_B1F/map.bin
@@ -0,0 +1 @@
+22222666666666666666666666666666666666666222226666666666666666666666666666666666666222266'6622226'666666662222666666622222266222222266662222'226666666'2222222222222222266662222 6 6"2662222  B B"222222222266662222662U222 "222222222666622226622222222222222 BB"2222222266662222 6 6"222222  B B B B B B B B B BBB B B B B B B"222266662222 2 6"22222   6 6 6 6"BBBBBBBBBBBB"22266662222U2222   6"B"2266662222U222266B2266662222U222266B2266662222222266B222222222222266662222'2222'66B22  6 6 6 6"2222266662222222  6 6 6B2  " ""2222666622222  6 6666BB B B B B B BU"222666622222  6 6 6 6 6BBBBBBBBBBU    6 6 6 66622222  B B B B BBBB             6 6 6 6 6"6622222BBBBBBBB     "   " " " "6622222BUBBUUU662222222222BBUBBUUU6622222BBBBBBU        662222222222BBBBBBUBBBBBBBB6666666662222222222BBBBBBBUB         2222222222BBBBBBBBB        22222BBBBBBBBB22266666  2222222222BBBBBBBBB226     62222222222BUBBBBBB2226     2222 6 6"2222BBBBBBBB'       6    2222 6"62222BBBBBBBBB  "     62222 2" 6" 6"222BUBBBBBBBBU6666622222U6222BBBBBBBBUBBBBBBBBB62222U6U222BBBBBB66666622226622  B B2222222BBBBBB662222U622BB22BB2226U22226622BBBBBBB22BB2226666662222U22B22BB22266666622222222B22222B       66666622222222B22222B'        66666622222222U2222U6        6666662222222222222266U6        66666622222222222222'U66U66222222222222222666622222222222222222666622222222U222222222666666622222<22222222222226666666666666666666662222 XYZ             6666666666666666666662222                      6666666666666666662222  6  6  6  6  6  6   6                       666622222666666666666666666666666666666666666666662222266666666666666666666666666666666666666666 \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattleArenaBattleRoom/border.bin b/data/maps/BattleFrontier_BattleArenaBattleRoom/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleArenaBattleRoom/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattleArenaBattleRoom/header.inc b/data/maps/BattleFrontier_BattleArenaBattleRoom/header.inc
new file mode 100644
index 000000000..f55683ddf
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleArenaBattleRoom/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattleArenaBattleRoom: @ 8485484
+ .4byte BattleFrontier_BattleArenaBattleRoom_MapAttributes
+ .4byte BattleFrontier_BattleArenaBattleRoom_MapEvents
+ .4byte BattleFrontier_BattleArenaBattleRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_ARENA
+ .2byte 356
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattleArenaBattleRoom/map.bin b/data/maps/BattleFrontier_BattleArenaBattleRoom/map.bin
new file mode 100644
index 000000000..526de2248
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleArenaBattleRoom/map.bin
@@ -0,0 +1 @@
+PPQPPQPPPPUPPUPPXXYXXYXXXX]XX]XX``a``a````e``e``22222222222222222222(2)2*2+2,2-2.2/22222}2}2}2}20212223242526272}2}2}2}222228292:2;2<2=2>2?22222u2u2v2w2@2A2B2C2D2E2F2G2u2v2u2u2 2 2 2 2H2I2J2K2L2M2N2O2 2 2 2 222222'2'222'2'2222222222222222222222 \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattleArenaCorridor/border.bin b/data/maps/BattleFrontier_BattleArenaCorridor/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleArenaCorridor/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattleArenaCorridor/header.inc b/data/maps/BattleFrontier_BattleArenaCorridor/header.inc
new file mode 100644
index 000000000..2820635f3
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleArenaCorridor/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattleArenaCorridor: @ 8485468
+ .4byte BattleFrontier_BattleArenaCorridor_MapAttributes
+ .4byte BattleFrontier_BattleArenaCorridor_MapEvents
+ .4byte BattleFrontier_BattleArenaCorridor_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_ARENA
+ .2byte 355
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattleArenaCorridor/map.bin b/data/maps/BattleFrontier_BattleArenaCorridor/map.bin
new file mode 100644
index 000000000..1b124b610
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleArenaCorridor/map.bin
@@ -0,0 +1 @@
+VWWVWWWWkWWk^__^____s__sf6g6g6f6g6g6g6g6{6g6g6{6nononononoVWWVWWWWkWWknonoVWWVWWWWkWWknono^__^____s__snonof6g6g6f6g6g6g6g6{6g6g6{6nont2222222222222z22o2222222222222 \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattleArenaLobby/border.bin b/data/maps/BattleFrontier_BattleArenaLobby/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleArenaLobby/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattleArenaLobby/header.inc b/data/maps/BattleFrontier_BattleArenaLobby/header.inc
new file mode 100644
index 000000000..660d353c1
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleArenaLobby/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattleArenaLobby: @ 848544C
+ .4byte BattleFrontier_BattleArenaLobby_MapAttributes
+ .4byte BattleFrontier_BattleArenaLobby_MapEvents
+ .4byte BattleFrontier_BattleArenaLobby_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_ARENA
+ .2byte 354
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattleArenaLobby/map.bin b/data/maps/BattleFrontier_BattleArenaLobby/map.bin
new file mode 100644
index 000000000..2792d7979
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleArenaLobby/map.bin
@@ -0,0 +1,3 @@
+P6Q6P6P6P6P6S6X6R6P6P6P6P6U6P6P6X6Y666Z6[6S6\6R6Z6[666]6X6X6`6a666b6c6T6d6a6b6c666e6`6`6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF#FFFFFF$FFFFFF2%FFFFFF&F24 2FFFFFF 22
+2 2 22222'222 22 22222 2222 2 222222222 222222222222222222222222
+222222222222222 \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/border.bin b/data/maps/BattleFrontier_BattleDomeBattleRoom/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/header.inc b/data/maps/BattleFrontier_BattleDomeBattleRoom/header.inc
new file mode 100644
index 000000000..3a7eca639
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattleDomeBattleRoom: @ 8485388
+ .4byte BattleFrontier_BattleDomeBattleRoom_MapAttributes
+ .4byte BattleFrontier_BattleDomeBattleRoom_MapEvents
+ .4byte BattleFrontier_BattleDomeBattleRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_DOME_TOURNAMENT
+ .2byte 335
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/map.bin b/data/maps/BattleFrontier_BattleDomeBattleRoom/map.bin
new file mode 100644
index 000000000..ffb450f3c
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/map.bin
@@ -0,0 +1,2 @@
+               !"#$%&      ()*+,-.      0123456       
+   89:;<=>>    \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattleDomeCorridor/border.bin b/data/maps/BattleFrontier_BattleDomeCorridor/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleDomeCorridor/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattleDomeCorridor/header.inc b/data/maps/BattleFrontier_BattleDomeCorridor/header.inc
new file mode 100644
index 000000000..a9093cc84
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleDomeCorridor/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattleDomeCorridor: @ 8485350
+ .4byte BattleFrontier_BattleDomeCorridor_MapAttributes
+ .4byte BattleFrontier_BattleDomeCorridor_MapEvents
+ .4byte BattleFrontier_BattleDomeCorridor_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_DOME
+ .2byte 333
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattleDomeCorridor/map.bin b/data/maps/BattleFrontier_BattleDomeCorridor/map.bin
new file mode 100644
index 000000000..2a9c49675
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleDomeCorridor/map.bin
@@ -0,0 +1 @@
+ABCDEFGDABCDEFGDABCDEFGDABCDEFGDABCDEFGDABCDEFGDIJKLMNOLIJKLMNOLIJKLMNOLIJKLMNOLIJKLMNOLIJKLMNOLQRSSUVWTQRSTUVWTQRSTUVWTQRSTUVWTQRSTUVWTQRSTUVWTYZ[[]^_\YZ[\]^_\YZ[\]^_\YZ[\]^_\YZ[\]^_\YZ[\]^_\DBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBHA@A@A@A@A@A@A@A@A@A@A@A@A@A@A@A@A@A@A@A@A@A@A@AI@A@A@A@A@A@A@A@A@A@A@A=>@A@A@A@A@A@A@A@A@A@A@A@ \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattleDomeLobby/border.bin b/data/maps/BattleFrontier_BattleDomeLobby/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleDomeLobby/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattleDomeLobby/header.inc b/data/maps/BattleFrontier_BattleDomeLobby/header.inc
new file mode 100644
index 000000000..e7b1c9935
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleDomeLobby/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattleDomeLobby: @ 8485334
+ .4byte BattleFrontier_BattleDomeLobby_MapAttributes
+ .4byte BattleFrontier_BattleDomeLobby_MapEvents
+ .4byte BattleFrontier_BattleDomeLobby_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_DOME
+ .2byte 332
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattleDomeLobby/map.bin b/data/maps/BattleFrontier_BattleDomeLobby/map.bin
new file mode 100644
index 000000000..655c6a39c
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleDomeLobby/map.bin
@@ -0,0 +1 @@
+%&%&%&  -.  -.    -.  -.   567     567    34     34  $; <$$; <$DBCBCBCBCBCBCBCBCBCBCBCHA@A@A@A@A@A@A@A@A@A@A@I@A@A@A@A@A@A@A@Aqr@AHA@A@A@s@A@A@yzI@I@@tuv@A{A@`ab@HAI|}~hijII@CBBCTA@A@CBBCTAHA@A@A@A@A@A@A@A@A@A@A@@A@A@A@A@A@A@AA@A@A@A@A@A@A@'@A@A@A@A@A@A@A/A@A@A@A@=>A@A@ \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattleDomePreBattleRoom/border.bin b/data/maps/BattleFrontier_BattleDomePreBattleRoom/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleDomePreBattleRoom/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattleDomePreBattleRoom/header.inc b/data/maps/BattleFrontier_BattleDomePreBattleRoom/header.inc
new file mode 100644
index 000000000..a2c9d8bf6
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleDomePreBattleRoom/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattleDomePreBattleRoom: @ 848536C
+ .4byte BattleFrontier_BattleDomePreBattleRoom_MapAttributes
+ .4byte BattleFrontier_BattleDomePreBattleRoom_MapEvents
+ .4byte BattleFrontier_BattleDomePreBattleRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_DOME_TOURNAMENT
+ .2byte 334
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattleDomePreBattleRoom/map.bin b/data/maps/BattleFrontier_BattleDomePreBattleRoom/map.bin
new file mode 100644
index 000000000..49f40213a
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleDomePreBattleRoom/map.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattleFactoryBattleRoom/border.bin b/data/maps/BattleFrontier_BattleFactoryBattleRoom/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleFactoryBattleRoom/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattleFactoryBattleRoom/header.inc b/data/maps/BattleFrontier_BattleFactoryBattleRoom/header.inc
new file mode 100644
index 000000000..5ae64a1f5
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleFactoryBattleRoom/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattleFactoryBattleRoom: @ 84854D8
+ .4byte BattleFrontier_BattleFactoryBattleRoom_MapAttributes
+ .4byte BattleFrontier_BattleFactoryBattleRoom_MapEvents
+ .4byte BattleFrontier_BattleFactoryBattleRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_FACTORY
+ .2byte 348
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattleFactoryBattleRoom/map.bin b/data/maps/BattleFrontier_BattleFactoryBattleRoom/map.bin
new file mode 100644
index 000000000..feffbf038
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleFactoryBattleRoom/map.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/border.bin b/data/maps/BattleFrontier_BattleFactoryLobby/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleFactoryLobby/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/header.inc b/data/maps/BattleFrontier_BattleFactoryLobby/header.inc
new file mode 100644
index 000000000..b376011f4
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleFactoryLobby/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattleFactoryLobby: @ 84854A0
+ .4byte BattleFrontier_BattleFactoryLobby_MapAttributes
+ .4byte BattleFrontier_BattleFactoryLobby_MapEvents
+ .4byte BattleFrontier_BattleFactoryLobby_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_FACTORY
+ .2byte 346
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/map.bin b/data/maps/BattleFrontier_BattleFactoryLobby/map.bin
new file mode 100644
index 000000000..66037e302
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleFactoryLobby/map.bin
@@ -0,0 +1,2 @@
+#""#"""#"""#""#$()$(%)$(%)$()$*+,*+,9<S234KTUVK234S<<A:`S\3]3^3LO;I22a-.=3202;/-432432 4!_1 4!3323322XYZ22532222PQR273243222222222222222228332222222222222222@4322222222 
+  H \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/border.bin b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/header.inc b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/header.inc
new file mode 100644
index 000000000..b8427f82f
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattleFactoryPreBattleRoom: @ 84854BC
+ .4byte BattleFrontier_BattleFactoryPreBattleRoom_MapAttributes
+ .4byte BattleFrontier_BattleFactoryPreBattleRoom_MapEvents
+ .4byte BattleFrontier_BattleFactoryPreBattleRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_FACTORY
+ .2byte 347
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/map.bin b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/map.bin
new file mode 100644
index 000000000..15e97cb30
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/map.bin
@@ -0,0 +1,2 @@
+01BR%&'JRR=>?-./ //=>?]^_*+,*+,ABCOMN234234DEFS\UVSSSHIJS`abcdDhijkl3L4PQ33PQXY Z[4&'4 XY&'3&'3 
+ \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/border.bin b/data/maps/BattleFrontier_BattlePalaceBattleRoom/border.bin
new file mode 100644
index 000000000..9afd13cdc
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/header.inc b/data/maps/BattleFrontier_BattlePalaceBattleRoom/header.inc
new file mode 100644
index 000000000..4bfde6991
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattlePalaceBattleRoom: @ 84853DC
+ .4byte BattleFrontier_BattlePalaceBattleRoom_MapAttributes
+ .4byte BattleFrontier_BattlePalaceBattleRoom_MapEvents
+ .4byte BattleFrontier_BattlePalaceBattleRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_PALACE
+ .2byte 344
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/map.bin b/data/maps/BattleFrontier_BattlePalaceBattleRoom/map.bin
new file mode 100644
index 000000000..58d0a581f
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/map.bin
@@ -0,0 +1 @@
+K2L2?6K2L2?6K2L2?6K2L2?6H6I2JM2N2G6M2N2G6M2N2G6M2N2G6P6Q2RU2V2O6U2V2O6U2V2O6U2V2O61111X2Y6Z6[6\6]6^6112222&2`6a6b6c6d6e6f612222&21hijklmn12222pqrstuv12222xyz{|}~1222212222ppppppppp \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattlePalaceCorridor/border.bin b/data/maps/BattleFrontier_BattlePalaceCorridor/border.bin
new file mode 100644
index 000000000..9afd13cdc
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePalaceCorridor/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattlePalaceCorridor/header.inc b/data/maps/BattleFrontier_BattlePalaceCorridor/header.inc
new file mode 100644
index 000000000..a3786f794
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePalaceCorridor/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattlePalaceCorridor: @ 84853C0
+ .4byte BattleFrontier_BattlePalaceCorridor_MapAttributes
+ .4byte BattleFrontier_BattlePalaceCorridor_MapEvents
+ .4byte BattleFrontier_BattlePalaceCorridor_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_PALACE
+ .2byte 343
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattlePalaceCorridor/map.bin b/data/maps/BattleFrontier_BattlePalaceCorridor/map.bin
new file mode 100644
index 000000000..f2bc6aca4
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePalaceCorridor/map.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/border.bin b/data/maps/BattleFrontier_BattlePalaceLobby/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePalaceLobby/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/header.inc b/data/maps/BattleFrontier_BattlePalaceLobby/header.inc
new file mode 100644
index 000000000..357a5d9e6
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePalaceLobby/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattlePalaceLobby: @ 84853A4
+ .4byte BattleFrontier_BattlePalaceLobby_MapAttributes
+ .4byte BattleFrontier_BattlePalaceLobby_MapEvents
+ .4byte BattleFrontier_BattlePalaceLobby_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_PALACE
+ .2byte 342
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/map.bin b/data/maps/BattleFrontier_BattlePalaceLobby/map.bin
new file mode 100644
index 000000000..cda8ff10e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePalaceLobby/map.bin
@@ -0,0 +1,7 @@
+ 
+  
+   
+    
+    
+   
+   6   6 2 2 2 6 2 2 2 2 6666 2 6 2 2 2 6 2  6 6   666 6 2 6666 2 666 6 2  6 666 6626 66 6#6$6%66 6626 666 6 !@A+,- !@A)*)*1"1" \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattlePikeCorridor/border.bin b/data/maps/BattleFrontier_BattlePikeCorridor/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePikeCorridor/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattlePikeCorridor/header.inc b/data/maps/BattleFrontier_BattlePikeCorridor/header.inc
new file mode 100644
index 000000000..3c305dbee
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePikeCorridor/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattlePikeCorridor: @ 8485510
+ .4byte BattleFrontier_BattlePikeCorridor_MapAttributes
+ .4byte BattleFrontier_BattlePikeCorridor_MapEvents
+ .4byte BattleFrontier_BattlePikeCorridor_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_PIKE
+ .2byte 350
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 4
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattlePikeCorridor/map.bin b/data/maps/BattleFrontier_BattlePikeCorridor/map.bin
new file mode 100644
index 000000000..5e02c145b
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePikeCorridor/map.bin
@@ -0,0 +1 @@
+666666666$2%222,22222,222222222222222222222222222222222222222222 \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattlePikeLobby/border.bin b/data/maps/BattleFrontier_BattlePikeLobby/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePikeLobby/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattlePikeLobby/header.inc b/data/maps/BattleFrontier_BattlePikeLobby/header.inc
new file mode 100644
index 000000000..c1533a1ed
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePikeLobby/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattlePikeLobby: @ 84854F4
+ .4byte BattleFrontier_BattlePikeLobby_MapAttributes
+ .4byte BattleFrontier_BattlePikeLobby_MapEvents
+ .4byte BattleFrontier_BattlePikeLobby_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_PIKE
+ .2byte 349
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattlePikeLobby/map.bin b/data/maps/BattleFrontier_BattlePikeLobby/map.bin
new file mode 100644
index 000000000..4cbdfb405
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePikeLobby/map.bin
@@ -0,0 +1 @@
+666666666666666666*+,()23422201:3;3<3222832932222 2 22222222 3!3"322222 2222222 2 22 222 22 222222222222 2222222 222222222222222 333 222 \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom1/border.bin b/data/maps/BattleFrontier_BattlePikeRandomRoom1/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePikeRandomRoom1/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom1/header.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom1/header.inc
new file mode 100644
index 000000000..f932492e0
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePikeRandomRoom1/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattlePikeRandomRoom1: @ 8485548
+ .4byte BattleFrontier_BattlePikeRandomRoom1_MapAttributes
+ .4byte BattleFrontier_BattlePikeRandomRoom1_MapEvents
+ .4byte BattleFrontier_BattlePikeRandomRoom1_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_PIKE
+ .2byte 352
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 4
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom1/map.bin b/data/maps/BattleFrontier_BattlePikeRandomRoom1/map.bin
new file mode 100644
index 000000000..142150cbe
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePikeRandomRoom1/map.bin
@@ -0,0 +1 @@
+66666662666622,222,2222222222222322232222-222-22 \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom2/border.bin b/data/maps/BattleFrontier_BattlePikeRandomRoom2/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePikeRandomRoom2/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom2/header.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom2/header.inc
new file mode 100644
index 000000000..35191e707
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePikeRandomRoom2/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattlePikeRandomRoom2: @ 8485564
+ .4byte BattleFrontier_BattlePikeRandomRoom2_MapAttributes
+ .4byte BattleFrontier_BattlePikeRandomRoom2_MapEvents
+ .4byte BattleFrontier_BattlePikeRandomRoom2_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_PIKE
+ .2byte 353
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 4
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom2/map.bin b/data/maps/BattleFrontier_BattlePikeRandomRoom2/map.bin
new file mode 100644
index 000000000..27a6e52aa
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePikeRandomRoom2/map.bin
@@ -0,0 +1 @@
+6666666666666665252=@3A3B3=2H3I3J3242P3Q3R32<X3Y3Z3 \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom3/border.bin b/data/maps/BattleFrontier_BattlePikeRandomRoom3/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePikeRandomRoom3/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom3/header.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom3/header.inc
new file mode 100644
index 000000000..69fcb0ee0
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePikeRandomRoom3/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattlePikeRandomRoom3: @ 8485580
+ .4byte BattleFrontier_BattlePikeRandomRoom3_MapAttributes
+ .4byte BattleFrontier_BattlePikeRandomRoom3_MapEvents
+ .4byte BattleFrontier_BattlePikeRandomRoom3_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_PIKE
+ .2byte 358
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 4
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom3/map.bin b/data/maps/BattleFrontier_BattlePikeRandomRoom3/map.bin
new file mode 100644
index 000000000..8ce7f1c37
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePikeRandomRoom3/map.bin
@@ -0,0 +1 @@
+666662626262222222422 3222 322>22272 3 3222 3 32>22 3 3 3 3 3 3 32242 3 3 3 3 3 32 3>232 3 3 3 3 32 3>2722 3 3 3 3 32 3>23 3222222 3>322232222222 \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattlePikeThreePathRoom/border.bin b/data/maps/BattleFrontier_BattlePikeThreePathRoom/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePikeThreePathRoom/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattlePikeThreePathRoom/header.inc b/data/maps/BattleFrontier_BattlePikeThreePathRoom/header.inc
new file mode 100644
index 000000000..95da241ae
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePikeThreePathRoom/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattlePikeThreePathRoom: @ 848552C
+ .4byte BattleFrontier_BattlePikeThreePathRoom_MapAttributes
+ .4byte BattleFrontier_BattlePikeThreePathRoom_MapEvents
+ .4byte BattleFrontier_BattlePikeThreePathRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_PIKE
+ .2byte 351
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 4
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattlePikeThreePathRoom/map.bin b/data/maps/BattleFrontier_BattlePikeThreePathRoom/map.bin
new file mode 100644
index 000000000..9618fe22a
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePikeThreePathRoom/map.bin
@@ -0,0 +1 @@
+6626262622222222222222222222222222222222222222222222222222222222222222223222232222222-2222-2222 \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/border.bin b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/header.inc b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/header.inc
new file mode 100644
index 000000000..d0b08b300
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattlePointExchangeServiceCorner: @ 84855D4
+ .4byte BattleFrontier_BattlePointExchangeServiceCorner_MapAttributes
+ .4byte BattleFrontier_BattlePointExchangeServiceCorner_MapEvents
+ .4byte BattleFrontier_BattlePointExchangeServiceCorner_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 398
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/map.bin b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/map.bin
new file mode 100644
index 000000000..62d5761e0
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/map.bin
@@ -0,0 +1,2 @@
+ 
+  mnouvw \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattlePyramidEmptySquare/border.bin b/data/maps/BattleFrontier_BattlePyramidEmptySquare/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePyramidEmptySquare/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattlePyramidEmptySquare/header.inc b/data/maps/BattleFrontier_BattlePyramidEmptySquare/header.inc
new file mode 100644
index 000000000..ead91f494
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePyramidEmptySquare/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattlePyramidEmptySquare: @ 8485414
+ .4byte BattleFrontier_BattlePyramidEmptySquare_MapAttributes
+ .4byte BattleFrontier_BattlePyramidEmptySquare_MapEvents
+ .4byte BattleFrontier_BattlePyramidEmptySquare_MapScripts
+ .4byte 0x0
+ .2byte 65535
+ .2byte 361
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 4
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattlePyramidEmptySquare/map.bin b/data/maps/BattleFrontier_BattlePyramidEmptySquare/map.bin
new file mode 100644
index 000000000..7c224d524
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePyramidEmptySquare/map.bin
@@ -0,0 +1 @@
+22222222222222222222222222222222 \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/border.bin b/data/maps/BattleFrontier_BattlePyramidLobby/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePyramidLobby/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/header.inc b/data/maps/BattleFrontier_BattlePyramidLobby/header.inc
new file mode 100644
index 000000000..fe8235101
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePyramidLobby/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattlePyramidLobby: @ 84853F8
+ .4byte BattleFrontier_BattlePyramidLobby_MapAttributes
+ .4byte BattleFrontier_BattlePyramidLobby_MapEvents
+ .4byte BattleFrontier_BattlePyramidLobby_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_PYRAMID
+ .2byte 360
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/map.bin b/data/maps/BattleFrontier_BattlePyramidLobby/map.bin
new file mode 100644
index 000000000..32f23d3de
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePyramidLobby/map.bin
@@ -0,0 +1,2 @@
+FF F
+FFFFFFFF F!F"FFFFFFFFFFFFF(F)F*FFFFFFFFFFFFFF0FFFFFF+FFFFF+FF0FFFFFF3FF F B F3FF0FFFBBF BF B B B B BF B1FBBBBB B B B B B B B B BBBB B B B B B B B B B B B B B B B B B BFFF#F$B%FFFF B B B B B BFFF#F$B%FFFF B B BFFF#F$B%FFFFFFFFF#F$B%FFFFFFFF#F$B%FFFFF&F B BBBB B B B B.B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B BBBB B B B B B B \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattlePyramidTop/border.bin b/data/maps/BattleFrontier_BattlePyramidTop/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePyramidTop/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattlePyramidTop/header.inc b/data/maps/BattleFrontier_BattlePyramidTop/header.inc
new file mode 100644
index 000000000..fe3964510
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePyramidTop/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattlePyramidTop: @ 8485430
+ .4byte BattleFrontier_BattlePyramidTop_MapAttributes
+ .4byte BattleFrontier_BattlePyramidTop_MapEvents
+ .4byte BattleFrontier_BattlePyramidTop_MapScripts
+ .4byte 0x0
+ .2byte 65535
+ .2byte 378
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 4
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattlePyramidTop/map.bin b/data/maps/BattleFrontier_BattlePyramidTop/map.bin
new file mode 100644
index 000000000..dba9cf1b0
--- /dev/null
+++ b/data/maps/BattleFrontier_BattlePyramidTop/map.bin
@@ -0,0 +1 @@
+}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}};;;;;;;;;;;;;;;xyz{|;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;BBB;;;;;;;;;;;;;;;;;;;;;;;;;;;;8b9b@BABBB9b:b;;;;;;;;;;;;;;;;;;;;;;;;;8B9B@bAb@BIBJBAbBb9B:B;;;;;;;;;;;CCCCCCCCCC8b9b@BABHbAbPQRAbBbABBB9bFbCCCCCCCCCKKKKKKKKLBMB@bAbHBAB@bIbXbYbXbIbBbABBBAbBbMBNBKKKKKKKSSSSSSTU@BAB@bIb@BIBPZZQZZRIBBBAbBbABBBUVSSSSS[[[[\]@AHBAB@bIb@BIBXBXBXBYBXBXBXBIBBBIbBbABBBAB]^[[[[[\]@A@AHBAB@bIbPZZZZQZZZZRIbBbIBBBIBAB]^[\^@A@AHA@BAB@bIbXbXbXbXbXbYbXbXbXbXbXbIbBbIBBBIBIBAB^@B@AHAHA@BABPZZZZZZQZZZZZZRIBBBIBIBIBBHAHAHA@AHBABXBXBXBXBXBXBXBYBXBXBXBXBXBXBXBIBBBIBIBIBIHAHA@AHAPZZZZZZZZZZZZZZZZZRIBIBIBI@A@AHAHAXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBIBIBIBIHAHAHAPZZZZZZZZZZZZZZZZZZZZZRIBIBIHAHAHAXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBXBIBIBIHAHAPZZZZZZZZZZZZZZZZZZZZZZZZZRIBI \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/border.bin b/data/maps/BattleFrontier_BattleTowerBattleRoom/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/header.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom/header.inc
new file mode 100644
index 000000000..53542ab96
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattleTowerBattleRoom: @ 848521C
+ .4byte BattleFrontier_BattleTowerBattleRoom_MapAttributes
+ .4byte BattleFrontier_BattleTowerBattleRoom_MapEvents
+ .4byte BattleFrontier_BattleTowerBattleRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_TOWER
+ .2byte 268
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 8
+
diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/map.bin b/data/maps/BattleFrontier_BattleTowerBattleRoom/map.bin
new file mode 100644
index 000000000..42d99b5a6
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/map.bin
@@ -0,0 +1 @@
+///LMMN///?77TU2U2V77?G<2<2<2<2<2<2<2<2;2:2H2B2I2J2B2K2:2:2;2:2D2P2Q2R2S2E2:2:2;2:2D2X2Y2Z2[2E2:2:2;2:2D2`2a2b2c2E2:2:2~2:2@2C21292C2A2:2>2:2:2:222:2:2:2F \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom2/header.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom2/header.inc
new file mode 100644
index 000000000..fffa32e0d
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleTowerBattleRoom2/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattleTowerBattleRoom2: @ 8485318
+ .4byte BattleFrontier_BattleTowerBattleRoom2_MapAttributes
+ .4byte BattleFrontier_BattleTowerBattleRoom2_MapEvents
+ .4byte BattleFrontier_BattleTowerBattleRoom2_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_TOWER
+ .2byte 268
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 8
+
diff --git a/data/maps/BattleFrontier_BattleTowerCorridor/border.bin b/data/maps/BattleFrontier_BattleTowerCorridor/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleTowerCorridor/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattleTowerCorridor/header.inc b/data/maps/BattleFrontier_BattleTowerCorridor/header.inc
new file mode 100644
index 000000000..54a836985
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleTowerCorridor/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattleTowerCorridor: @ 8485200
+ .4byte BattleFrontier_BattleTowerCorridor_MapAttributes
+ .4byte BattleFrontier_BattleTowerCorridor_MapEvents
+ .4byte BattleFrontier_BattleTowerCorridor_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_TOWER
+ .2byte 267
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattleTowerCorridor/map.bin b/data/maps/BattleFrontier_BattleTowerCorridor/map.bin
new file mode 100644
index 000000000..0b0803f91
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleTowerCorridor/map.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattleTowerCorridor2/border.bin b/data/maps/BattleFrontier_BattleTowerCorridor2/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleTowerCorridor2/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattleTowerCorridor2/header.inc b/data/maps/BattleFrontier_BattleTowerCorridor2/header.inc
new file mode 100644
index 000000000..2988c9d32
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleTowerCorridor2/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattleTowerCorridor2: @ 84852FC
+ .4byte BattleFrontier_BattleTowerCorridor2_MapAttributes
+ .4byte BattleFrontier_BattleTowerCorridor2_MapEvents
+ .4byte BattleFrontier_BattleTowerCorridor2_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_TOWER
+ .2byte 391
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattleTowerCorridor2/map.bin b/data/maps/BattleFrontier_BattleTowerCorridor2/map.bin
new file mode 100644
index 000000000..87e93b640
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleTowerCorridor2/map.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattleTowerElevator/border.bin b/data/maps/BattleFrontier_BattleTowerElevator/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleTowerElevator/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattleTowerElevator/header.inc b/data/maps/BattleFrontier_BattleTowerElevator/header.inc
new file mode 100644
index 000000000..50cbdd309
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleTowerElevator/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattleTowerElevator: @ 84851E4
+ .4byte BattleFrontier_BattleTowerElevator_MapAttributes
+ .4byte BattleFrontier_BattleTowerElevator_MapEvents
+ .4byte BattleFrontier_BattleTowerElevator_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_TOWER
+ .2byte 266
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattleTowerElevator/map.bin b/data/maps/BattleFrontier_BattleTowerElevator/map.bin
new file mode 100644
index 000000000..16dfe34ab
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleTowerElevator/map.bin
@@ -0,0 +1 @@
+(***,011148999<\2]2]2]2]2d2e2e2e2e2d2e2e2e2e2d2O2W2e2e2 \ No newline at end of file
diff --git a/data/maps/BattleFrontier_BattleTowerLobby/border.bin b/data/maps/BattleFrontier_BattleTowerLobby/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleTowerLobby/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattleTowerLobby/header.inc b/data/maps/BattleFrontier_BattleTowerLobby/header.inc
new file mode 100644
index 000000000..8706ecb7f
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleTowerLobby/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattleTowerLobby: @ 84851C8
+ .4byte BattleFrontier_BattleTowerLobby_MapAttributes
+ .4byte BattleFrontier_BattleTowerLobby_MapEvents
+ .4byte BattleFrontier_BattleTowerLobby_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_TOWER
+ .2byte 264
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattleTowerLobby/map.bin b/data/maps/BattleFrontier_BattleTowerLobby/map.bin
new file mode 100644
index 000000000..77926803a
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleTowerLobby/map.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/border.bin b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/header.inc b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/header.inc
new file mode 100644
index 000000000..b02e91000
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_BattleTowerMultiBattleRoom: @ 84852E0
+ .4byte BattleFrontier_BattleTowerMultiBattleRoom_MapAttributes
+ .4byte BattleFrontier_BattleTowerMultiBattleRoom_MapEvents
+ .4byte BattleFrontier_BattleTowerMultiBattleRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_BATTLE_TOWER
+ .2byte 390
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 4
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/map.bin b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/map.bin
new file mode 100644
index 000000000..b0a58e016
--- /dev/null
+++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/map.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_Lounge1/border.bin b/data/maps/BattleFrontier_Lounge1/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_Lounge1/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_Lounge1/header.inc b/data/maps/BattleFrontier_Lounge1/header.inc
new file mode 100644
index 000000000..6a85c8f6d
--- /dev/null
+++ b/data/maps/BattleFrontier_Lounge1/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_Lounge1: @ 84855B8
+ .4byte BattleFrontier_Lounge1_MapAttributes
+ .4byte BattleFrontier_Lounge1_MapEvents
+ .4byte BattleFrontier_Lounge1_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 429
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_Lounge1/map.bin b/data/maps/BattleFrontier_Lounge1/map.bin
new file mode 100644
index 000000000..f5f1745b1
--- /dev/null
+++ b/data/maps/BattleFrontier_Lounge1/map.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/BattleFrontier_Lounge2/border.bin b/data/maps/BattleFrontier_Lounge2/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_Lounge2/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_Lounge2/header.inc b/data/maps/BattleFrontier_Lounge2/header.inc
new file mode 100644
index 000000000..cd5c77c97
--- /dev/null
+++ b/data/maps/BattleFrontier_Lounge2/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_Lounge2: @ 84855F0
+ .4byte BattleFrontier_Lounge2_MapAttributes
+ .4byte BattleFrontier_Lounge2_MapEvents
+ .4byte BattleFrontier_Lounge2_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 397
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_Lounge2/map.bin b/data/maps/BattleFrontier_Lounge2/map.bin
new file mode 100644
index 000000000..11ae8d6ee
--- /dev/null
+++ b/data/maps/BattleFrontier_Lounge2/map.bin
@@ -0,0 +1 @@
+3333333333333333333333333333333333333333333333333333333333333333 \ No newline at end of file
diff --git a/data/maps/BattleFrontier_Lounge3/header.inc b/data/maps/BattleFrontier_Lounge3/header.inc
new file mode 100644
index 000000000..af18dd057
--- /dev/null
+++ b/data/maps/BattleFrontier_Lounge3/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_Lounge3: @ 848560C
+ .4byte BattleFrontier_Lounge3_MapAttributes
+ .4byte BattleFrontier_Lounge3_MapEvents
+ .4byte BattleFrontier_Lounge3_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 429
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_Lounge4/header.inc b/data/maps/BattleFrontier_Lounge4/header.inc
new file mode 100644
index 000000000..4c1c34bbd
--- /dev/null
+++ b/data/maps/BattleFrontier_Lounge4/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_Lounge4: @ 8485628
+ .4byte BattleFrontier_Lounge4_MapAttributes
+ .4byte BattleFrontier_Lounge4_MapEvents
+ .4byte BattleFrontier_Lounge4_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 429
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_Lounge5/header.inc b/data/maps/BattleFrontier_Lounge5/header.inc
new file mode 100644
index 000000000..beb6adceb
--- /dev/null
+++ b/data/maps/BattleFrontier_Lounge5/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_Lounge5: @ 8485660
+ .4byte BattleFrontier_Lounge5_MapAttributes
+ .4byte BattleFrontier_Lounge5_MapEvents
+ .4byte BattleFrontier_Lounge5_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 397
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_Lounge6/header.inc b/data/maps/BattleFrontier_Lounge6/header.inc
new file mode 100644
index 000000000..7b41b7d47
--- /dev/null
+++ b/data/maps/BattleFrontier_Lounge6/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_Lounge6: @ 848567C
+ .4byte BattleFrontier_Lounge6_MapAttributes
+ .4byte BattleFrontier_Lounge6_MapEvents
+ .4byte BattleFrontier_Lounge6_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 429
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_Lounge7/header.inc b/data/maps/BattleFrontier_Lounge7/header.inc
new file mode 100644
index 000000000..4c4096a18
--- /dev/null
+++ b/data/maps/BattleFrontier_Lounge7/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_Lounge7: @ 8485698
+ .4byte BattleFrontier_Lounge7_MapAttributes
+ .4byte BattleFrontier_Lounge7_MapEvents
+ .4byte BattleFrontier_Lounge7_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 429
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_Lounge8/header.inc b/data/maps/BattleFrontier_Lounge8/header.inc
new file mode 100644
index 000000000..1517fb67c
--- /dev/null
+++ b/data/maps/BattleFrontier_Lounge8/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_Lounge8: @ 84856D0
+ .4byte BattleFrontier_Lounge8_MapAttributes
+ .4byte BattleFrontier_Lounge8_MapEvents
+ .4byte BattleFrontier_Lounge8_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 429
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_Lounge9/header.inc b/data/maps/BattleFrontier_Lounge9/header.inc
new file mode 100644
index 000000000..388b0c1ec
--- /dev/null
+++ b/data/maps/BattleFrontier_Lounge9/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_Lounge9: @ 84856EC
+ .4byte BattleFrontier_Lounge9_MapAttributes
+ .4byte BattleFrontier_Lounge9_MapEvents
+ .4byte BattleFrontier_Lounge9_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 429
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_Mart/header.inc b/data/maps/BattleFrontier_Mart/header.inc
new file mode 100644
index 000000000..2a81bf2f6
--- /dev/null
+++ b/data/maps/BattleFrontier_Mart/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_Mart: @ 8485740
+ .4byte BattleFrontier_Mart_MapAttributes
+ .4byte BattleFrontier_Mart_MapEvents
+ .4byte BattleFrontier_Mart_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRIENDLY
+ .2byte 63
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_OutsideEast/border.bin b/data/maps/BattleFrontier_OutsideEast/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/BattleFrontier_OutsideEast/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/BattleFrontier_OutsideEast/connections.inc b/data/maps/BattleFrontier_OutsideEast/connections.inc
new file mode 100644
index 000000000..5bc70f3b4
--- /dev/null
+++ b/data/maps/BattleFrontier_OutsideEast/connections.inc
@@ -0,0 +1,7 @@
+BattleFrontier_OutsideEast_MapConnectionsList: @ 8486EE4
+ connection left, 0, BATTLE_FRONTIER_OUTSIDE_WEST, 0
+
+BattleFrontier_OutsideEast_MapConnections: @ 8486EF0
+ .4byte 0x1
+ .4byte BattleFrontier_OutsideEast_MapConnectionsList
+
diff --git a/data/maps/BattleFrontier_OutsideEast/header.inc b/data/maps/BattleFrontier_OutsideEast/header.inc
new file mode 100644
index 000000000..ca6b4ea3d
--- /dev/null
+++ b/data/maps/BattleFrontier_OutsideEast/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_OutsideEast: @ 84852C4
+ .4byte BattleFrontier_OutsideEast_MapAttributes
+ .4byte BattleFrontier_OutsideEast_MapEvents
+ .4byte BattleFrontier_OutsideEast_MapScripts
+ .4byte BattleFrontier_OutsideEast_MapConnections
+ .2byte BGM_BATTLE_FRONTIER
+ .2byte 345
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_OutsideEast/map.bin b/data/maps/BattleFrontier_OutsideEast/map.bin
new file mode 100644
index 000000000..b073c4585
--- /dev/null
+++ b/data/maps/BattleFrontier_OutsideEast/map.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_OutsideWest/border.bin b/data/maps/BattleFrontier_OutsideWest/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/BattleFrontier_OutsideWest/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/BattleFrontier_OutsideWest/connections.inc b/data/maps/BattleFrontier_OutsideWest/connections.inc
new file mode 100644
index 000000000..2ec2e4348
--- /dev/null
+++ b/data/maps/BattleFrontier_OutsideWest/connections.inc
@@ -0,0 +1,7 @@
+BattleFrontier_OutsideWest_MapConnectionsList: @ 8486ED0
+ connection right, 0, BATTLE_FRONTIER_OUTSIDE_EAST, 0
+
+BattleFrontier_OutsideWest_MapConnections: @ 8486EDC
+ .4byte 0x1
+ .4byte BattleFrontier_OutsideWest_MapConnectionsList
+
diff --git a/data/maps/BattleFrontier_OutsideWest/header.inc b/data/maps/BattleFrontier_OutsideWest/header.inc
new file mode 100644
index 000000000..bc9dd7dea
--- /dev/null
+++ b/data/maps/BattleFrontier_OutsideWest/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_OutsideWest: @ 84851AC
+ .4byte BattleFrontier_OutsideWest_MapAttributes
+ .4byte BattleFrontier_OutsideWest_MapEvents
+ .4byte BattleFrontier_OutsideWest_MapScripts
+ .4byte BattleFrontier_OutsideWest_MapConnections
+ .2byte BGM_BATTLE_FRONTIER
+ .2byte 265
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_OutsideWest/map.bin b/data/maps/BattleFrontier_OutsideWest/map.bin
new file mode 100644
index 000000000..d43111bda
--- /dev/null
+++ b/data/maps/BattleFrontier_OutsideWest/map.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_PokemonCenter_1F/header.inc b/data/maps/BattleFrontier_PokemonCenter_1F/header.inc
new file mode 100644
index 000000000..08718a5cd
--- /dev/null
+++ b/data/maps/BattleFrontier_PokemonCenter_1F/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_PokemonCenter_1F: @ 8485708
+ .4byte BattleFrontier_PokemonCenter_1F_MapAttributes
+ .4byte BattleFrontier_PokemonCenter_1F_MapEvents
+ .4byte BattleFrontier_PokemonCenter_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 61
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_PokemonCenter_2F/header.inc b/data/maps/BattleFrontier_PokemonCenter_2F/header.inc
new file mode 100644
index 000000000..ce6bb9e21
--- /dev/null
+++ b/data/maps/BattleFrontier_PokemonCenter_2F/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_PokemonCenter_2F: @ 8485724
+ .4byte BattleFrontier_PokemonCenter_2F_MapAttributes
+ .4byte BattleFrontier_PokemonCenter_2F_MapEvents
+ .4byte BattleFrontier_PokemonCenter_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 62
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_RankingHall/border.bin b/data/maps/BattleFrontier_RankingHall/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_RankingHall/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_RankingHall/header.inc b/data/maps/BattleFrontier_RankingHall/header.inc
new file mode 100644
index 000000000..067cd783e
--- /dev/null
+++ b/data/maps/BattleFrontier_RankingHall/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_RankingHall: @ 848559C
+ .4byte BattleFrontier_RankingHall_MapAttributes
+ .4byte BattleFrontier_RankingHall_MapEvents
+ .4byte BattleFrontier_RankingHall_MapScripts
+ .4byte 0x0
+ .2byte BGM_BIJYUTU
+ .2byte 396
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_RankingHall/map.bin b/data/maps/BattleFrontier_RankingHall/map.bin
new file mode 100644
index 000000000..df32e0665
--- /dev/null
+++ b/data/maps/BattleFrontier_RankingHall/map.bin
@@ -0,0 +1,64 @@
+(((((00000((((($88888%(((((00000&'2222222&'00000$88888%A2 2
+2 2
+22
+2 2
+2 2F2$88888%2222222I222222222N22222222&' 2 2
+22
+2 2
+2&'((("# 2 2
+2 2
+2 2
+2 2
+2 2
+2"#(((&' 2
+2 22 2
+2 2&'+22222222220P02222222222222220Q0222222222232 2
+22
+2 2
+22
+2 2
+2$8X8% 2 2
+2 2 2K2L2M2 2 2
+2 2
+2$8Y8% 2 2
+22
+2 2
+22
+2 2
+2+22222222222222222222STU2222222222222222222232 2
+2 2
+2 2
+2 2
+2 2
+2 2
+2 2
+2 2
+2 2
+2 2
+2 2[2\2]2 2
+2 2
+2 2
+2 2
+2 2
+2 2
+2 2
+2 2
+2 2
+2 2
+2 2
+22222222222222222222222222222222222222,2-2
+2 2
+2.2/2
+2 2
+2 2
+2 2
+2 2
+2 2
+2
+2;2
+2;2
+2;2
+242522226272222222222222C22C22C22
+2 2
+200 2
+2 \ No newline at end of file
diff --git a/data/maps/BattleFrontier_ReceptionGate/border.bin b/data/maps/BattleFrontier_ReceptionGate/border.bin
new file mode 100644
index 000000000..9afd13cdc
--- /dev/null
+++ b/data/maps/BattleFrontier_ReceptionGate/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_ReceptionGate/header.inc b/data/maps/BattleFrontier_ReceptionGate/header.inc
new file mode 100644
index 000000000..fa89d7c99
--- /dev/null
+++ b/data/maps/BattleFrontier_ReceptionGate/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_ReceptionGate: @ 84856B4
+ .4byte BattleFrontier_ReceptionGate_MapAttributes
+ .4byte BattleFrontier_ReceptionGate_MapEvents
+ .4byte BattleFrontier_ReceptionGate_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 399
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_ReceptionGate/map.bin b/data/maps/BattleFrontier_ReceptionGate/map.bin
new file mode 100644
index 000000000..2b75ea851
--- /dev/null
+++ b/data/maps/BattleFrontier_ReceptionGate/map.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_ScottsHouse/border.bin b/data/maps/BattleFrontier_ScottsHouse/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattleFrontier_ScottsHouse/border.bin
Binary files differ
diff --git a/data/maps/BattleFrontier_ScottsHouse/header.inc b/data/maps/BattleFrontier_ScottsHouse/header.inc
new file mode 100644
index 000000000..0dfb989d4
--- /dev/null
+++ b/data/maps/BattleFrontier_ScottsHouse/header.inc
@@ -0,0 +1,15 @@
+BattleFrontier_ScottsHouse: @ 8485644
+ .4byte BattleFrontier_ScottsHouse_MapAttributes
+ .4byte BattleFrontier_ScottsHouse_MapEvents
+ .4byte BattleFrontier_ScottsHouse_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 430
+ .byte 58
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BattleFrontier_ScottsHouse/map.bin b/data/maps/BattleFrontier_ScottsHouse/map.bin
new file mode 100644
index 000000000..8844e94dd
--- /dev/null
+++ b/data/maps/BattleFrontier_ScottsHouse/map.bin
@@ -0,0 +1 @@
+33 \ No newline at end of file
diff --git a/data/maps/BattlePyramidSquare01/border.bin b/data/maps/BattlePyramidSquare01/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattlePyramidSquare01/border.bin
Binary files differ
diff --git a/data/maps/BattlePyramidSquare01/header.inc b/data/maps/BattlePyramidSquare01/header.inc
new file mode 100644
index 000000000..94605c92c
--- /dev/null
+++ b/data/maps/BattlePyramidSquare01/header.inc
@@ -0,0 +1,15 @@
+BattlePyramidSquare01: @ 8484F60
+ .4byte BattlePyramidSquare01_MapAttributes
+ .4byte BattlePyramidSquare01_MapEvents
+ .4byte BattlePyramidSquare01_MapScripts
+ .4byte 0x0
+ .2byte 65535
+ .2byte 362
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/BattlePyramidSquare01/map.bin b/data/maps/BattlePyramidSquare01/map.bin
new file mode 100644
index 000000000..586ccbdbd
--- /dev/null
+++ b/data/maps/BattlePyramidSquare01/map.bin
@@ -0,0 +1 @@
+BBBBBBBBBBBBBBaBB`tjBBsBBsBBBBsBBsBBBBsBBsBBhtrBBqBBBBBBBBBBBBBB \ No newline at end of file
diff --git a/data/maps/BattlePyramidSquare02/border.bin b/data/maps/BattlePyramidSquare02/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattlePyramidSquare02/border.bin
Binary files differ
diff --git a/data/maps/BattlePyramidSquare02/header.inc b/data/maps/BattlePyramidSquare02/header.inc
new file mode 100644
index 000000000..44a5e7a99
--- /dev/null
+++ b/data/maps/BattlePyramidSquare02/header.inc
@@ -0,0 +1,15 @@
+BattlePyramidSquare02: @ 8484F7C
+ .4byte BattlePyramidSquare02_MapAttributes
+ .4byte BattlePyramidSquare02_MapEvents
+ .4byte BattlePyramidSquare02_MapScripts
+ .4byte 0x0
+ .2byte 65535
+ .2byte 363
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/BattlePyramidSquare02/map.bin b/data/maps/BattlePyramidSquare02/map.bin
new file mode 100644
index 000000000..5a9b8d4ce
--- /dev/null
+++ b/data/maps/BattlePyramidSquare02/map.bin
@@ -0,0 +1 @@
+BBhtttjBBBBBBBBBBBBBBBBBaBBBBBaBsBBBBqBsBBBBBBBsBBBBBBBptjBhjBB \ No newline at end of file
diff --git a/data/maps/BattlePyramidSquare03/border.bin b/data/maps/BattlePyramidSquare03/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattlePyramidSquare03/border.bin
Binary files differ
diff --git a/data/maps/BattlePyramidSquare03/header.inc b/data/maps/BattlePyramidSquare03/header.inc
new file mode 100644
index 000000000..300825ffa
--- /dev/null
+++ b/data/maps/BattlePyramidSquare03/header.inc
@@ -0,0 +1,15 @@
+BattlePyramidSquare03: @ 8484F98
+ .4byte BattlePyramidSquare03_MapAttributes
+ .4byte BattlePyramidSquare03_MapEvents
+ .4byte BattlePyramidSquare03_MapScripts
+ .4byte 0x0
+ .2byte 65535
+ .2byte 364
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/BattlePyramidSquare03/map.bin b/data/maps/BattlePyramidSquare03/map.bin
new file mode 100644
index 000000000..903b8a49b
--- /dev/null
+++ b/data/maps/BattlePyramidSquare03/map.bin
@@ -0,0 +1 @@
+BBBBBBBBBaBBBBBBBsBBBBaBBsBBBBqBhkjBBBBBBBBBBBaBB`ttttrBBqBBBBBB \ No newline at end of file
diff --git a/data/maps/BattlePyramidSquare04/border.bin b/data/maps/BattlePyramidSquare04/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattlePyramidSquare04/border.bin
Binary files differ
diff --git a/data/maps/BattlePyramidSquare04/header.inc b/data/maps/BattlePyramidSquare04/header.inc
new file mode 100644
index 000000000..4031f62e3
--- /dev/null
+++ b/data/maps/BattlePyramidSquare04/header.inc
@@ -0,0 +1,15 @@
+BattlePyramidSquare04: @ 8484FB4
+ .4byte BattlePyramidSquare04_MapAttributes
+ .4byte BattlePyramidSquare04_MapEvents
+ .4byte BattlePyramidSquare04_MapScripts
+ .4byte 0x0
+ .2byte 65535
+ .2byte 365
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/BattlePyramidSquare04/map.bin b/data/maps/BattlePyramidSquare04/map.bin
new file mode 100644
index 000000000..32a264546
--- /dev/null
+++ b/data/maps/BattlePyramidSquare04/map.bin
@@ -0,0 +1 @@
+BBBBBBBBB`ttttjBBsBBBBBBBqBBBBBBBBBBBBBBBaBBBBBBBqBBBBBBBBBBBBBB \ No newline at end of file
diff --git a/data/maps/BattlePyramidSquare05/border.bin b/data/maps/BattlePyramidSquare05/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattlePyramidSquare05/border.bin
Binary files differ
diff --git a/data/maps/BattlePyramidSquare05/header.inc b/data/maps/BattlePyramidSquare05/header.inc
new file mode 100644
index 000000000..72575d629
--- /dev/null
+++ b/data/maps/BattlePyramidSquare05/header.inc
@@ -0,0 +1,15 @@
+BattlePyramidSquare05: @ 8484FD0
+ .4byte BattlePyramidSquare05_MapAttributes
+ .4byte BattlePyramidSquare05_MapEvents
+ .4byte BattlePyramidSquare05_MapScripts
+ .4byte 0x0
+ .2byte 65535
+ .2byte 366
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/BattlePyramidSquare05/map.bin b/data/maps/BattlePyramidSquare05/map.bin
new file mode 100644
index 000000000..d6c5a6897
--- /dev/null
+++ b/data/maps/BattlePyramidSquare05/map.bin
@@ -0,0 +1 @@
+BBBBBBBBBhbBBBBBBBsBBaBBBBsBBsBBBBsBBsBBBBqBBsBBBBBBpjBBBBBBBBB \ No newline at end of file
diff --git a/data/maps/BattlePyramidSquare06/border.bin b/data/maps/BattlePyramidSquare06/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattlePyramidSquare06/border.bin
Binary files differ
diff --git a/data/maps/BattlePyramidSquare06/header.inc b/data/maps/BattlePyramidSquare06/header.inc
new file mode 100644
index 000000000..8d0fa49b1
--- /dev/null
+++ b/data/maps/BattlePyramidSquare06/header.inc
@@ -0,0 +1,15 @@
+BattlePyramidSquare06: @ 8484FEC
+ .4byte BattlePyramidSquare06_MapAttributes
+ .4byte BattlePyramidSquare06_MapEvents
+ .4byte BattlePyramidSquare06_MapScripts
+ .4byte 0x0
+ .2byte 65535
+ .2byte 367
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/BattlePyramidSquare06/map.bin b/data/maps/BattlePyramidSquare06/map.bin
new file mode 100644
index 000000000..c30533aab
--- /dev/null
+++ b/data/maps/BattlePyramidSquare06/map.bin
@@ -0,0 +1 @@
+BBBBBBBBBaBhjBaBBsBBBBqBBqBBBBBBBBBBBaBBaBBBBsBBqBhjBqBBBBBBBBB \ No newline at end of file
diff --git a/data/maps/BattlePyramidSquare07/border.bin b/data/maps/BattlePyramidSquare07/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattlePyramidSquare07/border.bin
Binary files differ
diff --git a/data/maps/BattlePyramidSquare07/header.inc b/data/maps/BattlePyramidSquare07/header.inc
new file mode 100644
index 000000000..12c74516a
--- /dev/null
+++ b/data/maps/BattlePyramidSquare07/header.inc
@@ -0,0 +1,15 @@
+BattlePyramidSquare07: @ 8485008
+ .4byte BattlePyramidSquare07_MapAttributes
+ .4byte BattlePyramidSquare07_MapEvents
+ .4byte BattlePyramidSquare07_MapScripts
+ .4byte 0x0
+ .2byte 65535
+ .2byte 368
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/BattlePyramidSquare07/map.bin b/data/maps/BattlePyramidSquare07/map.bin
new file mode 100644
index 000000000..25f9c1529
--- /dev/null
+++ b/data/maps/BattlePyramidSquare07/map.bin
@@ -0,0 +1 @@
+BaBBBBBBBsBBaBaBhrBBqBsBBBBBBBqBBBBBaBBhttttrBaBBBBBBBsBBBBBBBq \ No newline at end of file
diff --git a/data/maps/BattlePyramidSquare08/border.bin b/data/maps/BattlePyramidSquare08/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattlePyramidSquare08/border.bin
Binary files differ
diff --git a/data/maps/BattlePyramidSquare08/header.inc b/data/maps/BattlePyramidSquare08/header.inc
new file mode 100644
index 000000000..cfe221f4b
--- /dev/null
+++ b/data/maps/BattlePyramidSquare08/header.inc
@@ -0,0 +1,15 @@
+BattlePyramidSquare08: @ 8485024
+ .4byte BattlePyramidSquare08_MapAttributes
+ .4byte BattlePyramidSquare08_MapEvents
+ .4byte BattlePyramidSquare08_MapScripts
+ .4byte 0x0
+ .2byte 65535
+ .2byte 369
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/BattlePyramidSquare08/map.bin b/data/maps/BattlePyramidSquare08/map.bin
new file mode 100644
index 000000000..86a830696
--- /dev/null
+++ b/data/maps/BattlePyramidSquare08/map.bin
@@ -0,0 +1 @@
+BBttttjBBBBBBBBBsBBBBBBasBBBBBssBBBBBBssBBBBBBsqBBBBBBqBBhttjB \ No newline at end of file
diff --git a/data/maps/BattlePyramidSquare09/border.bin b/data/maps/BattlePyramidSquare09/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattlePyramidSquare09/border.bin
Binary files differ
diff --git a/data/maps/BattlePyramidSquare09/header.inc b/data/maps/BattlePyramidSquare09/header.inc
new file mode 100644
index 000000000..624b64800
--- /dev/null
+++ b/data/maps/BattlePyramidSquare09/header.inc
@@ -0,0 +1,15 @@
+BattlePyramidSquare09: @ 8485040
+ .4byte BattlePyramidSquare09_MapAttributes
+ .4byte BattlePyramidSquare09_MapEvents
+ .4byte BattlePyramidSquare09_MapScripts
+ .4byte 0x0
+ .2byte 65535
+ .2byte 370
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/BattlePyramidSquare09/map.bin b/data/maps/BattlePyramidSquare09/map.bin
new file mode 100644
index 000000000..e4f648704
--- /dev/null
+++ b/data/maps/BattlePyramidSquare09/map.bin
@@ -0,0 +1 @@
+BBaBBBBBB`rBBaBBBqBBhrBBBBBBBBBBaBBBBBa`rBBaB`rqBB`rBqBBBqBBBB \ No newline at end of file
diff --git a/data/maps/BattlePyramidSquare10/border.bin b/data/maps/BattlePyramidSquare10/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattlePyramidSquare10/border.bin
Binary files differ
diff --git a/data/maps/BattlePyramidSquare10/header.inc b/data/maps/BattlePyramidSquare10/header.inc
new file mode 100644
index 000000000..16206bfe9
--- /dev/null
+++ b/data/maps/BattlePyramidSquare10/header.inc
@@ -0,0 +1,15 @@
+BattlePyramidSquare10: @ 848505C
+ .4byte BattlePyramidSquare10_MapAttributes
+ .4byte BattlePyramidSquare10_MapEvents
+ .4byte BattlePyramidSquare10_MapScripts
+ .4byte 0x0
+ .2byte 65535
+ .2byte 371
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/BattlePyramidSquare10/map.bin b/data/maps/BattlePyramidSquare10/map.bin
new file mode 100644
index 000000000..4aa7fd771
--- /dev/null
+++ b/data/maps/BattlePyramidSquare10/map.bin
@@ -0,0 +1 @@
+BBBBhtjBBBBBBBBBBhjBhtjBBBBBBBBBhtjBhtjBBBBBBBBBhtjBBBBBBBBBBBBB \ No newline at end of file
diff --git a/data/maps/BattlePyramidSquare11/border.bin b/data/maps/BattlePyramidSquare11/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattlePyramidSquare11/border.bin
Binary files differ
diff --git a/data/maps/BattlePyramidSquare11/header.inc b/data/maps/BattlePyramidSquare11/header.inc
new file mode 100644
index 000000000..34a53fdee
--- /dev/null
+++ b/data/maps/BattlePyramidSquare11/header.inc
@@ -0,0 +1,15 @@
+BattlePyramidSquare11: @ 8485078
+ .4byte BattlePyramidSquare11_MapAttributes
+ .4byte BattlePyramidSquare11_MapEvents
+ .4byte BattlePyramidSquare11_MapScripts
+ .4byte 0x0
+ .2byte 65535
+ .2byte 372
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/BattlePyramidSquare11/map.bin b/data/maps/BattlePyramidSquare11/map.bin
new file mode 100644
index 000000000..f393f51e5
--- /dev/null
+++ b/data/maps/BattlePyramidSquare11/map.bin
@@ -0,0 +1 @@
+BBBBBhjBBB`jBBBBBBsBBaBBhtrBBptbBBBBBqBBaBBBBBhrBBBBBBBBBhjBB \ No newline at end of file
diff --git a/data/maps/BattlePyramidSquare12/border.bin b/data/maps/BattlePyramidSquare12/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattlePyramidSquare12/border.bin
Binary files differ
diff --git a/data/maps/BattlePyramidSquare12/header.inc b/data/maps/BattlePyramidSquare12/header.inc
new file mode 100644
index 000000000..c514b4f4f
--- /dev/null
+++ b/data/maps/BattlePyramidSquare12/header.inc
@@ -0,0 +1,15 @@
+BattlePyramidSquare12: @ 8485094
+ .4byte BattlePyramidSquare12_MapAttributes
+ .4byte BattlePyramidSquare12_MapEvents
+ .4byte BattlePyramidSquare12_MapScripts
+ .4byte 0x0
+ .2byte 65535
+ .2byte 373
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/BattlePyramidSquare12/map.bin b/data/maps/BattlePyramidSquare12/map.bin
new file mode 100644
index 000000000..64dd96955
--- /dev/null
+++ b/data/maps/BattlePyramidSquare12/map.bin
@@ -0,0 +1 @@
+htjBhtjBBBBBBBBBBBBBBBBBhjBhttjBBBBBBBBBBBBBBBBBBBBBBBBhtttttjB \ No newline at end of file
diff --git a/data/maps/BattlePyramidSquare13/border.bin b/data/maps/BattlePyramidSquare13/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattlePyramidSquare13/border.bin
Binary files differ
diff --git a/data/maps/BattlePyramidSquare13/header.inc b/data/maps/BattlePyramidSquare13/header.inc
new file mode 100644
index 000000000..23df0c29c
--- /dev/null
+++ b/data/maps/BattlePyramidSquare13/header.inc
@@ -0,0 +1,15 @@
+BattlePyramidSquare13: @ 84850B0
+ .4byte BattlePyramidSquare13_MapAttributes
+ .4byte BattlePyramidSquare13_MapEvents
+ .4byte BattlePyramidSquare13_MapScripts
+ .4byte 0x0
+ .2byte 65535
+ .2byte 374
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/BattlePyramidSquare13/map.bin b/data/maps/BattlePyramidSquare13/map.bin
new file mode 100644
index 000000000..5fc1485a7
--- /dev/null
+++ b/data/maps/BattlePyramidSquare13/map.bin
@@ -0,0 +1 @@
+aBBBaBBBsBaBsBaBqBqBsBsBBBBBqBqBBBBBBBsBsBaaBqBsBqBsBBBqBBBqB \ No newline at end of file
diff --git a/data/maps/BattlePyramidSquare14/border.bin b/data/maps/BattlePyramidSquare14/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattlePyramidSquare14/border.bin
Binary files differ
diff --git a/data/maps/BattlePyramidSquare14/header.inc b/data/maps/BattlePyramidSquare14/header.inc
new file mode 100644
index 000000000..8570d95ef
--- /dev/null
+++ b/data/maps/BattlePyramidSquare14/header.inc
@@ -0,0 +1,15 @@
+BattlePyramidSquare14: @ 84850CC
+ .4byte BattlePyramidSquare14_MapAttributes
+ .4byte BattlePyramidSquare14_MapEvents
+ .4byte BattlePyramidSquare14_MapScripts
+ .4byte 0x0
+ .2byte 65535
+ .2byte 375
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/BattlePyramidSquare14/map.bin b/data/maps/BattlePyramidSquare14/map.bin
new file mode 100644
index 000000000..21655a872
--- /dev/null
+++ b/data/maps/BattlePyramidSquare14/map.bin
@@ -0,0 +1 @@
+BeBeBeBeBBBBBBBBeBeBeBeBBBBBBBBBeBeBeBeBBBBBBBBeBeBeBeBBBBBBBBB \ No newline at end of file
diff --git a/data/maps/BattlePyramidSquare15/border.bin b/data/maps/BattlePyramidSquare15/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattlePyramidSquare15/border.bin
Binary files differ
diff --git a/data/maps/BattlePyramidSquare15/header.inc b/data/maps/BattlePyramidSquare15/header.inc
new file mode 100644
index 000000000..6120ec220
--- /dev/null
+++ b/data/maps/BattlePyramidSquare15/header.inc
@@ -0,0 +1,15 @@
+BattlePyramidSquare15: @ 84850E8
+ .4byte BattlePyramidSquare15_MapAttributes
+ .4byte BattlePyramidSquare15_MapEvents
+ .4byte BattlePyramidSquare15_MapScripts
+ .4byte 0x0
+ .2byte 65535
+ .2byte 376
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/BattlePyramidSquare15/map.bin b/data/maps/BattlePyramidSquare15/map.bin
new file mode 100644
index 000000000..ccbd87d9a
--- /dev/null
+++ b/data/maps/BattlePyramidSquare15/map.bin
@@ -0,0 +1 @@
+BBBeBBBeBeBBBeBBBBBeBBBeBeBBeBBBBBeBBBeBeBBBeBBBBBeBBBeBeBBBeBB \ No newline at end of file
diff --git a/data/maps/BattlePyramidSquare16/border.bin b/data/maps/BattlePyramidSquare16/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/BattlePyramidSquare16/border.bin
Binary files differ
diff --git a/data/maps/BattlePyramidSquare16/header.inc b/data/maps/BattlePyramidSquare16/header.inc
new file mode 100644
index 000000000..4df56bbc7
--- /dev/null
+++ b/data/maps/BattlePyramidSquare16/header.inc
@@ -0,0 +1,15 @@
+BattlePyramidSquare16: @ 8485104
+ .4byte BattlePyramidSquare16_MapAttributes
+ .4byte BattlePyramidSquare16_MapEvents
+ .4byte BattlePyramidSquare16_MapScripts
+ .4byte 0x0
+ .2byte 65535
+ .2byte 377
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/BattlePyramidSquare16/map.bin b/data/maps/BattlePyramidSquare16/map.bin
new file mode 100644
index 000000000..601eb526e
--- /dev/null
+++ b/data/maps/BattlePyramidSquare16/map.bin
@@ -0,0 +1 @@
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB \ No newline at end of file
diff --git a/data/maps/BirthIsland_Exterior/border.bin b/data/maps/BirthIsland_Exterior/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/BirthIsland_Exterior/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/BirthIsland_Exterior/header.inc b/data/maps/BirthIsland_Exterior/header.inc
new file mode 100644
index 000000000..5697555de
--- /dev/null
+++ b/data/maps/BirthIsland_Exterior/header.inc
@@ -0,0 +1,15 @@
+BirthIsland_Exterior: @ 8485794
+ .4byte BirthIsland_Exterior_MapAttributes
+ .4byte BirthIsland_Exterior_MapEvents
+ .4byte BirthIsland_Exterior_MapScripts
+ .4byte 0x0
+ .2byte 65535
+ .2byte 404
+ .byte 200
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 12
+ .byte 0
+
diff --git a/data/maps/BirthIsland_Exterior/map.bin b/data/maps/BirthIsland_Exterior/map.bin
new file mode 100644
index 000000000..38dfe77a8
--- /dev/null
+++ b/data/maps/BirthIsland_Exterior/map.bin
Binary files differ
diff --git a/data/maps/BirthIsland_Harbor/border.bin b/data/maps/BirthIsland_Harbor/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/BirthIsland_Harbor/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/BirthIsland_Harbor/header.inc b/data/maps/BirthIsland_Harbor/header.inc
new file mode 100644
index 000000000..9a9a5954b
--- /dev/null
+++ b/data/maps/BirthIsland_Harbor/header.inc
@@ -0,0 +1,15 @@
+BirthIsland_Harbor: @ 84857B0
+ .4byte BirthIsland_Harbor_MapAttributes
+ .4byte BirthIsland_Harbor_MapEvents
+ .4byte BirthIsland_Harbor_MapScripts
+ .4byte 0x0
+ .2byte 65535
+ .2byte 405
+ .byte 200
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/BirthIsland_Harbor/map.bin b/data/maps/BirthIsland_Harbor/map.bin
new file mode 100644
index 000000000..e14816107
--- /dev/null
+++ b/data/maps/BirthIsland_Harbor/map.bin
@@ -0,0 +1 @@
+       *+89:+.pppp@ABppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp \ No newline at end of file
diff --git a/data/maps/CaveOfOrigin_1F/border.bin b/data/maps/CaveOfOrigin_1F/border.bin
new file mode 100644
index 000000000..f1629c020
--- /dev/null
+++ b/data/maps/CaveOfOrigin_1F/border.bin
@@ -0,0 +1 @@
+3333 \ No newline at end of file
diff --git a/data/maps/CaveOfOrigin_1F/header.inc b/data/maps/CaveOfOrigin_1F/header.inc
new file mode 100644
index 000000000..1d15339d7
--- /dev/null
+++ b/data/maps/CaveOfOrigin_1F/header.inc
@@ -0,0 +1,15 @@
+CaveOfOrigin_1F: @ 84842E8
+ .4byte CaveOfOrigin_1F_MapAttributes
+ .4byte CaveOfOrigin_1F_MapEvents
+ .4byte CaveOfOrigin_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN03
+ .2byte 158
+ .byte 72
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/CaveOfOrigin_1F/map.bin b/data/maps/CaveOfOrigin_1F/map.bin
new file mode 100644
index 000000000..c3c5e7abf
--- /dev/null
+++ b/data/maps/CaveOfOrigin_1F/map.bin
@@ -0,0 +1 @@
+)))))))))))))))))))))"33333333))))3333333 ")))))))*3333()))))) ""33)))))))))))))33  ""3*333)))))))) 33  ""3"3))*33333=333  33  ""3"*33333333333  33  "$""33333333322$ 33  "3"""33333222$333 33  "3"""3333$3333333 3$ "3"""333$33333333( 3 "3"""333 3333333333  3 "3"""333 3333333333  3 "3"""333()333)))  3 "*""33333()))*333   3 ""3""3333333333333   3 ""3"$33333333333$  3 ""3"3$3333;33333$3  3 ""3$3$22289:222$2$ 3 "$3$222222222222$33 $"3"33222223332222$ 3"3$22$33333$222$3332$3$222222222222222222$333 \ No newline at end of file
diff --git a/data/maps/CaveOfOrigin_B1F/border.bin b/data/maps/CaveOfOrigin_B1F/border.bin
new file mode 100644
index 000000000..f1629c020
--- /dev/null
+++ b/data/maps/CaveOfOrigin_B1F/border.bin
@@ -0,0 +1 @@
+3333 \ No newline at end of file
diff --git a/data/maps/CaveOfOrigin_B1F/header.inc b/data/maps/CaveOfOrigin_B1F/header.inc
new file mode 100644
index 000000000..d9d011a50
--- /dev/null
+++ b/data/maps/CaveOfOrigin_B1F/header.inc
@@ -0,0 +1,15 @@
+CaveOfOrigin_B1F: @ 8484358
+ .4byte CaveOfOrigin_B1F_MapAttributes
+ .4byte CaveOfOrigin_B1F_MapEvents
+ .4byte CaveOfOrigin_B1F_MapScripts
+ .4byte 0x0
+ .2byte 65535
+ .2byte 162
+ .byte 72
+ .byte 0
+ .byte 6
+ .byte 4
+ .2byte 0
+ .byte 14
+ .byte 0
+
diff --git a/data/maps/CaveOfOrigin_B1F/map.bin b/data/maps/CaveOfOrigin_B1F/map.bin
new file mode 100644
index 000000000..1fb2d71bb
--- /dev/null
+++ b/data/maps/CaveOfOrigin_B1F/map.bin
@@ -0,0 +1 @@
+)))))))))))))))))3)))))))))))))3 "3"333))@))333H3 "*3)*33A333()3( "3*333333333(3 H"3M333)))333 3& ""3"33*#0#(33N3  ""33*0###0(3 3 H"3"3"####### 3 3  ""3"3"0##0##0 3H3& "3M3"####### 3 3  ""3"3$30###0$33N3&H"3"33$3#0#$333 3  "M3$33$3$3$3$3$333$3  "$3$3333333$3$ "3332222222$233N3 "3$22223332222$3 "333333$222$333333N$222222232222222$ \ No newline at end of file
diff --git a/data/maps/CaveOfOrigin_Entrance/border.bin b/data/maps/CaveOfOrigin_Entrance/border.bin
new file mode 100644
index 000000000..f1629c020
--- /dev/null
+++ b/data/maps/CaveOfOrigin_Entrance/border.bin
@@ -0,0 +1 @@
+3333 \ No newline at end of file
diff --git a/data/maps/CaveOfOrigin_Entrance/header.inc b/data/maps/CaveOfOrigin_Entrance/header.inc
new file mode 100644
index 000000000..24e245e20
--- /dev/null
+++ b/data/maps/CaveOfOrigin_Entrance/header.inc
@@ -0,0 +1,15 @@
+CaveOfOrigin_Entrance: @ 84842CC
+ .4byte CaveOfOrigin_Entrance_MapAttributes
+ .4byte CaveOfOrigin_Entrance_MapEvents
+ .4byte CaveOfOrigin_Entrance_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN03
+ .2byte 157
+ .byte 72
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/CaveOfOrigin_Entrance/map.bin b/data/maps/CaveOfOrigin_Entrance/map.bin
new file mode 100644
index 000000000..4bbffd109
--- /dev/null
+++ b/data/maps/CaveOfOrigin_Entrance/map.bin
@@ -0,0 +1 @@
+3333333333333333333333333))))))3333333)))*)))3())3333")))*333())) 3333"")))-./))3 (333"""3)5637) 3 3 33*""3"33333333  3( 33"3""3"33333333  33  33"3""3"33333333  33  33"3""3"33333333 (3 (**"3"33333333 3 3 3 "3"3"3"33333333 3 3 3 "3"3"3"33333333 3( 3 "3"3"3"33333333 33  3 "3"3"3"33333333 33 ( "*3"3"33333333 33 3  ""33"3"33333333 33 3  ""33"3"33333333 3$3  ""3*3"33333333 3 33  ""3"33"33333333 3 33  ""3"33"333#3333 3 33  "%"33$289:2$3 33  "3"$22233322$33  "3"3333$222$33333  "3$22222222222222$ $222222233322222$ \ No newline at end of file
diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/border.bin b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/border.bin
new file mode 100644
index 000000000..f1629c020
--- /dev/null
+++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/border.bin
@@ -0,0 +1 @@
+3333 \ No newline at end of file
diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/header.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/header.inc
new file mode 100644
index 000000000..734e2d2ad
--- /dev/null
+++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/header.inc
@@ -0,0 +1,15 @@
+CaveOfOrigin_UnusedRubySapphireMap1: @ 8484304
+ .4byte CaveOfOrigin_UnusedRubySapphireMap1_MapAttributes
+ .4byte CaveOfOrigin_UnusedRubySapphireMap1_MapEvents
+ .4byte CaveOfOrigin_UnusedRubySapphireMap1_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN03
+ .2byte 159
+ .byte 72
+ .byte 1
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/map.bin b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/map.bin
new file mode 100644
index 000000000..0ffbdaaa0
--- /dev/null
+++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/map.bin
@@ -0,0 +1 @@
+33))))))))))))))))33333"33)))3333))) 33333"33"333())))*333 (33)*33"3))))))))3( 33"33)*3"))))))(3  33"33"333""3333<33( 3  33"3*333""3333333  3  33"3"3333%%333333  3  33"3"333333%23333  3  33"*)))333%333  2 33""3")(333"33   3 33""3""=3( 333""33   3 33""3""33  33*"33   3 33""3""33 ())**33   3 33""3""33())))*333   3 33""3""33333333333  ( 33""3"%333333333% 3  33""3"3%3333333%3 3  33""3%3%2222222%2%3  33"%3%2222222222%32% 33"3%23322222233 33 33%33%22%333333%22%2%333%2222222222222222%3333 \ No newline at end of file
diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/border.bin b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/border.bin
new file mode 100644
index 000000000..4117717f2
--- /dev/null
+++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/border.bin
@@ -0,0 +1 @@
+#### \ No newline at end of file
diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/header.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/header.inc
new file mode 100644
index 000000000..63b629e0a
--- /dev/null
+++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/header.inc
@@ -0,0 +1,15 @@
+CaveOfOrigin_UnusedRubySapphireMap2: @ 8484320
+ .4byte CaveOfOrigin_UnusedRubySapphireMap2_MapAttributes
+ .4byte CaveOfOrigin_UnusedRubySapphireMap2_MapEvents
+ .4byte CaveOfOrigin_UnusedRubySapphireMap2_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN03
+ .2byte 160
+ .byte 72
+ .byte 1
+ .byte 6
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.bin b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.bin
new file mode 100644
index 000000000..4c1fd5ab8
--- /dev/null
+++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.bin
@@ -0,0 +1 @@
+)))))###))))##)"#####()))*))())*# "#))))))))*##()))) "#"##))))))))))##  "#"##"))))))))(#  "*)*"33333333( #  ""#")*333333333  % ""#""333223333   # ""#""33%##%333   %""#""33 ####%33    #""#""<33 #####"33    #""#"%22%#####"33    #"%%2#####)*33    #"#"##"#)))*3333   ("#"##"#"=33333332  # "#"##%"333333%#  # "#"###"%222222%2%( "#"###%22222222%###  "#%222##222222##  %222#%22%######%22% ####%222222222222222% \ No newline at end of file
diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/border.bin b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/border.bin
new file mode 100644
index 000000000..f1629c020
--- /dev/null
+++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/border.bin
@@ -0,0 +1 @@
+3333 \ No newline at end of file
diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/header.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/header.inc
new file mode 100644
index 000000000..e3f7d3fad
--- /dev/null
+++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/header.inc
@@ -0,0 +1,15 @@
+CaveOfOrigin_UnusedRubySapphireMap3: @ 848433C
+ .4byte CaveOfOrigin_UnusedRubySapphireMap3_MapAttributes
+ .4byte CaveOfOrigin_UnusedRubySapphireMap3_MapEvents
+ .4byte CaveOfOrigin_UnusedRubySapphireMap3_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN03
+ .2byte 161
+ .byte 72
+ .byte 1
+ .byte 6
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.bin b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.bin
new file mode 100644
index 000000000..ea574b224
--- /dev/null
+++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.bin
@@ -0,0 +1 @@
+)))))))))))))))))")))3333)))333 ""333())))*333()) ""33)))))))))33  ""33")))))))(3  ""3*"3333333( 3  "$"*333333=33  $ "3"""3322233   3 "3"""3$333$3   3 "3"""3 33333"$  3 "3"""3(3333" 3  3 "3"""33(33* 3  3 "*""333 33"$3 ( ""3""333())* 33 3  ""3"$3<33333 2$3  ""3$"333333  333  ""33"$222222$ 333  ""33$22222222$333  "$2233332222222$ "333$2222$3222222$$2222222222$3333333 \ No newline at end of file
diff --git a/data/maps/DesertRuins/border.bin b/data/maps/DesertRuins/border.bin
new file mode 100644
index 000000000..c07869a9f
--- /dev/null
+++ b/data/maps/DesertRuins/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/DesertRuins/header.inc b/data/maps/DesertRuins/header.inc
new file mode 100644
index 000000000..617568f5c
--- /dev/null
+++ b/data/maps/DesertRuins/header.inc
@@ -0,0 +1,15 @@
+DesertRuins: @ 8483F68
+ .4byte DesertRuins_MapAttributes
+ .4byte DesertRuins_MapEvents
+ .4byte DesertRuins_MapScripts
+ .4byte 0x0
+ .2byte BGM_MABOROSI
+ .2byte 131
+ .byte 82
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/DesertRuins/map.bin b/data/maps/DesertRuins/map.bin
new file mode 100644
index 000000000..406cf7279
--- /dev/null
+++ b/data/maps/DesertRuins/map.bin
Binary files differ
diff --git a/data/maps/DesertUnderpass/border.bin b/data/maps/DesertUnderpass/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/DesertUnderpass/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/DesertUnderpass/header.inc b/data/maps/DesertUnderpass/header.inc
new file mode 100644
index 000000000..1a253a839
--- /dev/null
+++ b/data/maps/DesertUnderpass/header.inc
@@ -0,0 +1,15 @@
+DesertUnderpass: @ 8484978
+ .4byte DesertUnderpass_MapAttributes
+ .4byte DesertUnderpass_MapEvents
+ .4byte DesertUnderpass_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 389
+ .byte 209
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/DesertUnderpass/map.bin b/data/maps/DesertUnderpass/map.bin
new file mode 100644
index 000000000..2f82e9357
--- /dev/null
+++ b/data/maps/DesertUnderpass/map.bin
@@ -0,0 +1 @@
+ ##" #" !!" !!"##" #" #" ####" ####" #" #" "#" ###" # # #" "#" # #"#" #" ###" " ######"##' # " " ' ##"#"' "#"h ####" ##" ##" #" #q##"##"< # #"#" " # "#" " ##" #####" ##"##" ###" q#"#"#XYZ# ##"#"#" #" " ###" " #"#" # #" #"" ###"  #"" ###qp######" ##"  #01##"##" 0#101#####"#####" ####" #### #01######q 0##101##qp#"" ######" #######"  ##"##" #"#" ##########" #####"#q###### "####################" ##########" #############" #"" " #####" #" ########" ##############" #### ######" #####" ##" ##" ##"  ##" #" ###" # ####" ######"" # " ##"#"' ## ##"##" # #"#" # "#########" ########" ##"#" #"### ##### #"##### " ##"####"#" #####" ###### # ##"### ##"#" ## ######" "### " ###"#"#"#" # #" #" #"#" ## #####" ##" # " #" ###"### ## " #"##"#"#"###" ##"##" #####" ##" #"## # # #"#" #"#" ############# \ No newline at end of file
diff --git a/data/maps/DewfordTown/border.bin b/data/maps/DewfordTown/border.bin
new file mode 100644
index 000000000..281762f5b
--- /dev/null
+++ b/data/maps/DewfordTown/border.bin
@@ -0,0 +1 @@
+CCCC \ No newline at end of file
diff --git a/data/maps/DewfordTown/connections.inc b/data/maps/DewfordTown/connections.inc
new file mode 100644
index 000000000..4386e2295
--- /dev/null
+++ b/data/maps/DewfordTown/connections.inc
@@ -0,0 +1,8 @@
+DewfordTown_MapConnectionsList: @ 8486640
+ connection up, -60, ROUTE_106, 0
+ connection right, 0, ROUTE_107, 0
+
+DewfordTown_MapConnections: @ 8486658
+ .4byte 0x2
+ .4byte DewfordTown_MapConnectionsList
+
diff --git a/data/maps/DewfordTown/header.inc b/data/maps/DewfordTown/header.inc
new file mode 100644
index 000000000..b0e34c3b3
--- /dev/null
+++ b/data/maps/DewfordTown/header.inc
@@ -0,0 +1,15 @@
+DewfordTown: @ 84825EC
+ .4byte DewfordTown_MapAttributes
+ .4byte DewfordTown_MapEvents
+ .4byte DewfordTown_MapScripts
+ .4byte DewfordTown_MapConnections
+ .2byte BGM_HIGHTOWN
+ .2byte 12
+ .byte 2
+ .byte 0
+ .byte 2
+ .byte 1
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/DewfordTown/map.bin b/data/maps/DewfordTown/map.bin
new file mode 100644
index 000000000..e8a1154e8
--- /dev/null
+++ b/data/maps/DewfordTown/map.bin
@@ -0,0 +1,2 @@
+C 2 2 2$1$1$1$1$1%pzCCC92C92C$1$1$1$1$1%pzC:CCCC:$1$1$1$1$1%pzC92CC:C92'%&$1$1$1$1$1%pz5CC:C92:C$1$1$1$1$1$1$19292%pzCC92CC92:$1$1$1$1$1$1 2 2%pz:::CCC$1$1$1$1$1$1$1%pyy:::$12222$1$1%ppppyyy$1PQRS$1$1%&%pppppppp$1XYZ[$1$1$1$1$1$1(2)2)2pppppp$1 ab
+$1$1$1$1$101111111$1$1$1$1$1$1$1$1$1$1$1>111=1$1 2 2 2 2$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1$1222222$1$1$1$1$192$1$1$1$1"####$$1$1$1$1$1%&C$1$1$1$1+,-./2$1$1$1$1$1$192C$1$1$1$134567$1$1$1$1$1$1$1C:92$1$1$1;2<2=>?2$1$1$1$1$1929292:92C92$1$1$1$1$1$1$1$1$1$149292:CCCCC9292929292929292929292CC92CC92 \ No newline at end of file
diff --git a/data/maps/DewfordTown_Gym/border.bin b/data/maps/DewfordTown_Gym/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/DewfordTown_Gym/border.bin
Binary files differ
diff --git a/data/maps/DewfordTown_Gym/header.inc b/data/maps/DewfordTown_Gym/header.inc
new file mode 100644
index 000000000..04946f4b8
--- /dev/null
+++ b/data/maps/DewfordTown_Gym/header.inc
@@ -0,0 +1,15 @@
+DewfordTown_Gym: @ 8482C60
+ .4byte DewfordTown_Gym_MapAttributes
+ .4byte DewfordTown_Gym_MapEvents
+ .4byte DewfordTown_Gym_MapScripts
+ .4byte 0x0
+ .2byte BGM_GIM
+ .2byte 65
+ .byte 2
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/DewfordTown_Gym/map.bin b/data/maps/DewfordTown_Gym/map.bin
new file mode 100644
index 000000000..43cd6e64a
--- /dev/null
+++ b/data/maps/DewfordTown_Gym/map.bin
Binary files differ
diff --git a/data/maps/DewfordTown_Hall/border.bin b/data/maps/DewfordTown_Hall/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/DewfordTown_Hall/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/DewfordTown_Hall/header.inc b/data/maps/DewfordTown_Hall/header.inc
new file mode 100644
index 000000000..97afc139c
--- /dev/null
+++ b/data/maps/DewfordTown_Hall/header.inc
@@ -0,0 +1,15 @@
+DewfordTown_Hall: @ 8482C7C
+ .4byte DewfordTown_Hall_MapAttributes
+ .4byte DewfordTown_Hall_MapEvents
+ .4byte DewfordTown_Hall_MapScripts
+ .4byte 0x0
+ .2byte BGM_HIGHTOWN
+ .2byte 66
+ .byte 2
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/DewfordTown_Hall/map.bin b/data/maps/DewfordTown_Hall/map.bin
new file mode 100644
index 000000000..5fd13209d
--- /dev/null
+++ b/data/maps/DewfordTown_Hall/map.bin
Binary files differ
diff --git a/data/maps/DewfordTown_House1/border.bin b/data/maps/DewfordTown_House1/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/DewfordTown_House1/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/DewfordTown_House1/header.inc b/data/maps/DewfordTown_House1/header.inc
new file mode 100644
index 000000000..3b4a236f0
--- /dev/null
+++ b/data/maps/DewfordTown_House1/header.inc
@@ -0,0 +1,15 @@
+DewfordTown_House1: @ 8482C0C
+ .4byte DewfordTown_House1_MapAttributes
+ .4byte DewfordTown_House1_MapEvents
+ .4byte DewfordTown_House1_MapScripts
+ .4byte 0x0
+ .2byte BGM_HIGHTOWN
+ .2byte 64
+ .byte 2
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/DewfordTown_House1/map.bin b/data/maps/DewfordTown_House1/map.bin
new file mode 100644
index 000000000..1f732ba3f
--- /dev/null
+++ b/data/maps/DewfordTown_House1/map.bin
@@ -0,0 +1 @@
+222!2!2@22222!2)2)2D2NOD2)2)2)2!2)2)2D2VWD2)2)2)2!2)2)2)2)2)2)2)2)2)2 3333333333#33333333 \ No newline at end of file
diff --git a/data/maps/DewfordTown_House2/border.bin b/data/maps/DewfordTown_House2/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/DewfordTown_House2/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/DewfordTown_House2/header.inc b/data/maps/DewfordTown_House2/header.inc
new file mode 100644
index 000000000..b0d09baa7
--- /dev/null
+++ b/data/maps/DewfordTown_House2/header.inc
@@ -0,0 +1,15 @@
+DewfordTown_House2: @ 8482C98
+ .4byte DewfordTown_House2_MapAttributes
+ .4byte DewfordTown_House2_MapEvents
+ .4byte DewfordTown_House2_MapScripts
+ .4byte 0x0
+ .2byte BGM_HIGHTOWN
+ .2byte 67
+ .byte 2
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/DewfordTown_House2/map.bin b/data/maps/DewfordTown_House2/map.bin
new file mode 100644
index 000000000..6274e4418
--- /dev/null
+++ b/data/maps/DewfordTown_House2/map.bin
@@ -0,0 +1 @@
+22266!2!2!222!2)2D2)2)2)2)2)2)2)2!2)2)2)2)2)2)2N_D2!2)2)2)2)2)2D2VWD2!2)2)2)2)2)2)2)2)2)2 3333333333#33333333 \ No newline at end of file
diff --git a/data/maps/DewfordTown_PokemonCenter_1F/header.inc b/data/maps/DewfordTown_PokemonCenter_1F/header.inc
new file mode 100644
index 000000000..a9eb10a91
--- /dev/null
+++ b/data/maps/DewfordTown_PokemonCenter_1F/header.inc
@@ -0,0 +1,15 @@
+DewfordTown_PokemonCenter_1F: @ 8482C28
+ .4byte DewfordTown_PokemonCenter_1F_MapAttributes
+ .4byte DewfordTown_PokemonCenter_1F_MapEvents
+ .4byte DewfordTown_PokemonCenter_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 61
+ .byte 2
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/DewfordTown_PokemonCenter_2F/header.inc b/data/maps/DewfordTown_PokemonCenter_2F/header.inc
new file mode 100644
index 000000000..9206bb564
--- /dev/null
+++ b/data/maps/DewfordTown_PokemonCenter_2F/header.inc
@@ -0,0 +1,15 @@
+DewfordTown_PokemonCenter_2F: @ 8482C44
+ .4byte DewfordTown_PokemonCenter_2F_MapAttributes
+ .4byte DewfordTown_PokemonCenter_2F_MapEvents
+ .4byte DewfordTown_PokemonCenter_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 62
+ .byte 2
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/DoubleBattleColosseum/border.bin b/data/maps/DoubleBattleColosseum/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/DoubleBattleColosseum/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/DoubleBattleColosseum/header.inc b/data/maps/DoubleBattleColosseum/header.inc
new file mode 100644
index 000000000..61ab5bccd
--- /dev/null
+++ b/data/maps/DoubleBattleColosseum/header.inc
@@ -0,0 +1,15 @@
+DoubleBattleColosseum: @ 8484D84
+ .4byte DoubleBattleColosseum_MapAttributes
+ .4byte DoubleBattleColosseum_MapEvents
+ .4byte DoubleBattleColosseum_MapScripts
+ .4byte 0x0
+ .2byte BGM_RAINBOW
+ .2byte 224
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 8
+
diff --git a/data/maps/DoubleBattleColosseum/map.bin b/data/maps/DoubleBattleColosseum/map.bin
new file mode 100644
index 000000000..77606e818
--- /dev/null
+++ b/data/maps/DoubleBattleColosseum/map.bin
@@ -0,0 +1 @@
+hijjjkllmjjjoOpqrrrstturrrwWxyzzz{||}zzz_22L2M22222M2N2222U2`2U2U2b2c2U2U2a2U222U2T2U2U2d2e2U2U2V2U222U2`2U2U2f2g2U2U2a2U222U2\2]2]2]2]2]2]2^2U22!2!2!2!2 \ No newline at end of file
diff --git a/data/maps/EverGrandeCity/border.bin b/data/maps/EverGrandeCity/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/EverGrandeCity/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/EverGrandeCity/connections.inc b/data/maps/EverGrandeCity/connections.inc
new file mode 100644
index 000000000..a472e456a
--- /dev/null
+++ b/data/maps/EverGrandeCity/connections.inc
@@ -0,0 +1,7 @@
+EverGrandeCity_MapConnectionsList: @ 84867F8
+ connection left, 40, ROUTE_128, 0
+
+EverGrandeCity_MapConnections: @ 8486804
+ .4byte 0x1
+ .4byte EverGrandeCity_MapConnectionsList
+
diff --git a/data/maps/EverGrandeCity/header.inc b/data/maps/EverGrandeCity/header.inc
new file mode 100644
index 000000000..5ae9fcb36
--- /dev/null
+++ b/data/maps/EverGrandeCity/header.inc
@@ -0,0 +1,15 @@
+EverGrandeCity: @ 8482598
+ .4byte EverGrandeCity_MapAttributes
+ .4byte EverGrandeCity_MapEvents
+ .4byte EverGrandeCity_MapScripts
+ .4byte EverGrandeCity_MapConnections
+ .2byte BGM_RAINBOW
+ .2byte 9
+ .byte 15
+ .byte 0
+ .byte 2
+ .byte 2
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/EverGrandeCity/map.bin b/data/maps/EverGrandeCity/map.bin
new file mode 100644
index 000000000..33b271d5d
--- /dev/null
+++ b/data/maps/EverGrandeCity/map.bin
Binary files differ
diff --git a/data/maps/EverGrandeCity_ChampionsRoom/border.bin b/data/maps/EverGrandeCity_ChampionsRoom/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/EverGrandeCity_ChampionsRoom/border.bin
Binary files differ
diff --git a/data/maps/EverGrandeCity_ChampionsRoom/header.inc b/data/maps/EverGrandeCity_ChampionsRoom/header.inc
new file mode 100644
index 000000000..ea45c416b
--- /dev/null
+++ b/data/maps/EverGrandeCity_ChampionsRoom/header.inc
@@ -0,0 +1,15 @@
+EverGrandeCity_ChampionsRoom: @ 8483C3C
+ .4byte EverGrandeCity_ChampionsRoom_MapAttributes
+ .4byte EverGrandeCity_ChampionsRoom_MapEvents
+ .4byte EverGrandeCity_ChampionsRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_C_ROAD
+ .2byte 115
+ .byte 15
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/EverGrandeCity_ChampionsRoom/map.bin b/data/maps/EverGrandeCity_ChampionsRoom/map.bin
new file mode 100644
index 000000000..a234307b5
--- /dev/null
+++ b/data/maps/EverGrandeCity_ChampionsRoom/map.bin
Binary files differ
diff --git a/data/maps/EverGrandeCity_DrakesRoom/border.bin b/data/maps/EverGrandeCity_DrakesRoom/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/EverGrandeCity_DrakesRoom/border.bin
Binary files differ
diff --git a/data/maps/EverGrandeCity_DrakesRoom/header.inc b/data/maps/EverGrandeCity_DrakesRoom/header.inc
new file mode 100644
index 000000000..18b46c1e2
--- /dev/null
+++ b/data/maps/EverGrandeCity_DrakesRoom/header.inc
@@ -0,0 +1,15 @@
+EverGrandeCity_DrakesRoom: @ 8483C20
+ .4byte EverGrandeCity_DrakesRoom_MapAttributes
+ .4byte EverGrandeCity_DrakesRoom_MapEvents
+ .4byte EverGrandeCity_DrakesRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_C_ROAD
+ .2byte 114
+ .byte 15
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 7
+
diff --git a/data/maps/EverGrandeCity_DrakesRoom/map.bin b/data/maps/EverGrandeCity_DrakesRoom/map.bin
new file mode 100644
index 000000000..3b5248d98
--- /dev/null
+++ b/data/maps/EverGrandeCity_DrakesRoom/map.bin
@@ -0,0 +1,2 @@
+      
+      2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222HIHI222HIHI \ No newline at end of file
diff --git a/data/maps/EverGrandeCity_GlaciasRoom/border.bin b/data/maps/EverGrandeCity_GlaciasRoom/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/EverGrandeCity_GlaciasRoom/border.bin
Binary files differ
diff --git a/data/maps/EverGrandeCity_GlaciasRoom/header.inc b/data/maps/EverGrandeCity_GlaciasRoom/header.inc
new file mode 100644
index 000000000..328308ce7
--- /dev/null
+++ b/data/maps/EverGrandeCity_GlaciasRoom/header.inc
@@ -0,0 +1,15 @@
+EverGrandeCity_GlaciasRoom: @ 8483C04
+ .4byte EverGrandeCity_GlaciasRoom_MapAttributes
+ .4byte EverGrandeCity_GlaciasRoom_MapEvents
+ .4byte EverGrandeCity_GlaciasRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_C_ROAD
+ .2byte 113
+ .byte 15
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 6
+
diff --git a/data/maps/EverGrandeCity_GlaciasRoom/map.bin b/data/maps/EverGrandeCity_GlaciasRoom/map.bin
new file mode 100644
index 000000000..2d7db7377
--- /dev/null
+++ b/data/maps/EverGrandeCity_GlaciasRoom/map.bin
@@ -0,0 +1,2 @@
+      
+      r2r2r2r2r2222r2r2r2r2r2v22p2s2s2s2t222wu}~22x2y2z2{2|222}222222222q22x2222|22222x2222|222222222222222222222222222222222222222222222HIHI222HIHI \ No newline at end of file
diff --git a/data/maps/EverGrandeCity_Hall1/border.bin b/data/maps/EverGrandeCity_Hall1/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/EverGrandeCity_Hall1/border.bin
Binary files differ
diff --git a/data/maps/EverGrandeCity_Hall1/header.inc b/data/maps/EverGrandeCity_Hall1/header.inc
new file mode 100644
index 000000000..433a41352
--- /dev/null
+++ b/data/maps/EverGrandeCity_Hall1/header.inc
@@ -0,0 +1,15 @@
+EverGrandeCity_Hall1: @ 8483C58
+ .4byte EverGrandeCity_Hall1_MapAttributes
+ .4byte EverGrandeCity_Hall1_MapEvents
+ .4byte EverGrandeCity_Hall1_MapScripts
+ .4byte 0x0
+ .2byte BGM_C_ROAD
+ .2byte 116
+ .byte 15
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/EverGrandeCity_Hall1/map.bin b/data/maps/EverGrandeCity_Hall1/map.bin
new file mode 100644
index 000000000..75812b238
--- /dev/null
+++ b/data/maps/EverGrandeCity_Hall1/map.bin
@@ -0,0 +1 @@
+DHIHI E HIHI2222222222222222222222222222222222222222222222 \ No newline at end of file
diff --git a/data/maps/EverGrandeCity_Hall2/header.inc b/data/maps/EverGrandeCity_Hall2/header.inc
new file mode 100644
index 000000000..c8a77751d
--- /dev/null
+++ b/data/maps/EverGrandeCity_Hall2/header.inc
@@ -0,0 +1,15 @@
+EverGrandeCity_Hall2: @ 8483C74
+ .4byte EverGrandeCity_Hall2_MapAttributes
+ .4byte EverGrandeCity_Hall2_MapEvents
+ .4byte EverGrandeCity_Hall2_MapScripts
+ .4byte 0x0
+ .2byte BGM_C_ROAD
+ .2byte 116
+ .byte 15
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/EverGrandeCity_Hall3/header.inc b/data/maps/EverGrandeCity_Hall3/header.inc
new file mode 100644
index 000000000..d6a05734f
--- /dev/null
+++ b/data/maps/EverGrandeCity_Hall3/header.inc
@@ -0,0 +1,15 @@
+EverGrandeCity_Hall3: @ 8483C90
+ .4byte EverGrandeCity_Hall3_MapAttributes
+ .4byte EverGrandeCity_Hall3_MapEvents
+ .4byte EverGrandeCity_Hall3_MapScripts
+ .4byte 0x0
+ .2byte BGM_C_ROAD
+ .2byte 116
+ .byte 15
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/EverGrandeCity_Hall4/border.bin b/data/maps/EverGrandeCity_Hall4/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/EverGrandeCity_Hall4/border.bin
Binary files differ
diff --git a/data/maps/EverGrandeCity_Hall4/header.inc b/data/maps/EverGrandeCity_Hall4/header.inc
new file mode 100644
index 000000000..511e8873e
--- /dev/null
+++ b/data/maps/EverGrandeCity_Hall4/header.inc
@@ -0,0 +1,15 @@
+EverGrandeCity_Hall4: @ 8483CAC
+ .4byte EverGrandeCity_Hall4_MapAttributes
+ .4byte EverGrandeCity_Hall4_MapEvents
+ .4byte EverGrandeCity_Hall4_MapScripts
+ .4byte 0x0
+ .2byte BGM_C_ROAD
+ .2byte 315
+ .byte 15
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/EverGrandeCity_Hall4/map.bin b/data/maps/EverGrandeCity_Hall4/map.bin
new file mode 100644
index 000000000..580ae095a
--- /dev/null
+++ b/data/maps/EverGrandeCity_Hall4/map.bin
@@ -0,0 +1 @@
+D     E     2222222222222222222222222222J222J222J222J222J222J222222J222J222222222J222J222222222222J222J222222222222222222222222222222 \ No newline at end of file
diff --git a/data/maps/EverGrandeCity_Hall5/header.inc b/data/maps/EverGrandeCity_Hall5/header.inc
new file mode 100644
index 000000000..7907489a0
--- /dev/null
+++ b/data/maps/EverGrandeCity_Hall5/header.inc
@@ -0,0 +1,15 @@
+EverGrandeCity_Hall5: @ 8483CC8
+ .4byte EverGrandeCity_Hall5_MapAttributes
+ .4byte EverGrandeCity_Hall5_MapEvents
+ .4byte EverGrandeCity_Hall5_MapScripts
+ .4byte 0x0
+ .2byte BGM_C_ROAD
+ .2byte 116
+ .byte 15
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/EverGrandeCity_HallOfFame/border.bin b/data/maps/EverGrandeCity_HallOfFame/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/EverGrandeCity_HallOfFame/border.bin
Binary files differ
diff --git a/data/maps/EverGrandeCity_HallOfFame/header.inc b/data/maps/EverGrandeCity_HallOfFame/header.inc
new file mode 100644
index 000000000..d91044f10
--- /dev/null
+++ b/data/maps/EverGrandeCity_HallOfFame/header.inc
@@ -0,0 +1,15 @@
+EverGrandeCity_HallOfFame: @ 8483D00
+ .4byte EverGrandeCity_HallOfFame_MapAttributes
+ .4byte EverGrandeCity_HallOfFame_MapEvents
+ .4byte EverGrandeCity_HallOfFame_MapScripts
+ .4byte 0x0
+ .2byte BGM_EIKOU_R
+ .2byte 298
+ .byte 15
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/EverGrandeCity_HallOfFame/map.bin b/data/maps/EverGrandeCity_HallOfFame/map.bin
new file mode 100644
index 000000000..1df9e4804
--- /dev/null
+++ b/data/maps/EverGrandeCity_HallOfFame/map.bin
@@ -0,0 +1 @@
+2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222262226 \ No newline at end of file
diff --git a/data/maps/EverGrandeCity_PhoebesRoom/border.bin b/data/maps/EverGrandeCity_PhoebesRoom/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/EverGrandeCity_PhoebesRoom/border.bin
Binary files differ
diff --git a/data/maps/EverGrandeCity_PhoebesRoom/header.inc b/data/maps/EverGrandeCity_PhoebesRoom/header.inc
new file mode 100644
index 000000000..3d2321bff
--- /dev/null
+++ b/data/maps/EverGrandeCity_PhoebesRoom/header.inc
@@ -0,0 +1,15 @@
+EverGrandeCity_PhoebesRoom: @ 8483BE8
+ .4byte EverGrandeCity_PhoebesRoom_MapAttributes
+ .4byte EverGrandeCity_PhoebesRoom_MapEvents
+ .4byte EverGrandeCity_PhoebesRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_C_ROAD
+ .2byte 112
+ .byte 15
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 5
+
diff --git a/data/maps/EverGrandeCity_PhoebesRoom/map.bin b/data/maps/EverGrandeCity_PhoebesRoom/map.bin
new file mode 100644
index 000000000..2e75b706c
--- /dev/null
+++ b/data/maps/EverGrandeCity_PhoebesRoom/map.bin
@@ -0,0 +1,2 @@
+      
+      B2B2B2B2B2X2X2X2B2B2B2B2B2EF\2\2@2C2C2C2D2\2\2GAMN\2\2H2I2J2K2L2\2\2O@UV\2\2P2Q2R2S2T2\2\2WA]^\2\2H2Y2Z2[2L2\2\2WBef\2\2H2a2b2c2L2\2\2gCm2n2\2\2h2k2k2k2l2\2\2o2`2j2i2i2i2i2i2i2i2i2i2i2i2i22222222222222\2\2\2HIHId2d2d2HIHI \ No newline at end of file
diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/header.inc b/data/maps/EverGrandeCity_PokemonCenter_1F/header.inc
new file mode 100644
index 000000000..32f35a157
--- /dev/null
+++ b/data/maps/EverGrandeCity_PokemonCenter_1F/header.inc
@@ -0,0 +1,15 @@
+EverGrandeCity_PokemonCenter_1F: @ 8483D1C
+ .4byte EverGrandeCity_PokemonCenter_1F_MapAttributes
+ .4byte EverGrandeCity_PokemonCenter_1F_MapEvents
+ .4byte EverGrandeCity_PokemonCenter_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 61
+ .byte 15
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/EverGrandeCity_PokemonCenter_2F/header.inc b/data/maps/EverGrandeCity_PokemonCenter_2F/header.inc
new file mode 100644
index 000000000..c7e4b2917
--- /dev/null
+++ b/data/maps/EverGrandeCity_PokemonCenter_2F/header.inc
@@ -0,0 +1,15 @@
+EverGrandeCity_PokemonCenter_2F: @ 8483D38
+ .4byte EverGrandeCity_PokemonCenter_2F_MapAttributes
+ .4byte EverGrandeCity_PokemonCenter_2F_MapEvents
+ .4byte EverGrandeCity_PokemonCenter_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 62
+ .byte 15
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/border.bin b/data/maps/EverGrandeCity_PokemonLeague_1F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/EverGrandeCity_PokemonLeague_1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/header.inc b/data/maps/EverGrandeCity_PokemonLeague_1F/header.inc
new file mode 100644
index 000000000..0921e41a5
--- /dev/null
+++ b/data/maps/EverGrandeCity_PokemonLeague_1F/header.inc
@@ -0,0 +1,15 @@
+EverGrandeCity_PokemonLeague_1F: @ 8483CE4
+ .4byte EverGrandeCity_PokemonLeague_1F_MapAttributes
+ .4byte EverGrandeCity_PokemonLeague_1F_MapEvents
+ .4byte EverGrandeCity_PokemonLeague_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 270
+ .byte 15
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/map.bin b/data/maps/EverGrandeCity_PokemonLeague_1F/map.bin
new file mode 100644
index 000000000..6bab68102
--- /dev/null
+++ b/data/maps/EverGrandeCity_PokemonLeague_1F/map.bin
@@ -0,0 +1,2 @@
+  JK        "#RSI22Hs2*+2[Q$22222222P}2)2t2u2!!!!Y<2@2@2@2@2@2@2@2X!!! 222222%2@2@20232@2@2@2g2222D2 2@2@2@2@2@2@2@2v2{2{2w2@2@2@2@2@2@2'22222@2@2@202{222{232@2@2@2@2^2
+26B2@2@2@282|222|2;2@2@2@2&2f222@2@2@2@2@2~2|2|22@2@2@2=>@2'2 2@2@2&2@2@2@2@2@2A2B2@2@2@2@2EF42'2 2^2^2=>42@2@2@2@2@2@2@2@22&242@2'2(ffEF&2@2@2@222@2@2@2@2@2@2@27 \ No newline at end of file
diff --git a/data/maps/EverGrandeCity_PokemonLeague_2F/header.inc b/data/maps/EverGrandeCity_PokemonLeague_2F/header.inc
new file mode 100644
index 000000000..1811dd10d
--- /dev/null
+++ b/data/maps/EverGrandeCity_PokemonLeague_2F/header.inc
@@ -0,0 +1,15 @@
+EverGrandeCity_PokemonLeague_2F: @ 8483D54
+ .4byte EverGrandeCity_PokemonLeague_2F_MapAttributes
+ .4byte EverGrandeCity_PokemonLeague_2F_MapEvents
+ .4byte EverGrandeCity_PokemonLeague_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 62
+ .byte 15
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/EverGrandeCity_SidneysRoom/border.bin b/data/maps/EverGrandeCity_SidneysRoom/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/EverGrandeCity_SidneysRoom/border.bin
Binary files differ
diff --git a/data/maps/EverGrandeCity_SidneysRoom/header.inc b/data/maps/EverGrandeCity_SidneysRoom/header.inc
new file mode 100644
index 000000000..8ec323838
--- /dev/null
+++ b/data/maps/EverGrandeCity_SidneysRoom/header.inc
@@ -0,0 +1,15 @@
+EverGrandeCity_SidneysRoom: @ 8483BCC
+ .4byte EverGrandeCity_SidneysRoom_MapAttributes
+ .4byte EverGrandeCity_SidneysRoom_MapEvents
+ .4byte EverGrandeCity_SidneysRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_C_ROAD
+ .2byte 111
+ .byte 15
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 4
+
diff --git a/data/maps/EverGrandeCity_SidneysRoom/map.bin b/data/maps/EverGrandeCity_SidneysRoom/map.bin
new file mode 100644
index 000000000..ebca00c5c
--- /dev/null
+++ b/data/maps/EverGrandeCity_SidneysRoom/map.bin
@@ -0,0 +1,2 @@
+      
+      22222(2(2(222222>,2,222222,2,2,2,222222,2,2%&,2,2 2!2"2#2$2,2,2'%?:,2,22)2*2+22,2,2'?-.,2,221222322,2,2/-=262,2,282;2;2;2<2,2,27252922222222222222222222222222,2,2,2HIHI424242HIHI \ No newline at end of file
diff --git a/data/maps/FallarborTown/border.bin b/data/maps/FallarborTown/border.bin
new file mode 100644
index 000000000..23e2a92e5
--- /dev/null
+++ b/data/maps/FallarborTown/border.bin
@@ -0,0 +1 @@
+klst \ No newline at end of file
diff --git a/data/maps/FallarborTown/connections.inc b/data/maps/FallarborTown/connections.inc
new file mode 100644
index 000000000..27b654f90
--- /dev/null
+++ b/data/maps/FallarborTown/connections.inc
@@ -0,0 +1,8 @@
+FallarborTown_MapConnectionsList: @ 8486674
+ connection left, 0, ROUTE_114, 0
+ connection right, 0, ROUTE_113, 0
+
+FallarborTown_MapConnections: @ 848668C
+ .4byte 0x2
+ .4byte FallarborTown_MapConnectionsList
+
diff --git a/data/maps/FallarborTown/header.inc b/data/maps/FallarborTown/header.inc
new file mode 100644
index 000000000..1b4df9b80
--- /dev/null
+++ b/data/maps/FallarborTown/header.inc
@@ -0,0 +1,15 @@
+FallarborTown: @ 8482624
+ .4byte FallarborTown_MapAttributes
+ .4byte FallarborTown_MapEvents
+ .4byte FallarborTown_MapScripts
+ .4byte FallarborTown_MapConnections
+ .2byte BGM_TONEKUSA
+ .2byte 14
+ .byte 4
+ .byte 0
+ .byte 2
+ .byte 1
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/FallarborTown/map.bin b/data/maps/FallarborTown/map.bin
new file mode 100644
index 000000000..950a54761
--- /dev/null
+++ b/data/maps/FallarborTown/map.bin
@@ -0,0 +1 @@
+yyyyyiiiiiiiiiiiiijiiiiiiiiiiiijziiiiij"##$JKLMNjziiiiijz66RSTUVzijzi2y2Z[\]^q2q2PQRSziiy2#6bcdef#6y2XYZ[q2q2q2y2y2y2y2#6jklmn#6y2aby2y222y2y2y2y2y2222y2y2y2y222y2y2y2y2y2222222222222222222y2y2222222222222222222y2y22222y2y2y2y2y222y2y22222y2y2y2y2y2y2y2y2y2y2y2y222y22222y2y2y2y2y2y2y2y2y2 3!3y2y222y20123y22y2%3&3'3y2}2~2(3)3y2y222y289:;22y2-3.3/3y2y2222y2AB6t6y2536373y2y2y222222y222l2y2y2y2y2y2y222222y22s6t6k2222y2y2y2y2y2y2y2y2y2222l6kllklk2222222222st6sts6t6 \ No newline at end of file
diff --git a/data/maps/FallarborTown_BattleTentBattleRoom/border.bin b/data/maps/FallarborTown_BattleTentBattleRoom/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/FallarborTown_BattleTentBattleRoom/border.bin
Binary files differ
diff --git a/data/maps/FallarborTown_BattleTentBattleRoom/header.inc b/data/maps/FallarborTown_BattleTentBattleRoom/header.inc
new file mode 100644
index 000000000..ed7556471
--- /dev/null
+++ b/data/maps/FallarborTown_BattleTentBattleRoom/header.inc
@@ -0,0 +1,15 @@
+FallarborTown_BattleTentBattleRoom: @ 8482DCC
+ .4byte FallarborTown_BattleTentBattleRoom_MapAttributes
+ .4byte FallarborTown_BattleTentBattleRoom_MapEvents
+ .4byte FallarborTown_BattleTentBattleRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 386
+ .byte 4
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/FallarborTown_BattleTentBattleRoom/map.bin b/data/maps/FallarborTown_BattleTentBattleRoom/map.bin
new file mode 100644
index 000000000..92a738d5e
--- /dev/null
+++ b/data/maps/FallarborTown_BattleTentBattleRoom/map.bin
Binary files differ
diff --git a/data/maps/FallarborTown_BattleTentCorridor/border.bin b/data/maps/FallarborTown_BattleTentCorridor/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/FallarborTown_BattleTentCorridor/border.bin
Binary files differ
diff --git a/data/maps/FallarborTown_BattleTentCorridor/header.inc b/data/maps/FallarborTown_BattleTentCorridor/header.inc
new file mode 100644
index 000000000..024894c7c
--- /dev/null
+++ b/data/maps/FallarborTown_BattleTentCorridor/header.inc
@@ -0,0 +1,15 @@
+FallarborTown_BattleTentCorridor: @ 8482DB0
+ .4byte FallarborTown_BattleTentCorridor_MapAttributes
+ .4byte FallarborTown_BattleTentCorridor_MapEvents
+ .4byte FallarborTown_BattleTentCorridor_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 385
+ .byte 4
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/FallarborTown_BattleTentCorridor/map.bin b/data/maps/FallarborTown_BattleTentCorridor/map.bin
new file mode 100644
index 000000000..4cd270b21
--- /dev/null
+++ b/data/maps/FallarborTown_BattleTentCorridor/map.bin
@@ -0,0 +1 @@
+6b6c6d66 jkl +*+*#:;:;$;:;:#:;:;$;:;:#%; \ No newline at end of file
diff --git a/data/maps/FallarborTown_BattleTentLobby/border.bin b/data/maps/FallarborTown_BattleTentLobby/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/FallarborTown_BattleTentLobby/border.bin
Binary files differ
diff --git a/data/maps/FallarborTown_BattleTentLobby/header.inc b/data/maps/FallarborTown_BattleTentLobby/header.inc
new file mode 100644
index 000000000..0fb27e1d9
--- /dev/null
+++ b/data/maps/FallarborTown_BattleTentLobby/header.inc
@@ -0,0 +1,15 @@
+FallarborTown_BattleTentLobby: @ 8482D94
+ .4byte FallarborTown_BattleTentLobby_MapAttributes
+ .4byte FallarborTown_BattleTentLobby_MapEvents
+ .4byte FallarborTown_BattleTentLobby_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 384
+ .byte 4
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/FallarborTown_BattleTentLobby/map.bin b/data/maps/FallarborTown_BattleTentLobby/map.bin
new file mode 100644
index 000000000..9ff37dc2c
--- /dev/null
+++ b/data/maps/FallarborTown_BattleTentLobby/map.bin
@@ -0,0 +1,2 @@
+666b6c6d6666
+ `a jkl fg2hi 22 22 2no2p 22222 w6"2xyz{2|}~6'222&2222222222222222222222222222222222222220(2222./222( \ No newline at end of file
diff --git a/data/maps/FallarborTown_House1/header.inc b/data/maps/FallarborTown_House1/header.inc
new file mode 100644
index 000000000..d413c18b8
--- /dev/null
+++ b/data/maps/FallarborTown_House1/header.inc
@@ -0,0 +1,15 @@
+FallarborTown_House1: @ 8482E20
+ .4byte FallarborTown_House1_MapAttributes
+ .4byte FallarborTown_House1_MapEvents
+ .4byte FallarborTown_House1_MapScripts
+ .4byte 0x0
+ .2byte BGM_TONEKUSA
+ .2byte 59
+ .byte 4
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/FallarborTown_House2/header.inc b/data/maps/FallarborTown_House2/header.inc
new file mode 100644
index 000000000..548e2dc09
--- /dev/null
+++ b/data/maps/FallarborTown_House2/header.inc
@@ -0,0 +1,15 @@
+FallarborTown_House2: @ 8482E3C
+ .4byte FallarborTown_House2_MapAttributes
+ .4byte FallarborTown_House2_MapEvents
+ .4byte FallarborTown_House2_MapScripts
+ .4byte 0x0
+ .2byte BGM_TONEKUSA
+ .2byte 60
+ .byte 4
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/FallarborTown_LeftoverRSContestHall/border.bin b/data/maps/FallarborTown_LeftoverRSContestHall/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/FallarborTown_LeftoverRSContestHall/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/FallarborTown_LeftoverRSContestHall/map.bin b/data/maps/FallarborTown_LeftoverRSContestHall/map.bin
new file mode 100644
index 000000000..d65e7c489
--- /dev/null
+++ b/data/maps/FallarborTown_LeftoverRSContestHall/map.bin
@@ -0,0 +1 @@
+/////////////////////nnnbbbbbbbbbbbbbbbbbbbbb 2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2"2(2`2`2              f2`2*2(2`2`2$%2%2%2%2%2%2%2%2%2%2%2%2%2&f2`2*2(2`2`2$%2%2hiiiiiiij%2%2&f2`2*2(2`2`2$%2%2pq2q2q2q2q2o2q2r%2%2&f2`2*2(2`2`2$%2%2pq2q2q22qwBqr%2%2&f2`2*2(2`2`2$%2%2pq2q2q22q2qq2r%2%2&f2`2*2(2`2`2$%2%2pq2q2q2q2q2q2q2r%2%2&f2`2*2(2`2`2$%2%2xyyk2l2m2yyz%2%2&f2`2*2(2`2`222222s2t2u222222f2`2*2(2`2`26s2t2u26f2`2*2(2`2`22_2_2_2_2_2_2_2_2_2_2_2_2_2_2g2`2*2(2`2J2`2`2J2`2`2`2`2`2`2`2`2`2J2`2`2J2`2*2(2`2R6`2`2R6`2`2`2`2`2`2`2R6`2`2R6`2*2 \ No newline at end of file
diff --git a/data/maps/FallarborTown_LeftoverRSContestLobby/border.bin b/data/maps/FallarborTown_LeftoverRSContestLobby/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/FallarborTown_LeftoverRSContestLobby/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/FallarborTown_LeftoverRSContestLobby/map.bin b/data/maps/FallarborTown_LeftoverRSContestLobby/map.bin
new file mode 100644
index 000000000..87407546a
--- /dev/null
+++ b/data/maps/FallarborTown_LeftoverRSContestLobby/map.bin
@@ -0,0 +1 @@
+[\]NMcdebVbbbbTb 2!2!2222U2!2!2!2!2!2"2(2`2`2f2`2`2`2`292(2`2`22_2_2_2_2g2`2`2`2`2`2A2(2`2`2`2`2`2`2`2`2`2`2`2`292(2`2`2`2`2`2`2`2`2`2`2`2A2 \ No newline at end of file
diff --git a/data/maps/FallarborTown_Mart/header.inc b/data/maps/FallarborTown_Mart/header.inc
new file mode 100644
index 000000000..b210fbe4c
--- /dev/null
+++ b/data/maps/FallarborTown_Mart/header.inc
@@ -0,0 +1,15 @@
+FallarborTown_Mart: @ 8482D78
+ .4byte FallarborTown_Mart_MapAttributes
+ .4byte FallarborTown_Mart_MapEvents
+ .4byte FallarborTown_Mart_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRIENDLY
+ .2byte 63
+ .byte 4
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/FallarborTown_PokemonCenter_1F/header.inc b/data/maps/FallarborTown_PokemonCenter_1F/header.inc
new file mode 100644
index 000000000..1258df061
--- /dev/null
+++ b/data/maps/FallarborTown_PokemonCenter_1F/header.inc
@@ -0,0 +1,15 @@
+FallarborTown_PokemonCenter_1F: @ 8482DE8
+ .4byte FallarborTown_PokemonCenter_1F_MapAttributes
+ .4byte FallarborTown_PokemonCenter_1F_MapEvents
+ .4byte FallarborTown_PokemonCenter_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 61
+ .byte 4
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/FallarborTown_PokemonCenter_2F/header.inc b/data/maps/FallarborTown_PokemonCenter_2F/header.inc
new file mode 100644
index 000000000..1a99a604c
--- /dev/null
+++ b/data/maps/FallarborTown_PokemonCenter_2F/header.inc
@@ -0,0 +1,15 @@
+FallarborTown_PokemonCenter_2F: @ 8482E04
+ .4byte FallarborTown_PokemonCenter_2F_MapAttributes
+ .4byte FallarborTown_PokemonCenter_2F_MapEvents
+ .4byte FallarborTown_PokemonCenter_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 62
+ .byte 4
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/FarawayIsland_Entrance/border.bin b/data/maps/FarawayIsland_Entrance/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/FarawayIsland_Entrance/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/FarawayIsland_Entrance/header.inc b/data/maps/FarawayIsland_Entrance/header.inc
new file mode 100644
index 000000000..2e8720ab6
--- /dev/null
+++ b/data/maps/FarawayIsland_Entrance/header.inc
@@ -0,0 +1,15 @@
+FarawayIsland_Entrance: @ 848575C
+ .4byte FarawayIsland_Entrance_MapAttributes
+ .4byte FarawayIsland_Entrance_MapEvents
+ .4byte FarawayIsland_Entrance_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN02
+ .2byte 402
+ .byte 201
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/FarawayIsland_Entrance/map.bin b/data/maps/FarawayIsland_Entrance/map.bin
new file mode 100644
index 000000000..389f6b0cd
--- /dev/null
+++ b/data/maps/FarawayIsland_Entrance/map.bin
Binary files differ
diff --git a/data/maps/FarawayIsland_Interior/border.bin b/data/maps/FarawayIsland_Interior/border.bin
new file mode 100644
index 000000000..addb5d6ce
--- /dev/null
+++ b/data/maps/FarawayIsland_Interior/border.bin
Binary files differ
diff --git a/data/maps/FarawayIsland_Interior/header.inc b/data/maps/FarawayIsland_Interior/header.inc
new file mode 100644
index 000000000..2669d360a
--- /dev/null
+++ b/data/maps/FarawayIsland_Interior/header.inc
@@ -0,0 +1,15 @@
+FarawayIsland_Interior: @ 8485778
+ .4byte FarawayIsland_Interior_MapAttributes
+ .4byte FarawayIsland_Interior_MapEvents
+ .4byte FarawayIsland_Interior_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN02
+ .2byte 403
+ .byte 201
+ .byte 0
+ .byte 11
+ .byte 8
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/FarawayIsland_Interior/map.bin b/data/maps/FarawayIsland_Interior/map.bin
new file mode 100644
index 000000000..847295734
--- /dev/null
+++ b/data/maps/FarawayIsland_Interior/map.bin
Binary files differ
diff --git a/data/maps/FieryPath/border.bin b/data/maps/FieryPath/border.bin
new file mode 100644
index 000000000..9ae2c2126
--- /dev/null
+++ b/data/maps/FieryPath/border.bin
@@ -0,0 +1 @@
+qqqq \ No newline at end of file
diff --git a/data/maps/FieryPath/header.inc b/data/maps/FieryPath/header.inc
new file mode 100644
index 000000000..1c4c59e3a
--- /dev/null
+++ b/data/maps/FieryPath/header.inc
@@ -0,0 +1,15 @@
+FieryPath: @ 8484048
+ .4byte FieryPath_MapAttributes
+ .4byte FieryPath_MapEvents
+ .4byte FieryPath_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN01
+ .2byte 293
+ .byte 74
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/FieryPath/map.bin b/data/maps/FieryPath/map.bin
new file mode 100644
index 000000000..5928fb173
--- /dev/null
+++ b/data/maps/FieryPath/map.bin
@@ -0,0 +1,10 @@
+qqqq{ttttttt|qqqq{ttttttttttt|qqqqqqqqqr{ttt|qpqqqqr{tttttttt|qpqqqqqqqq{z{333|pqqq{z33333333|pqqqqqqqqrq33333pqqqrq333333333pqqqqqqq{zq33333pqqqr{3333333 33pqqqqqq{zq3
+   ~pqqqr3333
+   ~~qqqqqqr{tt3h   ~qqqr333
+pqqqqqqqqqqqqqrr3333pqqqqqqr333pqqqqqqqqqqqqqrr3
+ 3pqqqqqqqr333pqqqqqqqqqqqqqrr33xttttt|qr333pqqqqqqqqqqqqqrr33ttttt|pqr333pqqqqqqqqqqqqqrr3333333333pqr333pqqqqqqqqqqqqqrr3
+      3
+~xtz333pqqqqqqqqqqqqqrr3qqq 3qqqq333pqqqqqqqqqqqqqrr3h  jr33tttt333x|qqqqqqqqqqqqrr3pqrr33333333333pqqqqqqqqqqqqrr3pqqrr333
+    333qpqqqqqqqqqqqqrr3pqqr   ~h j333|x|qqqqqqqqqqrr3pqq     ~qr3333qxtttt|qqqqq{zr3xt|qqqqqqqqr3333tttt|pqqqqqr{3t|xt|qqqqqqr 33333333|pqqqqqrr33 73|x|qqqqqr333333333pqqqqqrr33333|qpqqqqqj333333333pqqqqqr   333qpqqqqqqr     3333pqqqqq  jr333qpqqqqqqiiiij3333pqqqqqqqqrr33
+~qpqqqqqqqqqqqr3333pqqqqqqqqrr3
+~qqpqqqqqqqqqqqr 333pqqqqqqqrr3tt|pqqqqqqqqqqqrq333pqqqqqqqqrr3333ppqqqqqqqqqqqj333pqqqqqqq{z 333pxt|qqqqqqqqqqr333pqqqqqqqr{tz333xt|pqqqqqqqqqqr333pqqqqqqqrr 33333 ppqqqqqqqqqqr333pqqqqqqqrr3333333ppqqqqqqqqqqr333pqqqqqqqrr3333333ppqqqqqqqqqqr333pqqqqqqqrr3333333ppqqqqqqqqqqr333pqqqqqqqr       ~pqqqqqqqqqqr333pqqqqqqqiiiiiiiii~qqqqqqqqqqr3 33pqqqqqqqqqqqqqqqqqqqqqqqqqqqq ~~qqqqq \ No newline at end of file
diff --git a/data/maps/FortreeCity/border.bin b/data/maps/FortreeCity/border.bin
new file mode 100644
index 000000000..addb5d6ce
--- /dev/null
+++ b/data/maps/FortreeCity/border.bin
Binary files differ
diff --git a/data/maps/FortreeCity/connections.inc b/data/maps/FortreeCity/connections.inc
new file mode 100644
index 000000000..08541215c
--- /dev/null
+++ b/data/maps/FortreeCity/connections.inc
@@ -0,0 +1,8 @@
+FortreeCity_MapConnectionsList: @ 8486784
+ connection left, 0, ROUTE_119, 0
+ connection right, 0, ROUTE_120, 0
+
+FortreeCity_MapConnections: @ 848679C
+ .4byte 0x2
+ .4byte FortreeCity_MapConnectionsList
+
diff --git a/data/maps/FortreeCity/header.inc b/data/maps/FortreeCity/header.inc
new file mode 100644
index 000000000..9cbb544e1
--- /dev/null
+++ b/data/maps/FortreeCity/header.inc
@@ -0,0 +1,15 @@
+FortreeCity: @ 8482528
+ .4byte FortreeCity_MapAttributes
+ .4byte FortreeCity_MapEvents
+ .4byte FortreeCity_MapScripts
+ .4byte FortreeCity_MapConnections
+ .2byte BGM_MACHI_S3
+ .2byte 5
+ .byte 11
+ .byte 0
+ .byte 2
+ .byte 2
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/FortreeCity/map.bin b/data/maps/FortreeCity/map.bin
new file mode 100644
index 000000000..a2aa40e98
--- /dev/null
+++ b/data/maps/FortreeCity/map.bin
@@ -0,0 +1 @@
+$%&HIJ$%&*$%&$%&+,-./PQR+,-./**+,-./+,-./34567D\DHIJK3456734567**34567*3<B>B>B7PQRS3<B=B>B?BVBVB;B<B>B>B?BVBVBVB;B<B=B>B?BVBVB;B<B>B>B7XYZ[CFEFGDDCFFFGDDDCFEFGDDCFEFG0`abcMHIJMHIJM00000X2Y2Y2SSa2PQRcddddea2PQRa2SSS00000000`2a2a2a2a2a2Aa2SAa2a2a2b2000000000h2a2a2a2a2sS`2U2sa2a2a2j200000000000h2a2a2a20`2]*Sa2a2j20000000(0)0)0+00`2a2K2$%&**0111`2a2a2a2a20$%&01230`2K2+,-./0X2Y2Y2Y2Y2a2K2*Sa2a2a2+,-./89:;0`234567K2K2K2K2K2K20h2i2i234567`ABCX2a23<B=B>B?BVBVBVBVBVBVBVBVBVBVBVBVBVBVBVBNNNNVB;B<B>B>B7000X2a2a2SCFEFGDDDDDDDDDDDDDDD00X2Y2DCFEF6GX2Y2a2a2a2a2SSMHIJL2Y2a2a2S6S6S6MK2K2a2a2a2a2a2a2a2PQRHIJK2a2a2a2a2a2a2K2K2K2a2a2a2a2D\DPQRK2K2a2a2a2K2**K2K2K2K2*D\DK2K2K2 \ No newline at end of file
diff --git a/data/maps/FortreeCity_DecorationShop/border.bin b/data/maps/FortreeCity_DecorationShop/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/FortreeCity_DecorationShop/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/FortreeCity_DecorationShop/header.inc b/data/maps/FortreeCity_DecorationShop/header.inc
new file mode 100644
index 000000000..f3108c361
--- /dev/null
+++ b/data/maps/FortreeCity_DecorationShop/header.inc
@@ -0,0 +1,15 @@
+FortreeCity_DecorationShop: @ 848361C
+ .4byte FortreeCity_DecorationShop_MapAttributes
+ .4byte FortreeCity_DecorationShop_MapEvents
+ .4byte FortreeCity_DecorationShop_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 255
+ .byte 11
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/FortreeCity_DecorationShop/map.bin b/data/maps/FortreeCity_DecorationShop/map.bin
new file mode 100644
index 000000000..6ca8b4e61
--- /dev/null
+++ b/data/maps/FortreeCity_DecorationShop/map.bin
@@ -0,0 +1 @@
+333333333333733337 \ No newline at end of file
diff --git a/data/maps/FortreeCity_Gym/border.bin b/data/maps/FortreeCity_Gym/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/FortreeCity_Gym/border.bin
Binary files differ
diff --git a/data/maps/FortreeCity_Gym/header.inc b/data/maps/FortreeCity_Gym/header.inc
new file mode 100644
index 000000000..bc2af7730
--- /dev/null
+++ b/data/maps/FortreeCity_Gym/header.inc
@@ -0,0 +1,15 @@
+FortreeCity_Gym: @ 848353C
+ .4byte FortreeCity_Gym_MapAttributes
+ .4byte FortreeCity_Gym_MapEvents
+ .4byte FortreeCity_Gym_MapScripts
+ .4byte 0x0
+ .2byte BGM_GIM
+ .2byte 100
+ .byte 11
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/FortreeCity_Gym/map.bin b/data/maps/FortreeCity_Gym/map.bin
new file mode 100644
index 000000000..cff943707
--- /dev/null
+++ b/data/maps/FortreeCity_Gym/map.bin
Binary files differ
diff --git a/data/maps/FortreeCity_House1/border.bin b/data/maps/FortreeCity_House1/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/FortreeCity_House1/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/FortreeCity_House1/header.inc b/data/maps/FortreeCity_House1/header.inc
new file mode 100644
index 000000000..ec239aa37
--- /dev/null
+++ b/data/maps/FortreeCity_House1/header.inc
@@ -0,0 +1,15 @@
+FortreeCity_House1: @ 8483520
+ .4byte FortreeCity_House1_MapAttributes
+ .4byte FortreeCity_House1_MapEvents
+ .4byte FortreeCity_House1_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 99
+ .byte 11
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/FortreeCity_House1/map.bin b/data/maps/FortreeCity_House1/map.bin
new file mode 100644
index 000000000..5a3ac8cb6
--- /dev/null
+++ b/data/maps/FortreeCity_House1/map.bin
@@ -0,0 +1 @@
+33333333333333333333733337 \ No newline at end of file
diff --git a/data/maps/FortreeCity_House2/border.bin b/data/maps/FortreeCity_House2/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/FortreeCity_House2/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/FortreeCity_House2/header.inc b/data/maps/FortreeCity_House2/header.inc
new file mode 100644
index 000000000..3c6c6f5ec
--- /dev/null
+++ b/data/maps/FortreeCity_House2/header.inc
@@ -0,0 +1,15 @@
+FortreeCity_House2: @ 84835AC
+ .4byte FortreeCity_House2_MapAttributes
+ .4byte FortreeCity_House2_MapEvents
+ .4byte FortreeCity_House2_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 101
+ .byte 11
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/FortreeCity_House2/map.bin b/data/maps/FortreeCity_House2/map.bin
new file mode 100644
index 000000000..3fbcd6043
--- /dev/null
+++ b/data/maps/FortreeCity_House2/map.bin
@@ -0,0 +1 @@
+37733333333333333333733337 \ No newline at end of file
diff --git a/data/maps/FortreeCity_House3/header.inc b/data/maps/FortreeCity_House3/header.inc
new file mode 100644
index 000000000..b9482eaff
--- /dev/null
+++ b/data/maps/FortreeCity_House3/header.inc
@@ -0,0 +1,15 @@
+FortreeCity_House3: @ 84835C8
+ .4byte FortreeCity_House3_MapAttributes
+ .4byte FortreeCity_House3_MapEvents
+ .4byte FortreeCity_House3_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 99
+ .byte 11
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/FortreeCity_House4/header.inc b/data/maps/FortreeCity_House4/header.inc
new file mode 100644
index 000000000..61453ee82
--- /dev/null
+++ b/data/maps/FortreeCity_House4/header.inc
@@ -0,0 +1,15 @@
+FortreeCity_House4: @ 84835E4
+ .4byte FortreeCity_House4_MapAttributes
+ .4byte FortreeCity_House4_MapEvents
+ .4byte FortreeCity_House4_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 101
+ .byte 11
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/FortreeCity_House5/header.inc b/data/maps/FortreeCity_House5/header.inc
new file mode 100644
index 000000000..0f98a0a2b
--- /dev/null
+++ b/data/maps/FortreeCity_House5/header.inc
@@ -0,0 +1,15 @@
+FortreeCity_House5: @ 8483600
+ .4byte FortreeCity_House5_MapAttributes
+ .4byte FortreeCity_House5_MapEvents
+ .4byte FortreeCity_House5_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 99
+ .byte 11
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/FortreeCity_Mart/header.inc b/data/maps/FortreeCity_Mart/header.inc
new file mode 100644
index 000000000..ad102af2d
--- /dev/null
+++ b/data/maps/FortreeCity_Mart/header.inc
@@ -0,0 +1,15 @@
+FortreeCity_Mart: @ 8483590
+ .4byte FortreeCity_Mart_MapAttributes
+ .4byte FortreeCity_Mart_MapEvents
+ .4byte FortreeCity_Mart_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRIENDLY
+ .2byte 63
+ .byte 11
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/FortreeCity_PokemonCenter_1F/header.inc b/data/maps/FortreeCity_PokemonCenter_1F/header.inc
new file mode 100644
index 000000000..a7e525f6e
--- /dev/null
+++ b/data/maps/FortreeCity_PokemonCenter_1F/header.inc
@@ -0,0 +1,15 @@
+FortreeCity_PokemonCenter_1F: @ 8483558
+ .4byte FortreeCity_PokemonCenter_1F_MapAttributes
+ .4byte FortreeCity_PokemonCenter_1F_MapEvents
+ .4byte FortreeCity_PokemonCenter_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 61
+ .byte 11
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/FortreeCity_PokemonCenter_2F/header.inc b/data/maps/FortreeCity_PokemonCenter_2F/header.inc
new file mode 100644
index 000000000..693b04eb7
--- /dev/null
+++ b/data/maps/FortreeCity_PokemonCenter_2F/header.inc
@@ -0,0 +1,15 @@
+FortreeCity_PokemonCenter_2F: @ 8483574
+ .4byte FortreeCity_PokemonCenter_2F_MapAttributes
+ .4byte FortreeCity_PokemonCenter_2F_MapEvents
+ .4byte FortreeCity_PokemonCenter_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 62
+ .byte 11
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/GraniteCave_1F/border.bin b/data/maps/GraniteCave_1F/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/GraniteCave_1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/GraniteCave_1F/header.inc b/data/maps/GraniteCave_1F/header.inc
new file mode 100644
index 000000000..320567d23
--- /dev/null
+++ b/data/maps/GraniteCave_1F/header.inc
@@ -0,0 +1,15 @@
+GraniteCave_1F: @ 8483F84
+ .4byte GraniteCave_1F_MapAttributes
+ .4byte GraniteCave_1F_MapEvents
+ .4byte GraniteCave_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN01
+ .2byte 132
+ .byte 55
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/GraniteCave_1F/map.bin b/data/maps/GraniteCave_1F/map.bin
new file mode 100644
index 000000000..58c7945ab
--- /dev/null
+++ b/data/maps/GraniteCave_1F/map.bin
@@ -0,0 +1,5 @@
+22222222222222222222222?22''2222222222222222222222222222222    "2222222222222222222222222222222222222222222222222222222222226222222  
+222222222222222222222J6R6F622222 $# 
+22222222222<22222222;62;622222#
+22222222# XYZ  "222;62;62?22      "#    
+2222# "# "2;2;6222#   "2222#      "#       $'# XYZ$$#            $#         $ \ No newline at end of file
diff --git a/data/maps/GraniteCave_B1F/border.bin b/data/maps/GraniteCave_B1F/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/GraniteCave_B1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/GraniteCave_B1F/header.inc b/data/maps/GraniteCave_B1F/header.inc
new file mode 100644
index 000000000..798aec9f2
--- /dev/null
+++ b/data/maps/GraniteCave_B1F/header.inc
@@ -0,0 +1,15 @@
+GraniteCave_B1F: @ 8483FA0
+ .4byte GraniteCave_B1F_MapAttributes
+ .4byte GraniteCave_B1F_MapEvents
+ .4byte GraniteCave_B1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN01
+ .2byte 133
+ .byte 55
+ .byte 1
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/GraniteCave_B1F/map.bin b/data/maps/GraniteCave_B1F/map.bin
new file mode 100644
index 000000000..27f98c6cf
--- /dev/null
+++ b/data/maps/GraniteCave_B1F/map.bin
@@ -0,0 +1,10 @@
+2/2/2/2/2/2/22222222/2/2/2/2/2/2/2/2!!!!
+222/2/2/2/2/2/22222222/2/2/2/2/2/2/2/2?2222!!!!!!
+2?222/2/2/2/2/2/2/2/22222!!!!!
+/2/2/2/2/2/222222222/2/2/222?222/2/2/2/2/2/2/222222222/2/2/222222/2/2/2/2/2/2/222222#!#!!
+222222#!#!#!#!!!!!!!#222222020222222222222222222222222222222222222222222222222>2222?22222  
+222  
+222222222222222222222222222  #222222222222222#  
+2222222222222222222222222222222222#  
+222222=22# 
+222 !!!!"2222?222222222#     !!!"#   ###    ##      #     ##       ##                              # \ No newline at end of file
diff --git a/data/maps/GraniteCave_B2F/border.bin b/data/maps/GraniteCave_B2F/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/GraniteCave_B2F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/GraniteCave_B2F/header.inc b/data/maps/GraniteCave_B2F/header.inc
new file mode 100644
index 000000000..2ec2c7089
--- /dev/null
+++ b/data/maps/GraniteCave_B2F/header.inc
@@ -0,0 +1,15 @@
+GraniteCave_B2F: @ 8483FBC
+ .4byte GraniteCave_B2F_MapAttributes
+ .4byte GraniteCave_B2F_MapEvents
+ .4byte GraniteCave_B2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN01
+ .2byte 134
+ .byte 55
+ .byte 1
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/GraniteCave_B2F/map.bin b/data/maps/GraniteCave_B2F/map.bin
new file mode 100644
index 000000000..bbf8dc7af
--- /dev/null
+++ b/data/maps/GraniteCave_B2F/map.bin
@@ -0,0 +1,2 @@
+2222222222222222222222262222222222S22222222222222'62>22222222222:2>22222222222222222222222222:2     "222222222222222222>22BR22222226222222222222222222222 $P622            $$        $    666666666666666666666666666666666666666666666S66622  2 2b6 2 2"22S622222222222222222222222222222222222222>2222222222222222222222222222'2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222    
+222222222222222222222222222222'222   $22=222222222222     "'222$            $$    $$                $$      $$                              # \ No newline at end of file
diff --git a/data/maps/GraniteCave_StevensRoom/border.bin b/data/maps/GraniteCave_StevensRoom/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/GraniteCave_StevensRoom/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/GraniteCave_StevensRoom/header.inc b/data/maps/GraniteCave_StevensRoom/header.inc
new file mode 100644
index 000000000..1734d1114
--- /dev/null
+++ b/data/maps/GraniteCave_StevensRoom/header.inc
@@ -0,0 +1,15 @@
+GraniteCave_StevensRoom: @ 8483FD8
+ .4byte GraniteCave_StevensRoom_MapAttributes
+ .4byte GraniteCave_StevensRoom_MapEvents
+ .4byte GraniteCave_StevensRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN01
+ .2byte 288
+ .byte 55
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/GraniteCave_StevensRoom/map.bin b/data/maps/GraniteCave_StevensRoom/map.bin
new file mode 100644
index 000000000..3dc6987c2
--- /dev/null
+++ b/data/maps/GraniteCave_StevensRoom/map.bin
@@ -0,0 +1,4 @@
+   22222222222222222222222222$!
+22222$
+2222$
+$!!!!!$$!!!!!!!!$$!!!!!!!!!!$ \ No newline at end of file
diff --git a/data/maps/InsideOfTruck/border.bin b/data/maps/InsideOfTruck/border.bin
new file mode 100644
index 000000000..8459c2996
--- /dev/null
+++ b/data/maps/InsideOfTruck/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/InsideOfTruck/header.inc b/data/maps/InsideOfTruck/header.inc
new file mode 100644
index 000000000..7e63d060f
--- /dev/null
+++ b/data/maps/InsideOfTruck/header.inc
@@ -0,0 +1,15 @@
+InsideOfTruck: @ 8484EF0
+ .4byte InsideOfTruck_MapAttributes
+ .4byte InsideOfTruck_MapEvents
+ .4byte InsideOfTruck_MapScripts
+ .4byte 0x0
+ .2byte 65535
+ .2byte 237
+ .byte 84
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/InsideOfTruck/map.bin b/data/maps/InsideOfTruck/map.bin
new file mode 100644
index 000000000..84b946be5
--- /dev/null
+++ b/data/maps/InsideOfTruck/map.bin
@@ -0,0 +1,2 @@
+ 
+2 2 22222!"#$  \ No newline at end of file
diff --git a/data/maps/IslandCave/border.bin b/data/maps/IslandCave/border.bin
new file mode 100644
index 000000000..c07869a9f
--- /dev/null
+++ b/data/maps/IslandCave/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/IslandCave/header.inc b/data/maps/IslandCave/header.inc
new file mode 100644
index 000000000..454c3cf92
--- /dev/null
+++ b/data/maps/IslandCave/header.inc
@@ -0,0 +1,15 @@
+IslandCave: @ 8484614
+ .4byte IslandCave_MapAttributes
+ .4byte IslandCave_MapEvents
+ .4byte IslandCave_MapScripts
+ .4byte 0x0
+ .2byte BGM_MABOROSI
+ .2byte 280
+ .byte 81
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/IslandCave/map.bin b/data/maps/IslandCave/map.bin
new file mode 100644
index 000000000..a7fa61b4d
--- /dev/null
+++ b/data/maps/IslandCave/map.bin
Binary files differ
diff --git a/data/maps/JaggedPass/border.bin b/data/maps/JaggedPass/border.bin
new file mode 100644
index 000000000..9ae2c2126
--- /dev/null
+++ b/data/maps/JaggedPass/border.bin
@@ -0,0 +1 @@
+qqqq \ No newline at end of file
diff --git a/data/maps/JaggedPass/header.inc b/data/maps/JaggedPass/header.inc
new file mode 100644
index 000000000..24e700ebb
--- /dev/null
+++ b/data/maps/JaggedPass/header.inc
@@ -0,0 +1,15 @@
+JaggedPass: @ 848402C
+ .4byte JaggedPass_MapAttributes
+ .4byte JaggedPass_MapEvents
+ .4byte JaggedPass_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN01
+ .2byte 292
+ .byte 76
+ .byte 0
+ .byte 0
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/JaggedPass/map.bin b/data/maps/JaggedPass/map.bin
new file mode 100644
index 000000000..57195b4f5
--- /dev/null
+++ b/data/maps/JaggedPass/map.bin
Binary files differ
diff --git a/data/maps/LavaridgeTown/border.bin b/data/maps/LavaridgeTown/border.bin
new file mode 100644
index 000000000..9ae2c2126
--- /dev/null
+++ b/data/maps/LavaridgeTown/border.bin
@@ -0,0 +1 @@
+qqqq \ No newline at end of file
diff --git a/data/maps/LavaridgeTown/connections.inc b/data/maps/LavaridgeTown/connections.inc
new file mode 100644
index 000000000..c522a3460
--- /dev/null
+++ b/data/maps/LavaridgeTown/connections.inc
@@ -0,0 +1,7 @@
+LavaridgeTown_MapConnectionsList: @ 8486660
+ connection right, -40, ROUTE_112, 0
+
+LavaridgeTown_MapConnections: @ 848666C
+ .4byte 0x1
+ .4byte LavaridgeTown_MapConnectionsList
+
diff --git a/data/maps/LavaridgeTown/header.inc b/data/maps/LavaridgeTown/header.inc
new file mode 100644
index 000000000..c107a2643
--- /dev/null
+++ b/data/maps/LavaridgeTown/header.inc
@@ -0,0 +1,15 @@
+LavaridgeTown: @ 8482608
+ .4byte LavaridgeTown_MapAttributes
+ .4byte LavaridgeTown_MapEvents
+ .4byte LavaridgeTown_MapScripts
+ .4byte LavaridgeTown_MapConnections
+ .2byte BGM_MACHI_S4
+ .2byte 13
+ .byte 3
+ .byte 0
+ .byte 2
+ .byte 1
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/LavaridgeTown/map.bin b/data/maps/LavaridgeTown/map.bin
new file mode 100644
index 000000000..604ad5f3f
--- /dev/null
+++ b/data/maps/LavaridgeTown/map.bin
@@ -0,0 +1,3 @@
+qqqq{ttttt|qqqqqqq66{tttzq22222xttttttttr{2t2|qqqNKLOq6rr2222JHIMyy0123rr2332PQRS2289:;44rr2222XYZ[55`ABC44rr`abc550 1"1044rr2222220 1"10000 1"1000rr2222220 1"1000 1"1000rrBB00 1!11111!1!1111rr22200(1)1)1)1)1)1)1)1)1)1)1rr111111000000000000rr0000 0 0
+00 0 0
+00rr0000rr000  4rr11000 !" !"4rr000000000000400004m00000000000000044qqrm0000000000000044qqllllllllllllllll \ No newline at end of file
diff --git a/data/maps/LavaridgeTown_Gym_1F/border.bin b/data/maps/LavaridgeTown_Gym_1F/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/LavaridgeTown_Gym_1F/border.bin
Binary files differ
diff --git a/data/maps/LavaridgeTown_Gym_1F/header.inc b/data/maps/LavaridgeTown_Gym_1F/header.inc
new file mode 100644
index 000000000..a82f59c89
--- /dev/null
+++ b/data/maps/LavaridgeTown_Gym_1F/header.inc
@@ -0,0 +1,15 @@
+LavaridgeTown_Gym_1F: @ 8482CD0
+ .4byte LavaridgeTown_Gym_1F_MapAttributes
+ .4byte LavaridgeTown_Gym_1F_MapEvents
+ .4byte LavaridgeTown_Gym_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_GIM
+ .2byte 69
+ .byte 3
+ .byte 0
+ .byte 6
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/LavaridgeTown_Gym_1F/map.bin b/data/maps/LavaridgeTown_Gym_1F/map.bin
new file mode 100644
index 000000000..31d16da5e
--- /dev/null
+++ b/data/maps/LavaridgeTown_Gym_1F/map.bin
@@ -0,0 +1,3 @@
+   22222' 222 2222  22222  2222 222  222222  2222  2222  222222  2222  2222 2222  22  222      2222 2 2  22  22  22  !"#$  2222  22  22  22222  2222  22  22  2222  2222  22  22 %&&&&  22 2  22 22222 222 %&  22 22222 2222  22  222
+2222222222
+22  222222222 2222222  22220022 \ No newline at end of file
diff --git a/data/maps/LavaridgeTown_Gym_B1F/border.bin b/data/maps/LavaridgeTown_Gym_B1F/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/LavaridgeTown_Gym_B1F/border.bin
Binary files differ
diff --git a/data/maps/LavaridgeTown_Gym_B1F/header.inc b/data/maps/LavaridgeTown_Gym_B1F/header.inc
new file mode 100644
index 000000000..0d7857c1a
--- /dev/null
+++ b/data/maps/LavaridgeTown_Gym_B1F/header.inc
@@ -0,0 +1,15 @@
+LavaridgeTown_Gym_B1F: @ 8482CEC
+ .4byte LavaridgeTown_Gym_B1F_MapAttributes
+ .4byte LavaridgeTown_Gym_B1F_MapEvents
+ .4byte LavaridgeTown_Gym_B1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_GIM
+ .2byte 70
+ .byte 3
+ .byte 0
+ .byte 6
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/LavaridgeTown_Gym_B1F/map.bin b/data/maps/LavaridgeTown_Gym_B1F/map.bin
new file mode 100644
index 000000000..aeaf0177c
--- /dev/null
+++ b/data/maps/LavaridgeTown_Gym_B1F/map.bin
@@ -0,0 +1,6 @@
+++++)+++++)++++++3333(33333(3333332222022;220222222 22822
+222222
+282222++++)++)+)+++)+++33331331313331333<22;1221212221222 22221 221 21 2221 222 22221 221 21 2221 222 22221 22191 2221 22292221 221 21%&&1%&& 22221%&1 21 2221 222%&&&1 221 21 2281 222 22221 221 21 2221 222 2822(92( 21 2221 222 22220 220 21%&&( 222 2222:
+222
+21 2220 2229222222221 222:
+222 22228222219222222 \ No newline at end of file
diff --git a/data/maps/LavaridgeTown_HerbShop/border.bin b/data/maps/LavaridgeTown_HerbShop/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/LavaridgeTown_HerbShop/border.bin
Binary files differ
diff --git a/data/maps/LavaridgeTown_HerbShop/header.inc b/data/maps/LavaridgeTown_HerbShop/header.inc
new file mode 100644
index 000000000..6afc82a8b
--- /dev/null
+++ b/data/maps/LavaridgeTown_HerbShop/header.inc
@@ -0,0 +1,15 @@
+LavaridgeTown_HerbShop: @ 8482CB4
+ .4byte LavaridgeTown_HerbShop_MapAttributes
+ .4byte LavaridgeTown_HerbShop_MapEvents
+ .4byte LavaridgeTown_HerbShop_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S4
+ .2byte 68
+ .byte 3
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LavaridgeTown_HerbShop/map.bin b/data/maps/LavaridgeTown_HerbShop/map.bin
new file mode 100644
index 000000000..cc0294a80
--- /dev/null
+++ b/data/maps/LavaridgeTown_HerbShop/map.bin
@@ -0,0 +1 @@
+32222x2p2p2p2p22h2h2h2x2p2p2p2p2p2y2h2h2h232h2h2h2h2h2h2h2h2h22g2h2h2h2h2h2h2h2f2Z2abh2h2h2h2h2ab \ No newline at end of file
diff --git a/data/maps/LavaridgeTown_House/header.inc b/data/maps/LavaridgeTown_House/header.inc
new file mode 100644
index 000000000..f9f8dbfeb
--- /dev/null
+++ b/data/maps/LavaridgeTown_House/header.inc
@@ -0,0 +1,15 @@
+LavaridgeTown_House: @ 8482D08
+ .4byte LavaridgeTown_House_MapAttributes
+ .4byte LavaridgeTown_House_MapEvents
+ .4byte LavaridgeTown_House_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S4
+ .2byte 64
+ .byte 3
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LavaridgeTown_Mart/header.inc b/data/maps/LavaridgeTown_Mart/header.inc
new file mode 100644
index 000000000..05a9c6b94
--- /dev/null
+++ b/data/maps/LavaridgeTown_Mart/header.inc
@@ -0,0 +1,15 @@
+LavaridgeTown_Mart: @ 8482D24
+ .4byte LavaridgeTown_Mart_MapAttributes
+ .4byte LavaridgeTown_Mart_MapEvents
+ .4byte LavaridgeTown_Mart_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRIENDLY
+ .2byte 63
+ .byte 3
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/border.bin b/data/maps/LavaridgeTown_PokemonCenter_1F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/LavaridgeTown_PokemonCenter_1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/header.inc b/data/maps/LavaridgeTown_PokemonCenter_1F/header.inc
new file mode 100644
index 000000000..bb99b86d5
--- /dev/null
+++ b/data/maps/LavaridgeTown_PokemonCenter_1F/header.inc
@@ -0,0 +1,15 @@
+LavaridgeTown_PokemonCenter_1F: @ 8482D40
+ .4byte LavaridgeTown_PokemonCenter_1F_MapAttributes
+ .4byte LavaridgeTown_PokemonCenter_1F_MapEvents
+ .4byte LavaridgeTown_PokemonCenter_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 71
+ .byte 3
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/map.bin b/data/maps/LavaridgeTown_PokemonCenter_1F/map.bin
new file mode 100644
index 000000000..d841f9f1a
--- /dev/null
+++ b/data/maps/LavaridgeTown_PokemonCenter_1F/map.bin
@@ -0,0 +1 @@
+   JK   H"#RSI2222P*+2[Q$2222 2&222X!!!Y<222'2 24222`2l2m2n2o22%222'222222021222322222'26B228292:2;2242=>'222222@2A2B2C22&2EF'2(2222222222&2427 \ No newline at end of file
diff --git a/data/maps/LavaridgeTown_PokemonCenter_2F/header.inc b/data/maps/LavaridgeTown_PokemonCenter_2F/header.inc
new file mode 100644
index 000000000..d81479abe
--- /dev/null
+++ b/data/maps/LavaridgeTown_PokemonCenter_2F/header.inc
@@ -0,0 +1,15 @@
+LavaridgeTown_PokemonCenter_2F: @ 8482D5C
+ .4byte LavaridgeTown_PokemonCenter_2F_MapAttributes
+ .4byte LavaridgeTown_PokemonCenter_2F_MapEvents
+ .4byte LavaridgeTown_PokemonCenter_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 62
+ .byte 3
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity/border.bin b/data/maps/LilycoveCity/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/LilycoveCity/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/LilycoveCity/connections.inc b/data/maps/LilycoveCity/connections.inc
new file mode 100644
index 000000000..e19e02829
--- /dev/null
+++ b/data/maps/LilycoveCity/connections.inc
@@ -0,0 +1,8 @@
+LilycoveCity_MapConnectionsList: @ 84867A4
+ connection left, 10, ROUTE_121, 0
+ connection right, -10, ROUTE_124, 0
+
+LilycoveCity_MapConnections: @ 84867BC
+ .4byte 0x2
+ .4byte LilycoveCity_MapConnectionsList
+
diff --git a/data/maps/LilycoveCity/header.inc b/data/maps/LilycoveCity/header.inc
new file mode 100644
index 000000000..5f063576e
--- /dev/null
+++ b/data/maps/LilycoveCity/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity: @ 8482544
+ .4byte LilycoveCity_MapAttributes
+ .4byte LilycoveCity_MapEvents
+ .4byte LilycoveCity_MapScripts
+ .4byte LilycoveCity_MapConnections
+ .2byte BGM_MINAMO
+ .2byte 6
+ .byte 12
+ .byte 0
+ .byte 2
+ .byte 2
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/LilycoveCity/map.bin b/data/maps/LilycoveCity/map.bin
new file mode 100644
index 000000000..5d6b56ad9
--- /dev/null
+++ b/data/maps/LilycoveCity/map.bin
Binary files differ
diff --git a/data/maps/LilycoveCity_ContestHall/border.bin b/data/maps/LilycoveCity_ContestHall/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/LilycoveCity_ContestHall/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/LilycoveCity_ContestHall/header.inc b/data/maps/LilycoveCity_ContestHall/header.inc
new file mode 100644
index 000000000..4aa6ce82a
--- /dev/null
+++ b/data/maps/LilycoveCity_ContestHall/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_ContestHall: @ 84836C4
+ .4byte LilycoveCity_ContestHall_MapAttributes
+ .4byte LilycoveCity_ContestHall_MapEvents
+ .4byte LilycoveCity_ContestHall_MapScripts
+ .4byte 0x0
+ .2byte BGM_CONLOBBY
+ .2byte 106
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity_ContestHall/map.bin b/data/maps/LilycoveCity_ContestHall/map.bin
new file mode 100644
index 000000000..06fdae4f7
--- /dev/null
+++ b/data/maps/LilycoveCity_ContestHall/map.bin
@@ -0,0 +1,3 @@
+///////////////////////////////2222222222~v 2222222222////
+////22222<=>bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb<=> 22222////
+DEF. 2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2!2"2,DEF////<=>bbbb6(2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2*24bbbb<=>DEF. 2!2!2!2!202`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`222!2!2!2!2"2,DEFbbbb6(2`2`2`2`2`2`2`2`2`2`2`2`2              f2`2`2`2`2`2`2`2`2`2`2`2*24bbbb 2!2!2!2!202`2`2J2`2`2`2`2`2`2`2`2`2$%2%2%2%2%2%2%2%2%2%2%2%2%2&f2`2`2`2`2`2`2`2`2J2`2`222!2!2!2!2"2(2`2`2`2`2`2`2`2R`2`2`2`2`2`2`2`2`2$%2%2hiiiiiiij%2%2&f2`2`2`2`2`2`2`2`2R`2`2`2`2`2`2`2*2(2`2J2`2`2J2`2`2`2`2`2`2H2`2H2`2`2`2$%2%2pq2q2q2q2q2o2q2r%2%2&f2`2`2I2`2I2`2`2`2`2`2`2J2`2`2J2`2*2(2`2R`2`2R`2`2`2`2`2`2P2`2P2`2`2`2$%2%2pq2q2q22qwBqr%2%2&f2`2`2Q2`2Q2`2`2`2`2`2`2R`2`2R`2*2(2`2`2`2`2`2`2`2`2`2`2`2X2`2X2`2`2`2$%2%2pq2q2q22q2qq2r%2%2&f2`2`2Y2`2Y2`2`2`2`2`2`2`2`2`2`2`2*2(2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2$%2%2pq2q2q2q2q2q2q2r%2%2&f2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2*2(2`2`2`2`2`2`2`2`2`2`2`2H2`2H2`2`2`2$%2%2xyy{2|2}2yyz%2%2&f2`2`2I2`2I2`2`2`2`2`2`2`2`2`2`2`2*2(2`2`2`2`2`2`2`2`2`2`2`2P2`2P2`2`2`22222222222222f2`2`2Q2`2Q2`2`2`2`2`2`2`2`2`2`2`2*2(2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2222f2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2*2(2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`22_2_2_2_2_2_2_2_2_2_2_2_2_2_2g2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2*2(2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2*2(2`2`2`2`2`2              f2`2`2`2`2`2`2`2`2              f2`2`2`2`2*2(2`2`2`2`2`2$%2%2%2%2%2%2%2%2%2%2%2%2%2&f2`2`2`2`2`2`2`2`2$%2%2%2%2%2%2%2%2%2%2%2%2%2&f2`2`2`2`2*2(2`2`2`2`2`2$%2%2hiiiiiiij%2%2&f2I2`2`2`2`2`2H2`2$%2%2hiiiiiiij%2%2&f2`2`2`2`2*2(2`2H2`2H2`2$%2%2pq2q2q2q2q2o2q2r%2%2&f2Q2`2`2`2`2`2P2`2$%2%2pq2q2q2q2q2o2q2r%2%2&f2I2`2I2`2*2(2`2P2`2P2`2$%2%2pq2q2q22qwBqr%2%2&f2Y2`2`2`2`2`2X2`2$%2%2pq2q2q22qwBqr%2%2&f2Q2`2Q2`2*2(2`2X2`2X2`2$%2%2pq2q2q22q2qq2r%2%2&f2`2`2`2`2`2`2`2`2$%2%2pq2q2q22q2qq2r%2%2&f2Y2`2Y2`2*2(2`2`2`2`2`2$%2%2pq2q2q2q2q2q2q2r%2%2&f2I2`2`2`2`2`2H2`2$%2%2pq2q2q2q2q2q2q2r%2%2&f2`2`2`2`2*2(2`2H2`2H2`2$%2%2xyy222yyz%2%2&f2Q2`2`2`2`2`2P2`2$%2%2xyy222yyz%2%2&f2I2`2I2`2*2(2`2P2`2P2`22222222222222f2Y2`2`2`2`2`2X2`22222222222222f2Q2`2Q2`2*2(2`2X2`2X2`2222f2`2`2`2`2`2`2`2`2222f2Y2`2Y2`2*2(2`2`2`2`2`22_2_2_2_2_2_2_2_2_2_2_2_2_2_2g2`2`2`2`2`2`2`2`22_2_2_2_2_2_2_2_2_2_2_2_2_2_2g2`2`2`2`2*2(2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2*2(2`2`2J2`2`2`2J2`2`2`2J2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2J2`2`2`2J2`2`2`2J2`2`2*2(2`2`2R`2`2`2R`2`2`2R`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2R`2`2`2R`2`2`2R`2`2*2 \ No newline at end of file
diff --git a/data/maps/LilycoveCity_ContestLobby/border.bin b/data/maps/LilycoveCity_ContestLobby/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/LilycoveCity_ContestLobby/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/LilycoveCity_ContestLobby/header.inc b/data/maps/LilycoveCity_ContestLobby/header.inc
new file mode 100644
index 000000000..9ff5e1978
--- /dev/null
+++ b/data/maps/LilycoveCity_ContestLobby/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_ContestLobby: @ 84836A8
+ .4byte LilycoveCity_ContestLobby_MapAttributes
+ .4byte LilycoveCity_ContestLobby_MapEvents
+ .4byte LilycoveCity_ContestLobby_MapScripts
+ .4byte 0x0
+ .2byte BGM_CONLOBBY
+ .2byte 105
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity_ContestLobby/map.bin b/data/maps/LilycoveCity_ContestLobby/map.bin
new file mode 100644
index 000000000..122962e42
--- /dev/null
+++ b/data/maps/LilycoveCity_ContestLobby/map.bin
@@ -0,0 +1 @@
+[\]:;M[\]bbbbbc6debbBCbbc6debbbbT 2!2!2!2!2!2!2!2!2!2!2222222U2!2!2!2!2!2!2!2!2!2!2"2(2`2`2`2`2`2`2`2`2`2`2f2`2`2`2`2`2`2`2`2`2`2*2(2`2`2`2`2`2`2`2`2`2`22_2_2_2_2_2_2_2g2`2`2`2`2`2`2`2`2`2`2*2(2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2*282`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`292@2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2A2(2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2*282`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`292@2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2A2(2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2`2*2 \ No newline at end of file
diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/border.bin b/data/maps/LilycoveCity_CoveLilyMotel_1F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/LilycoveCity_CoveLilyMotel_1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/header.inc b/data/maps/LilycoveCity_CoveLilyMotel_1F/header.inc
new file mode 100644
index 000000000..9cae21a94
--- /dev/null
+++ b/data/maps/LilycoveCity_CoveLilyMotel_1F/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_CoveLilyMotel_1F: @ 8483638
+ .4byte LilycoveCity_CoveLilyMotel_1F_MapAttributes
+ .4byte LilycoveCity_CoveLilyMotel_1F_MapEvents
+ .4byte LilycoveCity_CoveLilyMotel_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_MINAMO
+ .2byte 299
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/map.bin b/data/maps/LilycoveCity_CoveLilyMotel_1F/map.bin
new file mode 100644
index 000000000..5242f8e57
--- /dev/null
+++ b/data/maps/LilycoveCity_CoveLilyMotel_1F/map.bin
@@ -0,0 +1 @@
+a 2!2!2!2!2222!2!2@22!2)2)2)2)2)2)2)2)2)2)2)2!2D2NOD2)2)2D2N_D2)2!2D2VWD2)2)2D2VWD2)2!2)2)2)2)2)2)2)2)2)2)2)2 333333333333#3333333333 \ No newline at end of file
diff --git a/data/maps/LilycoveCity_CoveLilyMotel_2F/border.bin b/data/maps/LilycoveCity_CoveLilyMotel_2F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/LilycoveCity_CoveLilyMotel_2F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/LilycoveCity_CoveLilyMotel_2F/header.inc b/data/maps/LilycoveCity_CoveLilyMotel_2F/header.inc
new file mode 100644
index 000000000..abaa01313
--- /dev/null
+++ b/data/maps/LilycoveCity_CoveLilyMotel_2F/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_CoveLilyMotel_2F: @ 8483654
+ .4byte LilycoveCity_CoveLilyMotel_2F_MapAttributes
+ .4byte LilycoveCity_CoveLilyMotel_2F_MapEvents
+ .4byte LilycoveCity_CoveLilyMotel_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_MINAMO
+ .2byte 300
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity_CoveLilyMotel_2F/map.bin b/data/maps/LilycoveCity_CoveLilyMotel_2F/map.bin
new file mode 100644
index 000000000..4484b5b55
--- /dev/null
+++ b/data/maps/LilycoveCity_CoveLilyMotel_2F/map.bin
@@ -0,0 +1 @@
+a2!2!2!2!2!2!2!22222!2)2N_D2)2)2D2NOD2)2!2D2VWD2)2)2D2VWD2)2!2)2)2)2)2)2)2)2)2)2)2)2!2D2NOD2)2)2)2N_)2)2!2D2VWD2)2)2D2VW)2)2!2)2)2)2)2)2)2)2)2)2)2)2 \ No newline at end of file
diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/border.bin b/data/maps/LilycoveCity_DepartmentStoreElevator/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStoreElevator/border.bin
Binary files differ
diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/header.inc b/data/maps/LilycoveCity_DepartmentStoreElevator/header.inc
new file mode 100644
index 000000000..4f71e1479
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStoreElevator/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_DepartmentStoreElevator: @ 84838A0
+ .4byte LilycoveCity_DepartmentStoreElevator_MapAttributes
+ .4byte LilycoveCity_DepartmentStoreElevator_MapEvents
+ .4byte LilycoveCity_DepartmentStoreElevator_MapScripts
+ .4byte 0x0
+ .2byte BGM_MINAMO
+ .2byte 273
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/map.bin b/data/maps/LilycoveCity_DepartmentStoreElevator/map.bin
new file mode 100644
index 000000000..7d9ae193b
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStoreElevator/map.bin
@@ -0,0 +1 @@
+(***,011148999<\2]2]2]2]2d2e2e2e2f2d2O2W2e2f2 \ No newline at end of file
diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/border.bin b/data/maps/LilycoveCity_DepartmentStoreRooftop/border.bin
new file mode 100644
index 000000000..c1b82435c
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/header.inc b/data/maps/LilycoveCity_DepartmentStoreRooftop/header.inc
new file mode 100644
index 000000000..dee8b5b4e
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_DepartmentStoreRooftop: @ 8483884
+ .4byte LilycoveCity_DepartmentStoreRooftop_MapAttributes
+ .4byte LilycoveCity_DepartmentStoreRooftop_MapEvents
+ .4byte LilycoveCity_DepartmentStoreRooftop_MapScripts
+ .4byte 0x0
+ .2byte BGM_MINAMO
+ .2byte 262
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/map.bin b/data/maps/LilycoveCity_DepartmentStoreRooftop/map.bin
new file mode 100644
index 000000000..e9125baf0
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/map.bin
@@ -0,0 +1 @@
+&oo'.S2S2S2S2S2S2S2S2wwS2NO5/622J2J2J2J2J2J2M2M23VW=z'6J2J2J2J2J2J2J2J2J2^_ET2S2/622J2J2J2J2J2J2J2J2J2M2M2M2M2676J2J266J2J266J2J2J2J2J267>U2[2[2[2[2[2[2[2[2[2[2[2[2[2[2[2?FccccccccccccccccG \ No newline at end of file
diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/border.bin b/data/maps/LilycoveCity_DepartmentStore_1F/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStore_1F/border.bin
Binary files differ
diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/header.inc b/data/maps/LilycoveCity_DepartmentStore_1F/header.inc
new file mode 100644
index 000000000..263b13ad8
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStore_1F/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_DepartmentStore_1F: @ 84837F8
+ .4byte LilycoveCity_DepartmentStore_1F_MapAttributes
+ .4byte LilycoveCity_DepartmentStore_1F_MapEvents
+ .4byte LilycoveCity_DepartmentStore_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_MINAMO
+ .2byte 257
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/map.bin b/data/maps/LilycoveCity_DepartmentStore_1F/map.bin
new file mode 100644
index 000000000..2d3d15360
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStore_1F/map.bin
@@ -0,0 +1 @@
+|}~  Px2222p2p22222x2p2p2p2p2p22h2h2h2h2h22h2h2h2n2h22g2h2h2h2h2q2p2p2p2p2p2y2h2h2h2h2h2abhh2h2h2h2h2h2h2h2h2h2h2h2h2n2h22g2h2h2h2h2h2h2h2h2h2h2h2h2l2h2l2l2abh2h2h2h2h2h2h2h2h2h2th2tt \ No newline at end of file
diff --git a/data/maps/LilycoveCity_DepartmentStore_2F/border.bin b/data/maps/LilycoveCity_DepartmentStore_2F/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStore_2F/border.bin
Binary files differ
diff --git a/data/maps/LilycoveCity_DepartmentStore_2F/header.inc b/data/maps/LilycoveCity_DepartmentStore_2F/header.inc
new file mode 100644
index 000000000..7ca78c745
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStore_2F/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_DepartmentStore_2F: @ 8483814
+ .4byte LilycoveCity_DepartmentStore_2F_MapAttributes
+ .4byte LilycoveCity_DepartmentStore_2F_MapEvents
+ .4byte LilycoveCity_DepartmentStore_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRIENDLY
+ .2byte 258
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity_DepartmentStore_2F/map.bin b/data/maps/LilycoveCity_DepartmentStore_2F/map.bin
new file mode 100644
index 000000000..82ca90b08
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStore_2F/map.bin
@@ -0,0 +1 @@
+|}~    PQ 22222222222222222222222222222222222m22222222222222u2234222234222222 2222222m2222222222222222u \ No newline at end of file
diff --git a/data/maps/LilycoveCity_DepartmentStore_3F/border.bin b/data/maps/LilycoveCity_DepartmentStore_3F/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStore_3F/border.bin
Binary files differ
diff --git a/data/maps/LilycoveCity_DepartmentStore_3F/header.inc b/data/maps/LilycoveCity_DepartmentStore_3F/header.inc
new file mode 100644
index 000000000..796b58232
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStore_3F/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_DepartmentStore_3F: @ 8483830
+ .4byte LilycoveCity_DepartmentStore_3F_MapAttributes
+ .4byte LilycoveCity_DepartmentStore_3F_MapEvents
+ .4byte LilycoveCity_DepartmentStore_3F_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRIENDLY
+ .2byte 259
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity_DepartmentStore_3F/map.bin b/data/maps/LilycoveCity_DepartmentStore_3F/map.bin
new file mode 100644
index 000000000..c10b776f5
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStore_3F/map.bin
@@ -0,0 +1 @@
+|}~6    6QP 222222C2222 22222222222222222222+,2222222222+,2222342222222222342222;<2222222222;<22222222222222222222 \ No newline at end of file
diff --git a/data/maps/LilycoveCity_DepartmentStore_4F/border.bin b/data/maps/LilycoveCity_DepartmentStore_4F/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStore_4F/border.bin
Binary files differ
diff --git a/data/maps/LilycoveCity_DepartmentStore_4F/header.inc b/data/maps/LilycoveCity_DepartmentStore_4F/header.inc
new file mode 100644
index 000000000..c86acb62c
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStore_4F/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_DepartmentStore_4F: @ 848384C
+ .4byte LilycoveCity_DepartmentStore_4F_MapAttributes
+ .4byte LilycoveCity_DepartmentStore_4F_MapEvents
+ .4byte LilycoveCity_DepartmentStore_4F_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRIENDLY
+ .2byte 260
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity_DepartmentStore_4F/map.bin b/data/maps/LilycoveCity_DepartmentStore_4F/map.bin
new file mode 100644
index 000000000..bc1a09e2c
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStore_4F/map.bin
@@ -0,0 +1 @@
+|}~    PQ 2222222222222222222222222222222222222222222222222222222662222266662266222 22222666622222222222222222 \ No newline at end of file
diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/border.bin b/data/maps/LilycoveCity_DepartmentStore_5F/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStore_5F/border.bin
Binary files differ
diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/header.inc b/data/maps/LilycoveCity_DepartmentStore_5F/header.inc
new file mode 100644
index 000000000..1336b59c6
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStore_5F/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_DepartmentStore_5F: @ 8483868
+ .4byte LilycoveCity_DepartmentStore_5F_MapAttributes
+ .4byte LilycoveCity_DepartmentStore_5F_MapEvents
+ .4byte LilycoveCity_DepartmentStore_5F_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRIENDLY
+ .2byte 261
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/map.bin b/data/maps/LilycoveCity_DepartmentStore_5F/map.bin
new file mode 100644
index 000000000..80acc3900
--- /dev/null
+++ b/data/maps/LilycoveCity_DepartmentStore_5F/map.bin
Binary files differ
diff --git a/data/maps/LilycoveCity_Harbor/header.inc b/data/maps/LilycoveCity_Harbor/header.inc
new file mode 100644
index 000000000..4a79f9691
--- /dev/null
+++ b/data/maps/LilycoveCity_Harbor/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_Harbor: @ 8483750
+ .4byte LilycoveCity_Harbor_MapAttributes
+ .4byte LilycoveCity_Harbor_MapEvents
+ .4byte LilycoveCity_Harbor_MapScripts
+ .4byte 0x0
+ .2byte BGM_MINAMO
+ .2byte 88
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity_House1/header.inc b/data/maps/LilycoveCity_House1/header.inc
new file mode 100644
index 000000000..ebff864c0
--- /dev/null
+++ b/data/maps/LilycoveCity_House1/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_House1: @ 8483788
+ .4byte LilycoveCity_House1_MapAttributes
+ .4byte LilycoveCity_House1_MapEvents
+ .4byte LilycoveCity_House1_MapScripts
+ .4byte 0x0
+ .2byte BGM_MINAMO
+ .2byte 59
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity_House2/border.bin b/data/maps/LilycoveCity_House2/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/LilycoveCity_House2/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/LilycoveCity_House2/header.inc b/data/maps/LilycoveCity_House2/header.inc
new file mode 100644
index 000000000..d589b3c55
--- /dev/null
+++ b/data/maps/LilycoveCity_House2/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_House2: @ 84837A4
+ .4byte LilycoveCity_House2_MapAttributes
+ .4byte LilycoveCity_House2_MapEvents
+ .4byte LilycoveCity_House2_MapScripts
+ .4byte 0x0
+ .2byte BGM_MINAMO
+ .2byte 74
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity_House2/map.bin b/data/maps/LilycoveCity_House2/map.bin
new file mode 100644
index 000000000..e381f20eb
--- /dev/null
+++ b/data/maps/LilycoveCity_House2/map.bin
@@ -0,0 +1 @@
+222!2!2222Y2N6O6)2)2)2)2)2Y2V6W6D2)2)2)2)2!2)2)2)2)2)2)2)2 33333333#333333 \ No newline at end of file
diff --git a/data/maps/LilycoveCity_House3/header.inc b/data/maps/LilycoveCity_House3/header.inc
new file mode 100644
index 000000000..cb79f9bf6
--- /dev/null
+++ b/data/maps/LilycoveCity_House3/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_House3: @ 84837C0
+ .4byte LilycoveCity_House3_MapAttributes
+ .4byte LilycoveCity_House3_MapEvents
+ .4byte LilycoveCity_House3_MapScripts
+ .4byte 0x0
+ .2byte BGM_MINAMO
+ .2byte 60
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity_House4/header.inc b/data/maps/LilycoveCity_House4/header.inc
new file mode 100644
index 000000000..c971f6d7d
--- /dev/null
+++ b/data/maps/LilycoveCity_House4/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_House4: @ 84837DC
+ .4byte LilycoveCity_House4_MapAttributes
+ .4byte LilycoveCity_House4_MapEvents
+ .4byte LilycoveCity_House4_MapScripts
+ .4byte 0x0
+ .2byte BGM_MINAMO
+ .2byte 59
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/border.bin b/data/maps/LilycoveCity_LilycoveMuseum_1F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/LilycoveCity_LilycoveMuseum_1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/header.inc b/data/maps/LilycoveCity_LilycoveMuseum_1F/header.inc
new file mode 100644
index 000000000..a354518a9
--- /dev/null
+++ b/data/maps/LilycoveCity_LilycoveMuseum_1F/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_LilycoveMuseum_1F: @ 8483670
+ .4byte LilycoveCity_LilycoveMuseum_1F_MapAttributes
+ .4byte LilycoveCity_LilycoveMuseum_1F_MapEvents
+ .4byte LilycoveCity_LilycoveMuseum_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_BIJYUTU
+ .2byte 103
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/map.bin b/data/maps/LilycoveCity_LilycoveMuseum_1F/map.bin
new file mode 100644
index 000000000..6e92a8b58
--- /dev/null
+++ b/data/maps/LilycoveCity_LilycoveMuseum_1F/map.bin
@@ -0,0 +1 @@
+          !"#$% &'222222222222222222222222222222222 22222222 2 2 2 2 2 2 2 222222222222  -.  /  2222222222256722222:2;2;2;2<22222222222 22222B()*DO222222222222222J012LO22:2;2;2;2;2<222222222RSSSTO22HSAS@I>22222222?2?2?2?2?2F22M2?2?2?2O22222222+222,>222842;2;2;29O222222223>22?2F222RSSSSTO222222?2F22222 \ No newline at end of file
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/border.bin b/data/maps/LilycoveCity_LilycoveMuseum_2F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/header.inc b/data/maps/LilycoveCity_LilycoveMuseum_2F/header.inc
new file mode 100644
index 000000000..77630b6b4
--- /dev/null
+++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_LilycoveMuseum_2F: @ 848368C
+ .4byte LilycoveCity_LilycoveMuseum_2F_MapAttributes
+ .4byte LilycoveCity_LilycoveMuseum_2F_MapEvents
+ .4byte LilycoveCity_LilycoveMuseum_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_BIJYUTU
+ .2byte 104
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/map.bin b/data/maps/LilycoveCity_LilycoveMuseum_2F/map.bin
new file mode 100644
index 000000000..76a918838
--- /dev/null
+++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/map.bin
@@ -0,0 +1 @@
+yyyzjklxyyyrstq2p2q2p2q2p2q2q2p2q2q2p2p2q2p2q2p2i2h2i2h2i2h2i2h2i2h2i2h2i2p2q2p2q2q2d2e2f2g2h2i2h2i2d2e2f2g2h2i2h2i2d2e2f2g2h2p2nno2h2i2h2nno2h2i2h2nno2q2XYw{2i2h2i2XYw{2i2h2i2XYw{2p2|2}2~222h2i2h2|2}2~222h2i2h2|2}2~222q2h2i2h2i2d2e2f2g2h2i2h2i2d2e2f2g2h2i2h2i2h2p2i2h2i2h2nno2h2i2h2nno2h2i2h2i2q2h2i2h2i2XYw{2i2h2i2XYw{2i2h2i2h2p2i2h2i2h2|2}2~222h2i2h2|2}2~222h2i2h2i2q2h2i2h2i2h2i2h2i2h2i2h2i2h2i2h2i2h2i2h2i2h2 \ No newline at end of file
diff --git a/data/maps/LilycoveCity_MoveDeletersHouse/header.inc b/data/maps/LilycoveCity_MoveDeletersHouse/header.inc
new file mode 100644
index 000000000..6d0b19df0
--- /dev/null
+++ b/data/maps/LilycoveCity_MoveDeletersHouse/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_MoveDeletersHouse: @ 848376C
+ .4byte LilycoveCity_MoveDeletersHouse_MapAttributes
+ .4byte LilycoveCity_MoveDeletersHouse_MapEvents
+ .4byte LilycoveCity_MoveDeletersHouse_MapScripts
+ .4byte 0x0
+ .2byte BGM_MINAMO
+ .2byte 60
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/header.inc b/data/maps/LilycoveCity_PokemonCenter_1F/header.inc
new file mode 100644
index 000000000..477bfd87b
--- /dev/null
+++ b/data/maps/LilycoveCity_PokemonCenter_1F/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_PokemonCenter_1F: @ 84836E0
+ .4byte LilycoveCity_PokemonCenter_1F_MapAttributes
+ .4byte LilycoveCity_PokemonCenter_1F_MapEvents
+ .4byte LilycoveCity_PokemonCenter_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 61
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity_PokemonCenter_2F/header.inc b/data/maps/LilycoveCity_PokemonCenter_2F/header.inc
new file mode 100644
index 000000000..30f10e387
--- /dev/null
+++ b/data/maps/LilycoveCity_PokemonCenter_2F/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_PokemonCenter_2F: @ 84836FC
+ .4byte LilycoveCity_PokemonCenter_2F_MapAttributes
+ .4byte LilycoveCity_PokemonCenter_2F_MapEvents
+ .4byte LilycoveCity_PokemonCenter_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 62
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/border.bin b/data/maps/LilycoveCity_PokemonTrainerFanClub/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/header.inc b/data/maps/LilycoveCity_PokemonTrainerFanClub/header.inc
new file mode 100644
index 000000000..eb5b6e74e
--- /dev/null
+++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_PokemonTrainerFanClub: @ 8483734
+ .4byte LilycoveCity_PokemonTrainerFanClub_MapAttributes
+ .4byte LilycoveCity_PokemonTrainerFanClub_MapEvents
+ .4byte LilycoveCity_PokemonTrainerFanClub_MapScripts
+ .4byte 0x0
+ .2byte BGM_MINAMO
+ .2byte 107
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/map.bin b/data/maps/LilycoveCity_PokemonTrainerFanClub/map.bin
new file mode 100644
index 000000000..cddfe5d9d
--- /dev/null
+++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/map.bin
@@ -0,0 +1,2 @@
+no0vwi    ~22q2$2$2$2$2$282$22292#2#2+2LMLM,2#2#2#292#2#2#2TUTU#2#2#2#292#2#2#2#2#2#2,2#2#2#2#2 322#2#2#2#2#2#2222#2#2#2#2#2#2 526262626272
+hi22$2=2H^HI?2%2p2q292#2#2=2PQPQ?2#2#2#292#2#2E2F2F2F2F2G2#2#2#292#2#2#2#2#2#2#2#2#2#2#292#2#2#2#2 #2#2#2#2#2 \ No newline at end of file
diff --git a/data/maps/LilycoveCity_UnusedMart/header.inc b/data/maps/LilycoveCity_UnusedMart/header.inc
new file mode 100644
index 000000000..d205d5312
--- /dev/null
+++ b/data/maps/LilycoveCity_UnusedMart/header.inc
@@ -0,0 +1,15 @@
+LilycoveCity_UnusedMart: @ 8483718
+ .4byte LilycoveCity_UnusedMart_MapAttributes
+ .4byte LilycoveCity_UnusedMart_MapEvents
+ .4byte LilycoveCity_UnusedMart_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRIENDLY
+ .2byte 63
+ .byte 12
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LinkContestRoom1/border.bin b/data/maps/LinkContestRoom1/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/LinkContestRoom1/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/LinkContestRoom1/header.inc b/data/maps/LinkContestRoom1/header.inc
new file mode 100644
index 000000000..e257caad9
--- /dev/null
+++ b/data/maps/LinkContestRoom1/header.inc
@@ -0,0 +1,15 @@
+LinkContestRoom1: @ 8484DA0
+ .4byte LinkContestRoom1_MapAttributes
+ .4byte LinkContestRoom1_MapEvents
+ .4byte LinkContestRoom1_MapScripts
+ .4byte 0x0
+ .2byte BGM_CONTEST0
+ .2byte 225
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LinkContestRoom1/map.bin b/data/maps/LinkContestRoom1/map.bin
new file mode 100644
index 000000000..a8853f6ae
--- /dev/null
+++ b/data/maps/LinkContestRoom1/map.bin
@@ -0,0 +1 @@
+```````````````              $%2%2%2%2%2%2%2%2%2%2%2%2%2&$%2%2hiiiiiiij%2%2&$%2%2pq2q2q2q2q2o2q2r%2%2&$%2%2pq2q2q22q2w6q2r%2%2&$%2%2pq2q2q22q2q2q2r%2%2&$%2%2pq2q2q2q2q2q2q2r%2%2&$%2%2xyyk2l2m2yyz%2%2&22222s2t2u2222226s2t2u26 \ No newline at end of file
diff --git a/data/maps/LinkContestRoom2/border.bin b/data/maps/LinkContestRoom2/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/LinkContestRoom2/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/LinkContestRoom2/header.inc b/data/maps/LinkContestRoom2/header.inc
new file mode 100644
index 000000000..f370ad121
--- /dev/null
+++ b/data/maps/LinkContestRoom2/header.inc
@@ -0,0 +1,15 @@
+LinkContestRoom2: @ 8484E64
+ .4byte LinkContestRoom2_MapAttributes
+ .4byte LinkContestRoom2_MapEvents
+ .4byte LinkContestRoom2_MapScripts
+ .4byte 0x0
+ .2byte BGM_CONTEST0
+ .2byte 232
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LinkContestRoom2/map.bin b/data/maps/LinkContestRoom2/map.bin
new file mode 100644
index 000000000..7cb63b40d
--- /dev/null
+++ b/data/maps/LinkContestRoom2/map.bin
@@ -0,0 +1 @@
+```````````````              $%2%2%2%2%2%2%2%2%2%2%2%2%2&$%2%2hiiiiiiij%2%2&$%2%2pq2q2q2q2q2o2q2r%2%2&$%2%2pq2q2q22q2w6q2r%2%2&$%2%2pq2q2q22q2q2q2r%2%2&$%2%2pq2q2q2q2q2q2q2r%2%2&$%2%2xyy{2|2}2yyz%2%2&222222222222262226 \ No newline at end of file
diff --git a/data/maps/LinkContestRoom3/border.bin b/data/maps/LinkContestRoom3/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/LinkContestRoom3/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/LinkContestRoom3/header.inc b/data/maps/LinkContestRoom3/header.inc
new file mode 100644
index 000000000..f7deff02d
--- /dev/null
+++ b/data/maps/LinkContestRoom3/header.inc
@@ -0,0 +1,15 @@
+LinkContestRoom3: @ 8484E80
+ .4byte LinkContestRoom3_MapAttributes
+ .4byte LinkContestRoom3_MapEvents
+ .4byte LinkContestRoom3_MapScripts
+ .4byte 0x0
+ .2byte BGM_CONTEST0
+ .2byte 233
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LinkContestRoom3/map.bin b/data/maps/LinkContestRoom3/map.bin
new file mode 100644
index 000000000..59e9e9182
--- /dev/null
+++ b/data/maps/LinkContestRoom3/map.bin
@@ -0,0 +1 @@
+```````````````              $%2%2%2%2%2%2%2%2%2%2%2%2%2&$%2%2hiiiiiiij%2%2&$%2%2pq2q2q2q2q2o2q2r%2%2&$%2%2pq2q2q22q2w6q2r%2%2&$%2%2pq2q2q22q2q2q2r%2%2&$%2%2pq2q2q2q2q2q2q2r%2%2&$%2%2xyy222yyz%2%2&222222222222262226 \ No newline at end of file
diff --git a/data/maps/LinkContestRoom4/border.bin b/data/maps/LinkContestRoom4/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/LinkContestRoom4/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/LinkContestRoom4/header.inc b/data/maps/LinkContestRoom4/header.inc
new file mode 100644
index 000000000..1d25edacb
--- /dev/null
+++ b/data/maps/LinkContestRoom4/header.inc
@@ -0,0 +1,15 @@
+LinkContestRoom4: @ 8484E9C
+ .4byte LinkContestRoom4_MapAttributes
+ .4byte LinkContestRoom4_MapEvents
+ .4byte LinkContestRoom4_MapScripts
+ .4byte 0x0
+ .2byte BGM_CONTEST0
+ .2byte 234
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LinkContestRoom4/map.bin b/data/maps/LinkContestRoom4/map.bin
new file mode 100644
index 000000000..4e2166c19
--- /dev/null
+++ b/data/maps/LinkContestRoom4/map.bin
@@ -0,0 +1 @@
+```````````````              $%2%2%2%2%2%2%2%2%2%2%2%2%2&$%2%2hiiiiiiij%2%2&$%2%2pq2q2q2q2q2o2q2r%2%2&$%2%2pq2q2q22q2w6q2r%2%2&$%2%2pq2q2q22q2q2q2r%2%2&$%2%2pq2q2q2q2q2q2q2r%2%2&$%2%2xyy222yyz%2%2&222222222222262226 \ No newline at end of file
diff --git a/data/maps/LinkContestRoom5/border.bin b/data/maps/LinkContestRoom5/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/LinkContestRoom5/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/LinkContestRoom5/header.inc b/data/maps/LinkContestRoom5/header.inc
new file mode 100644
index 000000000..59a9c2d3b
--- /dev/null
+++ b/data/maps/LinkContestRoom5/header.inc
@@ -0,0 +1,15 @@
+LinkContestRoom5: @ 8484EB8
+ .4byte LinkContestRoom5_MapAttributes
+ .4byte LinkContestRoom5_MapEvents
+ .4byte LinkContestRoom5_MapScripts
+ .4byte 0x0
+ .2byte BGM_CONTEST0
+ .2byte 235
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LinkContestRoom5/map.bin b/data/maps/LinkContestRoom5/map.bin
new file mode 100644
index 000000000..ad068fe7c
--- /dev/null
+++ b/data/maps/LinkContestRoom5/map.bin
@@ -0,0 +1 @@
+```````````````              $%2%2%2%2%2%2%2%2%2%2%2%2%2&$%2%2hiiiiiiij%2%2&$%2%2pq2q2q2q2q2o2q2r%2%2&$%2%2pq2q2q22q2w6q2r%2%2&$%2%2pq2q2q22q2q2q2r%2%2&$%2%2pq2q2q2q2q2q2q2r%2%2&$%2%2xyy222yyz%2%2&222222222222262226 \ No newline at end of file
diff --git a/data/maps/LinkContestRoom6/border.bin b/data/maps/LinkContestRoom6/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/LinkContestRoom6/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/LinkContestRoom6/header.inc b/data/maps/LinkContestRoom6/header.inc
new file mode 100644
index 000000000..c09392bf9
--- /dev/null
+++ b/data/maps/LinkContestRoom6/header.inc
@@ -0,0 +1,15 @@
+LinkContestRoom6: @ 8484ED4
+ .4byte LinkContestRoom6_MapAttributes
+ .4byte LinkContestRoom6_MapEvents
+ .4byte LinkContestRoom6_MapScripts
+ .4byte 0x0
+ .2byte BGM_CONTEST0
+ .2byte 236
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LinkContestRoom6/map.bin b/data/maps/LinkContestRoom6/map.bin
new file mode 100644
index 000000000..9fcec5a5e
--- /dev/null
+++ b/data/maps/LinkContestRoom6/map.bin
@@ -0,0 +1 @@
+```````````````              $%2%2%2%2%2%2%2%2%2%2%2%2%2&$%2%2hiiiiiiij%2%2&$%2%2pq2q2q2q2q2o2q2r%2%2&$%2%2pq2q2q22q2w6q2r%2%2&$%2%2pq2q2q22q2q2q2r%2%2&$%2%2pq2q2q2q2q2q2q2r%2%2&$%2%2xyy222yyz%2%2&222222222222262226 \ No newline at end of file
diff --git a/data/maps/LittlerootTown/border.bin b/data/maps/LittlerootTown/border.bin
new file mode 100644
index 000000000..03bcafef1
--- /dev/null
+++ b/data/maps/LittlerootTown/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/LittlerootTown/connections.inc b/data/maps/LittlerootTown/connections.inc
new file mode 100644
index 000000000..3f8f421f5
--- /dev/null
+++ b/data/maps/LittlerootTown/connections.inc
@@ -0,0 +1,7 @@
+LittlerootTown_MapConnectionsList: @ 8486600
+ connection up, 0, ROUTE_101, 0
+
+LittlerootTown_MapConnections: @ 848660C
+ .4byte 0x1
+ .4byte LittlerootTown_MapConnectionsList
+
diff --git a/data/maps/LittlerootTown/header.inc b/data/maps/LittlerootTown/header.inc
new file mode 100644
index 000000000..3b9655a8c
--- /dev/null
+++ b/data/maps/LittlerootTown/header.inc
@@ -0,0 +1,15 @@
+LittlerootTown: @ 84825B4
+ .4byte LittlerootTown_MapAttributes
+ .4byte LittlerootTown_MapEvents
+ .4byte LittlerootTown_MapScripts
+ .4byte LittlerootTown_MapConnections
+ .2byte BGM_MISHIRO
+ .2byte 10
+ .byte 0
+ .byte 0
+ .byte 2
+ .byte 1
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/LittlerootTown/map.bin b/data/maps/LittlerootTown/map.bin
new file mode 100644
index 000000000..9af76f90e
--- /dev/null
+++ b/data/maps/LittlerootTown/map.bin
@@ -0,0 +1,3 @@
+5000000000000000000000000000000000000002 2 2 2
+20000002 2 2 2
+2000000000000000000000000"20@!000000 @12#0000*:8H)400004(H9:+000000020000000020000000000000000000000000000000000000000000000 2B2C2 2 2 220000000000000JK0000000000000000000000000,A-0000000011000&4I5'00000000110000200000000110000000000000011111111111111 \ No newline at end of file
diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/border.bin b/data/maps/LittlerootTown_BrendansHouse_1F/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/LittlerootTown_BrendansHouse_1F/border.bin
Binary files differ
diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/header.inc b/data/maps/LittlerootTown_BrendansHouse_1F/header.inc
new file mode 100644
index 000000000..cbac012de
--- /dev/null
+++ b/data/maps/LittlerootTown_BrendansHouse_1F/header.inc
@@ -0,0 +1,15 @@
+LittlerootTown_BrendansHouse_1F: @ 8482AF4
+ .4byte LittlerootTown_BrendansHouse_1F_MapAttributes
+ .4byte LittlerootTown_BrendansHouse_1F_MapEvents
+ .4byte LittlerootTown_BrendansHouse_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_MISHIRO
+ .2byte 54
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/map.bin b/data/maps/LittlerootTown_BrendansHouse_1F/map.bin
new file mode 100644
index 000000000..3ae8e69a6
--- /dev/null
+++ b/data/maps/LittlerootTown_BrendansHouse_1F/map.bin
@@ -0,0 +1 @@
+nnnn01234&&  M89:;<222222B222d222222@A222222252H2I2J2.2622222222662222222 2!2"#$2%222222(2)2*2+2,2-222 \ No newline at end of file
diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/border.bin b/data/maps/LittlerootTown_BrendansHouse_2F/border.bin
new file mode 100644
index 000000000..c1b82435c
--- /dev/null
+++ b/data/maps/LittlerootTown_BrendansHouse_2F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/header.inc b/data/maps/LittlerootTown_BrendansHouse_2F/header.inc
new file mode 100644
index 000000000..35946ac05
--- /dev/null
+++ b/data/maps/LittlerootTown_BrendansHouse_2F/header.inc
@@ -0,0 +1,15 @@
+LittlerootTown_BrendansHouse_2F: @ 8482B10
+ .4byte LittlerootTown_BrendansHouse_2F_MapAttributes
+ .4byte LittlerootTown_BrendansHouse_2F_MapEvents
+ .4byte LittlerootTown_BrendansHouse_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_MISHIRO
+ .2byte 55
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/map.bin b/data/maps/LittlerootTown_BrendansHouse_2F/map.bin
new file mode 100644
index 000000000..bfa5b907e
--- /dev/null
+++ b/data/maps/LittlerootTown_BrendansHouse_2F/map.bin
@@ -0,0 +1 @@
+RTPTV   Z[Ueb2c2x2f2]2x2222{2|2}22222222222222BB222222222222222222222 \ No newline at end of file
diff --git a/data/maps/LittlerootTown_MaysHouse_1F/border.bin b/data/maps/LittlerootTown_MaysHouse_1F/border.bin
new file mode 100644
index 000000000..c1b82435c
--- /dev/null
+++ b/data/maps/LittlerootTown_MaysHouse_1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/LittlerootTown_MaysHouse_1F/header.inc b/data/maps/LittlerootTown_MaysHouse_1F/header.inc
new file mode 100644
index 000000000..6da065fab
--- /dev/null
+++ b/data/maps/LittlerootTown_MaysHouse_1F/header.inc
@@ -0,0 +1,15 @@
+LittlerootTown_MaysHouse_1F: @ 8482B2C
+ .4byte LittlerootTown_MaysHouse_1F_MapAttributes
+ .4byte LittlerootTown_MaysHouse_1F_MapEvents
+ .4byte LittlerootTown_MaysHouse_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_MISHIRO
+ .2byte 56
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LittlerootTown_MaysHouse_1F/map.bin b/data/maps/LittlerootTown_MaysHouse_1F/map.bin
new file mode 100644
index 000000000..21f62ebe3
--- /dev/null
+++ b/data/maps/LittlerootTown_MaysHouse_1F/map.bin
@@ -0,0 +1 @@
+nnnnno m&&CD120vwux22KL9:82222y22F22222222222@A22222222222222222222 \ No newline at end of file
diff --git a/data/maps/LittlerootTown_MaysHouse_2F/border.bin b/data/maps/LittlerootTown_MaysHouse_2F/border.bin
new file mode 100644
index 000000000..c1b82435c
--- /dev/null
+++ b/data/maps/LittlerootTown_MaysHouse_2F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/LittlerootTown_MaysHouse_2F/header.inc b/data/maps/LittlerootTown_MaysHouse_2F/header.inc
new file mode 100644
index 000000000..bb48d9bcf
--- /dev/null
+++ b/data/maps/LittlerootTown_MaysHouse_2F/header.inc
@@ -0,0 +1,15 @@
+LittlerootTown_MaysHouse_2F: @ 8482B48
+ .4byte LittlerootTown_MaysHouse_2F_MapAttributes
+ .4byte LittlerootTown_MaysHouse_2F_MapEvents
+ .4byte LittlerootTown_MaysHouse_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_MISHIRO
+ .2byte 57
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LittlerootTown_MaysHouse_2F/map.bin b/data/maps/LittlerootTown_MaysHouse_2F/map.bin
new file mode 100644
index 000000000..5904a9639
--- /dev/null
+++ b/data/maps/LittlerootTown_MaysHouse_2F/map.bin
@@ -0,0 +1,2 @@
+ 
+'VTPTQ/WUXYE2222]2g22`2a2222222222222222222222BB2222222222222222 \ No newline at end of file
diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/border.bin b/data/maps/LittlerootTown_ProfessorBirchsLab/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/LittlerootTown_ProfessorBirchsLab/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/header.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/header.inc
new file mode 100644
index 000000000..84409297e
--- /dev/null
+++ b/data/maps/LittlerootTown_ProfessorBirchsLab/header.inc
@@ -0,0 +1,15 @@
+LittlerootTown_ProfessorBirchsLab: @ 8482B64
+ .4byte LittlerootTown_ProfessorBirchsLab_MapAttributes
+ .4byte LittlerootTown_ProfessorBirchsLab_MapEvents
+ .4byte LittlerootTown_ProfessorBirchsLab_MapScripts
+ .4byte 0x0
+ .2byte BGM_ODAMAKI
+ .2byte 58
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/map.bin b/data/maps/LittlerootTown_ProfessorBirchsLab/map.bin
new file mode 100644
index 000000000..0f84e80b2
--- /dev/null
+++ b/data/maps/LittlerootTown_ProfessorBirchsLab/map.bin
@@ -0,0 +1,5 @@
+  <
+   
+
+
+ !2D"2#2>2"232"232>2(2*2*2A22222)2:2222222222221B22$2%2627222222?2?222,-,-22222224545222222=2>2>2>2222222G2?2220222222222;.H8922222222I2C:2H@2&22222222KBO2?22.22222?2?2 \ No newline at end of file
diff --git a/data/maps/MagmaHideout_1F/border.bin b/data/maps/MagmaHideout_1F/border.bin
new file mode 100644
index 000000000..9ae2c2126
--- /dev/null
+++ b/data/maps/MagmaHideout_1F/border.bin
@@ -0,0 +1 @@
+qqqq \ No newline at end of file
diff --git a/data/maps/MagmaHideout_1F/header.inc b/data/maps/MagmaHideout_1F/header.inc
new file mode 100644
index 000000000..b768e2996
--- /dev/null
+++ b/data/maps/MagmaHideout_1F/header.inc
@@ -0,0 +1,15 @@
+MagmaHideout_1F: @ 8484828
+ .4byte MagmaHideout_1F_MapAttributes
+ .4byte MagmaHideout_1F_MapEvents
+ .4byte MagmaHideout_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_AJITO
+ .2byte 336
+ .byte 198
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/MagmaHideout_1F/map.bin b/data/maps/MagmaHideout_1F/map.bin
new file mode 100644
index 000000000..fdf0d4252
--- /dev/null
+++ b/data/maps/MagmaHideout_1F/map.bin
Binary files differ
diff --git a/data/maps/MagmaHideout_2F_1R/border.bin b/data/maps/MagmaHideout_2F_1R/border.bin
new file mode 100644
index 000000000..9ae2c2126
--- /dev/null
+++ b/data/maps/MagmaHideout_2F_1R/border.bin
@@ -0,0 +1 @@
+qqqq \ No newline at end of file
diff --git a/data/maps/MagmaHideout_2F_1R/header.inc b/data/maps/MagmaHideout_2F_1R/header.inc
new file mode 100644
index 000000000..503dd0d73
--- /dev/null
+++ b/data/maps/MagmaHideout_2F_1R/header.inc
@@ -0,0 +1,15 @@
+MagmaHideout_2F_1R: @ 8484844
+ .4byte MagmaHideout_2F_1R_MapAttributes
+ .4byte MagmaHideout_2F_1R_MapEvents
+ .4byte MagmaHideout_2F_1R_MapScripts
+ .4byte 0x0
+ .2byte BGM_AJITO
+ .2byte 337
+ .byte 198
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/MagmaHideout_2F_1R/map.bin b/data/maps/MagmaHideout_2F_1R/map.bin
new file mode 100644
index 000000000..d74c32347
--- /dev/null
+++ b/data/maps/MagmaHideout_2F_1R/map.bin
@@ -0,0 +1,2 @@
+qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq{tttttVttttttttttttttttttttt|qqqqrqqq{t^ttttt-|qqqqq{ttttt|qqqqqrqq33333333tttttz33333qqqqqqrqqq33333333333333333333t|qqqqr{tt3333333333333333333333qqqqrr3333333333333333333333333qqqqrr{tttttttttttttttttt|333qqqqrrr33333333333333333333333qqqqrrr33333333333333333333tt|qqqqrrr33333333333333333333333qqqqrrr33333333333333333333333qqqqrrr{ttttttttttttttttttt|pqqqqrrrr7{tttttttttttttt|77pqqqqrrrr7r33333333333377pqqqqrrr17r333333333333t|pqqqqrrrr7r333333mn33333333pqqqqrrrr7r333333uv33333333pqqqqrrrr{333333}~33333333pqqqqrrrrr3333333333333333333pqqqqrrrrr3333333333333333333pqqqqrrrrr{ttttttttttttttt|pqqqqrrrrrr{ttVt#tttttttt|pqqqqrrrrrrr{t^tt|333333333qqqqrrr1rrrr3333|33333333qqqqrrrrrrrr33333tttttt|pqqqqrrrrrrrr3333333333333pqqqqrrrrrrrr3333333333333pqqqqrrrrrrrr{ttttt-tttt|pqqqqrrrrrrrrr{tttttttt|pqqqqrrrrrrrrr1333333333pqqqqrrrrrrr1rr3333333
+7 pqqqqrrrrrrrrrr3333333qqpqqqqrrrrrrrrrr33333 33qqpqqqqrrrrrrrr1     ~qqpqqqqrrrrrrrrrqqqqqqqqqqqpqqqqrrrrrrrrrqqqqqqqqqpqqqqrrrrrrrrrqqqqqqqqqqpqqqqrrrr1rrrrqqqqqqqqqqqpqq \ No newline at end of file
diff --git a/data/maps/MagmaHideout_2F_2R/border.bin b/data/maps/MagmaHideout_2F_2R/border.bin
new file mode 100644
index 000000000..9ae2c2126
--- /dev/null
+++ b/data/maps/MagmaHideout_2F_2R/border.bin
@@ -0,0 +1 @@
+qqqq \ No newline at end of file
diff --git a/data/maps/MagmaHideout_2F_2R/header.inc b/data/maps/MagmaHideout_2F_2R/header.inc
new file mode 100644
index 000000000..9407bb8e8
--- /dev/null
+++ b/data/maps/MagmaHideout_2F_2R/header.inc
@@ -0,0 +1,15 @@
+MagmaHideout_2F_2R: @ 8484860
+ .4byte MagmaHideout_2F_2R_MapAttributes
+ .4byte MagmaHideout_2F_2R_MapEvents
+ .4byte MagmaHideout_2F_2R_MapScripts
+ .4byte 0x0
+ .2byte BGM_AJITO
+ .2byte 338
+ .byte 198
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/MagmaHideout_2F_2R/map.bin b/data/maps/MagmaHideout_2F_2R/map.bin
new file mode 100644
index 000000000..34cbf7eaa
--- /dev/null
+++ b/data/maps/MagmaHideout_2F_2R/map.bin
@@ -0,0 +1,5 @@
+qqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxtttttttttt|qq{ttt|qqqqqqqqqqqqqqq{tttttttttttttttt|p{x|qqqqqqqqqqqqq{z{ttt-tttttttttt|pp{pqqqqqqqqqqqqr{z{GGGGGGGGGGG|ppprx|qqqqqqttttttzrFppp  jpqqqqqqqqqqqqqrq23q2hppqqq{x|qqqqqqqqqqqqr3pqpx|qqqr{|pqqqqqqqqqqqqrh     jF3pqx|pqq{rppqqqqqqqqqq{zpqh  jjh qqppq{{x|x|qqqqqqqqqqrppqqjqqqq jph   p{qr{|x|pqqqqqqqqqqrpqpqq{z{tt|qqjpx|qqqpr{trpq2ppqqqqqqqqqqrpqpq{zqrqqpqqqrx|xt|qxr{tx|pxttttqqqqq{zx|xtz{tzqhqqrx|qx|{tr{t|pxtttttqqqqqr{tt|xt-tzqqqpqqq{3x|qxq{r33ppqqqqqqqqqqq1r333ttttt-t|x|qqr{-ttt|xt-ttqr33ppqqqqqqqqqqqrr33333333333pqxttzr33333xttttttt33ppqqqqqqqqqqqrr33333333333xttttt3333333333333333ppqqqqqqqqqqqrr33333
+   3333333333333333333333333ppqh    qqqqq 3333pqqr3333333333333
+           pqpqqqqqqqqqqqr 333pqq  3333333
+               qpqqqqqqqqqqqr1333pqqqq 33333
+qqqqqqqqqqqqqqqqqqpqqqqqqqqqqrr3 33pqqqqq     qqqqqqqqqqqqqqqqqqpqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqq \ No newline at end of file
diff --git a/data/maps/MagmaHideout_2F_3R/border.bin b/data/maps/MagmaHideout_2F_3R/border.bin
new file mode 100644
index 000000000..9ae2c2126
--- /dev/null
+++ b/data/maps/MagmaHideout_2F_3R/border.bin
@@ -0,0 +1 @@
+qqqq \ No newline at end of file
diff --git a/data/maps/MagmaHideout_2F_3R/header.inc b/data/maps/MagmaHideout_2F_3R/header.inc
new file mode 100644
index 000000000..87360978c
--- /dev/null
+++ b/data/maps/MagmaHideout_2F_3R/header.inc
@@ -0,0 +1,15 @@
+MagmaHideout_2F_3R: @ 84848EC
+ .4byte MagmaHideout_2F_3R_MapAttributes
+ .4byte MagmaHideout_2F_3R_MapEvents
+ .4byte MagmaHideout_2F_3R_MapScripts
+ .4byte 0x0
+ .2byte BGM_AJITO
+ .2byte 380
+ .byte 198
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/MagmaHideout_2F_3R/map.bin b/data/maps/MagmaHideout_2F_3R/map.bin
new file mode 100644
index 000000000..f25017291
--- /dev/null
+++ b/data/maps/MagmaHideout_2F_3R/map.bin
@@ -0,0 +1 @@
+{tttttttttttttttVttttttttttttttt|r{ttt#ttt#tttttt^ttttttttttr{ttt#ttt#tttttt^tttttttttttttt|rr{tttttttttttt|{tttttt###rr{tttttttttttt|{tttttt###ttt|rr{tttttt#ttt|xz{ttttttttrr{tttttt#ttt|xz{tttttttttt|rrr{tttttttt|r{tttt#ttrrr{tttttttt|r{tttt#ttt|rrrr{tttttt|xttzr{tt#tttrrrr{tttttt|xttzr{tt#ttt|rrrrr{tttt|xttttzr{tttt|rrrrr{tttt|xttttzr{tttt|rrrrrr{tt|xttttttzr{tt|rrrrrr{tt|xttttttzr{tt|rrrrrrr{|xttttttttzr{|rrrrrrr{|xttttttttzr{|rrrrrrrrxtttt#ttt#tzrrrrrrrrrxtttt#ttt#tzrrrrrrrrrxttttttttt#ttzrrrrrrrrxttttttttt#ttzrrrrrrrrXYXYrrrrrrrrXYXYrrrrrrrr`a`arrrrrrrr`a`arrrrr1rr rrrrr1rr                           qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqx|pxttttqqqqq{zx|xtz{t \ No newline at end of file
diff --git a/data/maps/MagmaHideout_3F_1R/border.bin b/data/maps/MagmaHideout_3F_1R/border.bin
new file mode 100644
index 000000000..9ae2c2126
--- /dev/null
+++ b/data/maps/MagmaHideout_3F_1R/border.bin
@@ -0,0 +1 @@
+qqqq \ No newline at end of file
diff --git a/data/maps/MagmaHideout_3F_1R/header.inc b/data/maps/MagmaHideout_3F_1R/header.inc
new file mode 100644
index 000000000..7338ebf27
--- /dev/null
+++ b/data/maps/MagmaHideout_3F_1R/header.inc
@@ -0,0 +1,15 @@
+MagmaHideout_3F_1R: @ 848487C
+ .4byte MagmaHideout_3F_1R_MapAttributes
+ .4byte MagmaHideout_3F_1R_MapEvents
+ .4byte MagmaHideout_3F_1R_MapScripts
+ .4byte 0x0
+ .2byte BGM_AJITO
+ .2byte 339
+ .byte 198
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/MagmaHideout_3F_1R/map.bin b/data/maps/MagmaHideout_3F_1R/map.bin
new file mode 100644
index 000000000..da590f5dd
--- /dev/null
+++ b/data/maps/MagmaHideout_3F_1R/map.bin
@@ -0,0 +1 @@
+qqqqqqqqqqqq{tttttt|qqqqqq{ttttttttt|qqqr{|qqqqqr{-t#tt-t|xtttzrxtVttt|r*+++++,xt#-tt}~xtt^tt|r1233+++,r233334r:;;;;;;;;;<r{tt|r{ttttttttttz{|xtVttt|rrr{tttttttt-tz}~xtt^tt|rMrrrrrr{tt|rrMr{ttz{|xttttttt|rrrrr{t#z}~x--t#ttt|rrrrr1{GGGGGGGGGG|rrrrrrF33rrrrrr333rr1rrrF3qrrrrrr{G3rrrrrrF33rrrrMr3rrrrrr~~~~~~ iiiiiiiiiiiii~~~~~~qqqqqqqqqqqqqqqqqqqqqqqqq \ No newline at end of file
diff --git a/data/maps/MagmaHideout_3F_2R/border.bin b/data/maps/MagmaHideout_3F_2R/border.bin
new file mode 100644
index 000000000..9ae2c2126
--- /dev/null
+++ b/data/maps/MagmaHideout_3F_2R/border.bin
@@ -0,0 +1 @@
+qqqq \ No newline at end of file
diff --git a/data/maps/MagmaHideout_3F_2R/header.inc b/data/maps/MagmaHideout_3F_2R/header.inc
new file mode 100644
index 000000000..224cb4d02
--- /dev/null
+++ b/data/maps/MagmaHideout_3F_2R/header.inc
@@ -0,0 +1,15 @@
+MagmaHideout_3F_2R: @ 8484898
+ .4byte MagmaHideout_3F_2R_MapAttributes
+ .4byte MagmaHideout_3F_2R_MapEvents
+ .4byte MagmaHideout_3F_2R_MapScripts
+ .4byte 0x0
+ .2byte BGM_AJITO
+ .2byte 340
+ .byte 198
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/MagmaHideout_3F_2R/map.bin b/data/maps/MagmaHideout_3F_2R/map.bin
new file mode 100644
index 000000000..49857819a
--- /dev/null
+++ b/data/maps/MagmaHideout_3F_2R/map.bin
@@ -0,0 +1,7 @@
+qqqqq{tttttttttttttt|qqqqqqqqr{|qqqqqqqqrr`a`a`abcbcbcxtt|qqqqrrXYXYZ[7|qqqqqrr`a`abcuvq{-ttzr}~qr{hijkkknZ[qrpqrsssvbcqrrxyz{{{~Z[qrXYmnmnbcqrr`aXYuvuv
+7 ~~qr`a}~}~
+7p6q6q6q6qrr
+7~~7q6q6q~~  7
+7p6q6qqqq6q6q6q6r  7
+7~~q6qqqq6qq6q67rq6r 7 
+7p6q6q6q6q6q6q6q67q6q6q6~~~~     ~~q6q6qqq6 \ No newline at end of file
diff --git a/data/maps/MagmaHideout_3F_3R/border.bin b/data/maps/MagmaHideout_3F_3R/border.bin
new file mode 100644
index 000000000..9ae2c2126
--- /dev/null
+++ b/data/maps/MagmaHideout_3F_3R/border.bin
@@ -0,0 +1 @@
+qqqq \ No newline at end of file
diff --git a/data/maps/MagmaHideout_3F_3R/header.inc b/data/maps/MagmaHideout_3F_3R/header.inc
new file mode 100644
index 000000000..df152cb6c
--- /dev/null
+++ b/data/maps/MagmaHideout_3F_3R/header.inc
@@ -0,0 +1,15 @@
+MagmaHideout_3F_3R: @ 84848D0
+ .4byte MagmaHideout_3F_3R_MapAttributes
+ .4byte MagmaHideout_3F_3R_MapEvents
+ .4byte MagmaHideout_3F_3R_MapScripts
+ .4byte 0x0
+ .2byte BGM_AJITO
+ .2byte 379
+ .byte 198
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/MagmaHideout_3F_3R/map.bin b/data/maps/MagmaHideout_3F_3R/map.bin
new file mode 100644
index 000000000..7c808ffb5
--- /dev/null
+++ b/data/maps/MagmaHideout_3F_3R/map.bin
@@ -0,0 +1 @@
+{tttttttttttttttVttttttttttttttt|r{tttttttttttttt^tttttttttttttt|rr{tttttttttttt|{tttttttttttt|rr{tttttttttt|xz{tttttttttt|rr1r{tttttttt|r{tttt#ttt|rr1rr{tttttt|xttzr{tttttt|rrrrr{tttt|rr{tttt|rrrrrr{#t|xttttzrr{#t|rrrrrrr{|rrr{|rrrrrrrrxttt#t#zrrrrrrrrrrrr{zrrrrMrrrrrrx#ttttttzrrrrrrrrrrrx|rrrrrrrrrrrxttttttt#tzrrrrrrrrrr{ttzrrrrrrrrrxt#tttttttz{G|rrrrrrrrrFrrrrrrrrr{GGGG|qq{GGGrrrrrrrrrFqqFrrrrrrrrrrrrrrMrrrFqefFrrrrrrrrr~F~~~~~~~~~iiiiii ii~~~~~~~~~~~qqqqqqqqqqqqqqqqqqqqqqqqqqqqqq \ No newline at end of file
diff --git a/data/maps/MagmaHideout_4F/border.bin b/data/maps/MagmaHideout_4F/border.bin
new file mode 100644
index 000000000..9ae2c2126
--- /dev/null
+++ b/data/maps/MagmaHideout_4F/border.bin
@@ -0,0 +1 @@
+qqqq \ No newline at end of file
diff --git a/data/maps/MagmaHideout_4F/header.inc b/data/maps/MagmaHideout_4F/header.inc
new file mode 100644
index 000000000..98df121a2
--- /dev/null
+++ b/data/maps/MagmaHideout_4F/header.inc
@@ -0,0 +1,15 @@
+MagmaHideout_4F: @ 84848B4
+ .4byte MagmaHideout_4F_MapAttributes
+ .4byte MagmaHideout_4F_MapEvents
+ .4byte MagmaHideout_4F_MapScripts
+ .4byte 0x0
+ .2byte BGM_AJITO
+ .2byte 341
+ .byte 198
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/MagmaHideout_4F/map.bin b/data/maps/MagmaHideout_4F/map.bin
new file mode 100644
index 000000000..45a5547c6
--- /dev/null
+++ b/data/maps/MagmaHideout_4F/map.bin
@@ -0,0 +1 @@
+qqqqqqqqq{tttttttt-ttttt|{|ppqqqqpqhiiiiijpppqqq{ttz{ttttttqqqq{ttttz{ttttttt|qq{-|xzppxttt|pqxttt|qrppp{ttz{ttzqqqqqqqqqqr{ttz{|qp{tzqx|qpxt|qqpxtt-t|pqrppxzq{tz{tttttttt{-ttzr{zx|xz{-t|pqx|qpqqpqqqqqppqrppq{zqqrhiiiiiiir{tzrxttzpxt|x|pqqx--t|qppqrpxttzqq{zpqqqqqqrr{tzxt||pxttttt|pqpxtzxttttt-zqpqqqqqqqrrrpqpxtt|qqqppqxt|q{tttVttt|p{ttttttrrrqefh     jqx|tt|t|ppqqqpq1{tt^tt|ppr{tttttrrrqh {-t#| jpqqqt|pqpxt|qxtzrppxzrqqqqqrrjh {t{G|xt|jx|px|pqqpqq{zpxttzqq{ttrrqrqhjqr{GG|x|jppqpx|qxtttzxttttttzqqMrqrhp{{F3qx|jppqx|p{-ttttttttttttt-ttttrjrppr{{33|qprpxt|pxz{ttttt-ttttt|qqqhijjrrpp1rqF3|x|jx|qppqqr{ttttt|pqhqrqrrMppr1{333|pq  jx|pxttzr{-|ppqhqqr{rrpxzrF333ph  j1px|q{tzrqqppphqqqrr{rpqq1F33pphjrjx|pr{tzppppqqqrrrqM|qrF33pppprjrppqrrefppppqqqqrr1qrqtz\3ppppjrrpp{zrefpppxtt|qrrr{qd3ppppqrrrpxz{zpppqqqpqrrrrmnFppppqrrjx|qrqh ppqqqpqrrrruvqppppqrjrxtzqh     h pqqqpqrr1r}~mnqh   qjrrh  qqqqqpqpqqqpqr juvqmnpqqqqqqqqqqq jqpqqqh     qqpqqqpqrqqqqr j}~quvpqqqqqqqqqqqqqqrjpqqqpqqqhiiiiqqpqrqqqq     j}~pqqqqqqqqqqqqqqq     qqqpqqqpqqhiiiiiqrqqqqqqqqqq    qqqqqqqqh                qqqpqhqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqpqxttttttttz \ No newline at end of file
diff --git a/data/maps/MarineCave_End/border.bin b/data/maps/MarineCave_End/border.bin
new file mode 100644
index 000000000..f0eabd248
--- /dev/null
+++ b/data/maps/MarineCave_End/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/MarineCave_End/header.inc b/data/maps/MarineCave_End/header.inc
new file mode 100644
index 000000000..8a3bcdc98
--- /dev/null
+++ b/data/maps/MarineCave_End/header.inc
@@ -0,0 +1,15 @@
+MarineCave_End: @ 8484A04
+ .4byte MarineCave_End_MapAttributes
+ .4byte MarineCave_End_MapEvents
+ .4byte MarineCave_End_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN01
+ .2byte 413
+ .byte 203
+ .byte 0
+ .byte 6
+ .byte 4
+ .2byte 0
+ .byte 14
+ .byte 0
+
diff --git a/data/maps/MarineCave_End/map.bin b/data/maps/MarineCave_End/map.bin
new file mode 100644
index 000000000..85138661d
--- /dev/null
+++ b/data/maps/MarineCave_End/map.bin
@@ -0,0 +1,14 @@
+ 
+ 2222222222222
+
+ 2222222222222
+
+  2222222222222
+
+  2222222
+ 2222222
+  2222222
+
+2222222
+    "22222222222
+ 222222222 2222222222222 #####"2222222 #####"##"22222222 ##"2222 #"22222 2#"2222 O2222 OOO222222 NOOOOOON222222 NOOOOOON222222 NNOOOONN222222 NNNNOONNN222222 #2lpNNNNNNp222222 2#2lpppppjs2s2222222 #"2#2s2s2s2s2s2$222222 ##2 2###"2222222222222222  \ No newline at end of file
diff --git a/data/maps/MarineCave_Entrance/border.bin b/data/maps/MarineCave_Entrance/border.bin
new file mode 100644
index 000000000..f0eabd248
--- /dev/null
+++ b/data/maps/MarineCave_Entrance/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/MarineCave_Entrance/header.inc b/data/maps/MarineCave_Entrance/header.inc
new file mode 100644
index 000000000..219ab2712
--- /dev/null
+++ b/data/maps/MarineCave_Entrance/header.inc
@@ -0,0 +1,15 @@
+MarineCave_Entrance: @ 84849E8
+ .4byte MarineCave_Entrance_MapAttributes
+ .4byte MarineCave_Entrance_MapEvents
+ .4byte MarineCave_Entrance_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN01
+ .2byte 407
+ .byte 203
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 14
+ .byte 0
+
diff --git a/data/maps/MarineCave_Entrance/map.bin b/data/maps/MarineCave_Entrance/map.bin
new file mode 100644
index 000000000..62aa8537f
--- /dev/null
+++ b/data/maps/MarineCave_Entrance/map.bin
@@ -0,0 +1,7 @@
+3  $1$1$1$1$1$1$1$1$1  $111111$1$1111111  $11111111$1$11111  $1111pp1$1111ppp1  111pppp1 
+ $1111ppppp11$1
+ 111pppppp11$1
+ 11ppppppp11
+ 11ppppppppp11
+ 11ppppppppp11
+1ppVVVVppppVVpVV \ No newline at end of file
diff --git a/data/maps/MauvilleCity/border.bin b/data/maps/MauvilleCity/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/MauvilleCity/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/MauvilleCity/connections.inc b/data/maps/MauvilleCity/connections.inc
new file mode 100644
index 000000000..172a7bc05
--- /dev/null
+++ b/data/maps/MauvilleCity/connections.inc
@@ -0,0 +1,10 @@
+MauvilleCity_MapConnectionsList: @ 8486720
+ connection up, 0, ROUTE_111, 0
+ connection down, 0, ROUTE_110, 0
+ connection left, 0, ROUTE_117, 0
+ connection right, 0, ROUTE_118, 0
+
+MauvilleCity_MapConnections: @ 8486750
+ .4byte 0x4
+ .4byte MauvilleCity_MapConnectionsList
+
diff --git a/data/maps/MauvilleCity/header.inc b/data/maps/MauvilleCity/header.inc
new file mode 100644
index 000000000..c9bbb62c1
--- /dev/null
+++ b/data/maps/MauvilleCity/header.inc
@@ -0,0 +1,15 @@
+MauvilleCity: @ 84824F0
+ .4byte MauvilleCity_MapAttributes
+ .4byte MauvilleCity_MapEvents
+ .4byte MauvilleCity_MapScripts
+ .4byte MauvilleCity_MapConnections
+ .2byte BGM_GOTOWN
+ .2byte 3
+ .byte 9
+ .byte 0
+ .byte 2
+ .byte 2
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/MauvilleCity/map.bin b/data/maps/MauvilleCity/map.bin
new file mode 100644
index 000000000..80a38e902
--- /dev/null
+++ b/data/maps/MauvilleCity/map.bin
Binary files differ
diff --git a/data/maps/MauvilleCity_BikeShop/border.bin b/data/maps/MauvilleCity_BikeShop/border.bin
new file mode 100644
index 000000000..064786e8c
--- /dev/null
+++ b/data/maps/MauvilleCity_BikeShop/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/MauvilleCity_BikeShop/header.inc b/data/maps/MauvilleCity_BikeShop/header.inc
new file mode 100644
index 000000000..7523d3344
--- /dev/null
+++ b/data/maps/MauvilleCity_BikeShop/header.inc
@@ -0,0 +1,15 @@
+MauvilleCity_BikeShop: @ 8483280
+ .4byte MauvilleCity_BikeShop_MapAttributes
+ .4byte MauvilleCity_BikeShop_MapEvents
+ .4byte MauvilleCity_BikeShop_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 90
+ .byte 9
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/MauvilleCity_BikeShop/map.bin b/data/maps/MauvilleCity_BikeShop/map.bin
new file mode 100644
index 000000000..9891b9fd5
--- /dev/null
+++ b/data/maps/MauvilleCity_BikeShop/map.bin
@@ -0,0 +1,2 @@
+()*+,- 
+    012345222892:2;2<2:2@A2B2?2C2D2!"#2$2%2&2HIJ2?2KL?2?2?2?2P2Q2R2?2ST"?2?2?2?2?2?2?2?2EF!"?2?2?2?2?2?2?2?2MN6?22 2?2?2?2?2?2UV \ No newline at end of file
diff --git a/data/maps/MauvilleCity_GameCorner/border.bin b/data/maps/MauvilleCity_GameCorner/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/MauvilleCity_GameCorner/border.bin
Binary files differ
diff --git a/data/maps/MauvilleCity_GameCorner/header.inc b/data/maps/MauvilleCity_GameCorner/header.inc
new file mode 100644
index 000000000..acad413c2
--- /dev/null
+++ b/data/maps/MauvilleCity_GameCorner/header.inc
@@ -0,0 +1,15 @@
+MauvilleCity_GameCorner: @ 84832B8
+ .4byte MauvilleCity_GameCorner_MapAttributes
+ .4byte MauvilleCity_GameCorner_MapEvents
+ .4byte MauvilleCity_GameCorner_MapScripts
+ .4byte 0x0
+ .2byte BGM_CASINO
+ .2byte 91
+ .byte 9
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/MauvilleCity_GameCorner/map.bin b/data/maps/MauvilleCity_GameCorner/map.bin
new file mode 100644
index 000000000..ce3f9bf73
--- /dev/null
+++ b/data/maps/MauvilleCity_GameCorner/map.bin
@@ -0,0 +1,3 @@
+<=>>>>? 
+
+ ///DFEFFFG.227772LC2M2N2M2M2O22222222222TVUVUUW 222222222222222\2]2^2^2^2]2_2 22222622$2%2222$2%222222222222222&2,-'22&2,-'22222"# 22"# 222&2,-'22&2,-'22222*+ 22*+ 222&2,-'22&2,-'2222223 2223 222&245'22&245'22222222222222222222222222222222222 \ No newline at end of file
diff --git a/data/maps/MauvilleCity_Gym/border.bin b/data/maps/MauvilleCity_Gym/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/MauvilleCity_Gym/border.bin
Binary files differ
diff --git a/data/maps/MauvilleCity_Gym/header.inc b/data/maps/MauvilleCity_Gym/header.inc
new file mode 100644
index 000000000..a858b0c31
--- /dev/null
+++ b/data/maps/MauvilleCity_Gym/header.inc
@@ -0,0 +1,15 @@
+MauvilleCity_Gym: @ 8483264
+ .4byte MauvilleCity_Gym_MapAttributes
+ .4byte MauvilleCity_Gym_MapEvents
+ .4byte MauvilleCity_Gym_MapScripts
+ .4byte 0x0
+ .2byte BGM_GIM
+ .2byte 89
+ .byte 9
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/MauvilleCity_Gym/map.bin b/data/maps/MauvilleCity_Gym/map.bin
new file mode 100644
index 000000000..8860e5651
--- /dev/null
+++ b/data/maps/MauvilleCity_Gym/map.bin
Binary files differ
diff --git a/data/maps/MauvilleCity_House1/header.inc b/data/maps/MauvilleCity_House1/header.inc
new file mode 100644
index 000000000..d4c8b5923
--- /dev/null
+++ b/data/maps/MauvilleCity_House1/header.inc
@@ -0,0 +1,15 @@
+MauvilleCity_House1: @ 848329C
+ .4byte MauvilleCity_House1_MapAttributes
+ .4byte MauvilleCity_House1_MapEvents
+ .4byte MauvilleCity_House1_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 60
+ .byte 9
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/MauvilleCity_House2/header.inc b/data/maps/MauvilleCity_House2/header.inc
new file mode 100644
index 000000000..b29a1666b
--- /dev/null
+++ b/data/maps/MauvilleCity_House2/header.inc
@@ -0,0 +1,15 @@
+MauvilleCity_House2: @ 84832D4
+ .4byte MauvilleCity_House2_MapAttributes
+ .4byte MauvilleCity_House2_MapEvents
+ .4byte MauvilleCity_House2_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 59
+ .byte 9
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/MauvilleCity_Mart/header.inc b/data/maps/MauvilleCity_Mart/header.inc
new file mode 100644
index 000000000..a6e0b0fc3
--- /dev/null
+++ b/data/maps/MauvilleCity_Mart/header.inc
@@ -0,0 +1,15 @@
+MauvilleCity_Mart: @ 8483328
+ .4byte MauvilleCity_Mart_MapAttributes
+ .4byte MauvilleCity_Mart_MapEvents
+ .4byte MauvilleCity_Mart_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRIENDLY
+ .2byte 63
+ .byte 9
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/header.inc b/data/maps/MauvilleCity_PokemonCenter_1F/header.inc
new file mode 100644
index 000000000..715655b50
--- /dev/null
+++ b/data/maps/MauvilleCity_PokemonCenter_1F/header.inc
@@ -0,0 +1,15 @@
+MauvilleCity_PokemonCenter_1F: @ 84832F0
+ .4byte MauvilleCity_PokemonCenter_1F_MapAttributes
+ .4byte MauvilleCity_PokemonCenter_1F_MapEvents
+ .4byte MauvilleCity_PokemonCenter_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 61
+ .byte 9
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/MauvilleCity_PokemonCenter_2F/header.inc b/data/maps/MauvilleCity_PokemonCenter_2F/header.inc
new file mode 100644
index 000000000..78d2301e4
--- /dev/null
+++ b/data/maps/MauvilleCity_PokemonCenter_2F/header.inc
@@ -0,0 +1,15 @@
+MauvilleCity_PokemonCenter_2F: @ 848330C
+ .4byte MauvilleCity_PokemonCenter_2F_MapAttributes
+ .4byte MauvilleCity_PokemonCenter_2F_MapEvents
+ .4byte MauvilleCity_PokemonCenter_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 62
+ .byte 9
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/MeteorFalls_1F_1R/border.bin b/data/maps/MeteorFalls_1F_1R/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/MeteorFalls_1F_1R/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/MeteorFalls_1F_1R/header.inc b/data/maps/MeteorFalls_1F_1R/header.inc
new file mode 100644
index 000000000..a451bdcec
--- /dev/null
+++ b/data/maps/MeteorFalls_1F_1R/header.inc
@@ -0,0 +1,15 @@
+MeteorFalls_1F_1R: @ 8483EC0
+ .4byte MeteorFalls_1F_1R_MapAttributes
+ .4byte MeteorFalls_1F_1R_MapEvents
+ .4byte MeteorFalls_1F_1R_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN03
+ .2byte 125
+ .byte 63
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/MeteorFalls_1F_1R/map.bin b/data/maps/MeteorFalls_1F_1R/map.bin
new file mode 100644
index 000000000..4891475a3
--- /dev/null
+++ b/data/maps/MeteorFalls_1F_1R/map.bin
@@ -0,0 +1 @@
+4deDDDLDDDDDDDDDDDDDDdeDDDDfg<4lmDDDTDDDDDDfgDDDDDDlmDDDDno<4tu.D/\.DEFGDnoDDDDD/tu.DDDno<42222242DMN2O/vw.DD<22222242vw<42222 242222242(<222222422<422222?2>2>2>2>2?2ppp(<222222?222<42222422ppp(<222224222<42222?2pppppppp(<2222242222<4>2>2>2?2ppppppppp(=2>2>2>2>2?2222<46666>272yppppppx5262>2>2>2<4deDDDD/.DDfgDDDdeD2D<4lmDDDD/.DDnoDDDlmD2D<4tu.DDD/.LDnoDD/tu.2D<42242DD/.TDnoDD<2222<42242*D/LLLLLLLL.\.vw.(<22222<4>2>2?2*TTTTTTTTZ[22((=2>2>2>2>2<422ppppppppppXY(<4>2>2>2?2pppp8pBqBqBqBqBrB9pp(<BBBBB<42pppx(<BBBBB4B`BaaabB<BBBBBB<42222ppp<B4BhBiiijB=B3}~<42222222222222(<B4B*q0(<<4222222222222(<B4B*p((=>>><42>2>2>2>2>2>222222(=B?B*pp(01111<4>2?2LDD2Dde<2222272yp011111<4fgTDD2Dlm=2>2>2?2DLDD/.DDDDD<4no\)2)2)2)2tu.DDD/DTDD/.DDDDD<4vw)2)2)2)2)2)2)2.DDD/\.D/.DDDDL<4)2)2)2)2)2)2)2)2)2)2)2)2)2)2*DD/.DEFGT<4)2)2)2U2V2W2)2)2)2)2)2)2**D/.DMN2O\<411]^_1111212**/LLL.<2222<4*)2U2W2U2V2V2W2)2)2)2)2)2***TTT(<222<42]_]^^_112112**ppp(<2222<41U2V2V2V2W2U2W2)2)2)2)**ppp(<2222<41]^^^_]_121112*ppp(<2222<4*U2W2U2V2V2W2U2V2W2)2)2)2)2*ppp(<2222<4*]_]^^_]^_)222)22pPQ(=222<4*U2V2V2V2W2U2V2V2W2)222)2*pXY0=2>2<4*]^^^_]^^_21112pppp0111<4*)2)2)2)2)2)2)2)2)2)2)2)2)2pppppZ[<42)2)2)2$2)2)2)2)2)2)2)2)26)2ppppPQppXY<4XXYHIJY")2)2)2)2)2)26ppppXYpppp<6666666666666666666666666666 \ No newline at end of file
diff --git a/data/maps/MeteorFalls_1F_2R/border.bin b/data/maps/MeteorFalls_1F_2R/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/MeteorFalls_1F_2R/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/MeteorFalls_1F_2R/header.inc b/data/maps/MeteorFalls_1F_2R/header.inc
new file mode 100644
index 000000000..4f8ebbff4
--- /dev/null
+++ b/data/maps/MeteorFalls_1F_2R/header.inc
@@ -0,0 +1,15 @@
+MeteorFalls_1F_2R: @ 8483EDC
+ .4byte MeteorFalls_1F_2R_MapAttributes
+ .4byte MeteorFalls_1F_2R_MapEvents
+ .4byte MeteorFalls_1F_2R_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN03
+ .2byte 126
+ .byte 63
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/MeteorFalls_1F_2R/map.bin b/data/maps/MeteorFalls_1F_2R/map.bin
new file mode 100644
index 000000000..67ce2b784
--- /dev/null
+++ b/data/maps/MeteorFalls_1F_2R/map.bin
@@ -0,0 +1,2 @@
+>>>>>>>>>>>>>>4111111111111<4222222222222(=>>>>?22222222222201111=>>>>>>>>?2>2>2>2>2>2U2V2V2W2U2W2=>>01111111111212111]^^_]_11=>>>>>11111112>2>2>2>2>2U2W2U2V2V2V2W2=01111114112111]_]^^^_1111<>>>>?*>2>2>2>2>2U2V2W2U2W2U2V2V2W2=>>(<4111121211]^_]_]^^_11(<4*11112>2>2>2U2W2U2V2V2W22U2V2V2W2=((=>4**4111121]_]^^_]^^_(01<4**?2222222U2V2V2W222222201(<4**2222222]^^_2U2W2U2V2W2=>((<4** 22222U2V2V2W2222]_]^_1((<4**2222]^^_2222222(((<4**
+2222222<42U2W2U2V2V2W2(((<4**>?2222U2V2W2=?2]_]^^_(((<4**?22]^_2222222(((<4**?22222222222222222(((<4**22 2222222222222222(((<4**22222Z[22222222223(<4**pXY222222(<(<4**pppppPQpppp2222 22((34**dQppPQXYpppp222222(((<4**lYPQXYpppppp222222(((<4**pXYppppp6262622223((<4**pppppppp222222(<((<4**pp626262626262222222(<3(<4**pp222222222222(<(<34**kzqqzk}Q(<(<66 \ No newline at end of file
diff --git a/data/maps/MeteorFalls_B1F_1R/border.bin b/data/maps/MeteorFalls_B1F_1R/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/MeteorFalls_B1F_1R/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/MeteorFalls_B1F_1R/header.inc b/data/maps/MeteorFalls_B1F_1R/header.inc
new file mode 100644
index 000000000..c39710f33
--- /dev/null
+++ b/data/maps/MeteorFalls_B1F_1R/header.inc
@@ -0,0 +1,15 @@
+MeteorFalls_B1F_1R: @ 8483EF8
+ .4byte MeteorFalls_B1F_1R_MapAttributes
+ .4byte MeteorFalls_B1F_1R_MapEvents
+ .4byte MeteorFalls_B1F_1R_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN03
+ .2byte 127
+ .byte 63
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/MeteorFalls_B1F_1R/map.bin b/data/maps/MeteorFalls_B1F_1R/map.bin
new file mode 100644
index 000000000..a37afdb17
--- /dev/null
+++ b/data/maps/MeteorFalls_B1F_1R/map.bin
@@ -0,0 +1,6 @@
+>>>>>>>>>>>>>>>?DDDDDDDDDD=>>>4DDDD/DDDEFGDDDD.DD<?DDD/DDDMN2ODDDD.D(<411111D/22222222.((<4*11c11B*222222222(((<4*BB BBBBB*2222222222p(((<4*BBBBBB*p(((<4*BBBBBB*ppppppppppp((=4*BBRRR
+*ppppppppppp((0<4*BB<R4R*ppppppppppp0(<4*BB<R R4R*pppBqBqBqBqBpp0((<4*BB<RR4R*px(<B
+*yp((<4*BB=R>R?R*p(<B=?*pp(<4*BB1*p(<Bc*pp(<4*BBB211p(<BBB BB*pp(<4*BBB222p(<BBBBB*pp(<4*BBB222pp(<BBBBB*pp(<4*BBB222pp(<BBBB*pp(<4*BBBBBBkBzBqBqBzBkBBBB12pp(<4*BBBBBBBBBBBBBBB*pp(<4*6RRRRRRRR
+BBBBB>BB*pppp(<4*RRRRRR4RBBBBB12pppp(<4R RRRRR>R?RBBBBB*pppp(<4RRR4RBBBBB*pppppp(<4RRRR4RBBBBBBB*pppppp(<4RRRR4RBBBBBBB2pppppxk(<6
+B*ppppx(<(<R4
+*ppppp(<(<R4*ppppp(<(<R4*ppppp(<R4*ppppp(<<R4*ppppp(<<R4*ppppp(<<R4*2222222<<R4*222222<<R4*222222<<R66}~ \ No newline at end of file
diff --git a/data/maps/MeteorFalls_B1F_2R/border.bin b/data/maps/MeteorFalls_B1F_2R/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/MeteorFalls_B1F_2R/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/MeteorFalls_B1F_2R/header.inc b/data/maps/MeteorFalls_B1F_2R/header.inc
new file mode 100644
index 000000000..dfee7e50e
--- /dev/null
+++ b/data/maps/MeteorFalls_B1F_2R/header.inc
@@ -0,0 +1,15 @@
+MeteorFalls_B1F_2R: @ 8483F14
+ .4byte MeteorFalls_B1F_2R_MapAttributes
+ .4byte MeteorFalls_B1F_2R_MapEvents
+ .4byte MeteorFalls_B1F_2R_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN03
+ .2byte 128
+ .byte 63
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/MeteorFalls_B1F_2R/map.bin b/data/maps/MeteorFalls_B1F_2R/map.bin
new file mode 100644
index 000000000..5f4497752
--- /dev/null
+++ b/data/maps/MeteorFalls_B1F_2R/map.bin
@@ -0,0 +1 @@
+>>>>>>>>>41111111<4*11111(<4**22222((<4**22222((<4**((<4**ppp((<4**ppp((<4**ppp((<4**ppp((<4**ppp((<4**ppp((<4**ppp((<4**ppp((<4**22222((<4**22222((<4*}~(< \ No newline at end of file
diff --git a/data/maps/MeteorFalls_StevensCave/border.bin b/data/maps/MeteorFalls_StevensCave/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/MeteorFalls_StevensCave/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/MeteorFalls_StevensCave/header.inc b/data/maps/MeteorFalls_StevensCave/header.inc
new file mode 100644
index 000000000..b30ae1da5
--- /dev/null
+++ b/data/maps/MeteorFalls_StevensCave/header.inc
@@ -0,0 +1,15 @@
+MeteorFalls_StevensCave: @ 8484A74
+ .4byte MeteorFalls_StevensCave_MapAttributes
+ .4byte MeteorFalls_StevensCave_MapEvents
+ .4byte MeteorFalls_StevensCave_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN03
+ .2byte 431
+ .byte 63
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/MeteorFalls_StevensCave/map.bin b/data/maps/MeteorFalls_StevensCave/map.bin
new file mode 100644
index 000000000..e509d66c2
--- /dev/null
+++ b/data/maps/MeteorFalls_StevensCave/map.bin
@@ -0,0 +1,21 @@
+               "11111     
+             "111((   
+(  "1111111121((((666(61111111122((((1112(61111111122(((111112(61111111122((111116(61111111122(11111(6(6222222222011111((6(62222222222222(((6(62222222         (6(6222222(       
+(6(12222222((1111111(6(111      
+22(111111!!611111     "
+21
+1(( 
+111111 
+222((((((6111111((6 
+22((2((((61111(((6622((2((((6*2222(((1622(2((((6*2222(((612622112((((6*22(((612222222((((6*222(((*1222222((((6   
+222(((6**2222222    (6 
+
+2((**222222(6   6(6**
+2(222222((6(  
+(6***2222   ((6((
+(6***2222222222(66  6((((6** 
+2222222(6(666((((6**6  
+22222222(((   (((6*   
+*2222   ((((6  ((6*   
+**22222(   (((6(66(6   
+* HIJ   (666(((6                \ No newline at end of file
diff --git a/data/maps/MirageTower_1F/border.bin b/data/maps/MirageTower_1F/border.bin
new file mode 100644
index 000000000..58596f99a
--- /dev/null
+++ b/data/maps/MirageTower_1F/border.bin
@@ -0,0 +1 @@
+EEEE \ No newline at end of file
diff --git a/data/maps/MirageTower_1F/header.inc b/data/maps/MirageTower_1F/header.inc
new file mode 100644
index 000000000..7d3cde71e
--- /dev/null
+++ b/data/maps/MirageTower_1F/header.inc
@@ -0,0 +1,15 @@
+MirageTower_1F: @ 8484908
+ .4byte MirageTower_1F_MapAttributes
+ .4byte MirageTower_1F_MapEvents
+ .4byte MirageTower_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 381
+ .byte 199
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/MirageTower_1F/map.bin b/data/maps/MirageTower_1F/map.bin
new file mode 100644
index 000000000..b77d14890
--- /dev/null
+++ b/data/maps/MirageTower_1F/map.bin
@@ -0,0 +1,3 @@
+EE  EEEEEE2222222222222222222222222222222p     q22222222p 22222 q2222222p2222222q22222222222222222222222222222222222222222222222222222222hi2222222hi222  
+2222222222222p    
+22222<222222   E      XY       EE                 E \ No newline at end of file
diff --git a/data/maps/MirageTower_2F/border.bin b/data/maps/MirageTower_2F/border.bin
new file mode 100644
index 000000000..58596f99a
--- /dev/null
+++ b/data/maps/MirageTower_2F/border.bin
@@ -0,0 +1 @@
+EEEE \ No newline at end of file
diff --git a/data/maps/MirageTower_2F/header.inc b/data/maps/MirageTower_2F/header.inc
new file mode 100644
index 000000000..304212a0b
--- /dev/null
+++ b/data/maps/MirageTower_2F/header.inc
@@ -0,0 +1,15 @@
+MirageTower_2F: @ 8484924
+ .4byte MirageTower_2F_MapAttributes
+ .4byte MirageTower_2F_MapEvents
+ .4byte MirageTower_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 382
+ .byte 199
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/MirageTower_2F/map.bin b/data/maps/MirageTower_2F/map.bin
new file mode 100644
index 000000000..79c3056a9
--- /dev/null
+++ b/data/maps/MirageTower_2F/map.bin
@@ -0,0 +1,3 @@
+EE  EEEEEE22222222222?222222222222222/2/2222p     q2222/2/222p 22222 q2222/2/22p2222222q222/2/222222222222/2222222222/22222222222/2222222222222hi222222hi2222  
+2222222222222    
+2222222222222   E2               2EE2                 2E \ No newline at end of file
diff --git a/data/maps/MirageTower_3F/border.bin b/data/maps/MirageTower_3F/border.bin
new file mode 100644
index 000000000..58596f99a
--- /dev/null
+++ b/data/maps/MirageTower_3F/border.bin
@@ -0,0 +1 @@
+EEEE \ No newline at end of file
diff --git a/data/maps/MirageTower_3F/header.inc b/data/maps/MirageTower_3F/header.inc
new file mode 100644
index 000000000..2b0ca6c69
--- /dev/null
+++ b/data/maps/MirageTower_3F/header.inc
@@ -0,0 +1,15 @@
+MirageTower_3F: @ 8484940
+ .4byte MirageTower_3F_MapAttributes
+ .4byte MirageTower_3F_MapEvents
+ .4byte MirageTower_3F_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 383
+ .byte 199
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/MirageTower_3F/map.bin b/data/maps/MirageTower_3F/map.bin
new file mode 100644
index 000000000..376ac2836
--- /dev/null
+++ b/data/maps/MirageTower_3F/map.bin
@@ -0,0 +1,6 @@
+EE  EEEEEE2222222222222222222222222222222     
+222222222 22222 
+22222222222
+/222222222222/22/222222222222222222222222222222222222222222222222222  
+2222222222222    
+2222222222222   E2               2EE2                 2E \ No newline at end of file
diff --git a/data/maps/MirageTower_4F/border.bin b/data/maps/MirageTower_4F/border.bin
new file mode 100644
index 000000000..58596f99a
--- /dev/null
+++ b/data/maps/MirageTower_4F/border.bin
@@ -0,0 +1 @@
+EEEE \ No newline at end of file
diff --git a/data/maps/MirageTower_4F/header.inc b/data/maps/MirageTower_4F/header.inc
new file mode 100644
index 000000000..4d319fe5d
--- /dev/null
+++ b/data/maps/MirageTower_4F/header.inc
@@ -0,0 +1,15 @@
+MirageTower_4F: @ 848495C
+ .4byte MirageTower_4F_MapAttributes
+ .4byte MirageTower_4F_MapEvents
+ .4byte MirageTower_4F_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 388
+ .byte 199
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/MirageTower_4F/map.bin b/data/maps/MirageTower_4F/map.bin
new file mode 100644
index 000000000..283534fb7
--- /dev/null
+++ b/data/maps/MirageTower_4F/map.bin
@@ -0,0 +1,2 @@
+EE EE22222222  B B B B Bq2222BBBBB2222BBBBB2222BBBBB2222i222222222222  
+2222222   E         E \ No newline at end of file
diff --git a/data/maps/MossdeepCity/border.bin b/data/maps/MossdeepCity/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/MossdeepCity/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/MossdeepCity/connections.inc b/data/maps/MossdeepCity/connections.inc
new file mode 100644
index 000000000..04a3f0c4b
--- /dev/null
+++ b/data/maps/MossdeepCity/connections.inc
@@ -0,0 +1,8 @@
+MossdeepCity_MapConnectionsList: @ 84867C4
+ connection up, 0, ROUTE_125, 0
+ connection down, 0, ROUTE_127, 0
+ connection left, -40, ROUTE_124, 0
+
+MossdeepCity_MapConnections: @ 84867E8
+ .4byte 0x3
+ .4byte MossdeepCity_MapConnectionsList
diff --git a/data/maps/MossdeepCity/header.inc b/data/maps/MossdeepCity/header.inc
new file mode 100644
index 000000000..155706b5d
--- /dev/null
+++ b/data/maps/MossdeepCity/header.inc
@@ -0,0 +1,15 @@
+MossdeepCity: @ 8482560
+ .4byte MossdeepCity_MapAttributes
+ .4byte MossdeepCity_MapEvents
+ .4byte MossdeepCity_MapScripts
+ .4byte MossdeepCity_MapConnections
+ .2byte BGM_GOTOWN
+ .2byte 7
+ .byte 13
+ .byte 0
+ .byte 2
+ .byte 2
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/MossdeepCity/map.bin b/data/maps/MossdeepCity/map.bin
new file mode 100644
index 000000000..bf150f5bb
--- /dev/null
+++ b/data/maps/MossdeepCity/map.bin
Binary files differ
diff --git a/data/maps/MossdeepCity_GameCorner_1F/border.bin b/data/maps/MossdeepCity_GameCorner_1F/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/MossdeepCity_GameCorner_1F/border.bin
Binary files differ
diff --git a/data/maps/MossdeepCity_GameCorner_1F/header.inc b/data/maps/MossdeepCity_GameCorner_1F/header.inc
new file mode 100644
index 000000000..fef2ebae1
--- /dev/null
+++ b/data/maps/MossdeepCity_GameCorner_1F/header.inc
@@ -0,0 +1,15 @@
+MossdeepCity_GameCorner_1F: @ 84839F0
+ .4byte MossdeepCity_GameCorner_1F_MapAttributes
+ .4byte MossdeepCity_GameCorner_1F_MapEvents
+ .4byte MossdeepCity_GameCorner_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 305
+ .byte 13
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/MossdeepCity_GameCorner_1F/map.bin b/data/maps/MossdeepCity_GameCorner_1F/map.bin
new file mode 100644
index 000000000..8be990dde
--- /dev/null
+++ b/data/maps/MossdeepCity_GameCorner_1F/map.bin
@@ -0,0 +1,53 @@
+)2(2  12  22*22022 2
+2"#$2%&'
+2
+2
+2 2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2 2
+222
+2
+2
+222
+2
+2
+2 22
+2
+2
+22
+2
+2 22 !
+2
+2
+2 !2
+2
+2 2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2 2
+2
+2
+2
+2-2.2
+2
+2
+2
+2
+2 \ No newline at end of file
diff --git a/data/maps/MossdeepCity_GameCorner_B1F/border.bin b/data/maps/MossdeepCity_GameCorner_B1F/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/MossdeepCity_GameCorner_B1F/border.bin
Binary files differ
diff --git a/data/maps/MossdeepCity_GameCorner_B1F/header.inc b/data/maps/MossdeepCity_GameCorner_B1F/header.inc
new file mode 100644
index 000000000..e369f8488
--- /dev/null
+++ b/data/maps/MossdeepCity_GameCorner_B1F/header.inc
@@ -0,0 +1,15 @@
+MossdeepCity_GameCorner_B1F: @ 8483A0C
+ .4byte MossdeepCity_GameCorner_B1F_MapAttributes
+ .4byte MossdeepCity_GameCorner_B1F_MapEvents
+ .4byte MossdeepCity_GameCorner_B1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 306
+ .byte 13
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/MossdeepCity_GameCorner_B1F/map.bin b/data/maps/MossdeepCity_GameCorner_B1F/map.bin
new file mode 100644
index 000000000..399d05705
--- /dev/null
+++ b/data/maps/MossdeepCity_GameCorner_B1F/map.bin
@@ -0,0 +1,2 @@
+ 
+        6$2$2$2$2$2$2$2$2$2$2692#2#2#2#2#2#2#2#2#2#2#292#2#2#252626272#2#2#2#292#2#2#2=2>2>2?2#2#2#2#292#2#2#2E2F2F2G2#2#2#2#22#2#2#2#2#2#2#2#2#2#2"2#2#2#2#2#2#2#2#2#2#2* \ No newline at end of file
diff --git a/data/maps/MossdeepCity_Gym/border.bin b/data/maps/MossdeepCity_Gym/border.bin
new file mode 100644
index 000000000..064786e8c
--- /dev/null
+++ b/data/maps/MossdeepCity_Gym/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/MossdeepCity_Gym/header.inc b/data/maps/MossdeepCity_Gym/header.inc
new file mode 100644
index 000000000..cf9b14394
--- /dev/null
+++ b/data/maps/MossdeepCity_Gym/header.inc
@@ -0,0 +1,15 @@
+MossdeepCity_Gym: @ 84838BC
+ .4byte MossdeepCity_Gym_MapAttributes
+ .4byte MossdeepCity_Gym_MapEvents
+ .4byte MossdeepCity_Gym_MapScripts
+ .4byte 0x0
+ .2byte BGM_GIM
+ .2byte 108
+ .byte 13
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/MossdeepCity_Gym/map.bin b/data/maps/MossdeepCity_Gym/map.bin
new file mode 100644
index 000000000..da585f73f
--- /dev/null
+++ b/data/maps/MossdeepCity_Gym/map.bin
@@ -0,0 +1,40 @@
+666666666666666666666666666666626666666666666666666 66666666666666666 66666666666666666$ 666666666666666 
+q2r2
+q2r266666666 6666 
+p2s2t2 p2s266666666()6666 \2
+ 666666666 6666 
+Y2Z2Y2Z2666666666  !"#666666X2[2
+X2[2
+666666666 
+
+
+
+66666666]2666666666666666666666666 666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666266
+66666666666666Q2R2
+66666666666 6T2P2S266666666666666m26 
+
+
+
+66666666666666i2j2i2j26266666666666666666h2k2
+h2k266666666666666666666
+l2
+66666666666666666666666i2j2
+$6666666666666666666h2k2
+66 6666666666666666 
+6666666666666666666Q2R2Q2R26666666666666 66P2S2T2P2S2% 666666666 66 
+
+
+
+$666666666 6
+
+
+
+$6666626 
+
+
+
+6a2b26666666  
+
+ 6`2c2
+6d26666666 $00$62
+6666666666666 \ No newline at end of file
diff --git a/data/maps/MossdeepCity_House1/header.inc b/data/maps/MossdeepCity_House1/header.inc
new file mode 100644
index 000000000..ba20cbb55
--- /dev/null
+++ b/data/maps/MossdeepCity_House1/header.inc
@@ -0,0 +1,15 @@
+MossdeepCity_House1: @ 84838D8
+ .4byte MossdeepCity_House1_MapAttributes
+ .4byte MossdeepCity_House1_MapEvents
+ .4byte MossdeepCity_House1_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 60
+ .byte 13
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/MossdeepCity_House2/header.inc b/data/maps/MossdeepCity_House2/header.inc
new file mode 100644
index 000000000..ba845b72b
--- /dev/null
+++ b/data/maps/MossdeepCity_House2/header.inc
@@ -0,0 +1,15 @@
+MossdeepCity_House2: @ 84838F4
+ .4byte MossdeepCity_House2_MapAttributes
+ .4byte MossdeepCity_House2_MapEvents
+ .4byte MossdeepCity_House2_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 59
+ .byte 13
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/MossdeepCity_House3/header.inc b/data/maps/MossdeepCity_House3/header.inc
new file mode 100644
index 000000000..b1359288e
--- /dev/null
+++ b/data/maps/MossdeepCity_House3/header.inc
@@ -0,0 +1,15 @@
+MossdeepCity_House3: @ 8483964
+ .4byte MossdeepCity_House3_MapAttributes
+ .4byte MossdeepCity_House3_MapEvents
+ .4byte MossdeepCity_House3_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 60
+ .byte 13
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/MossdeepCity_House4/header.inc b/data/maps/MossdeepCity_House4/header.inc
new file mode 100644
index 000000000..8e9c7a9c4
--- /dev/null
+++ b/data/maps/MossdeepCity_House4/header.inc
@@ -0,0 +1,15 @@
+MossdeepCity_House4: @ 848399C
+ .4byte MossdeepCity_House4_MapAttributes
+ .4byte MossdeepCity_House4_MapEvents
+ .4byte MossdeepCity_House4_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 80
+ .byte 13
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/MossdeepCity_Mart/header.inc b/data/maps/MossdeepCity_Mart/header.inc
new file mode 100644
index 000000000..d09103549
--- /dev/null
+++ b/data/maps/MossdeepCity_Mart/header.inc
@@ -0,0 +1,15 @@
+MossdeepCity_Mart: @ 8483948
+ .4byte MossdeepCity_Mart_MapAttributes
+ .4byte MossdeepCity_Mart_MapEvents
+ .4byte MossdeepCity_Mart_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRIENDLY
+ .2byte 63
+ .byte 13
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/MossdeepCity_PokemonCenter_1F/header.inc b/data/maps/MossdeepCity_PokemonCenter_1F/header.inc
new file mode 100644
index 000000000..6b69cc8b9
--- /dev/null
+++ b/data/maps/MossdeepCity_PokemonCenter_1F/header.inc
@@ -0,0 +1,15 @@
+MossdeepCity_PokemonCenter_1F: @ 8483910
+ .4byte MossdeepCity_PokemonCenter_1F_MapAttributes
+ .4byte MossdeepCity_PokemonCenter_1F_MapEvents
+ .4byte MossdeepCity_PokemonCenter_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 61
+ .byte 13
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/MossdeepCity_PokemonCenter_2F/header.inc b/data/maps/MossdeepCity_PokemonCenter_2F/header.inc
new file mode 100644
index 000000000..715a2a939
--- /dev/null
+++ b/data/maps/MossdeepCity_PokemonCenter_2F/header.inc
@@ -0,0 +1,15 @@
+MossdeepCity_PokemonCenter_2F: @ 848392C
+ .4byte MossdeepCity_PokemonCenter_2F_MapAttributes
+ .4byte MossdeepCity_PokemonCenter_2F_MapEvents
+ .4byte MossdeepCity_PokemonCenter_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 62
+ .byte 13
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/border.bin b/data/maps/MossdeepCity_SpaceCenter_1F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/MossdeepCity_SpaceCenter_1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/header.inc b/data/maps/MossdeepCity_SpaceCenter_1F/header.inc
new file mode 100644
index 000000000..679f0f576
--- /dev/null
+++ b/data/maps/MossdeepCity_SpaceCenter_1F/header.inc
@@ -0,0 +1,15 @@
+MossdeepCity_SpaceCenter_1F: @ 84839B8
+ .4byte MossdeepCity_SpaceCenter_1F_MapAttributes
+ .4byte MossdeepCity_SpaceCenter_1F_MapEvents
+ .4byte MossdeepCity_SpaceCenter_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 275
+ .byte 13
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/map.bin b/data/maps/MossdeepCity_SpaceCenter_1F/map.bin
new file mode 100644
index 000000000..44f5081b9
--- /dev/null
+++ b/data/maps/MossdeepCity_SpaceCenter_1F/map.bin
Binary files differ
diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/border.bin b/data/maps/MossdeepCity_SpaceCenter_2F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/MossdeepCity_SpaceCenter_2F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/header.inc b/data/maps/MossdeepCity_SpaceCenter_2F/header.inc
new file mode 100644
index 000000000..a0e66bd48
--- /dev/null
+++ b/data/maps/MossdeepCity_SpaceCenter_2F/header.inc
@@ -0,0 +1,15 @@
+MossdeepCity_SpaceCenter_2F: @ 84839D4
+ .4byte MossdeepCity_SpaceCenter_2F_MapAttributes
+ .4byte MossdeepCity_SpaceCenter_2F_MapEvents
+ .4byte MossdeepCity_SpaceCenter_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 276
+ .byte 13
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/map.bin b/data/maps/MossdeepCity_SpaceCenter_2F/map.bin
new file mode 100644
index 000000000..d2e52d780
--- /dev/null
+++ b/data/maps/MossdeepCity_SpaceCenter_2F/map.bin
Binary files differ
diff --git a/data/maps/MossdeepCity_StevensHouse/border.bin b/data/maps/MossdeepCity_StevensHouse/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/MossdeepCity_StevensHouse/border.bin
Binary files differ
diff --git a/data/maps/MossdeepCity_StevensHouse/header.inc b/data/maps/MossdeepCity_StevensHouse/header.inc
new file mode 100644
index 000000000..806d47883
--- /dev/null
+++ b/data/maps/MossdeepCity_StevensHouse/header.inc
@@ -0,0 +1,15 @@
+MossdeepCity_StevensHouse: @ 8483980
+ .4byte MossdeepCity_StevensHouse_MapAttributes
+ .4byte MossdeepCity_StevensHouse_MapEvents
+ .4byte MossdeepCity_StevensHouse_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 327
+ .byte 13
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/MossdeepCity_StevensHouse/map.bin b/data/maps/MossdeepCity_StevensHouse/map.bin
new file mode 100644
index 000000000..ade25497a
--- /dev/null
+++ b/data/maps/MossdeepCity_StevensHouse/map.bin
@@ -0,0 +1 @@
+h     ii22p2$2$2$2$2$2$2q2q292#2#2#26666#2#2[392#2#2#26666#2#2c792#2#2#2#2#2,2#2#2#2[392#2#2#2#2#2#2#2#2#2c792#2#2 #2#2#2#2#2#2 \ No newline at end of file
diff --git a/data/maps/MtChimney/border.bin b/data/maps/MtChimney/border.bin
new file mode 100644
index 000000000..9ae2c2126
--- /dev/null
+++ b/data/maps/MtChimney/border.bin
@@ -0,0 +1 @@
+qqqq \ No newline at end of file
diff --git a/data/maps/MtChimney/header.inc b/data/maps/MtChimney/header.inc
new file mode 100644
index 000000000..f8dfa991a
--- /dev/null
+++ b/data/maps/MtChimney/header.inc
@@ -0,0 +1,15 @@
+MtChimney: @ 8484010
+ .4byte MtChimney_MapAttributes
+ .4byte MtChimney_MapEvents
+ .4byte MtChimney_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 136
+ .byte 56
+ .byte 0
+ .byte 7
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/MtChimney/map.bin b/data/maps/MtChimney/map.bin
new file mode 100644
index 000000000..1e7e2868d
--- /dev/null
+++ b/data/maps/MtChimney/map.bin
@@ -0,0 +1 @@
+h~qpqqpqpqrrrq2rx|q2{zppppqrrqqqrqqpqqpqqpqpqrrr{z|xtz{~6ppppqrrqqqrqqpqh~qqph~qrrrr{yyyqppppqrrqqqrq{pqpqqqppqqrrrrh~pppqrrqq{zqrpqpqqqppqqrrrrph~pxtzrqqrqqrpqpqqqppq{zrrrU~pph~2q2q2q2rqqrqqrpqpqqqpxtzq22227qpppq2q2q2q2rq{zqqrpqpqqqpq2q2q2q2q2q2q2q2h~ppq2q2q2q2rqrqq{zpqpqqqpq2q2q2q2{tttpqppq2q2q2q2rqrqqrqpqx|qqpq2q2q2q2rrr~~h~pq2q2q2{zqrq{zqx|qpqqphijq2rrpqh~h~2q2q2q2rq{zqrqqqpqx|qppqrq222jqqr~h~qph~2q2q2q2q2rqrqqrq{qpqqpqpxtzq2q2q22i2jiiiii~qh~6pq2q2q2q2q2rqrqqrqr|x|qx|x|q2q2q2q2hijriijqqhii~6q6pq2q2q2q2q2rqrqqr{zpqpqqpqx|q2q2q2pqr2i2jii~hi2i2i2~2q2q2q2q2q2rqrq{zr{x|x|qpqqpq2q2q2xtzq2q22i2i2i2i2~2q2q2q2q2q2q2q2q2q2r{zqr{zrqpqpqx|qpq2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2{zrq{zr{z|pqpqqpqx|q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2rq6rqrqrrqppqx|qpqqxt|q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2rq6r{z{zr{px|qx|xttt|pq2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2{zq6rrqrqrrpqx|qxttt|pxt|q2q2q2q2q2q2q2q2q2q2q2q2q2q2q2{zq6q6rrqr{zrpqqxt|qqqppq6q6x|q2q2q2q2q2q2q2q2q2q2q2q2q2{z{ttzrqrrqrxtt|qxt|qpxt|q2xt|q2q2{ttttt2ttz{z{ttz{zrqrqqqxt|qpqxt|xtt|xttzq2q2q2q2q2q2{ttz{z{ttz{zqrttt|qx|xt|qxt|q6x|q2q2{2tttttzq2q2{z{z{ttz{tztt|pqqxt|x|qqxt|xttzq2q2q2q2q2q2q2q2q2r{z{z{ttzqqqqpx|qqqpqxtt|qxt|q2q2q2q2q2q2q2q2q2{tzrq2rq2rqqq2{tqqpqxt|q|qqqx|qqx|q2q2q2{ttt2z{tz{{zqq{qqqx|q2pq6pqqqqxtt|xtttzq2q2q2q2{zq2q2r6r{ttzqqqqx|t|xttttt|qxtttttttt2zq2q2q2rqrrq2q262qqqqp66qpqqqqqqxtttttt|q2q2q2q2q2q2q2q2r{rq6qq6qqqqxtt|pqq2qqpq2q2q2q2q2{ttzr6r22{tt|qqqqqqppqq2qqq2&2'2!2!2"2q2q2xttt2tzq2q2q2r{z6r2qxtt|qqqppq22q&2.6/))*Z2Z2Z2Z2Z2Z2Z2Z2T2S2q2{zr26{z2tt|pqqqppq6q-67112q2q2q2q2q2q2q2q2\2[2R2Qq2r6{z266qqpxt|2pxt|62->?9:%q2q2q2q2q2q2q2q2d6q2q2YRQqrq6{|qxt|pt||5FGABWq2q2q2q2q2q2q2q2q2q2q2rqYRQq{z6pq2qpp66qpp22q2q2q2q2q2q2q2q24q2q2q222q2rqrqYRQ{tp22pxt|qp6p666q2q2q2q2q2q2q2q2q2q2q2q266{z{2rqYPap66t|p2x|pqq2q2q2q2{z{6r2rrYx|66qppqpt|q2q2q2q2q2q2q2q2q2q2{z{z66{zrrrqt|qpp6qp66qt6226ttz{z2q2q2rq26rrrq66qp2px|2|6277226{zq26{zq2{zrrtt|qpx|p666|776rq2q2{z2q2rq2rr22p2pqpt|p{z22rq2q2r2rrpp2p6q6p6p6r2r2662rrrpp6xtt|x|x|6r6r22rrr \ No newline at end of file
diff --git a/data/maps/MtChimney_CableCarStation/header.inc b/data/maps/MtChimney_CableCarStation/header.inc
new file mode 100644
index 000000000..7c531570e
--- /dev/null
+++ b/data/maps/MtChimney_CableCarStation/header.inc
@@ -0,0 +1,15 @@
+MtChimney_CableCarStation: @ 8483DFC
+ .4byte MtChimney_CableCarStation_MapAttributes
+ .4byte MtChimney_CableCarStation_MapEvents
+ .4byte MtChimney_CableCarStation_MapScripts
+ .4byte 0x0
+ .2byte BGM_DOORO_X1
+ .2byte 118
+ .byte 56
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/MtPyre_1F/border.bin b/data/maps/MtPyre_1F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/MtPyre_1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/MtPyre_1F/header.inc b/data/maps/MtPyre_1F/header.inc
new file mode 100644
index 000000000..83234f6d9
--- /dev/null
+++ b/data/maps/MtPyre_1F/header.inc
@@ -0,0 +1,15 @@
+MtPyre_1F: @ 8484064
+ .4byte MtPyre_1F_MapAttributes
+ .4byte MtPyre_1F_MapEvents
+ .4byte MtPyre_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_M_DUNGON
+ .2byte 137
+ .byte 65
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 8
+ .byte 0
+
diff --git a/data/maps/MtPyre_1F/map.bin b/data/maps/MtPyre_1F/map.bin
new file mode 100644
index 000000000..60b992a73
--- /dev/null
+++ b/data/maps/MtPyre_1F/map.bin
@@ -0,0 +1 @@
+22222&7&722222222222662666266'7222266266626622222222226622222222222222222222666266&7622222666266&762222222222222662222222222266222222222&7622662222266&7622662222266222222222222 \ No newline at end of file
diff --git a/data/maps/MtPyre_2F/border.bin b/data/maps/MtPyre_2F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/MtPyre_2F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/MtPyre_2F/header.inc b/data/maps/MtPyre_2F/header.inc
new file mode 100644
index 000000000..f7251c337
--- /dev/null
+++ b/data/maps/MtPyre_2F/header.inc
@@ -0,0 +1,15 @@
+MtPyre_2F: @ 8484080
+ .4byte MtPyre_2F_MapAttributes
+ .4byte MtPyre_2F_MapEvents
+ .4byte MtPyre_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_M_DUNGON
+ .2byte 138
+ .byte 65
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 8
+ .byte 0
+
diff --git a/data/maps/MtPyre_2F/map.bin b/data/maps/MtPyre_2F/map.bin
new file mode 100644
index 000000000..97b7e9e31
--- /dev/null
+++ b/data/maps/MtPyre_2F/map.bin
@@ -0,0 +1 @@
+22222222&&2222&22222222222&22222222&22222222222222222222222222222&2222&22222232222222222222&22222&22222 \ No newline at end of file
diff --git a/data/maps/MtPyre_3F/border.bin b/data/maps/MtPyre_3F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/MtPyre_3F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/MtPyre_3F/header.inc b/data/maps/MtPyre_3F/header.inc
new file mode 100644
index 000000000..445ad8206
--- /dev/null
+++ b/data/maps/MtPyre_3F/header.inc
@@ -0,0 +1,15 @@
+MtPyre_3F: @ 848409C
+ .4byte MtPyre_3F_MapAttributes
+ .4byte MtPyre_3F_MapEvents
+ .4byte MtPyre_3F_MapScripts
+ .4byte 0x0
+ .2byte BGM_M_DUNGON
+ .2byte 139
+ .byte 65
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 8
+ .byte 0
+
diff --git a/data/maps/MtPyre_3F/map.bin b/data/maps/MtPyre_3F/map.bin
new file mode 100644
index 000000000..758eccc3a
--- /dev/null
+++ b/data/maps/MtPyre_3F/map.bin
@@ -0,0 +1 @@
+22&2222&&&2222&&2222222222222222222&2222222222&22222222222222222&222&2222222222222222222222222323 \ No newline at end of file
diff --git a/data/maps/MtPyre_4F/border.bin b/data/maps/MtPyre_4F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/MtPyre_4F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/MtPyre_4F/header.inc b/data/maps/MtPyre_4F/header.inc
new file mode 100644
index 000000000..4ab79b0d3
--- /dev/null
+++ b/data/maps/MtPyre_4F/header.inc
@@ -0,0 +1,15 @@
+MtPyre_4F: @ 84840B8
+ .4byte MtPyre_4F_MapAttributes
+ .4byte MtPyre_4F_MapEvents
+ .4byte MtPyre_4F_MapScripts
+ .4byte 0x0
+ .2byte BGM_M_DUNGON
+ .2byte 140
+ .byte 65
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 8
+ .byte 0
+
diff --git a/data/maps/MtPyre_4F/map.bin b/data/maps/MtPyre_4F/map.bin
new file mode 100644
index 000000000..98dc679ff
--- /dev/null
+++ b/data/maps/MtPyre_4F/map.bin
@@ -0,0 +1 @@
+2&&222&'&2222002200&222&&&&&222&&2222222222222222222222&226223222&22222&232222222222 \ No newline at end of file
diff --git a/data/maps/MtPyre_5F/border.bin b/data/maps/MtPyre_5F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/MtPyre_5F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/MtPyre_5F/header.inc b/data/maps/MtPyre_5F/header.inc
new file mode 100644
index 000000000..9b34efafe
--- /dev/null
+++ b/data/maps/MtPyre_5F/header.inc
@@ -0,0 +1,15 @@
+MtPyre_5F: @ 84840D4
+ .4byte MtPyre_5F_MapAttributes
+ .4byte MtPyre_5F_MapEvents
+ .4byte MtPyre_5F_MapScripts
+ .4byte 0x0
+ .2byte BGM_M_DUNGON
+ .2byte 141
+ .byte 65
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 8
+ .byte 0
+
diff --git a/data/maps/MtPyre_5F/map.bin b/data/maps/MtPyre_5F/map.bin
new file mode 100644
index 000000000..12fbeeb7e
--- /dev/null
+++ b/data/maps/MtPyre_5F/map.bin
@@ -0,0 +1 @@
+2&222&2&2222222&222&&&&&222&&2222222222222222222222&2222222226223&222222222&222222222223 \ No newline at end of file
diff --git a/data/maps/MtPyre_6F/border.bin b/data/maps/MtPyre_6F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/MtPyre_6F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/MtPyre_6F/header.inc b/data/maps/MtPyre_6F/header.inc
new file mode 100644
index 000000000..72d2808f0
--- /dev/null
+++ b/data/maps/MtPyre_6F/header.inc
@@ -0,0 +1,15 @@
+MtPyre_6F: @ 84840F0
+ .4byte MtPyre_6F_MapAttributes
+ .4byte MtPyre_6F_MapEvents
+ .4byte MtPyre_6F_MapScripts
+ .4byte 0x0
+ .2byte BGM_M_DUNGON
+ .2byte 142
+ .byte 65
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 8
+ .byte 0
+
diff --git a/data/maps/MtPyre_6F/map.bin b/data/maps/MtPyre_6F/map.bin
new file mode 100644
index 000000000..1f7438bfb
--- /dev/null
+++ b/data/maps/MtPyre_6F/map.bin
@@ -0,0 +1 @@
+2&222&&222222&22222222222222222262222&2222226622222&22&&272&&22&22222222222232222222222222222222222&2222222 \ No newline at end of file
diff --git a/data/maps/MtPyre_Exterior/border.bin b/data/maps/MtPyre_Exterior/border.bin
new file mode 100644
index 000000000..1d7df4a00
--- /dev/null
+++ b/data/maps/MtPyre_Exterior/border.bin
Binary files differ
diff --git a/data/maps/MtPyre_Exterior/header.inc b/data/maps/MtPyre_Exterior/header.inc
new file mode 100644
index 000000000..c9c8e7380
--- /dev/null
+++ b/data/maps/MtPyre_Exterior/header.inc
@@ -0,0 +1,15 @@
+MtPyre_Exterior: @ 848410C
+ .4byte MtPyre_Exterior_MapAttributes
+ .4byte MtPyre_Exterior_MapEvents
+ .4byte MtPyre_Exterior_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHUPI
+ .2byte 302
+ .byte 65
+ .byte 0
+ .byte 0
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/MtPyre_Exterior/map.bin b/data/maps/MtPyre_Exterior/map.bin
new file mode 100644
index 000000000..7ab1e0461
--- /dev/null
+++ b/data/maps/MtPyre_Exterior/map.bin
Binary files differ
diff --git a/data/maps/MtPyre_Summit/border.bin b/data/maps/MtPyre_Summit/border.bin
new file mode 100644
index 000000000..1d7df4a00
--- /dev/null
+++ b/data/maps/MtPyre_Summit/border.bin
Binary files differ
diff --git a/data/maps/MtPyre_Summit/header.inc b/data/maps/MtPyre_Summit/header.inc
new file mode 100644
index 000000000..7f62acb50
--- /dev/null
+++ b/data/maps/MtPyre_Summit/header.inc
@@ -0,0 +1,15 @@
+MtPyre_Summit: @ 8484128
+ .4byte MtPyre_Summit_MapAttributes
+ .4byte MtPyre_Summit_MapEvents
+ .4byte MtPyre_Summit_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHUPI
+ .2byte 303
+ .byte 65
+ .byte 0
+ .byte 6
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/MtPyre_Summit/map.bin b/data/maps/MtPyre_Summit/map.bin
new file mode 100644
index 000000000..1de8bd5ea
--- /dev/null
+++ b/data/maps/MtPyre_Summit/map.bin
Binary files differ
diff --git a/data/maps/NavelRock_B1F/border.bin b/data/maps/NavelRock_B1F/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/NavelRock_B1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/NavelRock_B1F/header.inc b/data/maps/NavelRock_B1F/header.inc
new file mode 100644
index 000000000..99d66911f
--- /dev/null
+++ b/data/maps/NavelRock_B1F/header.inc
@@ -0,0 +1,15 @@
+NavelRock_B1F: @ 84858C8
+ .4byte NavelRock_B1F_MapAttributes
+ .4byte NavelRock_B1F_MapEvents
+ .4byte NavelRock_B1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_MT_EMBER
+ .2byte 427
+ .byte 211
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 12
+ .byte 0
+
diff --git a/data/maps/NavelRock_B1F/map.bin b/data/maps/NavelRock_B1F/map.bin
new file mode 100644
index 000000000..861fb6575
--- /dev/null
+++ b/data/maps/NavelRock_B1F/map.bin
@@ -0,0 +1 @@
+222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222?22GGGGGGGGGGGGGGGGGGGGG \ No newline at end of file
diff --git a/data/maps/NavelRock_Bottom/border.bin b/data/maps/NavelRock_Bottom/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/NavelRock_Bottom/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/NavelRock_Bottom/header.inc b/data/maps/NavelRock_Bottom/header.inc
new file mode 100644
index 000000000..c14a2a33a
--- /dev/null
+++ b/data/maps/NavelRock_Bottom/header.inc
@@ -0,0 +1,15 @@
+NavelRock_Bottom: @ 8485AC0
+ .4byte NavelRock_Bottom_MapAttributes
+ .4byte NavelRock_Bottom_MapEvents
+ .4byte NavelRock_Bottom_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_MT_EMBER
+ .2byte 424
+ .byte 211
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 12
+ .byte 0
+
diff --git a/data/maps/NavelRock_Bottom/map.bin b/data/maps/NavelRock_Bottom/map.bin
new file mode 100644
index 000000000..af2f8a245
--- /dev/null
+++ b/data/maps/NavelRock_Bottom/map.bin
@@ -0,0 +1 @@
+reeeGGGccpreeeGGGccpreeeGGGccpreeeGGGccpreeeGGGccpreeeGGGccpreeeGGGccpreeeGGGccpreeeGGGccpreeeGGGccpreeeGGGccpreeeGGGccpreeeFGccpreFF]ddd[GGpredde]d[cddpreddee{ccddpreddeFdGcddpredde=ddcddpreslmdddktpree=dddddcpreed=dddd>cpGGGGGGGGGGGGGGGGGGGGGG \ No newline at end of file
diff --git a/data/maps/NavelRock_Down01/header.inc b/data/maps/NavelRock_Down01/header.inc
new file mode 100644
index 000000000..398493f52
--- /dev/null
+++ b/data/maps/NavelRock_Down01/header.inc
@@ -0,0 +1,15 @@
+NavelRock_Down01: @ 848598C
+ .4byte NavelRock_Down01_MapAttributes
+ .4byte NavelRock_Down01_MapEvents
+ .4byte NavelRock_Down01_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_MT_EMBER
+ .2byte 425
+ .byte 211
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 12
+ .byte 0
+
diff --git a/data/maps/NavelRock_Down02/header.inc b/data/maps/NavelRock_Down02/header.inc
new file mode 100644
index 000000000..d852e71b6
--- /dev/null
+++ b/data/maps/NavelRock_Down02/header.inc
@@ -0,0 +1,15 @@
+NavelRock_Down02: @ 84859A8
+ .4byte NavelRock_Down02_MapAttributes
+ .4byte NavelRock_Down02_MapEvents
+ .4byte NavelRock_Down02_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_MT_EMBER
+ .2byte 426
+ .byte 211
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 12
+ .byte 0
+
diff --git a/data/maps/NavelRock_Down03/header.inc b/data/maps/NavelRock_Down03/header.inc
new file mode 100644
index 000000000..67d6cade8
--- /dev/null
+++ b/data/maps/NavelRock_Down03/header.inc
@@ -0,0 +1,15 @@
+NavelRock_Down03: @ 84859C4
+ .4byte NavelRock_Down03_MapAttributes
+ .4byte NavelRock_Down03_MapEvents
+ .4byte NavelRock_Down03_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_MT_EMBER
+ .2byte 425
+ .byte 211
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 12
+ .byte 0
+
diff --git a/data/maps/NavelRock_Down04/header.inc b/data/maps/NavelRock_Down04/header.inc
new file mode 100644
index 000000000..9aa24c310
--- /dev/null
+++ b/data/maps/NavelRock_Down04/header.inc
@@ -0,0 +1,15 @@
+NavelRock_Down04: @ 84859E0
+ .4byte NavelRock_Down04_MapAttributes
+ .4byte NavelRock_Down04_MapEvents
+ .4byte NavelRock_Down04_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_MT_EMBER
+ .2byte 426
+ .byte 211
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 12
+ .byte 0
+
diff --git a/data/maps/NavelRock_Down05/header.inc b/data/maps/NavelRock_Down05/header.inc
new file mode 100644
index 000000000..f4fd2057a
--- /dev/null
+++ b/data/maps/NavelRock_Down05/header.inc
@@ -0,0 +1,15 @@
+NavelRock_Down05: @ 84859FC
+ .4byte NavelRock_Down05_MapAttributes
+ .4byte NavelRock_Down05_MapEvents
+ .4byte NavelRock_Down05_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_MT_EMBER
+ .2byte 425
+ .byte 211
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 12
+ .byte 0
+
diff --git a/data/maps/NavelRock_Down06/header.inc b/data/maps/NavelRock_Down06/header.inc
new file mode 100644
index 000000000..5d135527f
--- /dev/null
+++ b/data/maps/NavelRock_Down06/header.inc
@@ -0,0 +1,15 @@
+NavelRock_Down06: @ 8485A18
+ .4byte NavelRock_Down06_MapAttributes
+ .4byte NavelRock_Down06_MapEvents
+ .4byte NavelRock_Down06_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_MT_EMBER
+ .2byte 426
+ .byte 211
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 12
+ .byte 0
+
diff --git a/data/maps/NavelRock_Down07/header.inc b/data/maps/NavelRock_Down07/header.inc
new file mode 100644
index 000000000..50cdebf34
--- /dev/null
+++ b/data/maps/NavelRock_Down07/header.inc
@@ -0,0 +1,15 @@
+NavelRock_Down07: @ 8485A34
+ .4byte NavelRock_Down07_MapAttributes
+ .4byte NavelRock_Down07_MapEvents
+ .4byte NavelRock_Down07_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_MT_EMBER
+ .2byte 425
+ .byte 211
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 12
+ .byte 0
+
diff --git a/data/maps/NavelRock_Down08/header.inc b/data/maps/NavelRock_Down08/header.inc
new file mode 100644
index 000000000..c15ca867e
--- /dev/null
+++ b/data/maps/NavelRock_Down08/header.inc
@@ -0,0 +1,15 @@
+NavelRock_Down08: @ 8485A50
+ .4byte NavelRock_Down08_MapAttributes
+ .4byte NavelRock_Down08_MapEvents
+ .4byte NavelRock_Down08_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_MT_EMBER
+ .2byte 426
+ .byte 211
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 12
+ .byte 0
+
diff --git a/data/maps/NavelRock_Down09/header.inc b/data/maps/NavelRock_Down09/header.inc
new file mode 100644
index 000000000..57636fd9b
--- /dev/null
+++ b/data/maps/NavelRock_Down09/header.inc
@@ -0,0 +1,15 @@
+NavelRock_Down09: @ 8485A6C
+ .4byte NavelRock_Down09_MapAttributes
+ .4byte NavelRock_Down09_MapEvents
+ .4byte NavelRock_Down09_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_MT_EMBER
+ .2byte 425
+ .byte 211
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 12
+ .byte 0
+
diff --git a/data/maps/NavelRock_Down10/header.inc b/data/maps/NavelRock_Down10/header.inc
new file mode 100644
index 000000000..c34916015
--- /dev/null
+++ b/data/maps/NavelRock_Down10/header.inc
@@ -0,0 +1,15 @@
+NavelRock_Down10: @ 8485A88
+ .4byte NavelRock_Down10_MapAttributes
+ .4byte NavelRock_Down10_MapEvents
+ .4byte NavelRock_Down10_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_MT_EMBER
+ .2byte 426
+ .byte 211
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 12
+ .byte 0
+
diff --git a/data/maps/NavelRock_Down11/header.inc b/data/maps/NavelRock_Down11/header.inc
new file mode 100644
index 000000000..0842774a0
--- /dev/null
+++ b/data/maps/NavelRock_Down11/header.inc
@@ -0,0 +1,15 @@
+NavelRock_Down11: @ 8485AA4
+ .4byte NavelRock_Down11_MapAttributes
+ .4byte NavelRock_Down11_MapEvents
+ .4byte NavelRock_Down11_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_MT_EMBER
+ .2byte 425
+ .byte 211
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 12
+ .byte 0
+
diff --git a/data/maps/NavelRock_Entrance/border.bin b/data/maps/NavelRock_Entrance/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/NavelRock_Entrance/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/NavelRock_Entrance/header.inc b/data/maps/NavelRock_Entrance/header.inc
new file mode 100644
index 000000000..2770d9005
--- /dev/null
+++ b/data/maps/NavelRock_Entrance/header.inc
@@ -0,0 +1,15 @@
+NavelRock_Entrance: @ 84858AC
+ .4byte NavelRock_Entrance_MapAttributes
+ .4byte NavelRock_Entrance_MapEvents
+ .4byte NavelRock_Entrance_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_MT_EMBER
+ .2byte 422
+ .byte 211
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 12
+ .byte 0
+
diff --git a/data/maps/NavelRock_Entrance/map.bin b/data/maps/NavelRock_Entrance/map.bin
new file mode 100644
index 000000000..6fd5b9fa0
--- /dev/null
+++ b/data/maps/NavelRock_Entrance/map.bin
@@ -0,0 +1 @@
+22222222222222222222222222222222222?2222222222222222222222222222222222222222222222222222222222222222222GGGG2222222GGGGG2222222222222222222222222222222222222222222222222222222222222222222222222222GGXYZGGGGGGGGGGG \ No newline at end of file
diff --git a/data/maps/NavelRock_Exterior/border.bin b/data/maps/NavelRock_Exterior/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/NavelRock_Exterior/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/NavelRock_Exterior/header.inc b/data/maps/NavelRock_Exterior/header.inc
new file mode 100644
index 000000000..9b77fae48
--- /dev/null
+++ b/data/maps/NavelRock_Exterior/header.inc
@@ -0,0 +1,15 @@
+NavelRock_Exterior: @ 8485874
+ .4byte NavelRock_Exterior_MapAttributes
+ .4byte NavelRock_Exterior_MapEvents
+ .4byte NavelRock_Exterior_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_SEVII_ISLANDS
+ .2byte 421
+ .byte 211
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/NavelRock_Exterior/map.bin b/data/maps/NavelRock_Exterior/map.bin
new file mode 100644
index 000000000..9b3342a1a
--- /dev/null
+++ b/data/maps/NavelRock_Exterior/map.bin
Binary files differ
diff --git a/data/maps/NavelRock_Fork/border.bin b/data/maps/NavelRock_Fork/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/NavelRock_Fork/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/NavelRock_Fork/header.inc b/data/maps/NavelRock_Fork/header.inc
new file mode 100644
index 000000000..0bb1df72d
--- /dev/null
+++ b/data/maps/NavelRock_Fork/header.inc
@@ -0,0 +1,15 @@
+NavelRock_Fork: @ 84858E4
+ .4byte NavelRock_Fork_MapAttributes
+ .4byte NavelRock_Fork_MapEvents
+ .4byte NavelRock_Fork_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_MT_EMBER
+ .2byte 428
+ .byte 211
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 12
+ .byte 0
+
diff --git a/data/maps/NavelRock_Fork/map.bin b/data/maps/NavelRock_Fork/map.bin
new file mode 100644
index 000000000..0b314cc16
--- /dev/null
+++ b/data/maps/NavelRock_Fork/map.bin
@@ -0,0 +1 @@
+2222222222222222222?22222222222222222222222222222222222222222222GGGGGGGGGG222GGGGGGGGGG2222222222222222222222222222222222222222222222222222222222222222222GGGGGGGGGG22222222222222222222222222222GGGGGGGGGG222222222222222222222222222222222222222222222222222222222GGGGGGGGGGGGGGGG \ No newline at end of file
diff --git a/data/maps/NavelRock_Harbor/header.inc b/data/maps/NavelRock_Harbor/header.inc
new file mode 100644
index 000000000..9af423363
--- /dev/null
+++ b/data/maps/NavelRock_Harbor/header.inc
@@ -0,0 +1,15 @@
+NavelRock_Harbor: @ 8485890
+ .4byte NavelRock_Harbor_MapAttributes
+ .4byte NavelRock_Harbor_MapEvents
+ .4byte NavelRock_Harbor_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_SEVII_ISLANDS
+ .2byte 405
+ .byte 211
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/NavelRock_Top/border.bin b/data/maps/NavelRock_Top/border.bin
new file mode 100644
index 000000000..8d839d092
--- /dev/null
+++ b/data/maps/NavelRock_Top/border.bin
@@ -0,0 +1 @@
+<<<< \ No newline at end of file
diff --git a/data/maps/NavelRock_Top/header.inc b/data/maps/NavelRock_Top/header.inc
new file mode 100644
index 000000000..691bdd2a6
--- /dev/null
+++ b/data/maps/NavelRock_Top/header.inc
@@ -0,0 +1,15 @@
+NavelRock_Top: @ 8485970
+ .4byte NavelRock_Top_MapAttributes
+ .4byte NavelRock_Top_MapEvents
+ .4byte NavelRock_Top_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_MT_EMBER
+ .2byte 423
+ .byte 211
+ .byte 0
+ .byte 11
+ .byte 4
+ .2byte 0
+ .byte 12
+ .byte 0
+
diff --git a/data/maps/NavelRock_Top/map.bin b/data/maps/NavelRock_Top/map.bin
new file mode 100644
index 000000000..fce085ae6
--- /dev/null
+++ b/data/maps/NavelRock_Top/map.bin
@@ -0,0 +1 @@
+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<PQ3R<<<<<<<<<<<<<<<<<<<<<P2R<<<<<<<<<<<<<<<<<<<P2R<<<<<<<<<<<<<<<<<<X2Z<<<<<<<<<<<<<<<<<<X2Z<<<<<<<<<<<<<<<<<<X2Z<<<<<<<<<<<<<<<<<<X2Z<<<<<<<<<<<<<<<<<<X22222Z<<<<<<<<<<<<<<<<CDp22222rDE<<<<<<<<<<<<CDFLp22222rLGDE<<<<<<<<<CF[\\p22222r\\]GE<<<<<<<CFLcLLp222?22rLLeLGE<<<<<CFL[FLLp22222rLLG]LGE<<DDFL[FLLLLLLG]LGDD\\\\F[\\\\\]LG\\\\LL[\\FLLLLLGG]LLLLL[FLLLL[\lllll\]LLG]LLLFFLLLL[FLlllllLG]LLG\\\LLLL[\FLLlllllLLGG]LLLL \ No newline at end of file
diff --git a/data/maps/NavelRock_Up1/border.bin b/data/maps/NavelRock_Up1/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/NavelRock_Up1/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/NavelRock_Up1/header.inc b/data/maps/NavelRock_Up1/header.inc
new file mode 100644
index 000000000..37ee4bdcd
--- /dev/null
+++ b/data/maps/NavelRock_Up1/header.inc
@@ -0,0 +1,15 @@
+NavelRock_Up1: @ 8485900
+ .4byte NavelRock_Up1_MapAttributes
+ .4byte NavelRock_Up1_MapEvents
+ .4byte NavelRock_Up1_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_MT_EMBER
+ .2byte 425
+ .byte 211
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 12
+ .byte 0
+
diff --git a/data/maps/NavelRock_Up1/map.bin b/data/maps/NavelRock_Up1/map.bin
new file mode 100644
index 000000000..c2951c043
--- /dev/null
+++ b/data/maps/NavelRock_Up1/map.bin
@@ -0,0 +1 @@
+22222222?2GGGGGGGGGGGG \ No newline at end of file
diff --git a/data/maps/NavelRock_Up2/border.bin b/data/maps/NavelRock_Up2/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/NavelRock_Up2/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/NavelRock_Up2/header.inc b/data/maps/NavelRock_Up2/header.inc
new file mode 100644
index 000000000..4ce083ea7
--- /dev/null
+++ b/data/maps/NavelRock_Up2/header.inc
@@ -0,0 +1,15 @@
+NavelRock_Up2: @ 848591C
+ .4byte NavelRock_Up2_MapAttributes
+ .4byte NavelRock_Up2_MapEvents
+ .4byte NavelRock_Up2_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_MT_EMBER
+ .2byte 426
+ .byte 211
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 12
+ .byte 0
+
diff --git a/data/maps/NavelRock_Up2/map.bin b/data/maps/NavelRock_Up2/map.bin
new file mode 100644
index 000000000..47dd37b93
--- /dev/null
+++ b/data/maps/NavelRock_Up2/map.bin
@@ -0,0 +1 @@
+?22V22^22fGGGGGGGGGGGG \ No newline at end of file
diff --git a/data/maps/NavelRock_Up3/header.inc b/data/maps/NavelRock_Up3/header.inc
new file mode 100644
index 000000000..c683f402c
--- /dev/null
+++ b/data/maps/NavelRock_Up3/header.inc
@@ -0,0 +1,15 @@
+NavelRock_Up3: @ 8485938
+ .4byte NavelRock_Up3_MapAttributes
+ .4byte NavelRock_Up3_MapEvents
+ .4byte NavelRock_Up3_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_MT_EMBER
+ .2byte 425
+ .byte 211
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 12
+ .byte 0
+
diff --git a/data/maps/NavelRock_Up4/header.inc b/data/maps/NavelRock_Up4/header.inc
new file mode 100644
index 000000000..2ef111cfd
--- /dev/null
+++ b/data/maps/NavelRock_Up4/header.inc
@@ -0,0 +1,15 @@
+NavelRock_Up4: @ 8485954
+ .4byte NavelRock_Up4_MapAttributes
+ .4byte NavelRock_Up4_MapEvents
+ .4byte NavelRock_Up4_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRLG_MT_EMBER
+ .2byte 426
+ .byte 211
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 12
+ .byte 0
+
diff --git a/data/maps/NewMauville_Entrance/border.bin b/data/maps/NewMauville_Entrance/border.bin
new file mode 100644
index 000000000..4531975c7
--- /dev/null
+++ b/data/maps/NewMauville_Entrance/border.bin
Binary files differ
diff --git a/data/maps/NewMauville_Entrance/header.inc b/data/maps/NewMauville_Entrance/header.inc
new file mode 100644
index 000000000..21263d9f7
--- /dev/null
+++ b/data/maps/NewMauville_Entrance/header.inc
@@ -0,0 +1,15 @@
+NewMauville_Entrance: @ 8484470
+ .4byte NewMauville_Entrance_MapAttributes
+ .4byte NewMauville_Entrance_MapEvents
+ .4byte NewMauville_Entrance_MapScripts
+ .4byte 0x0
+ .2byte BGM_M_DUNGON
+ .2byte 184
+ .byte 62
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/NewMauville_Entrance/map.bin b/data/maps/NewMauville_Entrance/map.bin
new file mode 100644
index 000000000..1e3f471e8
--- /dev/null
+++ b/data/maps/NewMauville_Entrance/map.bin
@@ -0,0 +1 @@
+t||||ut2suu33333suu33333suu33333suu33333suu33333suslllllll \ No newline at end of file
diff --git a/data/maps/NewMauville_Inside/border.bin b/data/maps/NewMauville_Inside/border.bin
new file mode 100644
index 000000000..064786e8c
--- /dev/null
+++ b/data/maps/NewMauville_Inside/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/NewMauville_Inside/header.inc b/data/maps/NewMauville_Inside/header.inc
new file mode 100644
index 000000000..5784acd35
--- /dev/null
+++ b/data/maps/NewMauville_Inside/header.inc
@@ -0,0 +1,15 @@
+NewMauville_Inside: @ 848448C
+ .4byte NewMauville_Inside_MapAttributes
+ .4byte NewMauville_Inside_MapEvents
+ .4byte NewMauville_Inside_MapScripts
+ .4byte 0x0
+ .2byte BGM_M_DUNGON
+ .2byte 185
+ .byte 62
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/NewMauville_Inside/map.bin b/data/maps/NewMauville_Inside/map.bin
new file mode 100644
index 000000000..78d1e39ce
--- /dev/null
+++ b/data/maps/NewMauville_Inside/map.bin
@@ -0,0 +1 @@
+hjhjp'''''rp''rpu222u2/2/26/22222u2226u22266rp}22727272726727222'''''''}222266}26666}2266rp}2'''''''}22/2/2/2/2/26/2/2/2~22222/2~26666}222/2rh}2jp}22727272727267272222222222/2/2/2~2222rp'}2rp}2''''''''}22222222>22222rpu22/2~2222rh}2jp}22222222222ry2o2222o272p}2'rxy27272727272727272727272727272zp'w}2w'rp2/2~22/222r'''''''''''''''pu2/2/2~22/2/2rp}262222.22rp}2.2222622rxy2727272727272zy2722227272'''''''p}2''rhjp66u2~22/2/2rp''''rp66}22222rpu222u2/2222u26622rpu2/2~22222}22222222}266}22rp}222222'}22222222}22/2~22rp2222222/26/2~222222222~2222.2rpX6266222726222272727272272o27272o272pX62222''}22'''''w''ry2o272o272o272p}222/2/2/2/2u2/2/2/222rp'w'wwrp}22226222}222222`''ajpu2/2/2/22/22rp}222222}222222'u222/222'''rp}2227222272722222222/26/2~2222222/2/2/2rp6222''}2'}22222726222222227222rp2622222/26/2/2/2/2~2222u2/2~2222''}222222'}2rp2222227262222222}222222rxy27272727272zp}2rp222''}222222~222222r''''''p}2rxy222227272zxy272727272727272727272727272zp}2r'}22''''''''''''''''p}2rp}22rp}2rp}22rhjh\n]p}2rp}22rp'rpv2a}2rp}2222u22222222/2/2/222}2rp}22'''}22}2222'''}22222222226/2~2rp}222/22222/2/2/2~22}2.2222/26/2/2/2~22222o2727272267272zxy27272727272727272722222~22222726727222222w''''''''''''''}2222222''''}222622/222/2rxy2727272727272zxy27272727272727272z'''''''''''''''' \ No newline at end of file
diff --git a/data/maps/OldaleTown/border.bin b/data/maps/OldaleTown/border.bin
new file mode 100644
index 000000000..03bcafef1
--- /dev/null
+++ b/data/maps/OldaleTown/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/OldaleTown/connections.inc b/data/maps/OldaleTown/connections.inc
new file mode 100644
index 000000000..f6b5336bb
--- /dev/null
+++ b/data/maps/OldaleTown/connections.inc
@@ -0,0 +1,9 @@
+OldaleTown_MapConnectionsList: @ 8486614
+ connection up, 0, ROUTE_103, 0
+ connection down, 0, ROUTE_101, 0
+ connection left, 0, ROUTE_102, 0
+
+OldaleTown_MapConnections: @ 8486638
+ .4byte 0x3
+ .4byte OldaleTown_MapConnectionsList
+
diff --git a/data/maps/OldaleTown/header.inc b/data/maps/OldaleTown/header.inc
new file mode 100644
index 000000000..e000987db
--- /dev/null
+++ b/data/maps/OldaleTown/header.inc
@@ -0,0 +1,15 @@
+OldaleTown: @ 84825D0
+ .4byte OldaleTown_MapAttributes
+ .4byte OldaleTown_MapEvents
+ .4byte OldaleTown_MapScripts
+ .4byte OldaleTown_MapConnections
+ .2byte BGM_MACHI_S4
+ .2byte 11
+ .byte 1
+ .byte 0
+ .byte 2
+ .byte 1
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/OldaleTown/map.bin b/data/maps/OldaleTown/map.bin
new file mode 100644
index 000000000..28b17c441
--- /dev/null
+++ b/data/maps/OldaleTown/map.bin
@@ -0,0 +1 @@
+01101110000011110000000011110(0)0)000l2m2m2n2111100123000tuuv1111189:;000|}~11111`ABC00011111111110001111000111111100111111001111111020111111100011111100211111111111111110110001111111111000000H0I02211111l2m2m2n2000PQRS11110tuuv110XYZ[11110|}~0`abc1111000011111000011000111110000111x211111111 \ No newline at end of file
diff --git a/data/maps/OldaleTown_House1/border.bin b/data/maps/OldaleTown_House1/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/OldaleTown_House1/border.bin
Binary files differ
diff --git a/data/maps/OldaleTown_House1/header.inc b/data/maps/OldaleTown_House1/header.inc
new file mode 100644
index 000000000..f39cc9a39
--- /dev/null
+++ b/data/maps/OldaleTown_House1/header.inc
@@ -0,0 +1,15 @@
+OldaleTown_House1: @ 8482B80
+ .4byte OldaleTown_House1_MapAttributes
+ .4byte OldaleTown_House1_MapEvents
+ .4byte OldaleTown_House1_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S4
+ .2byte 59
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/OldaleTown_House1/map.bin b/data/maps/OldaleTown_House1/map.bin
new file mode 100644
index 000000000..ea185484d
--- /dev/null
+++ b/data/maps/OldaleTown_House1/map.bin
@@ -0,0 +1 @@
+yz   222222$2$2$2$29252626262626272#2#292=H6I62>2>2?2#2#292=P6Q62>2>2?2#2#292E2F2F2F2F2F2G2#2#292#2#2#2#2#2#2#2#2"292#2#2 #2#2#2#2*6 \ No newline at end of file
diff --git a/data/maps/OldaleTown_House2/border.bin b/data/maps/OldaleTown_House2/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/OldaleTown_House2/border.bin
Binary files differ
diff --git a/data/maps/OldaleTown_House2/header.inc b/data/maps/OldaleTown_House2/header.inc
new file mode 100644
index 000000000..8c88814f1
--- /dev/null
+++ b/data/maps/OldaleTown_House2/header.inc
@@ -0,0 +1,15 @@
+OldaleTown_House2: @ 8482B9C
+ .4byte OldaleTown_House2_MapAttributes
+ .4byte OldaleTown_House2_MapEvents
+ .4byte OldaleTown_House2_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S4
+ .2byte 60
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/OldaleTown_House2/map.bin b/data/maps/OldaleTown_House2/map.bin
new file mode 100644
index 000000000..0e9f07964
--- /dev/null
+++ b/data/maps/OldaleTown_House2/map.bin
@@ -0,0 +1 @@
+0x   hlm2282$2$2$2$2p2t2u2292#2#2#2#2#2#2#2#2#2#292#2#2#2+2JK,2#2#2#292#2#2#2+2RS,2#2#2#22#2#2#2#2#2#2#2#2#2"2#2#2 #2#2#2#2#2* \ No newline at end of file
diff --git a/data/maps/OldaleTown_Mart/border.bin b/data/maps/OldaleTown_Mart/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/OldaleTown_Mart/border.bin
Binary files differ
diff --git a/data/maps/OldaleTown_Mart/header.inc b/data/maps/OldaleTown_Mart/header.inc
new file mode 100644
index 000000000..e2ac903a3
--- /dev/null
+++ b/data/maps/OldaleTown_Mart/header.inc
@@ -0,0 +1,15 @@
+OldaleTown_Mart: @ 8482BF0
+ .4byte OldaleTown_Mart_MapAttributes
+ .4byte OldaleTown_Mart_MapEvents
+ .4byte OldaleTown_Mart_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRIENDLY
+ .2byte 63
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/OldaleTown_Mart/map.bin b/data/maps/OldaleTown_Mart/map.bin
new file mode 100644
index 000000000..08f393264
--- /dev/null
+++ b/data/maps/OldaleTown_Mart/map.bin
@@ -0,0 +1,3 @@
+"#$#$D*()() 222 2220212!212%292:2222222- AB222+,22+
+22222234223
+222222;<22;222222222 \ No newline at end of file
diff --git a/data/maps/OldaleTown_PokemonCenter_1F/border.bin b/data/maps/OldaleTown_PokemonCenter_1F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/OldaleTown_PokemonCenter_1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/OldaleTown_PokemonCenter_1F/header.inc b/data/maps/OldaleTown_PokemonCenter_1F/header.inc
new file mode 100644
index 000000000..1d14d924d
--- /dev/null
+++ b/data/maps/OldaleTown_PokemonCenter_1F/header.inc
@@ -0,0 +1,15 @@
+OldaleTown_PokemonCenter_1F: @ 8482BB8
+ .4byte OldaleTown_PokemonCenter_1F_MapAttributes
+ .4byte OldaleTown_PokemonCenter_1F_MapEvents
+ .4byte OldaleTown_PokemonCenter_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 61
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/OldaleTown_PokemonCenter_1F/map.bin b/data/maps/OldaleTown_PokemonCenter_1F/map.bin
new file mode 100644
index 000000000..5201dde15
--- /dev/null
+++ b/data/maps/OldaleTown_PokemonCenter_1F/map.bin
@@ -0,0 +1 @@
+ ij   JK   qrH"#RSI22y2z2P*+2[Q$2222 2&2422X!!!Y<222'2 2222`2l2m2n2o22%222'222222021222322222'26B228292:2;2242=>'222222@2A2B2C22&2EF'2(2222222222&24276 \ No newline at end of file
diff --git a/data/maps/OldaleTown_PokemonCenter_2F/border.bin b/data/maps/OldaleTown_PokemonCenter_2F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/OldaleTown_PokemonCenter_2F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/OldaleTown_PokemonCenter_2F/header.inc b/data/maps/OldaleTown_PokemonCenter_2F/header.inc
new file mode 100644
index 000000000..5417fb67b
--- /dev/null
+++ b/data/maps/OldaleTown_PokemonCenter_2F/header.inc
@@ -0,0 +1,15 @@
+OldaleTown_PokemonCenter_2F: @ 8482BD4
+ .4byte OldaleTown_PokemonCenter_2F_MapAttributes
+ .4byte OldaleTown_PokemonCenter_2F_MapEvents
+ .4byte OldaleTown_PokemonCenter_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 62
+ .byte 1
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/OldaleTown_PokemonCenter_2F/map.bin b/data/maps/OldaleTown_PokemonCenter_2F/map.bin
new file mode 100644
index 000000000..c623d86fc
--- /dev/null
+++ b/data/maps/OldaleTown_PokemonCenter_2F/map.bin
@@ -0,0 +1 @@
+  ? \  ?\  ?Gd6Gd6G2O2Ob2]]/2 2l2l22a22l2<2l2/222222222g2222g2DB2222222222'22222222222222'2 22222^2^222^2^222'2(622422ff42&2ff&24276 \ No newline at end of file
diff --git a/data/maps/PacifidlogTown/border.bin b/data/maps/PacifidlogTown/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/PacifidlogTown/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/PacifidlogTown/connections.inc b/data/maps/PacifidlogTown/connections.inc
new file mode 100644
index 000000000..fcbdec008
--- /dev/null
+++ b/data/maps/PacifidlogTown/connections.inc
@@ -0,0 +1,8 @@
+PacifidlogTown_MapConnectionsList: @ 84866B4
+ connection left, 0, ROUTE_132, 0
+ connection right, 0, ROUTE_131, 0
+
+PacifidlogTown_MapConnections: @ 84866CC
+ .4byte 0x2
+ .4byte PacifidlogTown_MapConnectionsList
+
diff --git a/data/maps/PacifidlogTown/header.inc b/data/maps/PacifidlogTown/header.inc
new file mode 100644
index 000000000..d883ed7d7
--- /dev/null
+++ b/data/maps/PacifidlogTown/header.inc
@@ -0,0 +1,15 @@
+PacifidlogTown: @ 848265C
+ .4byte PacifidlogTown_MapAttributes
+ .4byte PacifidlogTown_MapEvents
+ .4byte PacifidlogTown_MapScripts
+ .4byte PacifidlogTown_MapConnections
+ .2byte BGM_MINAMO
+ .2byte 16
+ .byte 6
+ .byte 0
+ .byte 2
+ .byte 1
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/PacifidlogTown/map.bin b/data/maps/PacifidlogTown/map.bin
new file mode 100644
index 000000000..02c1454bb
--- /dev/null
+++ b/data/maps/PacifidlogTown/map.bin
@@ -0,0 +1,6 @@
+qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqt||qqqqqqqqqqqqqt||}q{qqqqqqqqqqt|}qqq{q{y|||||||||}qqt||{|qqqqqqt||}qt{{y|||||}t|}{}pppppuv 
+  pppppppppppp}~22ppppppppp 
+  p22pp0123ppp22p2!2!2!22pPQRS p22p 2!2!2!2$2p2XYZ[2p 2!2!2!2$2p())*2,p2HabK2p()*2),ppX2p2!2!2!22pX2ppp`2P2Q2 2!2!2!2!2$2P2Q2P2Q2`2pp()*2)),pppppppppppppX2ppppp 
+  p 
+  pp`2ppppp22p22ppX2pppp22p22pp`2p 
+   2!2!2!2$2p 2!2!2!2$2ppX2p22()*2),()*2),`2p22ppX2ppppX2ppppX2p 2!2!2!2$2pp`2ppppp`2P2Q2P2Q2`2p()*2),ppX2ppppppppX2P2Q2P2Q2P2Q2P2Q2`2pppppppp`2pppppppppppuvpppppppppppppppppp}~ppppppppppppppuvppppr{{{{{{{{{{{{t}~pp{{qqqqklllllmq{{{{qqqqkllqqqqqlllmqqkllqqqqqqqqqqqqllqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq \ No newline at end of file
diff --git a/data/maps/PacifidlogTown_House1/border.bin b/data/maps/PacifidlogTown_House1/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/PacifidlogTown_House1/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/PacifidlogTown_House1/header.inc b/data/maps/PacifidlogTown_House1/header.inc
new file mode 100644
index 000000000..224d9da80
--- /dev/null
+++ b/data/maps/PacifidlogTown_House1/header.inc
@@ -0,0 +1,15 @@
+PacifidlogTown_House1: @ 8482F8C
+ .4byte PacifidlogTown_House1_MapAttributes
+ .4byte PacifidlogTown_House1_MapEvents
+ .4byte PacifidlogTown_House1_MapScripts
+ .4byte 0x0
+ .2byte BGM_MINAMO
+ .2byte 77
+ .byte 6
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/PacifidlogTown_House1/map.bin b/data/maps/PacifidlogTown_House1/map.bin
new file mode 100644
index 000000000..7865fdc7c
--- /dev/null
+++ b/data/maps/PacifidlogTown_House1/map.bin
@@ -0,0 +1 @@
+3333373333333333333333333333733333333333333333733333333373333337 \ No newline at end of file
diff --git a/data/maps/PacifidlogTown_House2/border.bin b/data/maps/PacifidlogTown_House2/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/PacifidlogTown_House2/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/PacifidlogTown_House2/header.inc b/data/maps/PacifidlogTown_House2/header.inc
new file mode 100644
index 000000000..aa005a306
--- /dev/null
+++ b/data/maps/PacifidlogTown_House2/header.inc
@@ -0,0 +1,15 @@
+PacifidlogTown_House2: @ 8482FA8
+ .4byte PacifidlogTown_House2_MapAttributes
+ .4byte PacifidlogTown_House2_MapEvents
+ .4byte PacifidlogTown_House2_MapScripts
+ .4byte 0x0
+ .2byte BGM_MINAMO
+ .2byte 78
+ .byte 6
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/PacifidlogTown_House2/map.bin b/data/maps/PacifidlogTown_House2/map.bin
new file mode 100644
index 000000000..617346322
--- /dev/null
+++ b/data/maps/PacifidlogTown_House2/map.bin
@@ -0,0 +1 @@
+3333333333733333333373333333333333333333333333333333333373333337 \ No newline at end of file
diff --git a/data/maps/PacifidlogTown_House3/header.inc b/data/maps/PacifidlogTown_House3/header.inc
new file mode 100644
index 000000000..6bfefd00a
--- /dev/null
+++ b/data/maps/PacifidlogTown_House3/header.inc
@@ -0,0 +1,15 @@
+PacifidlogTown_House3: @ 8482FC4
+ .4byte PacifidlogTown_House3_MapAttributes
+ .4byte PacifidlogTown_House3_MapEvents
+ .4byte PacifidlogTown_House3_MapScripts
+ .4byte 0x0
+ .2byte BGM_MINAMO
+ .2byte 77
+ .byte 6
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/PacifidlogTown_House4/header.inc b/data/maps/PacifidlogTown_House4/header.inc
new file mode 100644
index 000000000..fad1fa0e8
--- /dev/null
+++ b/data/maps/PacifidlogTown_House4/header.inc
@@ -0,0 +1,15 @@
+PacifidlogTown_House4: @ 8482FE0
+ .4byte PacifidlogTown_House4_MapAttributes
+ .4byte PacifidlogTown_House4_MapEvents
+ .4byte PacifidlogTown_House4_MapScripts
+ .4byte 0x0
+ .2byte BGM_MINAMO
+ .2byte 78
+ .byte 6
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/PacifidlogTown_House5/header.inc b/data/maps/PacifidlogTown_House5/header.inc
new file mode 100644
index 000000000..aab011d9b
--- /dev/null
+++ b/data/maps/PacifidlogTown_House5/header.inc
@@ -0,0 +1,15 @@
+PacifidlogTown_House5: @ 8482FFC
+ .4byte PacifidlogTown_House5_MapAttributes
+ .4byte PacifidlogTown_House5_MapEvents
+ .4byte PacifidlogTown_House5_MapScripts
+ .4byte 0x0
+ .2byte BGM_MINAMO
+ .2byte 77
+ .byte 6
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/PacifidlogTown_PokemonCenter_1F/header.inc b/data/maps/PacifidlogTown_PokemonCenter_1F/header.inc
new file mode 100644
index 000000000..ee83a387e
--- /dev/null
+++ b/data/maps/PacifidlogTown_PokemonCenter_1F/header.inc
@@ -0,0 +1,15 @@
+PacifidlogTown_PokemonCenter_1F: @ 8482F54
+ .4byte PacifidlogTown_PokemonCenter_1F_MapAttributes
+ .4byte PacifidlogTown_PokemonCenter_1F_MapEvents
+ .4byte PacifidlogTown_PokemonCenter_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 61
+ .byte 6
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/PacifidlogTown_PokemonCenter_2F/header.inc b/data/maps/PacifidlogTown_PokemonCenter_2F/header.inc
new file mode 100644
index 000000000..f2d6605d7
--- /dev/null
+++ b/data/maps/PacifidlogTown_PokemonCenter_2F/header.inc
@@ -0,0 +1,15 @@
+PacifidlogTown_PokemonCenter_2F: @ 8482F70
+ .4byte PacifidlogTown_PokemonCenter_2F_MapAttributes
+ .4byte PacifidlogTown_PokemonCenter_2F_MapEvents
+ .4byte PacifidlogTown_PokemonCenter_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 62
+ .byte 6
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/PetalburgCity/border.bin b/data/maps/PetalburgCity/border.bin
new file mode 100644
index 000000000..03bcafef1
--- /dev/null
+++ b/data/maps/PetalburgCity/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/PetalburgCity/connections.inc b/data/maps/PetalburgCity/connections.inc
new file mode 100644
index 000000000..4a75eea3a
--- /dev/null
+++ b/data/maps/PetalburgCity/connections.inc
@@ -0,0 +1,8 @@
+PetalburgCity_MapConnectionsList: @ 84866D4
+ connection left, -50, ROUTE_104, 0
+ connection right, 10, ROUTE_102, 0
+
+PetalburgCity_MapConnections: @ 84866EC
+ .4byte 0x2
+ .4byte PetalburgCity_MapConnectionsList
+
diff --git a/data/maps/PetalburgCity/header.inc b/data/maps/PetalburgCity/header.inc
new file mode 100644
index 000000000..a78619139
--- /dev/null
+++ b/data/maps/PetalburgCity/header.inc
@@ -0,0 +1,15 @@
+PetalburgCity: @ 84824B8
+ .4byte PetalburgCity_MapAttributes
+ .4byte PetalburgCity_MapEvents
+ .4byte gStdScripts_End
+ .4byte PetalburgCity_MapConnections
+ .2byte BGM_MACHI_S2
+ .2byte 1
+ .byte 7
+ .byte 0
+ .byte 2
+ .byte 2
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/PetalburgCity/map.bin b/data/maps/PetalburgCity/map.bin
new file mode 100644
index 000000000..35f0172ca
--- /dev/null
+++ b/data/maps/PetalburgCity/map.bin
@@ -0,0 +1,4 @@
+UNMNMNVD   
+F000LL55T  L??0 !"LLL001100LLL00 1"100LLL00 1"10<2fL111L5500 1"1deT0011101T00000P2Q2XY0000 1"1000000 1!1"110000000123550000 1"1000000 1!1"1000000089:;001111!1!1111111!1!1"10000000`ABC11(1)1)1)1)1R2S2)1)1)1)1)1)1!1"100H0I0J0K000110000000 1"100PQRS00 1"10000000 1"100XYZ[00 1"1050 0 0
+000 1"10`abc00 1"100000 1!111111111!1!1100 00 1!1)1)1)1)1)1)1)1)1)1)1*10055 !"00 1"1000000000111100020000 1"10<2=2=2=2=2=2=2>200000000 1"10D  
+EEF00000000 1"10LL110 1"10T L0 1"100 !"00L0 1!111111000L0(1)1)1)1)1)1*1000T11111111111100001111 \ No newline at end of file
diff --git a/data/maps/PetalburgCity_Gym/border.bin b/data/maps/PetalburgCity_Gym/border.bin
new file mode 100644
index 000000000..064786e8c
--- /dev/null
+++ b/data/maps/PetalburgCity_Gym/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/PetalburgCity_Gym/header.inc b/data/maps/PetalburgCity_Gym/header.inc
new file mode 100644
index 000000000..e3c7c3cf7
--- /dev/null
+++ b/data/maps/PetalburgCity_Gym/header.inc
@@ -0,0 +1,15 @@
+PetalburgCity_Gym: @ 8483034
+ .4byte PetalburgCity_Gym_MapAttributes
+ .4byte PetalburgCity_Gym_MapEvents
+ .4byte PetalburgCity_Gym_MapScripts
+ .4byte 0x0
+ .2byte BGM_GIM
+ .2byte 79
+ .byte 7
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/PetalburgCity_Gym/map.bin b/data/maps/PetalburgCity_Gym/map.bin
new file mode 100644
index 000000000..17d5ba980
--- /dev/null
+++ b/data/maps/PetalburgCity_Gym/map.bin
@@ -0,0 +1,10 @@
+()()
+01  01 2*234567*22 222;<=>?222 222222222 222222222 222222222 222222222
+        222222222 2A2B2C2D2E2F2G22 2I2J2K2L2M2N2O22 2Q2R2S2T2U2V2W22 2Y2Z2[2\2]2^2_22 222222222
+        222222222 2A2B2C2D2E2F2G22 2I2J2K2L2M2N2O22 2Q2R2S2T2U2V2W22 2Y2Z2[2\2]2^2_22 222222222
+        222222222 2ABCDEFG2 2IJKLMNO2 2QRSTUVW2 2YZ[\]^_2 222222222
+        222222222 22 22 22 22 222222222
+        222222222 22 22 22 22 222222222
+        222222222 22 22 22 22 222222222
+        222222222 22 22 22 22 222222222P
+  X    222222222,++++++++,++++++++,@+++++@2+,H++++H2,2+00+22 \ No newline at end of file
diff --git a/data/maps/PetalburgCity_House1/header.inc b/data/maps/PetalburgCity_House1/header.inc
new file mode 100644
index 000000000..38428c30a
--- /dev/null
+++ b/data/maps/PetalburgCity_House1/header.inc
@@ -0,0 +1,15 @@
+PetalburgCity_House1: @ 8483050
+ .4byte PetalburgCity_House1_MapAttributes
+ .4byte PetalburgCity_House1_MapEvents
+ .4byte PetalburgCity_House1_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S2
+ .2byte 59
+ .byte 7
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/PetalburgCity_House2/border.bin b/data/maps/PetalburgCity_House2/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/PetalburgCity_House2/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/PetalburgCity_House2/header.inc b/data/maps/PetalburgCity_House2/header.inc
new file mode 100644
index 000000000..07b4ee885
--- /dev/null
+++ b/data/maps/PetalburgCity_House2/header.inc
@@ -0,0 +1,15 @@
+PetalburgCity_House2: @ 848306C
+ .4byte PetalburgCity_House2_MapAttributes
+ .4byte PetalburgCity_House2_MapEvents
+ .4byte PetalburgCity_House2_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S2
+ .2byte 80
+ .byte 7
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/PetalburgCity_House2/map.bin b/data/maps/PetalburgCity_House2/map.bin
new file mode 100644
index 000000000..b91b7153b
--- /dev/null
+++ b/data/maps/PetalburgCity_House2/map.bin
@@ -0,0 +1 @@
+nohi    vwp2q2$2$2$2$2$2$2~22Z6[6#2#2#2#2#2#2#2,2b6c6#2#2#2#2#2#2LM92#2#2#2#2#2#2+2TU92#2#2#2#2#2#2#2#2#292#2#2 #2#2#2#2#2 \ No newline at end of file
diff --git a/data/maps/PetalburgCity_Mart/header.inc b/data/maps/PetalburgCity_Mart/header.inc
new file mode 100644
index 000000000..2e9f8df17
--- /dev/null
+++ b/data/maps/PetalburgCity_Mart/header.inc
@@ -0,0 +1,15 @@
+PetalburgCity_Mart: @ 84830C0
+ .4byte PetalburgCity_Mart_MapAttributes
+ .4byte PetalburgCity_Mart_MapEvents
+ .4byte PetalburgCity_Mart_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRIENDLY
+ .2byte 63
+ .byte 7
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/header.inc b/data/maps/PetalburgCity_PokemonCenter_1F/header.inc
new file mode 100644
index 000000000..fd59dc90e
--- /dev/null
+++ b/data/maps/PetalburgCity_PokemonCenter_1F/header.inc
@@ -0,0 +1,15 @@
+PetalburgCity_PokemonCenter_1F: @ 8483088
+ .4byte PetalburgCity_PokemonCenter_1F_MapAttributes
+ .4byte PetalburgCity_PokemonCenter_1F_MapEvents
+ .4byte PetalburgCity_PokemonCenter_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 61
+ .byte 7
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/PetalburgCity_PokemonCenter_2F/header.inc b/data/maps/PetalburgCity_PokemonCenter_2F/header.inc
new file mode 100644
index 000000000..53affa40f
--- /dev/null
+++ b/data/maps/PetalburgCity_PokemonCenter_2F/header.inc
@@ -0,0 +1,15 @@
+PetalburgCity_PokemonCenter_2F: @ 84830A4
+ .4byte PetalburgCity_PokemonCenter_2F_MapAttributes
+ .4byte PetalburgCity_PokemonCenter_2F_MapEvents
+ .4byte PetalburgCity_PokemonCenter_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 62
+ .byte 7
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/PetalburgCity_WallysHouse/header.inc b/data/maps/PetalburgCity_WallysHouse/header.inc
new file mode 100644
index 000000000..c54f5c32d
--- /dev/null
+++ b/data/maps/PetalburgCity_WallysHouse/header.inc
@@ -0,0 +1,15 @@
+PetalburgCity_WallysHouse: @ 8483018
+ .4byte PetalburgCity_WallysHouse_MapAttributes
+ .4byte PetalburgCity_WallysHouse_MapEvents
+ .4byte PetalburgCity_WallysHouse_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S2
+ .2byte 60
+ .byte 7
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/PetalburgWoods/border.bin b/data/maps/PetalburgWoods/border.bin
new file mode 100644
index 000000000..03bcafef1
--- /dev/null
+++ b/data/maps/PetalburgWoods/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/PetalburgWoods/header.inc b/data/maps/PetalburgWoods/header.inc
new file mode 100644
index 000000000..7eca96e6f
--- /dev/null
+++ b/data/maps/PetalburgWoods/header.inc
@@ -0,0 +1,15 @@
+PetalburgWoods: @ 8483FF4
+ .4byte PetalburgWoods_MapAttributes
+ .4byte PetalburgWoods_MapEvents
+ .4byte PetalburgWoods_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN01
+ .2byte 135
+ .byte 59
+ .byte 0
+ .byte 11
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/PetalburgWoods/map.bin b/data/maps/PetalburgWoods/map.bin
new file mode 100644
index 000000000..a032b4c43
--- /dev/null
+++ b/data/maps/PetalburgWoods/map.bin
@@ -0,0 +1 @@
+000000 0 0 0 0 0 0IIII000001111 0 0 000000000000005555 0 0 0000000000000000 0 0000000 0 0 0 04000000 0 0000000 0 0 0000 0 0 0 0 0 00000000 0 0 00111111 0 0000000 0 0 0 0 0 0 00000000000 0 0 0 0 0 0 0555555 0 0 000000000 0 0 0 0 0111111000011111111111111110000 0 00 0 0 05555550000555555555555555000 0 0 000000000100 0 0 00000500 0 0 0000 00000010 0 0 00 0 0 0 0 0 00000000000000000050 0 0 0 0 0 0 0 0 0 0000000 0 0 0 0000000000 0 0 0 0 0 0 0 0 000000 0 0 0 0 0 0 0 0 0000000 011111111000011111111110000005555555500005555555555000000000000 000000 000000 0 000000000 000000 0 0 00000000000000 0 0 0 0 0 0 0 000 0 0000000 0 0 0 0 00 0 0 00000000000 0 0 0 0 0 0000 0 0 00110 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0000000000000000 0 0 0 0550 0 0 0 0 0 0 0 0 0 0 0 0 0111111000000111111 0 0 0 011 0 0 0 011 0 0 0 0 0 0555000000555555 0 0 0 05 0 0 0 05 0 0 0 0 0 00000000 0 0 01111 0 0 0 0 0 0000 0 0 0 0 0 0 000000000000 0 0 0 0 0 0 0 0 040000000 0 0 0 0110 0 0 0 0 0 000000000 0 0 0 0 000005000000000000000 0 0 0 0 0 0 000000000 0 0 0 0 0 01111111100000011111111111111000 0 00 0 0500000055000 0 0 0 0 00000000000 0 011IIIIIIII5 \ No newline at end of file
diff --git a/data/maps/RecordCorner/border.bin b/data/maps/RecordCorner/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/RecordCorner/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/RecordCorner/header.inc b/data/maps/RecordCorner/header.inc
new file mode 100644
index 000000000..9fd5f13f5
--- /dev/null
+++ b/data/maps/RecordCorner/header.inc
@@ -0,0 +1,15 @@
+RecordCorner: @ 8484D68
+ .4byte RecordCorner_MapAttributes
+ .4byte RecordCorner_MapEvents
+ .4byte RecordCorner_MapScripts
+ .4byte 0x0
+ .2byte BGM_RAINBOW
+ .2byte 223
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/RecordCorner/map.bin b/data/maps/RecordCorner/map.bin
new file mode 100644
index 000000000..51dfb6e5a
--- /dev/null
+++ b/data/maps/RecordCorner/map.bin
@@ -0,0 +1 @@
+22222222222222222222222222222222222222222222222222222222222222222222"2"2"2"2 \ No newline at end of file
diff --git a/data/maps/Route101/border.bin b/data/maps/Route101/border.bin
new file mode 100644
index 000000000..03bcafef1
--- /dev/null
+++ b/data/maps/Route101/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Route101/connections.inc b/data/maps/Route101/connections.inc
new file mode 100644
index 000000000..aee630352
--- /dev/null
+++ b/data/maps/Route101/connections.inc
@@ -0,0 +1,8 @@
+Route101_MapConnectionsList: @ 848680C
+ connection up, 0, OLDALE_TOWN, 0
+ connection down, 0, LITTLEROOT_TOWN, 0
+
+Route101_MapConnections: @ 8486824
+ .4byte 0x2
+ .4byte Route101_MapConnectionsList
+
diff --git a/data/maps/Route101/header.inc b/data/maps/Route101/header.inc
new file mode 100644
index 000000000..dcab12376
--- /dev/null
+++ b/data/maps/Route101/header.inc
@@ -0,0 +1,15 @@
+Route101: @ 8482678
+ .4byte Route101_MapAttributes
+ .4byte Route101_MapEvents
+ .4byte Route101_MapScripts
+ .4byte Route101_MapConnections
+ .2byte BGM_DOORO1
+ .2byte 17
+ .byte 16
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route101/map.bin b/data/maps/Route101/map.bin
new file mode 100644
index 000000000..fab3a1d69
--- /dev/null
+++ b/data/maps/Route101/map.bin
@@ -0,0 +1 @@
+11101110 0 0 000000000 0 0 05 0 0 0 0000000 0 0 0 0 0 0 0 0 0 0000000 0 0 0 0 0 011 0 0 000000011 0 0 0 0 0 0 000n11 0 000000000011011000000001110001110 0 0011110111110 0 0 0 0 001110111110 0 0 0 0 0 00110011100 0 0 0 0 0 0000 0 0000011 0 0 0011 0 0 0 0 00000000 0 00011 0 0 0 00000001111 0 0 0 000000011111111000000 \ No newline at end of file
diff --git a/data/maps/Route102/border.bin b/data/maps/Route102/border.bin
new file mode 100644
index 000000000..03bcafef1
--- /dev/null
+++ b/data/maps/Route102/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Route102/connections.inc b/data/maps/Route102/connections.inc
new file mode 100644
index 000000000..7fa2d516f
--- /dev/null
+++ b/data/maps/Route102/connections.inc
@@ -0,0 +1,8 @@
+Route102_MapConnectionsList: @ 848682C
+ connection left, -10, PETALBURG_CITY, 0
+ connection right, 0, OLDALE_TOWN, 0
+
+Route102_MapConnections: @ 8486844
+ .4byte 0x2
+ .4byte Route102_MapConnectionsList
+
diff --git a/data/maps/Route102/header.inc b/data/maps/Route102/header.inc
new file mode 100644
index 000000000..79e726fe1
--- /dev/null
+++ b/data/maps/Route102/header.inc
@@ -0,0 +1,15 @@
+Route102: @ 8482694
+ .4byte Route102_MapAttributes
+ .4byte Route102_MapEvents
+ .4byte Route102_MapScripts
+ .4byte Route102_MapConnections
+ .2byte BGM_DOORO1
+ .2byte 18
+ .byte 17
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route102/map.bin b/data/maps/Route102/map.bin
new file mode 100644
index 000000000..7378bb44b
--- /dev/null
+++ b/data/maps/Route102/map.bin
@@ -0,0 +1 @@
+ 0 0 00000000000026620 0 0 0 0 0 0 000011110000011110 0 0 0 0 0 0 0 0 0 0 0 0 0011111111000000000000000 0 0 0 0 0 0 0 0 0 0 0 00111q2y211110000000000110000 0 0 0000 0 0 0 0 0 0 0011100111100000 0 00000 0 0 0 00001r210000 0 0 0 0 00110000000000000000000000000 0 0 0 0 0 0 00{00000000000001111111100000 0 0 0 0 0 0 00011000000000000011 0 0 0 0 0 000000000011110000000 0 0 0 000000000111111100011 0 000 0 0 00011000 0 0111111111000 0 01100011000 0 0 0 0111111101111 0 0 0000000000 0 0 0 0 000111111000 0 0 001100 0 0 00000 0 0 0000111001111 0 0 0 00 0 0 0 0 0 0 0000000000000001111111111 0 0 00000011111111 0 0 0 0000011111111 \ No newline at end of file
diff --git a/data/maps/Route103/border.bin b/data/maps/Route103/border.bin
new file mode 100644
index 000000000..03bcafef1
--- /dev/null
+++ b/data/maps/Route103/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Route103/connections.inc b/data/maps/Route103/connections.inc
new file mode 100644
index 000000000..10d98cec7
--- /dev/null
+++ b/data/maps/Route103/connections.inc
@@ -0,0 +1,8 @@
+Route103_MapConnectionsList: @ 848684C
+ connection down, 0, OLDALE_TOWN, 0
+ connection right, -60, ROUTE_110, 0
+
+Route103_MapConnections: @ 8486864
+ .4byte 0x2
+ .4byte Route103_MapConnectionsList
+
diff --git a/data/maps/Route103/header.inc b/data/maps/Route103/header.inc
new file mode 100644
index 000000000..470cfbdc2
--- /dev/null
+++ b/data/maps/Route103/header.inc
@@ -0,0 +1,15 @@
+Route103: @ 84826B0
+ .4byte Route103_MapAttributes
+ .4byte Route103_MapEvents
+ .4byte Route103_MapScripts
+ .4byte Route103_MapConnections
+ .2byte BGM_DOORO1
+ .2byte 19
+ .byte 18
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route103/map.bin b/data/maps/Route103/map.bin
new file mode 100644
index 000000000..44518dc92
--- /dev/null
+++ b/data/maps/Route103/map.bin
@@ -0,0 +1 @@
+ppppppppppsq{sqqqt}qsqqqqqqqqqqqqqqqqqqqqqqqt|}qqquuvpppppppp{|s{qquqq{qqqqt|||||||qqqqqqqqt}qqqqqu000000 0 0 0 0 0 0}~pppppppps{sqquqt{||||}qtq{||||||||}qqqqqqu0001111 0 0 0 0 0ppppppuvPQpp{s{ququ{|||||}qqq{|||||||} 0 0000111100 0 0 0 0 0puvppp}~XYpps{{|}t}tyyy 0 0 0 04444444o4 0 0 0 0dQpp}~uvPQpppuvPesq{|||}qr0000000K1L5L5L5M10000 0 0 0 0 0 0 000004444444lYuvpp}~XYppp}~Xm{|yz011111000000 0 0 0 0 0 0 000000000000p}~pppppppppppp0000000000000000000000 0 0 0 0 0 0 00000111110000pppppppppppppppppp000000000000000000011 0 0 0 0 00040111111000ppppppppppppppppppppppppp000000000000000111 0 0 0 000000001111000ppppppppppppppppppppppppp011110000000000011!1!1)1 0 0 0 0000000 0 0 0 00000ppppppppppppppppppppppppp0(1)1!1!1111100000011!1!1)1*104444444444 0 0 0 0 000000yppppppppppppppppppppppp000(1)1)1)1!1!1111111111111111!1!1)1*1000000000 0 0 0 0 0 0 0111111dQPQppppppppppuvppppp0000000(1)1)1)1)1)1)1)1)1)1)1)1)1)1)1)1)1)1*100000000000 0 0 0 0 0 0 05555lYXYuvppppPQPQ}~puvpx00000000000000000000000001100000011111122yp}~uvPQXYXYpPQ}~Pe0000000000000005ppp}~XYpppppXYppXm000000000110000uvppppppppppppppp000000000550000}~ppppppppppppppx00000pppppppppppppppp550000pppppppppppppppp0000pppppppppppppppp \ No newline at end of file
diff --git a/data/maps/Route104/border.bin b/data/maps/Route104/border.bin
new file mode 100644
index 000000000..03bcafef1
--- /dev/null
+++ b/data/maps/Route104/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Route104/connections.inc b/data/maps/Route104/connections.inc
new file mode 100644
index 000000000..0486aba98
--- /dev/null
+++ b/data/maps/Route104/connections.inc
@@ -0,0 +1,9 @@
+Route104_MapConnectionsList: @ 848686C
+ connection up, 0, RUSTBORO_CITY, 0
+ connection down, 0, ROUTE_105, 0
+ connection right, 50, PETALBURG_CITY, 0
+
+Route104_MapConnections: @ 8486890
+ .4byte 0x3
+ .4byte Route104_MapConnectionsList
+
diff --git a/data/maps/Route104/header.inc b/data/maps/Route104/header.inc
new file mode 100644
index 000000000..7efc69c08
--- /dev/null
+++ b/data/maps/Route104/header.inc
@@ -0,0 +1,15 @@
+Route104: @ 84826CC
+ .4byte Route104_MapAttributes
+ .4byte Route104_MapEvents
+ .4byte Route104_MapScripts
+ .4byte Route104_MapConnections
+ .2byte BGM_NEXTROAD
+ .2byte 20
+ .byte 19
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route104/map.bin b/data/maps/Route104/map.bin
new file mode 100644
index 000000000..7731bc31c
--- /dev/null
+++ b/data/maps/Route104/map.bin
Binary files differ
diff --git a/data/maps/Route104_MrBrineysHouse/border.bin b/data/maps/Route104_MrBrineysHouse/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/Route104_MrBrineysHouse/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Route104_MrBrineysHouse/header.inc b/data/maps/Route104_MrBrineysHouse/header.inc
new file mode 100644
index 000000000..cc7767bc4
--- /dev/null
+++ b/data/maps/Route104_MrBrineysHouse/header.inc
@@ -0,0 +1,15 @@
+Route104_MrBrineysHouse: @ 8483D70
+ .4byte Route104_MrBrineysHouse_MapAttributes
+ .4byte Route104_MrBrineysHouse_MapEvents
+ .4byte Route104_MrBrineysHouse_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S2
+ .2byte 102
+ .byte 19
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route104_MrBrineysHouse/map.bin b/data/maps/Route104_MrBrineysHouse/map.bin
new file mode 100644
index 000000000..7660fd5d7
--- /dev/null
+++ b/data/maps/Route104_MrBrineysHouse/map.bin
@@ -0,0 +1 @@
+222!22!2!22222266)2)2)2)2)2)2)2)2)2)26)2)2)2)2)2)2NO)2)2)2!2)2)2)2)2)2)2VWD2)2)2!2)2)2)2)2)2)2)2)2)2)2)2 333333333333#3333333333 \ No newline at end of file
diff --git a/data/maps/Route104_PrettyPetalFlowerShop/border.bin b/data/maps/Route104_PrettyPetalFlowerShop/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/Route104_PrettyPetalFlowerShop/border.bin
Binary files differ
diff --git a/data/maps/Route104_PrettyPetalFlowerShop/header.inc b/data/maps/Route104_PrettyPetalFlowerShop/header.inc
new file mode 100644
index 000000000..b7a8a4a18
--- /dev/null
+++ b/data/maps/Route104_PrettyPetalFlowerShop/header.inc
@@ -0,0 +1,15 @@
+Route104_PrettyPetalFlowerShop: @ 8483D8C
+ .4byte Route104_PrettyPetalFlowerShop_MapAttributes
+ .4byte Route104_PrettyPetalFlowerShop_MapEvents
+ .4byte Route104_PrettyPetalFlowerShop_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S2
+ .2byte 117
+ .byte 19
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route104_PrettyPetalFlowerShop/map.bin b/data/maps/Route104_PrettyPetalFlowerShop/map.bin
new file mode 100644
index 000000000..d34ff5c1a
--- /dev/null
+++ b/data/maps/Route104_PrettyPetalFlowerShop/map.bin
Binary files differ
diff --git a/data/maps/Route104_Prototype/border.bin b/data/maps/Route104_Prototype/border.bin
new file mode 100644
index 000000000..03bcafef1
--- /dev/null
+++ b/data/maps/Route104_Prototype/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Route104_Prototype/header.inc b/data/maps/Route104_Prototype/header.inc
new file mode 100644
index 000000000..5848bf3fd
--- /dev/null
+++ b/data/maps/Route104_Prototype/header.inc
@@ -0,0 +1,15 @@
+Route104_Prototype: @ 8485AF8
+ .4byte Route104_Prototype_MapAttributes
+ .4byte Route104_Prototype_MapEvents
+ .4byte Route104_Prototype_MapScripts
+ .4byte 0x0
+ .2byte BGM_NEXTROAD
+ .2byte 287
+ .byte 19
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 8
+ .byte 0
+
diff --git a/data/maps/Route104_Prototype/map.bin b/data/maps/Route104_Prototype/map.bin
new file mode 100644
index 000000000..71bd63e62
--- /dev/null
+++ b/data/maps/Route104_Prototype/map.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Route104_PrototypePrettyPetalFlowerShop/header.inc b/data/maps/Route104_PrototypePrettyPetalFlowerShop/header.inc
new file mode 100644
index 000000000..39e57f344
--- /dev/null
+++ b/data/maps/Route104_PrototypePrettyPetalFlowerShop/header.inc
@@ -0,0 +1,15 @@
+Route104_PrototypePrettyPetalFlowerShop: @ 8485B14
+ .4byte Route104_PrototypePrettyPetalFlowerShop_MapAttributes
+ .4byte Route104_PrototypePrettyPetalFlowerShop_MapEvents
+ .4byte Route104_PrototypePrettyPetalFlowerShop_MapScripts
+ .4byte 0x0
+ .2byte BGM_NEXTROAD
+ .2byte 117
+ .byte 19
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 8
+ .byte 0
+
diff --git a/data/maps/Route105/border.bin b/data/maps/Route105/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/Route105/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/Route105/connections.inc b/data/maps/Route105/connections.inc
new file mode 100644
index 000000000..44357db1e
--- /dev/null
+++ b/data/maps/Route105/connections.inc
@@ -0,0 +1,9 @@
+Route105_MapConnectionsList: @ 8486898
+ connection up, 0, ROUTE_104, 0
+ connection down, 0, ROUTE_106, 0
+ connection dive, 0, UNDERWATER_6, 0
+
+Route105_MapConnections: @ 84868BC
+ .4byte 0x3
+ .4byte Route105_MapConnectionsList
+
diff --git a/data/maps/Route105/header.inc b/data/maps/Route105/header.inc
new file mode 100644
index 000000000..1df88f877
--- /dev/null
+++ b/data/maps/Route105/header.inc
@@ -0,0 +1,15 @@
+Route105: @ 84826E8
+ .4byte Route105_MapAttributes
+ .4byte Route105_MapEvents
+ .4byte Route105_MapScripts
+ .4byte Route105_MapConnections
+ .2byte BGM_NEXTROAD
+ .2byte 21
+ .byte 20
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route105/map.bin b/data/maps/Route105/map.bin
new file mode 100644
index 000000000..c4bd8286c
--- /dev/null
+++ b/data/maps/Route105/map.bin
Binary files differ
diff --git a/data/maps/Route106/border.bin b/data/maps/Route106/border.bin
new file mode 100644
index 000000000..281762f5b
--- /dev/null
+++ b/data/maps/Route106/border.bin
@@ -0,0 +1 @@
+CCCC \ No newline at end of file
diff --git a/data/maps/Route106/connections.inc b/data/maps/Route106/connections.inc
new file mode 100644
index 000000000..a3b16c452
--- /dev/null
+++ b/data/maps/Route106/connections.inc
@@ -0,0 +1,8 @@
+Route106_MapConnectionsList: @ 84868C4
+ connection up, 0, ROUTE_105, 0
+ connection down, 60, DEWFORD_TOWN, 0
+
+Route106_MapConnections: @ 84868DC
+ .4byte 0x2
+ .4byte Route106_MapConnectionsList
+
diff --git a/data/maps/Route106/header.inc b/data/maps/Route106/header.inc
new file mode 100644
index 000000000..1e944a5b9
--- /dev/null
+++ b/data/maps/Route106/header.inc
@@ -0,0 +1,15 @@
+Route106: @ 8482704
+ .4byte Route106_MapAttributes
+ .4byte Route106_MapEvents
+ .4byte Route106_MapScripts
+ .4byte Route106_MapConnections
+ .2byte BGM_NEXTROAD
+ .2byte 22
+ .byte 21
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route106/map.bin b/data/maps/Route106/map.bin
new file mode 100644
index 000000000..b7e7d7238
--- /dev/null
+++ b/data/maps/Route106/map.bin
Binary files differ
diff --git a/data/maps/Route107/border.bin b/data/maps/Route107/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/Route107/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/Route107/connections.inc b/data/maps/Route107/connections.inc
new file mode 100644
index 000000000..2e17530d6
--- /dev/null
+++ b/data/maps/Route107/connections.inc
@@ -0,0 +1,8 @@
+Route107_MapConnectionsList: @ 84868E4
+ connection left, 0, DEWFORD_TOWN, 0
+ connection right, 0, ROUTE_108, 0
+
+Route107_MapConnections: @ 84868FC
+ .4byte 0x2
+ .4byte Route107_MapConnectionsList
+
diff --git a/data/maps/Route107/header.inc b/data/maps/Route107/header.inc
new file mode 100644
index 000000000..d508e2346
--- /dev/null
+++ b/data/maps/Route107/header.inc
@@ -0,0 +1,15 @@
+Route107: @ 8482720
+ .4byte Route107_MapAttributes
+ .4byte Route107_MapEvents
+ .4byte Route107_MapScripts
+ .4byte Route107_MapConnections
+ .2byte BGM_NEXTROAD
+ .2byte 23
+ .byte 22
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route107/map.bin b/data/maps/Route107/map.bin
new file mode 100644
index 000000000..521997b0f
--- /dev/null
+++ b/data/maps/Route107/map.bin
Binary files differ
diff --git a/data/maps/Route108/border.bin b/data/maps/Route108/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/Route108/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/Route108/connections.inc b/data/maps/Route108/connections.inc
new file mode 100644
index 000000000..1208a2138
--- /dev/null
+++ b/data/maps/Route108/connections.inc
@@ -0,0 +1,8 @@
+Route108_MapConnectionsList: @ 8486904
+ connection left, 0, ROUTE_107, 0
+ connection right, -40, ROUTE_109, 0
+
+Route108_MapConnections: @ 848691C
+ .4byte 0x2
+ .4byte Route108_MapConnectionsList
+
diff --git a/data/maps/Route108/header.inc b/data/maps/Route108/header.inc
new file mode 100644
index 000000000..d4542cb24
--- /dev/null
+++ b/data/maps/Route108/header.inc
@@ -0,0 +1,15 @@
+Route108: @ 848273C
+ .4byte Route108_MapAttributes
+ .4byte Route108_MapEvents
+ .4byte Route108_MapScripts
+ .4byte Route108_MapConnections
+ .2byte BGM_NEXTROAD
+ .2byte 24
+ .byte 23
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route108/map.bin b/data/maps/Route108/map.bin
new file mode 100644
index 000000000..138ddc020
--- /dev/null
+++ b/data/maps/Route108/map.bin
@@ -0,0 +1 @@
+ppppppppppppppppPQpp111111111111pppppppppppppPQpppppppppppPQppppppppppppppXYp11511^5_515^5_511bQppppppppppppXYpppppppppPQXY11pPQpppppppppPc^5_5155n5o551n5o555jYppp1111111pPQppuvpuvPQXYpPc^5_5bQXY11pPQppXkn5o5111^5_51Q3R3S3T35puvPc^5_51515bQXYpp}~p}~XYpppXkn5o5jYpPc^5_5bQXYuvpn5o5X7YZ[\7]p}~Xkn5o55151jYppPQpPQppppppppppXkn5o5jYpp}~pppppp1`abcdepppp1111pppXYpXYpppppppppppppppppppppppppppi3j3k3ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppuvppppppppppppppPQp11pppppppppppppppPQpppppppppppppppppppp}~ppppppppp11pXY1511ppppppppppppppXYpppppppppppppp111ppppPQppPQpp5ppp1511pp11ppppppPQppPQuvppppp11p51ppuvXYuvXYpppuvppPc^5_5bQpppppXYppXY}~uvppPc^5_5bQpPQ}~pp}~puvppPQp}~PQppPQuvXkn5o5jYppppPQppppppp}~PQXkn5o5jYpPQuvXYppppppp}~PQXYuvpXYPQXY}~ppPQPQXYpppppppppXYpPQXY}~pppPQppppppXYpp}~pppXYpppppPQpppXYXYppppppppppppppppppXYpppppppXYppppppppppppppppppppppXYppppppp \ No newline at end of file
diff --git a/data/maps/Route109/border.bin b/data/maps/Route109/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/Route109/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/Route109/connections.inc b/data/maps/Route109/connections.inc
new file mode 100644
index 000000000..8e1ff175f
--- /dev/null
+++ b/data/maps/Route109/connections.inc
@@ -0,0 +1,8 @@
+Route109_MapConnectionsList: @ 8486924
+ connection up, 0, SLATEPORT_CITY, 0
+ connection left, 40, ROUTE_108, 0
+
+Route109_MapConnections: @ 848693C
+ .4byte 0x2
+ .4byte Route109_MapConnectionsList
+
diff --git a/data/maps/Route109/header.inc b/data/maps/Route109/header.inc
new file mode 100644
index 000000000..749c52643
--- /dev/null
+++ b/data/maps/Route109/header.inc
@@ -0,0 +1,15 @@
+Route109: @ 8482758
+ .4byte Route109_MapAttributes
+ .4byte Route109_MapEvents
+ .4byte Route109_MapScripts
+ .4byte Route109_MapConnections
+ .2byte BGM_NEXTROAD
+ .2byte 25
+ .byte 24
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route109/map.bin b/data/maps/Route109/map.bin
new file mode 100644
index 000000000..62350867e
--- /dev/null
+++ b/data/maps/Route109/map.bin
Binary files differ
diff --git a/data/maps/Route109_SeashoreHouse/border.bin b/data/maps/Route109_SeashoreHouse/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/Route109_SeashoreHouse/border.bin
Binary files differ
diff --git a/data/maps/Route109_SeashoreHouse/header.inc b/data/maps/Route109_SeashoreHouse/header.inc
new file mode 100644
index 000000000..dd4b098e9
--- /dev/null
+++ b/data/maps/Route109_SeashoreHouse/header.inc
@@ -0,0 +1,15 @@
+Route109_SeashoreHouse: @ 8485B30
+ .4byte Route109_SeashoreHouse_MapAttributes
+ .4byte Route109_SeashoreHouse_MapEvents
+ .4byte Route109_SeashoreHouse_MapScripts
+ .4byte 0x0
+ .2byte BGM_HIGHTOWN
+ .2byte 243
+ .byte 24
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route109_SeashoreHouse/map.bin b/data/maps/Route109_SeashoreHouse/map.bin
new file mode 100644
index 000000000..cb7853a17
--- /dev/null
+++ b/data/maps/Route109_SeashoreHouse/map.bin
@@ -0,0 +1,3 @@
+./   67
+
+   22222'22222"2,2,2-2$2$2,2,2-2$2$2$2,2,2&2 %2%2%2%2%2!22*2222*2*2222*2*222 $2$2$2$2$2!22%2222%2%2222%2%222 *2*2*2*2*2*2*2*2*2*2*2!22%2%2%2%2%2%2%2%2%222 \ No newline at end of file
diff --git a/data/maps/Route110/border.bin b/data/maps/Route110/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/Route110/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/Route110/connections.inc b/data/maps/Route110/connections.inc
new file mode 100644
index 000000000..92a12b42a
--- /dev/null
+++ b/data/maps/Route110/connections.inc
@@ -0,0 +1,9 @@
+Route110_MapConnectionsList: @ 8486944
+ connection up, 0, MAUVILLE_CITY, 0
+ connection down, 0, SLATEPORT_CITY, 0
+ connection left, 60, ROUTE_103, 0
+
+Route110_MapConnections: @ 8486968
+ .4byte 0x3
+ .4byte Route110_MapConnectionsList
+
diff --git a/data/maps/Route110/header.inc b/data/maps/Route110/header.inc
new file mode 100644
index 000000000..ffbae7d28
--- /dev/null
+++ b/data/maps/Route110/header.inc
@@ -0,0 +1,15 @@
+Route110: @ 8482774
+ .4byte Route110_MapAttributes
+ .4byte Route110_MapEvents
+ .4byte Route110_MapScripts
+ .4byte Route110_MapConnections
+ .2byte BGM_DOORO_X1
+ .2byte 26
+ .byte 25
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route110/map.bin b/data/maps/Route110/map.bin
new file mode 100644
index 000000000..ac83cb93d
--- /dev/null
+++ b/data/maps/Route110/map.bin
Binary files differ
diff --git a/data/maps/Route110_SeasideCyclingRoadEntrance1/border.bin b/data/maps/Route110_SeasideCyclingRoadEntrance1/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/Route110_SeasideCyclingRoadEntrance1/border.bin
Binary files differ
diff --git a/data/maps/Route110_SeasideCyclingRoadEntrance1/header.inc b/data/maps/Route110_SeasideCyclingRoadEntrance1/header.inc
new file mode 100644
index 000000000..b11a4e74e
--- /dev/null
+++ b/data/maps/Route110_SeasideCyclingRoadEntrance1/header.inc
@@ -0,0 +1,15 @@
+Route110_SeasideCyclingRoadEntrance1: @ 8485C80
+ .4byte Route110_SeasideCyclingRoadEntrance1_MapAttributes
+ .4byte Route110_SeasideCyclingRoadEntrance1_MapEvents
+ .4byte Route110_SeasideCyclingRoadEntrance1_MapScripts
+ .4byte 0x0
+ .2byte BGM_FINECITY
+ .2byte 256
+ .byte 25
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 1
+ .byte 0
+
diff --git a/data/maps/Route110_SeasideCyclingRoadEntrance1/map.bin b/data/maps/Route110_SeasideCyclingRoadEntrance1/map.bin
new file mode 100644
index 000000000..e9fc770d4
--- /dev/null
+++ b/data/maps/Route110_SeasideCyclingRoadEntrance1/map.bin
@@ -0,0 +1 @@
+x2p2p2p2p2622226x2p2p2p22h2h2h2h26666662h2h2h2\2h2h2h2h2p2Y2Z2Y2Z2p2y2h2h2l2d6h2h2h2a6b6a6b6h2h2t6 \ No newline at end of file
diff --git a/data/maps/Route110_SeasideCyclingRoadEntrance2/header.inc b/data/maps/Route110_SeasideCyclingRoadEntrance2/header.inc
new file mode 100644
index 000000000..7102a670c
--- /dev/null
+++ b/data/maps/Route110_SeasideCyclingRoadEntrance2/header.inc
@@ -0,0 +1,15 @@
+Route110_SeasideCyclingRoadEntrance2: @ 8485C9C
+ .4byte Route110_SeasideCyclingRoadEntrance2_MapAttributes
+ .4byte Route110_SeasideCyclingRoadEntrance2_MapEvents
+ .4byte Route110_SeasideCyclingRoadEntrance2_MapScripts
+ .4byte 0x0
+ .2byte BGM_FINECITY
+ .2byte 256
+ .byte 25
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 1
+ .byte 0
+
diff --git a/data/maps/Route110_TrickHouseCorridor/border.bin b/data/maps/Route110_TrickHouseCorridor/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/Route110_TrickHouseCorridor/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Route110_TrickHouseCorridor/header.inc b/data/maps/Route110_TrickHouseCorridor/header.inc
new file mode 100644
index 000000000..c605c80b2
--- /dev/null
+++ b/data/maps/Route110_TrickHouseCorridor/header.inc
@@ -0,0 +1,15 @@
+Route110_TrickHouseCorridor: @ 8485B84
+ .4byte Route110_TrickHouseCorridor_MapAttributes
+ .4byte Route110_TrickHouseCorridor_MapEvents
+ .4byte Route110_TrickHouseCorridor_MapScripts
+ .4byte 0x0
+ .2byte BGM_KARAKURI
+ .2byte 246
+ .byte 25
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route110_TrickHouseCorridor/map.bin b/data/maps/Route110_TrickHouseCorridor/map.bin
new file mode 100644
index 000000000..8981d28bd
--- /dev/null
+++ b/data/maps/Route110_TrickHouseCorridor/map.bin
@@ -0,0 +1 @@
+2!2!2!2!2!2!2!2!2!2!22!2)2)2)2)2)2)2)2)2)2)2)2!2)2)2!2)2)2!2)2)2!2)2)22!22!2)2)2!2)2)2)2)2)2!2)2)2)2)2)2!2)2)2!2)2)2!2)2)2!2)2)2!2)2)2!2)2)2!2)2)2!2)2)2!2)2)2!2)2)2!2)2)2!2)2)22!22!2)2)2)222 \ No newline at end of file
diff --git a/data/maps/Route110_TrickHouseEnd/border.bin b/data/maps/Route110_TrickHouseEnd/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/Route110_TrickHouseEnd/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Route110_TrickHouseEnd/header.inc b/data/maps/Route110_TrickHouseEnd/header.inc
new file mode 100644
index 000000000..d965eacf6
--- /dev/null
+++ b/data/maps/Route110_TrickHouseEnd/header.inc
@@ -0,0 +1,15 @@
+Route110_TrickHouseEnd: @ 8485B68
+ .4byte Route110_TrickHouseEnd_MapAttributes
+ .4byte Route110_TrickHouseEnd_MapEvents
+ .4byte Route110_TrickHouseEnd_MapScripts
+ .4byte 0x0
+ .2byte BGM_KARAKURI
+ .2byte 245
+ .byte 25
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route110_TrickHouseEnd/map.bin b/data/maps/Route110_TrickHouseEnd/map.bin
new file mode 100644
index 000000000..506fdb644
--- /dev/null
+++ b/data/maps/Route110_TrickHouseEnd/map.bin
@@ -0,0 +1 @@
+26 26!22222!2!2!22!2!2!2!2)2)2)2)2)2D2)2)2)2)2)2!2)2)2)2)2NO)2)2)2)2)2!2)2)2)2D2VWD2)2)2)2)2!2)2)2)2)2)2)2)2)2)2)2)2!2)2)2)2)2)2)2)2)2)2)2)2 \ No newline at end of file
diff --git a/data/maps/Route110_TrickHouseEntrance/border.bin b/data/maps/Route110_TrickHouseEntrance/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/Route110_TrickHouseEntrance/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Route110_TrickHouseEntrance/header.inc b/data/maps/Route110_TrickHouseEntrance/header.inc
new file mode 100644
index 000000000..01db89ecd
--- /dev/null
+++ b/data/maps/Route110_TrickHouseEntrance/header.inc
@@ -0,0 +1,15 @@
+Route110_TrickHouseEntrance: @ 8485B4C
+ .4byte Route110_TrickHouseEntrance_MapAttributes
+ .4byte Route110_TrickHouseEntrance_MapEvents
+ .4byte Route110_TrickHouseEntrance_MapScripts
+ .4byte 0x0
+ .2byte BGM_KARAKURI
+ .2byte 244
+ .byte 25
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route110_TrickHouseEntrance/map.bin b/data/maps/Route110_TrickHouseEntrance/map.bin
new file mode 100644
index 000000000..1306bb9b5
--- /dev/null
+++ b/data/maps/Route110_TrickHouseEntrance/map.bin
@@ -0,0 +1 @@
+6!2!2!2!2!2!2!2!2!2222!2)2)2)2D2NOD2)2)2)2)23)2)2)2D2VWD2)2)2)23'7)2)2)2)2)2)2)2)2)2)2"7 333333333333#333332233333 \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle1/border.bin b/data/maps/Route110_TrickHousePuzzle1/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle1/border.bin
Binary files differ
diff --git a/data/maps/Route110_TrickHousePuzzle1/header.inc b/data/maps/Route110_TrickHousePuzzle1/header.inc
new file mode 100644
index 000000000..84fe3c0f1
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle1/header.inc
@@ -0,0 +1,15 @@
+Route110_TrickHousePuzzle1: @ 8485BA0
+ .4byte Route110_TrickHousePuzzle1_MapAttributes
+ .4byte Route110_TrickHousePuzzle1_MapEvents
+ .4byte Route110_TrickHousePuzzle1_MapScripts
+ .4byte 0x0
+ .2byte BGM_KARAKURI
+ .2byte 247
+ .byte 25
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route110_TrickHousePuzzle1/map.bin b/data/maps/Route110_TrickHousePuzzle1/map.bin
new file mode 100644
index 000000000..2bf5b392c
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle1/map.bin
@@ -0,0 +1,2 @@
+o233333333334
+w6 #$+$$$+$+$$!222Z2Z2*Z2Z2Z2*Z2*Z2Z2"22222222222222"22222,222,2,22,2222#$$+$$$$$$+%202Z2Z2Z2*Z2Z2Z2Z2Z2Z2*Z22Z22"22222222222222,22(220%22,2220$!2#!2Z2Z22#+$$%Z2Z2*2Z2"22"2Z2*Z2Z2Z222222"22"22222222(22,22,22,22222#$+$+$$$$+$%222Z2Z2"Z2*Z2Z2Z2Z2*Z2Z22222"2Z2222222222222,222222,222#$$$+$$$$+$$%20Z2Z2Z2Z2*Z2Z2Z2Z2*Z2Z2Z22Z22222Z22222Z222222222222222222222 \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle2/border.bin b/data/maps/Route110_TrickHousePuzzle2/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle2/border.bin
Binary files differ
diff --git a/data/maps/Route110_TrickHousePuzzle2/header.inc b/data/maps/Route110_TrickHousePuzzle2/header.inc
new file mode 100644
index 000000000..37259a907
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle2/header.inc
@@ -0,0 +1,15 @@
+Route110_TrickHousePuzzle2: @ 8485BBC
+ .4byte Route110_TrickHousePuzzle2_MapAttributes
+ .4byte Route110_TrickHousePuzzle2_MapEvents
+ .4byte Route110_TrickHousePuzzle2_MapScripts
+ .4byte 0x0
+ .2byte BGM_KARAKURI
+ .2byte 248
+ .byte 25
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route110_TrickHousePuzzle2/map.bin b/data/maps/Route110_TrickHousePuzzle2/map.bin
new file mode 100644
index 000000000..cb35a063e
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle2/map.bin
@@ -0,0 +1,2 @@
+o         
+w6 222222222222222222222222X22222222222222X222222i2222222222222222222222222222222222222222222222X222222222X22ii22222222222222222222i2222222222222222222222222222222222222222222222222222222222222222 \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle3/border.bin b/data/maps/Route110_TrickHousePuzzle3/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle3/border.bin
Binary files differ
diff --git a/data/maps/Route110_TrickHousePuzzle3/header.inc b/data/maps/Route110_TrickHousePuzzle3/header.inc
new file mode 100644
index 000000000..199f7ff22
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle3/header.inc
@@ -0,0 +1,15 @@
+Route110_TrickHousePuzzle3: @ 8485BD8
+ .4byte Route110_TrickHousePuzzle3_MapAttributes
+ .4byte Route110_TrickHousePuzzle3_MapEvents
+ .4byte Route110_TrickHousePuzzle3_MapScripts
+ .4byte 0x0
+ .2byte BGM_KARAKURI
+ .2byte 249
+ .byte 25
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route110_TrickHousePuzzle3/map.bin b/data/maps/Route110_TrickHousePuzzle3/map.bin
new file mode 100644
index 000000000..ac4f344d9
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle3/map.bin
@@ -0,0 +1,2 @@
+o         
+w6 &22&22&2X2&22&22-8292-22-22-22-82925@A522M22:225@Aq222q222U222B22X222K2L2829222&8292225S2T2M@A522"@AM22q222222U222"22q222K2L2./8292-22K2L25S2T25675@A5225S2T2q222X222q222U222U22282928292228292&225@AM@A5225@A"22~22U2X22q222q222"22./K2L2&./22-K2L2567:S2T2"67M225S2T2q2q2q2B22"q2q2U222222228292-228292225225@A5225@A522q222q222q222q222q222222222222222222 \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle4/border.bin b/data/maps/Route110_TrickHousePuzzle4/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle4/border.bin
Binary files differ
diff --git a/data/maps/Route110_TrickHousePuzzle4/header.inc b/data/maps/Route110_TrickHousePuzzle4/header.inc
new file mode 100644
index 000000000..d44eed5a1
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle4/header.inc
@@ -0,0 +1,15 @@
+Route110_TrickHousePuzzle4: @ 8485BF4
+ .4byte Route110_TrickHousePuzzle4_MapAttributes
+ .4byte Route110_TrickHousePuzzle4_MapEvents
+ .4byte Route110_TrickHousePuzzle4_MapScripts
+ .4byte 0x0
+ .2byte BGM_KARAKURI
+ .2byte 250
+ .byte 25
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route110_TrickHousePuzzle4/map.bin b/data/maps/Route110_TrickHousePuzzle4/map.bin
new file mode 100644
index 000000000..2dbcf251b
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle4/map.bin
@@ -0,0 +1,2 @@
+o            
+w6 22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222q2q2q2q2q2q2q2q2q2q2q2q2q2q2222222222222222222222222222222 \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle5/border.bin b/data/maps/Route110_TrickHousePuzzle5/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle5/border.bin
Binary files differ
diff --git a/data/maps/Route110_TrickHousePuzzle5/header.inc b/data/maps/Route110_TrickHousePuzzle5/header.inc
new file mode 100644
index 000000000..1c8f0a7fd
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle5/header.inc
@@ -0,0 +1,15 @@
+Route110_TrickHousePuzzle5: @ 8485C10
+ .4byte Route110_TrickHousePuzzle5_MapAttributes
+ .4byte Route110_TrickHousePuzzle5_MapEvents
+ .4byte Route110_TrickHousePuzzle5_MapScripts
+ .4byte 0x0
+ .2byte BGM_KARAKURI
+ .2byte 251
+ .byte 25
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route110_TrickHousePuzzle5/map.bin b/data/maps/Route110_TrickHousePuzzle5/map.bin
new file mode 100644
index 000000000..470e3eba3
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle5/map.bin
@@ -0,0 +1,2 @@
+o            
+w6 hh222hhhhhh2222h22222hhhhh2hhh2222222hhh222hh2222222hh22222h2222222h22222222222222222222222222222h2222222h22222hh2222222h22222hh2222222h22222hhh22222hhh222hhhh22222hhh222hhhh22222hhhh2hhhhhh222hhhh222hhhhh222hhh22222hhhhh2hhh2222222hhh222hhh22222hhh22222hhh222hhh22222222222hhhhh22222h22hhhhhhhh22hh \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle6/border.bin b/data/maps/Route110_TrickHousePuzzle6/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle6/border.bin
Binary files differ
diff --git a/data/maps/Route110_TrickHousePuzzle6/header.inc b/data/maps/Route110_TrickHousePuzzle6/header.inc
new file mode 100644
index 000000000..50a1dde0d
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle6/header.inc
@@ -0,0 +1,15 @@
+Route110_TrickHousePuzzle6: @ 8485C2C
+ .4byte Route110_TrickHousePuzzle6_MapAttributes
+ .4byte Route110_TrickHousePuzzle6_MapEvents
+ .4byte Route110_TrickHousePuzzle6_MapScripts
+ .4byte 0x0
+ .2byte BGM_KARAKURI
+ .2byte 252
+ .byte 25
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route110_TrickHousePuzzle6/map.bin b/data/maps/Route110_TrickHousePuzzle6/map.bin
new file mode 100644
index 000000000..45dc20ba1
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle6/map.bin
@@ -0,0 +1,2 @@
+o            
+w6 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222622222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle7/border.bin b/data/maps/Route110_TrickHousePuzzle7/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle7/border.bin
Binary files differ
diff --git a/data/maps/Route110_TrickHousePuzzle7/header.inc b/data/maps/Route110_TrickHousePuzzle7/header.inc
new file mode 100644
index 000000000..df10ee4b1
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle7/header.inc
@@ -0,0 +1,15 @@
+Route110_TrickHousePuzzle7: @ 8485C48
+ .4byte Route110_TrickHousePuzzle7_MapAttributes
+ .4byte Route110_TrickHousePuzzle7_MapEvents
+ .4byte Route110_TrickHousePuzzle7_MapScripts
+ .4byte 0x0
+ .2byte BGM_KARAKURI
+ .2byte 253
+ .byte 25
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route110_TrickHousePuzzle7/map.bin b/data/maps/Route110_TrickHousePuzzle7/map.bin
new file mode 100644
index 000000000..68ac73547
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle7/map.bin
@@ -0,0 +1,2 @@
+o            
+w6 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 \ No newline at end of file
diff --git a/data/maps/Route110_TrickHousePuzzle8/border.bin b/data/maps/Route110_TrickHousePuzzle8/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle8/border.bin
Binary files differ
diff --git a/data/maps/Route110_TrickHousePuzzle8/header.inc b/data/maps/Route110_TrickHousePuzzle8/header.inc
new file mode 100644
index 000000000..b569f0721
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle8/header.inc
@@ -0,0 +1,15 @@
+Route110_TrickHousePuzzle8: @ 8485C64
+ .4byte Route110_TrickHousePuzzle8_MapAttributes
+ .4byte Route110_TrickHousePuzzle8_MapEvents
+ .4byte Route110_TrickHousePuzzle8_MapScripts
+ .4byte 0x0
+ .2byte BGM_KARAKURI
+ .2byte 254
+ .byte 25
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route110_TrickHousePuzzle8/map.bin b/data/maps/Route110_TrickHousePuzzle8/map.bin
new file mode 100644
index 000000000..b59b0f606
--- /dev/null
+++ b/data/maps/Route110_TrickHousePuzzle8/map.bin
@@ -0,0 +1,2 @@
+o            
+w6 222622222222226k2k2l6l6l6k2l6l6l6l6l6l6l6l6l6k2k2k2k2l6k2l6k2k2k2k2k2k2k2k2k2l6k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2l6k2k2k2k2k2k2l6k2k2k2k2k2k2k2k2k2l6k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2k2l6k2222662266666k262626666666262k262k2l6k2k2k2k2l6l6k2k2k2k2k2k22k2k2k2k2l6k2k2k2k2k2l6k2k2k2k2k2k2k2k2l6k2k2k2k2k2l6k2k2k2k2k2k2k2k2l6k2k2k2k2k2l6k2k2k2k2k2k2k2k2l6k2k2k2k2k2l6k2k2k2k2k2l6k2k2k2k2k2k2k2k2l6k2k2k2k2k2k2k2k2k2k2k2k22k2l6k2k2k2k2k2k2k2k2k2k2k2k2k2k2l6k2k2k2k2k2k2l6l6l6k2l6k2k2k2l6k2k2k2k2226662622262222226622622222222 \ No newline at end of file
diff --git a/data/maps/Route111/border.bin b/data/maps/Route111/border.bin
new file mode 100644
index 000000000..4531975c7
--- /dev/null
+++ b/data/maps/Route111/border.bin
Binary files differ
diff --git a/data/maps/Route111/connections.inc b/data/maps/Route111/connections.inc
new file mode 100644
index 000000000..8133a0b78
--- /dev/null
+++ b/data/maps/Route111/connections.inc
@@ -0,0 +1,9 @@
+Route111_MapConnectionsList: @ 8486970
+ connection down, 0, MAUVILLE_CITY, 0
+ connection left, 0, ROUTE_113, 0
+ connection left, 20, ROUTE_112, 0
+
+Route111_MapConnections: @ 8486994
+ .4byte 0x3
+ .4byte Route111_MapConnectionsList
+
diff --git a/data/maps/Route111/header.inc b/data/maps/Route111/header.inc
new file mode 100644
index 000000000..0eacd64e3
--- /dev/null
+++ b/data/maps/Route111/header.inc
@@ -0,0 +1,15 @@
+Route111: @ 8482790
+ .4byte Route111_MapAttributes
+ .4byte Route111_MapEvents
+ .4byte Route111_MapScripts
+ .4byte Route111_MapConnections
+ .2byte BGM_DOORO_X1
+ .2byte 27
+ .byte 26
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route111/map.bin b/data/maps/Route111/map.bin
new file mode 100644
index 000000000..4ce11a8a9
--- /dev/null
+++ b/data/maps/Route111/map.bin
Binary files differ
diff --git a/data/maps/Route111_OldLadysRestStop/header.inc b/data/maps/Route111_OldLadysRestStop/header.inc
new file mode 100644
index 000000000..5543bd06c
--- /dev/null
+++ b/data/maps/Route111_OldLadysRestStop/header.inc
@@ -0,0 +1,15 @@
+Route111_OldLadysRestStop: @ 8483DC4
+ .4byte Route111_OldLadysRestStop_MapAttributes
+ .4byte Route111_OldLadysRestStop_MapEvents
+ .4byte Route111_OldLadysRestStop_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 64
+ .byte 26
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route111_WinstrateFamilysHouse/header.inc b/data/maps/Route111_WinstrateFamilysHouse/header.inc
new file mode 100644
index 000000000..1ae67a0e6
--- /dev/null
+++ b/data/maps/Route111_WinstrateFamilysHouse/header.inc
@@ -0,0 +1,15 @@
+Route111_WinstrateFamilysHouse: @ 8483DA8
+ .4byte Route111_WinstrateFamilysHouse_MapAttributes
+ .4byte Route111_WinstrateFamilysHouse_MapEvents
+ .4byte Route111_WinstrateFamilysHouse_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 60
+ .byte 26
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route112/border.bin b/data/maps/Route112/border.bin
new file mode 100644
index 000000000..9ae2c2126
--- /dev/null
+++ b/data/maps/Route112/border.bin
@@ -0,0 +1 @@
+qqqq \ No newline at end of file
diff --git a/data/maps/Route112/connections.inc b/data/maps/Route112/connections.inc
new file mode 100644
index 000000000..a8d94d710
--- /dev/null
+++ b/data/maps/Route112/connections.inc
@@ -0,0 +1,9 @@
+Route112_MapConnectionsList: @ 848699C
+ connection up, -60, ROUTE_113, 0
+ connection left, 40, LAVARIDGE_TOWN, 0
+ connection right, -20, ROUTE_111, 0
+
+Route112_MapConnections: @ 84869C0
+ .4byte 0x3
+ .4byte Route112_MapConnectionsList
+
diff --git a/data/maps/Route112/header.inc b/data/maps/Route112/header.inc
new file mode 100644
index 000000000..ed5f682cf
--- /dev/null
+++ b/data/maps/Route112/header.inc
@@ -0,0 +1,15 @@
+Route112: @ 84827AC
+ .4byte Route112_MapAttributes
+ .4byte Route112_MapEvents
+ .4byte Route112_MapScripts
+ .4byte Route112_MapConnections
+ .2byte BGM_DOORO_X1
+ .2byte 28
+ .byte 27
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route112/map.bin b/data/maps/Route112/map.bin
new file mode 100644
index 000000000..ef3fd5f10
--- /dev/null
+++ b/data/maps/Route112/map.bin
Binary files differ
diff --git a/data/maps/Route112_CableCarStation/border.bin b/data/maps/Route112_CableCarStation/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/Route112_CableCarStation/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Route112_CableCarStation/header.inc b/data/maps/Route112_CableCarStation/header.inc
new file mode 100644
index 000000000..7a36e0e11
--- /dev/null
+++ b/data/maps/Route112_CableCarStation/header.inc
@@ -0,0 +1,15 @@
+Route112_CableCarStation: @ 8483DE0
+ .4byte Route112_CableCarStation_MapAttributes
+ .4byte Route112_CableCarStation_MapEvents
+ .4byte Route112_CableCarStation_MapScripts
+ .4byte 0x0
+ .2byte BGM_DOORO_X1
+ .2byte 118
+ .byte 27
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route112_CableCarStation/map.bin b/data/maps/Route112_CableCarStation/map.bin
new file mode 100644
index 000000000..93db9d5f0
--- /dev/null
+++ b/data/maps/Route112_CableCarStation/map.bin
Binary files differ
diff --git a/data/maps/Route113/border.bin b/data/maps/Route113/border.bin
new file mode 100644
index 000000000..73e1e3c60
--- /dev/null
+++ b/data/maps/Route113/border.bin
@@ -0,0 +1 @@
+mnuv \ No newline at end of file
diff --git a/data/maps/Route113/connections.inc b/data/maps/Route113/connections.inc
new file mode 100644
index 000000000..1ba0cf64c
--- /dev/null
+++ b/data/maps/Route113/connections.inc
@@ -0,0 +1,9 @@
+Route113_MapConnectionsList: @ 84869C8
+ connection down, 60, ROUTE_112, 0
+ connection left, 0, FALLARBOR_TOWN, 0
+ connection right, 0, ROUTE_111, 0
+
+Route113_MapConnections: @ 84869EC
+ .4byte 0x3
+ .4byte Route113_MapConnectionsList
+
diff --git a/data/maps/Route113/header.inc b/data/maps/Route113/header.inc
new file mode 100644
index 000000000..35f16139d
--- /dev/null
+++ b/data/maps/Route113/header.inc
@@ -0,0 +1,15 @@
+Route113: @ 84827C8
+ .4byte Route113_MapAttributes
+ .4byte Route113_MapEvents
+ .4byte Route113_MapScripts
+ .4byte Route113_MapConnections
+ .2byte BGM_KAZANBAI
+ .2byte 29
+ .byte 28
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route113/map.bin b/data/maps/Route113/map.bin
new file mode 100644
index 000000000..609690de2
--- /dev/null
+++ b/data/maps/Route113/map.bin
Binary files differ
diff --git a/data/maps/Route113_GlassWorkshop/header.inc b/data/maps/Route113_GlassWorkshop/header.inc
new file mode 100644
index 000000000..0c06ce631
--- /dev/null
+++ b/data/maps/Route113_GlassWorkshop/header.inc
@@ -0,0 +1,15 @@
+Route113_GlassWorkshop: @ 8485CB8
+ .4byte Route113_GlassWorkshop_MapAttributes
+ .4byte Route113_GlassWorkshop_MapEvents
+ .4byte Route113_GlassWorkshop_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 67
+ .byte 28
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route114/border.bin b/data/maps/Route114/border.bin
new file mode 100644
index 000000000..23e2a92e5
--- /dev/null
+++ b/data/maps/Route114/border.bin
@@ -0,0 +1 @@
+klst \ No newline at end of file
diff --git a/data/maps/Route114/connections.inc b/data/maps/Route114/connections.inc
new file mode 100644
index 000000000..8569b143f
--- /dev/null
+++ b/data/maps/Route114/connections.inc
@@ -0,0 +1,8 @@
+Route114_MapConnectionsList: @ 84869F4
+ connection left, 40, ROUTE_115, 0
+ connection right, 0, FALLARBOR_TOWN, 0
+
+Route114_MapConnections: @ 8486A0C
+ .4byte 0x2
+ .4byte Route114_MapConnectionsList
+
diff --git a/data/maps/Route114/header.inc b/data/maps/Route114/header.inc
new file mode 100644
index 000000000..f7bff7b83
--- /dev/null
+++ b/data/maps/Route114/header.inc
@@ -0,0 +1,15 @@
+Route114: @ 84827E4
+ .4byte Route114_MapAttributes
+ .4byte Route114_MapEvents
+ .4byte Route114_MapScripts
+ .4byte Route114_MapConnections
+ .2byte BGM_DOORO_X1
+ .2byte 30
+ .byte 29
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route114/map.bin b/data/maps/Route114/map.bin
new file mode 100644
index 000000000..3bad45e04
--- /dev/null
+++ b/data/maps/Route114/map.bin
Binary files differ
diff --git a/data/maps/Route114_FossilManiacsHouse/border.bin b/data/maps/Route114_FossilManiacsHouse/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/Route114_FossilManiacsHouse/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Route114_FossilManiacsHouse/header.inc b/data/maps/Route114_FossilManiacsHouse/header.inc
new file mode 100644
index 000000000..38ead1057
--- /dev/null
+++ b/data/maps/Route114_FossilManiacsHouse/header.inc
@@ -0,0 +1,15 @@
+Route114_FossilManiacsHouse: @ 8483E18
+ .4byte Route114_FossilManiacsHouse_MapAttributes
+ .4byte Route114_FossilManiacsHouse_MapEvents
+ .4byte Route114_FossilManiacsHouse_MapScripts
+ .4byte 0x0
+ .2byte BGM_TONEKUSA
+ .2byte 119
+ .byte 29
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route114_FossilManiacsHouse/map.bin b/data/maps/Route114_FossilManiacsHouse/map.bin
new file mode 100644
index 000000000..ea2d94fda
--- /dev/null
+++ b/data/maps/Route114_FossilManiacsHouse/map.bin
@@ -0,0 +1 @@
+622!22233@2!2)2)2)2)277222!2NOD2)222)2)2)2Y2VW)2)2)2)2)2)2)2 3333333333#33333333 \ No newline at end of file
diff --git a/data/maps/Route114_FossilManiacsTunnel/border.bin b/data/maps/Route114_FossilManiacsTunnel/border.bin
new file mode 100644
index 000000000..580a207f4
--- /dev/null
+++ b/data/maps/Route114_FossilManiacsTunnel/border.bin
@@ -0,0 +1 @@
+wwww \ No newline at end of file
diff --git a/data/maps/Route114_FossilManiacsTunnel/header.inc b/data/maps/Route114_FossilManiacsTunnel/header.inc
new file mode 100644
index 000000000..e2fe8a26b
--- /dev/null
+++ b/data/maps/Route114_FossilManiacsTunnel/header.inc
@@ -0,0 +1,15 @@
+Route114_FossilManiacsTunnel: @ 8483E34
+ .4byte Route114_FossilManiacsTunnel_MapAttributes
+ .4byte Route114_FossilManiacsTunnel_MapEvents
+ .4byte Route114_FossilManiacsTunnel_MapScripts
+ .4byte 0x0
+ .2byte BGM_TONEKUSA
+ .2byte 120
+ .byte 29
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route114_FossilManiacsTunnel/map.bin b/data/maps/Route114_FossilManiacsTunnel/map.bin
new file mode 100644
index 000000000..61838bff2
--- /dev/null
+++ b/data/maps/Route114_FossilManiacsTunnel/map.bin
@@ -0,0 +1 @@
+w2whiiiiiijw2w2w2whxhiiGijrw2wwwphxhiOjrzjwww2pphx33rzjrwwwppp332zjrrwwwppp6y233rrrwwwppp3y2y26rrrwwwppp3y2y22rrrwwwpp-2y2y22rrrwwwp-2p3y26rrrwwww2pp3y22rrrwwww2ppp3y26,rrwwww2ppp62r6rzjw2ww2ppp32r3zjrw2ww2ppp32r3y6rrw2ww2ppp32r3y6rrw2whxp-22r3y6rrw2wp2p2p 3r77rrw2wp6p2p 3zj3rzjwp2p6p 33r3r3rwp2p2p32r3r7rwp2p2p36r3zjrhx2p7p32r77rrpy62phx32zj3rrpy62pp3333r3rrpy62pp3222r3rr \ No newline at end of file
diff --git a/data/maps/Route114_LanettesHouse/border.bin b/data/maps/Route114_LanettesHouse/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/Route114_LanettesHouse/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Route114_LanettesHouse/header.inc b/data/maps/Route114_LanettesHouse/header.inc
new file mode 100644
index 000000000..8ce68732c
--- /dev/null
+++ b/data/maps/Route114_LanettesHouse/header.inc
@@ -0,0 +1,15 @@
+Route114_LanettesHouse: @ 8483E50
+ .4byte Route114_LanettesHouse_MapAttributes
+ .4byte Route114_LanettesHouse_MapEvents
+ .4byte Route114_LanettesHouse_MapScripts
+ .4byte 0x0
+ .2byte BGM_TONEKUSA
+ .2byte 121
+ .byte 29
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route114_LanettesHouse/map.bin b/data/maps/Route114_LanettesHouse/map.bin
new file mode 100644
index 000000000..de1858be4
--- /dev/null
+++ b/data/maps/Route114_LanettesHouse/map.bin
@@ -0,0 +1,2 @@
+  
+L  !2 !22"2#2"2#2 !2(2(202PQ2(:2Q62%2282XY22BY,-2@22J262%2P4522222)2,-XJ2222145 \ No newline at end of file
diff --git a/data/maps/Route115/border.bin b/data/maps/Route115/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/Route115/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/Route115/connections.inc b/data/maps/Route115/connections.inc
new file mode 100644
index 000000000..3f283eb91
--- /dev/null
+++ b/data/maps/Route115/connections.inc
@@ -0,0 +1,8 @@
+Route115_MapConnectionsList: @ 8486A14
+ connection down, 0, RUSTBORO_CITY, 0
+ connection right, -40, ROUTE_114, 0
+
+Route115_MapConnections: @ 8486A2C
+ .4byte 0x2
+ .4byte Route115_MapConnectionsList
+
diff --git a/data/maps/Route115/header.inc b/data/maps/Route115/header.inc
new file mode 100644
index 000000000..a7564b752
--- /dev/null
+++ b/data/maps/Route115/header.inc
@@ -0,0 +1,15 @@
+Route115: @ 8482800
+ .4byte Route115_MapAttributes
+ .4byte Route115_MapEvents
+ .4byte Route115_MapScripts
+ .4byte Route115_MapConnections
+ .2byte BGM_NEXTROAD
+ .2byte 31
+ .byte 30
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route115/map.bin b/data/maps/Route115/map.bin
new file mode 100644
index 000000000..64a58e691
--- /dev/null
+++ b/data/maps/Route115/map.bin
Binary files differ
diff --git a/data/maps/Route116/border.bin b/data/maps/Route116/border.bin
new file mode 100644
index 000000000..03bcafef1
--- /dev/null
+++ b/data/maps/Route116/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Route116/connections.inc b/data/maps/Route116/connections.inc
new file mode 100644
index 000000000..e037bff3b
--- /dev/null
+++ b/data/maps/Route116/connections.inc
@@ -0,0 +1,8 @@
+Route116_MapConnectionsList: @ 8486A34
+ connection down, 80, VERDANTURF_TOWN, 0
+ connection left, 0, RUSTBORO_CITY, 0
+
+Route116_MapConnections: @ 8486A4C
+ .4byte 0x2
+ .4byte Route116_MapConnectionsList
+
diff --git a/data/maps/Route116/header.inc b/data/maps/Route116/header.inc
new file mode 100644
index 000000000..291cea02b
--- /dev/null
+++ b/data/maps/Route116/header.inc
@@ -0,0 +1,15 @@
+Route116: @ 848281C
+ .4byte Route116_MapAttributes
+ .4byte Route116_MapEvents
+ .4byte Route116_MapScripts
+ .4byte Route116_MapConnections
+ .2byte BGM_NEXTROAD
+ .2byte 32
+ .byte 31
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route116/map.bin b/data/maps/Route116/map.bin
new file mode 100644
index 000000000..a6e9d8843
--- /dev/null
+++ b/data/maps/Route116/map.bin
Binary files differ
diff --git a/data/maps/Route116_TunnelersRestHouse/border.bin b/data/maps/Route116_TunnelersRestHouse/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/Route116_TunnelersRestHouse/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Route116_TunnelersRestHouse/header.inc b/data/maps/Route116_TunnelersRestHouse/header.inc
new file mode 100644
index 000000000..44707b27d
--- /dev/null
+++ b/data/maps/Route116_TunnelersRestHouse/header.inc
@@ -0,0 +1,15 @@
+Route116_TunnelersRestHouse: @ 8483E6C
+ .4byte Route116_TunnelersRestHouse_MapAttributes
+ .4byte Route116_TunnelersRestHouse_MapEvents
+ .4byte Route116_TunnelersRestHouse_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 122
+ .byte 31
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route116_TunnelersRestHouse/map.bin b/data/maps/Route116_TunnelersRestHouse/map.bin
new file mode 100644
index 000000000..91e2c2019
--- /dev/null
+++ b/data/maps/Route116_TunnelersRestHouse/map.bin
@@ -0,0 +1 @@
+222!2!2!2!2222!2)2)2)2)2)2)2)2)2)2Y2NO)2)2)2)2NOD2!2VWD2)2)2D2VWD2!2)2)2)2)2)2)2)2)2)2 3333333333#33333333 \ No newline at end of file
diff --git a/data/maps/Route117/border.bin b/data/maps/Route117/border.bin
new file mode 100644
index 000000000..addb5d6ce
--- /dev/null
+++ b/data/maps/Route117/border.bin
Binary files differ
diff --git a/data/maps/Route117/connections.inc b/data/maps/Route117/connections.inc
new file mode 100644
index 000000000..ab64dd3b6
--- /dev/null
+++ b/data/maps/Route117/connections.inc
@@ -0,0 +1,8 @@
+Route117_MapConnectionsList: @ 8486A54
+ connection left, 0, VERDANTURF_TOWN, 0
+ connection right, 0, MAUVILLE_CITY, 0
+
+Route117_MapConnections: @ 8486A6C
+ .4byte 0x2
+ .4byte Route117_MapConnectionsList
+
diff --git a/data/maps/Route117/header.inc b/data/maps/Route117/header.inc
new file mode 100644
index 000000000..35e03215a
--- /dev/null
+++ b/data/maps/Route117/header.inc
@@ -0,0 +1,15 @@
+Route117: @ 8482838
+ .4byte Route117_MapAttributes
+ .4byte Route117_MapEvents
+ .4byte Route117_MapScripts
+ .4byte Route117_MapConnections
+ .2byte BGM_DOORO_X1
+ .2byte 33
+ .byte 32
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route117/map.bin b/data/maps/Route117/map.bin
new file mode 100644
index 000000000..bdeda9cd4
--- /dev/null
+++ b/data/maps/Route117/map.bin
@@ -0,0 +1,10 @@
+5670 2 000000000 0 0
+20000000000 0 00000h4s4q0u4i0j4000 2 0000040 0 0 0 00000000 0 0 0 0 0 0 00000000p4{4|4}4q0r440 0 000000 0000 0 0
+00000008IIIIII:0000000p4q0q0t4y4z40 0 00000 0 200 2004000@2 22
+222B000000
+2x4y4y4z400 00 04000000 20 000000@222 22
+2B000000000000 !"20@2222 22B000000000
+202000000000000000000000000000IIIIIIIHI0000IJ0111111100000200011111111111111100000000002202020200000000 1!1)1)1)1)1*1000000000011!1!1!1)1x2y2x2y2x2y2x2y2!1!1!111000000002200202011111111!1"1000000000011111!1!1!1!1*10(1)1!1!1!11110000022020202 !!!!!!!!1"100 20000(1)1!1!1!1!1!1!1*10110(1!1!1!1)1*10000022200000(1)1)1)1)1)1)1)1)1*100200000(1)1!1!1!1"10000 1!1*1000000020202000000000000000000000(1!1!1"1000 1"100000000II@@@@II8II000II:0 0 00200000 1!1!110K1L5L5L5M1001!1"10000000000@22 22
+222B 0 0 00 0 0 00(1!1!1"101111100 1!1*10000@222 22
+22B 0 0 0 0 0 0 0 00 1!1!1100000000001!1"100@2222 22
+2B 0 0 0 0 0 0 0 0 0(1!1!1!11111111111!1!1*100H0IIIIIIJ@@@------%0%0 0 0 0 0 0(1)1)1)1)1)1)1)1)1)1)1)1)1)1*1000000000000000000%0%0 0 0 00000000000000000000%0%0%00000 \ No newline at end of file
diff --git a/data/maps/Route117_PokemonDayCare/border.bin b/data/maps/Route117_PokemonDayCare/border.bin
new file mode 100644
index 000000000..7f603e844
--- /dev/null
+++ b/data/maps/Route117_PokemonDayCare/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Route117_PokemonDayCare/header.inc b/data/maps/Route117_PokemonDayCare/header.inc
new file mode 100644
index 000000000..6d586358e
--- /dev/null
+++ b/data/maps/Route117_PokemonDayCare/header.inc
@@ -0,0 +1,15 @@
+Route117_PokemonDayCare: @ 8483E88
+ .4byte Route117_PokemonDayCare_MapAttributes
+ .4byte Route117_PokemonDayCare_MapEvents
+ .4byte Route117_PokemonDayCare_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 123
+ .byte 32
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route117_PokemonDayCare/map.bin b/data/maps/Route117_PokemonDayCare/map.bin
new file mode 100644
index 000000000..bd4b64e13
--- /dev/null
+++ b/data/maps/Route117_PokemonDayCare/map.bin
@@ -0,0 +1,2 @@
+567      
+=>?$2&22&244222 22 .!.#222222222(222322222-2022222222222)*%2222222820212222222C222922%2;<22@AAAAA \ No newline at end of file
diff --git a/data/maps/Route118/border.bin b/data/maps/Route118/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/Route118/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/Route118/connections.inc b/data/maps/Route118/connections.inc
new file mode 100644
index 000000000..fe473be52
--- /dev/null
+++ b/data/maps/Route118/connections.inc
@@ -0,0 +1,9 @@
+Route118_MapConnectionsList: @ 8486A74
+ connection up, 40, ROUTE_119, 0
+ connection left, 0, MAUVILLE_CITY, 0
+ connection right, 0, ROUTE_123, 0
+
+Route118_MapConnections: @ 8486A98
+ .4byte 0x3
+ .4byte Route118_MapConnectionsList
+
diff --git a/data/maps/Route118/header.inc b/data/maps/Route118/header.inc
new file mode 100644
index 000000000..fe01c71cb
--- /dev/null
+++ b/data/maps/Route118/header.inc
@@ -0,0 +1,15 @@
+Route118: @ 8482854
+ .4byte Route118_MapAttributes
+ .4byte Route118_MapEvents
+ .4byte Route118_MapScripts
+ .4byte Route118_MapConnections
+ .2byte BGM_ROUTE_118
+ .2byte 34
+ .byte 33
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route118/map.bin b/data/maps/Route118/map.bin
new file mode 100644
index 000000000..dfd8a293d
--- /dev/null
+++ b/data/maps/Route118/map.bin
Binary files differ
diff --git a/data/maps/Route119/border.bin b/data/maps/Route119/border.bin
new file mode 100644
index 000000000..864ac15fa
--- /dev/null
+++ b/data/maps/Route119/border.bin
Binary files differ
diff --git a/data/maps/Route119/connections.inc b/data/maps/Route119/connections.inc
new file mode 100644
index 000000000..20dd27498
--- /dev/null
+++ b/data/maps/Route119/connections.inc
@@ -0,0 +1,8 @@
+Route119_MapConnectionsList: @ 8486AA0
+ connection down, -40, ROUTE_118, 0
+ connection right, 0, FORTREE_CITY, 0
+
+Route119_MapConnections: @ 8486AB8
+ .4byte 0x2
+ .4byte Route119_MapConnectionsList
+
diff --git a/data/maps/Route119/header.inc b/data/maps/Route119/header.inc
new file mode 100644
index 000000000..e58aae1a8
--- /dev/null
+++ b/data/maps/Route119/header.inc
@@ -0,0 +1,15 @@
+Route119: @ 8482870
+ .4byte Route119_MapAttributes
+ .4byte Route119_MapEvents
+ .4byte Route119_MapScripts
+ .4byte Route119_MapConnections
+ .2byte BGM_GRANROAD
+ .2byte 35
+ .byte 34
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route119/map.bin b/data/maps/Route119/map.bin
new file mode 100644
index 000000000..1126455a2
--- /dev/null
+++ b/data/maps/Route119/map.bin
Binary files differ
diff --git a/data/maps/Route119_House/header.inc b/data/maps/Route119_House/header.inc
new file mode 100644
index 000000000..c609c06ff
--- /dev/null
+++ b/data/maps/Route119_House/header.inc
@@ -0,0 +1,15 @@
+Route119_House: @ 8485D28
+ .4byte Route119_House_MapAttributes
+ .4byte Route119_House_MapEvents
+ .4byte Route119_House_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 59
+ .byte 34
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route119_WeatherInstitute_1F/border.bin b/data/maps/Route119_WeatherInstitute_1F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/Route119_WeatherInstitute_1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Route119_WeatherInstitute_1F/header.inc b/data/maps/Route119_WeatherInstitute_1F/header.inc
new file mode 100644
index 000000000..868b28371
--- /dev/null
+++ b/data/maps/Route119_WeatherInstitute_1F/header.inc
@@ -0,0 +1,15 @@
+Route119_WeatherInstitute_1F: @ 8485CF0
+ .4byte Route119_WeatherInstitute_1F_MapAttributes
+ .4byte Route119_WeatherInstitute_1F_MapEvents
+ .4byte Route119_WeatherInstitute_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 271
+ .byte 34
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route119_WeatherInstitute_1F/map.bin b/data/maps/Route119_WeatherInstitute_1F/map.bin
new file mode 100644
index 000000000..07a4e7ebb
--- /dev/null
+++ b/data/maps/Route119_WeatherInstitute_1F/map.bin
@@ -0,0 +1 @@
+__nk___k______|}~_ggkgggk,-,-gglmv2kj2z2z2k4545j222z2222tuR2sr2R2R2sj2z2z2z2w2R2R2R2R2R2R2R2r2R2R2pr2R2R2pr2R2R2`aR2R2R2`aR2R2r2R2R2xr2R2R2xr2R2^2STV2R2^2STV2R2r2U2R22w2R2R22w2R2R2R2R2R2R2U22fZ2h2R2R2R2h2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2f___pR2R2R2p____________gggxR2R2R2xggggggggggggj2z2z22R2R2R22z2z2z2z2z2z2z2z2z2z2z2z2r2R2R2R2R2R2R2R2U2R2R2U2R2R2R2R2R2R2R2R2r2R2R2R2R2R2R2R2]]R2R2R2R2R2R2R2R2 \ No newline at end of file
diff --git a/data/maps/Route119_WeatherInstitute_2F/border.bin b/data/maps/Route119_WeatherInstitute_2F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/Route119_WeatherInstitute_2F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Route119_WeatherInstitute_2F/header.inc b/data/maps/Route119_WeatherInstitute_2F/header.inc
new file mode 100644
index 000000000..d93617bfc
--- /dev/null
+++ b/data/maps/Route119_WeatherInstitute_2F/header.inc
@@ -0,0 +1,15 @@
+Route119_WeatherInstitute_2F: @ 8485D0C
+ .4byte Route119_WeatherInstitute_2F_MapAttributes
+ .4byte Route119_WeatherInstitute_2F_MapEvents
+ .4byte Route119_WeatherInstitute_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 272
+ .byte 34
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route119_WeatherInstitute_2F/map.bin b/data/maps/Route119_WeatherInstitute_2F/map.bin
new file mode 100644
index 000000000..97953f463
--- /dev/null
+++ b/data/maps/Route119_WeatherInstitute_2F/map.bin
@@ -0,0 +1 @@
+__k___________|6}6~6_ggk,-,-,-,-,-g66gj222z2k4545454545j22z22z2r2`i2i2sj2z2z2dez2z2z2dew2i2i2i2i2W2Ti2i2pr2i2^2STV2i2^2STV2i2i2i2i2r2\i2i2xr2i2i2i2i2i2i2i2i2i2i2r2i2i2i22w2i2i2i2i2i2i2i2i2i2i2i2i2i2i2r2i2i2i2r2i2i2`ai2i2i2`ai2i2i2i2i2r2`i2i2kr2i2^2STi2i2^2STV2i2i2i2i2W2Ti2i2kr2i2i2i2i2i2i2i2i2i2i2r2\i2i2kr2i2i2i2i2i2i2i2i2i2i2i2i2i2i2 \ No newline at end of file
diff --git a/data/maps/Route120/border.bin b/data/maps/Route120/border.bin
new file mode 100644
index 000000000..864ac15fa
--- /dev/null
+++ b/data/maps/Route120/border.bin
Binary files differ
diff --git a/data/maps/Route120/connections.inc b/data/maps/Route120/connections.inc
new file mode 100644
index 000000000..f05e65739
--- /dev/null
+++ b/data/maps/Route120/connections.inc
@@ -0,0 +1,8 @@
+Route120_MapConnectionsList: @ 8486AC0
+ connection left, 0, FORTREE_CITY, 0
+ connection right, 80, ROUTE_121, 0
+
+Route120_MapConnections: @ 8486AD8
+ .4byte 0x2
+ .4byte Route120_MapConnectionsList
+
diff --git a/data/maps/Route120/header.inc b/data/maps/Route120/header.inc
new file mode 100644
index 000000000..5b67adea4
--- /dev/null
+++ b/data/maps/Route120/header.inc
@@ -0,0 +1,15 @@
+Route120: @ 848288C
+ .4byte Route120_MapAttributes
+ .4byte Route120_MapEvents
+ .4byte Route120_MapScripts
+ .4byte Route120_MapConnections
+ .2byte BGM_DOORO_X3
+ .2byte 36
+ .byte 35
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route120/map.bin b/data/maps/Route120/map.bin
new file mode 100644
index 000000000..599e6014d
--- /dev/null
+++ b/data/maps/Route120/map.bin
Binary files differ
diff --git a/data/maps/Route121/border.bin b/data/maps/Route121/border.bin
new file mode 100644
index 000000000..03bcafef1
--- /dev/null
+++ b/data/maps/Route121/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Route121/connections.inc b/data/maps/Route121/connections.inc
new file mode 100644
index 000000000..47d55b65d
--- /dev/null
+++ b/data/maps/Route121/connections.inc
@@ -0,0 +1,9 @@
+Route121_MapConnectionsList: @ 8486AE0
+ connection down, 20, ROUTE_122, 0
+ connection left, -80, ROUTE_120, 0
+ connection right, -10, LILYCOVE_CITY, 0
+
+Route121_MapConnections: @ 8486B04
+ .4byte 0x3
+ .4byte Route121_MapConnectionsList
+
diff --git a/data/maps/Route121/header.inc b/data/maps/Route121/header.inc
new file mode 100644
index 000000000..ac6277e86
--- /dev/null
+++ b/data/maps/Route121/header.inc
@@ -0,0 +1,15 @@
+Route121: @ 84828A8
+ .4byte Route121_MapAttributes
+ .4byte Route121_MapEvents
+ .4byte Route121_MapScripts
+ .4byte Route121_MapConnections
+ .2byte BGM_DOORO_X3
+ .2byte 37
+ .byte 36
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route121/map.bin b/data/maps/Route121/map.bin
new file mode 100644
index 000000000..cfee98f2a
--- /dev/null
+++ b/data/maps/Route121/map.bin
@@ -0,0 +1 @@
+urX011120Z6ururX011120Zururs6L5L5u6X0000000001112000Zur00000000000000000000ur{211}255X000000008999:000Zur000000000000000000||||}r 0 0 0PQQQQQQQQQQQQQQQQQ3$%&5QQQRurPQQQQQQQQQQQQQQQQQR0PQQQQQQAQQQQQRD55 0 0 0 000000 0 0 0000000110BD-EC0tyy}r00000000 0 0 0 0 0000000000 0 0 0 00Z0000000000000000000000000000 0 0 0 0 000000000000r00tz000000000 0 0 0 0 0 0 000000 0 0 0 0 0 0Z0000000000000000000000000000 0 0 0 0 0000001100000r&'rPQQQQR00PQQR00PQR00PQQQQQQQQR000000000001111111100000000 0 0 0 0 0 0 00000t00yyz00r 0 0000000000Z0000Z00X0 0 00 0 0 00Z00000000011!1!1)1)1)1)1)1*10 0 0 0PQQQQQQQQQQQR00r0000000r 0 0 0PQQQQR0PR0000Z00X0 0 0 0 0 0 00Z000011111!1!1!1*100000 0 0 0 0 0 0 0 0 0 0 00t|||||00||||z0000000r 0 0 0 0 0 0 00000Z 0 000Z0000 0 0 0 0 0 000001155)1)1)1)1)1*10011111111 0 0 0 0t|||}t00yyyy00zPQQQQQQQQQQR 0 0 00Z00000000000000555500000000t|||}tz000000000000 0 0 0 0 0000000000000 0 0 0 0 00ZPQQQQQQQQR000055t|00000000555utz00000tyy00yy0000 0 0 0 0 0 0 0000000000 0 0 0 0 00Z011111100000t|||}yyyyyy||||||||}r00000t|||}]^0^0^0_{|||| 0 0 0 0 0 0 00000000 0 0 0 0 0PQR026666200000uPPPPPPt}t||||}]^0^0^0^0_{||||||||||||||||||||||||||||||||||}p1p1p1p111P55t||}q0q0q0q0q0q0t}pPe]^0^0^0^0_dQppp1p1p1p1Pt|}t||||||}ppppppXm]^0^0^0^0_lYPQpppppppppppppppppppppppppppppp1p1p1p1p1p1p1p1p1p1p1p1p155t}q0q0uppppppppPQe^0^0^0^0gpXYPQPQpppppppppppppppppppppppppp1p1p1p1p1p1p1p1p1p1p1p1p1Pt}q0t|}pppppppppppppppppXYpppXYXYpppppppppppppppppppppppppp1p1p1p1p1p1p1p1p1p1p1p1p1 \ No newline at end of file
diff --git a/data/maps/Route121_SafariZoneEntrance/border.bin b/data/maps/Route121_SafariZoneEntrance/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/Route121_SafariZoneEntrance/border.bin
Binary files differ
diff --git a/data/maps/Route121_SafariZoneEntrance/header.inc b/data/maps/Route121_SafariZoneEntrance/header.inc
new file mode 100644
index 000000000..cc17751f8
--- /dev/null
+++ b/data/maps/Route121_SafariZoneEntrance/header.inc
@@ -0,0 +1,15 @@
+Route121_SafariZoneEntrance: @ 8483EA4
+ .4byte Route121_SafariZoneEntrance_MapAttributes
+ .4byte Route121_SafariZoneEntrance_MapEvents
+ .4byte Route121_SafariZoneEntrance_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 124
+ .byte 36
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route121_SafariZoneEntrance/map.bin b/data/maps/Route121_SafariZoneEntrance/map.bin
new file mode 100644
index 000000000..35c1badac
--- /dev/null
+++ b/data/maps/Route121_SafariZoneEntrance/map.bin
@@ -0,0 +1 @@
+]x2p2p2p2p2p22222e2x2p2p2p2p22h2h2h2h2h22h22h2h22\2h2h2h2h2h2q2Y2Z2Y2Z2p2y2h2h2h2h22d6h2h2h2h2ababh2h2h2h2h2h2h22h2h2h222\2h2h2h2dh2h2h2x22h2h2h222h2h2h222h2h2h2\2h2h2h2q22d6h2h2t6 \ No newline at end of file
diff --git a/data/maps/Route122/border.bin b/data/maps/Route122/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/Route122/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/Route122/connections.inc b/data/maps/Route122/connections.inc
new file mode 100644
index 000000000..2d6f53859
--- /dev/null
+++ b/data/maps/Route122/connections.inc
@@ -0,0 +1,8 @@
+Route122_MapConnectionsList: @ 8486B0C
+ connection up, -20, ROUTE_121, 0
+ connection down, -100, ROUTE_123, 0
+
+Route122_MapConnections: @ 8486B24
+ .4byte 0x2
+ .4byte Route122_MapConnectionsList
+
diff --git a/data/maps/Route122/header.inc b/data/maps/Route122/header.inc
new file mode 100644
index 000000000..5c8926df4
--- /dev/null
+++ b/data/maps/Route122/header.inc
@@ -0,0 +1,15 @@
+Route122: @ 84828C4
+ .4byte Route122_MapAttributes
+ .4byte Route122_MapEvents
+ .4byte Route122_MapScripts
+ .4byte Route122_MapConnections
+ .2byte BGM_DOORO_X4
+ .2byte 38
+ .byte 37
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route122/map.bin b/data/maps/Route122/map.bin
new file mode 100644
index 000000000..1c76b0b0a
--- /dev/null
+++ b/data/maps/Route122/map.bin
Binary files differ
diff --git a/data/maps/Route123/border.bin b/data/maps/Route123/border.bin
new file mode 100644
index 000000000..864ac15fa
--- /dev/null
+++ b/data/maps/Route123/border.bin
Binary files differ
diff --git a/data/maps/Route123/connections.inc b/data/maps/Route123/connections.inc
new file mode 100644
index 000000000..ef10fb974
--- /dev/null
+++ b/data/maps/Route123/connections.inc
@@ -0,0 +1,8 @@
+Route123_MapConnectionsList: @ 8486B2C
+ connection up, 100, ROUTE_122, 0
+ connection left, 0, ROUTE_118, 0
+
+Route123_MapConnections: @ 8486B44
+ .4byte 0x2
+ .4byte Route123_MapConnectionsList
+
diff --git a/data/maps/Route123/header.inc b/data/maps/Route123/header.inc
new file mode 100644
index 000000000..8c240ba9d
--- /dev/null
+++ b/data/maps/Route123/header.inc
@@ -0,0 +1,15 @@
+Route123: @ 84828E0
+ .4byte Route123_MapAttributes
+ .4byte Route123_MapEvents
+ .4byte Route123_MapScripts
+ .4byte Route123_MapConnections
+ .2byte BGM_DOORO_X4
+ .2byte 39
+ .byte 38
+ .byte 0
+ .byte 2
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route123/map.bin b/data/maps/Route123/map.bin
new file mode 100644
index 000000000..e1ab62bd7
--- /dev/null
+++ b/data/maps/Route123/map.bin
@@ -0,0 +1,2 @@
+pppppppppppppppppppppE00Gppppppppppppppppp@000000000@00hiiiiiiiiiiiij 0 0 0 0 00 0 04K1L5L5L5M1pppppppppppppppppppE00Gppppppppppppppppp@AIIIIIIII90@00000pqqqqqqqqqqqqr0 0 0 0 0 0 0 0 0 0 001111100pppppppppppppppppE00Gppppppppppppppppp@Bs6u60s6u60s6u6@00 0 0
+00@00000040xyyyyqqqqqr00 0 0 0 0 0 0 0 0 0 0000000ppppppppppppppppE00Gppppppppppppppppp@B{2}20{2}20{2}2@00@00000000 0 0xqqqqr000 0 0 0 0 0 0 0 0 0 0 00000000pppppppppppppppE00Gppppppppppppppppp@Bs6u60s6u60s6u6@0 0@0000000 0 0 0 0xyyw44444440 0 0000 0 00000 0 000000000pppppppppppppE00Gppppppppppppppppp0@B{2}20{2}20{2}2@0 !"0@00000000 0 0 0 0 04o000000000 0000000000 0 0 0 0 00pppppppppppE00Gpppppppppppppp000@3II0000II2400000@04000000000 0 0 0 0 0 00000000000000000000 0 0 0 0 0 0 00ppppppppppE00Gpppppppppppp00000@0000000000000000@000000000000%0%0 0 0 0 0000000000000400000%0 0 0 0 0 0 00ppppppppE00Gppppppppp00000000@00000000011000@000000000000000004000%0 0 0 00004444440 0 0 000000%0 0 0 0 0 0 00pppE00Gpp000000000@000000000011000@0000000000000000000 0 00000000000%0 0 00000%0 0 0 0 0 00000000000>4>4>40000>4>4>4000000000HIIIIIIIIII0110II200440444444o400000000000000 0 0 0 04000 0 0 000040001100400000000000400000000001100000000000000000000000000%0 0 0 0 0000000000000000000 0 0 00000001!1"10000000000000000000000000000000011000000000000000000004444444%0%0 0 00000000000400000000 0 0 0 0 00K1L5L5L5M100111!1!1*10000000011111111111111111111111111111111000444444o0000000 000001111011111000000 0 0 0 0 0 0 000001111111!1!1!1!1*1000000000000111111111111111111111111111111110000000000001111111000111!1!1)1*10(1)1)1!1!1111140 0 0 0 0 0 0 00011111111111!1!1!1)1)1*10040000000000000000000000000000000000000000000000000111111110000(1)1)1)1)1!1!11111100(1)1)1)1*1000000(1)1)1)1)1*10%0%0%0 0 0 0 0 000(1)1)1)1)1)1)1)1)1)1)1)1)1*100000000@4I0IIIIIIIIIII@4@4IIIII0@40000000(1)1)1)1)1)1)1*1000000000(1)1)1)1)1)1*10000000040000000000%0%0%0%0 00000000040000000000000000000000000000000000000004000000000000004000000000000000000400000000000000000000000000000000000000000000000000 \ No newline at end of file
diff --git a/data/maps/Route123_BerryMastersHouse/header.inc b/data/maps/Route123_BerryMastersHouse/header.inc
new file mode 100644
index 000000000..d25fea9b1
--- /dev/null
+++ b/data/maps/Route123_BerryMastersHouse/header.inc
@@ -0,0 +1,15 @@
+Route123_BerryMastersHouse: @ 8485CD4
+ .4byte Route123_BerryMastersHouse_MapAttributes
+ .4byte Route123_BerryMastersHouse_MapEvents
+ .4byte Route123_BerryMastersHouse_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 60
+ .byte 38
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route124/border.bin b/data/maps/Route124/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/Route124/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/Route124/connections.inc b/data/maps/Route124/connections.inc
new file mode 100644
index 000000000..72e358f4c
--- /dev/null
+++ b/data/maps/Route124/connections.inc
@@ -0,0 +1,11 @@
+Route124_MapConnectionsList: @ 8486B4C
+ connection down, 0, ROUTE_126, 0
+ connection left, 10, LILYCOVE_CITY, 0
+ connection right, 0, ROUTE_125, 0
+ connection right, 40, MOSSDEEP_CITY, 0
+ connection dive, 0, UNDERWATER_1, 0
+
+Route124_MapConnections: @ 8486B88
+ .4byte 0x5
+ .4byte Route124_MapConnectionsList
+
diff --git a/data/maps/Route124/header.inc b/data/maps/Route124/header.inc
new file mode 100644
index 000000000..bdd54bf00
--- /dev/null
+++ b/data/maps/Route124/header.inc
@@ -0,0 +1,15 @@
+Route124: @ 84828FC
+ .4byte Route124_MapAttributes
+ .4byte Route124_MapEvents
+ .4byte Route124_MapScripts
+ .4byte Route124_MapConnections
+ .2byte BGM_DOORO_X3
+ .2byte 40
+ .byte 39
+ .byte 0
+ .byte 2
+ .byte 6
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route124/map.bin b/data/maps/Route124/map.bin
new file mode 100644
index 000000000..acd4a65fb
--- /dev/null
+++ b/data/maps/Route124/map.bin
Binary files differ
diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/border.bin b/data/maps/Route124_DivingTreasureHuntersHouse/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/Route124_DivingTreasureHuntersHouse/border.bin
Binary files differ
diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/header.inc b/data/maps/Route124_DivingTreasureHuntersHouse/header.inc
new file mode 100644
index 000000000..438ceff8a
--- /dev/null
+++ b/data/maps/Route124_DivingTreasureHuntersHouse/header.inc
@@ -0,0 +1,15 @@
+Route124_DivingTreasureHuntersHouse: @ 8485D44
+ .4byte Route124_DivingTreasureHuntersHouse_MapAttributes
+ .4byte Route124_DivingTreasureHuntersHouse_MapEvents
+ .4byte Route124_DivingTreasureHuntersHouse_MapScripts
+ .4byte 0x0
+ .2byte BGM_MINAMO
+ .2byte 301
+ .byte 39
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/map.bin b/data/maps/Route124_DivingTreasureHuntersHouse/map.bin
new file mode 100644
index 000000000..8f1f6cbef
--- /dev/null
+++ b/data/maps/Route124_DivingTreasureHuntersHouse/map.bin
@@ -0,0 +1 @@
+yzX  g 22222$2$2$2$2$29252626262626272#2#292=2H6I6>?#2#292=2P6Q6>?#2#292E2F2F2F2F2F2G#2#292#2#2#2#2#2#2#2#2"292#2#2 #2#2#2#2*6 \ No newline at end of file
diff --git a/data/maps/Route125/border.bin b/data/maps/Route125/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/Route125/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/Route125/connections.inc b/data/maps/Route125/connections.inc
new file mode 100644
index 000000000..1abbf0979
--- /dev/null
+++ b/data/maps/Route125/connections.inc
@@ -0,0 +1,9 @@
+Route125_MapConnectionsList: @ 8486B90
+ connection down, 0, MOSSDEEP_CITY, 0
+ connection left, 0, ROUTE_124, 0
+ connection dive, 0, UNDERWATER_7, 0
+
+Route125_MapConnections: @ 8486BB4
+ .4byte 0x3
+ .4byte Route125_MapConnectionsList
+
diff --git a/data/maps/Route125/header.inc b/data/maps/Route125/header.inc
new file mode 100644
index 000000000..6f81fee85
--- /dev/null
+++ b/data/maps/Route125/header.inc
@@ -0,0 +1,15 @@
+Route125: @ 8482918
+ .4byte Route125_MapAttributes
+ .4byte Route125_MapEvents
+ .4byte Route125_MapScripts
+ .4byte Route125_MapConnections
+ .2byte BGM_DOORO_X3
+ .2byte 41
+ .byte 40
+ .byte 0
+ .byte 2
+ .byte 6
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route125/map.bin b/data/maps/Route125/map.bin
new file mode 100644
index 000000000..078f2713d
--- /dev/null
+++ b/data/maps/Route125/map.bin
Binary files differ
diff --git a/data/maps/Route126/border.bin b/data/maps/Route126/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/Route126/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/Route126/connections.inc b/data/maps/Route126/connections.inc
new file mode 100644
index 000000000..c2beee1d8
--- /dev/null
+++ b/data/maps/Route126/connections.inc
@@ -0,0 +1,9 @@
+Route126_MapConnectionsList: @ 8486BBC
+ connection up, 0, ROUTE_124, 0
+ connection right, 0, ROUTE_127, 0
+ connection dive, 0, UNDERWATER_2, 0
+
+Route126_MapConnections: @ 8486BE0
+ .4byte 0x3
+ .4byte Route126_MapConnectionsList
+
diff --git a/data/maps/Route126/header.inc b/data/maps/Route126/header.inc
new file mode 100644
index 000000000..679d16cfe
--- /dev/null
+++ b/data/maps/Route126/header.inc
@@ -0,0 +1,15 @@
+Route126: @ 8482934
+ .4byte Route126_MapAttributes
+ .4byte Route126_MapEvents
+ .4byte Route126_MapScripts
+ .4byte Route126_MapConnections
+ .2byte BGM_DOORO_X3
+ .2byte 42
+ .byte 41
+ .byte 0
+ .byte 2
+ .byte 6
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route126/map.bin b/data/maps/Route126/map.bin
new file mode 100644
index 000000000..2d684cf64
--- /dev/null
+++ b/data/maps/Route126/map.bin
Binary files differ
diff --git a/data/maps/Route127/border.bin b/data/maps/Route127/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/Route127/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/Route127/connections.inc b/data/maps/Route127/connections.inc
new file mode 100644
index 000000000..2b4136c3c
--- /dev/null
+++ b/data/maps/Route127/connections.inc
@@ -0,0 +1,10 @@
+Route127_MapConnectionsList: @ 8486BE8
+ connection up, 0, MOSSDEEP_CITY, 0
+ connection down, 0, ROUTE_128, 0
+ connection left, 0, ROUTE_126, 0
+ connection dive, 0, UNDERWATER_3, 0
+
+Route127_MapConnections: @ 8486C18
+ .4byte 0x4
+ .4byte Route127_MapConnectionsList
+
diff --git a/data/maps/Route127/header.inc b/data/maps/Route127/header.inc
new file mode 100644
index 000000000..2ed691c4d
--- /dev/null
+++ b/data/maps/Route127/header.inc
@@ -0,0 +1,15 @@
+Route127: @ 8482950
+ .4byte Route127_MapAttributes
+ .4byte Route127_MapEvents
+ .4byte Route127_MapScripts
+ .4byte Route127_MapConnections
+ .2byte BGM_DOORO_X3
+ .2byte 43
+ .byte 42
+ .byte 0
+ .byte 2
+ .byte 6
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route127/map.bin b/data/maps/Route127/map.bin
new file mode 100644
index 000000000..fa44f9960
--- /dev/null
+++ b/data/maps/Route127/map.bin
Binary files differ
diff --git a/data/maps/Route128/border.bin b/data/maps/Route128/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/Route128/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/Route128/connections.inc b/data/maps/Route128/connections.inc
new file mode 100644
index 000000000..5355677de
--- /dev/null
+++ b/data/maps/Route128/connections.inc
@@ -0,0 +1,10 @@
+Route128_MapConnectionsList: @ 8486C20
+ connection up, 0, ROUTE_127, 0
+ connection down, 0, ROUTE_129, 0
+ connection right, -40, EVER_GRANDE_CITY, 0
+ connection dive, 0, UNDERWATER_4, 0
+
+Route128_MapConnections: @ 8486C50
+ .4byte 0x4
+ .4byte Route128_MapConnectionsList
+
diff --git a/data/maps/Route128/header.inc b/data/maps/Route128/header.inc
new file mode 100644
index 000000000..976bedb11
--- /dev/null
+++ b/data/maps/Route128/header.inc
@@ -0,0 +1,15 @@
+Route128: @ 848296C
+ .4byte Route128_MapAttributes
+ .4byte Route128_MapEvents
+ .4byte Route128_MapScripts
+ .4byte Route128_MapConnections
+ .2byte BGM_DOORO_X3
+ .2byte 44
+ .byte 43
+ .byte 0
+ .byte 2
+ .byte 6
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route128/map.bin b/data/maps/Route128/map.bin
new file mode 100644
index 000000000..fae8a373e
--- /dev/null
+++ b/data/maps/Route128/map.bin
Binary files differ
diff --git a/data/maps/Route129/border.bin b/data/maps/Route129/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/Route129/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/Route129/connections.inc b/data/maps/Route129/connections.inc
new file mode 100644
index 000000000..f373faff2
--- /dev/null
+++ b/data/maps/Route129/connections.inc
@@ -0,0 +1,9 @@
+Route129_MapConnectionsList: @ 8486C58
+ connection up, 0, ROUTE_128, 0
+ connection left, 0, ROUTE_130, 0
+ connection dive, 0, UNDERWATER_5, 0
+
+Route129_MapConnections: @ 8486C7C
+ .4byte 0x3
+ .4byte Route129_MapConnectionsList
+
diff --git a/data/maps/Route129/header.inc b/data/maps/Route129/header.inc
new file mode 100644
index 000000000..68221e873
--- /dev/null
+++ b/data/maps/Route129/header.inc
@@ -0,0 +1,15 @@
+Route129: @ 8482988
+ .4byte Route129_MapAttributes
+ .4byte Route129_MapEvents
+ .4byte Route129_MapScripts
+ .4byte Route129_MapConnections
+ .2byte BGM_GRANROAD
+ .2byte 45
+ .byte 44
+ .byte 0
+ .byte 2
+ .byte 6
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route129/map.bin b/data/maps/Route129/map.bin
new file mode 100644
index 000000000..8d09787fd
--- /dev/null
+++ b/data/maps/Route129/map.bin
Binary files differ
diff --git a/data/maps/Route130/border.bin b/data/maps/Route130/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/Route130/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/Route130/connections.inc b/data/maps/Route130/connections.inc
new file mode 100644
index 000000000..f4972fa38
--- /dev/null
+++ b/data/maps/Route130/connections.inc
@@ -0,0 +1,8 @@
+Route130_MapConnectionsList: @ 8486C84
+ connection left, 0, ROUTE_131, 0
+ connection right, 0, ROUTE_129, 0
+
+Route130_MapConnections: @ 8486C9C
+ .4byte 0x2
+ .4byte Route130_MapConnectionsList
+
diff --git a/data/maps/Route130/header.inc b/data/maps/Route130/header.inc
new file mode 100644
index 000000000..de1acbc4a
--- /dev/null
+++ b/data/maps/Route130/header.inc
@@ -0,0 +1,15 @@
+Route130: @ 84829A4
+ .4byte Route130_MapAttributes
+ .4byte Route130_MapEvents
+ .4byte Route130_MapScripts
+ .4byte Route130_MapConnections
+ .2byte BGM_GRANROAD
+ .2byte 263
+ .byte 45
+ .byte 0
+ .byte 2
+ .byte 6
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route130/map.bin b/data/maps/Route130/map.bin
new file mode 100644
index 000000000..b06fa74dc
--- /dev/null
+++ b/data/maps/Route130/map.bin
@@ -0,0 +1 @@
+pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppr{{{{{{vppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprqkllmqvppppuvpppppppppppppppppppppppppppppppppppppppppppppppr{{{{{{{vpppppppuqkqquqq|uvpp}~pu{vppppppppppppppppppppppppppppppppppppppppu{{qklllmqvppppuvq{|||}qt}~pppppzq|ppppuvuvppppppppppppppppppppppppppppppppzqqqkklmmqvppp}~pyqqqtyppu{{vppyppPQ}~}~ppppppppppppppppppppppppppppppuvzqqqsq{|}quqq|ppPQppppyyyppppzqq|pPQppuvXYppppPQppppppppppppppppppppppppppuv}~qq{qqqt}qtppXYpppuvppppppuvyypXYpp}~ppppppXYpppppppppppppppppppppPQppp}~pppyq{|||}qtpuv{vppp}~pppppp}~pppPQpppppppppppppr{vpppppppppppppppppppXYu{{vpppPQpyypp}~q|ppppppppppPQppppXYppPQpppppppu{q{vpppppppppppppppuvu{qq|pppXYppppppppuvppppyppppppppppXYppppppppXYpppppuvqqqqvpppppppppppppp}~zqqqtppppppppppppp}~ppppppppppppppppppppppppuvppppppp}~pyyyyyuvppppppu{{vpuvpyyyuvppppppuvppppppppppppuvppppppppppppu{{v}~ppppppppppppppppp}~pppu{{kmv}~pppppp}~pppppp}~pppppppppppp}~u{vpppppppuvyyppppppppppppppppppppuvppzqqq{}q|puvpppppppppppppppppppppppppuvppztppppppp}~pppppppppppppppppppppppp}~PQyyqqtp}~ppppppppppppppppppppppppp}~ppppppppppppppppppppppppppppppppppppppXYpppyyppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppPQpppppppuvppppppppppppppppppppppppppppppppppu{vpppppppppppppppppppppppppppppPQpXYppr{{{v}~ppu{{vppppppppppppppppppppppppppppzq|uvpppppppppppppppppppppppppppXYpppr{qqqvpuvqq|ppppppppppppppppppppppppppuvy}~pppppppppppppppppppppppppppppu{{qqqqqqv}~qqtpPQpppppppppppppppppppppuv}~ppppppppppppppppppppppppppuvpuvpppqqqqqqqqqvpyyuvXYPQu{vpuvpppppppPQpppp}~pppppppppppppppppppppppppppp}~p}~ppppyqqqqqqtypppp}~ppXYyp}~pppppppXYu{{{vpppuvppppppppppppppppppppppPQpuvpu{{{vppyyyyyyPQpppppppppppppuvpPQpppuvppzqqq{vp}~ppppppuvppppppppppppppXYp}~pqqvpppppppppXYupppppppppppp}~pXYu{v}~uvyyqqvpuvpppPQ}~pppppppPQppppr{{{vppptyppppppppppp}pppppPQppppppppppzq|pp}~pppyyyp}~PQpXYppu{{vpuvXYppr{qkmvppppppppppppppppppppppXYppppppppppypppppppppppppppXYuvpppqv}~pu{{klm{}q|pppppppppppppppppppppppppppppppppppppppppppppppppppppppp}~ppppyypppqq{|}qqtppppppppppppppppppppppppppppppPQpppppppppppppppppppppppppppppppppppPQpyyyypppppppppppppppppppppppppppppppXYpppppppppppppppppppppppppppppppppppXYpppppppppppppppppppppppppppppp \ No newline at end of file
diff --git a/data/maps/Route131/border.bin b/data/maps/Route131/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/Route131/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/Route131/connections.inc b/data/maps/Route131/connections.inc
new file mode 100644
index 000000000..4470802dd
--- /dev/null
+++ b/data/maps/Route131/connections.inc
@@ -0,0 +1,8 @@
+Route131_MapConnectionsList: @ 8486CA4
+ connection left, 0, PACIFIDLOG_TOWN, 0
+ connection right, 0, ROUTE_130, 0
+
+Route131_MapConnections: @ 8486CBC
+ .4byte 0x2
+ .4byte Route131_MapConnectionsList
+
diff --git a/data/maps/Route131/header.inc b/data/maps/Route131/header.inc
new file mode 100644
index 000000000..38769c3e3
--- /dev/null
+++ b/data/maps/Route131/header.inc
@@ -0,0 +1,15 @@
+Route131: @ 84829C0
+ .4byte Route131_MapAttributes
+ .4byte Route131_MapEvents
+ .4byte Route131_MapScripts
+ .4byte Route131_MapConnections
+ .2byte BGM_GRANROAD
+ .2byte 47
+ .byte 46
+ .byte 0
+ .byte 2
+ .byte 6
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route131/map.bin b/data/maps/Route131/map.bin
new file mode 100644
index 000000000..096d6e116
--- /dev/null
+++ b/data/maps/Route131/map.bin
@@ -0,0 +1 @@
+qqqqqqqqqqqt||}ut|}ppVOOOOOOOOOOOOOOOOOVpppppppppppppppppqqqqqqqqt||}qqt}upppVOOOOOOOOOOOOOOOOOVppppppppppppppppp||||||||}qqqt|}t}pppppppVOOOOOOOOOOOOOOOOVpppppppppppppppppqqqqqt|||}qt}pppppppVOOOOOOOOOOOOOOOVppppppppppppppppppqqt||}qqqt|}ppppppppVOOOOOOOOOOOOOOOVpppppppppppppppppp||}qt|||}ppuvppppppVOOOOOOOOOOOOOOVpppppppppppppppppp|}uvpu{vp}~ppppppVOOOOOOOOOOOOOVpppppppppppppppppppZ[ppppp}~pzq|ppppppppppVOOOOOOOOOOOOVpppppppPQpppppppppppXYppppuvppppypppppppuvpVOOOOOOOOOOOOVppuvu{vXYppppppppppppppu{vp}~ppuvPQppppppPQ}~pVOOOOOOOOOOOVpuv}~zq|ppuvppppppppppppzq|ppppp}~XYppuvppXYpu{vVOOOOOOOOOOVp}~ppyPQ}~ppppppppPQppyppuvPQpppPQ}~pPQppzq|VOOOOOOOOOVpuvppppppXYpu{{vpppppXYpppppPQ}~XYpuvXYpPQXYppypVOOOOOOOOVu|pppuvpppuqqvpppppppppppXYppppp}~pppXYppppppuvpVOOOOOOVpzq|ppp}~PQpyyyyPQppppppppppppppppppppuvppppppp}~uvVVVVVVuvypppppXYuvppPQpXYu{pppppppppppppppppp}~u{vpppppp}~ppppPQ}~pppppppppp}~ppXYpppzqppppppppppppppppppppzq{vppppuvppuvXYpppppppu{vpppppPQppuvyppppppppppppppppppppyyypppp}~uv}~pppppppu{q|pppppXYpp}~ppppppppppppppppppppppppppppppppp}~pppppppPQzqqq|ppppppPQpppPQppppppppppppppppppppppppppppppppppppppppXYyyyppppppXYpppXYppppppppppppppppppppppppPQppuvpppppppu{vppppppppppppppppppppppppppppppppppppppppppppXYPQ}~ppppuvuq|ppppppppppppppppppppppppppppppppppppppppppppppXYppu{{v}~yyppppppppppppppppppppppppppppppppppppppppppppppppppyyppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppPQppppppppppppppppppppppppppppppppppppppppppppuvppppppPQppppXYppppppppppppppppppppppppppppppppppPQuvpppppp}~pppuvpXYppppppppuvppppppppppppppppppppppppppppppXY}~ppppppu{PQp}~pppu{vpppppzvpuvpppppppppppppuvpppppppppuvppppppppppzqXYppppppzq|puvppv}~pppppppppppPQ}~pppppppuv}~ppppppppPQy{{{{tpppyp}~uvpypppppppu{{vppXYpuvpppppp}~pppPQpuvppXYppqqqq{tppppuvp}~ppuvpppppppzqq{vppp}~uvpppu{{vppXYp}~puvpppllllmq{{{t}~pppuv}~ppu{{vpqqqvpppp}~ppuqq{{vu{{{v}~pppqqqqllmqq{tppp}~ppu{qq|uvyyyyppppppPQyyyqqqqtpppppqqqqqqqmqqqutppppppzqqqt}~ppppppppppppXYppppyqqqtppppPQqqqqqqqqllmuu{tppuvyyypppppppppppppppppppppppyyypppppXYqqqqqqqqqqqltp}~ppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqutpppppppppppppppppppppppppppppppppppppppppp \ No newline at end of file
diff --git a/data/maps/Route132/border.bin b/data/maps/Route132/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/Route132/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/Route132/connections.inc b/data/maps/Route132/connections.inc
new file mode 100644
index 000000000..0e18aa2f2
--- /dev/null
+++ b/data/maps/Route132/connections.inc
@@ -0,0 +1,8 @@
+Route132_MapConnectionsList: @ 8486CC4
+ connection left, 0, ROUTE_133, 0
+ connection right, 0, PACIFIDLOG_TOWN, 0
+
+Route132_MapConnections: @ 8486CDC
+ .4byte 0x2
+ .4byte Route132_MapConnectionsList
+
diff --git a/data/maps/Route132/header.inc b/data/maps/Route132/header.inc
new file mode 100644
index 000000000..bcb699543
--- /dev/null
+++ b/data/maps/Route132/header.inc
@@ -0,0 +1,15 @@
+Route132: @ 84829DC
+ .4byte Route132_MapAttributes
+ .4byte Route132_MapEvents
+ .4byte Route132_MapScripts
+ .4byte Route132_MapConnections
+ .2byte BGM_GRANROAD
+ .2byte 48
+ .byte 47
+ .byte 0
+ .byte 2
+ .byte 6
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route132/map.bin b/data/maps/Route132/map.bin
new file mode 100644
index 000000000..3250c0429
--- /dev/null
+++ b/data/maps/Route132/map.bin
Binary files differ
diff --git a/data/maps/Route133/border.bin b/data/maps/Route133/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/Route133/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/Route133/connections.inc b/data/maps/Route133/connections.inc
new file mode 100644
index 000000000..b133d8804
--- /dev/null
+++ b/data/maps/Route133/connections.inc
@@ -0,0 +1,8 @@
+Route133_MapConnectionsList: @ 8486CE4
+ connection left, 0, ROUTE_134, 0
+ connection right, 0, ROUTE_132, 0
+
+Route133_MapConnections: @ 8486CFC
+ .4byte 0x2
+ .4byte Route133_MapConnectionsList
+
diff --git a/data/maps/Route133/header.inc b/data/maps/Route133/header.inc
new file mode 100644
index 000000000..070113974
--- /dev/null
+++ b/data/maps/Route133/header.inc
@@ -0,0 +1,15 @@
+Route133: @ 84829F8
+ .4byte Route133_MapAttributes
+ .4byte Route133_MapEvents
+ .4byte Route133_MapScripts
+ .4byte Route133_MapConnections
+ .2byte BGM_GRANROAD
+ .2byte 49
+ .byte 48
+ .byte 0
+ .byte 2
+ .byte 6
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route133/map.bin b/data/maps/Route133/map.bin
new file mode 100644
index 000000000..1d4e74f73
--- /dev/null
+++ b/data/maps/Route133/map.bin
@@ -0,0 +1 @@
+ppppuvuvPQppppPQppppppuvppppPQPQppppuvPQPQPQpppPQppPQppuvPQuvppppPQPQuvPQuvpppPQPQpp}~}~XYppuvXYPQuvPQ}~PQuvXYXYppPQ}~XYXYXYpuvXYPQXYPQ}~XY}~PQuvXYXY}~XY}~PQpXYXYuvppppppuv}~ppXY}~XYccXY}~ppppPQXYpppppppPQ}~ppXYppXYccppppXY}~cccccpppppXYPQppp}~pppppp}~ppppppppcccccpppppppXYcppppppppXYpppppppcccccccpppcccccccccccppppXYpccppppppppppppppccccccccccccccccccccPQcccccpppppcccccccccccccccccccccccccccccccccppppuvppuvpppuvccccVF2F2F2WcccccXYcccpppppcccccccccccccccccVF2F2F2F2F2F2F2F2F2F2F2F2Wccccccpuv}~pp}~ppp}~VF2F2F2>2111_ccccPQccccccccccccccccccccccccccccc^111111111111_ccccccc}~11111111111^WWWW_OgccccXYccccccccccccccccccccfGGN111111111_ccccVF2F2F2F21111^WWWWWWWtyo_cccccccccccccccccccccccccccccfGGN111111_cccc^^W_11111ftyyo11_cccccccccccccccccccVF2F2F2WccccccccccfGN1111_cccV>2f_11^Wtyyyyyo111OGgcccccccccccccccccccc^111?2F2F2WccccccccfGGGGgccc^^WWtyyo1111111OGgccccccccccccccccccfN11111?2F2F2WcccccccccccccV>2f1111111OGGgcccccu{{{{{{{{{{{{tccfN1111111?2F2F2Wccccccccccc^1ftyyyyo1OGGGGGgcccu{{{{tccfN111111111?2F2F2Wccccccccc^1nyyo111111_ccccccccutyyyyyyyyyy{tccfN11111111111?2F2F2Wccccccccccc^1111111OGGGgcccccu{{tyy$1$1$1$1$1$1$1$1$1$1yyy|ccfN1111111111111_cccccccccccfGN1111Ogccccccccccccu{tyyy$1111111$1$111111$1$1$1tccccfGGGGGGGGGGGGGgccccccccccfGGGGgcccccccccccccztyo11111111111111nytcccccccccccccccccccPQcccccccccccccccccccccccccc}~ppp}y~cccccccccccccccccccXYcccccccccccccccccccccccccccppppppppppppppppppppppppppcccccccccccccccccccccccccccccccccccccccccccccccccpppppppppppppppppppppppppcccccccccccccccccccccccccccccccccccccccccccccccccccccccccpppppppppppppppppppppccccccccccccccccccccccccccccccccccccccccccccccccccccccccccPQppPQppppPQppppppppu{{{{{{{{{{tcccPQccPQcccccPQcccccPQPQccccccccccccccccccccPQcXYPQXYPQPQXYppppu{{{tPQXYccXYcPQPQXYPQcPQXYXYcccccccccccccccccuvcXYcccXYppXYXYppppputyyyyytyyyyy~XYcccccccXYXYppXYcXYO1O1O1O1cccccccccccccccuv}~lllcccpppppppppppu{to1111n1111?2WcccccpppppppppppPQO1O1O1O1O1F2Wcccccccccccuv}~llllcccccccpppppu{{tyyo111111no111111?2WccpppppppppppPQXYO1O1O1O1O11_cccccccccuv}~llllcccccccccccpputo11111^_111111^_111_cppppppppppppXYO1O1O1O1O1O1O11_ccccccccc}~llllccccccccccccccc}yyyo11111no1111111fg^_1_ccpppppppppppPQO1O1O1O1O1O1O11_cccccccccclllccccccccccccccccccccc^1111^_111111111nofg1_cccppppppppppXYO1O1O1O1O1O1O11_ccccccccccccccccccccccccccccccccccfGN11fg1111111111no1_cccccppppppccPQO1O1O1O1O1O11_cccccccccccccccccccccccccccccccccccc^11no1111OGGGN1111OgcccccccppPQccXYPQO1O1O1O11_cccccccccc\\\cccccccccccccccccccccccfN11111OGgcccfGGGGgccccccccccXYccXYPQPQOgccccccccccPQ\\\\cccccccccccccccccccccfN111OgccccccccccccccccccccccccccXYXYgcccccccccccXYPQ\\\\\cccccccccccccccccccfGGGgccccccccccccccccccccccccpPQccccccccccccccccccXYuvPQ\\\ccccccccccpppppppccccccccccccccccccccccccuvccppXYppccuvccccccccccuvpp}~XYccccccPQccccPQpppppPQuvccccccccccpppuvppPQuv}~ppppppppppPQPQ}~ccccccuvPQ}~ppppuvccccccXYuvPQXYpppppXY}~PQccccppPQuvp}~PQXY}~PQppuvppppPQXYXYppPQPQuv}~XYpppppp}~uvuvPQuv}~XYpPQuvPQuvppXYPQuvuvXY}~PQpXYppppXYuv}~PQuvXYppppppXYXY}~pppppppppppp}~}~XY}~pppppXY}~XY}~ppppXY}~}~ppppXYppppppppp}~ppXY}~pppppp \ No newline at end of file
diff --git a/data/maps/Route134/border.bin b/data/maps/Route134/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/Route134/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/Route134/connections.inc b/data/maps/Route134/connections.inc
new file mode 100644
index 000000000..8429378e4
--- /dev/null
+++ b/data/maps/Route134/connections.inc
@@ -0,0 +1,8 @@
+Route134_MapConnectionsList: @ 8486D04
+ connection left, 0, SLATEPORT_CITY, 0
+ connection right, 0, ROUTE_133, 0
+
+Route134_MapConnections: @ 8486D1C
+ .4byte 0x2
+ .4byte Route134_MapConnectionsList
+
diff --git a/data/maps/Route134/header.inc b/data/maps/Route134/header.inc
new file mode 100644
index 000000000..4dac7fca7
--- /dev/null
+++ b/data/maps/Route134/header.inc
@@ -0,0 +1,15 @@
+Route134: @ 8482A14
+ .4byte Route134_MapAttributes
+ .4byte Route134_MapEvents
+ .4byte Route134_MapScripts
+ .4byte Route134_MapConnections
+ .2byte BGM_GRANROAD
+ .2byte 50
+ .byte 49
+ .byte 0
+ .byte 2
+ .byte 6
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Route134/map.bin b/data/maps/Route134/map.bin
new file mode 100644
index 000000000..7b78a2d3c
--- /dev/null
+++ b/data/maps/Route134/map.bin
Binary files differ
diff --git a/data/maps/RustboroCity/border.bin b/data/maps/RustboroCity/border.bin
new file mode 100644
index 000000000..03bcafef1
--- /dev/null
+++ b/data/maps/RustboroCity/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/RustboroCity/connections.inc b/data/maps/RustboroCity/connections.inc
new file mode 100644
index 000000000..01e5aff35
--- /dev/null
+++ b/data/maps/RustboroCity/connections.inc
@@ -0,0 +1,9 @@
+RustboroCity_MapConnectionsList: @ 8486758
+ connection up, 0, ROUTE_115, 0
+ connection down, 0, ROUTE_104, 0
+ connection right, 0, ROUTE_116, 0
+
+RustboroCity_MapConnections: @ 848677C
+ .4byte 0x3
+ .4byte RustboroCity_MapConnectionsList
+
diff --git a/data/maps/RustboroCity/header.inc b/data/maps/RustboroCity/header.inc
new file mode 100644
index 000000000..cdff5a143
--- /dev/null
+++ b/data/maps/RustboroCity/header.inc
@@ -0,0 +1,15 @@
+RustboroCity: @ 848250C
+ .4byte RustboroCity_MapAttributes
+ .4byte RustboroCity_MapEvents
+ .4byte RustboroCity_MapScripts
+ .4byte RustboroCity_MapConnections
+ .2byte BGM_GOTOWN
+ .2byte 4
+ .byte 10
+ .byte 0
+ .byte 2
+ .byte 2
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/RustboroCity/map.bin b/data/maps/RustboroCity/map.bin
new file mode 100644
index 000000000..06736e47e
--- /dev/null
+++ b/data/maps/RustboroCity/map.bin
Binary files differ
diff --git a/data/maps/RustboroCity_CuttersHouse/border.bin b/data/maps/RustboroCity_CuttersHouse/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/RustboroCity_CuttersHouse/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/RustboroCity_CuttersHouse/header.inc b/data/maps/RustboroCity_CuttersHouse/header.inc
new file mode 100644
index 000000000..95ce57873
--- /dev/null
+++ b/data/maps/RustboroCity_CuttersHouse/header.inc
@@ -0,0 +1,15 @@
+RustboroCity_CuttersHouse: @ 8483478
+ .4byte RustboroCity_CuttersHouse_MapAttributes
+ .4byte RustboroCity_CuttersHouse_MapEvents
+ .4byte RustboroCity_CuttersHouse_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 98
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/RustboroCity_CuttersHouse/map.bin b/data/maps/RustboroCity_CuttersHouse/map.bin
new file mode 100644
index 000000000..5515d00cf
--- /dev/null
+++ b/data/maps/RustboroCity_CuttersHouse/map.bin
@@ -0,0 +1 @@
+yzfg8898x88no@@A@VW33v3w3+3+3+3+33^3_3+3{3|3|3}3,3,3,3,3,3,3+33>2>23,3,3,3j7k7E3+33>2>23,3,3D3r7s7E3+33333,3,3,3,3,3,3F3G3,3,3,3,3,3,3,3,3,3N7O7,3,3,3LM,3,3,3,3 \ No newline at end of file
diff --git a/data/maps/RustboroCity_DevonCorp_1F/border.bin b/data/maps/RustboroCity_DevonCorp_1F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/RustboroCity_DevonCorp_1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/RustboroCity_DevonCorp_1F/header.inc b/data/maps/RustboroCity_DevonCorp_1F/header.inc
new file mode 100644
index 000000000..68391354e
--- /dev/null
+++ b/data/maps/RustboroCity_DevonCorp_1F/header.inc
@@ -0,0 +1,15 @@
+RustboroCity_DevonCorp_1F: @ 8483344
+ .4byte RustboroCity_DevonCorp_1F_MapAttributes
+ .4byte RustboroCity_DevonCorp_1F_MapEvents
+ .4byte RustboroCity_DevonCorp_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 92
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/RustboroCity_DevonCorp_1F/map.bin b/data/maps/RustboroCity_DevonCorp_1F/map.bin
new file mode 100644
index 000000000..09f86a742
--- /dev/null
+++ b/data/maps/RustboroCity_DevonCorp_1F/map.bin
@@ -0,0 +1 @@
+33333333333333333333333333333333333333333333333333333333333333333333333333333333322333333333333 \ No newline at end of file
diff --git a/data/maps/RustboroCity_DevonCorp_2F/border.bin b/data/maps/RustboroCity_DevonCorp_2F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/RustboroCity_DevonCorp_2F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/RustboroCity_DevonCorp_2F/header.inc b/data/maps/RustboroCity_DevonCorp_2F/header.inc
new file mode 100644
index 000000000..83a317006
--- /dev/null
+++ b/data/maps/RustboroCity_DevonCorp_2F/header.inc
@@ -0,0 +1,15 @@
+RustboroCity_DevonCorp_2F: @ 8483360
+ .4byte RustboroCity_DevonCorp_2F_MapAttributes
+ .4byte RustboroCity_DevonCorp_2F_MapEvents
+ .4byte RustboroCity_DevonCorp_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 93
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/RustboroCity_DevonCorp_2F/map.bin b/data/maps/RustboroCity_DevonCorp_2F/map.bin
new file mode 100644
index 000000000..03985c572
--- /dev/null
+++ b/data/maps/RustboroCity_DevonCorp_2F/map.bin
@@ -0,0 +1 @@
+33333333333333333333333333333333333337773377337733773333377333733333333333333333333333333333333333377337733773333333333333333333333 \ No newline at end of file
diff --git a/data/maps/RustboroCity_DevonCorp_3F/border.bin b/data/maps/RustboroCity_DevonCorp_3F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/RustboroCity_DevonCorp_3F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/RustboroCity_DevonCorp_3F/header.inc b/data/maps/RustboroCity_DevonCorp_3F/header.inc
new file mode 100644
index 000000000..4c40570f6
--- /dev/null
+++ b/data/maps/RustboroCity_DevonCorp_3F/header.inc
@@ -0,0 +1,15 @@
+RustboroCity_DevonCorp_3F: @ 848337C
+ .4byte RustboroCity_DevonCorp_3F_MapAttributes
+ .4byte RustboroCity_DevonCorp_3F_MapEvents
+ .4byte RustboroCity_DevonCorp_3F_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 269
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/RustboroCity_DevonCorp_3F/map.bin b/data/maps/RustboroCity_DevonCorp_3F/map.bin
new file mode 100644
index 000000000..5a55ee4ab
--- /dev/null
+++ b/data/maps/RustboroCity_DevonCorp_3F/map.bin
@@ -0,0 +1 @@
+IJK33333333Q3R3S3333333333333333333333333332333HC333B33333PC333C33233C333C33333333333333333333333333333333333 \ No newline at end of file
diff --git a/data/maps/RustboroCity_Flat1_1F/border.bin b/data/maps/RustboroCity_Flat1_1F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/RustboroCity_Flat1_1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/RustboroCity_Flat1_1F/header.inc b/data/maps/RustboroCity_Flat1_1F/header.inc
new file mode 100644
index 000000000..b3bba8806
--- /dev/null
+++ b/data/maps/RustboroCity_Flat1_1F/header.inc
@@ -0,0 +1,15 @@
+RustboroCity_Flat1_1F: @ 8483424
+ .4byte RustboroCity_Flat1_1F_MapAttributes
+ .4byte RustboroCity_Flat1_1F_MapEvents
+ .4byte RustboroCity_Flat1_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 313
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/RustboroCity_Flat1_1F/map.bin b/data/maps/RustboroCity_Flat1_1F/map.bin
new file mode 100644
index 000000000..017298e71
--- /dev/null
+++ b/data/maps/RustboroCity_Flat1_1F/map.bin
@@ -0,0 +1 @@
+8()*:888:8x88:H0 2B@@@B@VWBP3+3+3+3+3+3+3+3+3+33^3_3+3+3D3,3,3,3,3,3,3{3|3|3|3|3}3+3h7i7,3,3,3,3,332H6I623+3p7q7E3,3,3,3,33>2P6Q623F3G3,3,3,3,3,3,3333333N7O7,3,3,3,3LM,3,3,3,3,3,3 \ No newline at end of file
diff --git a/data/maps/RustboroCity_Flat1_2F/border.bin b/data/maps/RustboroCity_Flat1_2F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/RustboroCity_Flat1_2F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/RustboroCity_Flat1_2F/header.inc b/data/maps/RustboroCity_Flat1_2F/header.inc
new file mode 100644
index 000000000..2f17773b4
--- /dev/null
+++ b/data/maps/RustboroCity_Flat1_2F/header.inc
@@ -0,0 +1,15 @@
+RustboroCity_Flat1_2F: @ 8483440
+ .4byte RustboroCity_Flat1_2F_MapAttributes
+ .4byte RustboroCity_Flat1_2F_MapEvents
+ .4byte RustboroCity_Flat1_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 314
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/RustboroCity_Flat1_2F/map.bin b/data/maps/RustboroCity_Flat1_2F/map.bin
new file mode 100644
index 000000000..936907d32
--- /dev/null
+++ b/data/maps/RustboroCity_Flat1_2F/map.bin
@@ -0,0 +1 @@
+8()*:888:8888:@02B@@@BT7UIB+3+3+3+3+3+3+3+3+3\3?3]3Q3+3+3,3,3,3,3,3,3,3,3,3,3,3,3,3+3D3~777E3,3{|||},3,3+3,3777E3,3:2!7/3,3,3+3G3G3,3,3,3,333,3,3+3O7O7,3,3,3,3,3,3 \ No newline at end of file
diff --git a/data/maps/RustboroCity_Flat2_1F/border.bin b/data/maps/RustboroCity_Flat2_1F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/RustboroCity_Flat2_1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/RustboroCity_Flat2_1F/header.inc b/data/maps/RustboroCity_Flat2_1F/header.inc
new file mode 100644
index 000000000..933ce6a3c
--- /dev/null
+++ b/data/maps/RustboroCity_Flat2_1F/header.inc
@@ -0,0 +1,15 @@
+RustboroCity_Flat2_1F: @ 84834B0
+ .4byte RustboroCity_Flat2_1F_MapAttributes
+ .4byte RustboroCity_Flat2_1F_MapEvents
+ .4byte RustboroCity_Flat2_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 294
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/RustboroCity_Flat2_1F/map.bin b/data/maps/RustboroCity_Flat2_1F/map.bin
new file mode 100644
index 000000000..0f6829f9c
--- /dev/null
+++ b/data/maps/RustboroCity_Flat2_1F/map.bin
Binary files differ
diff --git a/data/maps/RustboroCity_Flat2_2F/border.bin b/data/maps/RustboroCity_Flat2_2F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/RustboroCity_Flat2_2F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/RustboroCity_Flat2_2F/header.inc b/data/maps/RustboroCity_Flat2_2F/header.inc
new file mode 100644
index 000000000..aa2176400
--- /dev/null
+++ b/data/maps/RustboroCity_Flat2_2F/header.inc
@@ -0,0 +1,15 @@
+RustboroCity_Flat2_2F: @ 84834CC
+ .4byte RustboroCity_Flat2_2F_MapAttributes
+ .4byte RustboroCity_Flat2_2F_MapEvents
+ .4byte RustboroCity_Flat2_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 295
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/RustboroCity_Flat2_2F/map.bin b/data/maps/RustboroCity_Flat2_2F/map.bin
new file mode 100644
index 000000000..9f3750fb4
--- /dev/null
+++ b/data/maps/RustboroCity_Flat2_2F/map.bin
Binary files differ
diff --git a/data/maps/RustboroCity_Flat2_3F/border.bin b/data/maps/RustboroCity_Flat2_3F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/RustboroCity_Flat2_3F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/RustboroCity_Flat2_3F/header.inc b/data/maps/RustboroCity_Flat2_3F/header.inc
new file mode 100644
index 000000000..c173ac577
--- /dev/null
+++ b/data/maps/RustboroCity_Flat2_3F/header.inc
@@ -0,0 +1,15 @@
+RustboroCity_Flat2_3F: @ 84834E8
+ .4byte RustboroCity_Flat2_3F_MapAttributes
+ .4byte RustboroCity_Flat2_3F_MapEvents
+ .4byte RustboroCity_Flat2_3F_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 296
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/RustboroCity_Flat2_3F/map.bin b/data/maps/RustboroCity_Flat2_3F/map.bin
new file mode 100644
index 000000000..2112fe799
--- /dev/null
+++ b/data/maps/RustboroCity_Flat2_3F/map.bin
Binary files differ
diff --git a/data/maps/RustboroCity_Gym/border.bin b/data/maps/RustboroCity_Gym/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/RustboroCity_Gym/border.bin
Binary files differ
diff --git a/data/maps/RustboroCity_Gym/header.inc b/data/maps/RustboroCity_Gym/header.inc
new file mode 100644
index 000000000..0eedfdd09
--- /dev/null
+++ b/data/maps/RustboroCity_Gym/header.inc
@@ -0,0 +1,15 @@
+RustboroCity_Gym: @ 8483398
+ .4byte RustboroCity_Gym_MapAttributes
+ .4byte RustboroCity_Gym_MapEvents
+ .4byte RustboroCity_Gym_MapScripts
+ .4byte 0x0
+ .2byte BGM_GIM
+ .2byte 94
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/RustboroCity_Gym/map.bin b/data/maps/RustboroCity_Gym/map.bin
new file mode 100644
index 000000000..4451674a7
--- /dev/null
+++ b/data/maps/RustboroCity_Gym/map.bin
@@ -0,0 +1,2 @@
+ '226 2
+2 2 6222226222622722222222222222222222222#/22 !!!!!!"#22()))))"#2272022,2.22 "#222#/2 "/2 "#22212(*2 "#2()*222-242%"#222.222(!!"#2 "/2272()"#2 $5222322 "+2()*/2(*/2(*227222272227222222222222222&/22222&/222272220027222 \ No newline at end of file
diff --git a/data/maps/RustboroCity_House1/border.bin b/data/maps/RustboroCity_House1/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/RustboroCity_House1/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/RustboroCity_House1/header.inc b/data/maps/RustboroCity_House1/header.inc
new file mode 100644
index 000000000..c07cc459a
--- /dev/null
+++ b/data/maps/RustboroCity_House1/header.inc
@@ -0,0 +1,15 @@
+RustboroCity_House1: @ 848345C
+ .4byte RustboroCity_House1_MapAttributes
+ .4byte RustboroCity_House1_MapEvents
+ .4byte RustboroCity_House1_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 97
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/RustboroCity_House1/map.bin b/data/maps/RustboroCity_House1/map.bin
new file mode 100644
index 000000000..a14fc0405
--- /dev/null
+++ b/data/maps/RustboroCity_House1/map.bin
@@ -0,0 +1 @@
+888188::88888CJK@@BB@TUICN7R3S363+3+3+3+3+3\3]3Q3N7+3,3,3,3,3,3,3,3{3|3|3}3,3+3,3D3~777E3,33>2>23,3+3,3D3777,3,33333,3F3,3,3,3,3,3,3,3,3,3,3,3G3N7,3,3,3,3LM,3,3,3,3,3O7 \ No newline at end of file
diff --git a/data/maps/RustboroCity_House2/border.bin b/data/maps/RustboroCity_House2/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/RustboroCity_House2/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/RustboroCity_House2/header.inc b/data/maps/RustboroCity_House2/header.inc
new file mode 100644
index 000000000..14dabb2e8
--- /dev/null
+++ b/data/maps/RustboroCity_House2/header.inc
@@ -0,0 +1,15 @@
+RustboroCity_House2: @ 8483494
+ .4byte RustboroCity_House2_MapAttributes
+ .4byte RustboroCity_House2_MapEvents
+ .4byte RustboroCity_House2_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 96
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/RustboroCity_House2/map.bin b/data/maps/RustboroCity_House2/map.bin
new file mode 100644
index 000000000..5a53bbc77
--- /dev/null
+++ b/data/maps/RustboroCity_House2/map.bin
@@ -0,0 +1 @@
+yz89888819fgIA@@JKAno33Q3+3+3+3R3S363+3v3w3+3,3,3{3|3|3|3|3}3,3,3,3+3,3,332H^23,3,3,3+3,3,332PQ23,3,3,3+3,3,3333333,3,3,3F3,3,3,3,3,3,3,3,3,3,3G3N,3,3,3,3LM,3,3,3,3O \ No newline at end of file
diff --git a/data/maps/RustboroCity_House3/header.inc b/data/maps/RustboroCity_House3/header.inc
new file mode 100644
index 000000000..6d1c4dfd4
--- /dev/null
+++ b/data/maps/RustboroCity_House3/header.inc
@@ -0,0 +1,15 @@
+RustboroCity_House3: @ 8483504
+ .4byte RustboroCity_House3_MapAttributes
+ .4byte RustboroCity_House3_MapEvents
+ .4byte RustboroCity_House3_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOTOWN
+ .2byte 96
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/RustboroCity_Mart/header.inc b/data/maps/RustboroCity_Mart/header.inc
new file mode 100644
index 000000000..28751a53f
--- /dev/null
+++ b/data/maps/RustboroCity_Mart/header.inc
@@ -0,0 +1,15 @@
+RustboroCity_Mart: @ 8483408
+ .4byte RustboroCity_Mart_MapAttributes
+ .4byte RustboroCity_Mart_MapEvents
+ .4byte RustboroCity_Mart_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRIENDLY
+ .2byte 63
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/RustboroCity_PokemonCenter_1F/header.inc b/data/maps/RustboroCity_PokemonCenter_1F/header.inc
new file mode 100644
index 000000000..0069de670
--- /dev/null
+++ b/data/maps/RustboroCity_PokemonCenter_1F/header.inc
@@ -0,0 +1,15 @@
+RustboroCity_PokemonCenter_1F: @ 84833D0
+ .4byte RustboroCity_PokemonCenter_1F_MapAttributes
+ .4byte RustboroCity_PokemonCenter_1F_MapEvents
+ .4byte RustboroCity_PokemonCenter_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 61
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/RustboroCity_PokemonCenter_2F/header.inc b/data/maps/RustboroCity_PokemonCenter_2F/header.inc
new file mode 100644
index 000000000..328472b06
--- /dev/null
+++ b/data/maps/RustboroCity_PokemonCenter_2F/header.inc
@@ -0,0 +1,15 @@
+RustboroCity_PokemonCenter_2F: @ 84833EC
+ .4byte RustboroCity_PokemonCenter_2F_MapAttributes
+ .4byte RustboroCity_PokemonCenter_2F_MapEvents
+ .4byte RustboroCity_PokemonCenter_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 62
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/RustboroCity_PokemonSchool/border.bin b/data/maps/RustboroCity_PokemonSchool/border.bin
new file mode 100644
index 000000000..8f857616b
--- /dev/null
+++ b/data/maps/RustboroCity_PokemonSchool/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/RustboroCity_PokemonSchool/header.inc b/data/maps/RustboroCity_PokemonSchool/header.inc
new file mode 100644
index 000000000..03b02a3fa
--- /dev/null
+++ b/data/maps/RustboroCity_PokemonSchool/header.inc
@@ -0,0 +1,15 @@
+RustboroCity_PokemonSchool: @ 84833B4
+ .4byte RustboroCity_PokemonSchool_MapAttributes
+ .4byte RustboroCity_PokemonSchool_MapEvents
+ .4byte RustboroCity_PokemonSchool_MapScripts
+ .4byte 0x0
+ .2byte BGM_P_SCHOOL
+ .2byte 95
+ .byte 10
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/RustboroCity_PokemonSchool/map.bin b/data/maps/RustboroCity_PokemonSchool/map.bin
new file mode 100644
index 000000000..3f3b183d3
--- /dev/null
+++ b/data/maps/RustboroCity_PokemonSchool/map.bin
Binary files differ
diff --git a/data/maps/RusturfTunnel/border.bin b/data/maps/RusturfTunnel/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/RusturfTunnel/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/RusturfTunnel/header.inc b/data/maps/RusturfTunnel/header.inc
new file mode 100644
index 000000000..95a3c66e7
--- /dev/null
+++ b/data/maps/RusturfTunnel/header.inc
@@ -0,0 +1,15 @@
+RusturfTunnel: @ 8483F30
+ .4byte RusturfTunnel_MapAttributes
+ .4byte RusturfTunnel_MapEvents
+ .4byte RusturfTunnel_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN01
+ .2byte 129
+ .byte 60
+ .byte 0
+ .byte 6
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/RusturfTunnel/map.bin b/data/maps/RusturfTunnel/map.bin
new file mode 100644
index 000000000..87ce9bc73
--- /dev/null
+++ b/data/maps/RusturfTunnel/map.bin
@@ -0,0 +1,2 @@
+3!43!!!4222222@<A@<<<A22222222222222222222222222222222222222222222222222222222222222222                 
+2222222223!!4222222222234@<<A3422222222222@A@A22222222222 PQR   3!422         @<A2223!!4      "22222222234@<<A342222222222   "@A   @A2222222222222 "  2222222222222      2222     PQR  342222            @A2222            222   PQR  3!4        3!4@<A           @<A \ No newline at end of file
diff --git a/data/maps/SSTidalCorridor/border.bin b/data/maps/SSTidalCorridor/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/SSTidalCorridor/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SSTidalCorridor/header.inc b/data/maps/SSTidalCorridor/header.inc
new file mode 100644
index 000000000..48ef241d3
--- /dev/null
+++ b/data/maps/SSTidalCorridor/header.inc
@@ -0,0 +1,15 @@
+SSTidalCorridor: @ 8484F0C
+ .4byte SSTidalCorridor_MapAttributes
+ .4byte SSTidalCorridor_MapEvents
+ .4byte SSTidalCorridor_MapScripts
+ .4byte 0x0
+ .2byte BGM_M_BOAT
+ .2byte 277
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SSTidalCorridor/map.bin b/data/maps/SSTidalCorridor/map.bin
new file mode 100644
index 000000000..f8cf1725d
--- /dev/null
+++ b/data/maps/SSTidalCorridor/map.bin
@@ -0,0 +1 @@
+2222222222222222 6222222222222222222201111111111222222011111111112222220111111111122222201111111111222222%#$"#$"#$"#&22222-+6{*+6{*+6{*+622222222222222222222 22222222222222222 \ No newline at end of file
diff --git a/data/maps/SSTidalLowerDeck/border.bin b/data/maps/SSTidalLowerDeck/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/SSTidalLowerDeck/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SSTidalLowerDeck/header.inc b/data/maps/SSTidalLowerDeck/header.inc
new file mode 100644
index 000000000..b872e0cf8
--- /dev/null
+++ b/data/maps/SSTidalLowerDeck/header.inc
@@ -0,0 +1,15 @@
+SSTidalLowerDeck: @ 8484F28
+ .4byte SSTidalLowerDeck_MapAttributes
+ .4byte SSTidalLowerDeck_MapEvents
+ .4byte SSTidalLowerDeck_MapScripts
+ .4byte 0x0
+ .2byte BGM_M_BOAT
+ .2byte 278
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SSTidalLowerDeck/map.bin b/data/maps/SSTidalLowerDeck/map.bin
new file mode 100644
index 000000000..059ce30fe
--- /dev/null
+++ b/data/maps/SSTidalLowerDeck/map.bin
@@ -0,0 +1 @@
+22222222 22 22 22 2 2 22 2222 2222 22222 2 2 22222222 222 2222 2 2 22222 2 22222 2 2222222222222222 2 22 2 2 2 2 2 2 2 2 2 2 2 2 2 2222222222 222 222 2 22222 2662222222 2 \ No newline at end of file
diff --git a/data/maps/SSTidalRooms/border.bin b/data/maps/SSTidalRooms/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/SSTidalRooms/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SSTidalRooms/header.inc b/data/maps/SSTidalRooms/header.inc
new file mode 100644
index 000000000..94af1030f
--- /dev/null
+++ b/data/maps/SSTidalRooms/header.inc
@@ -0,0 +1,15 @@
+SSTidalRooms: @ 8484F44
+ .4byte SSTidalRooms_MapAttributes
+ .4byte SSTidalRooms_MapEvents
+ .4byte SSTidalRooms_MapScripts
+ .4byte 0x0
+ .2byte BGM_M_BOAT
+ .2byte 279
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SSTidalRooms/map.bin b/data/maps/SSTidalRooms/map.bin
new file mode 100644
index 000000000..6103ad0c2
--- /dev/null
+++ b/data/maps/SSTidalRooms/map.bin
@@ -0,0 +1 @@
+6@kcmE@kcmE@kc''@kcmE7>HsuMHsuMHs////uM?>PQ:2;2;2TUPQ:2;2;2TUPQ:2;2;2;2;2;2;2;2TU?>XY=28282\]XY=28282\]XY=282828282828282\]?>:;2<28282;2;2:;2<28282;2;2:2;2<282828282w682828282;2;2?>=2828282828282w68282VW8282=282`2VWa282=28282828282a2?>=2828282VW82=282`2^_a282=282`2^_a282=282828282VW?>=28282`2^_b=2828282828282=2828282b8282=2828282`2^_?6@klvlmElvllCDE@lvlvmE@kv'vmE7>Hst~tuMt~ttKij/t~t~uMHs~/~//?>PQ:2;2;2TU:2;2;2;2;2qr66;2;2;2TUPQ:2;2;2;2|2?>XY=28282\]=2VW8282yz828282\]XY=2VppW?>:;2<28282;2|2=2^_a282;256=282828282;2;2h;2<2^xx_?>=2828282828282=2828282828282=2828282828282=28282`2828282?>=2828282828282=2828282828282=2828282828282=2828282828282?>=28282de8282=28282de8282=28282de8282=28282de8282? \ No newline at end of file
diff --git a/data/maps/SafariZone_North/border.bin b/data/maps/SafariZone_North/border.bin
new file mode 100644
index 000000000..03bcafef1
--- /dev/null
+++ b/data/maps/SafariZone_North/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SafariZone_North/connections.inc b/data/maps/SafariZone_North/connections.inc
new file mode 100644
index 000000000..c2052ea07
--- /dev/null
+++ b/data/maps/SafariZone_North/connections.inc
@@ -0,0 +1,9 @@
+SafariZone_North_MapConnectionsList: @ 8486E18
+ connection left, 0, SAFARI_ZONE_NORTHWEST, 0
+ connection down, 0, SAFARI_ZONE_SOUTH, 0
+ connection right, 0, SAFARI_ZONE_NORTHEAST, 0
+
+SafariZone_North_MapConnections: @ 8486E3C
+ .4byte 0x3
+ .4byte SafariZone_North_MapConnectionsList
+
diff --git a/data/maps/SafariZone_North/header.inc b/data/maps/SafariZone_North/header.inc
new file mode 100644
index 000000000..76b8f7152
--- /dev/null
+++ b/data/maps/SafariZone_North/header.inc
@@ -0,0 +1,15 @@
+SafariZone_North: @ 8485158
+ .4byte SafariZone_North_MapAttributes
+ .4byte SafariZone_North_MapEvents
+ .4byte SafariZone_North_MapScripts
+ .4byte SafariZone_North_MapConnections
+ .2byte BGM_SAFARI
+ .2byte 239
+ .byte 57
+ .byte 0
+ .byte 0
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/SafariZone_North/map.bin b/data/maps/SafariZone_North/map.bin
new file mode 100644
index 000000000..4f5296815
--- /dev/null
+++ b/data/maps/SafariZone_North/map.bin
Binary files differ
diff --git a/data/maps/SafariZone_Northeast/border.bin b/data/maps/SafariZone_Northeast/border.bin
new file mode 100644
index 000000000..03bcafef1
--- /dev/null
+++ b/data/maps/SafariZone_Northeast/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SafariZone_Northeast/connections.inc b/data/maps/SafariZone_Northeast/connections.inc
new file mode 100644
index 000000000..c23dd3e4c
--- /dev/null
+++ b/data/maps/SafariZone_Northeast/connections.inc
@@ -0,0 +1,8 @@
+SafariZone_Northeast_MapConnectionsList: @ 8486E90
+ connection left, 0, SAFARI_ZONE_NORTH, 0
+ connection down, 0, SAFARI_ZONE_SOUTHEAST, 0
+
+SafariZone_Northeast_MapConnections: @ 8486EA8
+ .4byte 0x2
+ .4byte SafariZone_Northeast_MapConnectionsList
+
diff --git a/data/maps/SafariZone_Northeast/header.inc b/data/maps/SafariZone_Northeast/header.inc
new file mode 100644
index 000000000..714277457
--- /dev/null
+++ b/data/maps/SafariZone_Northeast/header.inc
@@ -0,0 +1,15 @@
+SafariZone_Northeast: @ 848528C
+ .4byte SafariZone_Northeast_MapAttributes
+ .4byte SafariZone_Northeast_MapEvents
+ .4byte SafariZone_Northeast_MapScripts
+ .4byte SafariZone_Northeast_MapConnections
+ .2byte BGM_SAFARI
+ .2byte 394
+ .byte 57
+ .byte 0
+ .byte 0
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/SafariZone_Northeast/map.bin b/data/maps/SafariZone_Northeast/map.bin
new file mode 100644
index 000000000..9a8803a6a
--- /dev/null
+++ b/data/maps/SafariZone_Northeast/map.bin
Binary files differ
diff --git a/data/maps/SafariZone_Northwest/border.bin b/data/maps/SafariZone_Northwest/border.bin
new file mode 100644
index 000000000..03bcafef1
--- /dev/null
+++ b/data/maps/SafariZone_Northwest/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SafariZone_Northwest/connections.inc b/data/maps/SafariZone_Northwest/connections.inc
new file mode 100644
index 000000000..9a466f082
--- /dev/null
+++ b/data/maps/SafariZone_Northwest/connections.inc
@@ -0,0 +1,8 @@
+SafariZone_Northwest_MapConnectionsList: @ 8486DF8
+ connection right, 0, SAFARI_ZONE_NORTH, 0
+ connection down, 0, SAFARI_ZONE_SOUTHWEST, 0
+
+SafariZone_Northwest_MapConnections: @ 8486E10
+ .4byte 0x2
+ .4byte SafariZone_Northwest_MapConnectionsList
+
diff --git a/data/maps/SafariZone_Northwest/header.inc b/data/maps/SafariZone_Northwest/header.inc
new file mode 100644
index 000000000..508e33d1c
--- /dev/null
+++ b/data/maps/SafariZone_Northwest/header.inc
@@ -0,0 +1,15 @@
+SafariZone_Northwest: @ 848513C
+ .4byte SafariZone_Northwest_MapAttributes
+ .4byte SafariZone_Northwest_MapEvents
+ .4byte SafariZone_Northwest_MapScripts
+ .4byte SafariZone_Northwest_MapConnections
+ .2byte BGM_SAFARI
+ .2byte 238
+ .byte 57
+ .byte 0
+ .byte 0
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/SafariZone_Northwest/map.bin b/data/maps/SafariZone_Northwest/map.bin
new file mode 100644
index 000000000..1825a1c92
--- /dev/null
+++ b/data/maps/SafariZone_Northwest/map.bin
Binary files differ
diff --git a/data/maps/SafariZone_RestHouse/border.bin b/data/maps/SafariZone_RestHouse/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/SafariZone_RestHouse/border.bin
Binary files differ
diff --git a/data/maps/SafariZone_RestHouse/header.inc b/data/maps/SafariZone_RestHouse/header.inc
new file mode 100644
index 000000000..855f01fcc
--- /dev/null
+++ b/data/maps/SafariZone_RestHouse/header.inc
@@ -0,0 +1,15 @@
+SafariZone_RestHouse: @ 8485270
+ .4byte SafariZone_RestHouse_MapAttributes
+ .4byte SafariZone_RestHouse_MapEvents
+ .4byte SafariZone_RestHouse_MapScripts
+ .4byte 0x0
+ .2byte BGM_SAFARI
+ .2byte 329
+ .byte 57
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SafariZone_RestHouse/map.bin b/data/maps/SafariZone_RestHouse/map.bin
new file mode 100644
index 000000000..c57c99c7b
--- /dev/null
+++ b/data/maps/SafariZone_RestHouse/map.bin
@@ -0,0 +1 @@
+        $2$2$2$2$2$2$2$2$2$292#24266<2#2#2#2#292#24266<2#2#2#2#292#2#2#2#2#2#2#2#2#292#2#2 #2#2#2#2#2 \ No newline at end of file
diff --git a/data/maps/SafariZone_South/border.bin b/data/maps/SafariZone_South/border.bin
new file mode 100644
index 000000000..03bcafef1
--- /dev/null
+++ b/data/maps/SafariZone_South/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SafariZone_South/connections.inc b/data/maps/SafariZone_South/connections.inc
new file mode 100644
index 000000000..79ba1a010
--- /dev/null
+++ b/data/maps/SafariZone_South/connections.inc
@@ -0,0 +1,9 @@
+SafariZone_South_MapConnectionsList: @ 8486E64
+ connection up, 0, SAFARI_ZONE_NORTH, 0
+ connection left, 0, SAFARI_ZONE_SOUTHWEST, 0
+ connection right, 0, SAFARI_ZONE_SOUTHEAST, 0
+
+SafariZone_South_MapConnections: @ 8486E88
+ .4byte 0x3
+ .4byte SafariZone_South_MapConnectionsList
+
diff --git a/data/maps/SafariZone_South/header.inc b/data/maps/SafariZone_South/header.inc
new file mode 100644
index 000000000..5d122f051
--- /dev/null
+++ b/data/maps/SafariZone_South/header.inc
@@ -0,0 +1,15 @@
+SafariZone_South: @ 8485190
+ .4byte SafariZone_South_MapAttributes
+ .4byte SafariZone_South_MapEvents
+ .4byte SafariZone_South_MapScripts
+ .4byte SafariZone_South_MapConnections
+ .2byte BGM_SAFARI
+ .2byte 241
+ .byte 57
+ .byte 0
+ .byte 0
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/SafariZone_South/map.bin b/data/maps/SafariZone_South/map.bin
new file mode 100644
index 000000000..50497b503
--- /dev/null
+++ b/data/maps/SafariZone_South/map.bin
Binary files differ
diff --git a/data/maps/SafariZone_Southeast/border.bin b/data/maps/SafariZone_Southeast/border.bin
new file mode 100644
index 000000000..03bcafef1
--- /dev/null
+++ b/data/maps/SafariZone_Southeast/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SafariZone_Southeast/connections.inc b/data/maps/SafariZone_Southeast/connections.inc
new file mode 100644
index 000000000..4855182e9
--- /dev/null
+++ b/data/maps/SafariZone_Southeast/connections.inc
@@ -0,0 +1,8 @@
+SafariZone_Southeast_MapConnectionsList: @ 8486EB0
+ connection left, 0, SAFARI_ZONE_SOUTH, 0
+ connection up, 0, SAFARI_ZONE_NORTHEAST, 0
+
+SafariZone_Southeast_MapConnections: @ 8486EC8
+ .4byte 0x2
+ .4byte SafariZone_Southeast_MapConnectionsList
+
diff --git a/data/maps/SafariZone_Southeast/header.inc b/data/maps/SafariZone_Southeast/header.inc
new file mode 100644
index 000000000..363185203
--- /dev/null
+++ b/data/maps/SafariZone_Southeast/header.inc
@@ -0,0 +1,15 @@
+SafariZone_Southeast: @ 84852A8
+ .4byte SafariZone_Southeast_MapAttributes
+ .4byte SafariZone_Southeast_MapEvents
+ .4byte SafariZone_Southeast_MapScripts
+ .4byte SafariZone_Southeast_MapConnections
+ .2byte BGM_SAFARI
+ .2byte 395
+ .byte 57
+ .byte 0
+ .byte 0
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/SafariZone_Southeast/map.bin b/data/maps/SafariZone_Southeast/map.bin
new file mode 100644
index 000000000..a778b8797
--- /dev/null
+++ b/data/maps/SafariZone_Southeast/map.bin
Binary files differ
diff --git a/data/maps/SafariZone_Southwest/border.bin b/data/maps/SafariZone_Southwest/border.bin
new file mode 100644
index 000000000..03bcafef1
--- /dev/null
+++ b/data/maps/SafariZone_Southwest/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SafariZone_Southwest/connections.inc b/data/maps/SafariZone_Southwest/connections.inc
new file mode 100644
index 000000000..936a1dc82
--- /dev/null
+++ b/data/maps/SafariZone_Southwest/connections.inc
@@ -0,0 +1,8 @@
+SafariZone_Southwest_MapConnectionsList: @ 8486E44
+ connection up, 0, SAFARI_ZONE_NORTHWEST, 0
+ connection right, 0, SAFARI_ZONE_SOUTH, 0
+
+SafariZone_Southwest_MapConnections: @ 8486E5C
+ .4byte 0x2
+ .4byte SafariZone_Southwest_MapConnectionsList
+
diff --git a/data/maps/SafariZone_Southwest/header.inc b/data/maps/SafariZone_Southwest/header.inc
new file mode 100644
index 000000000..df20045e8
--- /dev/null
+++ b/data/maps/SafariZone_Southwest/header.inc
@@ -0,0 +1,15 @@
+SafariZone_Southwest: @ 8485174
+ .4byte SafariZone_Southwest_MapAttributes
+ .4byte SafariZone_Southwest_MapEvents
+ .4byte SafariZone_Southwest_MapScripts
+ .4byte SafariZone_Southwest_MapConnections
+ .2byte BGM_SAFARI
+ .2byte 240
+ .byte 57
+ .byte 0
+ .byte 0
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/SafariZone_Southwest/map.bin b/data/maps/SafariZone_Southwest/map.bin
new file mode 100644
index 000000000..0074b6e55
--- /dev/null
+++ b/data/maps/SafariZone_Southwest/map.bin
Binary files differ
diff --git a/data/maps/ScorchedSlab/border.bin b/data/maps/ScorchedSlab/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/ScorchedSlab/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/ScorchedSlab/header.inc b/data/maps/ScorchedSlab/header.inc
new file mode 100644
index 000000000..35c7edf64
--- /dev/null
+++ b/data/maps/ScorchedSlab/header.inc
@@ -0,0 +1,15 @@
+ScorchedSlab: @ 84846BC
+ .4byte ScorchedSlab_MapAttributes
+ .4byte ScorchedSlab_MapEvents
+ .4byte ScorchedSlab_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN01
+ .2byte 311
+ .byte 80
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/ScorchedSlab/map.bin b/data/maps/ScorchedSlab/map.bin
new file mode 100644
index 000000000..edbd982ee
--- /dev/null
+++ b/data/maps/ScorchedSlab/map.bin
@@ -0,0 +1 @@
+222222222222222222222222222222222ppppppppppppppppppppppppppppppppppppppppppppppppppppGG^^^^GGG          $G \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Entrance/border.bin b/data/maps/SeafloorCavern_Entrance/border.bin
new file mode 100644
index 000000000..f0eabd248
--- /dev/null
+++ b/data/maps/SeafloorCavern_Entrance/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Entrance/header.inc b/data/maps/SeafloorCavern_Entrance/header.inc
new file mode 100644
index 000000000..3a3345b39
--- /dev/null
+++ b/data/maps/SeafloorCavern_Entrance/header.inc
@@ -0,0 +1,15 @@
+SeafloorCavern_Entrance: @ 84841B4
+ .4byte SeafloorCavern_Entrance_MapAttributes
+ .4byte SeafloorCavern_Entrance_MapEvents
+ .4byte SeafloorCavern_Entrance_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 147
+ .byte 68
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/SeafloorCavern_Entrance/map.bin b/data/maps/SeafloorCavern_Entrance/map.bin
new file mode 100644
index 000000000..f41e6e77d
--- /dev/null
+++ b/data/maps/SeafloorCavern_Entrance/map.bin
@@ -0,0 +1,11 @@
+3  $1$1$1$1$1 $1$1$1$1$1$1$1$1$1  $1$1$1$1$1$1$1$1$1 $1$1$1$1$1$1$1$1$1$1$1$1  $1$1$1$1$1$1$1$1$1$1$1$1 
+ $1$1$1$1$1$1$1$1$1$1$1$1$1$1$1
+ $1$1$1$1$111111$1$1$1$1$1
+ $1$1$1111111111$1$1$1
+ $1$111111111111$1$1
+ $1111111$1
+ 111ppppp11$1
+ 11ppppppp11
+ 11ppppppppp11
+ 11ppppppppp11
+1ppVVVVppppVVpVV \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room1/border.bin b/data/maps/SeafloorCavern_Room1/border.bin
new file mode 100644
index 000000000..f0eabd248
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room1/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room1/header.inc b/data/maps/SeafloorCavern_Room1/header.inc
new file mode 100644
index 000000000..ac61c156a
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room1/header.inc
@@ -0,0 +1,15 @@
+SeafloorCavern_Room1: @ 84841D0
+ .4byte SeafloorCavern_Room1_MapAttributes
+ .4byte SeafloorCavern_Room1_MapEvents
+ .4byte SeafloorCavern_Room1_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 148
+ .byte 68
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/SeafloorCavern_Room1/map.bin b/data/maps/SeafloorCavern_Room1/map.bin
new file mode 100644
index 000000000..57cd82f78
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room1/map.bin
@@ -0,0 +1 @@
+222322222222222222222222222222222222222622222226222222222222222222222222222222222222226666222222266662222<22266666222662222222222222222222222 \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room2/border.bin b/data/maps/SeafloorCavern_Room2/border.bin
new file mode 100644
index 000000000..f0eabd248
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room2/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room2/header.inc b/data/maps/SeafloorCavern_Room2/header.inc
new file mode 100644
index 000000000..2e2a6c1a1
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room2/header.inc
@@ -0,0 +1,15 @@
+SeafloorCavern_Room2: @ 84841EC
+ .4byte SeafloorCavern_Room2_MapAttributes
+ .4byte SeafloorCavern_Room2_MapEvents
+ .4byte SeafloorCavern_Room2_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 149
+ .byte 68
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/SeafloorCavern_Room2/map.bin b/data/maps/SeafloorCavern_Room2/map.bin
new file mode 100644
index 000000000..72a064870
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room2/map.bin
@@ -0,0 +1,7 @@
+ 33 22222
+ 2222222222
+2222
+ 2222
+ 222222222
+ 222222222
+ f2 22 2222 \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room3/border.bin b/data/maps/SeafloorCavern_Room3/border.bin
new file mode 100644
index 000000000..f0eabd248
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room3/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room3/header.inc b/data/maps/SeafloorCavern_Room3/header.inc
new file mode 100644
index 000000000..234f0a1a5
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room3/header.inc
@@ -0,0 +1,15 @@
+SeafloorCavern_Room3: @ 8484208
+ .4byte SeafloorCavern_Room3_MapAttributes
+ .4byte SeafloorCavern_Room3_MapEvents
+ .4byte SeafloorCavern_Room3_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 150
+ .byte 68
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/SeafloorCavern_Room3/map.bin b/data/maps/SeafloorCavern_Room3/map.bin
new file mode 100644
index 000000000..01d18c73c
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room3/map.bin
@@ -0,0 +1 @@
+6666666666636666662222266666622222666222222666622222222666222222666222622222262222226222222222222222222222222222222222222QQQM2222222222222222226666666 \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room4/border.bin b/data/maps/SeafloorCavern_Room4/border.bin
new file mode 100644
index 000000000..f0eabd248
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room4/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room4/header.inc b/data/maps/SeafloorCavern_Room4/header.inc
new file mode 100644
index 000000000..4aaf9b62e
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room4/header.inc
@@ -0,0 +1,15 @@
+SeafloorCavern_Room4: @ 8484224
+ .4byte SeafloorCavern_Room4_MapAttributes
+ .4byte SeafloorCavern_Room4_MapEvents
+ .4byte SeafloorCavern_Room4_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 151
+ .byte 68
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/SeafloorCavern_Room4/map.bin b/data/maps/SeafloorCavern_Room4/map.bin
new file mode 100644
index 000000000..928749c95
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room4/map.bin
@@ -0,0 +1 @@
+3362222222622222226LQQM22262222222292222222222229222222222222222222666222222222222223222222229222222222229222222LQQQM2222222222 \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room5/border.bin b/data/maps/SeafloorCavern_Room5/border.bin
new file mode 100644
index 000000000..f0eabd248
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room5/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room5/header.inc b/data/maps/SeafloorCavern_Room5/header.inc
new file mode 100644
index 000000000..992d9d1c8
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room5/header.inc
@@ -0,0 +1,15 @@
+SeafloorCavern_Room5: @ 8484240
+ .4byte SeafloorCavern_Room5_MapAttributes
+ .4byte SeafloorCavern_Room5_MapEvents
+ .4byte SeafloorCavern_Room5_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 152
+ .byte 68
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/SeafloorCavern_Room5/map.bin b/data/maps/SeafloorCavern_Room5/map.bin
new file mode 100644
index 000000000..386430fe4
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room5/map.bin
@@ -0,0 +1 @@
+32222222222222222222222222222222222222222222222222222222222222222222222222222222222222 \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room6/border.bin b/data/maps/SeafloorCavern_Room6/border.bin
new file mode 100644
index 000000000..a00c39057
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room6/border.bin
@@ -0,0 +1 @@
+~~~~ \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room6/header.inc b/data/maps/SeafloorCavern_Room6/header.inc
new file mode 100644
index 000000000..765350afe
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room6/header.inc
@@ -0,0 +1,15 @@
+SeafloorCavern_Room6: @ 848425C
+ .4byte SeafloorCavern_Room6_MapAttributes
+ .4byte SeafloorCavern_Room6_MapEvents
+ .4byte SeafloorCavern_Room6_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 153
+ .byte 68
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/SeafloorCavern_Room6/map.bin b/data/maps/SeafloorCavern_Room6/map.bin
new file mode 100644
index 000000000..452263326
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room6/map.bin
@@ -0,0 +1 @@
+z2xzzy2y2y2y2xxzzy2y2y2y2pxxzzy2y2y2y2ppppppppppppxxzzy2y2y2y2ppppvvvpppxxzzpppu~~~wppxxzzppppppp}ppxxzzppppppxxzzpppppppppppppxxzzpppppppppxxzzpppppppppppxxzzppppppxxzzpppppppppppppxxzzppppppppppxxzzpppppppppppppxxzzpppppppppxxzzpppppppppxxzzppppppppppxxzzpppppppppppvvvvzzpppppo2o2o2vpvv~~~~vvvvvvvvvz~22~2x~vvv~~~~~~~~~~~~~~~~~~~~~~~~~ \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room7/border.bin b/data/maps/SeafloorCavern_Room7/border.bin
new file mode 100644
index 000000000..a00c39057
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room7/border.bin
@@ -0,0 +1 @@
+~~~~ \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room7/header.inc b/data/maps/SeafloorCavern_Room7/header.inc
new file mode 100644
index 000000000..e19e0081b
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room7/header.inc
@@ -0,0 +1,15 @@
+SeafloorCavern_Room7: @ 8484278
+ .4byte SeafloorCavern_Room7_MapAttributes
+ .4byte SeafloorCavern_Room7_MapEvents
+ .4byte SeafloorCavern_Room7_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 154
+ .byte 68
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/SeafloorCavern_Room7/map.bin b/data/maps/SeafloorCavern_Room7/map.bin
new file mode 100644
index 000000000..7fa1d903d
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room7/map.bin
@@ -0,0 +1 @@
+z2~6~6~6~6~6~6~6~6~6xzzy2y2y2y2y2y2y2y2y2y2x~6~6~6~6~6~6~6~6~6xzzy2y2y2y2y2xzzpppxxzzpppppppppppppppppxxzzppxxzzpppppppppppppppxxzzppxxzzppppppppppppppxxzzpppppppxxzzpppppppppppppppxxzzpppppxxzzpppppppppppxxzzpppppppppppxxzzpppxxzzpppppppppppppxxzzpppppppppppppxxzzpppxxz66q2ypppppppppppppxxzy6z6y2pppppppppppppxxzy6z6y2q2q2q2q2q2yppppppppxxz66y2y2y2y2y2y2ppppppppxxzzy22y2y2sy2tppppppppxxvvvvvvvvvv \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room8/border.bin b/data/maps/SeafloorCavern_Room8/border.bin
new file mode 100644
index 000000000..f0eabd248
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room8/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room8/header.inc b/data/maps/SeafloorCavern_Room8/header.inc
new file mode 100644
index 000000000..1c4837e72
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room8/header.inc
@@ -0,0 +1,15 @@
+SeafloorCavern_Room8: @ 8484294
+ .4byte SeafloorCavern_Room8_MapAttributes
+ .4byte SeafloorCavern_Room8_MapEvents
+ .4byte SeafloorCavern_Room8_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 155
+ .byte 68
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/SeafloorCavern_Room8/map.bin b/data/maps/SeafloorCavern_Room8/map.bin
new file mode 100644
index 000000000..e70e95b47
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room8/map.bin
@@ -0,0 +1 @@
+632222222222222222222222222222222222LQM22222222222 \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room9/border.bin b/data/maps/SeafloorCavern_Room9/border.bin
new file mode 100644
index 000000000..f0eabd248
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room9/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SeafloorCavern_Room9/header.inc b/data/maps/SeafloorCavern_Room9/header.inc
new file mode 100644
index 000000000..bee6c2698
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room9/header.inc
@@ -0,0 +1,15 @@
+SeafloorCavern_Room9: @ 84842B0
+ .4byte SeafloorCavern_Room9_MapAttributes
+ .4byte SeafloorCavern_Room9_MapEvents
+ .4byte SeafloorCavern_Room9_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 156
+ .byte 68
+ .byte 0
+ .byte 6
+ .byte 4
+ .2byte 0
+ .byte 14
+ .byte 0
+
diff --git a/data/maps/SeafloorCavern_Room9/map.bin b/data/maps/SeafloorCavern_Room9/map.bin
new file mode 100644
index 000000000..252112ac2
--- /dev/null
+++ b/data/maps/SeafloorCavern_Room9/map.bin
@@ -0,0 +1 @@
+222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222  222 222    2222222 2222222222 2222222    # 222    #2222 #  2222      2222 #    2222  222 # OO 222OOOO222pNOOOONp222ppNNNNpp22222pppppppp22222 ppppppppp22222222#2s2lpppppppp222222222#2lpppppjs2s2$222222222#2s2s2s2s2s2$22222222222222222222222 \ No newline at end of file
diff --git a/data/maps/SealedChamber_InnerRoom/border.bin b/data/maps/SealedChamber_InnerRoom/border.bin
new file mode 100644
index 000000000..9afd13cdc
--- /dev/null
+++ b/data/maps/SealedChamber_InnerRoom/border.bin
Binary files differ
diff --git a/data/maps/SealedChamber_InnerRoom/header.inc b/data/maps/SealedChamber_InnerRoom/header.inc
new file mode 100644
index 000000000..a2909fc7b
--- /dev/null
+++ b/data/maps/SealedChamber_InnerRoom/header.inc
@@ -0,0 +1,15 @@
+SealedChamber_InnerRoom: @ 84846A0
+ .4byte SealedChamber_InnerRoom_MapAttributes
+ .4byte SealedChamber_InnerRoom_MapEvents
+ .4byte SealedChamber_InnerRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_MABOROSI
+ .2byte 304
+ .byte 78
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/SealedChamber_InnerRoom/map.bin b/data/maps/SealedChamber_InnerRoom/map.bin
new file mode 100644
index 000000000..823fa5fab
--- /dev/null
+++ b/data/maps/SealedChamber_InnerRoom/map.bin
@@ -0,0 +1 @@
+222222222222777222222222222222222222222222222222222222722222722222222222222222222222222222222222222222222222222722222222272222222222222222222222222222222222222222222222222722222722222222222222 \ No newline at end of file
diff --git a/data/maps/SealedChamber_OuterRoom/border.bin b/data/maps/SealedChamber_OuterRoom/border.bin
new file mode 100644
index 000000000..9afd13cdc
--- /dev/null
+++ b/data/maps/SealedChamber_OuterRoom/border.bin
Binary files differ
diff --git a/data/maps/SealedChamber_OuterRoom/header.inc b/data/maps/SealedChamber_OuterRoom/header.inc
new file mode 100644
index 000000000..e9b20d93a
--- /dev/null
+++ b/data/maps/SealedChamber_OuterRoom/header.inc
@@ -0,0 +1,15 @@
+SealedChamber_OuterRoom: @ 8484684
+ .4byte SealedChamber_OuterRoom_MapAttributes
+ .4byte SealedChamber_OuterRoom_MapEvents
+ .4byte SealedChamber_OuterRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_MABOROSI
+ .2byte 284
+ .byte 78
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/SealedChamber_OuterRoom/map.bin b/data/maps/SealedChamber_OuterRoom/map.bin
new file mode 100644
index 000000000..bf1482f97
--- /dev/null
+++ b/data/maps/SealedChamber_OuterRoom/map.bin
@@ -0,0 +1,11 @@
+`*+,a)2324)222222222222222222222222222222   
+2   
+2 
+555255525222222222222222   
+2   
+2 
+555255525222222222222222   
+2   
+222255525552222222222222222222   
+2   
+222255525552222222222222222222222222222222222VVV2222222222VGV22222$ggggg_____ggggg#$                 #$$                 ## \ No newline at end of file
diff --git a/data/maps/SecretBase_BlueCave1/border.bin b/data/maps/SecretBase_BlueCave1/border.bin
new file mode 100644
index 000000000..5c0908a6a
--- /dev/null
+++ b/data/maps/SecretBase_BlueCave1/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_BlueCave1/header.inc b/data/maps/SecretBase_BlueCave1/header.inc
new file mode 100644
index 000000000..ec497b053
--- /dev/null
+++ b/data/maps/SecretBase_BlueCave1/header.inc
@@ -0,0 +1,15 @@
+SecretBase_BlueCave1: @ 8484AC8
+ .4byte SecretBase_BlueCave1_MapAttributes
+ .4byte SecretBase_BlueCave1_MapEvents
+ .4byte SecretBase_BlueCave1_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 199
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_BlueCave1/map.bin b/data/maps/SecretBase_BlueCave1/map.bin
new file mode 100644
index 000000000..371b2a8d5
--- /dev/null
+++ b/data/maps/SecretBase_BlueCave1/map.bin
@@ -0,0 +1,50 @@
+6
+2
+2
+2
+2
+2   6
+2
+22
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+26 
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2 6
+2
+22
+2
+2
+2   \ No newline at end of file
diff --git a/data/maps/SecretBase_BlueCave2/border.bin b/data/maps/SecretBase_BlueCave2/border.bin
new file mode 100644
index 000000000..5c0908a6a
--- /dev/null
+++ b/data/maps/SecretBase_BlueCave2/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_BlueCave2/header.inc b/data/maps/SecretBase_BlueCave2/header.inc
new file mode 100644
index 000000000..455db2db0
--- /dev/null
+++ b/data/maps/SecretBase_BlueCave2/header.inc
@@ -0,0 +1,15 @@
+SecretBase_BlueCave2: @ 8484B70
+ .4byte SecretBase_BlueCave2_MapAttributes
+ .4byte SecretBase_BlueCave2_MapEvents
+ .4byte SecretBase_BlueCave2_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 205
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_BlueCave2/map.bin b/data/maps/SecretBase_BlueCave2/map.bin
new file mode 100644
index 000000000..4993e5b65
--- /dev/null
+++ b/data/maps/SecretBase_BlueCave2/map.bin
@@ -0,0 +1,57 @@
+  62
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2 6
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2 6
+2
+2
+2
+2
+22
+2
+2
+26  \ No newline at end of file
diff --git a/data/maps/SecretBase_BlueCave3/border.bin b/data/maps/SecretBase_BlueCave3/border.bin
new file mode 100644
index 000000000..5c0908a6a
--- /dev/null
+++ b/data/maps/SecretBase_BlueCave3/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_BlueCave3/header.inc b/data/maps/SecretBase_BlueCave3/header.inc
new file mode 100644
index 000000000..77b59cd5e
--- /dev/null
+++ b/data/maps/SecretBase_BlueCave3/header.inc
@@ -0,0 +1,15 @@
+SecretBase_BlueCave3: @ 8484C18
+ .4byte SecretBase_BlueCave3_MapAttributes
+ .4byte SecretBase_BlueCave3_MapEvents
+ .4byte SecretBase_BlueCave3_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 211
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_BlueCave3/map.bin b/data/maps/SecretBase_BlueCave3/map.bin
new file mode 100644
index 000000000..968aade07
--- /dev/null
+++ b/data/maps/SecretBase_BlueCave3/map.bin
@@ -0,0 +1,51 @@
+ 
+2
+2
+2
+22
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2 
+2
+2  
+2
+2  
+2
+222
+2
+2
+2
+2 
+2  
+2 
+2  
+2
+2
+22
+2  
+2
+2  
+2 6
+222  
+2
+22
+2
+2   \ No newline at end of file
diff --git a/data/maps/SecretBase_BlueCave4/border.bin b/data/maps/SecretBase_BlueCave4/border.bin
new file mode 100644
index 000000000..5c0908a6a
--- /dev/null
+++ b/data/maps/SecretBase_BlueCave4/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_BlueCave4/header.inc b/data/maps/SecretBase_BlueCave4/header.inc
new file mode 100644
index 000000000..db27e5889
--- /dev/null
+++ b/data/maps/SecretBase_BlueCave4/header.inc
@@ -0,0 +1,15 @@
+SecretBase_BlueCave4: @ 8484CC0
+ .4byte SecretBase_BlueCave4_MapAttributes
+ .4byte SecretBase_BlueCave4_MapEvents
+ .4byte SecretBase_BlueCave4_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 217
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_BlueCave4/map.bin b/data/maps/SecretBase_BlueCave4/map.bin
new file mode 100644
index 000000000..631ac0f81
--- /dev/null
+++ b/data/maps/SecretBase_BlueCave4/map.bin
@@ -0,0 +1,57 @@
+ 
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+22  
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2 6
+2
+2"6  #6  2 
+2   6
+22  
+2
+2
+2  
+22
+2   \ No newline at end of file
diff --git a/data/maps/SecretBase_BrownCave1/border.bin b/data/maps/SecretBase_BrownCave1/border.bin
new file mode 100644
index 000000000..5c0908a6a
--- /dev/null
+++ b/data/maps/SecretBase_BrownCave1/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_BrownCave1/header.inc b/data/maps/SecretBase_BrownCave1/header.inc
new file mode 100644
index 000000000..8da685a13
--- /dev/null
+++ b/data/maps/SecretBase_BrownCave1/header.inc
@@ -0,0 +1,15 @@
+SecretBase_BrownCave1: @ 8484AAC
+ .4byte SecretBase_BrownCave1_MapAttributes
+ .4byte SecretBase_BrownCave1_MapEvents
+ .4byte SecretBase_BrownCave1_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 198
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_BrownCave1/map.bin b/data/maps/SecretBase_BrownCave1/map.bin
new file mode 100644
index 000000000..56d3436ca
--- /dev/null
+++ b/data/maps/SecretBase_BrownCave1/map.bin
@@ -0,0 +1,54 @@
+6
+2
+2
+2
+2
+2
+2
+2  
+2 6
+2
+22
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+26
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+22
+2
+2
+2   \ No newline at end of file
diff --git a/data/maps/SecretBase_BrownCave2/border.bin b/data/maps/SecretBase_BrownCave2/border.bin
new file mode 100644
index 000000000..5c0908a6a
--- /dev/null
+++ b/data/maps/SecretBase_BrownCave2/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_BrownCave2/header.inc b/data/maps/SecretBase_BrownCave2/header.inc
new file mode 100644
index 000000000..08f93827a
--- /dev/null
+++ b/data/maps/SecretBase_BrownCave2/header.inc
@@ -0,0 +1,15 @@
+SecretBase_BrownCave2: @ 8484B54
+ .4byte SecretBase_BrownCave2_MapAttributes
+ .4byte SecretBase_BrownCave2_MapEvents
+ .4byte SecretBase_BrownCave2_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 204
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_BrownCave2/map.bin b/data/maps/SecretBase_BrownCave2/map.bin
new file mode 100644
index 000000000..184896975
--- /dev/null
+++ b/data/maps/SecretBase_BrownCave2/map.bin
@@ -0,0 +1,56 @@
+ 
+2
+2
+2
+2
+2
+2
+2
+2 6  
+26
+2
+2
+2
+2
+2
+22
+2  
+2  
+2
+2
+2
+2
+2
+2
+2
+2  
+2  
+2
+2
+2
+2
+2
+2
+2
+2  
+2  
+2
+2
+2
+2
+2
+2
+2
+2  
+2  
+2
+2
+2
+2
+2
+2
+2 2 6
+2
+2
+2
+2   \ No newline at end of file
diff --git a/data/maps/SecretBase_BrownCave3/border.bin b/data/maps/SecretBase_BrownCave3/border.bin
new file mode 100644
index 000000000..5c0908a6a
--- /dev/null
+++ b/data/maps/SecretBase_BrownCave3/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_BrownCave3/header.inc b/data/maps/SecretBase_BrownCave3/header.inc
new file mode 100644
index 000000000..5515ea8c5
--- /dev/null
+++ b/data/maps/SecretBase_BrownCave3/header.inc
@@ -0,0 +1,15 @@
+SecretBase_BrownCave3: @ 8484BFC
+ .4byte SecretBase_BrownCave3_MapAttributes
+ .4byte SecretBase_BrownCave3_MapEvents
+ .4byte SecretBase_BrownCave3_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 210
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_BrownCave3/map.bin b/data/maps/SecretBase_BrownCave3/map.bin
new file mode 100644
index 000000000..d9967522a
--- /dev/null
+++ b/data/maps/SecretBase_BrownCave3/map.bin
@@ -0,0 +1,69 @@
+ 
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+26
+2
+2
+2 66
+2
+2
+2  
+2
+2
+2 6  
+2
+2
+2  
+2
+2
+2
+2  
+2
+2
+2  
+2
+2
+2
+2 
+2
+2
+2  
+2
+2
+2
+2  2
+2
+2
+2  
+2
+2
+2
+2  
+2
+2
+2
+2  
+2
+2
+2
+2  
+2
+2
+2
+2  
+22
+2
+2   \ No newline at end of file
diff --git a/data/maps/SecretBase_BrownCave4/border.bin b/data/maps/SecretBase_BrownCave4/border.bin
new file mode 100644
index 000000000..5c0908a6a
--- /dev/null
+++ b/data/maps/SecretBase_BrownCave4/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_BrownCave4/header.inc b/data/maps/SecretBase_BrownCave4/header.inc
new file mode 100644
index 000000000..d90a89a5f
--- /dev/null
+++ b/data/maps/SecretBase_BrownCave4/header.inc
@@ -0,0 +1,15 @@
+SecretBase_BrownCave4: @ 8484CA4
+ .4byte SecretBase_BrownCave4_MapAttributes
+ .4byte SecretBase_BrownCave4_MapEvents
+ .4byte SecretBase_BrownCave4_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 216
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_BrownCave4/map.bin b/data/maps/SecretBase_BrownCave4/map.bin
new file mode 100644
index 000000000..8b5a763c4
--- /dev/null
+++ b/data/maps/SecretBase_BrownCave4/map.bin
@@ -0,0 +1,70 @@
+  62
+2
+2
+2
+2
+2
+2
+2"6
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2
+2#6
+2
+2  
+2
+2
+2
+2  
+2
+2
+2  
+2  
+2
+2
+2 
+2  
+2
+2
+2  
+2
+2
+2
+22
+2  
+2
+2
+2  
+2
+2
+2
+2
+2
+2  
+22
+2  
+2
+2
+2
+2
+2
+2   
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2  \ No newline at end of file
diff --git a/data/maps/SecretBase_RedCave1/border.bin b/data/maps/SecretBase_RedCave1/border.bin
new file mode 100644
index 000000000..5c0908a6a
--- /dev/null
+++ b/data/maps/SecretBase_RedCave1/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_RedCave1/header.inc b/data/maps/SecretBase_RedCave1/header.inc
new file mode 100644
index 000000000..46fc40ff0
--- /dev/null
+++ b/data/maps/SecretBase_RedCave1/header.inc
@@ -0,0 +1,15 @@
+SecretBase_RedCave1: @ 8484A90
+ .4byte SecretBase_RedCave1_MapAttributes
+ .4byte SecretBase_RedCave1_MapEvents
+ .4byte SecretBase_RedCave1_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 197
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_RedCave1/map.bin b/data/maps/SecretBase_RedCave1/map.bin
new file mode 100644
index 000000000..ce666b57d
--- /dev/null
+++ b/data/maps/SecretBase_RedCave1/map.bin
@@ -0,0 +1,51 @@
+
+2
+2
+2
+2
+2
+2
+2   6
+2
+2
+2
+2
+2
+2
+2 6 
+2
+2
+2
+2
+2
+2
+2
+26 
+2
+2
+2
+2
+2
+22
+2  
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2 6
+2
+22
+2
+2
+26  \ No newline at end of file
diff --git a/data/maps/SecretBase_RedCave2/border.bin b/data/maps/SecretBase_RedCave2/border.bin
new file mode 100644
index 000000000..5c0908a6a
--- /dev/null
+++ b/data/maps/SecretBase_RedCave2/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_RedCave2/header.inc b/data/maps/SecretBase_RedCave2/header.inc
new file mode 100644
index 000000000..073a4f6ce
--- /dev/null
+++ b/data/maps/SecretBase_RedCave2/header.inc
@@ -0,0 +1,15 @@
+SecretBase_RedCave2: @ 8484B38
+ .4byte SecretBase_RedCave2_MapAttributes
+ .4byte SecretBase_RedCave2_MapEvents
+ .4byte SecretBase_RedCave2_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 203
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_RedCave2/map.bin b/data/maps/SecretBase_RedCave2/map.bin
new file mode 100644
index 000000000..4fa03acfe
--- /dev/null
+++ b/data/maps/SecretBase_RedCave2/map.bin
@@ -0,0 +1,42 @@
+ 
+22
+2  
+2
+2
+2  
+2
+2
+2 
+2
+2
+2  2
+2
+2
+2  
+2
+2
+2
+2  
+2
+2
+2
+2 6 
+2
+2
+2
+2 6  
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2 
+2
+2
+26
+26 
+2  2   \ No newline at end of file
diff --git a/data/maps/SecretBase_RedCave3/border.bin b/data/maps/SecretBase_RedCave3/border.bin
new file mode 100644
index 000000000..5c0908a6a
--- /dev/null
+++ b/data/maps/SecretBase_RedCave3/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_RedCave3/header.inc b/data/maps/SecretBase_RedCave3/header.inc
new file mode 100644
index 000000000..d8748e2f7
--- /dev/null
+++ b/data/maps/SecretBase_RedCave3/header.inc
@@ -0,0 +1,15 @@
+SecretBase_RedCave3: @ 8484BE0
+ .4byte SecretBase_RedCave3_MapAttributes
+ .4byte SecretBase_RedCave3_MapEvents
+ .4byte SecretBase_RedCave3_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 209
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_RedCave3/map.bin b/data/maps/SecretBase_RedCave3/map.bin
new file mode 100644
index 000000000..0528e565d
--- /dev/null
+++ b/data/maps/SecretBase_RedCave3/map.bin
@@ -0,0 +1,47 @@
+ 
+2
+22
+2   6
+2
+2
+2
+2  
+2
+2
+2
+2  
+2
+2
+2
+2
+2 6
+2
+2
+2
+2  
+2
+2
+2
+2
+222
+22
+2
+2
+2
+2  
+2
+2
+2
+2
+26
+2
+2
+2
+2  
+2
+22
+2
+2 6
+2
+2
+2   \ No newline at end of file
diff --git a/data/maps/SecretBase_RedCave4/border.bin b/data/maps/SecretBase_RedCave4/border.bin
new file mode 100644
index 000000000..5c0908a6a
--- /dev/null
+++ b/data/maps/SecretBase_RedCave4/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_RedCave4/header.inc b/data/maps/SecretBase_RedCave4/header.inc
new file mode 100644
index 000000000..2ae9e38f6
--- /dev/null
+++ b/data/maps/SecretBase_RedCave4/header.inc
@@ -0,0 +1,15 @@
+SecretBase_RedCave4: @ 8484C88
+ .4byte SecretBase_RedCave4_MapAttributes
+ .4byte SecretBase_RedCave4_MapEvents
+ .4byte SecretBase_RedCave4_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 215
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_RedCave4/map.bin b/data/maps/SecretBase_RedCave4/map.bin
new file mode 100644
index 000000000..526763290
--- /dev/null
+++ b/data/maps/SecretBase_RedCave4/map.bin
@@ -0,0 +1,56 @@
+ 
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2 "66 #6 2  
+2
+2
+2
+22
+2  
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2 6 
+22
+2
+2
+2
+2 6  
+2
+2
+2  \ No newline at end of file
diff --git a/data/maps/SecretBase_Shrub1/border.bin b/data/maps/SecretBase_Shrub1/border.bin
new file mode 100644
index 000000000..064786e8c
--- /dev/null
+++ b/data/maps/SecretBase_Shrub1/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_Shrub1/header.inc b/data/maps/SecretBase_Shrub1/header.inc
new file mode 100644
index 000000000..0998b2f0d
--- /dev/null
+++ b/data/maps/SecretBase_Shrub1/header.inc
@@ -0,0 +1,15 @@
+SecretBase_Shrub1: @ 8484B1C
+ .4byte SecretBase_Shrub1_MapAttributes
+ .4byte SecretBase_Shrub1_MapEvents
+ .4byte SecretBase_Shrub1_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 202
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_Shrub1/map.bin b/data/maps/SecretBase_Shrub1/map.bin
new file mode 100644
index 000000000..4b566cc1b
--- /dev/null
+++ b/data/maps/SecretBase_Shrub1/map.bin
@@ -0,0 +1,53 @@
+ 
+2
+2 
+2
+2
+2
+2  
+2
+2 6
+22
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+26
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+22
+2
+2
+2   \ No newline at end of file
diff --git a/data/maps/SecretBase_Shrub2/border.bin b/data/maps/SecretBase_Shrub2/border.bin
new file mode 100644
index 000000000..064786e8c
--- /dev/null
+++ b/data/maps/SecretBase_Shrub2/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_Shrub2/header.inc b/data/maps/SecretBase_Shrub2/header.inc
new file mode 100644
index 000000000..1223a4105
--- /dev/null
+++ b/data/maps/SecretBase_Shrub2/header.inc
@@ -0,0 +1,15 @@
+SecretBase_Shrub2: @ 8484BC4
+ .4byte SecretBase_Shrub2_MapAttributes
+ .4byte SecretBase_Shrub2_MapEvents
+ .4byte SecretBase_Shrub2_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 208
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_Shrub2/map.bin b/data/maps/SecretBase_Shrub2/map.bin
new file mode 100644
index 000000000..8cb88cc44
--- /dev/null
+++ b/data/maps/SecretBase_Shrub2/map.bin
@@ -0,0 +1,57 @@
+  6
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+22  
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2 
+2
+22
+2
+2
+2
+2
+2  \ No newline at end of file
diff --git a/data/maps/SecretBase_Shrub3/border.bin b/data/maps/SecretBase_Shrub3/border.bin
new file mode 100644
index 000000000..064786e8c
--- /dev/null
+++ b/data/maps/SecretBase_Shrub3/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_Shrub3/header.inc b/data/maps/SecretBase_Shrub3/header.inc
new file mode 100644
index 000000000..9d5a06e39
--- /dev/null
+++ b/data/maps/SecretBase_Shrub3/header.inc
@@ -0,0 +1,15 @@
+SecretBase_Shrub3: @ 8484C6C
+ .4byte SecretBase_Shrub3_MapAttributes
+ .4byte SecretBase_Shrub3_MapEvents
+ .4byte SecretBase_Shrub3_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 214
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_Shrub3/map.bin b/data/maps/SecretBase_Shrub3/map.bin
new file mode 100644
index 000000000..d51aeea21
--- /dev/null
+++ b/data/maps/SecretBase_Shrub3/map.bin
@@ -0,0 +1,65 @@
+ 
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2 
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2 
+2 
+2 
+2  
+2
+2
+2
+22
+2 6
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+22
+2
+2
+2
+2
+2   \ No newline at end of file
diff --git a/data/maps/SecretBase_Shrub4/border.bin b/data/maps/SecretBase_Shrub4/border.bin
new file mode 100644
index 000000000..064786e8c
--- /dev/null
+++ b/data/maps/SecretBase_Shrub4/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_Shrub4/header.inc b/data/maps/SecretBase_Shrub4/header.inc
new file mode 100644
index 000000000..5fcd719b9
--- /dev/null
+++ b/data/maps/SecretBase_Shrub4/header.inc
@@ -0,0 +1,15 @@
+SecretBase_Shrub4: @ 8484D14
+ .4byte SecretBase_Shrub4_MapAttributes
+ .4byte SecretBase_Shrub4_MapEvents
+ .4byte SecretBase_Shrub4_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 220
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_Shrub4/map.bin b/data/maps/SecretBase_Shrub4/map.bin
new file mode 100644
index 000000000..8a4cf836d
--- /dev/null
+++ b/data/maps/SecretBase_Shrub4/map.bin
@@ -0,0 +1,69 @@
+ 
+2
+2"6
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2#6
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2  
+2
+2 
+2
+2
+2  
+2
+22
+2
+2   6
+2
+2
+2  
+2
+2
+2
+2
+2  
+2
+2
+2
+2  
+2
+2
+2
+2
+2  2
+2
+2
+2  
+2
+2
+2
+2
+2 
+22
+2  
+2
+2
+2
+2
+2   \ No newline at end of file
diff --git a/data/maps/SecretBase_Tree1/border.bin b/data/maps/SecretBase_Tree1/border.bin
new file mode 100644
index 000000000..064786e8c
--- /dev/null
+++ b/data/maps/SecretBase_Tree1/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_Tree1/header.inc b/data/maps/SecretBase_Tree1/header.inc
new file mode 100644
index 000000000..c5142cdba
--- /dev/null
+++ b/data/maps/SecretBase_Tree1/header.inc
@@ -0,0 +1,15 @@
+SecretBase_Tree1: @ 8484B00
+ .4byte SecretBase_Tree1_MapAttributes
+ .4byte SecretBase_Tree1_MapEvents
+ .4byte SecretBase_Tree1_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 201
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_Tree1/map.bin b/data/maps/SecretBase_Tree1/map.bin
new file mode 100644
index 000000000..907f1486a
--- /dev/null
+++ b/data/maps/SecretBase_Tree1/map.bin
@@ -0,0 +1,56 @@
+
+2
+22
+2
+2
+2
+2  
+2 6
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+26
+2
+2
+22
+2
+2
+2   \ No newline at end of file
diff --git a/data/maps/SecretBase_Tree2/border.bin b/data/maps/SecretBase_Tree2/border.bin
new file mode 100644
index 000000000..064786e8c
--- /dev/null
+++ b/data/maps/SecretBase_Tree2/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_Tree2/header.inc b/data/maps/SecretBase_Tree2/header.inc
new file mode 100644
index 000000000..bcb5e0f23
--- /dev/null
+++ b/data/maps/SecretBase_Tree2/header.inc
@@ -0,0 +1,15 @@
+SecretBase_Tree2: @ 8484BA8
+ .4byte SecretBase_Tree2_MapAttributes
+ .4byte SecretBase_Tree2_MapEvents
+ .4byte SecretBase_Tree2_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 207
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_Tree2/map.bin b/data/maps/SecretBase_Tree2/map.bin
new file mode 100644
index 000000000..c2e5698b0
--- /dev/null
+++ b/data/maps/SecretBase_Tree2/map.bin
@@ -0,0 +1,48 @@
+ 
+2
+22
+2  
+2
+2
+2
+2  
+2
+2
+2
+2  
+2
+2
+2
+2 6 
+2
+2
+2
+2 6  
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2 
+2
+2
+2
+2  
+2
+2
+2
+2  
+2
+2
+26
+26 
+2  2   \ No newline at end of file
diff --git a/data/maps/SecretBase_Tree3/border.bin b/data/maps/SecretBase_Tree3/border.bin
new file mode 100644
index 000000000..064786e8c
--- /dev/null
+++ b/data/maps/SecretBase_Tree3/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_Tree3/header.inc b/data/maps/SecretBase_Tree3/header.inc
new file mode 100644
index 000000000..66dfc9803
--- /dev/null
+++ b/data/maps/SecretBase_Tree3/header.inc
@@ -0,0 +1,15 @@
+SecretBase_Tree3: @ 8484C50
+ .4byte SecretBase_Tree3_MapAttributes
+ .4byte SecretBase_Tree3_MapEvents
+ .4byte SecretBase_Tree3_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 213
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_Tree3/map.bin b/data/maps/SecretBase_Tree3/map.bin
new file mode 100644
index 000000000..b6ae04b00
--- /dev/null
+++ b/data/maps/SecretBase_Tree3/map.bin
@@ -0,0 +1,63 @@
+ 
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2 6 2
+2
+2
+2
+2
+2
+2
+2
+2
+2 6  
+2
+2
+2
+2
+2  
+2  
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2  
+2  
+2
+2
+2
+2
+2 
+2
+2
+2
+2  
+2  
+2
+2
+2
+2
+2 
+2
+2
+2  2 
+2
+2
+2
+2   \ No newline at end of file
diff --git a/data/maps/SecretBase_Tree4/border.bin b/data/maps/SecretBase_Tree4/border.bin
new file mode 100644
index 000000000..064786e8c
--- /dev/null
+++ b/data/maps/SecretBase_Tree4/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_Tree4/header.inc b/data/maps/SecretBase_Tree4/header.inc
new file mode 100644
index 000000000..8d4d0f3df
--- /dev/null
+++ b/data/maps/SecretBase_Tree4/header.inc
@@ -0,0 +1,15 @@
+SecretBase_Tree4: @ 8484CF8
+ .4byte SecretBase_Tree4_MapAttributes
+ .4byte SecretBase_Tree4_MapEvents
+ .4byte SecretBase_Tree4_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 219
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_Tree4/map.bin b/data/maps/SecretBase_Tree4/map.bin
new file mode 100644
index 000000000..b3b381d9e
--- /dev/null
+++ b/data/maps/SecretBase_Tree4/map.bin
@@ -0,0 +1,77 @@
+ 
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2 
+2
+2 
+2
+2
+2
+2
+2 "6  
+2
+2
+2
+2 #6 "6  2 #6  
+2 6
+2
+2
+2
+2
+222  
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+22
+2
+26  \ No newline at end of file
diff --git a/data/maps/SecretBase_YellowCave1/border.bin b/data/maps/SecretBase_YellowCave1/border.bin
new file mode 100644
index 000000000..5c0908a6a
--- /dev/null
+++ b/data/maps/SecretBase_YellowCave1/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_YellowCave1/header.inc b/data/maps/SecretBase_YellowCave1/header.inc
new file mode 100644
index 000000000..c4df84edf
--- /dev/null
+++ b/data/maps/SecretBase_YellowCave1/header.inc
@@ -0,0 +1,15 @@
+SecretBase_YellowCave1: @ 8484AE4
+ .4byte SecretBase_YellowCave1_MapAttributes
+ .4byte SecretBase_YellowCave1_MapEvents
+ .4byte SecretBase_YellowCave1_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 200
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_YellowCave1/map.bin b/data/maps/SecretBase_YellowCave1/map.bin
new file mode 100644
index 000000000..1301e7317
--- /dev/null
+++ b/data/maps/SecretBase_YellowCave1/map.bin
@@ -0,0 +1,57 @@
+ 
+2
+22
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2 6  
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2
+2 
+2
+2
+22
+2
+2  \ No newline at end of file
diff --git a/data/maps/SecretBase_YellowCave2/border.bin b/data/maps/SecretBase_YellowCave2/border.bin
new file mode 100644
index 000000000..5c0908a6a
--- /dev/null
+++ b/data/maps/SecretBase_YellowCave2/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_YellowCave2/header.inc b/data/maps/SecretBase_YellowCave2/header.inc
new file mode 100644
index 000000000..a690ef3fe
--- /dev/null
+++ b/data/maps/SecretBase_YellowCave2/header.inc
@@ -0,0 +1,15 @@
+SecretBase_YellowCave2: @ 8484B8C
+ .4byte SecretBase_YellowCave2_MapAttributes
+ .4byte SecretBase_YellowCave2_MapEvents
+ .4byte SecretBase_YellowCave2_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 206
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_YellowCave2/map.bin b/data/maps/SecretBase_YellowCave2/map.bin
new file mode 100644
index 000000000..e18cb47c6
--- /dev/null
+++ b/data/maps/SecretBase_YellowCave2/map.bin
@@ -0,0 +1,56 @@
+ 2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+26
+2  
+2
+2
+2
+2
+2
+2
+2  
+2 
+2
+2
+2
+2
+2
+2  
+2  
+2
+2
+2
+2
+2
+2  
+2  
+2
+2
+2
+2
+2
+2 6  
+2  
+2
+2
+2
+2
+2
+2
+2  2   \ No newline at end of file
diff --git a/data/maps/SecretBase_YellowCave3/border.bin b/data/maps/SecretBase_YellowCave3/border.bin
new file mode 100644
index 000000000..5c0908a6a
--- /dev/null
+++ b/data/maps/SecretBase_YellowCave3/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_YellowCave3/header.inc b/data/maps/SecretBase_YellowCave3/header.inc
new file mode 100644
index 000000000..60176b1e3
--- /dev/null
+++ b/data/maps/SecretBase_YellowCave3/header.inc
@@ -0,0 +1,15 @@
+SecretBase_YellowCave3: @ 8484C34
+ .4byte SecretBase_YellowCave3_MapAttributes
+ .4byte SecretBase_YellowCave3_MapEvents
+ .4byte SecretBase_YellowCave3_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 212
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_YellowCave3/map.bin b/data/maps/SecretBase_YellowCave3/map.bin
new file mode 100644
index 000000000..b7d80a0ab
--- /dev/null
+++ b/data/maps/SecretBase_YellowCave3/map.bin
@@ -0,0 +1,63 @@
+ 
+2
+2
+2  
+2
+2  
+2
+2
+2  
+2
+2  
+2
+2
+2  
+2
+2 
+2
+2
+2  
+2
+2 6
+2
+2
+22
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2
+266
+2
+2
+22
+2
+2
+2
+2   \ No newline at end of file
diff --git a/data/maps/SecretBase_YellowCave4/border.bin b/data/maps/SecretBase_YellowCave4/border.bin
new file mode 100644
index 000000000..5c0908a6a
--- /dev/null
+++ b/data/maps/SecretBase_YellowCave4/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SecretBase_YellowCave4/header.inc b/data/maps/SecretBase_YellowCave4/header.inc
new file mode 100644
index 000000000..75a76dd44
--- /dev/null
+++ b/data/maps/SecretBase_YellowCave4/header.inc
@@ -0,0 +1,15 @@
+SecretBase_YellowCave4: @ 8484CDC
+ .4byte SecretBase_YellowCave4_MapAttributes
+ .4byte SecretBase_YellowCave4_MapEvents
+ .4byte SecretBase_YellowCave4_MapScripts
+ .4byte 0x0
+ .2byte BGM_MACHI_S3
+ .2byte 218
+ .byte 86
+ .byte 0
+ .byte 0
+ .byte 9
+ .2byte 0
+ .byte 12
+ .byte 8
+
diff --git a/data/maps/SecretBase_YellowCave4/map.bin b/data/maps/SecretBase_YellowCave4/map.bin
new file mode 100644
index 000000000..d3c3e0204
--- /dev/null
+++ b/data/maps/SecretBase_YellowCave4/map.bin
@@ -0,0 +1,80 @@
+ 
+2
+2
+2
+2
+2
+2
+2
+2"6
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2#6
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2  
+2
+2  
+2
+2  
+2
+2 
+2
+2  
+2
+2 6
+2
+2
+22
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2
+2  
+2
+2
+2
+2
+2
+2
+2
+2 
+2
+2
+2
+2
+2
+2
+2 
+2
+2
+22
+2
+2
+2   \ No newline at end of file
diff --git a/data/maps/ShoalCave_HighTideEntranceRoom/border.bin b/data/maps/ShoalCave_HighTideEntranceRoom/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/ShoalCave_HighTideEntranceRoom/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/ShoalCave_HighTideEntranceRoom/header.inc b/data/maps/ShoalCave_HighTideEntranceRoom/header.inc
new file mode 100644
index 000000000..f542d0700
--- /dev/null
+++ b/data/maps/ShoalCave_HighTideEntranceRoom/header.inc
@@ -0,0 +1,15 @@
+ShoalCave_HighTideEntranceRoom: @ 8484438
+ .4byte ShoalCave_HighTideEntranceRoom_MapAttributes
+ .4byte ShoalCave_HighTideEntranceRoom_MapEvents
+ .4byte ShoalCave_HighTideEntranceRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_M_DUNGON
+ .2byte 168
+ .byte 67
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/ShoalCave_HighTideEntranceRoom/map.bin b/data/maps/ShoalCave_HighTideEntranceRoom/map.bin
new file mode 100644
index 000000000..0e4b88c8f
--- /dev/null
+++ b/data/maps/ShoalCave_HighTideEntranceRoom/map.bin
@@ -0,0 +1 @@
+      2222222222222222822222222222222222|z22822222222222222222|pppppz22@QQQQQ22222pppppz222222222222|pppppz222222222222|ppppppppppppp2222222|pppppppppppppz22pppppppppppppppppppz22|pppppppppppppppppppz22|pppppppppppppppppppppppz22|pppppppppppppppppppppppz22|pppppppppppp11111111112C22]C]CUCUCUCUC^pppppp1111111111122BBBBBB|pppppp1111111111m#222BBBBB|pppppp11111222BBB2ppppppppppp11111    BBB|ppppppppppp11111BBB|pppppppppppppp111mn#  BBB|pppppppppppppp111BBB2ppppppppppppp111BBB1111111111111111111  BBB1111111111111111111   BBB1111111111111111111BBB1111111111111111111BBB#BnBnBnBnBnBnBo111111111111BBBBBBBBBB111111111111#         "111111111111111111u211111        " nnnnnXYZnnnn   "                                                                         \ No newline at end of file
diff --git a/data/maps/ShoalCave_HighTideInnerRoom/border.bin b/data/maps/ShoalCave_HighTideInnerRoom/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/ShoalCave_HighTideInnerRoom/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/ShoalCave_HighTideInnerRoom/header.inc b/data/maps/ShoalCave_HighTideInnerRoom/header.inc
new file mode 100644
index 000000000..7c4a7184c
--- /dev/null
+++ b/data/maps/ShoalCave_HighTideInnerRoom/header.inc
@@ -0,0 +1,15 @@
+ShoalCave_HighTideInnerRoom: @ 8484454
+ .4byte ShoalCave_HighTideInnerRoom_MapAttributes
+ .4byte ShoalCave_HighTideInnerRoom_MapEvents
+ .4byte ShoalCave_HighTideInnerRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_M_DUNGON
+ .2byte 169
+ .byte 67
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/ShoalCave_HighTideInnerRoom/map.bin b/data/maps/ShoalCave_HighTideInnerRoom/map.bin
new file mode 100644
index 000000000..c540a4008
--- /dev/null
+++ b/data/maps/ShoalCave_HighTideInnerRoom/map.bin
@@ -0,0 +1 @@
+BBBBBBBBBBB22222BBBBBBBBBBB22222BBBBBBBBBBBBBBBBppppppppppppppppppppppppBBBBBBBBBBppppppppppppppppppppppppBBBBBBBBBB[32ppppppppppppppppppppppppBBB22ppp111111111111111111111RRRRR[SRBBB22ppp111111111111111111111RRRRRRBBB22pppmnRnRnRnRnRnRnRnRnRnRnRo111111112BBB2pppR[S  B B B B B B B"#R Ro11BBBpppRRBBBBBBBRR11pppppppppBBBpppppRRBBBBBBBRR11pppppppppBBBpppppRRBBBBRR11pppppppppBBBpppppBBBBRR1111111111111BBBppppp111BBBBRR1111111111111BBBpppppppBBBBRR111111mnRnRnRnRnRnR#RBBBppppppppppBBBBRR111111RRRRR[SRBBBBBBBBBBBRR111111RRRRRRRBBBBBBBBBBB111111RRRRRRRppppppppppB2111111RRRR111pppppppBBBBBB1111RRRR#RnRnRnRnRnRopppppppBBBBBBpppppRRRRRRRRRRppppp11BBBBBBpppppppppRRRRRRRpppppmn#     "pppppppppRRRRRRR1111111111   pppppppppRRRRRRR1111111111pppppppppRRRRRRR1111111111     "11111111111RRRRRRR#RnRnRnRnRnRnRnRnRnRnR#R11111111111RRRRRRRRRRRRRRRRRRR##nnnnnnnnnn1#RRRRRRRRRRRRRRRR<RRRR#        "RR<RRR#          XYZ  ## XYZ ##         "#   "#      "#       ##      ##                                     # \ No newline at end of file
diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/border.bin b/data/maps/ShoalCave_LowTideEntranceRoom/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/ShoalCave_LowTideEntranceRoom/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/header.inc b/data/maps/ShoalCave_LowTideEntranceRoom/header.inc
new file mode 100644
index 000000000..6065466dc
--- /dev/null
+++ b/data/maps/ShoalCave_LowTideEntranceRoom/header.inc
@@ -0,0 +1,15 @@
+ShoalCave_LowTideEntranceRoom: @ 84843C8
+ .4byte ShoalCave_LowTideEntranceRoom_MapAttributes
+ .4byte ShoalCave_LowTideEntranceRoom_MapEvents
+ .4byte ShoalCave_LowTideEntranceRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_M_DUNGON
+ .2byte 164
+ .byte 67
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/map.bin b/data/maps/ShoalCave_LowTideEntranceRoom/map.bin
new file mode 100644
index 000000000..1cf7c87f2
--- /dev/null
+++ b/data/maps/ShoalCave_LowTideEntranceRoom/map.bin
@@ -0,0 +1,3 @@
+      2222222222222222822222222222222222   22822222222222222222222@QQQQQ2222222222222222222222222222222222222222i22222222222222222222222222222222222222222222222222222222222222222222222222222222222222           22#     
+2222 2222222222222#B B B B B B
+22222222222222222BBBBBB22222222222222p#222BBBBBB2222222222222BBBB2222h222222   #BBB22222222222222BBB222222222222p # #BBB222222222222222BBB#            #222BBB#2 222222222222222222 #BBB2222222222222222222  #BBB2222222222222222222BBB2222222222211112222BBB#B B B B B B Bq222111111222BBBBBBBBBB222111111222#         "221111111122221111u211122#       "#     XYZ    ## "#               ##                    ##                               # \ No newline at end of file
diff --git a/data/maps/ShoalCave_LowTideIceRoom/border.bin b/data/maps/ShoalCave_LowTideIceRoom/border.bin
new file mode 100644
index 000000000..206bd63f8
--- /dev/null
+++ b/data/maps/ShoalCave_LowTideIceRoom/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/ShoalCave_LowTideIceRoom/header.inc b/data/maps/ShoalCave_LowTideIceRoom/header.inc
new file mode 100644
index 000000000..10f4aff16
--- /dev/null
+++ b/data/maps/ShoalCave_LowTideIceRoom/header.inc
@@ -0,0 +1,15 @@
+ShoalCave_LowTideIceRoom: @ 84847D4
+ .4byte ShoalCave_LowTideIceRoom_MapAttributes
+ .4byte ShoalCave_LowTideIceRoom_MapEvents
+ .4byte ShoalCave_LowTideIceRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_M_DUNGON
+ .2byte 328
+ .byte 67
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/ShoalCave_LowTideIceRoom/map.bin b/data/maps/ShoalCave_LowTideIceRoom/map.bin
new file mode 100644
index 000000000..222f1f26c
--- /dev/null
+++ b/data/maps/ShoalCave_LowTideIceRoom/map.bin
@@ -0,0 +1 @@
+{|{|3333~33~33333}333333333}333333333}3~333323333333|33333~33333333333xyCyCyCz33~}333xCCCC3333|333CCCCww|3xyCCCCCC33333333CCCCCC33333333CCC~CC33333333c|CCC33333333233CCC333~333333}CCCCz333333}333CCCCCyCz333333~3CC~CC}3333z333C}CCCCCz333z33|CCCCC3333333CCCCC3333333|CCC333{3}3}33CCC333{}333333333333333333333333333333233333333333~23333}3233333yyz33~3333333333yyyyyz3333333yyyyyyy \ No newline at end of file
diff --git a/data/maps/ShoalCave_LowTideInnerRoom/border.bin b/data/maps/ShoalCave_LowTideInnerRoom/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/ShoalCave_LowTideInnerRoom/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/ShoalCave_LowTideInnerRoom/header.inc b/data/maps/ShoalCave_LowTideInnerRoom/header.inc
new file mode 100644
index 000000000..5b9972258
--- /dev/null
+++ b/data/maps/ShoalCave_LowTideInnerRoom/header.inc
@@ -0,0 +1,15 @@
+ShoalCave_LowTideInnerRoom: @ 84843E4
+ .4byte ShoalCave_LowTideInnerRoom_MapAttributes
+ .4byte ShoalCave_LowTideInnerRoom_MapEvents
+ .4byte ShoalCave_LowTideInnerRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_M_DUNGON
+ .2byte 165
+ .byte 67
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/ShoalCave_LowTideInnerRoom/map.bin b/data/maps/ShoalCave_LowTideInnerRoom/map.bin
new file mode 100644
index 000000000..87df28cf4
--- /dev/null
+++ b/data/maps/ShoalCave_LowTideInnerRoom/map.bin
@@ -0,0 +1,2 @@
+BBBBBBBBBBB22222BBBBBBBBBBBBB22222BBBBBBBBBBBBBBBBBBRRRRRRRRRRRRRRRRRRRRRRRRBBBBBBBBBBRRRRRRRRRRRRRRRRRRRRRZSRRBBBBBBBBBB[32RRRRRRRRRRRRRRRRRRRRRRRRBBB22RRR 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2#2RRRRR[SRBBB22RRR222222222222222222222RRRRRRRBBB22RRR  R R R R R R R R R R R"22222222BBB2RRRR[S  B B B B B B B"#R R"222BBBRRRRRBBBBBBBRR222BBBRRRRRRRBBBBBBBRR222222222BBBRRRRRRRBBBBRR22#       #BBBRRRRRBBBBRR22#2 2 2 2 2 2 2 2 2 2#2BBB   BBBBRR2222222222222BBB2222BBBBRR222222  R R R R R R#RBBB22222222BBBBRR222222RRRRR[SRBBBBBBBBBBBBBBBRR222222RRRRRRRBBBBBBBBBBBBBBBRR222222RRRRRRR22222222B222222RRRRR#   
+2222BBBBBB   2RRRR#R R R R#R R1 2"22 #BBBBBB22RRRRRRRRRR22Z3  #BBBBBB2222222RRRRRRR222  #     "2222222RRRRRRR2222#  #  #2222222RRRRRRR2222#2 2 2 2 2#22222222RRRRRRR2222222222     "#    XYZ#RRRRRRR R R R R R R R R R R R#R#         #RRRRRRRRRRRRRRRRRRR##       1 R R R#RRRRRRRRRRRRRRRR<RRRR#        "RRRRR<RRR#          XYZ  ##    XYZ ##         "#   "#      "#       ##      ##                                     # \ No newline at end of file
diff --git a/data/maps/ShoalCave_LowTideLowerRoom/border.bin b/data/maps/ShoalCave_LowTideLowerRoom/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/ShoalCave_LowTideLowerRoom/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/ShoalCave_LowTideLowerRoom/header.inc b/data/maps/ShoalCave_LowTideLowerRoom/header.inc
new file mode 100644
index 000000000..d2c2bcac6
--- /dev/null
+++ b/data/maps/ShoalCave_LowTideLowerRoom/header.inc
@@ -0,0 +1,15 @@
+ShoalCave_LowTideLowerRoom: @ 848441C
+ .4byte ShoalCave_LowTideLowerRoom_MapAttributes
+ .4byte ShoalCave_LowTideLowerRoom_MapEvents
+ .4byte ShoalCave_LowTideLowerRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_M_DUNGON
+ .2byte 167
+ .byte 67
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/ShoalCave_LowTideLowerRoom/map.bin b/data/maps/ShoalCave_LowTideLowerRoom/map.bin
new file mode 100644
index 000000000..04bf2baf3
--- /dev/null
+++ b/data/maps/ShoalCave_LowTideLowerRoom/map.bin
@@ -0,0 +1,4 @@
+222222222222Z322222222222222222222222222222222HQQQQQ  6 6 6 
+2222222222922222 6 6 6
+2222222222222292222222XYZ              
+222#                "222222222222XYZ#6 6 6#6#   ##6 6 6 6 6#6 \ No newline at end of file
diff --git a/data/maps/ShoalCave_LowTideStairsRoom/border.bin b/data/maps/ShoalCave_LowTideStairsRoom/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/ShoalCave_LowTideStairsRoom/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/ShoalCave_LowTideStairsRoom/header.inc b/data/maps/ShoalCave_LowTideStairsRoom/header.inc
new file mode 100644
index 000000000..035ab6dcb
--- /dev/null
+++ b/data/maps/ShoalCave_LowTideStairsRoom/header.inc
@@ -0,0 +1,15 @@
+ShoalCave_LowTideStairsRoom: @ 8484400
+ .4byte ShoalCave_LowTideStairsRoom_MapAttributes
+ .4byte ShoalCave_LowTideStairsRoom_MapEvents
+ .4byte ShoalCave_LowTideStairsRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_M_DUNGON
+ .2byte 166
+ .byte 67
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/ShoalCave_LowTideStairsRoom/map.bin b/data/maps/ShoalCave_LowTideStairsRoom/map.bin
new file mode 100644
index 000000000..f2b56644d
--- /dev/null
+++ b/data/maps/ShoalCave_LowTideStairsRoom/map.bin
@@ -0,0 +1 @@
+             1     22222262 2626222222622222622262222222Z322222222222222266222222222222#                     \ No newline at end of file
diff --git a/data/maps/SingleBattleColosseum/border.bin b/data/maps/SingleBattleColosseum/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/SingleBattleColosseum/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SingleBattleColosseum/header.inc b/data/maps/SingleBattleColosseum/header.inc
new file mode 100644
index 000000000..b4844d42f
--- /dev/null
+++ b/data/maps/SingleBattleColosseum/header.inc
@@ -0,0 +1,15 @@
+SingleBattleColosseum: @ 8484D30
+ .4byte SingleBattleColosseum_MapAttributes
+ .4byte SingleBattleColosseum_MapEvents
+ .4byte SingleBattleColosseum_MapScripts
+ .4byte 0x0
+ .2byte BGM_RAINBOW
+ .2byte 221
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 8
+
diff --git a/data/maps/SingleBattleColosseum/map.bin b/data/maps/SingleBattleColosseum/map.bin
new file mode 100644
index 000000000..1f66ab707
--- /dev/null
+++ b/data/maps/SingleBattleColosseum/map.bin
@@ -0,0 +1 @@
+hijjjkllmjjjoOpqrrrstturrrwWxyzzz{||}zzz_22L2M22222M2N2222U2T2U2U2b2c2U2U2V2U222U2`2U2U2d2e2U2U2a2U222U2T2U2U2f2g2U2U2V2U222U2\2]2]2]2]2]2]2^2U22!2!2 \ No newline at end of file
diff --git a/data/maps/SkyPillar_1F/border.bin b/data/maps/SkyPillar_1F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/SkyPillar_1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SkyPillar_1F/header.inc b/data/maps/SkyPillar_1F/header.inc
new file mode 100644
index 000000000..937aafc96
--- /dev/null
+++ b/data/maps/SkyPillar_1F/header.inc
@@ -0,0 +1,15 @@
+SkyPillar_1F: @ 8484764
+ .4byte SkyPillar_1F_MapAttributes
+ .4byte SkyPillar_1F_MapEvents
+ .4byte SkyPillar_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 322
+ .byte 85
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/SkyPillar_1F/map.bin b/data/maps/SkyPillar_1F/map.bin
new file mode 100644
index 000000000..1eb299c49
--- /dev/null
+++ b/data/maps/SkyPillar_1F/map.bin
@@ -0,0 +1 @@
+''''''''';<=''/////////CD2E//222222222222222222222222222222222222222289999:2222222@AAAAB222222AAAAAA22222AAAAAA222222AAAAAA222222IMMMMJ2222222222222222222222222222222222"2#222222 \ No newline at end of file
diff --git a/data/maps/SkyPillar_2F/border.bin b/data/maps/SkyPillar_2F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/SkyPillar_2F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SkyPillar_2F/header.inc b/data/maps/SkyPillar_2F/header.inc
new file mode 100644
index 000000000..cec94c7a2
--- /dev/null
+++ b/data/maps/SkyPillar_2F/header.inc
@@ -0,0 +1,15 @@
+SkyPillar_2F: @ 8484780
+ .4byte SkyPillar_2F_MapAttributes
+ .4byte SkyPillar_2F_MapEvents
+ .4byte SkyPillar_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 323
+ .byte 85
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/SkyPillar_2F/map.bin b/data/maps/SkyPillar_2F/map.bin
new file mode 100644
index 000000000..8ec9bf213
--- /dev/null
+++ b/data/maps/SkyPillar_2F/map.bin
@@ -0,0 +1 @@
+'';<='''';<=''//CD2E////CL2E//5252525252525252525252525242424242424242424242424242424242424242424242424242424289999:626262624242@AAAAB6262626242426262AAAAAA42424262626262AAAAAA4242424262626262AAAAAA4242424262624242IMMMMJ626242426242426262424242626262624242426262424242426262626242424262626242424242424242 \ No newline at end of file
diff --git a/data/maps/SkyPillar_3F/border.bin b/data/maps/SkyPillar_3F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/SkyPillar_3F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SkyPillar_3F/header.inc b/data/maps/SkyPillar_3F/header.inc
new file mode 100644
index 000000000..5dd2b53b3
--- /dev/null
+++ b/data/maps/SkyPillar_3F/header.inc
@@ -0,0 +1,15 @@
+SkyPillar_3F: @ 848479C
+ .4byte SkyPillar_3F_MapAttributes
+ .4byte SkyPillar_3F_MapEvents
+ .4byte SkyPillar_3F_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 324
+ .byte 85
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/SkyPillar_3F/map.bin b/data/maps/SkyPillar_3F/map.bin
new file mode 100644
index 000000000..d6c76d48c
--- /dev/null
+++ b/data/maps/SkyPillar_3F/map.bin
@@ -0,0 +1 @@
+'';<=';<=';<='//CL2E/CD2E/CD2E/2222222222222222222222222222222222222289999:2222222@AAAAB222222AAAAAA2222222AAAAAA2222222AAAAAA2222222IMMMMJ222222222222222222222222222222222222222 \ No newline at end of file
diff --git a/data/maps/SkyPillar_4F/border.bin b/data/maps/SkyPillar_4F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/SkyPillar_4F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SkyPillar_4F/header.inc b/data/maps/SkyPillar_4F/header.inc
new file mode 100644
index 000000000..9e89a6177
--- /dev/null
+++ b/data/maps/SkyPillar_4F/header.inc
@@ -0,0 +1,15 @@
+SkyPillar_4F: @ 84847B8
+ .4byte SkyPillar_4F_MapAttributes
+ .4byte SkyPillar_4F_MapEvents
+ .4byte SkyPillar_4F_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 325
+ .byte 85
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/SkyPillar_4F/map.bin b/data/maps/SkyPillar_4F/map.bin
new file mode 100644
index 000000000..02e82bb4f
--- /dev/null
+++ b/data/maps/SkyPillar_4F/map.bin
@@ -0,0 +1 @@
+'';<=';<=';<='//CD2E/CL2E/CL2E/5252525252525252652525252526262666424242642426242626242626424242426424289999:4262626242424242@AAAAB42626262426262AAAAAA42626424262662AAAAAA424242662662AAAAAA42424242624242IMMMMJ4242424242424262426426242662624242424264262426242624262624242424242624262426426262624242 \ No newline at end of file
diff --git a/data/maps/SkyPillar_5F/border.bin b/data/maps/SkyPillar_5F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/SkyPillar_5F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SkyPillar_5F/header.inc b/data/maps/SkyPillar_5F/header.inc
new file mode 100644
index 000000000..363e2a52e
--- /dev/null
+++ b/data/maps/SkyPillar_5F/header.inc
@@ -0,0 +1,15 @@
+SkyPillar_5F: @ 84847F0
+ .4byte SkyPillar_5F_MapAttributes
+ .4byte SkyPillar_5F_MapEvents
+ .4byte SkyPillar_5F_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 330
+ .byte 85
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/SkyPillar_5F/map.bin b/data/maps/SkyPillar_5F/map.bin
new file mode 100644
index 000000000..b8cd541d5
--- /dev/null
+++ b/data/maps/SkyPillar_5F/map.bin
@@ -0,0 +1 @@
+'';<='''';<=''//CL2E////CD2E//22222622262222226222226222222228999999:622622@AAAAAAB622262AAAAAAAA226222AAAAAAAA222222AAAAAAAA22222AAAAAAAA262222AAAAAAAA62222IMMMMMMJ22222222222222622622222222222 \ No newline at end of file
diff --git a/data/maps/SkyPillar_Entrance/border.bin b/data/maps/SkyPillar_Entrance/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/SkyPillar_Entrance/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SkyPillar_Entrance/header.inc b/data/maps/SkyPillar_Entrance/header.inc
new file mode 100644
index 000000000..5db53ba25
--- /dev/null
+++ b/data/maps/SkyPillar_Entrance/header.inc
@@ -0,0 +1,15 @@
+SkyPillar_Entrance: @ 848472C
+ .4byte SkyPillar_Entrance_MapAttributes
+ .4byte SkyPillar_Entrance_MapEvents
+ .4byte SkyPillar_Entrance_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 320
+ .byte 85
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/SkyPillar_Entrance/map.bin b/data/maps/SkyPillar_Entrance/map.bin
new file mode 100644
index 000000000..b215b86ef
--- /dev/null
+++ b/data/maps/SkyPillar_Entrance/map.bin
@@ -0,0 +1 @@
+222222222222222222226222222222222222222 ##22   #2226   #2222222222222222222222222222######## \ No newline at end of file
diff --git a/data/maps/SkyPillar_Outside/border.bin b/data/maps/SkyPillar_Outside/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/SkyPillar_Outside/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/SkyPillar_Outside/header.inc b/data/maps/SkyPillar_Outside/header.inc
new file mode 100644
index 000000000..fc7ed3110
--- /dev/null
+++ b/data/maps/SkyPillar_Outside/header.inc
@@ -0,0 +1,15 @@
+SkyPillar_Outside: @ 8484748
+ .4byte SkyPillar_Outside_MapAttributes
+ .4byte SkyPillar_Outside_MapEvents
+ .4byte SkyPillar_Outside_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 321
+ .byte 85
+ .byte 0
+ .byte 0
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/SkyPillar_Outside/map.bin b/data/maps/SkyPillar_Outside/map.bin
new file mode 100644
index 000000000..01b78d554
--- /dev/null
+++ b/data/maps/SkyPillar_Outside/map.bin
@@ -0,0 +1 @@
+ppppppppppr6666t5pppppppppppppppr66!1!1666tppppppppppr66!1!1!166!1!1!1!1ustppppppprs!1!1!1!1666!1!1uqutppppprss!1!1!1!1!1666!1!1uquuypppxsss!1!1!16666!1uquupppss{!1$1$12222226uquupppssqs$1$1$1$12222222ut}uppps{s$1$1$1$1$1$12222222t}uquppp{ss$1$1$1$1$1$1$122uququpppss{$1$1$1$1$1$1qqu2uququppppssqs$1$1$1$1$1sqqqu2uqut}pppps{{$1$1$1$1{|d|}2ut}uqppPQ{{{$1$1$10t}ut}ppXY{{{$1$1$1$1$1$14$1$1ut}upppppp{{s$1$1$1$1$1$1$1$1t}ut}ppPQppppsqs{$1$1$14$1t|}quuppXYppppPesq{{4$1$1t}qt|}upPQppppppXm{q{{|||}qt}t|}pXYppppPQp{q{|}qupppppppXYpp{|0|}ppppppppppPQpp$1$1$1$1$1Z[ppppppppppXYppppp$1$1$1$1$1pXYu{{{tp \ No newline at end of file
diff --git a/data/maps/SkyPillar_Top/border.bin b/data/maps/SkyPillar_Top/border.bin
new file mode 100644
index 000000000..e9d1c658c
--- /dev/null
+++ b/data/maps/SkyPillar_Top/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SkyPillar_Top/header.inc b/data/maps/SkyPillar_Top/header.inc
new file mode 100644
index 000000000..3169183ed
--- /dev/null
+++ b/data/maps/SkyPillar_Top/header.inc
@@ -0,0 +1,15 @@
+SkyPillar_Top: @ 848480C
+ .4byte SkyPillar_Top_MapAttributes
+ .4byte SkyPillar_Top_MapEvents
+ .4byte SkyPillar_Top_MapScripts
+ .4byte 0x0
+ .2byte BGM_TOZAN
+ .2byte 331
+ .byte 85
+ .byte 0
+ .byte 0
+ .byte 3
+ .2byte 0
+ .byte 12
+ .byte 0
+
diff --git a/data/maps/SkyPillar_Top/map.bin b/data/maps/SkyPillar_Top/map.bin
new file mode 100644
index 000000000..d87f50f30
--- /dev/null
+++ b/data/maps/SkyPillar_Top/map.bin
@@ -0,0 +1 @@
+d2d2d26d2d2d26d2d2d26666666d2d2d26d2d2d26d26664274242426427742742777427424277674242742424274274274277666427777774242424242767424242777766767666424277766767666642427774242424277777426427764242424242424264277777642427774277427424242426742427426742427774242424242424242424267667774242426642424242424242424242426426642''''''''''m22n';<='''''''''//////////j22k/CL2E/////////5252525252525252525252525252525252676774242424242424242426427777677677424242424242424274276[[[[[[[[[[[[[[[[[[[[[[[[[[[ \ No newline at end of file
diff --git a/data/maps/SlateportCity/border.bin b/data/maps/SlateportCity/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/SlateportCity/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/SlateportCity/connections.inc b/data/maps/SlateportCity/connections.inc
new file mode 100644
index 000000000..d8544954a
--- /dev/null
+++ b/data/maps/SlateportCity/connections.inc
@@ -0,0 +1,9 @@
+SlateportCity_MapConnectionsList: @ 84866F4
+ connection up, 0, ROUTE_110, 0
+ connection down, 0, ROUTE_109, 0
+ connection right, 0, ROUTE_134, 0
+
+SlateportCity_MapConnections: @ 8486718
+ .4byte 0x3
+ .4byte SlateportCity_MapConnectionsList
+
diff --git a/data/maps/SlateportCity/header.inc b/data/maps/SlateportCity/header.inc
new file mode 100644
index 000000000..36ac643e4
--- /dev/null
+++ b/data/maps/SlateportCity/header.inc
@@ -0,0 +1,15 @@
+SlateportCity: @ 84824D4
+ .4byte SlateportCity_MapAttributes
+ .4byte SlateportCity_MapEvents
+ .4byte SlateportCity_MapScripts
+ .4byte SlateportCity_MapConnections
+ .2byte BGM_FINECITY
+ .2byte 2
+ .byte 8
+ .byte 0
+ .byte 2
+ .byte 2
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/SlateportCity/map.bin b/data/maps/SlateportCity/map.bin
new file mode 100644
index 000000000..163beb4e8
--- /dev/null
+++ b/data/maps/SlateportCity/map.bin
Binary files differ
diff --git a/data/maps/SlateportCity_BattleTentBattleRoom/header.inc b/data/maps/SlateportCity_BattleTentBattleRoom/header.inc
new file mode 100644
index 000000000..c5f983ce1
--- /dev/null
+++ b/data/maps/SlateportCity_BattleTentBattleRoom/header.inc
@@ -0,0 +1,15 @@
+SlateportCity_BattleTentBattleRoom: @ 848314C
+ .4byte SlateportCity_BattleTentBattleRoom_MapAttributes
+ .4byte SlateportCity_BattleTentBattleRoom_MapEvents
+ .4byte SlateportCity_BattleTentBattleRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 386
+ .byte 8
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SlateportCity_BattleTentCorridor/header.inc b/data/maps/SlateportCity_BattleTentCorridor/header.inc
new file mode 100644
index 000000000..0ae84307c
--- /dev/null
+++ b/data/maps/SlateportCity_BattleTentCorridor/header.inc
@@ -0,0 +1,15 @@
+SlateportCity_BattleTentCorridor: @ 8483130
+ .4byte SlateportCity_BattleTentCorridor_MapAttributes
+ .4byte SlateportCity_BattleTentCorridor_MapEvents
+ .4byte SlateportCity_BattleTentCorridor_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 385
+ .byte 8
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SlateportCity_BattleTentLobby/header.inc b/data/maps/SlateportCity_BattleTentLobby/header.inc
new file mode 100644
index 000000000..2e35d23c4
--- /dev/null
+++ b/data/maps/SlateportCity_BattleTentLobby/header.inc
@@ -0,0 +1,15 @@
+SlateportCity_BattleTentLobby: @ 8483114
+ .4byte SlateportCity_BattleTentLobby_MapAttributes
+ .4byte SlateportCity_BattleTentLobby_MapEvents
+ .4byte SlateportCity_BattleTentLobby_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 384
+ .byte 8
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SlateportCity_Harbor/border.bin b/data/maps/SlateportCity_Harbor/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/SlateportCity_Harbor/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SlateportCity_Harbor/header.inc b/data/maps/SlateportCity_Harbor/header.inc
new file mode 100644
index 000000000..7f932a556
--- /dev/null
+++ b/data/maps/SlateportCity_Harbor/header.inc
@@ -0,0 +1,15 @@
+SlateportCity_Harbor: @ 84831D8
+ .4byte SlateportCity_Harbor_MapAttributes
+ .4byte SlateportCity_Harbor_MapEvents
+ .4byte SlateportCity_Harbor_MapScripts
+ .4byte 0x0
+ .2byte BGM_FINECITY
+ .2byte 88
+ .byte 8
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SlateportCity_Harbor/map.bin b/data/maps/SlateportCity_Harbor/map.bin
new file mode 100644
index 000000000..c77c1edfb
--- /dev/null
+++ b/data/maps/SlateportCity_Harbor/map.bin
@@ -0,0 +1 @@
+!!!!!!!!!!!!!!!!!!!!!!!!222MNNNNNNNNNNNNNNNNNNNN222Gqqqqqqqqqqqqqqqqqqqq222Gqppppppppppppppppppp222Gqppppppppppppppppppp222Gqppppppppppppppppppp222Gqppppppppppppppppppp222hVVW[3[3UVVVVVVVF77VVVV222222222%222%222%22`77776*622222222222222222`77777722222222222222222`*6*6*6*677222222222222222`(6(6(6(677 \ No newline at end of file
diff --git a/data/maps/SlateportCity_House1/header.inc b/data/maps/SlateportCity_House1/header.inc
new file mode 100644
index 000000000..049d9de6c
--- /dev/null
+++ b/data/maps/SlateportCity_House1/header.inc
@@ -0,0 +1,15 @@
+SlateportCity_House1: @ 8483168
+ .4byte SlateportCity_House1_MapAttributes
+ .4byte SlateportCity_House1_MapEvents
+ .4byte SlateportCity_House1_MapScripts
+ .4byte 0x0
+ .2byte BGM_FINECITY
+ .2byte 80
+ .byte 8
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SlateportCity_House2/header.inc b/data/maps/SlateportCity_House2/header.inc
new file mode 100644
index 000000000..f09479db2
--- /dev/null
+++ b/data/maps/SlateportCity_House2/header.inc
@@ -0,0 +1,15 @@
+SlateportCity_House2: @ 84831F4
+ .4byte SlateportCity_House2_MapAttributes
+ .4byte SlateportCity_House2_MapEvents
+ .4byte SlateportCity_House2_MapScripts
+ .4byte 0x0
+ .2byte BGM_FINECITY
+ .2byte 60
+ .byte 8
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SlateportCity_Mart/header.inc b/data/maps/SlateportCity_Mart/header.inc
new file mode 100644
index 000000000..f9db75bdd
--- /dev/null
+++ b/data/maps/SlateportCity_Mart/header.inc
@@ -0,0 +1,15 @@
+SlateportCity_Mart: @ 8483248
+ .4byte SlateportCity_Mart_MapAttributes
+ .4byte SlateportCity_Mart_MapEvents
+ .4byte SlateportCity_Mart_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRIENDLY
+ .2byte 63
+ .byte 8
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/border.bin b/data/maps/SlateportCity_OceanicMuseum_1F/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/SlateportCity_OceanicMuseum_1F/border.bin
Binary files differ
diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/header.inc b/data/maps/SlateportCity_OceanicMuseum_1F/header.inc
new file mode 100644
index 000000000..3c55de12c
--- /dev/null
+++ b/data/maps/SlateportCity_OceanicMuseum_1F/header.inc
@@ -0,0 +1,15 @@
+SlateportCity_OceanicMuseum_1F: @ 84831A0
+ .4byte SlateportCity_OceanicMuseum_1F_MapAttributes
+ .4byte SlateportCity_OceanicMuseum_1F_MapEvents
+ .4byte SlateportCity_OceanicMuseum_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_FUNE_KAN
+ .2byte 86
+ .byte 8
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/map.bin b/data/maps/SlateportCity_OceanicMuseum_1F/map.bin
new file mode 100644
index 000000000..f18b01e49
--- /dev/null
+++ b/data/maps/SlateportCity_OceanicMuseum_1F/map.bin
@@ -0,0 +1,2 @@
+]W&'&'   ^_ ./ ./    22222222262722627222222222 2222222222222!222!2222(C222222222222)6C22)6C2222K22"2#2#2$222"2#2#2$22K222K222 222U6H6I6V6C22U6I636V6C222!2222(C22>6D22>6C22>6D22>6C222)6C2222K22`6C22`6
+ `6C22`6C2222K2 \ No newline at end of file
diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/border.bin b/data/maps/SlateportCity_OceanicMuseum_2F/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/SlateportCity_OceanicMuseum_2F/border.bin
Binary files differ
diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/header.inc b/data/maps/SlateportCity_OceanicMuseum_2F/header.inc
new file mode 100644
index 000000000..c1e082d69
--- /dev/null
+++ b/data/maps/SlateportCity_OceanicMuseum_2F/header.inc
@@ -0,0 +1,15 @@
+SlateportCity_OceanicMuseum_2F: @ 84831BC
+ .4byte SlateportCity_OceanicMuseum_2F_MapAttributes
+ .4byte SlateportCity_OceanicMuseum_2F_MapEvents
+ .4byte SlateportCity_OceanicMuseum_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_FUNE_KAN
+ .2byte 87
+ .byte 8
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/map.bin b/data/maps/SlateportCity_OceanicMuseum_2F/map.bin
new file mode 100644
index 000000000..1fa2cdc18
--- /dev/null
+++ b/data/maps/SlateportCity_OceanicMuseum_2F/map.bin
@@ -0,0 +1 @@
+ac %       bd%   22M2N2N2O22222-222222222C2289@,C22225C2S2T22S2T22 22C222334C22222K2[\2[\2(C2C22E2F2F2G2K2222222222222K2C22*01,C2222222Q2R2222 22C222334C2222222YZC222(C2C222222K222222222K2222K2 \ No newline at end of file
diff --git a/data/maps/SlateportCity_PokemonCenter_1F/header.inc b/data/maps/SlateportCity_PokemonCenter_1F/header.inc
new file mode 100644
index 000000000..e12c994c1
--- /dev/null
+++ b/data/maps/SlateportCity_PokemonCenter_1F/header.inc
@@ -0,0 +1,15 @@
+SlateportCity_PokemonCenter_1F: @ 8483210
+ .4byte SlateportCity_PokemonCenter_1F_MapAttributes
+ .4byte SlateportCity_PokemonCenter_1F_MapEvents
+ .4byte SlateportCity_PokemonCenter_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 61
+ .byte 8
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SlateportCity_PokemonCenter_2F/header.inc b/data/maps/SlateportCity_PokemonCenter_2F/header.inc
new file mode 100644
index 000000000..2a810add5
--- /dev/null
+++ b/data/maps/SlateportCity_PokemonCenter_2F/header.inc
@@ -0,0 +1,15 @@
+SlateportCity_PokemonCenter_2F: @ 848322C
+ .4byte SlateportCity_PokemonCenter_2F_MapAttributes
+ .4byte SlateportCity_PokemonCenter_2F_MapEvents
+ .4byte SlateportCity_PokemonCenter_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 62
+ .byte 8
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SlateportCity_PokemonFanClub/border.bin b/data/maps/SlateportCity_PokemonFanClub/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/SlateportCity_PokemonFanClub/border.bin
Binary files differ
diff --git a/data/maps/SlateportCity_PokemonFanClub/header.inc b/data/maps/SlateportCity_PokemonFanClub/header.inc
new file mode 100644
index 000000000..ac7230cd2
--- /dev/null
+++ b/data/maps/SlateportCity_PokemonFanClub/header.inc
@@ -0,0 +1,15 @@
+SlateportCity_PokemonFanClub: @ 8483184
+ .4byte SlateportCity_PokemonFanClub_MapAttributes
+ .4byte SlateportCity_PokemonFanClub_MapEvents
+ .4byte SlateportCity_PokemonFanClub_MapScripts
+ .4byte 0x0
+ .2byte BGM_FINECITY
+ .2byte 85
+ .byte 8
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SlateportCity_PokemonFanClub/map.bin b/data/maps/SlateportCity_PokemonFanClub/map.bin
new file mode 100644
index 000000000..effff6653
--- /dev/null
+++ b/data/maps/SlateportCity_PokemonFanClub/map.bin
Binary files differ
diff --git a/data/maps/SlateportCity_SternsShipyard_1F/border.bin b/data/maps/SlateportCity_SternsShipyard_1F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/SlateportCity_SternsShipyard_1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SlateportCity_SternsShipyard_1F/header.inc b/data/maps/SlateportCity_SternsShipyard_1F/header.inc
new file mode 100644
index 000000000..baa482aa3
--- /dev/null
+++ b/data/maps/SlateportCity_SternsShipyard_1F/header.inc
@@ -0,0 +1,15 @@
+SlateportCity_SternsShipyard_1F: @ 84830DC
+ .4byte SlateportCity_SternsShipyard_1F_MapAttributes
+ .4byte SlateportCity_SternsShipyard_1F_MapEvents
+ .4byte SlateportCity_SternsShipyard_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_FINECITY
+ .2byte 81
+ .byte 8
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SlateportCity_SternsShipyard_1F/map.bin b/data/maps/SlateportCity_SternsShipyard_1F/map.bin
new file mode 100644
index 000000000..036f5ce26
--- /dev/null
+++ b/data/maps/SlateportCity_SternsShipyard_1F/map.bin
@@ -0,0 +1,7 @@
+!
+!012! #!$!"!!"2222
+)28292:2)22)2)2)2)2)2)2)2)2222222  2 2 2 2 2 2 2 2&2)2)2)2)22A2B22222?)2)2)2'IJ2222
+G$[\3456 )2)2)2''2222   O)2cd;<=>2)2)2)2/7A2B222)2)2k2l2CDEF)2)2)2)2)2)2IJ2222 )2)2)2)2K2LMN2)2)2)2)2)2)22222222)2)2)253)2UV)2)2)2)2)2)2)2A2B222222)2)2(2_2(2*2*253)2)2)2)2)22IJ22222)2(2_2(2(2(2_2)2)2)2'222222
+'2(2W(2(2(2W)2)2)2'''222222
+/'(2(2(2(2(2)2)2)2//7222222
+77/)2)2)2)2)2)2)2)2)2)2)2 \ No newline at end of file
diff --git a/data/maps/SlateportCity_SternsShipyard_2F/border.bin b/data/maps/SlateportCity_SternsShipyard_2F/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/SlateportCity_SternsShipyard_2F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SlateportCity_SternsShipyard_2F/header.inc b/data/maps/SlateportCity_SternsShipyard_2F/header.inc
new file mode 100644
index 000000000..e3fe0fa27
--- /dev/null
+++ b/data/maps/SlateportCity_SternsShipyard_2F/header.inc
@@ -0,0 +1,15 @@
+SlateportCity_SternsShipyard_2F: @ 84830F8
+ .4byte SlateportCity_SternsShipyard_2F_MapAttributes
+ .4byte SlateportCity_SternsShipyard_2F_MapEvents
+ .4byte SlateportCity_SternsShipyard_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_FINECITY
+ .2byte 82
+ .byte 8
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SlateportCity_SternsShipyard_2F/map.bin b/data/maps/SlateportCity_SternsShipyard_2F/map.bin
new file mode 100644
index 000000000..d10ed2ac2
--- /dev/null
+++ b/data/maps/SlateportCity_SternsShipyard_2F/map.bin
@@ -0,0 +1 @@
+!!!$#! !!$! !!22222222222222222222222222  22  22@2B2A2B2222222222HJIJ2222PQQQQQQR222222222`cd;<=>2A2B2@2B22222`klCDEF2IJHJ2222`))KLMN222222222`)5)UV)2A2B2@2B22222`(W2(**52IJHJ222`(W2(((W2222222222hiiiij222222222222%2%2222222222222222222222 \ No newline at end of file
diff --git a/data/maps/SootopolisCity/border.bin b/data/maps/SootopolisCity/border.bin
new file mode 100644
index 000000000..c07869a9f
--- /dev/null
+++ b/data/maps/SootopolisCity/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SootopolisCity/connections.inc b/data/maps/SootopolisCity/connections.inc
new file mode 100644
index 000000000..230f56b2e
--- /dev/null
+++ b/data/maps/SootopolisCity/connections.inc
@@ -0,0 +1,6 @@
+SootopolisCity_MapConnectionsList:: @ 84867F0
+ @ empty
+
+SootopolisCity_MapConnections:: @ 84867F0
+ .4byte 0
+ .4byte SootopolisCity_MapConnectionsList
diff --git a/data/maps/SootopolisCity/header.inc b/data/maps/SootopolisCity/header.inc
new file mode 100644
index 000000000..b0bc91968
--- /dev/null
+++ b/data/maps/SootopolisCity/header.inc
@@ -0,0 +1,15 @@
+SootopolisCity: @ 848257C
+ .4byte SootopolisCity_MapAttributes
+ .4byte SootopolisCity_MapEvents
+ .4byte SootopolisCity_MapScripts
+ .4byte 0x0
+ .2byte BGM_RUNECITY
+ .2byte 8
+ .byte 14
+ .byte 0
+ .byte 2
+ .byte 2
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/SootopolisCity/map.bin b/data/maps/SootopolisCity/map.bin
new file mode 100644
index 000000000..ff03ebc3b
--- /dev/null
+++ b/data/maps/SootopolisCity/map.bin
@@ -0,0 +1,12 @@
+222922222922222229KLM929222222 
+  222222222 
+ 2222 
+ 22%7'222222KLM2222 
+  
+ U22-?/22@AAAB Z2222#$_222222 222222222222222222 22KLM22+,_22D2E2222222222222222222222@AAAAAAAB2 @AAF2G\22222222222@AF22GAAAB22D222%6'2bD2c22222222222bD2E2c2222922->/22D2222222222222D2AAAAAB22222222222D2E2D2 
+ D2E2D2E222222222222222222222D2E226222222 222822D2E22222222222229222222222222222222@AF22GAAAAAAAAB2222222222T 
+ B22222222bD2E2cQR[RS22TA 
+ 222228222222;2222^#$222D2E2222222 !2"2^2#$22222222^+,222D2E222222()2)2)2*222^2+,2222 
+  
+ KLM^22222222222n22o0q0q0q022222^22222D2E2 2 ^22222222222bD2E2cq06q06q022^2222D2E2%7'2%7']AAAB2222D2q0q0q0q0q0q06q06q0q0q0^222222222-?/2AAB-?/2D2E222D2q0q0q0q0q0q0q0q0q0q0q0q0q0q0]AB222222222222222222222q0q0q0q0q0q0q0q0q0q0q0q0q0q0D2E2KLM22222KLMD2E2222q0q0t||||||||||TB222 2222222KL22TYZB22D2E2ty}s^2222222222222 22^22222q0q0t}yyyyyyyy{y^222222222%6'22^222k6l6l6m6q0q0uyyyyyyyyyys^2222222 22222->/22^2222220123q0q0uyyyyyyyyyyyyys]AAB22222222AAAAB]AAAAB89:;q0q0uyyyyyyys{|}~2222222222ABwq0q0uyyyyysTPQRS2222D22222222222222q0q0uyyyyys^XYZ[222222222222222222222222222q0q0uyyyyys^abvD2E222222KLM22222D2E2q0q0q0uy01110yys^22222222222222TYZB2222q0q0q0q0q0q0uy000000010yys^22222222222922222^2222q0q0q0q0q0q0t}y00000010yys]B22@AF22 22222^2222q0tD2E2yzy00000000yysD2E2N22 
+ 2222^2222222q0r0000yy00000000yy{yyyD2E2N222]B2222q0r0000yyyy04000pN222222222tyyz0yyyyyyyyyyyyyyy00000pV@AAAAAAB2qtyyz0000yyyyyyyyyyyyyyyyyyyy00000p2qqr0000000yyyyyyyyyyyyyyyyyyyy000xyyyyqqq2qqr0000000yyyyyyyyyyyyyyyyyyyyyy00000000x2qqr000000000yyyyyyyyyyyyyyyyyyyyyy000000000pq2qqr000000000yyyyyyyyyyyyyyyyyyyyyy000011pq2qqr00000001100yyyyyyyyyyyyyyyyyyyyyyyyy0000pqq2qr000000000yyyyyyyyyyyyyyyyyyyyyyyyy0000pqqiiij000yyyyyyyyyyyyyyyyyyyyyyyyypqqij0yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyypr0yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy`ii0i0i00iijyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqqqqqryyyyyyyyyyyyyyyyyyyyyyyyiiiiiiqryyyyyyyyyyyyyyyyyyyyyyyyqqqqqqqryyyyyyyyyyyyyyyiiiiqqqqryyyyyyyyyyyqqqqqqqryyyyyyyyyqqqqqiiiiyyiiqqqqqqiiiiiiiiiiiiiiiiiqqqqqqqqqqqqqqqqqqqqqqqqq \ No newline at end of file
diff --git a/data/maps/SootopolisCity_Gym_1F/border.bin b/data/maps/SootopolisCity_Gym_1F/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/SootopolisCity_Gym_1F/border.bin
Binary files differ
diff --git a/data/maps/SootopolisCity_Gym_1F/header.inc b/data/maps/SootopolisCity_Gym_1F/header.inc
new file mode 100644
index 000000000..dbe7528ea
--- /dev/null
+++ b/data/maps/SootopolisCity_Gym_1F/header.inc
@@ -0,0 +1,15 @@
+SootopolisCity_Gym_1F: @ 8483A28
+ .4byte SootopolisCity_Gym_1F_MapAttributes
+ .4byte SootopolisCity_Gym_1F_MapEvents
+ .4byte SootopolisCity_Gym_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_GIM
+ .2byte 109
+ .byte 14
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/SootopolisCity_Gym_1F/map.bin b/data/maps/SootopolisCity_Gym_1F/map.bin
new file mode 100644
index 000000000..dd52448c9
--- /dev/null
+++ b/data/maps/SootopolisCity_Gym_1F/map.bin
Binary files differ
diff --git a/data/maps/SootopolisCity_Gym_B1F/border.bin b/data/maps/SootopolisCity_Gym_B1F/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/SootopolisCity_Gym_B1F/border.bin
Binary files differ
diff --git a/data/maps/SootopolisCity_Gym_B1F/header.inc b/data/maps/SootopolisCity_Gym_B1F/header.inc
new file mode 100644
index 000000000..1e9618d01
--- /dev/null
+++ b/data/maps/SootopolisCity_Gym_B1F/header.inc
@@ -0,0 +1,15 @@
+SootopolisCity_Gym_B1F: @ 8483A44
+ .4byte SootopolisCity_Gym_B1F_MapAttributes
+ .4byte SootopolisCity_Gym_B1F_MapEvents
+ .4byte SootopolisCity_Gym_B1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_GIM
+ .2byte 110
+ .byte 14
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 1
+
diff --git a/data/maps/SootopolisCity_Gym_B1F/map.bin b/data/maps/SootopolisCity_Gym_B1F/map.bin
new file mode 100644
index 000000000..58410408f
--- /dev/null
+++ b/data/maps/SootopolisCity_Gym_B1F/map.bin
@@ -0,0 +1 @@
+%&&&&&&&&&&&&&&&'-%             '/-]2222222222222^/-]2222222222222^/-]2222222222222^/5]2222222222222^7&57&..-%        '/..-]222222222^/-]222222222^/&&5]222222222^7&&&&&5=7&&&....-.%  './....-]222^/&&&&5]222^7&&&&&&&&&&]222^&&&&&&...%&&&&&&'...-%      '/-]222222^/-]2222222^/-]2222222^/-]2222222^/ \ No newline at end of file
diff --git a/data/maps/SootopolisCity_House1/border.bin b/data/maps/SootopolisCity_House1/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/SootopolisCity_House1/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SootopolisCity_House1/header.inc b/data/maps/SootopolisCity_House1/header.inc
new file mode 100644
index 000000000..eb3dd5484
--- /dev/null
+++ b/data/maps/SootopolisCity_House1/header.inc
@@ -0,0 +1,15 @@
+SootopolisCity_House1: @ 8483AB4
+ .4byte SootopolisCity_House1_MapAttributes
+ .4byte SootopolisCity_House1_MapEvents
+ .4byte SootopolisCity_House1_MapScripts
+ .4byte 0x0
+ .2byte BGM_RUNECITY
+ .2byte 307
+ .byte 14
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SootopolisCity_House1/map.bin b/data/maps/SootopolisCity_House1/map.bin
new file mode 100644
index 000000000..43f11b194
--- /dev/null
+++ b/data/maps/SootopolisCity_House1/map.bin
@@ -0,0 +1 @@
+023333332332772333327723333333333333 333 \ No newline at end of file
diff --git a/data/maps/SootopolisCity_House2/border.bin b/data/maps/SootopolisCity_House2/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/SootopolisCity_House2/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SootopolisCity_House2/header.inc b/data/maps/SootopolisCity_House2/header.inc
new file mode 100644
index 000000000..2a3d57175
--- /dev/null
+++ b/data/maps/SootopolisCity_House2/header.inc
@@ -0,0 +1,15 @@
+SootopolisCity_House2: @ 8483AD0
+ .4byte SootopolisCity_House2_MapAttributes
+ .4byte SootopolisCity_House2_MapEvents
+ .4byte SootopolisCity_House2_MapScripts
+ .4byte 0x0
+ .2byte BGM_RUNECITY
+ .2byte 308
+ .byte 14
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SootopolisCity_House2/map.bin b/data/maps/SootopolisCity_House2/map.bin
new file mode 100644
index 000000000..632e1e36a
--- /dev/null
+++ b/data/maps/SootopolisCity_House2/map.bin
@@ -0,0 +1 @@
+vw62223336333277233333772333333333333 333 \ No newline at end of file
diff --git a/data/maps/SootopolisCity_House3/border.bin b/data/maps/SootopolisCity_House3/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/SootopolisCity_House3/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SootopolisCity_House3/header.inc b/data/maps/SootopolisCity_House3/header.inc
new file mode 100644
index 000000000..b4171f3c0
--- /dev/null
+++ b/data/maps/SootopolisCity_House3/header.inc
@@ -0,0 +1,15 @@
+SootopolisCity_House3: @ 8483AEC
+ .4byte SootopolisCity_House3_MapAttributes
+ .4byte SootopolisCity_House3_MapEvents
+ .4byte SootopolisCity_House3_MapScripts
+ .4byte 0x0
+ .2byte BGM_RUNECITY
+ .2byte 309
+ .byte 14
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SootopolisCity_House3/map.bin b/data/maps/SootopolisCity_House3/map.bin
new file mode 100644
index 000000000..8bbd6c517
--- /dev/null
+++ b/data/maps/SootopolisCity_House3/map.bin
@@ -0,0 +1 @@
+62233322333333337723333377333333333 333 \ No newline at end of file
diff --git a/data/maps/SootopolisCity_House4/header.inc b/data/maps/SootopolisCity_House4/header.inc
new file mode 100644
index 000000000..ee68a0a91
--- /dev/null
+++ b/data/maps/SootopolisCity_House4/header.inc
@@ -0,0 +1,15 @@
+SootopolisCity_House4: @ 8483B08
+ .4byte SootopolisCity_House4_MapAttributes
+ .4byte SootopolisCity_House4_MapEvents
+ .4byte SootopolisCity_House4_MapScripts
+ .4byte 0x0
+ .2byte BGM_RUNECITY
+ .2byte 307
+ .byte 14
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SootopolisCity_House5/header.inc b/data/maps/SootopolisCity_House5/header.inc
new file mode 100644
index 000000000..6a7380b8c
--- /dev/null
+++ b/data/maps/SootopolisCity_House5/header.inc
@@ -0,0 +1,15 @@
+SootopolisCity_House5: @ 8483B24
+ .4byte SootopolisCity_House5_MapAttributes
+ .4byte SootopolisCity_House5_MapEvents
+ .4byte SootopolisCity_House5_MapScripts
+ .4byte 0x0
+ .2byte BGM_RUNECITY
+ .2byte 308
+ .byte 14
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SootopolisCity_House6/header.inc b/data/maps/SootopolisCity_House6/header.inc
new file mode 100644
index 000000000..f870ecd91
--- /dev/null
+++ b/data/maps/SootopolisCity_House6/header.inc
@@ -0,0 +1,15 @@
+SootopolisCity_House6: @ 8483B40
+ .4byte SootopolisCity_House6_MapAttributes
+ .4byte SootopolisCity_House6_MapEvents
+ .4byte SootopolisCity_House6_MapScripts
+ .4byte 0x0
+ .2byte BGM_RUNECITY
+ .2byte 309
+ .byte 14
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SootopolisCity_House7/header.inc b/data/maps/SootopolisCity_House7/header.inc
new file mode 100644
index 000000000..f36b89b46
--- /dev/null
+++ b/data/maps/SootopolisCity_House7/header.inc
@@ -0,0 +1,15 @@
+SootopolisCity_House7: @ 8483B5C
+ .4byte SootopolisCity_House7_MapAttributes
+ .4byte SootopolisCity_House7_MapEvents
+ .4byte SootopolisCity_House7_MapScripts
+ .4byte 0x0
+ .2byte BGM_RUNECITY
+ .2byte 307
+ .byte 14
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SootopolisCity_LotadAndSeedotHouse/border.bin b/data/maps/SootopolisCity_LotadAndSeedotHouse/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/SootopolisCity_LotadAndSeedotHouse/border.bin
Binary files differ
diff --git a/data/maps/SootopolisCity_LotadAndSeedotHouse/header.inc b/data/maps/SootopolisCity_LotadAndSeedotHouse/header.inc
new file mode 100644
index 000000000..29e492dcd
--- /dev/null
+++ b/data/maps/SootopolisCity_LotadAndSeedotHouse/header.inc
@@ -0,0 +1,15 @@
+SootopolisCity_LotadAndSeedotHouse: @ 8483B78
+ .4byte SootopolisCity_LotadAndSeedotHouse_MapAttributes
+ .4byte SootopolisCity_LotadAndSeedotHouse_MapEvents
+ .4byte SootopolisCity_LotadAndSeedotHouse_MapScripts
+ .4byte 0x0
+ .2byte BGM_RUNECITY
+ .2byte 297
+ .byte 14
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SootopolisCity_LotadAndSeedotHouse/map.bin b/data/maps/SootopolisCity_LotadAndSeedotHouse/map.bin
new file mode 100644
index 000000000..ffeea7269
--- /dev/null
+++ b/data/maps/SootopolisCity_LotadAndSeedotHouse/map.bin
@@ -0,0 +1 @@
+XX``22333366333773333327723333333333333 333 \ No newline at end of file
diff --git a/data/maps/SootopolisCity_Mart/header.inc b/data/maps/SootopolisCity_Mart/header.inc
new file mode 100644
index 000000000..fab473720
--- /dev/null
+++ b/data/maps/SootopolisCity_Mart/header.inc
@@ -0,0 +1,15 @@
+SootopolisCity_Mart: @ 8483A98
+ .4byte SootopolisCity_Mart_MapAttributes
+ .4byte SootopolisCity_Mart_MapEvents
+ .4byte SootopolisCity_Mart_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRIENDLY
+ .2byte 63
+ .byte 14
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/border.bin b/data/maps/SootopolisCity_MysteryEventsHouse_1F/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/border.bin
Binary files differ
diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/header.inc b/data/maps/SootopolisCity_MysteryEventsHouse_1F/header.inc
new file mode 100644
index 000000000..05d5d727d
--- /dev/null
+++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/header.inc
@@ -0,0 +1,15 @@
+SootopolisCity_MysteryEventsHouse_1F: @ 8483B94
+ .4byte SootopolisCity_MysteryEventsHouse_1F_MapAttributes
+ .4byte SootopolisCity_MysteryEventsHouse_1F_MapEvents
+ .4byte SootopolisCity_MysteryEventsHouse_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_RUNECITY
+ .2byte 439
+ .byte 14
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.bin b/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.bin
new file mode 100644
index 000000000..a9b17a746
--- /dev/null
+++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/map.bin
@@ -0,0 +1 @@
+89:' @AB /6666-7$%655555555556555555655555565555555555655 555555 \ No newline at end of file
diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/border.bin b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/border.bin
Binary files differ
diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/header.inc b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/header.inc
new file mode 100644
index 000000000..603fdcc70
--- /dev/null
+++ b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/header.inc
@@ -0,0 +1,15 @@
+SootopolisCity_MysteryEventsHouse_B1F: @ 8483BB0
+ .4byte SootopolisCity_MysteryEventsHouse_B1F_MapAttributes
+ .4byte SootopolisCity_MysteryEventsHouse_B1F_MapEvents
+ .4byte SootopolisCity_MysteryEventsHouse_B1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_RUNECITY
+ .2byte 440
+ .byte 14
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/map.bin b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/map.bin
new file mode 100644
index 000000000..558e1584e
--- /dev/null
+++ b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/map.bin
@@ -0,0 +1,2 @@
+ 
+        6666666666655555555555655 !!!!"555655())))*5556550111125555555555555#5555555555 \ No newline at end of file
diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/header.inc b/data/maps/SootopolisCity_PokemonCenter_1F/header.inc
new file mode 100644
index 000000000..bc0c30b7f
--- /dev/null
+++ b/data/maps/SootopolisCity_PokemonCenter_1F/header.inc
@@ -0,0 +1,15 @@
+SootopolisCity_PokemonCenter_1F: @ 8483A60
+ .4byte SootopolisCity_PokemonCenter_1F_MapAttributes
+ .4byte SootopolisCity_PokemonCenter_1F_MapEvents
+ .4byte SootopolisCity_PokemonCenter_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 61
+ .byte 14
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SootopolisCity_PokemonCenter_2F/header.inc b/data/maps/SootopolisCity_PokemonCenter_2F/header.inc
new file mode 100644
index 000000000..465bf4c74
--- /dev/null
+++ b/data/maps/SootopolisCity_PokemonCenter_2F/header.inc
@@ -0,0 +1,15 @@
+SootopolisCity_PokemonCenter_2F: @ 8483A7C
+ .4byte SootopolisCity_PokemonCenter_2F_MapAttributes
+ .4byte SootopolisCity_PokemonCenter_2F_MapEvents
+ .4byte SootopolisCity_PokemonCenter_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 62
+ .byte 14
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/SouthernIsland_Exterior/border.bin b/data/maps/SouthernIsland_Exterior/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/SouthernIsland_Exterior/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/SouthernIsland_Exterior/header.inc b/data/maps/SouthernIsland_Exterior/header.inc
new file mode 100644
index 000000000..e2d44b2ff
--- /dev/null
+++ b/data/maps/SouthernIsland_Exterior/header.inc
@@ -0,0 +1,15 @@
+SouthernIsland_Exterior: @ 8485238
+ .4byte SouthernIsland_Exterior_MapAttributes
+ .4byte SouthernIsland_Exterior_MapEvents
+ .4byte SouthernIsland_Exterior_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN02
+ .2byte 290
+ .byte 73
+ .byte 0
+ .byte 0
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/SouthernIsland_Exterior/map.bin b/data/maps/SouthernIsland_Exterior/map.bin
new file mode 100644
index 000000000..8c2c2df4a
--- /dev/null
+++ b/data/maps/SouthernIsland_Exterior/map.bin
@@ -0,0 +1 @@
+qss444444444444444444444440uuuuqss444444444444444444444444t}uuuqss444444444444444444444444uquuuqss444444444444444444444444uquuuqss444444444447744444444444ut}uuqss444444444443344444444444uuquuss04444444444334444444444t}ut}uss{|444444440004444444444uquut}s{qs444444440000440000004ut}uu{sqs444444440000000444000uuquups{s044444444000004444400uuquups{s{64444444400044444t00zuquup{s{44p0444444444t6666z000ut}upssq{|{||444444tz4444t00yzuqupssqqq{44{666|||}tyyyyz0000ut}ps{|||44x444tz0000000t|}upsqqqq{||xyyyz0000000000t}qt}pp{||qqqqs0000000000t||||}t|}pp{||q{|||||00|||}t}pppppp{|]^0^0_}ppppppppppp]^0^0_ppppppppppppppppppppUV0V0V02^0^0_qpppppppppppppppppppppppp]^0^0^0^0^0^0_qppppppppppppppppppppppppSTTV3W3TTUqpppppppppppppppppppppppp[\\\\\\]qppppppppppppppppppppppppqqqqqqqqqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp \ No newline at end of file
diff --git a/data/maps/SouthernIsland_Interior/border.bin b/data/maps/SouthernIsland_Interior/border.bin
new file mode 100644
index 000000000..03bcafef1
--- /dev/null
+++ b/data/maps/SouthernIsland_Interior/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/SouthernIsland_Interior/header.inc b/data/maps/SouthernIsland_Interior/header.inc
new file mode 100644
index 000000000..dae14dddc
--- /dev/null
+++ b/data/maps/SouthernIsland_Interior/header.inc
@@ -0,0 +1,15 @@
+SouthernIsland_Interior: @ 8485254
+ .4byte SouthernIsland_Interior_MapAttributes
+ .4byte SouthernIsland_Interior_MapEvents
+ .4byte SouthernIsland_Interior_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN02
+ .2byte 291
+ .byte 73
+ .byte 0
+ .byte 11
+ .byte 3
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/SouthernIsland_Interior/map.bin b/data/maps/SouthernIsland_Interior/map.bin
new file mode 100644
index 000000000..db1e4b153
--- /dev/null
+++ b/data/maps/SouthernIsland_Interior/map.bin
@@ -0,0 +1 @@
+000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000011000000000000001111001112211 \ No newline at end of file
diff --git a/data/maps/TerraCave_End/border.bin b/data/maps/TerraCave_End/border.bin
new file mode 100644
index 000000000..f0eabd248
--- /dev/null
+++ b/data/maps/TerraCave_End/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/TerraCave_End/header.inc b/data/maps/TerraCave_End/header.inc
new file mode 100644
index 000000000..8297d8e34
--- /dev/null
+++ b/data/maps/TerraCave_End/header.inc
@@ -0,0 +1,15 @@
+TerraCave_End: @ 8484A3C
+ .4byte TerraCave_End_MapAttributes
+ .4byte TerraCave_End_MapEvents
+ .4byte TerraCave_End_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN01
+ .2byte 409
+ .byte 205
+ .byte 0
+ .byte 6
+ .byte 4
+ .2byte 0
+ .byte 14
+ .byte 0
+
diff --git a/data/maps/TerraCave_End/map.bin b/data/maps/TerraCave_End/map.bin
new file mode 100644
index 000000000..93121190d
--- /dev/null
+++ b/data/maps/TerraCave_End/map.bin
@@ -0,0 +1,9 @@
+ 
+ 222
+
+ 222
+  222222222222
+ 2222222
+ 2222222
+  22222222222222
+  222222  " 2222222222 22222222   # 222222  #       " 22222 ## 22222 2222 ## 2222efg 222 #esdrfg 222efsdd_drfg 222qdd__d_ddp 222qd_d____dp 2222es_d__d_d_p 2222qdd___d_ddp 2222#2#2bdd_d_d_dp 222222#2b_d_d_`a3a3#2 2222222222#2a3a3a3a3a3#2            "2222222222  \ No newline at end of file
diff --git a/data/maps/TerraCave_Entrance/border.bin b/data/maps/TerraCave_Entrance/border.bin
new file mode 100644
index 000000000..f0eabd248
--- /dev/null
+++ b/data/maps/TerraCave_Entrance/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/TerraCave_Entrance/header.inc b/data/maps/TerraCave_Entrance/header.inc
new file mode 100644
index 000000000..72b3327cd
--- /dev/null
+++ b/data/maps/TerraCave_Entrance/header.inc
@@ -0,0 +1,15 @@
+TerraCave_Entrance: @ 8484A20
+ .4byte TerraCave_Entrance_MapAttributes
+ .4byte TerraCave_Entrance_MapEvents
+ .4byte TerraCave_Entrance_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN01
+ .2byte 408
+ .byte 205
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/TerraCave_Entrance/map.bin b/data/maps/TerraCave_Entrance/map.bin
new file mode 100644
index 000000000..a8108c2ca
--- /dev/null
+++ b/data/maps/TerraCave_Entrance/map.bin
@@ -0,0 +1,33 @@
+  3
+  222
+
+  222222
+
+ 222
+
+  2222
+ 2
+
+ 2222
+ 2
+
+  222222
+ 2
+
+ 22 2
+
+  222
+
+  22
+ 22222
+
+   2222
+22222
+
+   2222
+222222
+   222222222
+   2222222222
+ 222
+   2222222222222
+ 2222222222222 2222222 222  \ No newline at end of file
diff --git a/data/maps/TradeCenter/border.bin b/data/maps/TradeCenter/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/TradeCenter/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/TradeCenter/header.inc b/data/maps/TradeCenter/header.inc
new file mode 100644
index 000000000..ac6089b68
--- /dev/null
+++ b/data/maps/TradeCenter/header.inc
@@ -0,0 +1,15 @@
+TradeCenter: @ 8484D4C
+ .4byte TradeCenter_MapAttributes
+ .4byte TradeCenter_MapEvents
+ .4byte TradeCenter_MapScripts
+ .4byte 0x0
+ .2byte BGM_RAINBOW
+ .2byte 222
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/TradeCenter/map.bin b/data/maps/TradeCenter/map.bin
new file mode 100644
index 000000000..7e592dbe6
--- /dev/null
+++ b/data/maps/TradeCenter/map.bin
@@ -0,0 +1,2 @@
+017456742389?<=  >?<:;@AGDE((FGDBCHI2.2222222.2J2KP22
+2 2 2 22222SPQ2+22222+2R2SP2222222222SXY222#2$2%2&222Z2[,2-2 \ No newline at end of file
diff --git a/data/maps/TrainerHill_1F/border.bin b/data/maps/TrainerHill_1F/border.bin
new file mode 100644
index 000000000..064786e8c
--- /dev/null
+++ b/data/maps/TrainerHill_1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/TrainerHill_1F/header.inc b/data/maps/TrainerHill_1F/header.inc
new file mode 100644
index 000000000..ab6263ebf
--- /dev/null
+++ b/data/maps/TrainerHill_1F/header.inc
@@ -0,0 +1,15 @@
+TrainerHill_1F: @ 84857E8
+ .4byte TrainerHill_1F_MapAttributes
+ .4byte TrainerHill_1F_MapEvents
+ .4byte TrainerHill_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 415
+ .byte 212
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 4
+ .byte 0
+
diff --git a/data/maps/TrainerHill_1F/map.bin b/data/maps/TrainerHill_1F/map.bin
new file mode 100644
index 000000000..d72e84a5c
--- /dev/null
+++ b/data/maps/TrainerHill_1F/map.bin
@@ -0,0 +1,2 @@
+'  2/(282929292/(8292929212;2;2;2
+12;2;2;212;2;2;2       12;2;2;212;2;2;292928292:2;2;2;212;2;2;2;2;2929292:2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;2 \ No newline at end of file
diff --git a/data/maps/TrainerHill_2F/border.bin b/data/maps/TrainerHill_2F/border.bin
new file mode 100644
index 000000000..064786e8c
--- /dev/null
+++ b/data/maps/TrainerHill_2F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/TrainerHill_2F/header.inc b/data/maps/TrainerHill_2F/header.inc
new file mode 100644
index 000000000..3751d7207
--- /dev/null
+++ b/data/maps/TrainerHill_2F/header.inc
@@ -0,0 +1,15 @@
+TrainerHill_2F: @ 8485804
+ .4byte TrainerHill_2F_MapAttributes
+ .4byte TrainerHill_2F_MapEvents
+ .4byte TrainerHill_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 416
+ .byte 212
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 4
+ .byte 0
+
diff --git a/data/maps/TrainerHill_2F/map.bin b/data/maps/TrainerHill_2F/map.bin
new file mode 100644
index 000000000..8b78fd0b4
--- /dev/null
+++ b/data/maps/TrainerHill_2F/map.bin
@@ -0,0 +1,2 @@
+'  2/(282929292/(8292929212;2;2;2
+12;2;2;212;2;2;2      12;2;2;212;2;2;292928292:2;2;2;212;2;2;2;2;2929292:2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;2 \ No newline at end of file
diff --git a/data/maps/TrainerHill_3F/border.bin b/data/maps/TrainerHill_3F/border.bin
new file mode 100644
index 000000000..064786e8c
--- /dev/null
+++ b/data/maps/TrainerHill_3F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/TrainerHill_3F/header.inc b/data/maps/TrainerHill_3F/header.inc
new file mode 100644
index 000000000..edbe1db0e
--- /dev/null
+++ b/data/maps/TrainerHill_3F/header.inc
@@ -0,0 +1,15 @@
+TrainerHill_3F: @ 8485820
+ .4byte TrainerHill_3F_MapAttributes
+ .4byte TrainerHill_3F_MapEvents
+ .4byte TrainerHill_3F_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 417
+ .byte 212
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 4
+ .byte 0
+
diff --git a/data/maps/TrainerHill_3F/map.bin b/data/maps/TrainerHill_3F/map.bin
new file mode 100644
index 000000000..5280752f4
--- /dev/null
+++ b/data/maps/TrainerHill_3F/map.bin
@@ -0,0 +1,2 @@
+'  2/(282929292/(8292929212;2;2;2
+12;2;2;212;2;2;2      12;2;2;212;2;2;292928292:2;2;2;212;2;2;2;2;2929292:2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;2 \ No newline at end of file
diff --git a/data/maps/TrainerHill_4F/border.bin b/data/maps/TrainerHill_4F/border.bin
new file mode 100644
index 000000000..064786e8c
--- /dev/null
+++ b/data/maps/TrainerHill_4F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/TrainerHill_4F/header.inc b/data/maps/TrainerHill_4F/header.inc
new file mode 100644
index 000000000..de5b03b69
--- /dev/null
+++ b/data/maps/TrainerHill_4F/header.inc
@@ -0,0 +1,15 @@
+TrainerHill_4F: @ 848583C
+ .4byte TrainerHill_4F_MapAttributes
+ .4byte TrainerHill_4F_MapEvents
+ .4byte TrainerHill_4F_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 418
+ .byte 212
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 4
+ .byte 0
+
diff --git a/data/maps/TrainerHill_4F/map.bin b/data/maps/TrainerHill_4F/map.bin
new file mode 100644
index 000000000..3a285b7f8
--- /dev/null
+++ b/data/maps/TrainerHill_4F/map.bin
@@ -0,0 +1,2 @@
+'  2/(282929292/(8292929212;2;2;2
+12;2;2;212;2;2;2      12;2;2;212;2;2;292928292:2;2;2;212;2;2;2;2;2929292:2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;212;2;2;2;2;2;2;2;2;2;2;2;2;2;2 \ No newline at end of file
diff --git a/data/maps/TrainerHill_Elevator/header.inc b/data/maps/TrainerHill_Elevator/header.inc
new file mode 100644
index 000000000..30ea4f5c4
--- /dev/null
+++ b/data/maps/TrainerHill_Elevator/header.inc
@@ -0,0 +1,15 @@
+TrainerHill_Elevator: @ 8485ADC
+ .4byte TrainerHill_Elevator_MapAttributes
+ .4byte TrainerHill_Elevator_MapEvents
+ .4byte TrainerHill_Elevator_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 266
+ .byte 212
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/TrainerHill_Entrance/border.bin b/data/maps/TrainerHill_Entrance/border.bin
new file mode 100644
index 000000000..064786e8c
--- /dev/null
+++ b/data/maps/TrainerHill_Entrance/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/TrainerHill_Entrance/header.inc b/data/maps/TrainerHill_Entrance/header.inc
new file mode 100644
index 000000000..3c43ad0ba
--- /dev/null
+++ b/data/maps/TrainerHill_Entrance/header.inc
@@ -0,0 +1,15 @@
+TrainerHill_Entrance: @ 84857CC
+ .4byte TrainerHill_Entrance_MapAttributes
+ .4byte TrainerHill_Entrance_MapEvents
+ .4byte TrainerHill_Entrance_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 414
+ .byte 212
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 4
+ .byte 0
+
diff --git a/data/maps/TrainerHill_Entrance/map.bin b/data/maps/TrainerHill_Entrance/map.bin
new file mode 100644
index 000000000..fc00c0a5f
--- /dev/null
+++ b/data/maps/TrainerHill_Entrance/map.bin
@@ -0,0 +1,2 @@
+ !:;7<!'()BC3D)/(8335333/(O3N313M3L3/(K73J/(937393/(7373R73/&!!!ST"P373Q3*!!!#$%UV73)))+,-.   33I73H33 33533A3534
+393353353353@3130353353353353373031303130313031303130313031303130313631303130313031303130313031303130313037333313031303130313031303133331363   0313031303130313031303   03730313031303130313000313031303130313 \ No newline at end of file
diff --git a/data/maps/TrainerHill_Roof/border.bin b/data/maps/TrainerHill_Roof/border.bin
new file mode 100644
index 000000000..064786e8c
--- /dev/null
+++ b/data/maps/TrainerHill_Roof/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/TrainerHill_Roof/header.inc b/data/maps/TrainerHill_Roof/header.inc
new file mode 100644
index 000000000..f00fc60bd
--- /dev/null
+++ b/data/maps/TrainerHill_Roof/header.inc
@@ -0,0 +1,15 @@
+TrainerHill_Roof: @ 8485858
+ .4byte TrainerHill_Roof_MapAttributes
+ .4byte TrainerHill_Roof_MapEvents
+ .4byte TrainerHill_Roof_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 419
+ .byte 212
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 4
+ .byte 0
+
diff --git a/data/maps/TrainerHill_Roof/map.bin b/data/maps/TrainerHill_Roof/map.bin
new file mode 100644
index 000000000..815ec1067
--- /dev/null
+++ b/data/maps/TrainerHill_Roof/map.bin
@@ -0,0 +1 @@
+XYajjZggd\]`ajjjZgggdehijjjZggglmggggggpqrijZglstuggggggkkkkkkxyz^_bvw{|}kkkkkkkkkkkkk33fg[~k3kkkkkkkkkkk3k3k3n3oc3k3k3k3kkkkkkkkk3k3k3k3k3k3k3k3k3k3k3kkkkkkkkkkk3k3k3k3k3k3k3k3k3k3k3kkkkkkkkkkkkk3k3k3k3k3k3k3k3k3k3k3kkkkkk3k33333333k33kW \ No newline at end of file
diff --git a/data/maps/Underwater1/border.bin b/data/maps/Underwater1/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/Underwater1/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Underwater1/connections.inc b/data/maps/Underwater1/connections.inc
new file mode 100644
index 000000000..6215c5e88
--- /dev/null
+++ b/data/maps/Underwater1/connections.inc
@@ -0,0 +1,8 @@
+Underwater1_MapConnectionsList: @ 8486D38
+ connection down, 0, UNDERWATER_2, 0
+ connection emerge, 0, ROUTE_124, 0
+
+Underwater1_MapConnections: @ 8486D50
+ .4byte 0x2
+ .4byte Underwater1_MapConnectionsList
+
diff --git a/data/maps/Underwater1/header.inc b/data/maps/Underwater1/header.inc
new file mode 100644
index 000000000..22466247a
--- /dev/null
+++ b/data/maps/Underwater1/header.inc
@@ -0,0 +1,15 @@
+Underwater1: @ 8482A30
+ .4byte Underwater1_MapAttributes
+ .4byte Underwater1_MapEvents
+ .4byte Underwater1_MapScripts
+ .4byte Underwater1_MapConnections
+ .2byte BGM_DEEPDEEP
+ .2byte 274
+ .byte 50
+ .byte 0
+ .byte 14
+ .byte 5
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Underwater1/map.bin b/data/maps/Underwater1/map.bin
new file mode 100644
index 000000000..230e3dcd2
--- /dev/null
+++ b/data/maps/Underwater1/map.bin
@@ -0,0 +1,17 @@
+2222222222222222222222222222222222222222222222222222222222222222222222# 22
+"##~222222222222222222222222222222222#  "#####~22222222222}####### 22
+||~22###~22222222#  "22######~2222222222222222222222222222222222222222222222222222}|||| 22
+"22222222222#  "22222222222222222222222222222222222222222222222222#|~222222222222222222#~2222#||~2222222222222222222#|||||||||||~222#~22222#~2222222222222#~2222222222#|||# 22
+"22#  "222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222# 22
+"22}"2222222222222222222y2y222222222222y2y222222222222222# 22
+""~22222222222222222222222#  "222222222222}|"22222222222222222222222222# 22
+|||"2222222222222222222#  "2222"~222222222}|"222# 22
+""|~22222}|"22}|#  ""|||||"22222222222222222222222222222222222222222222222222}||~2222222222222222}"22222222# 22
+"2222"~2222222#  "222222}""|~}"2222222}""|||||22222222222222# 22
+"2222#  "222222"~22222222"~222222222"~22z222
+"22222222222222y2y22222222222222222#~22# 22
+"||||~222222222222#  "#|~2222222222222222222222222222222#|~2222222222222# 22
+"||||||# 22
+"222#  "#  "22222222}"222222222222222
+ "# 22
+"#  " \ No newline at end of file
diff --git a/data/maps/Underwater2/border.bin b/data/maps/Underwater2/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/Underwater2/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Underwater2/connections.inc b/data/maps/Underwater2/connections.inc
new file mode 100644
index 000000000..20ef02321
--- /dev/null
+++ b/data/maps/Underwater2/connections.inc
@@ -0,0 +1,9 @@
+Underwater2_MapConnectionsList: @ 8486D6C
+ connection up, 0, UNDERWATER_1, 0
+ connection right, 0, UNDERWATER_3, 0
+ connection emerge, 0, ROUTE_126, 0
+
+Underwater2_MapConnections: @ 8486D90
+ .4byte 0x3
+ .4byte Underwater2_MapConnectionsList
+
diff --git a/data/maps/Underwater2/header.inc b/data/maps/Underwater2/header.inc
new file mode 100644
index 000000000..21e0953f1
--- /dev/null
+++ b/data/maps/Underwater2/header.inc
@@ -0,0 +1,15 @@
+Underwater2: @ 8482A4C
+ .4byte Underwater2_MapAttributes
+ .4byte Underwater2_MapEvents
+ .4byte Underwater2_MapScripts
+ .4byte Underwater2_MapConnections
+ .2byte BGM_DEEPDEEP
+ .2byte 51
+ .byte 51
+ .byte 0
+ .byte 14
+ .byte 5
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Underwater2/map.bin b/data/maps/Underwater2/map.bin
new file mode 100644
index 000000000..0c6377c30
--- /dev/null
+++ b/data/maps/Underwater2/map.bin
@@ -0,0 +1,35 @@
+2222222222222222222222222222222222222222222222222222222z222x2#~6y2y222}||||||||||||||##||||#2222222222222222222222222#       22222222222/# 222222222222222222
+    222222222222222222222#  22222222222222222222222# 22222222222222222222222222# 2222222222222222222222222222222222222222222222222
+    22222222222222222222222222222222
+" #  222/2222222 222222222222222222222 "#/#   "# 22222
+"222222222222222222222##     " "2222222222222222222222/ "222222
+  222222222222222222
+  22222222222222222/  2222222222/2222222222222/#  22222# 222222222222222222222222
+"#22/2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
+"2222222222222222222222222222222222222222222222222# 22222222222222222
+   2222222222222222222222222222222222222222
+   "#     22222222222222222222222222222222222
+ " /#           22222222222222/2222222222
+"/ " #/#  22222222/2222222222222
+ " " "# /#/# 2222222222222222222
+ " "/ "#/#/# 2222222222222222222
+" "/ "#/## 2222222222
+"222222
+" " "#/#/# 22222# 222/2222222 "/ "### 22222#/222222222
+" "##22222222222222 " "#/# 2222222222222## 2222## 2
+"22222
+  "/2222/# "/222222 "##2222#22222222222#2222222/### 2222/2222222//622222/222222
+ 22222222222/22222#222222/222222222222/222222#2222222222222//2222222222222
+"22222222222222222222//62222222/# 2222222/2222222/ "2222222/2222222
+"## 2222222/222222
+" "22222222222222/222222222/222222
+"/ "# 222222222/22222222222222222//2222222 "222222222222//2222222
+"#/# 22222222222222efg2222222222/ "##   222222222222222222mno2222222222222222222 #  222222222222222222222222222222222222222222
+" "222222 /#  222222222222222222222222222222222222222
+"2222222##    22222222222222222222222222222222
+  " "6222222222/# 222222222222222222222222222222
+"/62222z222x22##  2222222222222222222222222
+  " "622}~2y2y22} #   22222222222222222222
+ "622 |||| ##   222222222222222
+ "/ "622/#  2222222
+     "622##       "/ "62222// "6222222#"222222|~22222 ||||   \ No newline at end of file
diff --git a/data/maps/Underwater3/border.bin b/data/maps/Underwater3/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/Underwater3/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Underwater3/connections.inc b/data/maps/Underwater3/connections.inc
new file mode 100644
index 000000000..30ab15908
--- /dev/null
+++ b/data/maps/Underwater3/connections.inc
@@ -0,0 +1,9 @@
+Underwater3_MapConnectionsList: @ 8486D98
+ connection emerge, 0, ROUTE_127, 0
+ connection left, 0, UNDERWATER_2, 0
+ connection down, 0, UNDERWATER_4, 0
+
+Underwater3_MapConnections: @ 8486DBC
+ .4byte 0x3
+ .4byte Underwater3_MapConnectionsList
+
diff --git a/data/maps/Underwater3/header.inc b/data/maps/Underwater3/header.inc
new file mode 100644
index 000000000..29e20952f
--- /dev/null
+++ b/data/maps/Underwater3/header.inc
@@ -0,0 +1,15 @@
+Underwater3: @ 8482A68
+ .4byte Underwater3_MapAttributes
+ .4byte Underwater3_MapEvents
+ .4byte Underwater3_MapScripts
+ .4byte Underwater3_MapConnections
+ .2byte BGM_DEEPDEEP
+ .2byte 52
+ .byte 52
+ .byte 0
+ .byte 14
+ .byte 5
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Underwater3/map.bin b/data/maps/Underwater3/map.bin
new file mode 100644
index 000000000..fc5c331a5
--- /dev/null
+++ b/data/maps/Underwater3/map.bin
@@ -0,0 +1 @@
+66666666666666666666666666666666666666666666666666666666666666&666666666666.66666666666662222;2;2666666666666662222;2;2;2;2666666666662222@2C2C2A26666666666222222<2P2Q2:266666666666222222<2T2R:266666666666222222<2T2R:26666666666662z222x22@2G2T2R2:266666666666@2A222y2y22}#@2G2P2\2R2B2A266666666666@2D2B2A2#######<2P2\2V2Z2Q2:266666666666?2P2Q2B2:2<2K2L2V2V2R2B2A266666666666?2W2]2Q2:23242T2V2V2R2S2:266666666666?2W2S2U2:2# ?2K2L2V2Z2Q2:266666666666?2W2S2U2:23242T2V2V2R2:26666666666?2Y2O2U2B2A2## ?2K2K2L2R2:26666666666I242W2U2S2:2#32422L2R2:26666666666  ?2W2]2Q2:2## 422L2R2:26666666666?2Y2O2U2:2#3242L2R2:2666666666I242W2U2B2A2## 42T2R2:26666666666  ?2W2U2S2:2#42T2R2:2666666666?2W2]2Q2:242T2R20 66666666?2W2S2U2:2;242T2R2866666666?2Y2O2U2B2A242T2R28 "666666666   I242W2U2S2:2;242T2R28 "666666666  ?2W2]2Q2:2@2C2A222###!a6`"  666666666?2W2S2U2:2?2S2:22222###" "666666666?2W2S2U2B2A2?2S2:2222222 66666666?2W2S2U2S2:2?2S2B2A2222222 "66666666?2W2S2U2S2:23242S2:2#~z222x2}# "66666666?2W2S2U2S2:2@2A2# ?2S2B2A22y2y22 "# "66666666?2W2S2]2Q2:2?2B2A2?2S2S2:22222##666666666?2W2P2Q2U2:2?2S2:2?22S2:2#~222666666666?2W2T2R2U2:2?2S2:2?2S2S2:2   #~22&#"666666666@2A2?2W2T2R2U2:2?2S2B2A2?2S2S2:2#~2.# "666666666<2:2?2W2T2R2U2:2@2D2P2Q2:2?2S2S2:2222222#  666666666@22B2A2?2W2T2R2U2:2?2P2_2U2:2@2D2S2S2:2#~2222}##"666666666@2222:2?2W2T2R2U2:2?2W2S2U2:2?2S2S22232#######666666666<2222B2A2?2W2T2R2U2:2;2?2W2S2U2:2?2S2S2:2" "666666666<2222S2:2;2?2W2T2R2U2B2A2?2W2S2U2:2;2?2S2S2:266666666I242T2Z2Q2:2@2G2W2T2R2U2S2:2?2W2S2U2B2A2@2D2S2S2:2#"66666666# ?2Y2L2R2B2A2?2S2W2T2R2]2Q2:2?2K2O2U2S2:2?2S2S2S2:266666666I242T2Z2Q2:2?2P2_2T2Z2Q2U2:23242T2U2S2:2?2S2S22232226666666 6# ?2Y2L2R2:2?2W2S2T2V2R2U2:2  ?2T2U22232?2S2S2:2"  222266666666I242T2R2:2?2W2P2\2V2R2U2:2;2?2T2U2:2 ?2S22232  22222266 66666# ?2T2R2B2A2?2W2T2V2V2R2U2B2A2?2T2U2:2@2D2S2:2"22222266666666?2T2Z2Q2:2?2W2T2V2V2R2U2S2:2?2T2U2:2?2S2S2:2  222222266666#?2Y2L2R2:2?2W2T2V2V2R2]2Q2:2?2T2U2:2@2D2S22232222z222x2266666#66I242T2R2B2A2>2?2T2Y2L2V2Z2Q2U2:2>2?2T2U2:2?2S2S2:2"  2222y2y22}#666666666# ?2T2R2S2:2>2?2Y2O2T2V2V2R2U2:2>2>2@2D2T2U2:2@2D2S2S2:2  22222226666666?2T2Z2Q2:2>2?2S2W2Y2L2V2R2U2B2A2>2<22_2U2:2?2S2S22232  2222222}#666666#66#6?2T2V2R2:2>2?2S2Y2O2T2V2R2]2Q2B2C2D2T2M2K2:2?2S2S2:2" "2222222}#666666666?2T2V2R2:2>2I242S2W2T2V2Z2Q2U2S2S22_2U22232?2S22232 "222222266666#6666#?2Y2L2R2:2>2>2?2S2W2T2V2V2R2U2S2S2T2S2U2:2"?2S2:2"#6#~z222x22}|6666666#I242T2R2:2>2>2?2S2W2T2V2V2R2]2^2^2_2S2U2:2?2S2:2 """2y2y2226666#666#66# ?2T2R2:2# >2I242W2Y2L2V2Z2Q2S2S2S2M2K2:2?2S20" #~22}|#666666666?2T2R20" >2>2?2Y2O2T2V2V2Z2Q2S2M2K2S2:2#!!"  #622666666666##1T2R28 " >2>2I242W2Y2L2V2V2R2S2U2S22232 "#6#~}|666666669T2R28 ">2>2>2?2Y2O2T2V2V2R2M2K22232"   "66666666#6##9T2R28# >2>2?2S2W2T2V2V2R2U2S2:2>2 "  #6##6666666669T2R28#>2>2I242W2T2V2V2R2U2S2:2" "  666666669T2R28>2>2>2?2W2Y2L2V2R2U2S2:2 " "666666#6669T2R28## >2>2?2Y2O2T2V2R2U22232 " "#6666666666##)) ## >2I242W2T2V2R2U2:2>2#666666666#  >2>2?2W2T2J2K2U2:2"#666666#6666# " "### >2?2W2T2R2S2U2:2 "  666666666# ">2?2W2T2R2S2U2:2 "#6#666666666 "##>2?2W2T2R2S2U2:2 " "#666#6666666#">2?2W2T2R22U2:2666666666#>2?2W2T2R2S2U2:2666666666>2?2W2T2R2S2U2:2666666666>2?2W2T2R2S2U2:2666666666>2?2W2T2Z22U2:26666666#66 ">2?2W2T2V2R2U2:2666666666>2?2W2T2V2R2U2:2#6666666666>2?2W2T2V2R2U2:2#6#6#6#6 \ No newline at end of file
diff --git a/data/maps/Underwater4/border.bin b/data/maps/Underwater4/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/Underwater4/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Underwater4/connections.inc b/data/maps/Underwater4/connections.inc
new file mode 100644
index 000000000..61880749b
--- /dev/null
+++ b/data/maps/Underwater4/connections.inc
@@ -0,0 +1,8 @@
+Underwater4_MapConnectionsList: @ 8486DC4
+ connection up, 0, UNDERWATER_3, 0
+ connection emerge, 0, ROUTE_128, 0
+
+Underwater4_MapConnections: @ 8486DDC
+ .4byte 0x2
+ .4byte Underwater4_MapConnectionsList
+
diff --git a/data/maps/Underwater4/header.inc b/data/maps/Underwater4/header.inc
new file mode 100644
index 000000000..f7b962a3c
--- /dev/null
+++ b/data/maps/Underwater4/header.inc
@@ -0,0 +1,15 @@
+Underwater4: @ 8482A84
+ .4byte Underwater4_MapAttributes
+ .4byte Underwater4_MapEvents
+ .4byte Underwater4_MapScripts
+ .4byte Underwater4_MapConnections
+ .2byte BGM_DEEPDEEP
+ .2byte 53
+ .byte 53
+ .byte 0
+ .byte 14
+ .byte 5
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Underwater4/map.bin b/data/maps/Underwater4/map.bin
new file mode 100644
index 000000000..23f987681
--- /dev/null
+++ b/data/maps/Underwater4/map.bin
@@ -0,0 +1 @@
+666666666  >2?2W2T2V2R2U2:2666666666>2?2W2T2V2R2U2:2666666666>2?2W2K2L2R2U2:2666666666# ?2K2O2T2R2U2:2666666666 3242W2T2R2U2:2666666666 "# ?2W2T2R2U2:2 66666666#?2W2T2R2U2:2#666666666 "?2W2T2R2U2B2A2 666 666666?2W2T2R2]2Q2B2C2C2C2A2 # #6666666666?2W2T2Z2Q2]2[2[2[2Q2B2C2C2C2A2 #   #6666666666#)aV2V2Z2[2[2[2Q2]2[2[2[2Q2:2;2;2;2  666666666 6 6aV2V2V2V2V2Z2[2[2[2Q2U2B2A2@2C2C2C2C2C2C2C2C2C28 666666666##))))))aV2V2R2]2Q2B2C2A2@2C2C2D2P2[2[2[2[2[2[2[2[28666666666 #)))a]2[2Q2B2C2C2C2C2D2P2[2[2_2P2[2[2[2[2[2[2`#666666 66666666 "#a[2]2[2[2[2[2[2[2_2P2[2[2\2V2V2V2V2`)"66666666666666##a[2[2[2[2[2[2[2[2\2V2V2`))))"66666666666666#aV2V2V2V2V2V2V2V2`)"66666666666d2V2V2V2V2V2`)"@2C2A2 6666 6666666666@2C2C2A2<2L2V2V2V2`" @2D22B2C2A26666666 6666666<222:2<2T2L2V2b28 " #<2P2[2[2Q2B2C2C2C2C2C2A26666666666666@2A2## 12:2@2D2T2T2J20 #1W2P2Q2]2[2[2[2[2[2Q2B2C2A2666666666666666@2D2B2A2" !""<2P2_2T2R28#aT2Z2[2[2[2[2[2Q2]2[2Q2B2C26666 66666666666<2P2Q2:2<2T2P2V2R28#aV2V2V2V2V2V2Z2[2[2]2[2`"666666666666666<2T2R2:2<2T2T2V2R28#)aV2V2V2V2`))))"666666666666666#1T2R2B2A2@2D2T2T2V2R28#))))"666666666666666#aZ2Q2B2C2A2efg@2C2D2P2_2T2V2R28  6666666666666666#aZ2[2Q2B2C2A2mn2o@2D2P2[2_2P2V2`)"# 6666666666666666#aQ2]2[2Q2B2C2C2C2A2;2;2;2;2;2<2P2_2P2[2`)" # "#6666666666666666#)aQ2]2[2[2[2Q2B2C2C2C2C2C2D2T2P2V2` "6666666666666666#))a[2Q2]2[2[2[2[2[2[2[2_2T2` "6666666666666666 #aZ2[2[2[2[2[2[2[2[2[2b2 6666666666666666 "##)aV2V2V2V2V2V2V2J2:2 " "666666666666666 d2V2V2V2V2V2J2U2:2 " "6666666666666666@2D2L2V2V2V2V2R2U2B2A2 " "6666666 666666666#<2P2_2L2V2V2V2R2]2Q2B2C2C2C2C2C2C2C2C2A2 6666666666666666#<2T2P2\2V2`)))a[2[2[2[2[2[2[2[2Q2:26666666666666666#@2D2T2`))"#))a[2[2[2[2`))"6666666666666666# @2C2C2D2P2`" #))))" "66666666666666666""# )))))" "#66666666666666666#"#" \ No newline at end of file
diff --git a/data/maps/Underwater5/border.bin b/data/maps/Underwater5/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/Underwater5/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Underwater5/connections.inc b/data/maps/Underwater5/connections.inc
new file mode 100644
index 000000000..6eafa49d6
--- /dev/null
+++ b/data/maps/Underwater5/connections.inc
@@ -0,0 +1,7 @@
+Underwater5_MapConnectionsList: @ 8486DE4
+ connection emerge, 0, ROUTE_129, 0
+
+Underwater5_MapConnections: @ 8486DF0
+ .4byte 0x1
+ .4byte Underwater5_MapConnectionsList
+
diff --git a/data/maps/Underwater5/header.inc b/data/maps/Underwater5/header.inc
new file mode 100644
index 000000000..5eb11436f
--- /dev/null
+++ b/data/maps/Underwater5/header.inc
@@ -0,0 +1,15 @@
+Underwater5: @ 8482AA0
+ .4byte Underwater5_MapAttributes
+ .4byte Underwater5_MapEvents
+ .4byte Underwater5_MapScripts
+ .4byte Underwater5_MapConnections
+ .2byte BGM_DEEPDEEP
+ .2byte 412
+ .byte 208
+ .byte 0
+ .byte 14
+ .byte 5
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Underwater5/map.bin b/data/maps/Underwater5/map.bin
new file mode 100644
index 000000000..902f0dbdc
--- /dev/null
+++ b/data/maps/Underwater5/map.bin
@@ -0,0 +1 @@
+& . 2222222 #222}#~2 #222222}#2 "22}#222222222}#222222}#222222222}#22}"##22222}#222222222222}"#222222222222#222222222222}"# """#222z222x2222}"# ""222222y2y22222 ""2222############222222 ""&222222.2222222#22222222222z222x22222222222222y2y22}"##""""""""""""""""#  # " " "  "############ \ No newline at end of file
diff --git a/data/maps/Underwater6/border.bin b/data/maps/Underwater6/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/Underwater6/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Underwater6/connections.inc b/data/maps/Underwater6/connections.inc
new file mode 100644
index 000000000..4d2960b36
--- /dev/null
+++ b/data/maps/Underwater6/connections.inc
@@ -0,0 +1,7 @@
+Underwater6_MapConnectionsList: @ 8486D24
+ connection emerge, 0, ROUTE_105, 0
+
+Underwater6_MapConnections: @ 8486D30
+ .4byte 0x1
+ .4byte Underwater6_MapConnectionsList
+
diff --git a/data/maps/Underwater6/header.inc b/data/maps/Underwater6/header.inc
new file mode 100644
index 000000000..b67c27d7c
--- /dev/null
+++ b/data/maps/Underwater6/header.inc
@@ -0,0 +1,15 @@
+Underwater6: @ 8482ABC
+ .4byte Underwater6_MapAttributes
+ .4byte Underwater6_MapEvents
+ .4byte Underwater6_MapScripts
+ .4byte Underwater6_MapConnections
+ .2byte BGM_DEEPDEEP
+ .2byte 410
+ .byte 206
+ .byte 0
+ .byte 14
+ .byte 5
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Underwater6/map.bin b/data/maps/Underwater6/map.bin
new file mode 100644
index 000000000..92bd56031
--- /dev/null
+++ b/data/maps/Underwater6/map.bin
@@ -0,0 +1 @@
+&/.222/2222222222222/22222222}##222222222}##2222222222222222}##2222/#~222222#~22#2222222222222222222222222222222222#~2222222/###222222222222222z222x222222222y2y2222222222222222222####"""##########"""""""""""""""                                # ##   22222 222222 222222 ## ##222222   #~z222x22 #~y2y222#~222 ~22 ~22  #222   222 2}## &2 .2 2222222  #~222222 #~22222#~2222 ####"""    #  ##  # #  # ######"" \ No newline at end of file
diff --git a/data/maps/Underwater7/border.bin b/data/maps/Underwater7/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/Underwater7/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Underwater7/connections.inc b/data/maps/Underwater7/connections.inc
new file mode 100644
index 000000000..16d0e47e5
--- /dev/null
+++ b/data/maps/Underwater7/connections.inc
@@ -0,0 +1,7 @@
+Underwater7_MapConnectionsList: @ 8486D58
+ connection emerge, 0, ROUTE_125, 0
+
+Underwater7_MapConnections: @ 8486D64
+ .4byte 0x1
+ .4byte Underwater7_MapConnectionsList
+
diff --git a/data/maps/Underwater7/header.inc b/data/maps/Underwater7/header.inc
new file mode 100644
index 000000000..942b0cad2
--- /dev/null
+++ b/data/maps/Underwater7/header.inc
@@ -0,0 +1,15 @@
+Underwater7: @ 8482AD8
+ .4byte Underwater7_MapAttributes
+ .4byte Underwater7_MapEvents
+ .4byte Underwater7_MapScripts
+ .4byte Underwater7_MapConnections
+ .2byte BGM_DEEPDEEP
+ .2byte 411
+ .byte 207
+ .byte 0
+ .byte 14
+ .byte 5
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Underwater7/map.bin b/data/maps/Underwater7/map.bin
new file mode 100644
index 000000000..660f585ae
--- /dev/null
+++ b/data/maps/Underwater7/map.bin
@@ -0,0 +1 @@
+9<?WTVVVVVVV9<?WTVVVVVVV9<?WTVVVVVVV9<?WTVVVVVVV9<?WTVVVVVVV9<?WTVVVVVVV9<?WTVVVVVVV9<?WTVVVVVVV9<?WTVVVVVVV&9<?WTVVVVVVV.9<?WTVVVVVVV22222222229<?WTVVVVVVV222222222222222229<?WTVVVVVVV222222222222222229<?WTVVVVVVV22222222222222222229<?WTVVVVVVV22222222222222222229<?WTVVVVVVV222222222222222222}#9<?WTVVVVVVV2222222222222222}"#2222229<?WTVVVVVVV22222222222222222222229<?WTVVVVVVV2z222x222}#########2222229<?WTVVVVVVV22y2y22222222229<?WTVVVVVVV#########2z222x229<?WTVVVVVVV22y2y2229<?WTVVVVVVV #2222229<?WTVVVVVVV 2222229<?WTVVVVVVV#2222229<?WTVVVVVVV2}~2229<?WTVVVVVVV2222229<?WTVVVVVVV#22222}~2229<?WTVVVVVVV "&222222229<?WTVVVVVVV#.22222222229<?WTVVVVVVV #222222222222222229<?WTVVVVVVV222222222222222229<?WTVVVVVVV   ##""""""""""""""""""9<?WTVVVVVVV 9<?WTVVVVVVV "# # 9<?WTVVVVVVV# #9<?WTVVVVVVV## # ##9<?WTVVVVVVV# ##9<?WTVVVVVVV9<?WTVVVVVVV \ No newline at end of file
diff --git a/data/maps/Underwater_MarineCave/border.bin b/data/maps/Underwater_MarineCave/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/Underwater_MarineCave/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Underwater_MarineCave/header.inc b/data/maps/Underwater_MarineCave/header.inc
new file mode 100644
index 000000000..d995a2dec
--- /dev/null
+++ b/data/maps/Underwater_MarineCave/header.inc
@@ -0,0 +1,15 @@
+Underwater_MarineCave: @ 84849CC
+ .4byte Underwater_MarineCave_MapAttributes
+ .4byte Underwater_MarineCave_MapEvents
+ .4byte Underwater_MarineCave_MapScripts
+ .4byte 0x0
+ .2byte BGM_DAN01
+ .2byte 406
+ .byte 204
+ .byte 0
+ .byte 14
+ .byte 5
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Underwater_MarineCave/map.bin b/data/maps/Underwater_MarineCave/map.bin
new file mode 100644
index 000000000..1904f4757
--- /dev/null
+++ b/data/maps/Underwater_MarineCave/map.bin
@@ -0,0 +1 @@
+(((((((2$(2"""""+,-""""" \ No newline at end of file
diff --git a/data/maps/Underwater_Route134/border.bin b/data/maps/Underwater_Route134/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/Underwater_Route134/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Underwater_Route134/header.inc b/data/maps/Underwater_Route134/header.inc
new file mode 100644
index 000000000..461804c39
--- /dev/null
+++ b/data/maps/Underwater_Route134/header.inc
@@ -0,0 +1,15 @@
+Underwater_Route134: @ 848464C
+ .4byte Underwater_Route134_MapAttributes
+ .4byte Underwater_Route134_MapEvents
+ .4byte Underwater_Route134_MapScripts
+ .4byte 0x0
+ .2byte BGM_DEEPDEEP
+ .2byte 282
+ .byte 79
+ .byte 0
+ .byte 14
+ .byte 5
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Underwater_Route134/map.bin b/data/maps/Underwater_Route134/map.bin
new file mode 100644
index 000000000..77bdd37aa
--- /dev/null
+++ b/data/maps/Underwater_Route134/map.bin
@@ -0,0 +1,2 @@
+(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2### # (2(2$(2(2(2
+""""# +,-  " \ No newline at end of file
diff --git a/data/maps/Underwater_SeafloorCavern/border.bin b/data/maps/Underwater_SeafloorCavern/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/Underwater_SeafloorCavern/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Underwater_SeafloorCavern/header.inc b/data/maps/Underwater_SeafloorCavern/header.inc
new file mode 100644
index 000000000..88cb213b5
--- /dev/null
+++ b/data/maps/Underwater_SeafloorCavern/header.inc
@@ -0,0 +1,15 @@
+Underwater_SeafloorCavern: @ 8484198
+ .4byte Underwater_SeafloorCavern_MapAttributes
+ .4byte Underwater_SeafloorCavern_MapEvents
+ .4byte Underwater_SeafloorCavern_MapScripts
+ .4byte 0x0
+ .2byte BGM_DEEPDEEP
+ .2byte 146
+ .byte 69
+ .byte 0
+ .byte 14
+ .byte 5
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Underwater_SeafloorCavern/map.bin b/data/maps/Underwater_SeafloorCavern/map.bin
new file mode 100644
index 000000000..4cacc495e
--- /dev/null
+++ b/data/maps/Underwater_SeafloorCavern/map.bin
@@ -0,0 +1,2 @@
+6666(22222(2(2(2(2(2(2(2(2### (2(2$(2(2(2
+"""# +,-  " \ No newline at end of file
diff --git a/data/maps/Underwater_SealedChamber/border.bin b/data/maps/Underwater_SealedChamber/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/Underwater_SealedChamber/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Underwater_SealedChamber/header.inc b/data/maps/Underwater_SealedChamber/header.inc
new file mode 100644
index 000000000..a066b9b35
--- /dev/null
+++ b/data/maps/Underwater_SealedChamber/header.inc
@@ -0,0 +1,15 @@
+Underwater_SealedChamber: @ 8484668
+ .4byte Underwater_SealedChamber_MapAttributes
+ .4byte Underwater_SealedChamber_MapEvents
+ .4byte Underwater_SealedChamber_MapScripts
+ .4byte 0x0
+ .2byte BGM_DEEPDEEP
+ .2byte 283
+ .byte 79
+ .byte 0
+ .byte 14
+ .byte 5
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Underwater_SealedChamber/map.bin b/data/maps/Underwater_SealedChamber/map.bin
new file mode 100644
index 000000000..5ac0b4a73
--- /dev/null
+++ b/data/maps/Underwater_SealedChamber/map.bin
@@ -0,0 +1 @@
+efgmno22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222  2222222#222222222222222222222  222222222222#2222222  222222222222#2222222  222222222222222222222222#222222  22222222222222222222222222222222222222222222     2222222222222222222222222222222p2222222222C2C2C2222222222222S2S2S2222222# 22222S2S2S22222 "#            " \ No newline at end of file
diff --git a/data/maps/Underwater_SootopolisCity/border.bin b/data/maps/Underwater_SootopolisCity/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/Underwater_SootopolisCity/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/Underwater_SootopolisCity/header.inc b/data/maps/Underwater_SootopolisCity/header.inc
new file mode 100644
index 000000000..a9b7d47ef
--- /dev/null
+++ b/data/maps/Underwater_SootopolisCity/header.inc
@@ -0,0 +1,15 @@
+Underwater_SootopolisCity: @ 8483F4C
+ .4byte Underwater_SootopolisCity_MapAttributes
+ .4byte Underwater_SootopolisCity_MapEvents
+ .4byte Underwater_SootopolisCity_MapScripts
+ .4byte 0x0
+ .2byte BGM_DEEPDEEP
+ .2byte 130
+ .byte 54
+ .byte 0
+ .byte 14
+ .byte 5
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/Underwater_SootopolisCity/map.bin b/data/maps/Underwater_SootopolisCity/map.bin
new file mode 100644
index 000000000..71346ab72
--- /dev/null
+++ b/data/maps/Underwater_SootopolisCity/map.bin
@@ -0,0 +1,2 @@
+(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2(2### # (2(2(2$(2(2(2(2(2
+""""#  +,-    " \ No newline at end of file
diff --git a/data/maps/UnionRoom/border.bin b/data/maps/UnionRoom/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/UnionRoom/border.bin
Binary files differ
diff --git a/data/maps/UnionRoom/header.inc b/data/maps/UnionRoom/header.inc
new file mode 100644
index 000000000..d4394409b
--- /dev/null
+++ b/data/maps/UnionRoom/header.inc
@@ -0,0 +1,15 @@
+UnionRoom: @ 8485120
+ .4byte UnionRoom_MapAttributes
+ .4byte UnionRoom_MapEvents
+ .4byte UnionRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_RAINBOW
+ .2byte 393
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 8
+
diff --git a/data/maps/UnionRoom/map.bin b/data/maps/UnionRoom/map.bin
new file mode 100644
index 000000000..cb1b009c3
--- /dev/null
+++ b/data/maps/UnionRoom/map.bin
@@ -0,0 +1,11 @@
+(   #
+
+
+
+
+
+
+
+
+
+0222222222222222222222222222222222222222222222222222222222222222222222222222222222 2!2"2222222222222222222222222222222222222 222222222222222222 \ No newline at end of file
diff --git a/data/maps/UnknownMap_08417FC4/border.bin b/data/maps/UnknownMap_08417FC4/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/UnknownMap_08417FC4/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/UnknownMap_08417FC4/map.bin b/data/maps/UnknownMap_08417FC4/map.bin
new file mode 100644
index 000000000..17a14a8d5
--- /dev/null
+++ b/data/maps/UnknownMap_08417FC4/map.bin
@@ -0,0 +1 @@
+pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp00000000000000ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp0000000 0 0 0000000ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp0000000 0 0 0 0 0 0 0 0000ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppps00000 0 0 0 0 0 0 0 0 0 000rpppppppppppppppppppppppppppppppppppppppppppppppppppppppp000000 0 0 0 0 0 0 0 0 0 0 00000ppppppppppppppppppppppppppppppr{{{{{{vppppppppppppppp000000 0 0 0 0 0 0 0 0 0 0 0 00000ppppPQpppppppppppppppppppppprqkllmqvppppuvppppPQprs000000 0 0 0 0 0 0 0 0 0 0 01110utpPQXYpppppr{{{{{{{vpppppppuqkqquqq|uvpp}~pu{vXYrss0000000000 0 0 0 0 0 0 0 1 5 10uutXYpuvpu{{qklllmqvppppuvq{|||}qt}~pppppzq|}sss00000000004400 0 0 0 0 01110uuu~p}~pzqqqkklmmqvppp}~pyqqqtyppu{{vppyfsss00000000000444400 0 0 00000uuugppuvzqqqsq{|}quqq|ppPQppppyyyppppzqq|puvppfsss000000000004444440 000000uuuguv}~qq{qqqt}qtppXYpppuvppppppuvyyp}~ppfss{|||00000000444444400t|||}uug}~pppyq{|||}qtpuv{vppp}~pppppp}~pppPQppppfs{s000000000444444400ut}ugppppPQpyypp}~q|ppppppppppPQppppXYppuvf{ss000000000044444400uut}gppppXYppppppppuvppppyppppppppppXYpppppppp}~nss{|||0000004444t|||}uutopuvppppppppppp}~ppppppppppppppppppppppppuvpp1$1$1$1s{{||0000t||}t}ur$1$1$11p}~pppppuvppppppppppppuvpppppppppppppppp}~pp111$1{{{|22|}t}t}r$1$1$11pppppppp}~pppppppppppp}~u{vpppppppuvpppppppp111$1{{22}t}t$1$1$11ppppppppppppppppppppuvppztppppppp}~pppppppp111$1$1$1"10x{22}tz00 1$1$1$111pppppppppppppppppppp}~pppppppppppppppppppp111$1"10000x22z00000 1$1$111pppppppppppppppppppppppppppppppppppppppppppppp111$1$1100000000000000000001$1$1111ppppppppppppppppppppppppppppppppppppppppppppppp111$1$1!11000000000000000011$1$1111ppppppppppppppppppppppppppppppppppppppppppppppp1111$1$1!11100000000000111$1$1$1$1111pppppppppppppppppppppppppppppppppppppppppppppppp1111$1$1$1$1"100000000011$1$1$1$1$1$11111pppppppppppppppppppppppppppppppppppppppppppppppp1111$1$1$1111111111$1$1$1$1$1$1$1$111pppppppppPQpppppppuvpppppppppppppppppppppppppppppp1111$1$1$1$1$1$1$1$1$1$1$1$1$1$111111111ppppppppPQpXYppr{{{v}~ppu{{vpppppppppppppppppppppppp11111$1$1$1$1$1$1$1$1$1$1$1$11111ppppppppXYpppr{qqqvpuvqq|ppppppppppppppppppppppppp11111111111111111111ppppppppppppppu{{qqqqqqv}~qqtpPQppppppppppppppppppppppppppppppppuvpppqqqqqqqqqvpyyuvXYPQu{vpuvpppppppPQppppppppppppppppppppppppppppppppppppp}~ppppyqqqqqqtypppp}~ppXYyp}~pppppppXYu{{{vpppuvppppppppppppppppppppppPQpuvpu{{{vppyyyyyyPQpppppppppppppuvpPQpppuvppzqqq{vp}~ppppppuvppppppppppppppXYp}~pqqvpppppppppXYupppppppppppp}~pXYu{v}~uvyyqqvpuvpppPQ}~pppppppPQppppr{{{vppptyppppppppppp}pppppPQppppppppppzq|pp}~pppyyyp}~PQpXYppu{{vpuvXYppr{qkmvppppppppppppppppppppppXYppppppppppypppppppppppppppXYuvpppqv}~pu{{klm{}q|pppppppppppppppppppppppppppppppppppppppppppppppppppppppp}~ppppyypppqq{|}qqtppppppppppppppppppppppppppppppPQpppppppppppppppppppppppppppppppppppPQpyyyypppppppppppppppppppppppppppppppXYpppppppppppppppppppppppppppppppppppXYpppppppppppppppppppppppppppppp \ No newline at end of file
diff --git a/data/maps/UnknownMap_08428450/border.bin b/data/maps/UnknownMap_08428450/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/UnknownMap_08428450/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_08428450/map.bin b/data/maps/UnknownMap_08428450/map.bin
new file mode 100644
index 000000000..ca93fa0e2
--- /dev/null
+++ b/data/maps/UnknownMap_08428450/map.bin
Binary files differ
diff --git a/data/maps/UnknownMap_084294C4/border.bin b/data/maps/UnknownMap_084294C4/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/UnknownMap_084294C4/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_084294C4/map.bin b/data/maps/UnknownMap_084294C4/map.bin
new file mode 100644
index 000000000..37f05b971
--- /dev/null
+++ b/data/maps/UnknownMap_084294C4/map.bin
Binary files differ
diff --git a/data/maps/UnknownMap_084294E8/border.bin b/data/maps/UnknownMap_084294E8/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/UnknownMap_084294E8/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_084294E8/map.bin b/data/maps/UnknownMap_084294E8/map.bin
new file mode 100644
index 000000000..ca93fa0e2
--- /dev/null
+++ b/data/maps/UnknownMap_084294E8/map.bin
Binary files differ
diff --git a/data/maps/UnknownMap_0843E6C0/border.bin b/data/maps/UnknownMap_0843E6C0/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/UnknownMap_0843E6C0/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_0843E6C0/map.bin b/data/maps/UnknownMap_0843E6C0/map.bin
new file mode 100644
index 000000000..22a47d94e
--- /dev/null
+++ b/data/maps/UnknownMap_0843E6C0/map.bin
Binary files differ
diff --git a/data/maps/UnknownMap_0843E6E4/border.bin b/data/maps/UnknownMap_0843E6E4/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/UnknownMap_0843E6E4/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_0843E6E4/map.bin b/data/maps/UnknownMap_0843E6E4/map.bin
new file mode 100644
index 000000000..22a47d94e
--- /dev/null
+++ b/data/maps/UnknownMap_0843E6E4/map.bin
Binary files differ
diff --git a/data/maps/UnknownMap_0843E708/border.bin b/data/maps/UnknownMap_0843E708/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/UnknownMap_0843E708/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_0843E708/map.bin b/data/maps/UnknownMap_0843E708/map.bin
new file mode 100644
index 000000000..22a47d94e
--- /dev/null
+++ b/data/maps/UnknownMap_0843E708/map.bin
Binary files differ
diff --git a/data/maps/UnknownMap_0843E72C/border.bin b/data/maps/UnknownMap_0843E72C/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/UnknownMap_0843E72C/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_0843E72C/map.bin b/data/maps/UnknownMap_0843E72C/map.bin
new file mode 100644
index 000000000..22a47d94e
--- /dev/null
+++ b/data/maps/UnknownMap_0843E72C/map.bin
Binary files differ
diff --git a/data/maps/UnknownMap_0843E750/border.bin b/data/maps/UnknownMap_0843E750/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/UnknownMap_0843E750/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_0843E750/map.bin b/data/maps/UnknownMap_0843E750/map.bin
new file mode 100644
index 000000000..22a47d94e
--- /dev/null
+++ b/data/maps/UnknownMap_0843E750/map.bin
Binary files differ
diff --git a/data/maps/UnknownMap_0843E774/border.bin b/data/maps/UnknownMap_0843E774/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/UnknownMap_0843E774/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_0843E774/map.bin b/data/maps/UnknownMap_0843E774/map.bin
new file mode 100644
index 000000000..22a47d94e
--- /dev/null
+++ b/data/maps/UnknownMap_0843E774/map.bin
Binary files differ
diff --git a/data/maps/UnknownMap_0843E798/border.bin b/data/maps/UnknownMap_0843E798/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/UnknownMap_0843E798/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_0843E798/map.bin b/data/maps/UnknownMap_0843E798/map.bin
new file mode 100644
index 000000000..22a47d94e
--- /dev/null
+++ b/data/maps/UnknownMap_0843E798/map.bin
Binary files differ
diff --git a/data/maps/UnknownMap_0843E7BC/border.bin b/data/maps/UnknownMap_0843E7BC/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/UnknownMap_0843E7BC/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_0843E7BC/map.bin b/data/maps/UnknownMap_0843E7BC/map.bin
new file mode 100644
index 000000000..22a47d94e
--- /dev/null
+++ b/data/maps/UnknownMap_0843E7BC/map.bin
Binary files differ
diff --git a/data/maps/UnknownMap_0843E7E0/border.bin b/data/maps/UnknownMap_0843E7E0/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/UnknownMap_0843E7E0/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_0843E7E0/map.bin b/data/maps/UnknownMap_0843E7E0/map.bin
new file mode 100644
index 000000000..22a47d94e
--- /dev/null
+++ b/data/maps/UnknownMap_0843E7E0/map.bin
Binary files differ
diff --git a/data/maps/UnknownMap_0843E804/border.bin b/data/maps/UnknownMap_0843E804/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/UnknownMap_0843E804/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_0843E804/map.bin b/data/maps/UnknownMap_0843E804/map.bin
new file mode 100644
index 000000000..22a47d94e
--- /dev/null
+++ b/data/maps/UnknownMap_0843E804/map.bin
Binary files differ
diff --git a/data/maps/UnknownMap_0843E828/border.bin b/data/maps/UnknownMap_0843E828/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/UnknownMap_0843E828/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_0843E828/map.bin b/data/maps/UnknownMap_0843E828/map.bin
new file mode 100644
index 000000000..22a47d94e
--- /dev/null
+++ b/data/maps/UnknownMap_0843E828/map.bin
Binary files differ
diff --git a/data/maps/UnknownMap_0843E84C/border.bin b/data/maps/UnknownMap_0843E84C/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/UnknownMap_0843E84C/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_0843E84C/map.bin b/data/maps/UnknownMap_0843E84C/map.bin
new file mode 100644
index 000000000..22a47d94e
--- /dev/null
+++ b/data/maps/UnknownMap_0843E84C/map.bin
Binary files differ
diff --git a/data/maps/UnknownMap_0843E870/border.bin b/data/maps/UnknownMap_0843E870/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/UnknownMap_0843E870/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_0843E870/map.bin b/data/maps/UnknownMap_0843E870/map.bin
new file mode 100644
index 000000000..22a47d94e
--- /dev/null
+++ b/data/maps/UnknownMap_0843E870/map.bin
Binary files differ
diff --git a/data/maps/UnknownMap_0843E894/border.bin b/data/maps/UnknownMap_0843E894/border.bin
new file mode 100644
index 000000000..b15c94f96
--- /dev/null
+++ b/data/maps/UnknownMap_0843E894/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_0843E894/map.bin b/data/maps/UnknownMap_0843E894/map.bin
new file mode 100644
index 000000000..22a47d94e
--- /dev/null
+++ b/data/maps/UnknownMap_0843E894/map.bin
Binary files differ
diff --git a/data/maps/UnknownMap_08447028/border.bin b/data/maps/UnknownMap_08447028/border.bin
new file mode 100644
index 000000000..9e4b3fb7a
--- /dev/null
+++ b/data/maps/UnknownMap_08447028/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_08447028/map.bin b/data/maps/UnknownMap_08447028/map.bin
new file mode 100644
index 000000000..028da0526
--- /dev/null
+++ b/data/maps/UnknownMap_08447028/map.bin
@@ -0,0 +1,3 @@
+22222222222222222222222222222222222222222222222222222222222222222222222222662222222222222222222222222222222222222222222222226666 662222222222222222222222222 
+2266662BBBB2222222222222222222222222666666BBBB66BBBB222222266666622222g2g2g2g2g2g2g2g22222222222202GG2NdedeOKLQ2$%&'22222g2g2g2g2g2g2g2g222222222222822222:$!&'2 !"#:VcccWcSTa2222222g2g2g2g2g2g2g2g2g2g2g2g2222222282f2f2f2f2H2222:Vccccccca22222222g2g2g2g2g2g2g2g2g2g2g2g2g2g2222222282f2f2f2f222222222222:Vccccccca22222222g2g2g2g2g2g2g2g2g2g2g2g2g2g2222222282f2f2f2f2222
+IIIIB^_______Y222222g2g2g2g2g2g2g2g2g2g2g2g2g2g2g2g2222222282f2f2f2f2222BBBB222222222222222222222222222222222222222222222822CEED22()*G22 22222222222222222222222222228223522 %"#:2BBBB222222222222222222222222222282235222:2+,-222222222222222222222222222222822GG2222222:2$%&'222222222222222222222222222222822222r2222H2<<222222222222222222222222222222228222222222222222222222222222222222222222222222222222222282222q2222p222222222222222222222222222222222222222222228222222222222222222222222222222222222222222222222222222282h2h2h2h2k2222s22CIIIIIID2222222222222222222222222222222222282j2222k22222235222:22222222222222222222222282j2222k22222235222:22222222222222222222222282j2222k22222235222:22222222222222222222222282j2i22i2i22222235222:22222222222222222222222282222222222235222:22222222222222222222222282222222235222:222222222222222222222222 \ No newline at end of file
diff --git a/data/maps/UnknownMap_0845A394/border.bin b/data/maps/UnknownMap_0845A394/border.bin
new file mode 100644
index 000000000..f1629c020
--- /dev/null
+++ b/data/maps/UnknownMap_0845A394/border.bin
@@ -0,0 +1 @@
+3333 \ No newline at end of file
diff --git a/data/maps/UnknownMap_0845A394/map.bin b/data/maps/UnknownMap_0845A394/map.bin
new file mode 100644
index 000000000..fd294d9b6
--- /dev/null
+++ b/data/maps/UnknownMap_0845A394/map.bin
Binary files differ
diff --git a/data/maps/UnknownMap_0845D470/border.bin b/data/maps/UnknownMap_0845D470/border.bin
new file mode 100644
index 000000000..c3fe51511
--- /dev/null
+++ b/data/maps/UnknownMap_0845D470/border.bin
@@ -0,0 +1 @@
+pppp \ No newline at end of file
diff --git a/data/maps/UnknownMap_0845D470/map.bin b/data/maps/UnknownMap_0845D470/map.bin
new file mode 100644
index 000000000..cd136de41
--- /dev/null
+++ b/data/maps/UnknownMap_0845D470/map.bin
@@ -0,0 +1 @@
+qqqqqqqqqqqt||}ut|}ppp{qs{$14$1$1$1$14$1$1uuqupppppppppppppqqqqqqqqt||}qqt}uppppp{{s$1$1$1$1$1$1$1$1t}ut}ppppppppppppp||||||||}qqqt|}t}pppppppppsqs{$1$1$14$1t|}quupppppppppppppqqqqqt|||}qt}pppppppppPesq{{4$1$1t}qt|}uppppppppppppppqqt||}qqqt|}ppppppppppXm{q{{|||}qt}t|}pppppppppppppp||}qt|||}ppuvpppppPQp{q{|}qupppppppppppppp|}uvpu{vp}~pppppXYpp{|0|}ppppppppppppppppZ[ppppp}~pzq|pppppppppPQpp$1$1$1$1$1Z[ppppPQpppppppppppXYppppuvppppypppppppuvXYppppp$1$1$1$1$1pXYu{{{vXYppppppppppppppu{vp}~ppuvPQppppppPQ}~ppppppppuvyq|ppuvppppppppppppzq|ppppp}~XYppuvppXYpu{vppppppppppppp}~ppyPQ}~ppppppppPQppyppuvPQpppPQ}~pPQppzq|uvppppppppppuvppppppXYpu{{vpppppXYpppppPQ}~XYpuvXYpPQXYppy}~ppuvpppppu|ppppppppuqqvpppppppppppXYppppp}~pppXYppppppppppp}~pppppzq|ppppppppyyyyPQppppppppppppppppppppuvpppppppppppppppppuvypppppppuvppPQpXYu{pppppppppppppppppp}~u{vppppppppppppPQ}~pppppppppp}~ppXYpppzqppppppppppppppppppppzq{vppppuvppuvXYpppppppu{vpppppPQppuvyppppppppppppppppppppyyypppp}~uv}~pppppppu{q|pppppXYpp}~pppppppppppppppppppppppppuvpppppp}~pppppppppzqqq|ppppppPQpppPQppppppppppppppppppppppp}~pppppppppppppppppyyyppppppXYpppXYppppppppppppppppppppppppPQppuvpppppppu{vppppppppppppppppppppppppppppppppppppppppppppXYPQ}~ppppuvuq|ppppppppppppppppppppppppppppppppppppppppppppppXYppu{{v}~yyppppppppppppppppppppppppppppppppppppppppppppppppppyyppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppPQppppppppppppppppppppppppppppppppppppppppppppuvppppppPQppppXYppppppppppppppppppppppppppppppppppPQuvpppppp}~pppuvpXYppppppppuvppppppppppppppppppppppppppppppXY}~ppppppu{PQp}~pppu{vpppppzvpuvpppppppppppppuvpppppppppuvppppppppppzqXYppppppzq|puvppv}~pppppppppppPQ}~pppppppuv}~ppppppppPQy{{{{tpppyp}~uvpypppppppu{{vppXYpuvpppppp}~pppPQpuvppXYppqqqq{tppppuvp}~ppuvpppppppzqq{vppp}~uvpppu{{vppXYp}~puvpppllllmq{{{t}~pppuv}~ppu{{vpqqqvpppp}~ppuqq{{vu{{{v}~pppqqqqllmqq{tppp}~ppu{qq|uvyyyyppppppPQyyyqqqqtpppppqqqqqqqmqqqutppppppzqqqt}~ppppppppppppXYppppyqqqtppppPQqqqqqqqqllmuu{tppuvyyypppppppppppppppppppppppyyypppppXYqqqqqqqqqqqltp}~ppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqutpppppppppppppppppppppppppppppppppppppppppp \ No newline at end of file
diff --git a/data/maps/UnknownMap_0845ECB4/border.bin b/data/maps/UnknownMap_0845ECB4/border.bin
new file mode 100644
index 000000000..f0eabd248
--- /dev/null
+++ b/data/maps/UnknownMap_0845ECB4/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_0845ECB4/map.bin b/data/maps/UnknownMap_0845ECB4/map.bin
new file mode 100644
index 000000000..ec344933f
--- /dev/null
+++ b/data/maps/UnknownMap_0845ECB4/map.bin
@@ -0,0 +1 @@
+222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222  222 222    2222222 2222222222 2222222    # 222    #2222 #  2222     2222 #    2222 efg  222 # esdrfg 222efsd_ddrfg222qdd_d__ddp222qd______dp22222es_d____d_p22222 qdd______dp22222222#2#2bdd_d_d_dp222222222#2b_d_d_`a3a3#222222222#2a3a3a3a3a3#22222222222222222222222 \ No newline at end of file
diff --git a/data/maps/UnknownMap_08469200/border.bin b/data/maps/UnknownMap_08469200/border.bin
new file mode 100644
index 000000000..c07869a9f
--- /dev/null
+++ b/data/maps/UnknownMap_08469200/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_08469200/map.bin b/data/maps/UnknownMap_08469200/map.bin
new file mode 100644
index 000000000..67085fd37
--- /dev/null
+++ b/data/maps/UnknownMap_08469200/map.bin
@@ -0,0 +1,12 @@
+222922222922222229KLM929222222 
+  222222222 
+ 2222 
+ 22%7'222222KLM2222 
+  
+ U22-?/22@AAAB Z2222#$_222222 222222222222222222 22KLM22+,_22D2E2222222222222222222222@AAAAAAAB2 @AAF2G\22222222222@AF22GAAAB22D222%6'2bD2c22222222222bD2E2c2222922->/22D2222222222222D2AAAAAB22222222222D2E2D2 
+ D2E2D2E222222222222222222222D2E226222222 222822D2E22222222222229222222222222222222@AF22GAAAAAAAAB2222222222T 
+ B22222222bD2E2cQR[RS22TA 
+ 222228222222;2222^#$222D2E2222222 !2"2^2#$22222222^+,222D2E222222()2)2)2*222^2+,2222 
+  
+ KLM^22222222222n22o0q0q0q022222^22222D2E2 2 ^22222222222bD2E2cq06q06q022^2222D2E2%7'2%7']AAAB2222D2q0q0q0q0q0q06q06q0q0q0^222222222-?/2AAB-?/2D2E222D2q0q0q0q0q0q0q0q0q0q0q0q0q0q0]AB222222222222222222222q0q0q0q0q0q0q0q0q0q0q0q0q0q0D2E2KLM22222KLMD2E2222q0q0t||||||||||TB222 2222222KL22TYZB22D2E2ty}s^2222222222222 22^22222q0q0t}{y^222222222%6'22^222k6l6l6m6q0q0us^2222222 22222->/22^2222220123q0q0us]AAB22222222AAAAB]AAAAB89:;q0q0us{|}~2222222222ABwq0q0usTPQRS2222D22222222222222q0q0us^XYZ[222222222222222222222222222q0q0us^abvD2E222222KLM22222D2E2q0q0q0u01110s^22222222222222TYZB2222q0q0q0q0q0q0u000000010s^22222222222922222^2222q0q0q0q0q0q0t}00000010s]B22@AF22 22222^2222q0tD2E2yz00000000sD2E2N22 
+ 2222^2222222q0r000000000000{yyyD2E2N222]B2222q0r000004000pN222222222tyyz000000pV@AAAAAAB2qtyyz000000000p2qqr0000000000xyyyyqqq2qqr000000000000000x2qqr000000000000000000pq2qqr000000000000011pq2qqr000000011000000pqq2qr0000000000000pqqiiij000pqqij0pr0i0i0i0i00iijqqqqqrqrqqqqqqqrqqqqrqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq \ No newline at end of file
diff --git a/data/maps/UnknownMap_084693AC/border.bin b/data/maps/UnknownMap_084693AC/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/UnknownMap_084693AC/border.bin
Binary files differ
diff --git a/data/maps/UnknownMap_084693AC/map.bin b/data/maps/UnknownMap_084693AC/map.bin
new file mode 100644
index 000000000..a179d8997
--- /dev/null
+++ b/data/maps/UnknownMap_084693AC/map.bin
Binary files differ
diff --git a/data/maps/UnknownMap_08470BD8/border.bin b/data/maps/UnknownMap_08470BD8/border.bin
new file mode 100644
index 000000000..4531975c7
--- /dev/null
+++ b/data/maps/UnknownMap_08470BD8/border.bin
Binary files differ
diff --git a/data/maps/UnknownMap_08470BD8/map.bin b/data/maps/UnknownMap_08470BD8/map.bin
new file mode 100644
index 000000000..0f7bbb958
--- /dev/null
+++ b/data/maps/UnknownMap_08470BD8/map.bin
Binary files differ
diff --git a/data/maps/UnknownMap_08480DAC/border.bin b/data/maps/UnknownMap_08480DAC/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/UnknownMap_08480DAC/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_08480DAC/map.bin b/data/maps/UnknownMap_08480DAC/map.bin
new file mode 100644
index 000000000..d1277f280
--- /dev/null
+++ b/data/maps/UnknownMap_08480DAC/map.bin
Binary files differ
diff --git a/data/maps/UnknownMap_08480F54/border.bin b/data/maps/UnknownMap_08480F54/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/UnknownMap_08480F54/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_08480F54/map.bin b/data/maps/UnknownMap_08480F54/map.bin
new file mode 100644
index 000000000..f0d9c299c
--- /dev/null
+++ b/data/maps/UnknownMap_08480F54/map.bin
@@ -0,0 +1 @@
+''''''''';<=''/////////CD2E//222222222222222222222222222222222222222222222289999:22222222@AAAAB22222222AAAAAA22222222AAAAAA22222222AAAAAA22222222IMMMMJ22222222222222222222222222222222222222"2#2222222 \ No newline at end of file
diff --git a/data/maps/UnknownMap_084810FC/border.bin b/data/maps/UnknownMap_084810FC/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/UnknownMap_084810FC/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_084810FC/map.bin b/data/maps/UnknownMap_084810FC/map.bin
new file mode 100644
index 000000000..908158cf4
--- /dev/null
+++ b/data/maps/UnknownMap_084810FC/map.bin
@@ -0,0 +1 @@
+'';<='''';<=''//CD2E////CL2E//5252525252525252525252525252424242424242424242424242424242424242424242424242424242424242424289999:4242424242424242@AAAAB4242424242424242AAAAAA4242424242424242AAAAAA4242424242424242AAAAAA4242424242424242IMMMMJ42424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242 \ No newline at end of file
diff --git a/data/maps/UnknownMap_084812A4/border.bin b/data/maps/UnknownMap_084812A4/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/UnknownMap_084812A4/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_084812A4/map.bin b/data/maps/UnknownMap_084812A4/map.bin
new file mode 100644
index 000000000..d033bc4d2
--- /dev/null
+++ b/data/maps/UnknownMap_084812A4/map.bin
@@ -0,0 +1 @@
+'';<=';<=';<='//CL2E/CD2E/CD2E/222222222222222222222222222222222222222289999:22222222@AAAAA22222222AAAAAA22222222AAAAAA22222222AAAAAA22222222IMMMMJ2222222222222222222222222222222222222222222222 \ No newline at end of file
diff --git a/data/maps/UnknownMap_0848144C/border.bin b/data/maps/UnknownMap_0848144C/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/UnknownMap_0848144C/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_0848144C/map.bin b/data/maps/UnknownMap_0848144C/map.bin
new file mode 100644
index 000000000..eeccae9ae
--- /dev/null
+++ b/data/maps/UnknownMap_0848144C/map.bin
@@ -0,0 +1 @@
+'';<=';<=';<='//CD2E/CL2E/CL2E/525252525252525265252525252626266642424242424242426262426264242424242424289999:4242424242424242@AAAAB4242424242424242AAAAAA4242424242424242AAAAAA4242424242424242AAAAAA4242424242424242IMMMMJ42424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242 \ No newline at end of file
diff --git a/data/maps/UnknownMap_084815F4/border.bin b/data/maps/UnknownMap_084815F4/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/UnknownMap_084815F4/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_084815F4/map.bin b/data/maps/UnknownMap_084815F4/map.bin
new file mode 100644
index 000000000..8507a4932
--- /dev/null
+++ b/data/maps/UnknownMap_084815F4/map.bin
@@ -0,0 +1 @@
+'';<='''';<=''//CL2E////CD2E//22222222262222222222226222222228999999:222222@AAAAAAB222222AAAAAAAA222222AAAAAAAA222222AAAAAAAA222222AAAAAAAA222222AAAAAAAA222222IMMMMMMJ2222222222222222222222222222222 \ No newline at end of file
diff --git a/data/maps/UnknownMap_08481B24/border.bin b/data/maps/UnknownMap_08481B24/border.bin
new file mode 100644
index 000000000..e9d1c658c
--- /dev/null
+++ b/data/maps/UnknownMap_08481B24/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_08481B24/map.bin b/data/maps/UnknownMap_08481B24/map.bin
new file mode 100644
index 000000000..2a47bca91
--- /dev/null
+++ b/data/maps/UnknownMap_08481B24/map.bin
@@ -0,0 +1 @@
+d2d2d26d2d2d26d2d2d26666666d2d2d26d2d2d26d24242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242''''''''''m22n';<='''''''''//////////j22k/CL2E/////////52525252525252525252525252525252525252424242424242424242424242424242424242424242424242424242424242424242424242424242[[[[[[[[[[[[[[[[[[[[[[[[[[[ \ No newline at end of file
diff --git a/data/maps/UnknownMap_08481DBC/border.bin b/data/maps/UnknownMap_08481DBC/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/UnknownMap_08481DBC/border.bin
Binary files differ
diff --git a/data/maps/UnknownMap_08481DBC/map.bin b/data/maps/UnknownMap_08481DBC/map.bin
new file mode 100644
index 000000000..603f55c93
--- /dev/null
+++ b/data/maps/UnknownMap_08481DBC/map.bin
@@ -0,0 +1,2 @@
+'
+  +/6666-7$%655555555556555555655555565555555555655 555555 \ No newline at end of file
diff --git a/data/maps/UnknownMap_25_29/border.bin b/data/maps/UnknownMap_25_29/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/UnknownMap_25_29/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_25_29/header.inc b/data/maps/UnknownMap_25_29/header.inc
new file mode 100644
index 000000000..5d41f19b4
--- /dev/null
+++ b/data/maps/UnknownMap_25_29/header.inc
@@ -0,0 +1,15 @@
+UnknownMap_25_29: @ 8484DBC
+ .4byte UnknownMap_25_29_MapAttributes
+ .4byte UnknownMap_25_29_MapEvents
+ .4byte UnknownMap_25_29_MapScripts
+ .4byte 0x0
+ .2byte BGM_NIBI
+ .2byte 226
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/UnknownMap_25_29/map.bin b/data/maps/UnknownMap_25_29/map.bin
new file mode 100644
index 000000000..5fc1e81ec
--- /dev/null
+++ b/data/maps/UnknownMap_25_29/map.bin
@@ -0,0 +1 @@
+  \ No newline at end of file
diff --git a/data/maps/UnknownMap_25_30/border.bin b/data/maps/UnknownMap_25_30/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/UnknownMap_25_30/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_25_30/header.inc b/data/maps/UnknownMap_25_30/header.inc
new file mode 100644
index 000000000..eeda527bb
--- /dev/null
+++ b/data/maps/UnknownMap_25_30/header.inc
@@ -0,0 +1,15 @@
+UnknownMap_25_30: @ 8484DD8
+ .4byte UnknownMap_25_30_MapAttributes
+ .4byte UnknownMap_25_30_MapEvents
+ .4byte UnknownMap_25_30_MapScripts
+ .4byte 0x0
+ .2byte BGM_NIBI
+ .2byte 227
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/UnknownMap_25_30/map.bin b/data/maps/UnknownMap_25_30/map.bin
new file mode 100644
index 000000000..5fc1e81ec
--- /dev/null
+++ b/data/maps/UnknownMap_25_30/map.bin
@@ -0,0 +1 @@
+  \ No newline at end of file
diff --git a/data/maps/UnknownMap_25_31/border.bin b/data/maps/UnknownMap_25_31/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/UnknownMap_25_31/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_25_31/header.inc b/data/maps/UnknownMap_25_31/header.inc
new file mode 100644
index 000000000..8a81bc212
--- /dev/null
+++ b/data/maps/UnknownMap_25_31/header.inc
@@ -0,0 +1,15 @@
+UnknownMap_25_31: @ 8484DF4
+ .4byte UnknownMap_25_31_MapAttributes
+ .4byte UnknownMap_25_31_MapEvents
+ .4byte UnknownMap_25_31_MapScripts
+ .4byte 0x0
+ .2byte BGM_NIBI
+ .2byte 228
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/UnknownMap_25_31/map.bin b/data/maps/UnknownMap_25_31/map.bin
new file mode 100644
index 000000000..5fc1e81ec
--- /dev/null
+++ b/data/maps/UnknownMap_25_31/map.bin
@@ -0,0 +1 @@
+  \ No newline at end of file
diff --git a/data/maps/UnknownMap_25_32/border.bin b/data/maps/UnknownMap_25_32/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/UnknownMap_25_32/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_25_32/header.inc b/data/maps/UnknownMap_25_32/header.inc
new file mode 100644
index 000000000..1feace438
--- /dev/null
+++ b/data/maps/UnknownMap_25_32/header.inc
@@ -0,0 +1,15 @@
+UnknownMap_25_32: @ 8484E10
+ .4byte UnknownMap_25_32_MapAttributes
+ .4byte UnknownMap_25_32_MapEvents
+ .4byte UnknownMap_25_32_MapScripts
+ .4byte 0x0
+ .2byte BGM_NIBI
+ .2byte 229
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/UnknownMap_25_32/map.bin b/data/maps/UnknownMap_25_32/map.bin
new file mode 100644
index 000000000..5fc1e81ec
--- /dev/null
+++ b/data/maps/UnknownMap_25_32/map.bin
@@ -0,0 +1 @@
+  \ No newline at end of file
diff --git a/data/maps/UnknownMap_25_33/border.bin b/data/maps/UnknownMap_25_33/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/UnknownMap_25_33/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_25_33/header.inc b/data/maps/UnknownMap_25_33/header.inc
new file mode 100644
index 000000000..8e8ee5f5a
--- /dev/null
+++ b/data/maps/UnknownMap_25_33/header.inc
@@ -0,0 +1,15 @@
+UnknownMap_25_33: @ 8484E2C
+ .4byte UnknownMap_25_33_MapAttributes
+ .4byte UnknownMap_25_33_MapEvents
+ .4byte UnknownMap_25_33_MapScripts
+ .4byte 0x0
+ .2byte BGM_NIBI
+ .2byte 230
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/UnknownMap_25_33/map.bin b/data/maps/UnknownMap_25_33/map.bin
new file mode 100644
index 000000000..5fc1e81ec
--- /dev/null
+++ b/data/maps/UnknownMap_25_33/map.bin
@@ -0,0 +1 @@
+  \ No newline at end of file
diff --git a/data/maps/UnknownMap_25_34/border.bin b/data/maps/UnknownMap_25_34/border.bin
new file mode 100644
index 000000000..19d906679
--- /dev/null
+++ b/data/maps/UnknownMap_25_34/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/UnknownMap_25_34/header.inc b/data/maps/UnknownMap_25_34/header.inc
new file mode 100644
index 000000000..c259c8ce4
--- /dev/null
+++ b/data/maps/UnknownMap_25_34/header.inc
@@ -0,0 +1,15 @@
+UnknownMap_25_34: @ 8484E48
+ .4byte UnknownMap_25_34_MapAttributes
+ .4byte UnknownMap_25_34_MapEvents
+ .4byte UnknownMap_25_34_MapScripts
+ .4byte 0x0
+ .2byte BGM_NIBI
+ .2byte 231
+ .byte 87
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/UnknownMap_25_34/map.bin b/data/maps/UnknownMap_25_34/map.bin
new file mode 100644
index 000000000..5fc1e81ec
--- /dev/null
+++ b/data/maps/UnknownMap_25_34/map.bin
@@ -0,0 +1 @@
+  \ No newline at end of file
diff --git a/data/maps/VerdanturfTown/border.bin b/data/maps/VerdanturfTown/border.bin
new file mode 100644
index 000000000..864ac15fa
--- /dev/null
+++ b/data/maps/VerdanturfTown/border.bin
Binary files differ
diff --git a/data/maps/VerdanturfTown/connections.inc b/data/maps/VerdanturfTown/connections.inc
new file mode 100644
index 000000000..0e2abd0af
--- /dev/null
+++ b/data/maps/VerdanturfTown/connections.inc
@@ -0,0 +1,8 @@
+VerdanturfTown_MapConnectionsList: @ 8486694
+ connection up, -80, ROUTE_116, 0
+ connection right, 0, ROUTE_117, 0
+
+VerdanturfTown_MapConnections: @ 84866AC
+ .4byte 0x2
+ .4byte VerdanturfTown_MapConnectionsList
+
diff --git a/data/maps/VerdanturfTown/header.inc b/data/maps/VerdanturfTown/header.inc
new file mode 100644
index 000000000..e722ba29a
--- /dev/null
+++ b/data/maps/VerdanturfTown/header.inc
@@ -0,0 +1,15 @@
+VerdanturfTown: @ 8482640
+ .4byte VerdanturfTown_MapAttributes
+ .4byte VerdanturfTown_MapEvents
+ .4byte VerdanturfTown_MapScripts
+ .4byte VerdanturfTown_MapConnections
+ .2byte BGM_GOMACHI0
+ .2byte 15
+ .byte 5
+ .byte 0
+ .byte 2
+ .byte 1
+ .2byte 0
+ .byte 13
+ .byte 0
+
diff --git a/data/maps/VerdanturfTown/map.bin b/data/maps/VerdanturfTown/map.bin
new file mode 100644
index 000000000..8ed6ea56b
--- /dev/null
+++ b/data/maps/VerdanturfTown/map.bin
Binary files differ
diff --git a/data/maps/VerdanturfTown_BattleTentBattleRoom/border.bin b/data/maps/VerdanturfTown_BattleTentBattleRoom/border.bin
new file mode 100644
index 000000000..9afd13cdc
--- /dev/null
+++ b/data/maps/VerdanturfTown_BattleTentBattleRoom/border.bin
Binary files differ
diff --git a/data/maps/VerdanturfTown_BattleTentBattleRoom/header.inc b/data/maps/VerdanturfTown_BattleTentBattleRoom/header.inc
new file mode 100644
index 000000000..77d136446
--- /dev/null
+++ b/data/maps/VerdanturfTown_BattleTentBattleRoom/header.inc
@@ -0,0 +1,15 @@
+VerdanturfTown_BattleTentBattleRoom: @ 8482E90
+ .4byte VerdanturfTown_BattleTentBattleRoom_MapAttributes
+ .4byte VerdanturfTown_BattleTentBattleRoom_MapEvents
+ .4byte VerdanturfTown_BattleTentBattleRoom_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 387
+ .byte 5
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/VerdanturfTown_BattleTentBattleRoom/map.bin b/data/maps/VerdanturfTown_BattleTentBattleRoom/map.bin
new file mode 100644
index 000000000..c405aabfc
--- /dev/null
+++ b/data/maps/VerdanturfTown_BattleTentBattleRoom/map.bin
Binary files differ
diff --git a/data/maps/VerdanturfTown_BattleTentCorridor/header.inc b/data/maps/VerdanturfTown_BattleTentCorridor/header.inc
new file mode 100644
index 000000000..6446f1eff
--- /dev/null
+++ b/data/maps/VerdanturfTown_BattleTentCorridor/header.inc
@@ -0,0 +1,15 @@
+VerdanturfTown_BattleTentCorridor: @ 8482E74
+ .4byte VerdanturfTown_BattleTentCorridor_MapAttributes
+ .4byte VerdanturfTown_BattleTentCorridor_MapEvents
+ .4byte VerdanturfTown_BattleTentCorridor_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 385
+ .byte 5
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/VerdanturfTown_BattleTentLobby/header.inc b/data/maps/VerdanturfTown_BattleTentLobby/header.inc
new file mode 100644
index 000000000..90cdc086f
--- /dev/null
+++ b/data/maps/VerdanturfTown_BattleTentLobby/header.inc
@@ -0,0 +1,15 @@
+VerdanturfTown_BattleTentLobby: @ 8482E58
+ .4byte VerdanturfTown_BattleTentLobby_MapAttributes
+ .4byte VerdanturfTown_BattleTentLobby_MapEvents
+ .4byte VerdanturfTown_BattleTentLobby_MapScripts
+ .4byte 0x0
+ .2byte BGM_B_TOWER
+ .2byte 384
+ .byte 5
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/VerdanturfTown_FriendshipRatersHouse/header.inc b/data/maps/VerdanturfTown_FriendshipRatersHouse/header.inc
new file mode 100644
index 000000000..2879abaee
--- /dev/null
+++ b/data/maps/VerdanturfTown_FriendshipRatersHouse/header.inc
@@ -0,0 +1,15 @@
+VerdanturfTown_FriendshipRatersHouse: @ 8482F1C
+ .4byte VerdanturfTown_FriendshipRatersHouse_MapAttributes
+ .4byte VerdanturfTown_FriendshipRatersHouse_MapEvents
+ .4byte VerdanturfTown_FriendshipRatersHouse_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOMACHI0
+ .2byte 60
+ .byte 5
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/VerdanturfTown_House/header.inc b/data/maps/VerdanturfTown_House/header.inc
new file mode 100644
index 000000000..00697e511
--- /dev/null
+++ b/data/maps/VerdanturfTown_House/header.inc
@@ -0,0 +1,15 @@
+VerdanturfTown_House: @ 8482F38
+ .4byte VerdanturfTown_House_MapAttributes
+ .4byte VerdanturfTown_House_MapEvents
+ .4byte VerdanturfTown_House_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOMACHI0
+ .2byte 59
+ .byte 5
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/VerdanturfTown_Mart/header.inc b/data/maps/VerdanturfTown_Mart/header.inc
new file mode 100644
index 000000000..4180e5487
--- /dev/null
+++ b/data/maps/VerdanturfTown_Mart/header.inc
@@ -0,0 +1,15 @@
+VerdanturfTown_Mart: @ 8482EAC
+ .4byte VerdanturfTown_Mart_MapAttributes
+ .4byte VerdanturfTown_Mart_MapEvents
+ .4byte VerdanturfTown_Mart_MapScripts
+ .4byte 0x0
+ .2byte BGM_FRIENDLY
+ .2byte 63
+ .byte 5
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/VerdanturfTown_PokemonCenter_1F/header.inc b/data/maps/VerdanturfTown_PokemonCenter_1F/header.inc
new file mode 100644
index 000000000..6cb39c856
--- /dev/null
+++ b/data/maps/VerdanturfTown_PokemonCenter_1F/header.inc
@@ -0,0 +1,15 @@
+VerdanturfTown_PokemonCenter_1F: @ 8482EC8
+ .4byte VerdanturfTown_PokemonCenter_1F_MapAttributes
+ .4byte VerdanturfTown_PokemonCenter_1F_MapEvents
+ .4byte VerdanturfTown_PokemonCenter_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 61
+ .byte 5
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/VerdanturfTown_PokemonCenter_2F/header.inc b/data/maps/VerdanturfTown_PokemonCenter_2F/header.inc
new file mode 100644
index 000000000..70d6bd938
--- /dev/null
+++ b/data/maps/VerdanturfTown_PokemonCenter_2F/header.inc
@@ -0,0 +1,15 @@
+VerdanturfTown_PokemonCenter_2F: @ 8482EE4
+ .4byte VerdanturfTown_PokemonCenter_2F_MapAttributes
+ .4byte VerdanturfTown_PokemonCenter_2F_MapEvents
+ .4byte VerdanturfTown_PokemonCenter_2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_POKECEN
+ .2byte 62
+ .byte 5
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/VerdanturfTown_WandasHouse/border.bin b/data/maps/VerdanturfTown_WandasHouse/border.bin
new file mode 100644
index 000000000..f496f458e
--- /dev/null
+++ b/data/maps/VerdanturfTown_WandasHouse/border.bin
Binary files differ
diff --git a/data/maps/VerdanturfTown_WandasHouse/header.inc b/data/maps/VerdanturfTown_WandasHouse/header.inc
new file mode 100644
index 000000000..65faba437
--- /dev/null
+++ b/data/maps/VerdanturfTown_WandasHouse/header.inc
@@ -0,0 +1,15 @@
+VerdanturfTown_WandasHouse: @ 8482F00
+ .4byte VerdanturfTown_WandasHouse_MapAttributes
+ .4byte VerdanturfTown_WandasHouse_MapEvents
+ .4byte VerdanturfTown_WandasHouse_MapScripts
+ .4byte 0x0
+ .2byte BGM_GOMACHI0
+ .2byte 76
+ .byte 5
+ .byte 0
+ .byte 0
+ .byte 8
+ .2byte 0
+ .byte 0
+ .byte 0
+
diff --git a/data/maps/VerdanturfTown_WandasHouse/map.bin b/data/maps/VerdanturfTown_WandasHouse/map.bin
new file mode 100644
index 000000000..95d14d3c4
--- /dev/null
+++ b/data/maps/VerdanturfTown_WandasHouse/map.bin
Binary files differ
diff --git a/data/maps/VictoryRoad_1F/border.bin b/data/maps/VictoryRoad_1F/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/VictoryRoad_1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/VictoryRoad_1F/header.inc b/data/maps/VictoryRoad_1F/header.inc
new file mode 100644
index 000000000..a3e196501
--- /dev/null
+++ b/data/maps/VictoryRoad_1F/header.inc
@@ -0,0 +1,15 @@
+VictoryRoad_1F: @ 8484374
+ .4byte VictoryRoad_1F_MapAttributes
+ .4byte VictoryRoad_1F_MapEvents
+ .4byte VictoryRoad_1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_C_ROAD
+ .2byte 163
+ .byte 70
+ .byte 0
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/VictoryRoad_1F/map.bin b/data/maps/VictoryRoad_1F/map.bin
new file mode 100644
index 000000000..a78316ef9
--- /dev/null
+++ b/data/maps/VictoryRoad_1F/map.bin
@@ -0,0 +1,10 @@
+2222222222622222222222'222222222226222    XYZ #   
+222         #222        #F222222222222BBBBBBBBBBBB2222BBBBBBBBBBBBBB2222BBBBBBBBBBBBBB#  #
+222222     
+BBBBBBBBBBBB  B B B"22222#BBBBBBBBBBBBBBBBBBB B B B B"BBBBBBBBBBBBBBBBBBBBBBBBBB22222BB2222222BB222222222222BB222222222222222222222222222BB22222222222222222222222BB222     
+2222222222222222222222BBBBBBB B B B"22222222222222222222222BBBBBBBBBB22     
+2222   
+2222222222  B B BBBBBB B"22L6Q6M6222P6BBBBBBBBB2222222222222228#2222222222222222222228#
+222222222222222222228222222222222222222     
+2228222222222222222222  B B B"2228#   #22222222BBBBBBBB B B B"22222222222222#22BBBBBBBBBBB222222222222222 #B2222282222222222   ###B222228222222222#  B B#B#BB22222222222@QI22222222  ## #  B#BBBBBB22222'62222222822222222  B B B B B B#BBBBBBBB#   
+2262222222822     #              ##   "#     XYZ   # #      #            ## "#               #   #  ##"#                      ##                            # \ No newline at end of file
diff --git a/data/maps/VictoryRoad_B1F/border.bin b/data/maps/VictoryRoad_B1F/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/VictoryRoad_B1F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/VictoryRoad_B1F/header.inc b/data/maps/VictoryRoad_B1F/header.inc
new file mode 100644
index 000000000..827ada340
--- /dev/null
+++ b/data/maps/VictoryRoad_B1F/header.inc
@@ -0,0 +1,15 @@
+VictoryRoad_B1F: @ 8484390
+ .4byte VictoryRoad_B1F_MapAttributes
+ .4byte VictoryRoad_B1F_MapEvents
+ .4byte VictoryRoad_B1F_MapScripts
+ .4byte 0x0
+ .2byte BGM_C_ROAD
+ .2byte 285
+ .byte 70
+ .byte 1
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/VictoryRoad_B1F/map.bin b/data/maps/VictoryRoad_B1F/map.bin
new file mode 100644
index 000000000..c1ea2f657
--- /dev/null
+++ b/data/maps/VictoryRoad_B1F/map.bin
@@ -0,0 +1,25 @@
+BBBBBBBBB2222222BBBB2222222P22222222#
+222BBBB2  
+2282222222222 
+222#
+222BBBB222R2222  
+2#222#
+22 #BBBB2222222   
+2# #22#2#BBBBB#
+2  
+22  B B B BBBBB B B B B
+2fBBBf#"2222BBBBBBBBBBBB2BBBBB2222222222222BfBB#    
+2#2222222#"#  "2222222222P2222222222#"2222222  
+22228222# 
+22222 ##       ## 
+228222#  
+22  B B#B #22R222 #B B B BBBBBBBB222222622#   
+22BBBBBBBBBBB2222222222222222222BBB22222222222222 #2222BBB22#      
+2222222222#22BB #22# 
+2222# 
+2222#22BB22222#222#    #222BB22#22# 
+22222BB22#
+222#
+222222#
+2222222222222222222222222P222#
+222222222222222222222282222222222222 #2222222222R222#                 ##              ##                                          ##                                            # \ No newline at end of file
diff --git a/data/maps/VictoryRoad_B2F/border.bin b/data/maps/VictoryRoad_B2F/border.bin
new file mode 100644
index 000000000..423a0732e
--- /dev/null
+++ b/data/maps/VictoryRoad_B2F/border.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/maps/VictoryRoad_B2F/header.inc b/data/maps/VictoryRoad_B2F/header.inc
new file mode 100644
index 000000000..45576de02
--- /dev/null
+++ b/data/maps/VictoryRoad_B2F/header.inc
@@ -0,0 +1,15 @@
+VictoryRoad_B2F: @ 84843AC
+ .4byte VictoryRoad_B2F_MapAttributes
+ .4byte VictoryRoad_B2F_MapEvents
+ .4byte VictoryRoad_B2F_MapScripts
+ .4byte 0x0
+ .2byte BGM_C_ROAD
+ .2byte 286
+ .byte 70
+ .byte 1
+ .byte 0
+ .byte 4
+ .2byte 0
+ .byte 15
+ .byte 0
+
diff --git a/data/maps/VictoryRoad_B2F/map.bin b/data/maps/VictoryRoad_B2F/map.bin
new file mode 100644
index 000000000..24c4f646a
--- /dev/null
+++ b/data/maps/VictoryRoad_B2F/map.bin
@@ -0,0 +1 @@
+2{{{{{{{{{{{{{{{{{{{{{{2222{{{{{{{{{{{{{{{{{{{{{{22222222{{{{{{{{{{{{{{{{{{{{{{222222222{{{{{TUUUV{{{{{{{{{{{{22222222222W3W3W3y{W3W3W3W3W3W3W3W3y{{{222  "22222222222{22222222W3W3y{ #B22#B"222222222222{222222222222{222222222222222{22222222222{222222222222222222222Z[tuv222222222{222XY{{{{{{{{22222222222tuv{{PQ{{{{{{{22222222{{{{{{{{{{{{{{{{XY{{{{{{{{{{x  #222222UUUUV{{{{{{{{{TUUUUUUUUUUV{{  2#2222222#     "V{{{TUUUU         "D2D2D22222222#2 2 2  B B"D2D2D2     #  B B B B B BBBBBBBB222222222BBBBBBBBB B B B B#BBBBBBBBBBBBBB2222BBBBBBBBBBBBBBBBBBB222NRRRO222BBBBBBBB22222222222222222222222222222222222222222222222222222222222222222262222222222222222222222222226#             ##              #6#               ##                  ##                                          ##                                            # \ No newline at end of file
diff --git a/data/maps/_assets.inc b/data/maps/_assets.inc
new file mode 100644
index 000000000..c3c2a8d31
--- /dev/null
+++ b/data/maps/_assets.inc
@@ -0,0 +1,7606 @@
+ .align 2
+PetalburgCity_MapBorder: @ 83DFE14
+ .incbin "data/maps/PetalburgCity/border.bin"
+
+ .align 2
+PetalburgCity_MapBlockdata: @ 83DFE1C
+ .incbin "data/maps/PetalburgCity/map.bin"
+
+ .align 2
+PetalburgCity_MapAttributes: @ 83E0524
+ .4byte 0x1e
+ .4byte 0x1e
+ .4byte PetalburgCity_MapBorder
+ .4byte PetalburgCity_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Petalburg
+
+ .align 2
+SlateportCity_MapBorder: @ 83E053C
+ .incbin "data/maps/SlateportCity/border.bin"
+
+ .align 2
+SlateportCity_MapBlockdata: @ 83E0544
+ .incbin "data/maps/SlateportCity/map.bin"
+
+ .align 2
+SlateportCity_MapAttributes: @ 83E1804
+ .4byte 0x28
+ .4byte 0x3c
+ .4byte SlateportCity_MapBorder
+ .4byte SlateportCity_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Slateport
+
+ .align 2
+MauvilleCity_MapBorder: @ 83E181C
+ .incbin "data/maps/MauvilleCity/border.bin"
+
+ .align 2
+MauvilleCity_MapBlockdata: @ 83E1824
+ .incbin "data/maps/MauvilleCity/map.bin"
+
+ .align 2
+MauvilleCity_MapAttributes: @ 83E1E64
+ .4byte 0x28
+ .4byte 0x14
+ .4byte MauvilleCity_MapBorder
+ .4byte MauvilleCity_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Mauville
+
+ .align 2
+RustboroCity_MapBorder: @ 83E1E7C
+ .incbin "data/maps/RustboroCity/border.bin"
+
+ .align 2
+RustboroCity_MapBlockdata: @ 83E1E84
+ .incbin "data/maps/RustboroCity/map.bin"
+
+ .align 2
+RustboroCity_MapAttributes: @ 83E3144
+ .4byte 0x28
+ .4byte 0x3c
+ .4byte RustboroCity_MapBorder
+ .4byte RustboroCity_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Rustboro
+
+ .align 2
+FortreeCity_MapBorder: @ 83E315C
+ .incbin "data/maps/FortreeCity/border.bin"
+
+ .align 2
+FortreeCity_MapBlockdata: @ 83E3164
+ .incbin "data/maps/FortreeCity/map.bin"
+
+ .align 2
+FortreeCity_MapAttributes: @ 83E37A4
+ .4byte 0x28
+ .4byte 0x14
+ .4byte FortreeCity_MapBorder
+ .4byte FortreeCity_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Fortree
+
+ .align 2
+LilycoveCity_MapBorder: @ 83E37BC
+ .incbin "data/maps/LilycoveCity/border.bin"
+
+ .align 2
+LilycoveCity_MapBlockdata: @ 83E37C4
+ .incbin "data/maps/LilycoveCity/map.bin"
+
+ .align 2
+LilycoveCity_MapAttributes: @ 83E50C4
+ .4byte 0x50
+ .4byte 0x28
+ .4byte LilycoveCity_MapBorder
+ .4byte LilycoveCity_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lilycove
+
+ .align 2
+MossdeepCity_MapBorder: @ 83E50DC
+ .incbin "data/maps/MossdeepCity/border.bin"
+
+ .align 2
+MossdeepCity_MapBlockdata: @ 83E50E4
+ .incbin "data/maps/MossdeepCity/map.bin"
+
+ .align 2
+MossdeepCity_MapAttributes: @ 83E69E4
+ .4byte 0x50
+ .4byte 0x28
+ .4byte MossdeepCity_MapBorder
+ .4byte MossdeepCity_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Mossdeep
+
+ .align 2
+SootopolisCity_MapBorder: @ 83E69FC
+ .incbin "data/maps/SootopolisCity/border.bin"
+
+ .align 2
+SootopolisCity_MapBlockdata: @ 83E6A04
+ .incbin "data/maps/SootopolisCity/map.bin"
+
+ .align 2
+SootopolisCity_MapAttributes: @ 83E8624
+ .4byte 0x3c
+ .4byte 0x3c
+ .4byte SootopolisCity_MapBorder
+ .4byte SootopolisCity_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Sootopolis
+
+ .align 2
+EverGrandeCity_MapBorder: @ 83E863C
+ .incbin "data/maps/EverGrandeCity/border.bin"
+
+ .align 2
+EverGrandeCity_MapBlockdata: @ 83E8644
+ .incbin "data/maps/EverGrandeCity/map.bin"
+
+ .align 2
+EverGrandeCity_MapAttributes: @ 83E9F44
+ .4byte 0x28
+ .4byte 0x50
+ .4byte EverGrandeCity_MapBorder
+ .4byte EverGrandeCity_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_EverGrande
+
+ .align 2
+LittlerootTown_MapBorder: @ 83E9F5C
+ .incbin "data/maps/LittlerootTown/border.bin"
+
+ .align 2
+LittlerootTown_MapBlockdata: @ 83E9F64
+ .incbin "data/maps/LittlerootTown/map.bin"
+
+ .align 2
+LittlerootTown_MapAttributes: @ 83EA284
+ .4byte 0x14
+ .4byte 0x14
+ .4byte LittlerootTown_MapBorder
+ .4byte LittlerootTown_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Petalburg
+
+ .align 2
+OldaleTown_MapBorder: @ 83EA29C
+ .incbin "data/maps/OldaleTown/border.bin"
+
+ .align 2
+OldaleTown_MapBlockdata: @ 83EA2A4
+ .incbin "data/maps/OldaleTown/map.bin"
+
+ .align 2
+OldaleTown_MapAttributes: @ 83EA5C4
+ .4byte 0x14
+ .4byte 0x14
+ .4byte OldaleTown_MapBorder
+ .4byte OldaleTown_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Petalburg
+
+ .align 2
+DewfordTown_MapBorder: @ 83EA5DC
+ .incbin "data/maps/DewfordTown/border.bin"
+
+ .align 2
+DewfordTown_MapBlockdata: @ 83EA5E4
+ .incbin "data/maps/DewfordTown/map.bin"
+
+ .align 2
+DewfordTown_MapAttributes: @ 83EA904
+ .4byte 0x14
+ .4byte 0x14
+ .4byte DewfordTown_MapBorder
+ .4byte DewfordTown_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Dewford
+
+ .align 2
+LavaridgeTown_MapBorder: @ 83EA91C
+ .incbin "data/maps/LavaridgeTown/border.bin"
+
+ .align 2
+LavaridgeTown_MapBlockdata: @ 83EA924
+ .incbin "data/maps/LavaridgeTown/map.bin"
+
+ .align 2
+LavaridgeTown_MapAttributes: @ 83EAC44
+ .4byte 0x14
+ .4byte 0x14
+ .4byte LavaridgeTown_MapBorder
+ .4byte LavaridgeTown_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lavaridge
+
+ .align 2
+FallarborTown_MapBorder: @ 83EAC5C
+ .incbin "data/maps/FallarborTown/border.bin"
+
+ .align 2
+FallarborTown_MapBlockdata: @ 83EAC64
+ .incbin "data/maps/FallarborTown/map.bin"
+
+ .align 2
+FallarborTown_MapAttributes: @ 83EAF84
+ .4byte 0x14
+ .4byte 0x14
+ .4byte FallarborTown_MapBorder
+ .4byte FallarborTown_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Fallarbor
+
+ .align 2
+VerdanturfTown_MapBorder: @ 83EAF9C
+ .incbin "data/maps/VerdanturfTown/border.bin"
+
+ .align 2
+VerdanturfTown_MapBlockdata: @ 83EAFA4
+ .incbin "data/maps/VerdanturfTown/map.bin"
+
+ .align 2
+VerdanturfTown_MapAttributes: @ 83EB2C4
+ .4byte 0x14
+ .4byte 0x14
+ .4byte VerdanturfTown_MapBorder
+ .4byte VerdanturfTown_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Mauville
+
+ .align 2
+PacifidlogTown_MapBorder: @ 83EB2DC
+ .incbin "data/maps/PacifidlogTown/border.bin"
+
+ .align 2
+PacifidlogTown_MapBlockdata: @ 83EB2E4
+ .incbin "data/maps/PacifidlogTown/map.bin"
+
+ .align 2
+PacifidlogTown_MapAttributes: @ 83EB924
+ .4byte 0x14
+ .4byte 0x28
+ .4byte PacifidlogTown_MapBorder
+ .4byte PacifidlogTown_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Pacifidlog
+
+ .align 2
+Route101_MapBorder: @ 83EB93C
+ .incbin "data/maps/Route101/border.bin"
+
+ .align 2
+Route101_MapBlockdata: @ 83EB944
+ .incbin "data/maps/Route101/map.bin"
+
+ .align 2
+Route101_MapAttributes: @ 83EBC64
+ .4byte 0x14
+ .4byte 0x14
+ .4byte Route101_MapBorder
+ .4byte Route101_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Petalburg
+
+ .align 2
+Route102_MapBorder: @ 83EBC7C
+ .incbin "data/maps/Route102/border.bin"
+
+ .align 2
+Route102_MapBlockdata: @ 83EBC84
+ .incbin "data/maps/Route102/map.bin"
+
+ .align 2
+Route102_MapAttributes: @ 83EC454
+ .4byte 0x32
+ .4byte 0x14
+ .4byte Route102_MapBorder
+ .4byte Route102_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Petalburg
+
+ .align 2
+Route103_MapBorder: @ 83EC46C
+ .incbin "data/maps/Route103/border.bin"
+
+ .align 2
+Route103_MapBlockdata: @ 83EC474
+ .incbin "data/maps/Route103/map.bin"
+
+ .align 2
+Route103_MapAttributes: @ 83ED234
+ .4byte 0x50
+ .4byte 0x16
+ .4byte Route103_MapBorder
+ .4byte Route103_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Petalburg
+
+ .align 2
+Route104_MapBorder: @ 83ED24C
+ .incbin "data/maps/Route104/border.bin"
+
+ .align 2
+Route104_MapBlockdata: @ 83ED254
+ .incbin "data/maps/Route104/map.bin"
+
+ .align 2
+Route104_MapAttributes: @ 83EEB54
+ .4byte 0x28
+ .4byte 0x50
+ .4byte Route104_MapBorder
+ .4byte Route104_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Rustboro
+
+ .align 2
+Route105_MapBorder: @ 83EEB6C
+ .incbin "data/maps/Route105/border.bin"
+
+ .align 2
+Route105_MapBlockdata: @ 83EEB74
+ .incbin "data/maps/Route105/map.bin"
+
+ .align 2
+Route105_MapAttributes: @ 83F0474
+ .4byte 0x28
+ .4byte 0x50
+ .4byte Route105_MapBorder
+ .4byte Route105_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Dewford
+
+ .align 2
+Route106_MapBorder: @ 83F048C
+ .incbin "data/maps/Route106/border.bin"
+
+ .align 2
+Route106_MapBlockdata: @ 83F0494
+ .incbin "data/maps/Route106/map.bin"
+
+ .align 2
+Route106_MapAttributes: @ 83F1114
+ .4byte 0x50
+ .4byte 0x14
+ .4byte Route106_MapBorder
+ .4byte Route106_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Dewford
+
+ .align 2
+Route107_MapBorder: @ 83F112C
+ .incbin "data/maps/Route107/border.bin"
+
+ .align 2
+Route107_MapBlockdata: @ 83F1134
+ .incbin "data/maps/Route107/map.bin"
+
+ .align 2
+Route107_MapAttributes: @ 83F1A94
+ .4byte 0x3c
+ .4byte 0x14
+ .4byte Route107_MapBorder
+ .4byte Route107_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Dewford
+
+ .align 2
+Route108_MapBorder: @ 83F1AAC
+ .incbin "data/maps/Route108/border.bin"
+
+ .align 2
+Route108_MapBlockdata: @ 83F1AB4
+ .incbin "data/maps/Route108/map.bin"
+
+ .align 2
+Route108_MapAttributes: @ 83F2414
+ .4byte 0x3c
+ .4byte 0x14
+ .4byte Route108_MapBorder
+ .4byte Route108_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Slateport
+
+ .align 2
+Route109_MapBorder: @ 83F242C
+ .incbin "data/maps/Route109/border.bin"
+
+ .align 2
+Route109_MapBlockdata: @ 83F2434
+ .incbin "data/maps/Route109/map.bin"
+
+ .align 2
+Route109_MapAttributes: @ 83F37E4
+ .4byte 0x28
+ .4byte 0x3f
+ .4byte Route109_MapBorder
+ .4byte Route109_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Slateport
+
+ .align 2
+Route110_MapBorder: @ 83F37FC
+ .incbin "data/maps/Route110/border.bin"
+
+ .align 2
+Route110_MapBlockdata: @ 83F3804
+ .incbin "data/maps/Route110/map.bin"
+
+ .align 2
+Route110_MapAttributes: @ 83F5744
+ .4byte 0x28
+ .4byte 0x64
+ .4byte Route110_MapBorder
+ .4byte Route110_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Mauville
+
+ .align 2
+Route111_MapBorder: @ 83F575C
+ .incbin "data/maps/Route111/border.bin"
+
+ .align 2
+Route111_MapBlockdata: @ 83F5764
+ .incbin "data/maps/Route111/map.bin"
+
+ .align 2
+Route111_MapAttributes: @ 83F8324
+ .4byte 0x28
+ .4byte 0x8c
+ .4byte Route111_MapBorder
+ .4byte Route111_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Mauville
+
+ .align 2
+Route112_MapBorder: @ 83F833C
+ .incbin "data/maps/Route112/border.bin"
+
+ .align 2
+Route112_MapBlockdata: @ 83F8344
+ .incbin "data/maps/Route112/map.bin"
+
+ .align 2
+Route112_MapAttributes: @ 83F9604
+ .4byte 0x28
+ .4byte 0x3c
+ .4byte Route112_MapBorder
+ .4byte Route112_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lavaridge
+
+ .align 2
+Route113_MapBorder: @ 83F961C
+ .incbin "data/maps/Route113/border.bin"
+
+ .align 2
+Route113_MapBlockdata: @ 83F9624
+ .incbin "data/maps/Route113/map.bin"
+
+ .align 2
+Route113_MapAttributes: @ 83FA5C4
+ .4byte 0x64
+ .4byte 0x14
+ .4byte Route113_MapBorder
+ .4byte Route113_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Fallarbor
+
+ .align 2
+Route114_MapBorder: @ 83FA5DC
+ .incbin "data/maps/Route114/border.bin"
+
+ .align 2
+Route114_MapBlockdata: @ 83FA5E4
+ .incbin "data/maps/Route114/map.bin"
+
+ .align 2
+Route114_MapAttributes: @ 83FBEE4
+ .4byte 0x28
+ .4byte 0x50
+ .4byte Route114_MapBorder
+ .4byte Route114_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Fallarbor
+
+ .align 2
+Route115_MapBorder: @ 83FBEFC
+ .incbin "data/maps/Route115/border.bin"
+
+ .align 2
+Route115_MapBlockdata: @ 83FBF04
+ .incbin "data/maps/Route115/map.bin"
+
+ .align 2
+Route115_MapAttributes: @ 83FD804
+ .4byte 0x28
+ .4byte 0x50
+ .4byte Route115_MapBorder
+ .4byte Route115_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Fallarbor
+
+ .align 2
+Route116_MapBorder: @ 83FD81C
+ .incbin "data/maps/Route116/border.bin"
+
+ .align 2
+Route116_MapBlockdata: @ 83FD824
+ .incbin "data/maps/Route116/map.bin"
+
+ .align 2
+Route116_MapAttributes: @ 83FE7C4
+ .4byte 0x64
+ .4byte 0x14
+ .4byte Route116_MapBorder
+ .4byte Route116_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Rustboro
+
+ .align 2
+Route117_MapBorder: @ 83FE7DC
+ .incbin "data/maps/Route117/border.bin"
+
+ .align 2
+Route117_MapBlockdata: @ 83FE7E4
+ .incbin "data/maps/Route117/map.bin"
+
+ .align 2
+Route117_MapAttributes: @ 83FF144
+ .4byte 0x3c
+ .4byte 0x14
+ .4byte Route117_MapBorder
+ .4byte Route117_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Mauville
+
+ .align 2
+Route118_MapBorder: @ 83FF15C
+ .incbin "data/maps/Route118/border.bin"
+
+ .align 2
+Route118_MapBlockdata: @ 83FF164
+ .incbin "data/maps/Route118/map.bin"
+
+ .align 2
+Route118_MapAttributes: @ 83FFDE4
+ .4byte 0x50
+ .4byte 0x14
+ .4byte Route118_MapBorder
+ .4byte Route118_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Mauville
+
+ .align 2
+Route119_MapBorder: @ 83FFDFC
+ .incbin "data/maps/Route119/border.bin"
+
+ .align 2
+Route119_MapBlockdata: @ 83FFE04
+ .incbin "data/maps/Route119/map.bin"
+
+ .align 2
+Route119_MapAttributes: @ 84029C4
+ .4byte 0x28
+ .4byte 0x8c
+ .4byte Route119_MapBorder
+ .4byte Route119_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Fortree
+
+ .align 2
+Route120_MapBorder: @ 84029DC
+ .incbin "data/maps/Route120/border.bin"
+
+ .align 2
+Route120_MapBlockdata: @ 84029E4
+ .incbin "data/maps/Route120/map.bin"
+
+ .align 2
+Route120_MapAttributes: @ 8404924
+ .4byte 0x28
+ .4byte 0x64
+ .4byte Route120_MapBorder
+ .4byte Route120_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Fortree
+
+ .align 2
+Route121_MapBorder: @ 840493C
+ .incbin "data/maps/Route121/border.bin"
+
+ .align 2
+Route121_MapBlockdata: @ 8404944
+ .incbin "data/maps/Route121/map.bin"
+
+ .align 2
+Route121_MapAttributes: @ 84055C4
+ .4byte 0x50
+ .4byte 0x14
+ .4byte Route121_MapBorder
+ .4byte Route121_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lilycove
+
+ .align 2
+Route122_MapBorder: @ 84055DC
+ .incbin "data/maps/Route122/border.bin"
+
+ .align 2
+Route122_MapBlockdata: @ 84055E4
+ .incbin "data/maps/Route122/map.bin"
+
+ .align 2
+Route122_MapAttributes: @ 8406264
+ .4byte 0x28
+ .4byte 0x28
+ .4byte Route122_MapBorder
+ .4byte Route122_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lilycove
+
+ .align 2
+Route123_MapBorder: @ 840627C
+ .incbin "data/maps/Route123/border.bin"
+
+ .align 2
+Route123_MapBlockdata: @ 8406284
+ .incbin "data/maps/Route123/map.bin"
+
+ .align 2
+Route123_MapAttributes: @ 8407864
+ .4byte 0x8c
+ .4byte 0x14
+ .4byte Route123_MapBorder
+ .4byte Route123_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lilycove
+
+ .align 2
+Route124_MapBorder: @ 840787C
+ .incbin "data/maps/Route124/border.bin"
+
+ .align 2
+Route124_MapBlockdata: @ 8407884
+ .incbin "data/maps/Route124/map.bin"
+
+ .align 2
+Route124_MapAttributes: @ 840AA84
+ .4byte 0x50
+ .4byte 0x50
+ .4byte Route124_MapBorder
+ .4byte Route124_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Mossdeep
+
+ .align 2
+Route125_MapBorder: @ 840AA9C
+ .incbin "data/maps/Route125/border.bin"
+
+ .align 2
+Route125_MapBlockdata: @ 840AAA4
+ .incbin "data/maps/Route125/map.bin"
+
+ .align 2
+Route125_MapAttributes: @ 840C3A4
+ .4byte 0x50
+ .4byte 0x28
+ .4byte Route125_MapBorder
+ .4byte Route125_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Mossdeep
+
+ .align 2
+Route126_MapBorder: @ 840C3BC
+ .incbin "data/maps/Route126/border.bin"
+
+ .align 2
+Route126_MapBlockdata: @ 840C3C4
+ .incbin "data/maps/Route126/map.bin"
+
+ .align 2
+Route126_MapAttributes: @ 840F5C4
+ .4byte 0x50
+ .4byte 0x50
+ .4byte Route126_MapBorder
+ .4byte Route126_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Mossdeep
+
+ .align 2
+Route127_MapBorder: @ 840F5DC
+ .incbin "data/maps/Route127/border.bin"
+
+ .align 2
+Route127_MapBlockdata: @ 840F5E4
+ .incbin "data/maps/Route127/map.bin"
+
+ .align 2
+Route127_MapAttributes: @ 84127E4
+ .4byte 0x50
+ .4byte 0x50
+ .4byte Route127_MapBorder
+ .4byte Route127_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Mossdeep
+
+ .align 2
+Route128_MapBorder: @ 84127FC
+ .incbin "data/maps/Route128/border.bin"
+
+ .align 2
+Route128_MapBlockdata: @ 8412804
+ .incbin "data/maps/Route128/map.bin"
+
+ .align 2
+Route128_MapAttributes: @ 8414D84
+ .4byte 0x78
+ .4byte 0x28
+ .4byte Route128_MapBorder
+ .4byte Route128_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Mossdeep
+
+ .align 2
+Route129_MapBorder: @ 8414D9C
+ .incbin "data/maps/Route129/border.bin"
+
+ .align 2
+Route129_MapBlockdata: @ 8414DA4
+ .incbin "data/maps/Route129/map.bin"
+
+ .align 2
+Route129_MapAttributes: @ 84166A4
+ .4byte 0x50
+ .4byte 0x28
+ .4byte Route129_MapBorder
+ .4byte Route129_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Mossdeep
+
+ .align 2
+UnknownMapBorder_08417FC4: @ 84166BC
+ .incbin "data/maps/UnknownMap_08417FC4/border.bin"
+
+ .align 2
+UnknownMapBlockdata_08417FC4: @ 84166C4
+ .incbin "data/maps/UnknownMap_08417FC4/map.bin"
+
+ .align 2
+UnknownMapAttributes_08417FC4: @ 8417FC4
+ .4byte 0x50
+ .4byte 0x28
+ .4byte UnknownMapBorder_08417FC4
+ .4byte UnknownMapBlockdata_08417FC4
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+Route131_MapBorder: @ 8417FDC
+ .incbin "data/maps/Route131/border.bin"
+
+ .align 2
+Route131_MapBlockdata: @ 8417FE4
+ .incbin "data/maps/Route131/map.bin"
+
+ .align 2
+Route131_MapAttributes: @ 84192A4
+ .4byte 0x3c
+ .4byte 0x28
+ .4byte Route131_MapBorder
+ .4byte Route131_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Pacifidlog
+
+ .align 2
+Route132_MapBorder: @ 84192BC
+ .incbin "data/maps/Route132/border.bin"
+
+ .align 2
+Route132_MapBlockdata: @ 84192C4
+ .incbin "data/maps/Route132/map.bin"
+
+ .align 2
+Route132_MapAttributes: @ 841ABC4
+ .4byte 0x50
+ .4byte 0x28
+ .4byte Route132_MapBorder
+ .4byte Route132_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Pacifidlog
+
+ .align 2
+Route133_MapBorder: @ 841ABDC
+ .incbin "data/maps/Route133/border.bin"
+
+ .align 2
+Route133_MapBlockdata: @ 841ABE4
+ .incbin "data/maps/Route133/map.bin"
+
+ .align 2
+Route133_MapAttributes: @ 841C4E4
+ .4byte 0x50
+ .4byte 0x28
+ .4byte Route133_MapBorder
+ .4byte Route133_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Pacifidlog
+
+ .align 2
+Route134_MapBorder: @ 841C4FC
+ .incbin "data/maps/Route134/border.bin"
+
+ .align 2
+Route134_MapBlockdata: @ 841C504
+ .incbin "data/maps/Route134/map.bin"
+
+ .align 2
+Route134_MapAttributes: @ 841DE04
+ .4byte 0x50
+ .4byte 0x28
+ .4byte Route134_MapBorder
+ .4byte Route134_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Pacifidlog
+
+ .align 2
+Underwater2_MapBorder: @ 841DE1C
+ .incbin "data/maps/Underwater2/border.bin"
+
+ .align 2
+Underwater2_MapBlockdata: @ 841DE24
+ .incbin "data/maps/Underwater2/map.bin"
+
+ .align 2
+Underwater2_MapAttributes: @ 8421024
+ .4byte 0x50
+ .4byte 0x50
+ .4byte Underwater2_MapBorder
+ .4byte Underwater2_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Underwater
+
+ .align 2
+Underwater3_MapBorder: @ 842103C
+ .incbin "data/maps/Underwater3/border.bin"
+
+ .align 2
+Underwater3_MapBlockdata: @ 8421044
+ .incbin "data/maps/Underwater3/map.bin"
+
+ .align 2
+Underwater3_MapAttributes: @ 8424244
+ .4byte 0x50
+ .4byte 0x50
+ .4byte Underwater3_MapBorder
+ .4byte Underwater3_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Underwater
+
+ .align 2
+Underwater4_MapBorder: @ 842425C
+ .incbin "data/maps/Underwater4/border.bin"
+
+ .align 2
+Underwater4_MapBlockdata: @ 8424264
+ .incbin "data/maps/Underwater4/map.bin"
+
+ .align 2
+Underwater4_MapAttributes: @ 84267E4
+ .4byte 0x78
+ .4byte 0x28
+ .4byte Underwater4_MapBorder
+ .4byte Underwater4_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Underwater
+
+ .align 2
+LittlerootTown_BrendansHouse_1F_MapBorder: @ 84267FC
+ .incbin "data/maps/LittlerootTown_BrendansHouse_1F/border.bin"
+
+ .align 2
+LittlerootTown_BrendansHouse_1F_MapBlockdata: @ 8426804
+ .incbin "data/maps/LittlerootTown_BrendansHouse_1F/map.bin"
+
+ .align 2
+LittlerootTown_BrendansHouse_1F_MapAttributes: @ 84268CC
+ .4byte 0xb
+ .4byte 0x9
+ .4byte LittlerootTown_BrendansHouse_1F_MapBorder
+ .4byte LittlerootTown_BrendansHouse_1F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BrendansMaysHouse
+
+ .align 2
+LittlerootTown_BrendansHouse_2F_MapBorder: @ 84268E4
+ .incbin "data/maps/LittlerootTown_BrendansHouse_2F/border.bin"
+
+ .align 2
+LittlerootTown_BrendansHouse_2F_MapBlockdata: @ 84268EC
+ .incbin "data/maps/LittlerootTown_BrendansHouse_2F/map.bin"
+
+ .align 2
+LittlerootTown_BrendansHouse_2F_MapAttributes: @ 842697C
+ .4byte 0x9
+ .4byte 0x8
+ .4byte LittlerootTown_BrendansHouse_2F_MapBorder
+ .4byte LittlerootTown_BrendansHouse_2F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BrendansMaysHouse
+
+ .align 2
+LittlerootTown_MaysHouse_1F_MapBorder: @ 8426994
+ .incbin "data/maps/LittlerootTown_MaysHouse_1F/border.bin"
+
+ .align 2
+LittlerootTown_MaysHouse_1F_MapBlockdata: @ 842699C
+ .incbin "data/maps/LittlerootTown_MaysHouse_1F/map.bin"
+
+ .align 2
+LittlerootTown_MaysHouse_1F_MapAttributes: @ 8426A64
+ .4byte 0xb
+ .4byte 0x9
+ .4byte LittlerootTown_MaysHouse_1F_MapBorder
+ .4byte LittlerootTown_MaysHouse_1F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BrendansMaysHouse
+
+ .align 2
+LittlerootTown_MaysHouse_2F_MapBorder: @ 8426A7C
+ .incbin "data/maps/LittlerootTown_MaysHouse_2F/border.bin"
+
+ .align 2
+LittlerootTown_MaysHouse_2F_MapBlockdata: @ 8426A84
+ .incbin "data/maps/LittlerootTown_MaysHouse_2F/map.bin"
+
+ .align 2
+LittlerootTown_MaysHouse_2F_MapAttributes: @ 8426B14
+ .4byte 0x9
+ .4byte 0x8
+ .4byte LittlerootTown_MaysHouse_2F_MapBorder
+ .4byte LittlerootTown_MaysHouse_2F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BrendansMaysHouse
+
+ .align 2
+LittlerootTown_ProfessorBirchsLab_MapBorder: @ 8426B2C
+ .incbin "data/maps/LittlerootTown_ProfessorBirchsLab/border.bin"
+
+ .align 2
+LittlerootTown_ProfessorBirchsLab_MapBlockdata: @ 8426B34
+ .incbin "data/maps/LittlerootTown_ProfessorBirchsLab/map.bin"
+
+ .align 2
+LittlerootTown_ProfessorBirchsLab_MapAttributes: @ 8426C88
+ .4byte 0xd
+ .4byte 0xd
+ .4byte LittlerootTown_ProfessorBirchsLab_MapBorder
+ .4byte LittlerootTown_ProfessorBirchsLab_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Lab
+
+ .align 2
+OldaleTown_House1_MapBorder: @ 8426CA0
+ .incbin "data/maps/OldaleTown_House1/border.bin"
+
+ .align 2
+OldaleTown_House1_MapBlockdata: @ 8426CA8
+ .incbin "data/maps/OldaleTown_House1/map.bin"
+
+ .align 2
+FallarborTown_House1_MapAttributes: @ 8426D5C
+LilycoveCity_House1_MapAttributes: @ 8426D5C
+LilycoveCity_House4_MapAttributes: @ 8426D5C
+MauvilleCity_House2_MapAttributes: @ 8426D5C
+MossdeepCity_House2_MapAttributes: @ 8426D5C
+OldaleTown_House1_MapAttributes: @ 8426D5C
+PetalburgCity_House1_MapAttributes: @ 8426D5C
+Route119_House_MapAttributes: @ 8426D5C
+VerdanturfTown_House_MapAttributes: @ 8426D5C
+ .4byte 0xa
+ .4byte 0x9
+ .4byte OldaleTown_House1_MapBorder
+ .4byte OldaleTown_House1_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+OldaleTown_House2_MapBorder: @ 8426D74
+ .incbin "data/maps/OldaleTown_House2/border.bin"
+
+ .align 2
+OldaleTown_House2_MapBlockdata: @ 8426D7C
+ .incbin "data/maps/OldaleTown_House2/map.bin"
+
+ .align 2
+FallarborTown_House2_MapAttributes: @ 8426E2C
+LilycoveCity_House3_MapAttributes: @ 8426E2C
+LilycoveCity_MoveDeletersHouse_MapAttributes: @ 8426E2C
+MauvilleCity_House1_MapAttributes: @ 8426E2C
+MossdeepCity_House1_MapAttributes: @ 8426E2C
+MossdeepCity_House3_MapAttributes: @ 8426E2C
+OldaleTown_House2_MapAttributes: @ 8426E2C
+PetalburgCity_WallysHouse_MapAttributes: @ 8426E2C
+Route111_WinstrateFamilysHouse_MapAttributes: @ 8426E2C
+Route123_BerryMastersHouse_MapAttributes: @ 8426E2C
+SlateportCity_House2_MapAttributes: @ 8426E2C
+VerdanturfTown_FriendshipRatersHouse_MapAttributes: @ 8426E2C
+ .4byte 0xb
+ .4byte 0x8
+ .4byte OldaleTown_House2_MapBorder
+ .4byte OldaleTown_House2_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+OldaleTown_PokemonCenter_1F_MapBorder: @ 8426E44
+ .incbin "data/maps/OldaleTown_PokemonCenter_1F/border.bin"
+
+ .align 2
+OldaleTown_PokemonCenter_1F_MapBlockdata: @ 8426E4C
+ .incbin "data/maps/OldaleTown_PokemonCenter_1F/map.bin"
+
+ .align 2
+BattleFrontier_PokemonCenter_1F_MapAttributes: @ 8426F48
+DewfordTown_PokemonCenter_1F_MapAttributes: @ 8426F48
+EverGrandeCity_PokemonCenter_1F_MapAttributes: @ 8426F48
+FallarborTown_PokemonCenter_1F_MapAttributes: @ 8426F48
+FortreeCity_PokemonCenter_1F_MapAttributes: @ 8426F48
+LilycoveCity_PokemonCenter_1F_MapAttributes: @ 8426F48
+MauvilleCity_PokemonCenter_1F_MapAttributes: @ 8426F48
+MossdeepCity_PokemonCenter_1F_MapAttributes: @ 8426F48
+OldaleTown_PokemonCenter_1F_MapAttributes: @ 8426F48
+PacifidlogTown_PokemonCenter_1F_MapAttributes: @ 8426F48
+PetalburgCity_PokemonCenter_1F_MapAttributes: @ 8426F48
+RustboroCity_PokemonCenter_1F_MapAttributes: @ 8426F48
+SlateportCity_PokemonCenter_1F_MapAttributes: @ 8426F48
+SootopolisCity_PokemonCenter_1F_MapAttributes: @ 8426F48
+VerdanturfTown_PokemonCenter_1F_MapAttributes: @ 8426F48
+ .4byte 0xe
+ .4byte 0x9
+ .4byte OldaleTown_PokemonCenter_1F_MapBorder
+ .4byte OldaleTown_PokemonCenter_1F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_PokemonCenter
+
+ .align 2
+OldaleTown_PokemonCenter_2F_MapBorder: @ 8426F60
+ .incbin "data/maps/OldaleTown_PokemonCenter_2F/border.bin"
+
+ .align 2
+OldaleTown_PokemonCenter_2F_MapBlockdata: @ 8426F68
+ .incbin "data/maps/OldaleTown_PokemonCenter_2F/map.bin"
+
+ .align 2
+BattleFrontier_PokemonCenter_2F_MapAttributes: @ 8427080
+DewfordTown_PokemonCenter_2F_MapAttributes: @ 8427080
+EverGrandeCity_PokemonCenter_2F_MapAttributes: @ 8427080
+EverGrandeCity_PokemonLeague_2F_MapAttributes: @ 8427080
+FallarborTown_PokemonCenter_2F_MapAttributes: @ 8427080
+FortreeCity_PokemonCenter_2F_MapAttributes: @ 8427080
+LavaridgeTown_PokemonCenter_2F_MapAttributes: @ 8427080
+LilycoveCity_PokemonCenter_2F_MapAttributes: @ 8427080
+MauvilleCity_PokemonCenter_2F_MapAttributes: @ 8427080
+MossdeepCity_PokemonCenter_2F_MapAttributes: @ 8427080
+OldaleTown_PokemonCenter_2F_MapAttributes: @ 8427080
+PacifidlogTown_PokemonCenter_2F_MapAttributes: @ 8427080
+PetalburgCity_PokemonCenter_2F_MapAttributes: @ 8427080
+RustboroCity_PokemonCenter_2F_MapAttributes: @ 8427080
+SlateportCity_PokemonCenter_2F_MapAttributes: @ 8427080
+SootopolisCity_PokemonCenter_2F_MapAttributes: @ 8427080
+VerdanturfTown_PokemonCenter_2F_MapAttributes: @ 8427080
+ .4byte 0xe
+ .4byte 0xa
+ .4byte OldaleTown_PokemonCenter_2F_MapBorder
+ .4byte OldaleTown_PokemonCenter_2F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_PokemonCenter
+
+ .align 2
+OldaleTown_Mart_MapBorder: @ 8427098
+ .incbin "data/maps/OldaleTown_Mart/border.bin"
+
+ .align 2
+OldaleTown_Mart_MapBlockdata: @ 84270A0
+ .incbin "data/maps/OldaleTown_Mart/map.bin"
+
+ .align 2
+BattleFrontier_Mart_MapAttributes: @ 8427150
+FallarborTown_Mart_MapAttributes: @ 8427150
+FortreeCity_Mart_MapAttributes: @ 8427150
+LavaridgeTown_Mart_MapAttributes: @ 8427150
+LilycoveCity_UnusedMart_MapAttributes: @ 8427150
+MauvilleCity_Mart_MapAttributes: @ 8427150
+MossdeepCity_Mart_MapAttributes: @ 8427150
+OldaleTown_Mart_MapAttributes: @ 8427150
+PetalburgCity_Mart_MapAttributes: @ 8427150
+RustboroCity_Mart_MapAttributes: @ 8427150
+SlateportCity_Mart_MapAttributes: @ 8427150
+SootopolisCity_Mart_MapAttributes: @ 8427150
+VerdanturfTown_Mart_MapAttributes: @ 8427150
+ .4byte 0xb
+ .4byte 0x8
+ .4byte OldaleTown_Mart_MapBorder
+ .4byte OldaleTown_Mart_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Shop
+
+ .align 2
+DewfordTown_House1_MapBorder: @ 8427168
+ .incbin "data/maps/DewfordTown_House1/border.bin"
+
+ .align 2
+DewfordTown_House1_MapBlockdata: @ 8427170
+ .incbin "data/maps/DewfordTown_House1/map.bin"
+
+ .align 2
+DewfordTown_House1_MapAttributes: @ 8427210
+LavaridgeTown_House_MapAttributes: @ 8427210
+Route111_OldLadysRestStop_MapAttributes: @ 8427210
+ .4byte 0xa
+ .4byte 0x8
+ .4byte DewfordTown_House1_MapBorder
+ .4byte DewfordTown_House1_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+DewfordTown_Gym_MapBorder: @ 8427228
+ .incbin "data/maps/DewfordTown_Gym/border.bin"
+
+ .align 2
+DewfordTown_Gym_MapBlockdata: @ 8427230
+ .incbin "data/maps/DewfordTown_Gym/map.bin"
+
+ .align 2
+DewfordTown_Gym_MapAttributes: @ 8427620
+ .4byte 0x12
+ .4byte 0x1c
+ .4byte DewfordTown_Gym_MapBorder
+ .4byte DewfordTown_Gym_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_DewfordGym
+
+ .align 2
+DewfordTown_Hall_MapBorder: @ 8427638
+ .incbin "data/maps/DewfordTown_Hall/border.bin"
+
+ .align 2
+DewfordTown_Hall_MapBlockdata: @ 8427640
+ .incbin "data/maps/DewfordTown_Hall/map.bin"
+
+ .align 2
+DewfordTown_Hall_MapAttributes: @ 8427774
+ .4byte 0x11
+ .4byte 0x9
+ .4byte DewfordTown_Hall_MapBorder
+ .4byte DewfordTown_Hall_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+DewfordTown_House2_MapBorder: @ 842778C
+ .incbin "data/maps/DewfordTown_House2/border.bin"
+
+ .align 2
+DewfordTown_House2_MapBlockdata: @ 8427794
+ .incbin "data/maps/DewfordTown_House2/map.bin"
+
+ .align 2
+DewfordTown_House2_MapAttributes: @ 8427848
+Route113_GlassWorkshop_MapAttributes: @ 8427848
+ .4byte 0xa
+ .4byte 0x9
+ .4byte DewfordTown_House2_MapBorder
+ .4byte DewfordTown_House2_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+LavaridgeTown_HerbShop_MapBorder: @ 8427860
+ .incbin "data/maps/LavaridgeTown_HerbShop/border.bin"
+
+ .align 2
+LavaridgeTown_HerbShop_MapBlockdata: @ 8427868
+ .incbin "data/maps/LavaridgeTown_HerbShop/map.bin"
+
+ .align 2
+LavaridgeTown_HerbShop_MapAttributes: @ 8427918
+ .4byte 0xb
+ .4byte 0x8
+ .4byte LavaridgeTown_HerbShop_MapBorder
+ .4byte LavaridgeTown_HerbShop_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Shop
+
+ .align 2
+LavaridgeTown_Gym_1F_MapBorder: @ 8427930
+ .incbin "data/maps/LavaridgeTown_Gym_1F/border.bin"
+
+ .align 2
+LavaridgeTown_Gym_1F_MapBlockdata: @ 8427938
+ .incbin "data/maps/LavaridgeTown_Gym_1F/map.bin"
+
+ .align 2
+LavaridgeTown_Gym_1F_MapAttributes: @ 8427BC0
+ .4byte 0x11
+ .4byte 0x13
+ .4byte LavaridgeTown_Gym_1F_MapBorder
+ .4byte LavaridgeTown_Gym_1F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_LavaridgeGym
+
+ .align 2
+LavaridgeTown_Gym_B1F_MapBorder: @ 8427BD8
+ .incbin "data/maps/LavaridgeTown_Gym_B1F/border.bin"
+
+ .align 2
+LavaridgeTown_Gym_B1F_MapBlockdata: @ 8427BE0
+ .incbin "data/maps/LavaridgeTown_Gym_B1F/map.bin"
+
+ .align 2
+LavaridgeTown_Gym_B1F_MapAttributes: @ 8427E68
+ .4byte 0x11
+ .4byte 0x13
+ .4byte LavaridgeTown_Gym_B1F_MapBorder
+ .4byte LavaridgeTown_Gym_B1F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_LavaridgeGym
+
+ .align 2
+LavaridgeTown_PokemonCenter_1F_MapBorder: @ 8427E80
+ .incbin "data/maps/LavaridgeTown_PokemonCenter_1F/border.bin"
+
+ .align 2
+LavaridgeTown_PokemonCenter_1F_MapBlockdata: @ 8427E88
+ .incbin "data/maps/LavaridgeTown_PokemonCenter_1F/map.bin"
+
+ .align 2
+LavaridgeTown_PokemonCenter_1F_MapAttributes: @ 8427F84
+ .4byte 0xe
+ .4byte 0x9
+ .4byte LavaridgeTown_PokemonCenter_1F_MapBorder
+ .4byte LavaridgeTown_PokemonCenter_1F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_PokemonCenter
+
+ .align 2
+FallarborTown_LeftoverRSContestLobby_MapBorder: @ 8427F9C
+ .incbin "data/maps/FallarborTown_LeftoverRSContestLobby/border.bin"
+
+ .align 2
+FallarborTown_LeftoverRSContestLobby_MapBlockdata: @ 8427FA4
+ .incbin "data/maps/FallarborTown_LeftoverRSContestLobby/map.bin"
+
+ .align 2
+FallarborTown_LeftoverRSContestLobby_MapAttributes: @ 8428078
+ .4byte 0xf
+ .4byte 0x7
+ .4byte FallarborTown_LeftoverRSContestLobby_MapBorder
+ .4byte FallarborTown_LeftoverRSContestLobby_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Contest
+
+ .align 2
+FallarborTown_LeftoverRSContestHall_MapBorder: @ 8428090
+ .incbin "data/maps/FallarborTown_LeftoverRSContestHall/border.bin"
+
+ .align 2
+FallarborTown_LeftoverRSContestHall_MapBlockdata: @ 8428098
+ .incbin "data/maps/FallarborTown_LeftoverRSContestHall/map.bin"
+
+ .align 2
+FallarborTown_LeftoverRSContestHall_MapAttributes: @ 842838C
+ .4byte 0x15
+ .4byte 0x12
+ .4byte FallarborTown_LeftoverRSContestHall_MapBorder
+ .4byte FallarborTown_LeftoverRSContestHall_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Contest
+
+ .align 2
+LilycoveCity_House2_MapBorder: @ 84283A4
+ .incbin "data/maps/LilycoveCity_House2/border.bin"
+
+ .align 2
+LilycoveCity_House2_MapBlockdata: @ 84283AC
+ .incbin "data/maps/LilycoveCity_House2/map.bin"
+
+ .align 2
+LilycoveCity_House2_MapAttributes: @ 842842C
+ .4byte 0x8
+ .4byte 0x8
+ .4byte LilycoveCity_House2_MapBorder
+ .4byte LilycoveCity_House2_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+UnknownMapBorder_08428450: @ 8428444
+ .incbin "data/maps/UnknownMap_08428450/border.bin"
+
+ .align 2
+UnknownMapBlockdata_08428450: @ 842844C
+ .incbin "data/maps/UnknownMap_08428450/map.bin"
+
+ .align 2
+UnknownMapAttributes_08428450: @ 8428450
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMapBorder_08428450
+ .4byte UnknownMapBlockdata_08428450
+ .4byte gTileset_Building
+ .4byte gTileset_Contest
+
+ .align 2
+VerdanturfTown_WandasHouse_MapBorder: @ 8428468
+ .incbin "data/maps/VerdanturfTown_WandasHouse/border.bin"
+
+ .align 2
+VerdanturfTown_WandasHouse_MapBlockdata: @ 8428470
+ .incbin "data/maps/VerdanturfTown_WandasHouse/map.bin"
+
+ .align 2
+VerdanturfTown_WandasHouse_MapAttributes: @ 8428580
+ .4byte 0x11
+ .4byte 0x8
+ .4byte VerdanturfTown_WandasHouse_MapBorder
+ .4byte VerdanturfTown_WandasHouse_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+PacifidlogTown_House1_MapBorder: @ 8428598
+ .incbin "data/maps/PacifidlogTown_House1/border.bin"
+
+ .align 2
+PacifidlogTown_House1_MapBlockdata: @ 84285A0
+ .incbin "data/maps/PacifidlogTown_House1/map.bin"
+
+ .align 2
+PacifidlogTown_House1_MapAttributes: @ 8428654
+PacifidlogTown_House3_MapAttributes: @ 8428654
+PacifidlogTown_House5_MapAttributes: @ 8428654
+ .4byte 0xa
+ .4byte 0x9
+ .4byte PacifidlogTown_House1_MapBorder
+ .4byte PacifidlogTown_House1_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+PacifidlogTown_House2_MapBorder: @ 842866C
+ .incbin "data/maps/PacifidlogTown_House2/border.bin"
+
+ .align 2
+PacifidlogTown_House2_MapBlockdata: @ 8428674
+ .incbin "data/maps/PacifidlogTown_House2/map.bin"
+
+ .align 2
+PacifidlogTown_House2_MapAttributes: @ 8428728
+PacifidlogTown_House4_MapAttributes: @ 8428728
+ .4byte 0xa
+ .4byte 0x9
+ .4byte PacifidlogTown_House2_MapBorder
+ .4byte PacifidlogTown_House2_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+PetalburgCity_Gym_MapBorder: @ 8428740
+ .incbin "data/maps/PetalburgCity_Gym/border.bin"
+
+ .align 2
+PetalburgCity_Gym_MapBlockdata: @ 8428748
+ .incbin "data/maps/PetalburgCity_Gym/map.bin"
+
+ .align 2
+PetalburgCity_Gym_MapAttributes: @ 8428F28
+ .4byte 0x9
+ .4byte 0x70
+ .4byte PetalburgCity_Gym_MapBorder
+ .4byte PetalburgCity_Gym_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_PetalburgGym
+
+ .align 2
+PetalburgCity_House2_MapBorder: @ 8428F40
+ .incbin "data/maps/PetalburgCity_House2/border.bin"
+
+ .align 2
+PetalburgCity_House2_MapBlockdata: @ 8428F48
+ .incbin "data/maps/PetalburgCity_House2/map.bin"
+
+ .align 2
+MossdeepCity_House4_MapAttributes: @ 8428FE8
+PetalburgCity_House2_MapAttributes: @ 8428FE8
+SlateportCity_House1_MapAttributes: @ 8428FE8
+ .4byte 0xa
+ .4byte 0x8
+ .4byte PetalburgCity_House2_MapBorder
+ .4byte PetalburgCity_House2_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+SlateportCity_SternsShipyard_1F_MapBorder: @ 8429000
+ .incbin "data/maps/SlateportCity_SternsShipyard_1F/border.bin"
+
+ .align 2
+SlateportCity_SternsShipyard_1F_MapBlockdata: @ 8429008
+ .incbin "data/maps/SlateportCity_SternsShipyard_1F/map.bin"
+
+ .align 2
+SlateportCity_SternsShipyard_1F_MapAttributes: @ 8429280
+ .4byte 0x15
+ .4byte 0xf
+ .4byte SlateportCity_SternsShipyard_1F_MapBorder
+ .4byte SlateportCity_SternsShipyard_1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+SlateportCity_SternsShipyard_2F_MapBorder: @ 8429298
+ .incbin "data/maps/SlateportCity_SternsShipyard_2F/border.bin"
+
+ .align 2
+SlateportCity_SternsShipyard_2F_MapBlockdata: @ 84292A0
+ .incbin "data/maps/SlateportCity_SternsShipyard_2F/map.bin"
+
+ .align 2
+SlateportCity_SternsShipyard_2F_MapAttributes: @ 84294A0
+ .4byte 0x11
+ .4byte 0xf
+ .4byte SlateportCity_SternsShipyard_2F_MapBorder
+ .4byte SlateportCity_SternsShipyard_2F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+UnknownMapBorder_084294C4: @ 84294B8
+ .incbin "data/maps/UnknownMap_084294C4/border.bin"
+
+ .align 2
+UnknownMapBlockdata_084294C4: @ 84294C0
+ .incbin "data/maps/UnknownMap_084294C4/map.bin"
+
+ .align 2
+UnknownMapAttributes_084294C4: @ 84294C4
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMapBorder_084294C4
+ .4byte UnknownMapBlockdata_084294C4
+ .4byte gTileset_Building
+ .4byte gTileset_Contest
+
+ .align 2
+UnknownMapBorder_084294E8: @ 84294DC
+ .incbin "data/maps/UnknownMap_084294E8/border.bin"
+
+ .align 2
+UnknownMapBlockdata_084294E8: @ 84294E4
+ .incbin "data/maps/UnknownMap_084294E8/map.bin"
+
+ .align 2
+UnknownMapAttributes_084294E8: @ 84294E8
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMapBorder_084294E8
+ .4byte UnknownMapBlockdata_084294E8
+ .4byte gTileset_Building
+ .4byte gTileset_Contest
+
+ .align 2
+SlateportCity_PokemonFanClub_MapBorder: @ 8429500
+ .incbin "data/maps/SlateportCity_PokemonFanClub/border.bin"
+
+ .align 2
+SlateportCity_PokemonFanClub_MapBlockdata: @ 8429508
+ .incbin "data/maps/SlateportCity_PokemonFanClub/map.bin"
+
+ .align 2
+SlateportCity_PokemonFanClub_MapAttributes: @ 842963C
+ .4byte 0xe
+ .4byte 0xb
+ .4byte SlateportCity_PokemonFanClub_MapBorder
+ .4byte SlateportCity_PokemonFanClub_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_PokemonFanClub
+
+ .align 2
+SlateportCity_OceanicMuseum_1F_MapBorder: @ 8429654
+ .incbin "data/maps/SlateportCity_OceanicMuseum_1F/border.bin"
+
+ .align 2
+SlateportCity_OceanicMuseum_1F_MapBlockdata: @ 842965C
+ .incbin "data/maps/SlateportCity_OceanicMuseum_1F/map.bin"
+
+ .align 2
+SlateportCity_OceanicMuseum_1F_MapAttributes: @ 84297C4
+ .4byte 0x14
+ .4byte 0x9
+ .4byte SlateportCity_OceanicMuseum_1F_MapBorder
+ .4byte SlateportCity_OceanicMuseum_1F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_OceanicMuseum
+
+ .align 2
+SlateportCity_OceanicMuseum_2F_MapBorder: @ 84297DC
+ .incbin "data/maps/SlateportCity_OceanicMuseum_2F/border.bin"
+
+ .align 2
+SlateportCity_OceanicMuseum_2F_MapBlockdata: @ 84297E4
+ .incbin "data/maps/SlateportCity_OceanicMuseum_2F/map.bin"
+
+ .align 2
+SlateportCity_OceanicMuseum_2F_MapAttributes: @ 842994C
+ .4byte 0x14
+ .4byte 0x9
+ .4byte SlateportCity_OceanicMuseum_2F_MapBorder
+ .4byte SlateportCity_OceanicMuseum_2F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_OceanicMuseum
+
+ .align 2
+SlateportCity_Harbor_MapBorder: @ 8429964
+ .incbin "data/maps/SlateportCity_Harbor/border.bin"
+
+ .align 2
+SlateportCity_Harbor_MapBlockdata: @ 842996C
+ .incbin "data/maps/SlateportCity_Harbor/map.bin"
+
+ .align 2
+LilycoveCity_Harbor_MapAttributes: @ 8429C3C
+SlateportCity_Harbor_MapAttributes: @ 8429C3C
+ .4byte 0x18
+ .4byte 0xf
+ .4byte SlateportCity_Harbor_MapBorder
+ .4byte SlateportCity_Harbor_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+MauvilleCity_Gym_MapBorder: @ 8429C54
+ .incbin "data/maps/MauvilleCity_Gym/border.bin"
+
+ .align 2
+MauvilleCity_Gym_MapBlockdata: @ 8429C5C
+ .incbin "data/maps/MauvilleCity_Gym/map.bin"
+
+ .align 2
+MauvilleCity_Gym_MapAttributes: @ 8429E00
+ .4byte 0xa
+ .4byte 0x15
+ .4byte MauvilleCity_Gym_MapBorder
+ .4byte MauvilleCity_Gym_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_MauvilleGym
+
+ .align 2
+MauvilleCity_BikeShop_MapBorder: @ 8429E18
+ .incbin "data/maps/MauvilleCity_BikeShop/border.bin"
+
+ .align 2
+MauvilleCity_BikeShop_MapBlockdata: @ 8429E20
+ .incbin "data/maps/MauvilleCity_BikeShop/map.bin"
+
+ .align 2
+MauvilleCity_BikeShop_MapAttributes: @ 8429EF8
+ .4byte 0xc
+ .4byte 0x9
+ .4byte MauvilleCity_BikeShop_MapBorder
+ .4byte MauvilleCity_BikeShop_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_BikeShop
+
+ .align 2
+MauvilleCity_GameCorner_MapBorder: @ 8429F10
+ .incbin "data/maps/MauvilleCity_GameCorner/border.bin"
+
+ .align 2
+MauvilleCity_GameCorner_MapBlockdata: @ 8429F18
+ .incbin "data/maps/MauvilleCity_GameCorner/map.bin"
+
+ .align 2
+MauvilleCity_GameCorner_MapAttributes: @ 842A0FC
+ .4byte 0x16
+ .4byte 0xb
+ .4byte MauvilleCity_GameCorner_MapBorder
+ .4byte MauvilleCity_GameCorner_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_MauvilleGameCorner
+
+ .align 2
+RustboroCity_DevonCorp_1F_MapBorder: @ 842A114
+ .incbin "data/maps/RustboroCity_DevonCorp_1F/border.bin"
+
+ .align 2
+RustboroCity_DevonCorp_1F_MapBlockdata: @ 842A11C
+ .incbin "data/maps/RustboroCity_DevonCorp_1F/map.bin"
+
+ .align 2
+RustboroCity_DevonCorp_1F_MapAttributes: @ 842A274
+ .4byte 0x13
+ .4byte 0x9
+ .4byte RustboroCity_DevonCorp_1F_MapBorder
+ .4byte RustboroCity_DevonCorp_1F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Facility
+
+ .align 2
+RustboroCity_DevonCorp_2F_MapBorder: @ 842A28C
+ .incbin "data/maps/RustboroCity_DevonCorp_2F/border.bin"
+
+ .align 2
+RustboroCity_DevonCorp_2F_MapBlockdata: @ 842A294
+ .incbin "data/maps/RustboroCity_DevonCorp_2F/map.bin"
+
+ .align 2
+RustboroCity_DevonCorp_2F_MapAttributes: @ 842A3EC
+ .4byte 0x13
+ .4byte 0x9
+ .4byte RustboroCity_DevonCorp_2F_MapBorder
+ .4byte RustboroCity_DevonCorp_2F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+RustboroCity_Gym_MapBorder: @ 842A404
+ .incbin "data/maps/RustboroCity_Gym/border.bin"
+
+ .align 2
+RustboroCity_Gym_MapBlockdata: @ 842A40C
+ .incbin "data/maps/RustboroCity_Gym/map.bin"
+
+ .align 2
+RustboroCity_Gym_MapAttributes: @ 842A5C4
+ .4byte 0xb
+ .4byte 0x14
+ .4byte RustboroCity_Gym_MapBorder
+ .4byte RustboroCity_Gym_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_RustboroGym
+
+ .align 2
+RustboroCity_PokemonSchool_MapBorder: @ 842A5DC
+ .incbin "data/maps/RustboroCity_PokemonSchool/border.bin"
+
+ .align 2
+RustboroCity_PokemonSchool_MapBlockdata: @ 842A5E4
+ .incbin "data/maps/RustboroCity_PokemonSchool/map.bin"
+
+ .align 2
+RustboroCity_PokemonSchool_MapAttributes: @ 842A6EC
+ .4byte 0xc
+ .4byte 0xb
+ .4byte RustboroCity_PokemonSchool_MapBorder
+ .4byte RustboroCity_PokemonSchool_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_PokemonSchool
+
+ .align 2
+RustboroCity_House2_MapBorder: @ 842A704
+ .incbin "data/maps/RustboroCity_House2/border.bin"
+
+ .align 2
+RustboroCity_House2_MapBlockdata: @ 842A70C
+ .incbin "data/maps/RustboroCity_House2/map.bin"
+
+ .align 2
+RustboroCity_House2_MapAttributes: @ 842A7E4
+RustboroCity_House3_MapAttributes: @ 842A7E4
+ .4byte 0xc
+ .4byte 0x9
+ .4byte RustboroCity_House2_MapBorder
+ .4byte RustboroCity_House2_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+RustboroCity_House1_MapBorder: @ 842A7FC
+ .incbin "data/maps/RustboroCity_House1/border.bin"
+
+ .align 2
+RustboroCity_House1_MapBlockdata: @ 842A804
+ .incbin "data/maps/RustboroCity_House1/map.bin"
+
+ .align 2
+RustboroCity_House1_MapAttributes: @ 842A8D4
+ .4byte 0xd
+ .4byte 0x8
+ .4byte RustboroCity_House1_MapBorder
+ .4byte RustboroCity_House1_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+RustboroCity_CuttersHouse_MapBorder: @ 842A8EC
+ .incbin "data/maps/RustboroCity_CuttersHouse/border.bin"
+
+ .align 2
+RustboroCity_CuttersHouse_MapBlockdata: @ 842A8F4
+ .incbin "data/maps/RustboroCity_CuttersHouse/map.bin"
+
+ .align 2
+RustboroCity_CuttersHouse_MapAttributes: @ 842A9BC
+ .4byte 0xb
+ .4byte 0x9
+ .4byte RustboroCity_CuttersHouse_MapBorder
+ .4byte RustboroCity_CuttersHouse_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+FortreeCity_House1_MapBorder: @ 842A9D4
+ .incbin "data/maps/FortreeCity_House1/border.bin"
+
+ .align 2
+FortreeCity_House1_MapBlockdata: @ 842A9DC
+ .incbin "data/maps/FortreeCity_House1/map.bin"
+
+ .align 2
+FortreeCity_House1_MapAttributes: @ 842AA3C
+FortreeCity_House3_MapAttributes: @ 842AA3C
+FortreeCity_House5_MapAttributes: @ 842AA3C
+ .4byte 0x8
+ .4byte 0x6
+ .4byte FortreeCity_House1_MapBorder
+ .4byte FortreeCity_House1_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+FortreeCity_Gym_MapBorder: @ 842AA54
+ .incbin "data/maps/FortreeCity_Gym/border.bin"
+
+ .align 2
+FortreeCity_Gym_MapBlockdata: @ 842AA5C
+ .incbin "data/maps/FortreeCity_Gym/map.bin"
+
+ .align 2
+FortreeCity_Gym_MapAttributes: @ 842AE44
+ .4byte 0x14
+ .4byte 0x19
+ .4byte FortreeCity_Gym_MapBorder
+ .4byte FortreeCity_Gym_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_FortreeGym
+
+ .align 2
+FortreeCity_House2_MapBorder: @ 842AE5C
+ .incbin "data/maps/FortreeCity_House2/border.bin"
+
+ .align 2
+FortreeCity_House2_MapBlockdata: @ 842AE64
+ .incbin "data/maps/FortreeCity_House2/map.bin"
+
+ .align 2
+FortreeCity_House2_MapAttributes: @ 842AEC4
+FortreeCity_House4_MapAttributes: @ 842AEC4
+ .4byte 0x8
+ .4byte 0x6
+ .4byte FortreeCity_House2_MapBorder
+ .4byte FortreeCity_House2_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+Route104_MrBrineysHouse_MapBorder: @ 842AEDC
+ .incbin "data/maps/Route104_MrBrineysHouse/border.bin"
+
+ .align 2
+Route104_MrBrineysHouse_MapBlockdata: @ 842AEE4
+ .incbin "data/maps/Route104_MrBrineysHouse/map.bin"
+
+ .align 2
+Route104_MrBrineysHouse_MapAttributes: @ 842AFBC
+ .4byte 0xc
+ .4byte 0x9
+ .4byte Route104_MrBrineysHouse_MapBorder
+ .4byte Route104_MrBrineysHouse_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+LilycoveCity_LilycoveMuseum_1F_MapBorder: @ 842AFD4
+ .incbin "data/maps/LilycoveCity_LilycoveMuseum_1F/border.bin"
+
+ .align 2
+LilycoveCity_LilycoveMuseum_1F_MapBlockdata: @ 842AFDC
+ .incbin "data/maps/LilycoveCity_LilycoveMuseum_1F/map.bin"
+
+ .align 2
+LilycoveCity_LilycoveMuseum_1F_MapAttributes: @ 842B228
+ .4byte 0x15
+ .4byte 0xe
+ .4byte LilycoveCity_LilycoveMuseum_1F_MapBorder
+ .4byte LilycoveCity_LilycoveMuseum_1F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_LilycoveMuseum
+
+ .align 2
+LilycoveCity_LilycoveMuseum_2F_MapBorder: @ 842B240
+ .incbin "data/maps/LilycoveCity_LilycoveMuseum_2F/border.bin"
+
+ .align 2
+LilycoveCity_LilycoveMuseum_2F_MapBlockdata: @ 842B248
+ .incbin "data/maps/LilycoveCity_LilycoveMuseum_2F/map.bin"
+
+ .align 2
+LilycoveCity_LilycoveMuseum_2F_MapAttributes: @ 842B484
+ .4byte 0x16
+ .4byte 0xd
+ .4byte LilycoveCity_LilycoveMuseum_2F_MapBorder
+ .4byte LilycoveCity_LilycoveMuseum_2F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_LilycoveMuseum
+
+ .align 2
+LilycoveCity_ContestLobby_MapBorder: @ 842B49C
+ .incbin "data/maps/LilycoveCity_ContestLobby/border.bin"
+
+ .align 2
+LilycoveCity_ContestLobby_MapBlockdata: @ 842B4A4
+ .incbin "data/maps/LilycoveCity_ContestLobby/map.bin"
+
+ .align 2
+LilycoveCity_ContestLobby_MapAttributes: @ 842B78C
+ .4byte 0x1f
+ .4byte 0xc
+ .4byte LilycoveCity_ContestLobby_MapBorder
+ .4byte LilycoveCity_ContestLobby_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Contest
+
+ .align 2
+LilycoveCity_ContestHall_MapBorder: @ 842B7A4
+ .incbin "data/maps/LilycoveCity_ContestHall/border.bin"
+
+ .align 2
+LilycoveCity_ContestHall_MapBlockdata: @ 842B7AC
+ .incbin "data/maps/LilycoveCity_ContestHall/map.bin"
+
+ .align 2
+LilycoveCity_ContestHall_MapAttributes: @ 842C4D4
+ .4byte 0x33
+ .4byte 0x21
+ .4byte LilycoveCity_ContestHall_MapBorder
+ .4byte LilycoveCity_ContestHall_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Contest
+
+ .align 2
+LilycoveCity_PokemonTrainerFanClub_MapBorder: @ 842C4EC
+ .incbin "data/maps/LilycoveCity_PokemonTrainerFanClub/border.bin"
+
+ .align 2
+LilycoveCity_PokemonTrainerFanClub_MapBlockdata: @ 842C4F4
+ .incbin "data/maps/LilycoveCity_PokemonTrainerFanClub/map.bin"
+
+ .align 2
+LilycoveCity_PokemonTrainerFanClub_MapAttributes: @ 842C644
+ .4byte 0xc
+ .4byte 0xe
+ .4byte LilycoveCity_PokemonTrainerFanClub_MapBorder
+ .4byte LilycoveCity_PokemonTrainerFanClub_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+MossdeepCity_Gym_MapBorder: @ 842C65C
+ .incbin "data/maps/MossdeepCity_Gym/border.bin"
+
+ .align 2
+MossdeepCity_Gym_MapBlockdata: @ 842C664
+ .incbin "data/maps/MossdeepCity_Gym/map.bin"
+
+ .align 2
+MossdeepCity_Gym_MapAttributes: @ 842CDB4
+ .4byte 0x1a
+ .4byte 0x24
+ .4byte MossdeepCity_Gym_MapBorder
+ .4byte MossdeepCity_Gym_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_MossdeepGym
+
+ .align 2
+SootopolisCity_Gym_1F_MapBorder: @ 842CDCC
+ .incbin "data/maps/SootopolisCity_Gym_1F/border.bin"
+
+ .align 2
+SootopolisCity_Gym_1F_MapBlockdata: @ 842CDD4
+ .incbin "data/maps/SootopolisCity_Gym_1F/map.bin"
+
+ .align 2
+SootopolisCity_Gym_1F_MapAttributes: @ 842D148
+ .4byte 0x11
+ .4byte 0x1a
+ .4byte SootopolisCity_Gym_1F_MapBorder
+ .4byte SootopolisCity_Gym_1F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_SootopolisGym
+
+ .align 2
+SootopolisCity_Gym_B1F_MapBorder: @ 842D160
+ .incbin "data/maps/SootopolisCity_Gym_B1F/border.bin"
+
+ .align 2
+SootopolisCity_Gym_B1F_MapBlockdata: @ 842D168
+ .incbin "data/maps/SootopolisCity_Gym_B1F/map.bin"
+
+ .align 2
+SootopolisCity_Gym_B1F_MapAttributes: @ 842D4DC
+ .4byte 0x11
+ .4byte 0x1a
+ .4byte SootopolisCity_Gym_B1F_MapBorder
+ .4byte SootopolisCity_Gym_B1F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_SootopolisGym
+
+ .align 2
+EverGrandeCity_SidneysRoom_MapBorder: @ 842D4F4
+ .incbin "data/maps/EverGrandeCity_SidneysRoom/border.bin"
+
+ .align 2
+EverGrandeCity_SidneysRoom_MapBlockdata: @ 842D4FC
+ .incbin "data/maps/EverGrandeCity_SidneysRoom/map.bin"
+
+ .align 2
+EverGrandeCity_SidneysRoom_MapAttributes: @ 842D668
+ .4byte 0xd
+ .4byte 0xe
+ .4byte EverGrandeCity_SidneysRoom_MapBorder
+ .4byte EverGrandeCity_SidneysRoom_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_EliteFour
+
+ .align 2
+EverGrandeCity_PhoebesRoom_MapBorder: @ 842D680
+ .incbin "data/maps/EverGrandeCity_PhoebesRoom/border.bin"
+
+ .align 2
+EverGrandeCity_PhoebesRoom_MapBlockdata: @ 842D688
+ .incbin "data/maps/EverGrandeCity_PhoebesRoom/map.bin"
+
+ .align 2
+EverGrandeCity_PhoebesRoom_MapAttributes: @ 842D7F4
+ .4byte 0xd
+ .4byte 0xe
+ .4byte EverGrandeCity_PhoebesRoom_MapBorder
+ .4byte EverGrandeCity_PhoebesRoom_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_EliteFour
+
+ .align 2
+EverGrandeCity_GlaciasRoom_MapBorder: @ 842D80C
+ .incbin "data/maps/EverGrandeCity_GlaciasRoom/border.bin"
+
+ .align 2
+EverGrandeCity_GlaciasRoom_MapBlockdata: @ 842D814
+ .incbin "data/maps/EverGrandeCity_GlaciasRoom/map.bin"
+
+ .align 2
+EverGrandeCity_GlaciasRoom_MapAttributes: @ 842D980
+ .4byte 0xd
+ .4byte 0xe
+ .4byte EverGrandeCity_GlaciasRoom_MapBorder
+ .4byte EverGrandeCity_GlaciasRoom_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_EliteFour
+
+ .align 2
+EverGrandeCity_DrakesRoom_MapBorder: @ 842D998
+ .incbin "data/maps/EverGrandeCity_DrakesRoom/border.bin"
+
+ .align 2
+EverGrandeCity_DrakesRoom_MapBlockdata: @ 842D9A0
+ .incbin "data/maps/EverGrandeCity_DrakesRoom/map.bin"
+
+ .align 2
+EverGrandeCity_DrakesRoom_MapAttributes: @ 842DB0C
+ .4byte 0xd
+ .4byte 0xe
+ .4byte EverGrandeCity_DrakesRoom_MapBorder
+ .4byte EverGrandeCity_DrakesRoom_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_EliteFour
+
+ .align 2
+EverGrandeCity_ChampionsRoom_MapBorder: @ 842DB24
+ .incbin "data/maps/EverGrandeCity_ChampionsRoom/border.bin"
+
+ .align 2
+EverGrandeCity_ChampionsRoom_MapBlockdata: @ 842DB2C
+ .incbin "data/maps/EverGrandeCity_ChampionsRoom/map.bin"
+
+ .align 2
+EverGrandeCity_ChampionsRoom_MapAttributes: @ 842DC80
+ .4byte 0xd
+ .4byte 0xd
+ .4byte EverGrandeCity_ChampionsRoom_MapBorder
+ .4byte EverGrandeCity_ChampionsRoom_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_EliteFour
+
+ .align 2
+EverGrandeCity_Hall1_MapBorder: @ 842DC98
+ .incbin "data/maps/EverGrandeCity_Hall1/border.bin"
+
+ .align 2
+EverGrandeCity_Hall1_MapBlockdata: @ 842DCA0
+ .incbin "data/maps/EverGrandeCity_Hall1/map.bin"
+
+ .align 2
+EverGrandeCity_Hall1_MapAttributes: @ 842DDC0
+EverGrandeCity_Hall2_MapAttributes: @ 842DDC0
+EverGrandeCity_Hall3_MapAttributes: @ 842DDC0
+EverGrandeCity_Hall5_MapAttributes: @ 842DDC0
+ .4byte 0xb
+ .4byte 0xd
+ .4byte EverGrandeCity_Hall1_MapBorder
+ .4byte EverGrandeCity_Hall1_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_EliteFour
+
+ .align 2
+Route104_PrettyPetalFlowerShop_MapBorder: @ 842DDD8
+ .incbin "data/maps/Route104_PrettyPetalFlowerShop/border.bin"
+
+ .align 2
+Route104_PrettyPetalFlowerShop_MapBlockdata: @ 842DDE0
+ .incbin "data/maps/Route104_PrettyPetalFlowerShop/map.bin"
+
+ .align 2
+Route104_PrettyPetalFlowerShop_MapAttributes: @ 842DEF0
+Route104_PrototypePrettyPetalFlowerShop_MapAttributes: @ 842DEF0
+ .4byte 0xf
+ .4byte 0x9
+ .4byte Route104_PrettyPetalFlowerShop_MapBorder
+ .4byte Route104_PrettyPetalFlowerShop_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_PrettyPetalFlowerShop
+
+ .align 2
+Route112_CableCarStation_MapBorder: @ 842DF08
+ .incbin "data/maps/Route112_CableCarStation/border.bin"
+
+ .align 2
+Route112_CableCarStation_MapBlockdata: @ 842DF10
+ .incbin "data/maps/Route112_CableCarStation/map.bin"
+
+ .align 2
+MtChimney_CableCarStation_MapAttributes: @ 842E048
+Route112_CableCarStation_MapAttributes: @ 842E048
+ .4byte 0xd
+ .4byte 0xc
+ .4byte Route112_CableCarStation_MapBorder
+ .4byte Route112_CableCarStation_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+Route114_FossilManiacsHouse_MapBorder: @ 842E060
+ .incbin "data/maps/Route114_FossilManiacsHouse/border.bin"
+
+ .align 2
+Route114_FossilManiacsHouse_MapBlockdata: @ 842E068
+ .incbin "data/maps/Route114_FossilManiacsHouse/map.bin"
+
+ .align 2
+Route114_FossilManiacsHouse_MapAttributes: @ 842E108
+ .4byte 0xa
+ .4byte 0x8
+ .4byte Route114_FossilManiacsHouse_MapBorder
+ .4byte Route114_FossilManiacsHouse_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+Route114_FossilManiacsTunnel_MapBorder: @ 842E120
+ .incbin "data/maps/Route114_FossilManiacsTunnel/border.bin"
+
+ .align 2
+Route114_FossilManiacsTunnel_MapBlockdata: @ 842E128
+ .incbin "data/maps/Route114_FossilManiacsTunnel/map.bin"
+
+ .align 2
+Route114_FossilManiacsTunnel_MapAttributes: @ 842E3CC
+ .4byte 0xd
+ .4byte 0x1a
+ .4byte Route114_FossilManiacsTunnel_MapBorder
+ .4byte Route114_FossilManiacsTunnel_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Fallarbor
+
+ .align 2
+Route114_LanettesHouse_MapBorder: @ 842E3E4
+ .incbin "data/maps/Route114_LanettesHouse/border.bin"
+
+ .align 2
+Route114_LanettesHouse_MapBlockdata: @ 842E3EC
+ .incbin "data/maps/Route114_LanettesHouse/map.bin"
+
+ .align 2
+Route114_LanettesHouse_MapAttributes: @ 842E49C
+ .4byte 0xb
+ .4byte 0x8
+ .4byte Route114_LanettesHouse_MapBorder
+ .4byte Route114_LanettesHouse_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Lab
+
+ .align 2
+Route116_TunnelersRestHouse_MapBorder: @ 842E4B4
+ .incbin "data/maps/Route116_TunnelersRestHouse/border.bin"
+
+ .align 2
+Route116_TunnelersRestHouse_MapBlockdata: @ 842E4BC
+ .incbin "data/maps/Route116_TunnelersRestHouse/map.bin"
+
+ .align 2
+Route116_TunnelersRestHouse_MapAttributes: @ 842E570
+ .4byte 0xa
+ .4byte 0x9
+ .4byte Route116_TunnelersRestHouse_MapBorder
+ .4byte Route116_TunnelersRestHouse_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+Route117_PokemonDayCare_MapBorder: @ 842E588
+ .incbin "data/maps/Route117_PokemonDayCare/border.bin"
+
+ .align 2
+Route117_PokemonDayCare_MapBlockdata: @ 842E590
+ .incbin "data/maps/Route117_PokemonDayCare/map.bin"
+
+ .align 2
+Route117_PokemonDayCare_MapAttributes: @ 842E668
+ .4byte 0xc
+ .4byte 0x9
+ .4byte Route117_PokemonDayCare_MapBorder
+ .4byte Route117_PokemonDayCare_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_PokemonDayCare
+
+ .align 2
+Route121_SafariZoneEntrance_MapBorder: @ 842E680
+ .incbin "data/maps/Route121_SafariZoneEntrance/border.bin"
+
+ .align 2
+Route121_SafariZoneEntrance_MapBlockdata: @ 842E688
+ .incbin "data/maps/Route121_SafariZoneEntrance/map.bin"
+
+ .align 2
+Route121_SafariZoneEntrance_MapAttributes: @ 842E880
+ .4byte 0x12
+ .4byte 0xe
+ .4byte Route121_SafariZoneEntrance_MapBorder
+ .4byte Route121_SafariZoneEntrance_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Shop
+
+ .align 2
+MeteorFalls_1F_1R_MapBorder: @ 842E898
+ .incbin "data/maps/MeteorFalls_1F_1R/border.bin"
+
+ .align 2
+MeteorFalls_1F_1R_MapBlockdata: @ 842E8A0
+ .incbin "data/maps/MeteorFalls_1F_1R/map.bin"
+
+ .align 2
+MeteorFalls_1F_1R_MapAttributes: @ 842F278
+ .4byte 0x1e
+ .4byte 0x2a
+ .4byte MeteorFalls_1F_1R_MapBorder
+ .4byte MeteorFalls_1F_1R_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_MeteorFalls
+
+ .align 2
+MeteorFalls_1F_2R_MapBorder: @ 842F290
+ .incbin "data/maps/MeteorFalls_1F_2R/border.bin"
+
+ .align 2
+MeteorFalls_1F_2R_MapBlockdata: @ 842F298
+ .incbin "data/maps/MeteorFalls_1F_2R/map.bin"
+
+ .align 2
+MeteorFalls_1F_2R_MapAttributes: @ 842FA18
+ .4byte 0x1e
+ .4byte 0x20
+ .4byte MeteorFalls_1F_2R_MapBorder
+ .4byte MeteorFalls_1F_2R_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_MeteorFalls
+
+ .align 2
+MeteorFalls_B1F_1R_MapBorder: @ 842FA30
+ .incbin "data/maps/MeteorFalls_B1F_1R/border.bin"
+
+ .align 2
+MeteorFalls_B1F_1R_MapBlockdata: @ 842FA38
+ .incbin "data/maps/MeteorFalls_B1F_1R/map.bin"
+
+ .align 2
+MeteorFalls_B1F_1R_MapAttributes: @ 84302D4
+ .4byte 0x1d
+ .4byte 0x26
+ .4byte MeteorFalls_B1F_1R_MapBorder
+ .4byte MeteorFalls_B1F_1R_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_MeteorFalls
+
+ .align 2
+MeteorFalls_B1F_2R_MapBorder: @ 84302EC
+ .incbin "data/maps/MeteorFalls_B1F_2R/border.bin"
+
+ .align 2
+MeteorFalls_B1F_2R_MapBlockdata: @ 84302F4
+ .incbin "data/maps/MeteorFalls_B1F_2R/map.bin"
+
+ .align 2
+MeteorFalls_B1F_2R_MapAttributes: @ 8430480
+ .4byte 0xb
+ .4byte 0x12
+ .4byte MeteorFalls_B1F_2R_MapBorder
+ .4byte MeteorFalls_B1F_2R_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_MeteorFalls
+
+ .align 2
+RusturfTunnel_MapBorder: @ 8430498
+ .incbin "data/maps/RusturfTunnel/border.bin"
+
+ .align 2
+RusturfTunnel_MapBlockdata: @ 84304A0
+ .incbin "data/maps/RusturfTunnel/map.bin"
+
+ .align 2
+RusturfTunnel_MapAttributes: @ 8430B60
+ .4byte 0x24
+ .4byte 0x18
+ .4byte RusturfTunnel_MapBorder
+ .4byte RusturfTunnel_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_RusturfTunnel
+
+ .align 2
+Underwater_SootopolisCity_MapBorder: @ 8430B78
+ .incbin "data/maps/Underwater_SootopolisCity/border.bin"
+
+ .align 2
+Underwater_SootopolisCity_MapBlockdata: @ 8430B80
+ .incbin "data/maps/Underwater_SootopolisCity/map.bin"
+
+ .align 2
+Underwater_SootopolisCity_MapAttributes: @ 8430D10
+ .4byte 0x14
+ .4byte 0xa
+ .4byte Underwater_SootopolisCity_MapBorder
+ .4byte Underwater_SootopolisCity_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Underwater
+
+ .align 2
+DesertRuins_MapBorder: @ 8430D28
+ .incbin "data/maps/DesertRuins/border.bin"
+
+ .align 2
+DesertRuins_MapBlockdata: @ 8430D30
+ .incbin "data/maps/DesertRuins/map.bin"
+
+ .align 2
+DesertRuins_MapAttributes: @ 8431194
+ .4byte 0x11
+ .4byte 0x21
+ .4byte DesertRuins_MapBorder
+ .4byte DesertRuins_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+GraniteCave_1F_MapBorder: @ 84311AC
+ .incbin "data/maps/GraniteCave_1F/border.bin"
+
+ .align 2
+GraniteCave_1F_MapBlockdata: @ 84311B4
+ .incbin "data/maps/GraniteCave_1F/map.bin"
+
+ .align 2
+GraniteCave_1F_MapAttributes: @ 84316A0
+ .4byte 0x2a
+ .4byte 0xf
+ .4byte GraniteCave_1F_MapBorder
+ .4byte GraniteCave_1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+GraniteCave_B1F_MapBorder: @ 84316B8
+ .incbin "data/maps/GraniteCave_B1F/border.bin"
+
+ .align 2
+GraniteCave_B1F_MapBlockdata: @ 84316C0
+ .incbin "data/maps/GraniteCave_B1F/map.bin"
+
+ .align 2
+GraniteCave_B1F_MapAttributes: @ 8431D40
+ .4byte 0x20
+ .4byte 0x1a
+ .4byte GraniteCave_B1F_MapBorder
+ .4byte GraniteCave_B1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+GraniteCave_B2F_MapBorder: @ 8431D58
+ .incbin "data/maps/GraniteCave_B2F/border.bin"
+
+ .align 2
+GraniteCave_B2F_MapBlockdata: @ 8431D60
+ .incbin "data/maps/GraniteCave_B2F/map.bin"
+
+ .align 2
+GraniteCave_B2F_MapAttributes: @ 84323E0
+ .4byte 0x20
+ .4byte 0x1a
+ .4byte GraniteCave_B2F_MapBorder
+ .4byte GraniteCave_B2F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+PetalburgWoods_MapBorder: @ 84323F8
+ .incbin "data/maps/PetalburgWoods/border.bin"
+
+ .align 2
+PetalburgWoods_MapBlockdata: @ 8432400
+ .incbin "data/maps/PetalburgWoods/map.bin"
+
+ .align 2
+PetalburgWoods_MapAttributes: @ 8433480
+ .4byte 0x30
+ .4byte 0x2c
+ .4byte PetalburgWoods_MapBorder
+ .4byte PetalburgWoods_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Rustboro
+
+ .align 2
+MtChimney_MapBorder: @ 8433498
+ .incbin "data/maps/MtChimney/border.bin"
+
+ .align 2
+MtChimney_MapBlockdata: @ 84334A0
+ .incbin "data/maps/MtChimney/map.bin"
+
+ .align 2
+MtChimney_MapAttributes: @ 8434350
+ .4byte 0x28
+ .4byte 0x2f
+ .4byte MtChimney_MapBorder
+ .4byte MtChimney_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lavaridge
+
+ .align 2
+MtPyre_1F_MapBorder: @ 8434368
+ .incbin "data/maps/MtPyre_1F/border.bin"
+
+ .align 2
+MtPyre_1F_MapBlockdata: @ 8434370
+ .incbin "data/maps/MtPyre_1F/map.bin"
+
+ .align 2
+MtPyre_1F_MapAttributes: @ 84346B4
+ .4byte 0x16
+ .4byte 0x13
+ .4byte MtPyre_1F_MapBorder
+ .4byte MtPyre_1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+MtPyre_2F_MapBorder: @ 84346CC
+ .incbin "data/maps/MtPyre_2F/border.bin"
+
+ .align 2
+MtPyre_2F_MapBlockdata: @ 84346D4
+ .incbin "data/maps/MtPyre_2F/map.bin"
+
+ .align 2
+MtPyre_2F_MapAttributes: @ 8434828
+ .4byte 0xd
+ .4byte 0xd
+ .4byte MtPyre_2F_MapBorder
+ .4byte MtPyre_2F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+MtPyre_3F_MapBorder: @ 8434840
+ .incbin "data/maps/MtPyre_3F/border.bin"
+
+ .align 2
+MtPyre_3F_MapBlockdata: @ 8434848
+ .incbin "data/maps/MtPyre_3F/map.bin"
+
+ .align 2
+MtPyre_3F_MapAttributes: @ 843499C
+ .4byte 0xd
+ .4byte 0xd
+ .4byte MtPyre_3F_MapBorder
+ .4byte MtPyre_3F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+MtPyre_4F_MapBorder: @ 84349B4
+ .incbin "data/maps/MtPyre_4F/border.bin"
+
+ .align 2
+MtPyre_4F_MapBlockdata: @ 84349BC
+ .incbin "data/maps/MtPyre_4F/map.bin"
+
+ .align 2
+MtPyre_4F_MapAttributes: @ 8434B10
+ .4byte 0xd
+ .4byte 0xd
+ .4byte MtPyre_4F_MapBorder
+ .4byte MtPyre_4F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+MtPyre_5F_MapBorder: @ 8434B28
+ .incbin "data/maps/MtPyre_5F/border.bin"
+
+ .align 2
+MtPyre_5F_MapBlockdata: @ 8434B30
+ .incbin "data/maps/MtPyre_5F/map.bin"
+
+ .align 2
+MtPyre_5F_MapAttributes: @ 8434C84
+ .4byte 0xd
+ .4byte 0xd
+ .4byte MtPyre_5F_MapBorder
+ .4byte MtPyre_5F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+MtPyre_6F_MapBorder: @ 8434C9C
+ .incbin "data/maps/MtPyre_6F/border.bin"
+
+ .align 2
+MtPyre_6F_MapBlockdata: @ 8434CA4
+ .incbin "data/maps/MtPyre_6F/map.bin"
+
+ .align 2
+MtPyre_6F_MapAttributes: @ 8434DF8
+ .4byte 0xd
+ .4byte 0xd
+ .4byte MtPyre_6F_MapBorder
+ .4byte MtPyre_6F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+AquaHideout_1F_MapBorder: @ 8434E10
+ .incbin "data/maps/AquaHideout_1F/border.bin"
+
+ .align 2
+AquaHideout_1F_MapBlockdata: @ 8434E18
+ .incbin "data/maps/AquaHideout_1F/map.bin"
+
+ .align 2
+AquaHideout_1F_MapAttributes: @ 84354A8
+ .4byte 0x1c
+ .4byte 0x1e
+ .4byte AquaHideout_1F_MapBorder
+ .4byte AquaHideout_1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+AquaHideout_B1F_MapBorder: @ 84354C0
+ .incbin "data/maps/AquaHideout_B1F/border.bin"
+
+ .align 2
+AquaHideout_B1F_MapBlockdata: @ 84354C8
+ .incbin "data/maps/AquaHideout_B1F/map.bin"
+
+ .align 2
+AquaHideout_B1F_MapAttributes: @ 8435E58
+ .4byte 0x33
+ .4byte 0x18
+ .4byte AquaHideout_B1F_MapBorder
+ .4byte AquaHideout_B1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+AquaHideout_B2F_MapBorder: @ 8435E70
+ .incbin "data/maps/AquaHideout_B2F/border.bin"
+
+ .align 2
+AquaHideout_B2F_MapBlockdata: @ 8435E78
+ .incbin "data/maps/AquaHideout_B2F/map.bin"
+
+ .align 2
+AquaHideout_B2F_MapAttributes: @ 84364D8
+ .4byte 0x22
+ .4byte 0x18
+ .4byte AquaHideout_B2F_MapBorder
+ .4byte AquaHideout_B2F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+Underwater_SeafloorCavern_MapBorder: @ 84364F0
+ .incbin "data/maps/Underwater_SeafloorCavern/border.bin"
+
+ .align 2
+Underwater_SeafloorCavern_MapBlockdata: @ 84364F8
+ .incbin "data/maps/Underwater_SeafloorCavern/map.bin"
+
+ .align 2
+Underwater_SeafloorCavern_MapAttributes: @ 84365F4
+ .4byte 0xe
+ .4byte 0x9
+ .4byte Underwater_SeafloorCavern_MapBorder
+ .4byte Underwater_SeafloorCavern_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Underwater
+
+ .align 2
+SeafloorCavern_Entrance_MapBorder: @ 843660C
+ .incbin "data/maps/SeafloorCavern_Entrance/border.bin"
+
+ .align 2
+SeafloorCavern_Entrance_MapBlockdata: @ 8436614
+ .incbin "data/maps/SeafloorCavern_Entrance/map.bin"
+
+ .align 2
+SeafloorCavern_Entrance_MapAttributes: @ 8436934
+ .4byte 0x14
+ .4byte 0x14
+ .4byte SeafloorCavern_Entrance_MapBorder
+ .4byte SeafloorCavern_Entrance_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+SeafloorCavern_Room1_MapBorder: @ 843694C
+ .incbin "data/maps/SeafloorCavern_Room1/border.bin"
+
+ .align 2
+SeafloorCavern_Room1_MapBlockdata: @ 8436954
+ .incbin "data/maps/SeafloorCavern_Room1/map.bin"
+
+ .align 2
+SeafloorCavern_Room1_MapAttributes: @ 8436C9C
+ .4byte 0x14
+ .4byte 0x15
+ .4byte SeafloorCavern_Room1_MapBorder
+ .4byte SeafloorCavern_Room1_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+SeafloorCavern_Room2_MapBorder: @ 8436CB4
+ .incbin "data/maps/SeafloorCavern_Room2/border.bin"
+
+ .align 2
+SeafloorCavern_Room2_MapBlockdata: @ 8436CBC
+ .incbin "data/maps/SeafloorCavern_Room2/map.bin"
+
+ .align 2
+SeafloorCavern_Room2_MapAttributes: @ 8436E6C
+ .4byte 0x12
+ .4byte 0xc
+ .4byte SeafloorCavern_Room2_MapBorder
+ .4byte SeafloorCavern_Room2_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+SeafloorCavern_Room3_MapBorder: @ 8436E84
+ .incbin "data/maps/SeafloorCavern_Room3/border.bin"
+
+ .align 2
+SeafloorCavern_Room3_MapBlockdata: @ 8436E8C
+ .incbin "data/maps/SeafloorCavern_Room3/map.bin"
+
+ .align 2
+SeafloorCavern_Room3_MapAttributes: @ 84370AC
+ .4byte 0x10
+ .4byte 0x11
+ .4byte SeafloorCavern_Room3_MapBorder
+ .4byte SeafloorCavern_Room3_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+SeafloorCavern_Room4_MapBorder: @ 84370C4
+ .incbin "data/maps/SeafloorCavern_Room4/border.bin"
+
+ .align 2
+SeafloorCavern_Room4_MapBlockdata: @ 84370CC
+ .incbin "data/maps/SeafloorCavern_Room4/map.bin"
+
+ .align 2
+SeafloorCavern_Room4_MapAttributes: @ 8437378
+ .4byte 0x12
+ .4byte 0x13
+ .4byte SeafloorCavern_Room4_MapBorder
+ .4byte SeafloorCavern_Room4_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+SeafloorCavern_Room5_MapBorder: @ 8437390
+ .incbin "data/maps/SeafloorCavern_Room5/border.bin"
+
+ .align 2
+SeafloorCavern_Room5_MapBlockdata: @ 8437398
+ .incbin "data/maps/SeafloorCavern_Room5/map.bin"
+
+ .align 2
+SeafloorCavern_Room5_MapAttributes: @ 84376B8
+ .4byte 0x14
+ .4byte 0x14
+ .4byte SeafloorCavern_Room5_MapBorder
+ .4byte SeafloorCavern_Room5_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+SeafloorCavern_Room6_MapBorder: @ 84376D0
+ .incbin "data/maps/SeafloorCavern_Room6/border.bin"
+
+ .align 2
+SeafloorCavern_Room6_MapBlockdata: @ 84376D8
+ .incbin "data/maps/SeafloorCavern_Room6/map.bin"
+
+ .align 2
+SeafloorCavern_Room6_MapAttributes: @ 8437B28
+ .4byte 0x18
+ .4byte 0x17
+ .4byte SeafloorCavern_Room6_MapBorder
+ .4byte SeafloorCavern_Room6_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Pacifidlog
+
+ .align 2
+SeafloorCavern_Room7_MapBorder: @ 8437B40
+ .incbin "data/maps/SeafloorCavern_Room7/border.bin"
+
+ .align 2
+SeafloorCavern_Room7_MapBlockdata: @ 8437B48
+ .incbin "data/maps/SeafloorCavern_Room7/map.bin"
+
+ .align 2
+SeafloorCavern_Room7_MapAttributes: @ 8437FC8
+ .4byte 0x17
+ .4byte 0x19
+ .4byte SeafloorCavern_Room7_MapBorder
+ .4byte SeafloorCavern_Room7_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Pacifidlog
+
+ .align 2
+SeafloorCavern_Room8_MapBorder: @ 8437FE0
+ .incbin "data/maps/SeafloorCavern_Room8/border.bin"
+
+ .align 2
+SeafloorCavern_Room8_MapBlockdata: @ 8437FE8
+ .incbin "data/maps/SeafloorCavern_Room8/map.bin"
+
+ .align 2
+SeafloorCavern_Room8_MapAttributes: @ 843811C
+ .4byte 0xb
+ .4byte 0xe
+ .4byte SeafloorCavern_Room8_MapBorder
+ .4byte SeafloorCavern_Room8_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+SeafloorCavern_Room9_MapBorder: @ 8438134
+ .incbin "data/maps/SeafloorCavern_Room9/border.bin"
+
+ .align 2
+SeafloorCavern_Room9_MapBlockdata: @ 843813C
+ .incbin "data/maps/SeafloorCavern_Room9/map.bin"
+
+ .align 2
+SeafloorCavern_Room9_MapAttributes: @ 8438AF0
+ .4byte 0x1b
+ .4byte 0x2e
+ .4byte SeafloorCavern_Room9_MapBorder
+ .4byte SeafloorCavern_Room9_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+CaveOfOrigin_Entrance_MapBorder: @ 8438B08
+ .incbin "data/maps/CaveOfOrigin_Entrance/border.bin"
+
+ .align 2
+CaveOfOrigin_Entrance_MapBlockdata: @ 8438B10
+ .incbin "data/maps/CaveOfOrigin_Entrance/map.bin"
+
+ .align 2
+CaveOfOrigin_Entrance_MapAttributes: @ 8438EEC
+ .4byte 0x13
+ .4byte 0x1a
+ .4byte CaveOfOrigin_Entrance_MapBorder
+ .4byte CaveOfOrigin_Entrance_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+CaveOfOrigin_1F_MapBorder: @ 8438F04
+ .incbin "data/maps/CaveOfOrigin_1F/border.bin"
+
+ .align 2
+CaveOfOrigin_1F_MapBlockdata: @ 8438F0C
+ .incbin "data/maps/CaveOfOrigin_1F/map.bin"
+
+ .align 2
+CaveOfOrigin_1F_MapAttributes: @ 8439330
+ .4byte 0x17
+ .4byte 0x17
+ .4byte CaveOfOrigin_1F_MapBorder
+ .4byte CaveOfOrigin_1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+CaveOfOrigin_UnusedRubySapphireMap1_MapBorder: @ 8439348
+ .incbin "data/maps/CaveOfOrigin_UnusedRubySapphireMap1/border.bin"
+
+ .align 2
+CaveOfOrigin_UnusedRubySapphireMap1_MapBlockdata: @ 8439350
+ .incbin "data/maps/CaveOfOrigin_UnusedRubySapphireMap1/map.bin"
+
+ .align 2
+CaveOfOrigin_UnusedRubySapphireMap1_MapAttributes: @ 8439774
+ .4byte 0x17
+ .4byte 0x17
+ .4byte CaveOfOrigin_UnusedRubySapphireMap1_MapBorder
+ .4byte CaveOfOrigin_UnusedRubySapphireMap1_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+CaveOfOrigin_UnusedRubySapphireMap2_MapBorder: @ 843978C
+ .incbin "data/maps/CaveOfOrigin_UnusedRubySapphireMap2/border.bin"
+
+ .align 2
+CaveOfOrigin_UnusedRubySapphireMap2_MapBlockdata: @ 8439794
+ .incbin "data/maps/CaveOfOrigin_UnusedRubySapphireMap2/map.bin"
+
+ .align 2
+CaveOfOrigin_UnusedRubySapphireMap2_MapAttributes: @ 8439B08
+ .4byte 0x15
+ .4byte 0x15
+ .4byte CaveOfOrigin_UnusedRubySapphireMap2_MapBorder
+ .4byte CaveOfOrigin_UnusedRubySapphireMap2_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+CaveOfOrigin_UnusedRubySapphireMap3_MapBorder: @ 8439B20
+ .incbin "data/maps/CaveOfOrigin_UnusedRubySapphireMap3/border.bin"
+
+ .align 2
+CaveOfOrigin_UnusedRubySapphireMap3_MapBlockdata: @ 8439B28
+ .incbin "data/maps/CaveOfOrigin_UnusedRubySapphireMap3/map.bin"
+
+ .align 2
+CaveOfOrigin_UnusedRubySapphireMap3_MapAttributes: @ 8439E48
+ .4byte 0x13
+ .4byte 0x15
+ .4byte CaveOfOrigin_UnusedRubySapphireMap3_MapBorder
+ .4byte CaveOfOrigin_UnusedRubySapphireMap3_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+CaveOfOrigin_B1F_MapBorder: @ 8439E60
+ .incbin "data/maps/CaveOfOrigin_B1F/border.bin"
+
+ .align 2
+CaveOfOrigin_B1F_MapBlockdata: @ 8439E68
+ .incbin "data/maps/CaveOfOrigin_B1F/map.bin"
+
+ .align 2
+CaveOfOrigin_B1F_MapAttributes: @ 843A13C
+ .4byte 0x13
+ .4byte 0x13
+ .4byte CaveOfOrigin_B1F_MapBorder
+ .4byte CaveOfOrigin_B1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+VictoryRoad_1F_MapBorder: @ 843A154
+ .incbin "data/maps/VictoryRoad_1F/border.bin"
+
+ .align 2
+VictoryRoad_1F_MapBlockdata: @ 843A15C
+ .incbin "data/maps/VictoryRoad_1F/map.bin"
+
+ .align 2
+VictoryRoad_1F_MapAttributes: @ 843B188
+ .4byte 0x2e
+ .4byte 0x2d
+ .4byte VictoryRoad_1F_MapBorder
+ .4byte VictoryRoad_1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+ShoalCave_LowTideEntranceRoom_MapBorder: @ 843B1A0
+ .incbin "data/maps/ShoalCave_LowTideEntranceRoom/border.bin"
+
+ .align 2
+ShoalCave_LowTideEntranceRoom_MapBlockdata: @ 843B1A8
+ .incbin "data/maps/ShoalCave_LowTideEntranceRoom/map.bin"
+
+ .align 2
+ShoalCave_LowTideEntranceRoom_MapAttributes: @ 843BB3C
+ .4byte 0x23
+ .4byte 0x23
+ .4byte ShoalCave_LowTideEntranceRoom_MapBorder
+ .4byte ShoalCave_LowTideEntranceRoom_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+ShoalCave_LowTideInnerRoom_MapBorder: @ 843BB54
+ .incbin "data/maps/ShoalCave_LowTideInnerRoom/border.bin"
+
+ .align 2
+ShoalCave_LowTideInnerRoom_MapBlockdata: @ 843BB5C
+ .incbin "data/maps/ShoalCave_LowTideInnerRoom/map.bin"
+
+ .align 2
+ShoalCave_LowTideInnerRoom_MapAttributes: @ 843C904
+ .4byte 0x2e
+ .4byte 0x26
+ .4byte ShoalCave_LowTideInnerRoom_MapBorder
+ .4byte ShoalCave_LowTideInnerRoom_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+ShoalCave_LowTideStairsRoom_MapBorder: @ 843C91C
+ .incbin "data/maps/ShoalCave_LowTideStairsRoom/border.bin"
+
+ .align 2
+ShoalCave_LowTideStairsRoom_MapBlockdata: @ 843C924
+ .incbin "data/maps/ShoalCave_LowTideStairsRoom/map.bin"
+
+ .align 2
+ShoalCave_LowTideStairsRoom_MapAttributes: @ 843CB9C
+ .4byte 0x15
+ .4byte 0xf
+ .4byte ShoalCave_LowTideStairsRoom_MapBorder
+ .4byte ShoalCave_LowTideStairsRoom_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+ShoalCave_LowTideLowerRoom_MapBorder: @ 843CBB4
+ .incbin "data/maps/ShoalCave_LowTideLowerRoom/border.bin"
+
+ .align 2
+ShoalCave_LowTideLowerRoom_MapBlockdata: @ 843CBBC
+ .incbin "data/maps/ShoalCave_LowTideLowerRoom/map.bin"
+
+ .align 2
+ShoalCave_LowTideLowerRoom_MapAttributes: @ 843CF20
+ .4byte 0x1f
+ .4byte 0xe
+ .4byte ShoalCave_LowTideLowerRoom_MapBorder
+ .4byte ShoalCave_LowTideLowerRoom_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+ShoalCave_HighTideEntranceRoom_MapBorder: @ 843CF38
+ .incbin "data/maps/ShoalCave_HighTideEntranceRoom/border.bin"
+
+ .align 2
+ShoalCave_HighTideEntranceRoom_MapBlockdata: @ 843CF40
+ .incbin "data/maps/ShoalCave_HighTideEntranceRoom/map.bin"
+
+ .align 2
+ShoalCave_HighTideEntranceRoom_MapAttributes: @ 843D8D4
+ .4byte 0x23
+ .4byte 0x23
+ .4byte ShoalCave_HighTideEntranceRoom_MapBorder
+ .4byte ShoalCave_HighTideEntranceRoom_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+ShoalCave_HighTideInnerRoom_MapBorder: @ 843D8EC
+ .incbin "data/maps/ShoalCave_HighTideInnerRoom/border.bin"
+
+ .align 2
+ShoalCave_HighTideInnerRoom_MapBlockdata: @ 843D8F4
+ .incbin "data/maps/ShoalCave_HighTideInnerRoom/map.bin"
+
+ .align 2
+ShoalCave_HighTideInnerRoom_MapAttributes: @ 843E69C
+ .4byte 0x2e
+ .4byte 0x26
+ .4byte ShoalCave_HighTideInnerRoom_MapBorder
+ .4byte ShoalCave_HighTideInnerRoom_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+UnknownMapBorder_0843E6C0: @ 843E6B4
+ .incbin "data/maps/UnknownMap_0843E6C0/border.bin"
+
+ .align 2
+UnknownMapBlockdata_0843E6C0: @ 843E6BC
+ .incbin "data/maps/UnknownMap_0843E6C0/map.bin"
+
+ .align 2
+UnknownMapAttributes_0843E6C0: @ 843E6C0
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMapBorder_0843E6C0
+ .4byte UnknownMapBlockdata_0843E6C0
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+UnknownMapBorder_0843E6E4: @ 843E6D8
+ .incbin "data/maps/UnknownMap_0843E6E4/border.bin"
+
+ .align 2
+UnknownMapBlockdata_0843E6E4: @ 843E6E0
+ .incbin "data/maps/UnknownMap_0843E6E4/map.bin"
+
+ .align 2
+UnknownMapAttributes_0843E6E4: @ 843E6E4
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMapBorder_0843E6E4
+ .4byte UnknownMapBlockdata_0843E6E4
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+UnknownMapBorder_0843E708: @ 843E6FC
+ .incbin "data/maps/UnknownMap_0843E708/border.bin"
+
+ .align 2
+UnknownMapBlockdata_0843E708: @ 843E704
+ .incbin "data/maps/UnknownMap_0843E708/map.bin"
+
+ .align 2
+UnknownMapAttributes_0843E708: @ 843E708
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMapBorder_0843E708
+ .4byte UnknownMapBlockdata_0843E708
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+UnknownMapBorder_0843E72C: @ 843E720
+ .incbin "data/maps/UnknownMap_0843E72C/border.bin"
+
+ .align 2
+UnknownMapBlockdata_0843E72C: @ 843E728
+ .incbin "data/maps/UnknownMap_0843E72C/map.bin"
+
+ .align 2
+UnknownMapAttributes_0843E72C: @ 843E72C
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMapBorder_0843E72C
+ .4byte UnknownMapBlockdata_0843E72C
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+UnknownMapBorder_0843E750: @ 843E744
+ .incbin "data/maps/UnknownMap_0843E750/border.bin"
+
+ .align 2
+UnknownMapBlockdata_0843E750: @ 843E74C
+ .incbin "data/maps/UnknownMap_0843E750/map.bin"
+
+ .align 2
+UnknownMapAttributes_0843E750: @ 843E750
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMapBorder_0843E750
+ .4byte UnknownMapBlockdata_0843E750
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+UnknownMapBorder_0843E774: @ 843E768
+ .incbin "data/maps/UnknownMap_0843E774/border.bin"
+
+ .align 2
+UnknownMapBlockdata_0843E774: @ 843E770
+ .incbin "data/maps/UnknownMap_0843E774/map.bin"
+
+ .align 2
+UnknownMapAttributes_0843E774: @ 843E774
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMapBorder_0843E774
+ .4byte UnknownMapBlockdata_0843E774
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+UnknownMapBorder_0843E798: @ 843E78C
+ .incbin "data/maps/UnknownMap_0843E798/border.bin"
+
+ .align 2
+UnknownMapBlockdata_0843E798: @ 843E794
+ .incbin "data/maps/UnknownMap_0843E798/map.bin"
+
+ .align 2
+UnknownMapAttributes_0843E798: @ 843E798
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMapBorder_0843E798
+ .4byte UnknownMapBlockdata_0843E798
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+UnknownMapBorder_0843E7BC: @ 843E7B0
+ .incbin "data/maps/UnknownMap_0843E7BC/border.bin"
+
+ .align 2
+UnknownMapBlockdata_0843E7BC: @ 843E7B8
+ .incbin "data/maps/UnknownMap_0843E7BC/map.bin"
+
+ .align 2
+UnknownMapAttributes_0843E7BC: @ 843E7BC
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMapBorder_0843E7BC
+ .4byte UnknownMapBlockdata_0843E7BC
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+UnknownMapBorder_0843E7E0: @ 843E7D4
+ .incbin "data/maps/UnknownMap_0843E7E0/border.bin"
+
+ .align 2
+UnknownMapBlockdata_0843E7E0: @ 843E7DC
+ .incbin "data/maps/UnknownMap_0843E7E0/map.bin"
+
+ .align 2
+UnknownMapAttributes_0843E7E0: @ 843E7E0
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMapBorder_0843E7E0
+ .4byte UnknownMapBlockdata_0843E7E0
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+UnknownMapBorder_0843E804: @ 843E7F8
+ .incbin "data/maps/UnknownMap_0843E804/border.bin"
+
+ .align 2
+UnknownMapBlockdata_0843E804: @ 843E800
+ .incbin "data/maps/UnknownMap_0843E804/map.bin"
+
+ .align 2
+UnknownMapAttributes_0843E804: @ 843E804
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMapBorder_0843E804
+ .4byte UnknownMapBlockdata_0843E804
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+UnknownMapBorder_0843E828: @ 843E81C
+ .incbin "data/maps/UnknownMap_0843E828/border.bin"
+
+ .align 2
+UnknownMapBlockdata_0843E828: @ 843E824
+ .incbin "data/maps/UnknownMap_0843E828/map.bin"
+
+ .align 2
+UnknownMapAttributes_0843E828: @ 843E828
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMapBorder_0843E828
+ .4byte UnknownMapBlockdata_0843E828
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+UnknownMapBorder_0843E84C: @ 843E840
+ .incbin "data/maps/UnknownMap_0843E84C/border.bin"
+
+ .align 2
+UnknownMapBlockdata_0843E84C: @ 843E848
+ .incbin "data/maps/UnknownMap_0843E84C/map.bin"
+
+ .align 2
+UnknownMapAttributes_0843E84C: @ 843E84C
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMapBorder_0843E84C
+ .4byte UnknownMapBlockdata_0843E84C
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+UnknownMapBorder_0843E870: @ 843E864
+ .incbin "data/maps/UnknownMap_0843E870/border.bin"
+
+ .align 2
+UnknownMapBlockdata_0843E870: @ 843E86C
+ .incbin "data/maps/UnknownMap_0843E870/map.bin"
+
+ .align 2
+UnknownMapAttributes_0843E870: @ 843E870
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMapBorder_0843E870
+ .4byte UnknownMapBlockdata_0843E870
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+UnknownMapBorder_0843E894: @ 843E888
+ .incbin "data/maps/UnknownMap_0843E894/border.bin"
+
+UnknownMapBlockdata_0843E894: @ 843E890
+ .incbin "data/maps/UnknownMap_0843E894/map.bin"
+
+ .align 2
+UnknownMapAttributes_0843E894: @ 843E894
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMapBorder_0843E894
+ .4byte UnknownMapBlockdata_0843E894
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+NewMauville_Entrance_MapBorder: @ 843E8AC
+ .incbin "data/maps/NewMauville_Entrance/border.bin"
+
+ .align 2
+NewMauville_Entrance_MapBlockdata: @ 843E8B4
+ .incbin "data/maps/NewMauville_Entrance/map.bin"
+
+ .align 2
+NewMauville_Entrance_MapAttributes: @ 843E958
+ .4byte 0x9
+ .4byte 0x9
+ .4byte NewMauville_Entrance_MapBorder
+ .4byte NewMauville_Entrance_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+NewMauville_Inside_MapBorder: @ 843E970
+ .incbin "data/maps/NewMauville_Inside/border.bin"
+
+ .align 2
+NewMauville_Inside_MapBlockdata: @ 843E978
+ .incbin "data/maps/NewMauville_Inside/map.bin"
+
+ .align 2
+NewMauville_Inside_MapAttributes: @ 843F69C
+ .4byte 0x29
+ .4byte 0x29
+ .4byte NewMauville_Inside_MapBorder
+ .4byte NewMauville_Inside_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_BikeShop
+
+ .align 2
+AbandonedShip_Deck_MapBorder: @ 843F6B4
+ .incbin "data/maps/AbandonedShip_Deck/border.bin"
+
+ .align 2
+AbandonedShip_Deck_MapBlockdata: @ 843F6BC
+ .incbin "data/maps/AbandonedShip_Deck/map.bin"
+
+ .align 2
+AbandonedShip_Deck_MapAttributes: @ 843FA84
+ .4byte 0x17
+ .4byte 0x15
+ .4byte AbandonedShip_Deck_MapBorder
+ .4byte AbandonedShip_Deck_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+AbandonedShip_Corridors_1F_MapBorder: @ 843FA9C
+ .incbin "data/maps/AbandonedShip_Corridors_1F/border.bin"
+
+ .align 2
+AbandonedShip_Corridors_1F_MapBlockdata: @ 843FAA4
+ .incbin "data/maps/AbandonedShip_Corridors_1F/map.bin"
+
+ .align 2
+AbandonedShip_Corridors_1F_MapAttributes: @ 843FC54
+ .4byte 0x12
+ .4byte 0xc
+ .4byte AbandonedShip_Corridors_1F_MapBorder
+ .4byte AbandonedShip_Corridors_1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_InsideShip
+
+ .align 2
+AbandonedShip_Rooms_1F_MapBorder: @ 843FC6C
+ .incbin "data/maps/AbandonedShip_Rooms_1F/border.bin"
+
+ .align 2
+AbandonedShip_Rooms_1F_MapBlockdata: @ 843FC74
+ .incbin "data/maps/AbandonedShip_Rooms_1F/map.bin"
+
+ .align 2
+AbandonedShip_Rooms_1F_MapAttributes: @ 843FED8
+ .4byte 0x12
+ .4byte 0x11
+ .4byte AbandonedShip_Rooms_1F_MapBorder
+ .4byte AbandonedShip_Rooms_1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_InsideShip
+
+ .align 2
+AbandonedShip_Corridors_B1F_MapBorder: @ 843FEF0
+ .incbin "data/maps/AbandonedShip_Corridors_B1F/border.bin"
+
+ .align 2
+AbandonedShip_Corridors_B1F_MapBlockdata: @ 843FEF8
+ .incbin "data/maps/AbandonedShip_Corridors_B1F/map.bin"
+
+ .align 2
+AbandonedShip_Corridors_B1F_MapAttributes: @ 843FFFC
+ .4byte 0xd
+ .4byte 0xa
+ .4byte AbandonedShip_Corridors_B1F_MapBorder
+ .4byte AbandonedShip_Corridors_B1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_InsideShip
+
+ .align 2
+AbandonedShip_Rooms_B1F_MapBorder: @ 8440014
+ .incbin "data/maps/AbandonedShip_Rooms_B1F/border.bin"
+
+ .align 2
+AbandonedShip_Rooms_B1F_MapBlockdata: @ 844001C
+ .incbin "data/maps/AbandonedShip_Rooms_B1F/map.bin"
+
+ .align 2
+AbandonedShip_Rooms_B1F_MapAttributes: @ 84401CC
+ .4byte 0x1b
+ .4byte 0x8
+ .4byte AbandonedShip_Rooms_B1F_MapBorder
+ .4byte AbandonedShip_Rooms_B1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_InsideShip
+
+ .align 2
+AbandonedShip_Rooms2_B1F_MapBorder: @ 84401E4
+ .incbin "data/maps/AbandonedShip_Rooms2_B1F/border.bin"
+
+ .align 2
+AbandonedShip_Rooms2_B1F_MapBlockdata: @ 84401EC
+ .incbin "data/maps/AbandonedShip_Rooms2_B1F/map.bin"
+
+ .align 2
+AbandonedShip_Rooms2_B1F_MapAttributes: @ 844030C
+ .4byte 0x12
+ .4byte 0x8
+ .4byte AbandonedShip_Rooms2_B1F_MapBorder
+ .4byte AbandonedShip_Rooms2_B1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_InsideShip
+
+ .align 2
+AbandonedShip_Underwater1_MapBorder: @ 8440324
+ .incbin "data/maps/AbandonedShip_Underwater1/border.bin"
+
+ .align 2
+AbandonedShip_Underwater1_MapBlockdata: @ 844032C
+ .incbin "data/maps/AbandonedShip_Underwater1/map.bin"
+
+ .align 2
+AbandonedShip_Underwater1_MapAttributes: @ 84403AC
+ .4byte 0x8
+ .4byte 0x8
+ .4byte AbandonedShip_Underwater1_MapBorder
+ .4byte AbandonedShip_Underwater1_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_InsideShip
+
+ .align 2
+AbandonedShip_Room_B1F_MapBorder: @ 84403C4
+ .incbin "data/maps/AbandonedShip_Room_B1F/border.bin"
+
+ .align 2
+AbandonedShip_Room_B1F_MapBlockdata: @ 84403CC
+ .incbin "data/maps/AbandonedShip_Room_B1F/map.bin"
+
+ .align 2
+AbandonedShip_Room_B1F_MapAttributes: @ 844045C
+ .4byte 0x9
+ .4byte 0x8
+ .4byte AbandonedShip_Room_B1F_MapBorder
+ .4byte AbandonedShip_Room_B1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_InsideShip
+
+ .align 2
+AbandonedShip_Rooms2_1F_MapBorder: @ 8440474
+ .incbin "data/maps/AbandonedShip_Rooms2_1F/border.bin"
+
+ .align 2
+AbandonedShip_Rooms2_1F_MapBlockdata: @ 844047C
+ .incbin "data/maps/AbandonedShip_Rooms2_1F/map.bin"
+
+ .align 2
+AbandonedShip_Rooms2_1F_MapAttributes: @ 84405B0
+ .4byte 0x9
+ .4byte 0x11
+ .4byte AbandonedShip_Rooms2_1F_MapBorder
+ .4byte AbandonedShip_Rooms2_1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_InsideShip
+
+ .align 2
+AbandonedShip_CaptainsOffice_MapBorder: @ 84405C8
+ .incbin "data/maps/AbandonedShip_CaptainsOffice/border.bin"
+
+ .align 2
+AbandonedShip_CaptainsOffice_MapBlockdata: @ 84405D0
+ .incbin "data/maps/AbandonedShip_CaptainsOffice/map.bin"
+
+ .align 2
+AbandonedShip_CaptainsOffice_MapAttributes: @ 8440650
+ .4byte 0x9
+ .4byte 0x7
+ .4byte AbandonedShip_CaptainsOffice_MapBorder
+ .4byte AbandonedShip_CaptainsOffice_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+AbandonedShip_Underwater2_MapBorder: @ 8440668
+ .incbin "data/maps/AbandonedShip_Underwater2/border.bin"
+
+ .align 2
+AbandonedShip_Underwater2_MapBlockdata: @ 8440670
+ .incbin "data/maps/AbandonedShip_Underwater2/map.bin"
+
+ .align 2
+AbandonedShip_Underwater2_MapAttributes: @ 8440798
+ .4byte 0x15
+ .4byte 0x7
+ .4byte AbandonedShip_Underwater2_MapBorder
+ .4byte AbandonedShip_Underwater2_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_InsideShip
+
+ .align 2
+SecretBase_RedCave1_MapBorder: @ 84407B0
+ .incbin "data/maps/SecretBase_RedCave1/border.bin"
+
+ .align 2
+SecretBase_RedCave1_MapBlockdata: @ 84407B8
+ .incbin "data/maps/SecretBase_RedCave1/map.bin"
+
+ .align 2
+SecretBase_RedCave1_MapAttributes: @ 8440880
+ .4byte 0xb
+ .4byte 0x9
+ .4byte SecretBase_RedCave1_MapBorder
+ .4byte SecretBase_RedCave1_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseRedCave
+
+ .align 2
+SecretBase_BrownCave1_MapBorder: @ 8440898
+ .incbin "data/maps/SecretBase_BrownCave1/border.bin"
+
+ .align 2
+SecretBase_BrownCave1_MapBlockdata: @ 84408A0
+ .incbin "data/maps/SecretBase_BrownCave1/map.bin"
+
+ .align 2
+SecretBase_BrownCave1_MapAttributes: @ 8440968
+ .4byte 0xb
+ .4byte 0x9
+ .4byte SecretBase_BrownCave1_MapBorder
+ .4byte SecretBase_BrownCave1_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseBrownCave
+
+ .align 2
+SecretBase_BlueCave1_MapBorder: @ 8440980
+ .incbin "data/maps/SecretBase_BlueCave1/border.bin"
+
+ .align 2
+SecretBase_BlueCave1_MapBlockdata: @ 8440988
+ .incbin "data/maps/SecretBase_BlueCave1/map.bin"
+
+ .align 2
+SecretBase_BlueCave1_MapAttributes: @ 8440A50
+ .4byte 0xb
+ .4byte 0x9
+ .4byte SecretBase_BlueCave1_MapBorder
+ .4byte SecretBase_BlueCave1_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseBlueCave
+
+ .align 2
+SecretBase_YellowCave1_MapBorder: @ 8440A68
+ .incbin "data/maps/SecretBase_YellowCave1/border.bin"
+
+ .align 2
+SecretBase_YellowCave1_MapBlockdata: @ 8440A70
+ .incbin "data/maps/SecretBase_YellowCave1/map.bin"
+
+ .align 2
+SecretBase_YellowCave1_MapAttributes: @ 8440B38
+ .4byte 0xb
+ .4byte 0x9
+ .4byte SecretBase_YellowCave1_MapBorder
+ .4byte SecretBase_YellowCave1_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseYellowCave
+
+ .align 2
+SecretBase_Tree1_MapBorder: @ 8440B50
+ .incbin "data/maps/SecretBase_Tree1/border.bin"
+
+ .align 2
+SecretBase_Tree1_MapBlockdata: @ 8440B58
+ .incbin "data/maps/SecretBase_Tree1/map.bin"
+
+ .align 2
+SecretBase_Tree1_MapAttributes: @ 8440C20
+ .4byte 0xb
+ .4byte 0x9
+ .4byte SecretBase_Tree1_MapBorder
+ .4byte SecretBase_Tree1_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseTree
+
+ .align 2
+SecretBase_Shrub1_MapBorder: @ 8440C38
+ .incbin "data/maps/SecretBase_Shrub1/border.bin"
+
+ .align 2
+SecretBase_Shrub1_MapBlockdata: @ 8440C40
+ .incbin "data/maps/SecretBase_Shrub1/map.bin"
+
+ .align 2
+SecretBase_Shrub1_MapAttributes: @ 8440D08
+ .4byte 0xb
+ .4byte 0x9
+ .4byte SecretBase_Shrub1_MapBorder
+ .4byte SecretBase_Shrub1_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseShrub
+
+ .align 2
+SecretBase_RedCave2_MapBorder: @ 8440D20
+ .incbin "data/maps/SecretBase_RedCave2/border.bin"
+
+ .align 2
+SecretBase_RedCave2_MapBlockdata: @ 8440D28
+ .incbin "data/maps/SecretBase_RedCave2/map.bin"
+
+ .align 2
+SecretBase_RedCave2_MapAttributes: @ 8440E08
+ .4byte 0x7
+ .4byte 0x10
+ .4byte SecretBase_RedCave2_MapBorder
+ .4byte SecretBase_RedCave2_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseRedCave
+
+ .align 2
+SecretBase_BrownCave2_MapBorder: @ 8440E20
+ .incbin "data/maps/SecretBase_BrownCave2/border.bin"
+
+ .align 2
+SecretBase_BrownCave2_MapBlockdata: @ 8440E28
+ .incbin "data/maps/SecretBase_BrownCave2/map.bin"
+
+ .align 2
+SecretBase_BrownCave2_MapAttributes: @ 8440F24
+ .4byte 0xe
+ .4byte 0x9
+ .4byte SecretBase_BrownCave2_MapBorder
+ .4byte SecretBase_BrownCave2_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseBrownCave
+
+ .align 2
+SecretBase_BlueCave2_MapBorder: @ 8440F3C
+ .incbin "data/maps/SecretBase_BlueCave2/border.bin"
+
+ .align 2
+SecretBase_BlueCave2_MapBlockdata: @ 8440F44
+ .incbin "data/maps/SecretBase_BlueCave2/map.bin"
+
+ .align 2
+SecretBase_BlueCave2_MapAttributes: @ 8441018
+ .4byte 0xf
+ .4byte 0x7
+ .4byte SecretBase_BlueCave2_MapBorder
+ .4byte SecretBase_BlueCave2_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseBlueCave
+
+ .align 2
+SecretBase_YellowCave2_MapBorder: @ 8441030
+ .incbin "data/maps/SecretBase_YellowCave2/border.bin"
+
+ .align 2
+SecretBase_YellowCave2_MapBlockdata: @ 8441038
+ .incbin "data/maps/SecretBase_YellowCave2/map.bin"
+
+ .align 2
+SecretBase_YellowCave2_MapAttributes: @ 8441134
+ .4byte 0xe
+ .4byte 0x9
+ .4byte SecretBase_YellowCave2_MapBorder
+ .4byte SecretBase_YellowCave2_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseYellowCave
+
+ .align 2
+SecretBase_Tree2_MapBorder: @ 844114C
+ .incbin "data/maps/SecretBase_Tree2/border.bin"
+
+ .align 2
+SecretBase_Tree2_MapBlockdata: @ 8441154
+ .incbin "data/maps/SecretBase_Tree2/map.bin"
+
+ .align 2
+SecretBase_Tree2_MapAttributes: @ 8441234
+ .4byte 0x7
+ .4byte 0x10
+ .4byte SecretBase_Tree2_MapBorder
+ .4byte SecretBase_Tree2_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseTree
+
+ .align 2
+SecretBase_Shrub2_MapBorder: @ 844124C
+ .incbin "data/maps/SecretBase_Shrub2/border.bin"
+
+ .align 2
+SecretBase_Shrub2_MapBlockdata: @ 8441254
+ .incbin "data/maps/SecretBase_Shrub2/map.bin"
+
+ .align 2
+SecretBase_Shrub2_MapAttributes: @ 8441328
+ .4byte 0xf
+ .4byte 0x7
+ .4byte SecretBase_Shrub2_MapBorder
+ .4byte SecretBase_Shrub2_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseShrub
+
+ .align 2
+SecretBase_RedCave3_MapBorder: @ 8441340
+ .incbin "data/maps/SecretBase_RedCave3/border.bin"
+
+ .align 2
+SecretBase_RedCave3_MapBlockdata: @ 8441348
+ .incbin "data/maps/SecretBase_RedCave3/map.bin"
+
+ .align 2
+SecretBase_RedCave3_MapAttributes: @ 8441438
+ .4byte 0xf
+ .4byte 0x8
+ .4byte SecretBase_RedCave3_MapBorder
+ .4byte SecretBase_RedCave3_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseRedCave
+
+ .align 2
+SecretBase_BrownCave3_MapBorder: @ 8441450
+ .incbin "data/maps/SecretBase_BrownCave3/border.bin"
+
+ .align 2
+SecretBase_BrownCave3_MapBlockdata: @ 8441458
+ .incbin "data/maps/SecretBase_BrownCave3/map.bin"
+
+ .align 2
+SecretBase_BrownCave3_MapAttributes: @ 84415A4
+ .4byte 0xf
+ .4byte 0xb
+ .4byte SecretBase_BrownCave3_MapBorder
+ .4byte SecretBase_BrownCave3_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseBrownCave
+
+ .align 2
+SecretBase_BlueCave3_MapBorder: @ 84415BC
+ .incbin "data/maps/SecretBase_BlueCave3/border.bin"
+
+ .align 2
+SecretBase_BlueCave3_MapBlockdata: @ 84415C4
+ .incbin "data/maps/SecretBase_BlueCave3/map.bin"
+
+ .align 2
+SecretBase_BlueCave3_MapAttributes: @ 8441718
+ .4byte 0xa
+ .4byte 0x11
+ .4byte SecretBase_BlueCave3_MapBorder
+ .4byte SecretBase_BlueCave3_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseBlueCave
+
+ .align 2
+SecretBase_YellowCave3_MapBorder: @ 8441730
+ .incbin "data/maps/SecretBase_YellowCave3/border.bin"
+
+ .align 2
+SecretBase_YellowCave3_MapBlockdata: @ 8441738
+ .incbin "data/maps/SecretBase_YellowCave3/map.bin"
+
+ .align 2
+SecretBase_YellowCave3_MapAttributes: @ 8441840
+ .4byte 0xc
+ .4byte 0xb
+ .4byte SecretBase_YellowCave3_MapBorder
+ .4byte SecretBase_YellowCave3_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseYellowCave
+
+ .align 2
+SecretBase_Tree3_MapBorder: @ 8441858
+ .incbin "data/maps/SecretBase_Tree3/border.bin"
+
+ .align 2
+SecretBase_Tree3_MapBlockdata: @ 8441860
+ .incbin "data/maps/SecretBase_Tree3/map.bin"
+
+ .align 2
+SecretBase_Tree3_MapAttributes: @ 8441970
+ .4byte 0x11
+ .4byte 0x8
+ .4byte SecretBase_Tree3_MapBorder
+ .4byte SecretBase_Tree3_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseTree
+
+ .align 2
+SecretBase_Shrub3_MapBorder: @ 8441988
+ .incbin "data/maps/SecretBase_Shrub3/border.bin"
+
+ .align 2
+SecretBase_Shrub3_MapBlockdata: @ 8441990
+ .incbin "data/maps/SecretBase_Shrub3/map.bin"
+
+ .align 2
+SecretBase_Shrub3_MapAttributes: @ 8441AB0
+ .4byte 0xd
+ .4byte 0xb
+ .4byte SecretBase_Shrub3_MapBorder
+ .4byte SecretBase_Shrub3_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseShrub
+
+ .align 2
+SecretBase_RedCave4_MapBorder: @ 8441AC8
+ .incbin "data/maps/SecretBase_RedCave4/border.bin"
+
+ .align 2
+SecretBase_RedCave4_MapBlockdata: @ 8441AD0
+ .incbin "data/maps/SecretBase_RedCave4/map.bin"
+
+ .align 2
+SecretBase_RedCave4_MapAttributes: @ 8441BE0
+ .4byte 0x9
+ .4byte 0xf
+ .4byte SecretBase_RedCave4_MapBorder
+ .4byte SecretBase_RedCave4_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseRedCave
+
+ .align 2
+SecretBase_BrownCave4_MapBorder: @ 8441BF8
+ .incbin "data/maps/SecretBase_BrownCave4/border.bin"
+
+ .align 2
+SecretBase_BrownCave4_MapBlockdata: @ 8441C00
+ .incbin "data/maps/SecretBase_BrownCave4/map.bin"
+
+ .align 2
+SecretBase_BrownCave4_MapAttributes: @ 8441D50
+ .4byte 0xe
+ .4byte 0xc
+ .4byte SecretBase_BrownCave4_MapBorder
+ .4byte SecretBase_BrownCave4_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseBrownCave
+
+ .align 2
+SecretBase_BlueCave4_MapBorder: @ 8441D68
+ .incbin "data/maps/SecretBase_BlueCave4/border.bin"
+
+ .align 2
+SecretBase_BlueCave4_MapBlockdata: @ 8441D70
+ .incbin "data/maps/SecretBase_BlueCave4/map.bin"
+
+ .align 2
+SecretBase_BlueCave4_MapAttributes: @ 8441EA4
+ .4byte 0x9
+ .4byte 0x11
+ .4byte SecretBase_BlueCave4_MapBorder
+ .4byte SecretBase_BlueCave4_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseBlueCave
+
+ .align 2
+SecretBase_YellowCave4_MapBorder: @ 8441EBC
+ .incbin "data/maps/SecretBase_YellowCave4/border.bin"
+
+ .align 2
+SecretBase_YellowCave4_MapBlockdata: @ 8441EC4
+ .incbin "data/maps/SecretBase_YellowCave4/map.bin"
+
+ .align 2
+SecretBase_YellowCave4_MapAttributes: @ 8442030
+ .4byte 0xd
+ .4byte 0xe
+ .4byte SecretBase_YellowCave4_MapBorder
+ .4byte SecretBase_YellowCave4_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseYellowCave
+
+ .align 2
+SecretBase_Tree4_MapBorder: @ 8442048
+ .incbin "data/maps/SecretBase_Tree4/border.bin"
+
+ .align 2
+SecretBase_Tree4_MapBlockdata: @ 8442050
+ .incbin "data/maps/SecretBase_Tree4/map.bin"
+
+ .align 2
+SecretBase_Tree4_MapAttributes: @ 84421D8
+ .4byte 0xe
+ .4byte 0xe
+ .4byte SecretBase_Tree4_MapBorder
+ .4byte SecretBase_Tree4_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseTree
+
+ .align 2
+SecretBase_Shrub4_MapBorder: @ 84421F0
+ .incbin "data/maps/SecretBase_Shrub4/border.bin"
+
+ .align 2
+SecretBase_Shrub4_MapBlockdata: @ 84421F8
+ .incbin "data/maps/SecretBase_Shrub4/map.bin"
+
+ .align 2
+SecretBase_Shrub4_MapAttributes: @ 844232C
+ .4byte 0xe
+ .4byte 0xb
+ .4byte SecretBase_Shrub4_MapBorder
+ .4byte SecretBase_Shrub4_MapBlockdata
+ .4byte gTileset_SecretBase
+ .4byte gTileset_SecretBaseShrub
+
+ .align 2
+SingleBattleColosseum_MapBorder: @ 8442344
+ .incbin "data/maps/SingleBattleColosseum/border.bin"
+
+ .align 2
+SingleBattleColosseum_MapBlockdata: @ 844234C
+ .incbin "data/maps/SingleBattleColosseum/map.bin"
+
+ .align 2
+SingleBattleColosseum_MapAttributes: @ 8442448
+ .4byte 0xe
+ .4byte 0x9
+ .4byte SingleBattleColosseum_MapBorder
+ .4byte SingleBattleColosseum_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_CableClub
+
+ .align 2
+TradeCenter_MapBorder: @ 8442460
+ .incbin "data/maps/TradeCenter/border.bin"
+
+ .align 2
+TradeCenter_MapBlockdata: @ 8442468
+ .incbin "data/maps/TradeCenter/map.bin"
+
+ .align 2
+TradeCenter_MapAttributes: @ 8442540
+ .4byte 0xc
+ .4byte 0x9
+ .4byte TradeCenter_MapBorder
+ .4byte TradeCenter_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_CableClub
+
+ .align 2
+RecordCorner_MapBorder: @ 8442558
+ .incbin "data/maps/RecordCorner/border.bin"
+
+ .align 2
+RecordCorner_MapBlockdata: @ 8442560
+ .incbin "data/maps/RecordCorner/map.bin"
+
+ .align 2
+RecordCorner_MapAttributes: @ 84426F0
+ .4byte 0x14
+ .4byte 0xa
+ .4byte RecordCorner_MapBorder
+ .4byte RecordCorner_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_CableClub
+
+ .align 2
+DoubleBattleColosseum_MapBorder: @ 8442708
+ .incbin "data/maps/DoubleBattleColosseum/border.bin"
+
+ .align 2
+DoubleBattleColosseum_MapBlockdata: @ 8442710
+ .incbin "data/maps/DoubleBattleColosseum/map.bin"
+
+ .align 2
+DoubleBattleColosseum_MapAttributes: @ 844280C
+ .4byte 0xe
+ .4byte 0x9
+ .4byte DoubleBattleColosseum_MapBorder
+ .4byte DoubleBattleColosseum_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_CableClub
+
+ .align 2
+LinkContestRoom1_MapBorder: @ 8442824
+ .incbin "data/maps/LinkContestRoom1/border.bin"
+
+ .align 2
+LinkContestRoom1_MapBlockdata: @ 844282C
+ .incbin "data/maps/LinkContestRoom1/map.bin"
+
+ .align 2
+LinkContestRoom1_MapAttributes: @ 8442978
+ .4byte 0xf
+ .4byte 0xb
+ .4byte LinkContestRoom1_MapBorder
+ .4byte LinkContestRoom1_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Contest
+
+ .align 2
+UnknownMap_25_29_MapBorder: @ 8442990
+ .incbin "data/maps/UnknownMap_25_29/border.bin"
+
+ .align 2
+UnknownMap_25_29_MapBlockdata: @ 8442998
+ .incbin "data/maps/UnknownMap_25_29/map.bin"
+
+ .align 2
+UnknownMap_25_29_MapAttributes: @ 844299C
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMap_25_29_MapBorder
+ .4byte UnknownMap_25_29_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Contest
+
+ .align 2
+UnknownMap_25_30_MapBorder: @ 84429B4
+ .incbin "data/maps/UnknownMap_25_30/border.bin"
+
+ .align 2
+UnknownMap_25_30_MapBlockdata: @ 84429BC
+ .incbin "data/maps/UnknownMap_25_30/map.bin"
+
+ .align 2
+UnknownMap_25_30_MapAttributes: @ 84429C0
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMap_25_30_MapBorder
+ .4byte UnknownMap_25_30_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Contest
+
+ .align 2
+UnknownMap_25_31_MapBorder: @ 84429D8
+ .incbin "data/maps/UnknownMap_25_31/border.bin"
+
+ .align 2
+UnknownMap_25_31_MapBlockdata: @ 84429E0
+ .incbin "data/maps/UnknownMap_25_31/map.bin"
+
+ .align 2
+UnknownMap_25_31_MapAttributes: @ 84429E4
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMap_25_31_MapBorder
+ .4byte UnknownMap_25_31_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Contest
+
+ .align 2
+UnknownMap_25_32_MapBorder: @ 84429FC
+ .incbin "data/maps/UnknownMap_25_32/border.bin"
+
+ .align 2
+UnknownMap_25_32_MapBlockdata: @ 8442A04
+ .incbin "data/maps/UnknownMap_25_32/map.bin"
+
+ .align 2
+UnknownMap_25_32_MapAttributes: @ 8442A08
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMap_25_32_MapBorder
+ .4byte UnknownMap_25_32_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Contest
+
+ .align 2
+UnknownMap_25_33_MapBorder: @ 8442A20
+ .incbin "data/maps/UnknownMap_25_33/border.bin"
+
+ .align 2
+UnknownMap_25_33_MapBlockdata: @ 8442A28
+ .incbin "data/maps/UnknownMap_25_33/map.bin"
+
+ .align 2
+UnknownMap_25_33_MapAttributes: @ 8442A2C
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMap_25_33_MapBorder
+ .4byte UnknownMap_25_33_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Contest
+
+ .align 2
+UnknownMap_25_34_MapBorder: @ 8442A44
+ .incbin "data/maps/UnknownMap_25_34/border.bin"
+
+ .align 2
+UnknownMap_25_34_MapBlockdata: @ 8442A4C
+ .incbin "data/maps/UnknownMap_25_34/map.bin"
+
+ .align 2
+UnknownMap_25_34_MapAttributes: @ 8442A50
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMap_25_34_MapBorder
+ .4byte UnknownMap_25_34_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Contest
+
+ .align 2
+LinkContestRoom2_MapBorder: @ 8442A68
+ .incbin "data/maps/LinkContestRoom2/border.bin"
+
+ .align 2
+LinkContestRoom2_MapBlockdata: @ 8442A70
+ .incbin "data/maps/LinkContestRoom2/map.bin"
+
+ .align 2
+LinkContestRoom2_MapAttributes: @ 8442BBC
+ .4byte 0xf
+ .4byte 0xb
+ .4byte LinkContestRoom2_MapBorder
+ .4byte LinkContestRoom2_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Contest
+
+ .align 2
+LinkContestRoom3_MapBorder: @ 8442BD4
+ .incbin "data/maps/LinkContestRoom3/border.bin"
+
+ .align 2
+LinkContestRoom3_MapBlockdata: @ 8442BDC
+ .incbin "data/maps/LinkContestRoom3/map.bin"
+
+ .align 2
+LinkContestRoom3_MapAttributes: @ 8442D28
+ .4byte 0xf
+ .4byte 0xb
+ .4byte LinkContestRoom3_MapBorder
+ .4byte LinkContestRoom3_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Contest
+
+ .align 2
+LinkContestRoom4_MapBorder: @ 8442D40
+ .incbin "data/maps/LinkContestRoom4/border.bin"
+
+ .align 2
+LinkContestRoom4_MapBlockdata: @ 8442D48
+ .incbin "data/maps/LinkContestRoom4/map.bin"
+
+ .align 2
+LinkContestRoom4_MapAttributes: @ 8442E94
+ .4byte 0xf
+ .4byte 0xb
+ .4byte LinkContestRoom4_MapBorder
+ .4byte LinkContestRoom4_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Contest
+
+ .align 2
+LinkContestRoom5_MapBorder: @ 8442EAC
+ .incbin "data/maps/LinkContestRoom5/border.bin"
+
+ .align 2
+LinkContestRoom5_MapBlockdata: @ 8442EB4
+ .incbin "data/maps/LinkContestRoom5/map.bin"
+
+ .align 2
+LinkContestRoom5_MapAttributes: @ 8443000
+ .4byte 0xf
+ .4byte 0xb
+ .4byte LinkContestRoom5_MapBorder
+ .4byte LinkContestRoom5_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Contest
+
+ .align 2
+LinkContestRoom6_MapBorder: @ 8443018
+ .incbin "data/maps/LinkContestRoom6/border.bin"
+
+ .align 2
+LinkContestRoom6_MapBlockdata: @ 8443020
+ .incbin "data/maps/LinkContestRoom6/map.bin"
+
+ .align 2
+LinkContestRoom6_MapAttributes: @ 844316C
+ .4byte 0xf
+ .4byte 0xb
+ .4byte LinkContestRoom6_MapBorder
+ .4byte LinkContestRoom6_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Contest
+
+ .align 2
+InsideOfTruck_MapBorder: @ 8443184
+ .incbin "data/maps/InsideOfTruck/border.bin"
+
+ .align 2
+InsideOfTruck_MapBlockdata: @ 844318C
+ .incbin "data/maps/InsideOfTruck/map.bin"
+
+ .align 2
+InsideOfTruck_MapAttributes: @ 84431C0
+ .4byte 0x5
+ .4byte 0x5
+ .4byte InsideOfTruck_MapBorder
+ .4byte InsideOfTruck_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_InsideOfTruck
+
+ .align 2
+SafariZone_Northwest_MapBorder: @ 84431D8
+ .incbin "data/maps/SafariZone_Northwest/border.bin"
+
+ .align 2
+SafariZone_Northwest_MapBlockdata: @ 84431E0
+ .incbin "data/maps/SafariZone_Northwest/map.bin"
+
+ .align 2
+SafariZone_Northwest_MapAttributes: @ 8443E60
+ .4byte 0x28
+ .4byte 0x28
+ .4byte SafariZone_Northwest_MapBorder
+ .4byte SafariZone_Northwest_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lilycove
+
+ .align 2
+SafariZone_North_MapBorder: @ 8443E78
+ .incbin "data/maps/SafariZone_North/border.bin"
+
+ .align 2
+SafariZone_North_MapBlockdata: @ 8443E80
+ .incbin "data/maps/SafariZone_North/map.bin"
+
+ .align 2
+SafariZone_North_MapAttributes: @ 8444B00
+ .4byte 0x28
+ .4byte 0x28
+ .4byte SafariZone_North_MapBorder
+ .4byte SafariZone_North_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lilycove
+
+ .align 2
+SafariZone_Southwest_MapBorder: @ 8444B18
+ .incbin "data/maps/SafariZone_Southwest/border.bin"
+
+ .align 2
+SafariZone_Southwest_MapBlockdata: @ 8444B20
+ .incbin "data/maps/SafariZone_Southwest/map.bin"
+
+ .align 2
+SafariZone_Southwest_MapAttributes: @ 84457A0
+ .4byte 0x28
+ .4byte 0x28
+ .4byte SafariZone_Southwest_MapBorder
+ .4byte SafariZone_Southwest_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lilycove
+
+ .align 2
+SafariZone_South_MapBorder: @ 84457B8
+ .incbin "data/maps/SafariZone_South/border.bin"
+
+ .align 2
+SafariZone_South_MapBlockdata: @ 84457C0
+ .incbin "data/maps/SafariZone_South/map.bin"
+
+ .align 2
+SafariZone_South_MapAttributes: @ 8446440
+ .4byte 0x28
+ .4byte 0x28
+ .4byte SafariZone_South_MapBorder
+ .4byte SafariZone_South_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lilycove
+
+ .align 2
+UnknownMapBorder_08447028: @ 8446458
+ .incbin "data/maps/UnknownMap_08447028/border.bin"
+
+ .align 2
+UnknownMapBlockdata_08447028: @ 8446460
+ .incbin "data/maps/UnknownMap_08447028/map.bin"
+
+ .align 2
+UnknownMapAttributes_08447028: @ 8447028
+ .4byte 0x3A
+ .4byte 0x1A
+ .4byte UnknownMapBorder_08447028
+ .4byte UnknownMapBlockdata_08447028
+ .4byte gTileset_General
+ .4byte 0
+
+ .align 2
+Route109_SeashoreHouse_MapBorder: @ 8447040
+ .incbin "data/maps/Route109_SeashoreHouse/border.bin"
+
+ .align 2
+Route109_SeashoreHouse_MapBlockdata: @ 8447048
+ .incbin "data/maps/Route109_SeashoreHouse/map.bin"
+
+ .align 2
+Route109_SeashoreHouse_MapAttributes: @ 8447174
+ .4byte 0xf
+ .4byte 0xa
+ .4byte Route109_SeashoreHouse_MapBorder
+ .4byte Route109_SeashoreHouse_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_SeashoreHouse
+
+ .align 2
+Route110_TrickHouseEntrance_MapBorder: @ 844718C
+ .incbin "data/maps/Route110_TrickHouseEntrance/border.bin"
+
+ .align 2
+Route110_TrickHouseEntrance_MapBlockdata: @ 8447194
+ .incbin "data/maps/Route110_TrickHouseEntrance/map.bin"
+
+ .align 2
+Route110_TrickHouseEntrance_MapAttributes: @ 8447254
+ .4byte 0xc
+ .4byte 0x8
+ .4byte Route110_TrickHouseEntrance_MapBorder
+ .4byte Route110_TrickHouseEntrance_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+Route110_TrickHouseEnd_MapBorder: @ 844726C
+ .incbin "data/maps/Route110_TrickHouseEnd/border.bin"
+
+ .align 2
+Route110_TrickHouseEnd_MapBlockdata: @ 8447274
+ .incbin "data/maps/Route110_TrickHouseEnd/map.bin"
+
+ .align 2
+Route110_TrickHouseEnd_MapAttributes: @ 8447334
+ .4byte 0xc
+ .4byte 0x8
+ .4byte Route110_TrickHouseEnd_MapBorder
+ .4byte Route110_TrickHouseEnd_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+Route110_TrickHouseCorridor_MapBorder: @ 844734C
+ .incbin "data/maps/Route110_TrickHouseCorridor/border.bin"
+
+ .align 2
+Route110_TrickHouseCorridor_MapBlockdata: @ 8447354
+ .incbin "data/maps/Route110_TrickHouseCorridor/map.bin"
+
+ .align 2
+Route110_TrickHouseCorridor_MapAttributes: @ 8447624
+ .4byte 0xf
+ .4byte 0x18
+ .4byte Route110_TrickHouseCorridor_MapBorder
+ .4byte Route110_TrickHouseCorridor_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+Route110_TrickHousePuzzle1_MapBorder: @ 844763C
+ .incbin "data/maps/Route110_TrickHousePuzzle1/border.bin"
+
+ .align 2
+Route110_TrickHousePuzzle1_MapBlockdata: @ 8447644
+ .incbin "data/maps/Route110_TrickHousePuzzle1/map.bin"
+
+ .align 2
+Route110_TrickHousePuzzle1_MapAttributes: @ 84478D8
+ .4byte 0xf
+ .4byte 0x16
+ .4byte Route110_TrickHousePuzzle1_MapBorder
+ .4byte Route110_TrickHousePuzzle1_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_TrickHousePuzzle
+
+ .align 2
+Route110_TrickHousePuzzle2_MapBorder: @ 84478F0
+ .incbin "data/maps/Route110_TrickHousePuzzle2/border.bin"
+
+ .align 2
+Route110_TrickHousePuzzle2_MapBlockdata: @ 84478F8
+ .incbin "data/maps/Route110_TrickHousePuzzle2/map.bin"
+
+ .align 2
+Route110_TrickHousePuzzle2_MapAttributes: @ 8447B8C
+ .4byte 0xf
+ .4byte 0x16
+ .4byte Route110_TrickHousePuzzle2_MapBorder
+ .4byte Route110_TrickHousePuzzle2_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_TrickHousePuzzle
+
+ .align 2
+Route110_TrickHousePuzzle3_MapBorder: @ 8447BA4
+ .incbin "data/maps/Route110_TrickHousePuzzle3/border.bin"
+
+ .align 2
+Route110_TrickHousePuzzle3_MapBlockdata: @ 8447BAC
+ .incbin "data/maps/Route110_TrickHousePuzzle3/map.bin"
+
+ .align 2
+Route110_TrickHousePuzzle3_MapAttributes: @ 8447E40
+ .4byte 0xf
+ .4byte 0x16
+ .4byte Route110_TrickHousePuzzle3_MapBorder
+ .4byte Route110_TrickHousePuzzle3_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_TrickHousePuzzle
+
+ .align 2
+Route110_TrickHousePuzzle4_MapBorder: @ 8447E58
+ .incbin "data/maps/Route110_TrickHousePuzzle4/border.bin"
+
+ .align 2
+Route110_TrickHousePuzzle4_MapBlockdata: @ 8447E60
+ .incbin "data/maps/Route110_TrickHousePuzzle4/map.bin"
+
+ .align 2
+Route110_TrickHousePuzzle4_MapAttributes: @ 84480F4
+ .4byte 0xf
+ .4byte 0x16
+ .4byte Route110_TrickHousePuzzle4_MapBorder
+ .4byte Route110_TrickHousePuzzle4_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_TrickHousePuzzle
+
+ .align 2
+Route110_TrickHousePuzzle5_MapBorder: @ 844810C
+ .incbin "data/maps/Route110_TrickHousePuzzle5/border.bin"
+
+ .align 2
+Route110_TrickHousePuzzle5_MapBlockdata: @ 8448114
+ .incbin "data/maps/Route110_TrickHousePuzzle5/map.bin"
+
+ .align 2
+Route110_TrickHousePuzzle5_MapAttributes: @ 84483A8
+ .4byte 0xf
+ .4byte 0x16
+ .4byte Route110_TrickHousePuzzle5_MapBorder
+ .4byte Route110_TrickHousePuzzle5_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_TrickHousePuzzle
+
+ .align 2
+Route110_TrickHousePuzzle6_MapBorder: @ 84483C0
+ .incbin "data/maps/Route110_TrickHousePuzzle6/border.bin"
+
+ .align 2
+Route110_TrickHousePuzzle6_MapBlockdata: @ 84483C8
+ .incbin "data/maps/Route110_TrickHousePuzzle6/map.bin"
+
+ .align 2
+Route110_TrickHousePuzzle6_MapAttributes: @ 844865C
+ .4byte 0xf
+ .4byte 0x16
+ .4byte Route110_TrickHousePuzzle6_MapBorder
+ .4byte Route110_TrickHousePuzzle6_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_TrickHousePuzzle
+
+ .align 2
+Route110_TrickHousePuzzle7_MapBorder: @ 8448674
+ .incbin "data/maps/Route110_TrickHousePuzzle7/border.bin"
+
+ .align 2
+Route110_TrickHousePuzzle7_MapBlockdata: @ 844867C
+ .incbin "data/maps/Route110_TrickHousePuzzle7/map.bin"
+
+ .align 2
+Route110_TrickHousePuzzle7_MapAttributes: @ 8448910
+ .4byte 0xf
+ .4byte 0x16
+ .4byte Route110_TrickHousePuzzle7_MapBorder
+ .4byte Route110_TrickHousePuzzle7_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_TrickHousePuzzle
+
+ .align 2
+Route110_TrickHousePuzzle8_MapBorder: @ 8448928
+ .incbin "data/maps/Route110_TrickHousePuzzle8/border.bin"
+
+ .align 2
+Route110_TrickHousePuzzle8_MapBlockdata: @ 8448930
+ .incbin "data/maps/Route110_TrickHousePuzzle8/map.bin"
+
+ .align 2
+Route110_TrickHousePuzzle8_MapAttributes: @ 8448BC4
+ .4byte 0xf
+ .4byte 0x16
+ .4byte Route110_TrickHousePuzzle8_MapBorder
+ .4byte Route110_TrickHousePuzzle8_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_TrickHousePuzzle
+
+ .align 2
+FortreeCity_DecorationShop_MapBorder: @ 8448BDC
+ .incbin "data/maps/FortreeCity_DecorationShop/border.bin"
+
+ .align 2
+FortreeCity_DecorationShop_MapBlockdata: @ 8448BE4
+ .incbin "data/maps/FortreeCity_DecorationShop/map.bin"
+
+ .align 2
+FortreeCity_DecorationShop_MapAttributes: @ 8448C44
+ .4byte 0x8
+ .4byte 0x6
+ .4byte FortreeCity_DecorationShop_MapBorder
+ .4byte FortreeCity_DecorationShop_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+Route110_SeasideCyclingRoadEntrance1_MapBorder: @ 8448C5C
+ .incbin "data/maps/Route110_SeasideCyclingRoadEntrance1/border.bin"
+
+ .align 2
+Route110_SeasideCyclingRoadEntrance1_MapBlockdata: @ 8448C64
+ .incbin "data/maps/Route110_SeasideCyclingRoadEntrance1/map.bin"
+
+ .align 2
+Route110_SeasideCyclingRoadEntrance1_MapAttributes: @ 8448D18
+Route110_SeasideCyclingRoadEntrance2_MapAttributes: @ 8448D18
+ .4byte 0xf
+ .4byte 0x6
+ .4byte Route110_SeasideCyclingRoadEntrance1_MapBorder
+ .4byte Route110_SeasideCyclingRoadEntrance1_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Shop
+
+ .align 2
+LilycoveCity_DepartmentStore_1F_MapBorder: @ 8448D30
+ .incbin "data/maps/LilycoveCity_DepartmentStore_1F/border.bin"
+
+ .align 2
+LilycoveCity_DepartmentStore_1F_MapBlockdata: @ 8448D38
+ .incbin "data/maps/LilycoveCity_DepartmentStore_1F/map.bin"
+
+ .align 2
+LilycoveCity_DepartmentStore_1F_MapAttributes: @ 8448E58
+ .4byte 0x12
+ .4byte 0x8
+ .4byte LilycoveCity_DepartmentStore_1F_MapBorder
+ .4byte LilycoveCity_DepartmentStore_1F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Shop
+
+ .align 2
+LilycoveCity_DepartmentStore_2F_MapBorder: @ 8448E70
+ .incbin "data/maps/LilycoveCity_DepartmentStore_2F/border.bin"
+
+ .align 2
+LilycoveCity_DepartmentStore_2F_MapBlockdata: @ 8448E78
+ .incbin "data/maps/LilycoveCity_DepartmentStore_2F/map.bin"
+
+ .align 2
+LilycoveCity_DepartmentStore_2F_MapAttributes: @ 8448F98
+ .4byte 0x12
+ .4byte 0x8
+ .4byte LilycoveCity_DepartmentStore_2F_MapBorder
+ .4byte LilycoveCity_DepartmentStore_2F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Shop
+
+ .align 2
+LilycoveCity_DepartmentStore_3F_MapBorder: @ 8448FB0
+ .incbin "data/maps/LilycoveCity_DepartmentStore_3F/border.bin"
+
+ .align 2
+LilycoveCity_DepartmentStore_3F_MapBlockdata: @ 8448FB8
+ .incbin "data/maps/LilycoveCity_DepartmentStore_3F/map.bin"
+
+ .align 2
+LilycoveCity_DepartmentStore_3F_MapAttributes: @ 84490D8
+ .4byte 0x12
+ .4byte 0x8
+ .4byte LilycoveCity_DepartmentStore_3F_MapBorder
+ .4byte LilycoveCity_DepartmentStore_3F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Shop
+
+ .align 2
+LilycoveCity_DepartmentStore_4F_MapBorder: @ 84490F0
+ .incbin "data/maps/LilycoveCity_DepartmentStore_4F/border.bin"
+
+ .align 2
+LilycoveCity_DepartmentStore_4F_MapBlockdata: @ 84490F8
+ .incbin "data/maps/LilycoveCity_DepartmentStore_4F/map.bin"
+
+ .align 2
+LilycoveCity_DepartmentStore_4F_MapAttributes: @ 8449218
+ .4byte 0x12
+ .4byte 0x8
+ .4byte LilycoveCity_DepartmentStore_4F_MapBorder
+ .4byte LilycoveCity_DepartmentStore_4F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Shop
+
+ .align 2
+LilycoveCity_DepartmentStore_5F_MapBorder: @ 8449230
+ .incbin "data/maps/LilycoveCity_DepartmentStore_5F/border.bin"
+
+ .align 2
+LilycoveCity_DepartmentStore_5F_MapBlockdata: @ 8449238
+ .incbin "data/maps/LilycoveCity_DepartmentStore_5F/map.bin"
+
+ .align 2
+LilycoveCity_DepartmentStore_5F_MapAttributes: @ 8449358
+ .4byte 0x12
+ .4byte 0x8
+ .4byte LilycoveCity_DepartmentStore_5F_MapBorder
+ .4byte LilycoveCity_DepartmentStore_5F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Shop
+
+ .align 2
+LilycoveCity_DepartmentStoreRooftop_MapBorder: @ 8449370
+ .incbin "data/maps/LilycoveCity_DepartmentStoreRooftop/border.bin"
+
+ .align 2
+LilycoveCity_DepartmentStoreRooftop_MapBlockdata: @ 8449378
+ .incbin "data/maps/LilycoveCity_DepartmentStoreRooftop/map.bin"
+
+ .align 2
+LilycoveCity_DepartmentStoreRooftop_MapAttributes: @ 8449528
+ .4byte 0x12
+ .4byte 0xc
+ .4byte LilycoveCity_DepartmentStoreRooftop_MapBorder
+ .4byte LilycoveCity_DepartmentStoreRooftop_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Shop
+
+ .align 2
+Route130_MapBorder: @ 8449540
+ .incbin "data/maps/Route130/border.bin"
+
+ .align 2
+Route130_MapBlockdata: @ 8449548
+ .incbin "data/maps/Route130/map.bin"
+
+ .align 2
+Route130_MapAttributes: @ 844AE48
+ .4byte 0x50
+ .4byte 0x28
+ .4byte Route130_MapBorder
+ .4byte Route130_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+BattleFrontier_BattleTowerLobby_MapBorder: @ 844AE60
+ .incbin "data/maps/BattleFrontier_BattleTowerLobby/border.bin"
+
+ .align 2
+BattleFrontier_BattleTowerLobby_MapBlockdata: @ 844AE68
+ .incbin "data/maps/BattleFrontier_BattleTowerLobby/map.bin"
+
+ .align 2
+BattleFrontier_BattleTowerLobby_MapAttributes: @ 844B05C
+ .4byte 0x19
+ .4byte 0xa
+ .4byte BattleFrontier_BattleTowerLobby_MapBorder
+ .4byte BattleFrontier_BattleTowerLobby_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleFrontier
+
+ .align 2
+BattleFrontier_OutsideWest_MapBorder: @ 844B074
+ .incbin "data/maps/BattleFrontier_OutsideWest/border.bin"
+
+ .align 2
+BattleFrontier_OutsideWest_MapBlockdata: @ 844B07C
+ .incbin "data/maps/BattleFrontier_OutsideWest/map.bin"
+
+ .align 2
+BattleFrontier_OutsideWest_MapAttributes: @ 844CFFC
+ .4byte 0x38
+ .4byte 0x48
+ .4byte BattleFrontier_OutsideWest_MapBorder
+ .4byte BattleFrontier_OutsideWest_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_BattleFrontierOutsideWest
+
+ .align 2
+BattleFrontier_BattleTowerElevator_MapBorder: @ 844D014
+ .incbin "data/maps/BattleFrontier_BattleTowerElevator/border.bin"
+
+ .align 2
+BattleFrontier_BattleTowerElevator_MapBlockdata: @ 844D01C
+ .incbin "data/maps/BattleFrontier_BattleTowerElevator/map.bin"
+
+ .align 2
+BattleFrontier_BattleTowerElevator_MapAttributes: @ 844D064
+TrainerHill_Elevator_MapAttributes: @ 844D064
+ .4byte 0x5
+ .4byte 0x7
+ .4byte BattleFrontier_BattleTowerElevator_MapBorder
+ .4byte BattleFrontier_BattleTowerElevator_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleFrontier
+
+ .align 2
+BattleFrontier_BattleTowerCorridor_MapBorder: @ 844D07C
+ .incbin "data/maps/BattleFrontier_BattleTowerCorridor/border.bin"
+
+ .align 2
+BattleFrontier_BattleTowerCorridor_MapBlockdata: @ 844D084
+ .incbin "data/maps/BattleFrontier_BattleTowerCorridor/map.bin"
+
+ .align 2
+BattleFrontier_BattleTowerCorridor_MapAttributes: @ 844D130
+ .4byte 0x11
+ .4byte 0x5
+ .4byte BattleFrontier_BattleTowerCorridor_MapBorder
+ .4byte BattleFrontier_BattleTowerCorridor_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleFrontier
+
+ .align 2
+BattleFrontier_BattleTowerBattleRoom_MapBorder: @ 844D148
+ .incbin "data/maps/BattleFrontier_BattleTowerBattleRoom/border.bin"
+
+ .align 2
+BattleFrontier_BattleTowerBattleRoom_MapBlockdata: @ 844D150
+ .incbin "data/maps/BattleFrontier_BattleTowerBattleRoom/map.bin"
+
+ .align 2
+BattleFrontier_BattleTowerBattleRoom2_MapAttributes: @ 844D204
+BattleFrontier_BattleTowerBattleRoom_MapAttributes: @ 844D204
+ .4byte 0xa
+ .4byte 0x9
+ .4byte BattleFrontier_BattleTowerBattleRoom_MapBorder
+ .4byte BattleFrontier_BattleTowerBattleRoom_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleFrontier
+
+ .align 2
+RustboroCity_DevonCorp_3F_MapBorder: @ 844D21C
+ .incbin "data/maps/RustboroCity_DevonCorp_3F/border.bin"
+
+ .align 2
+RustboroCity_DevonCorp_3F_MapBlockdata: @ 844D224
+ .incbin "data/maps/RustboroCity_DevonCorp_3F/map.bin"
+
+ .align 2
+RustboroCity_DevonCorp_3F_MapAttributes: @ 844D37C
+ .4byte 0x13
+ .4byte 0x9
+ .4byte RustboroCity_DevonCorp_3F_MapBorder
+ .4byte RustboroCity_DevonCorp_3F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Facility
+
+ .align 2
+EverGrandeCity_PokemonLeague_1F_MapBorder: @ 844D394
+ .incbin "data/maps/EverGrandeCity_PokemonLeague_1F/border.bin"
+
+ .align 2
+EverGrandeCity_PokemonLeague_1F_MapBlockdata: @ 844D39C
+ .incbin "data/maps/EverGrandeCity_PokemonLeague_1F/map.bin"
+
+ .align 2
+EverGrandeCity_PokemonLeague_1F_MapAttributes: @ 844D564
+ .4byte 0x13
+ .4byte 0xc
+ .4byte EverGrandeCity_PokemonLeague_1F_MapBorder
+ .4byte EverGrandeCity_PokemonLeague_1F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_PokemonCenter
+
+ .align 2
+Route119_WeatherInstitute_1F_MapBorder: @ 844D57C
+ .incbin "data/maps/Route119_WeatherInstitute_1F/border.bin"
+
+ .align 2
+Route119_WeatherInstitute_1F_MapBlockdata: @ 844D584
+ .incbin "data/maps/Route119_WeatherInstitute_1F/map.bin"
+
+ .align 2
+Route119_WeatherInstitute_1F_MapAttributes: @ 844D78C
+ .4byte 0x14
+ .4byte 0xd
+ .4byte Route119_WeatherInstitute_1F_MapBorder
+ .4byte Route119_WeatherInstitute_1F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Lab
+
+ .align 2
+Route119_WeatherInstitute_2F_MapBorder: @ 844D7A4
+ .incbin "data/maps/Route119_WeatherInstitute_2F/border.bin"
+
+ .align 2
+Route119_WeatherInstitute_2F_MapBlockdata: @ 844D7AC
+ .incbin "data/maps/Route119_WeatherInstitute_2F/map.bin"
+
+ .align 2
+Route119_WeatherInstitute_2F_MapAttributes: @ 844D964
+ .4byte 0x14
+ .4byte 0xb
+ .4byte Route119_WeatherInstitute_2F_MapBorder
+ .4byte Route119_WeatherInstitute_2F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_Lab
+
+ .align 2
+LilycoveCity_DepartmentStoreElevator_MapBorder: @ 844D97C
+ .incbin "data/maps/LilycoveCity_DepartmentStoreElevator/border.bin"
+
+ .align 2
+LilycoveCity_DepartmentStoreElevator_MapBlockdata: @ 844D984
+ .incbin "data/maps/LilycoveCity_DepartmentStoreElevator/map.bin"
+
+ .align 2
+LilycoveCity_DepartmentStoreElevator_MapAttributes: @ 844D9C0
+ .4byte 0x5
+ .4byte 0x6
+ .4byte LilycoveCity_DepartmentStoreElevator_MapBorder
+ .4byte LilycoveCity_DepartmentStoreElevator_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleFrontier
+
+ .align 2
+Underwater1_MapBorder: @ 844D9D8
+ .incbin "data/maps/Underwater1/border.bin"
+
+ .align 2
+Underwater1_MapBlockdata: @ 844D9E0
+ .incbin "data/maps/Underwater1/map.bin"
+
+ .align 2
+Underwater1_MapAttributes: @ 8450BE0
+ .4byte 0x50
+ .4byte 0x50
+ .4byte Underwater1_MapBorder
+ .4byte Underwater1_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Underwater
+
+ .align 2
+MossdeepCity_SpaceCenter_1F_MapBorder: @ 8450BF8
+ .incbin "data/maps/MossdeepCity_SpaceCenter_1F/border.bin"
+
+ .align 2
+MossdeepCity_SpaceCenter_1F_MapBlockdata: @ 8450C00
+ .incbin "data/maps/MossdeepCity_SpaceCenter_1F/map.bin"
+
+ .align 2
+MossdeepCity_SpaceCenter_1F_MapAttributes: @ 8450D40
+ .4byte 0x10
+ .4byte 0xa
+ .4byte MossdeepCity_SpaceCenter_1F_MapBorder
+ .4byte MossdeepCity_SpaceCenter_1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+MossdeepCity_SpaceCenter_2F_MapBorder: @ 8450D58
+ .incbin "data/maps/MossdeepCity_SpaceCenter_2F/border.bin"
+
+ .align 2
+MossdeepCity_SpaceCenter_2F_MapBlockdata: @ 8450D60
+ .incbin "data/maps/MossdeepCity_SpaceCenter_2F/map.bin"
+
+ .align 2
+MossdeepCity_SpaceCenter_2F_MapAttributes: @ 8450EA0
+ .4byte 0x10
+ .4byte 0xa
+ .4byte MossdeepCity_SpaceCenter_2F_MapBorder
+ .4byte MossdeepCity_SpaceCenter_2F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+SSTidalCorridor_MapBorder: @ 8450EB8
+ .incbin "data/maps/SSTidalCorridor/border.bin"
+
+ .align 2
+SSTidalCorridor_MapBlockdata: @ 8450EC0
+ .incbin "data/maps/SSTidalCorridor/map.bin"
+
+ .align 2
+SSTidalCorridor_MapAttributes: @ 8451094
+ .4byte 0x12
+ .4byte 0xd
+ .4byte SSTidalCorridor_MapBorder
+ .4byte SSTidalCorridor_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_InsideShip
+
+ .align 2
+SSTidalLowerDeck_MapBorder: @ 84510AC
+ .incbin "data/maps/SSTidalLowerDeck/border.bin"
+
+ .align 2
+SSTidalLowerDeck_MapBlockdata: @ 84510B4
+ .incbin "data/maps/SSTidalLowerDeck/map.bin"
+
+ .align 2
+SSTidalLowerDeck_MapAttributes: @ 8451270
+ .4byte 0x11
+ .4byte 0xd
+ .4byte SSTidalLowerDeck_MapBorder
+ .4byte SSTidalLowerDeck_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_InsideShip
+
+ .align 2
+SSTidalRooms_MapBorder: @ 8451288
+ .incbin "data/maps/SSTidalRooms/border.bin"
+
+ .align 2
+SSTidalRooms_MapBlockdata: @ 8451290
+ .incbin "data/maps/SSTidalRooms/map.bin"
+
+ .align 2
+SSTidalRooms_MapAttributes: @ 84517A0
+ .4byte 0x24
+ .4byte 0x12
+ .4byte SSTidalRooms_MapBorder
+ .4byte SSTidalRooms_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_InsideShip
+
+ .align 2
+IslandCave_MapBorder: @ 84517B8
+ .incbin "data/maps/IslandCave/border.bin"
+
+ .align 2
+IslandCave_MapBlockdata: @ 84517C0
+ .incbin "data/maps/IslandCave/map.bin"
+
+ .align 2
+IslandCave_MapAttributes: @ 8451C24
+ .4byte 0x11
+ .4byte 0x21
+ .4byte IslandCave_MapBorder
+ .4byte IslandCave_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+AncientTomb_MapBorder: @ 8451C3C
+ .incbin "data/maps/AncientTomb/border.bin"
+
+ .align 2
+AncientTomb_MapBlockdata: @ 8451C44
+ .incbin "data/maps/AncientTomb/map.bin"
+
+ .align 2
+AncientTomb_MapAttributes: @ 84520A8
+ .4byte 0x11
+ .4byte 0x21
+ .4byte AncientTomb_MapBorder
+ .4byte AncientTomb_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+Underwater_Route134_MapBorder: @ 84520C0
+ .incbin "data/maps/Underwater_Route134/border.bin"
+
+ .align 2
+Underwater_Route134_MapBlockdata: @ 84520C8
+ .incbin "data/maps/Underwater_Route134/map.bin"
+
+ .align 2
+Underwater_Route134_MapAttributes: @ 8452230
+ .4byte 0x12
+ .4byte 0xa
+ .4byte Underwater_Route134_MapBorder
+ .4byte Underwater_Route134_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Underwater
+
+ .align 2
+Underwater_SealedChamber_MapBorder: @ 8452248
+ .incbin "data/maps/Underwater_SealedChamber/border.bin"
+
+ .align 2
+Underwater_SealedChamber_MapBlockdata: @ 8452250
+ .incbin "data/maps/Underwater_SealedChamber/map.bin"
+
+ .align 2
+Underwater_SealedChamber_MapAttributes: @ 8452A90
+ .4byte 0x16
+ .4byte 0x30
+ .4byte Underwater_SealedChamber_MapBorder
+ .4byte Underwater_SealedChamber_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Underwater
+
+ .align 2
+SealedChamber_OuterRoom_MapBorder: @ 8452AA8
+ .incbin "data/maps/SealedChamber_OuterRoom/border.bin"
+
+ .align 2
+SealedChamber_OuterRoom_MapBlockdata: @ 8452AB0
+ .incbin "data/maps/SealedChamber_OuterRoom/map.bin"
+
+ .align 2
+SealedChamber_OuterRoom_MapAttributes: @ 8452E78
+ .4byte 0x15
+ .4byte 0x17
+ .4byte SealedChamber_OuterRoom_MapBorder
+ .4byte SealedChamber_OuterRoom_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+VictoryRoad_B1F_MapBorder: @ 8452E90
+ .incbin "data/maps/VictoryRoad_B1F/border.bin"
+
+ .align 2
+VictoryRoad_B1F_MapBlockdata: @ 8452E98
+ .incbin "data/maps/VictoryRoad_B1F/map.bin"
+
+ .align 2
+VictoryRoad_B1F_MapAttributes: @ 84539BC
+ .4byte 0x2e
+ .4byte 0x1f
+ .4byte VictoryRoad_B1F_MapBorder
+ .4byte VictoryRoad_B1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+VictoryRoad_B2F_MapBorder: @ 84539D4
+ .incbin "data/maps/VictoryRoad_B2F/border.bin"
+
+ .align 2
+VictoryRoad_B2F_MapBlockdata: @ 84539DC
+ .incbin "data/maps/VictoryRoad_B2F/map.bin"
+
+ .align 2
+VictoryRoad_B2F_MapAttributes: @ 8454500
+ .4byte 0x2e
+ .4byte 0x1f
+ .4byte VictoryRoad_B2F_MapBorder
+ .4byte VictoryRoad_B2F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+Route104_Prototype_MapBorder: @ 8454518
+ .incbin "data/maps/Route104_Prototype/border.bin"
+
+ .align 2
+Route104_Prototype_MapBlockdata: @ 8454520
+ .incbin "data/maps/Route104_Prototype/map.bin"
+
+ .align 2
+Route104_Prototype_MapAttributes: @ 8454524
+ .4byte 0x1
+ .4byte 0x1
+ .4byte Route104_Prototype_MapBorder
+ .4byte Route104_Prototype_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Rustboro
+
+ .align 2
+GraniteCave_StevensRoom_MapBorder: @ 845453C
+ .incbin "data/maps/GraniteCave_StevensRoom/border.bin"
+
+ .align 2
+GraniteCave_StevensRoom_MapBlockdata: @ 8454544
+ .incbin "data/maps/GraniteCave_StevensRoom/map.bin"
+
+ .align 2
+GraniteCave_StevensRoom_MapAttributes: @ 84546E8
+ .4byte 0xf
+ .4byte 0xe
+ .4byte GraniteCave_StevensRoom_MapBorder
+ .4byte GraniteCave_StevensRoom_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+AbandonedShip_HiddenFloorCorridors_MapBorder: @ 8454700
+ .incbin "data/maps/AbandonedShip_HiddenFloorCorridors/border.bin"
+
+ .align 2
+AbandonedShip_HiddenFloorCorridors_MapBlockdata: @ 8454708
+ .incbin "data/maps/AbandonedShip_HiddenFloorCorridors/map.bin"
+
+ .align 2
+AbandonedShip_HiddenFloorCorridors_MapAttributes: @ 8454828
+ .4byte 0xd
+ .4byte 0xb
+ .4byte AbandonedShip_HiddenFloorCorridors_MapBorder
+ .4byte AbandonedShip_HiddenFloorCorridors_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_InsideShip
+
+ .align 2
+SouthernIsland_Exterior_MapBorder: @ 8454840
+ .incbin "data/maps/SouthernIsland_Exterior/border.bin"
+
+ .align 2
+SouthernIsland_Exterior_MapBlockdata: @ 8454848
+ .incbin "data/maps/SouthernIsland_Exterior/map.bin"
+
+ .align 2
+SouthernIsland_Exterior_MapAttributes: @ 8455004
+ .4byte 0x21
+ .4byte 0x1e
+ .4byte SouthernIsland_Exterior_MapBorder
+ .4byte SouthernIsland_Exterior_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Rustboro
+
+ .align 2
+SouthernIsland_Interior_MapBorder: @ 845501C
+ .incbin "data/maps/SouthernIsland_Interior/border.bin"
+
+ .align 2
+SouthernIsland_Interior_MapBlockdata: @ 8455024
+ .incbin "data/maps/SouthernIsland_Interior/map.bin"
+
+ .align 2
+SouthernIsland_Interior_MapAttributes: @ 8455534
+ .4byte 0x1b
+ .4byte 0x18
+ .4byte SouthernIsland_Interior_MapBorder
+ .4byte SouthernIsland_Interior_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Rustboro
+
+ .align 2
+JaggedPass_MapBorder: @ 845554C
+ .incbin "data/maps/JaggedPass/border.bin"
+
+ .align 2
+JaggedPass_MapBlockdata: @ 8455554
+ .incbin "data/maps/JaggedPass/map.bin"
+
+ .align 2
+JaggedPass_MapAttributes: @ 845601C
+ .4byte 0x1e
+ .4byte 0x2e
+ .4byte JaggedPass_MapBorder
+ .4byte JaggedPass_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lavaridge
+
+ .align 2
+FieryPath_MapBorder: @ 8456034
+ .incbin "data/maps/FieryPath/border.bin"
+
+ .align 2
+FieryPath_MapBlockdata: @ 845603C
+ .incbin "data/maps/FieryPath/map.bin"
+
+ .align 2
+FieryPath_MapAttributes: @ 8456AA0
+ .4byte 0x23
+ .4byte 0x26
+ .4byte FieryPath_MapBorder
+ .4byte FieryPath_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lavaridge
+
+ .align 2
+RustboroCity_Flat2_1F_MapBorder: @ 8456AB8
+ .incbin "data/maps/RustboroCity_Flat2_1F/border.bin"
+
+ .align 2
+RustboroCity_Flat2_1F_MapBlockdata: @ 8456AC0
+ .incbin "data/maps/RustboroCity_Flat2_1F/map.bin"
+
+ .align 2
+RustboroCity_Flat2_1F_MapAttributes: @ 8456BBC
+ .4byte 0xe
+ .4byte 0x9
+ .4byte RustboroCity_Flat2_1F_MapBorder
+ .4byte RustboroCity_Flat2_1F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+RustboroCity_Flat2_2F_MapBorder: @ 8456BD4
+ .incbin "data/maps/RustboroCity_Flat2_2F/border.bin"
+
+ .align 2
+RustboroCity_Flat2_2F_MapBlockdata: @ 8456BDC
+ .incbin "data/maps/RustboroCity_Flat2_2F/map.bin"
+
+ .align 2
+RustboroCity_Flat2_2F_MapAttributes: @ 8456CD8
+ .4byte 0xe
+ .4byte 0x9
+ .4byte RustboroCity_Flat2_2F_MapBorder
+ .4byte RustboroCity_Flat2_2F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+RustboroCity_Flat2_3F_MapBorder: @ 8456CF0
+ .incbin "data/maps/RustboroCity_Flat2_3F/border.bin"
+
+ .align 2
+RustboroCity_Flat2_3F_MapBlockdata: @ 8456CF8
+ .incbin "data/maps/RustboroCity_Flat2_3F/map.bin"
+
+ .align 2
+RustboroCity_Flat2_3F_MapAttributes: @ 8456DF4
+ .4byte 0xe
+ .4byte 0x9
+ .4byte RustboroCity_Flat2_3F_MapBorder
+ .4byte RustboroCity_Flat2_3F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+SootopolisCity_LotadAndSeedotHouse_MapBorder: @ 8456E0C
+ .incbin "data/maps/SootopolisCity_LotadAndSeedotHouse/border.bin"
+
+ .align 2
+SootopolisCity_LotadAndSeedotHouse_MapBlockdata: @ 8456E14
+ .incbin "data/maps/SootopolisCity_LotadAndSeedotHouse/map.bin"
+
+ .align 2
+SootopolisCity_LotadAndSeedotHouse_MapAttributes: @ 8456E84
+ .4byte 0x8
+ .4byte 0x7
+ .4byte SootopolisCity_LotadAndSeedotHouse_MapBorder
+ .4byte SootopolisCity_LotadAndSeedotHouse_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+EverGrandeCity_HallOfFame_MapBorder: @ 8456E9C
+ .incbin "data/maps/EverGrandeCity_HallOfFame/border.bin"
+
+ .align 2
+EverGrandeCity_HallOfFame_MapBlockdata: @ 8456EA4
+ .incbin "data/maps/EverGrandeCity_HallOfFame/map.bin"
+
+ .align 2
+EverGrandeCity_HallOfFame_MapAttributes: @ 84570A4
+ .4byte 0xf
+ .4byte 0x11
+ .4byte EverGrandeCity_HallOfFame_MapBorder
+ .4byte EverGrandeCity_HallOfFame_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_CableClub
+
+ .align 2
+LilycoveCity_CoveLilyMotel_1F_MapBorder: @ 84570BC
+ .incbin "data/maps/LilycoveCity_CoveLilyMotel_1F/border.bin"
+
+ .align 2
+LilycoveCity_CoveLilyMotel_1F_MapBlockdata: @ 84570C4
+ .incbin "data/maps/LilycoveCity_CoveLilyMotel_1F/map.bin"
+
+ .align 2
+LilycoveCity_CoveLilyMotel_1F_MapAttributes: @ 845719C
+ .4byte 0xc
+ .4byte 0x9
+ .4byte LilycoveCity_CoveLilyMotel_1F_MapBorder
+ .4byte LilycoveCity_CoveLilyMotel_1F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+LilycoveCity_CoveLilyMotel_2F_MapBorder: @ 84571B4
+ .incbin "data/maps/LilycoveCity_CoveLilyMotel_2F/border.bin"
+
+ .align 2
+LilycoveCity_CoveLilyMotel_2F_MapBlockdata: @ 84571BC
+ .incbin "data/maps/LilycoveCity_CoveLilyMotel_2F/map.bin"
+
+ .align 2
+LilycoveCity_CoveLilyMotel_2F_MapAttributes: @ 8457294
+ .4byte 0xc
+ .4byte 0x9
+ .4byte LilycoveCity_CoveLilyMotel_2F_MapBorder
+ .4byte LilycoveCity_CoveLilyMotel_2F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+Route124_DivingTreasureHuntersHouse_MapBorder: @ 84572AC
+ .incbin "data/maps/Route124_DivingTreasureHuntersHouse/border.bin"
+
+ .align 2
+Route124_DivingTreasureHuntersHouse_MapBlockdata: @ 84572B4
+ .incbin "data/maps/Route124_DivingTreasureHuntersHouse/map.bin"
+
+ .align 2
+Route124_DivingTreasureHuntersHouse_MapAttributes: @ 8457368
+ .4byte 0xa
+ .4byte 0x9
+ .4byte Route124_DivingTreasureHuntersHouse_MapBorder
+ .4byte Route124_DivingTreasureHuntersHouse_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+MtPyre_Exterior_MapBorder: @ 8457380
+ .incbin "data/maps/MtPyre_Exterior/border.bin"
+
+ .align 2
+MtPyre_Exterior_MapBlockdata: @ 8457388
+ .incbin "data/maps/MtPyre_Exterior/map.bin"
+
+ .align 2
+MtPyre_Exterior_MapAttributes: @ 84582AC
+ .4byte 0x26
+ .4byte 0x33
+ .4byte MtPyre_Exterior_MapBorder
+ .4byte MtPyre_Exterior_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+MtPyre_Summit_MapBorder: @ 84582C4
+ .incbin "data/maps/MtPyre_Summit/border.bin"
+
+ .align 2
+MtPyre_Summit_MapBlockdata: @ 84582CC
+ .incbin "data/maps/MtPyre_Summit/map.bin"
+
+ .align 2
+MtPyre_Summit_MapAttributes: @ 8459140
+ .4byte 0x32
+ .4byte 0x25
+ .4byte MtPyre_Summit_MapBorder
+ .4byte MtPyre_Summit_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+SealedChamber_InnerRoom_MapBorder: @ 8459158
+ .incbin "data/maps/SealedChamber_InnerRoom/border.bin"
+
+ .align 2
+SealedChamber_InnerRoom_MapBlockdata: @ 8459160
+ .incbin "data/maps/SealedChamber_InnerRoom/map.bin"
+
+ .align 2
+SealedChamber_InnerRoom_MapAttributes: @ 8459528
+ .4byte 0x15
+ .4byte 0x17
+ .4byte SealedChamber_InnerRoom_MapBorder
+ .4byte SealedChamber_InnerRoom_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+MossdeepCity_GameCorner_1F_MapBorder: @ 8459540
+ .incbin "data/maps/MossdeepCity_GameCorner_1F/border.bin"
+
+ .align 2
+MossdeepCity_GameCorner_1F_MapBlockdata: @ 8459548
+ .incbin "data/maps/MossdeepCity_GameCorner_1F/map.bin"
+
+ .align 2
+MossdeepCity_GameCorner_1F_MapAttributes: @ 8459638
+ .4byte 0xc
+ .4byte 0xa
+ .4byte MossdeepCity_GameCorner_1F_MapBorder
+ .4byte MossdeepCity_GameCorner_1F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_MossdeepGameCorner
+
+ .align 2
+MossdeepCity_GameCorner_B1F_MapBorder: @ 8459650
+ .incbin "data/maps/MossdeepCity_GameCorner_B1F/border.bin"
+
+ .align 2
+MossdeepCity_GameCorner_B1F_MapBlockdata: @ 8459658
+ .incbin "data/maps/MossdeepCity_GameCorner_B1F/map.bin"
+
+ .align 2
+MossdeepCity_GameCorner_B1F_MapAttributes: @ 8459730
+ .4byte 0xc
+ .4byte 0x9
+ .4byte MossdeepCity_GameCorner_B1F_MapBorder
+ .4byte MossdeepCity_GameCorner_B1F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+SootopolisCity_House1_MapBorder: @ 8459748
+ .incbin "data/maps/SootopolisCity_House1/border.bin"
+
+ .align 2
+SootopolisCity_House1_MapBlockdata: @ 8459750
+ .incbin "data/maps/SootopolisCity_House1/map.bin"
+
+ .align 2
+SootopolisCity_House1_MapAttributes: @ 84597C0
+SootopolisCity_House4_MapAttributes: @ 84597C0
+SootopolisCity_House7_MapAttributes: @ 84597C0
+ .4byte 0x8
+ .4byte 0x7
+ .4byte SootopolisCity_House1_MapBorder
+ .4byte SootopolisCity_House1_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+SootopolisCity_House2_MapBorder: @ 84597D8
+ .incbin "data/maps/SootopolisCity_House2/border.bin"
+
+ .align 2
+SootopolisCity_House2_MapBlockdata: @ 84597E0
+ .incbin "data/maps/SootopolisCity_House2/map.bin"
+
+ .align 2
+SootopolisCity_House2_MapAttributes: @ 8459850
+SootopolisCity_House5_MapAttributes: @ 8459850
+ .4byte 0x8
+ .4byte 0x7
+ .4byte SootopolisCity_House2_MapBorder
+ .4byte SootopolisCity_House2_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+SootopolisCity_House3_MapBorder: @ 8459868
+ .incbin "data/maps/SootopolisCity_House3/border.bin"
+
+ .align 2
+SootopolisCity_House3_MapBlockdata: @ 8459870
+ .incbin "data/maps/SootopolisCity_House3/map.bin"
+
+ .align 2
+SootopolisCity_House3_MapAttributes: @ 84598E0
+SootopolisCity_House6_MapAttributes: @ 84598E0
+ .4byte 0x8
+ .4byte 0x7
+ .4byte SootopolisCity_House3_MapBorder
+ .4byte SootopolisCity_House3_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+AbandonedShip_HiddenFloorRooms_MapBorder: @ 84598F8
+ .incbin "data/maps/AbandonedShip_HiddenFloorRooms/border.bin"
+
+ .align 2
+AbandonedShip_HiddenFloorRooms_MapBlockdata: @ 8459900
+ .incbin "data/maps/AbandonedShip_HiddenFloorRooms/map.bin"
+
+ .align 2
+AbandonedShip_HiddenFloorRooms_MapAttributes: @ 8459E28
+ .4byte 0x2c
+ .4byte 0xf
+ .4byte AbandonedShip_HiddenFloorRooms_MapBorder
+ .4byte AbandonedShip_HiddenFloorRooms_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_InsideShip
+
+ .align 2
+ScorchedSlab_MapBorder: @ 8459E40
+ .incbin "data/maps/ScorchedSlab/border.bin"
+
+ .align 2
+ScorchedSlab_MapBlockdata: @ 8459E48
+ .incbin "data/maps/ScorchedSlab/map.bin"
+
+ .align 2
+ScorchedSlab_MapAttributes: @ 845A0A0
+ .4byte 0xf
+ .4byte 0x14
+ .4byte ScorchedSlab_MapBorder
+ .4byte ScorchedSlab_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+UnknownMapBorder_0845A394: @ 845A0B8
+ .incbin "data/maps/UnknownMap_0845A394/border.bin"
+
+ .align 2
+UnknownMapBlockdata_0845A394: @ 845A0C0
+ .incbin "data/maps/UnknownMap_0845A394/map.bin"
+
+ .align 2
+UnknownMapAttributes_0845A394: @ 845A394
+ .4byte 0x13
+ .4byte 0x13
+ .4byte UnknownMapBorder_0845A394
+ .4byte UnknownMapBlockdata_0845A394
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+RustboroCity_Flat1_1F_MapBorder: @ 845A3AC
+ .incbin "data/maps/RustboroCity_Flat1_1F/border.bin"
+
+ .align 2
+RustboroCity_Flat1_1F_MapBlockdata: @ 845A3B4
+ .incbin "data/maps/RustboroCity_Flat1_1F/map.bin"
+
+ .align 2
+RustboroCity_Flat1_1F_MapAttributes: @ 845A494
+ .4byte 0xe
+ .4byte 0x8
+ .4byte RustboroCity_Flat1_1F_MapBorder
+ .4byte RustboroCity_Flat1_1F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+RustboroCity_Flat1_2F_MapBorder: @ 845A4AC
+ .incbin "data/maps/RustboroCity_Flat1_2F/border.bin"
+
+ .align 2
+RustboroCity_Flat1_2F_MapBlockdata: @ 845A4B4
+ .incbin "data/maps/RustboroCity_Flat1_2F/map.bin"
+
+ .align 2
+RustboroCity_Flat1_2F_MapAttributes: @ 845A594
+ .4byte 0xe
+ .4byte 0x8
+ .4byte RustboroCity_Flat1_2F_MapBorder
+ .4byte RustboroCity_Flat1_2F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+EverGrandeCity_Hall4_MapBorder: @ 845A5AC
+ .incbin "data/maps/EverGrandeCity_Hall4/border.bin"
+
+ .align 2
+EverGrandeCity_Hall4_MapBlockdata: @ 845A5B4
+ .incbin "data/maps/EverGrandeCity_Hall4/map.bin"
+
+ .align 2
+EverGrandeCity_Hall4_MapAttributes: @ 845A8A0
+ .4byte 0xb
+ .4byte 0x22
+ .4byte EverGrandeCity_Hall4_MapBorder
+ .4byte EverGrandeCity_Hall4_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_EliteFour
+
+ .align 2
+AquaHideout_UnusedRubyMap1_MapBorder: @ 845A8B8
+ .incbin "data/maps/AquaHideout_UnusedRubyMap1/border.bin"
+
+ .align 2
+AquaHideout_UnusedRubyMap1_MapBlockdata: @ 845A8C0
+ .incbin "data/maps/AquaHideout_UnusedRubyMap1/map.bin"
+
+ .align 2
+AquaHideout_UnusedRubyMap1_MapAttributes: @ 845AF50
+ .4byte 0x1c
+ .4byte 0x1e
+ .4byte AquaHideout_UnusedRubyMap1_MapBorder
+ .4byte AquaHideout_UnusedRubyMap1_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+AquaHideout_UnusedRubyMap2_MapBorder: @ 845AF68
+ .incbin "data/maps/AquaHideout_UnusedRubyMap2/border.bin"
+
+ .align 2
+AquaHideout_UnusedRubyMap2_MapBlockdata: @ 845AF70
+ .incbin "data/maps/AquaHideout_UnusedRubyMap2/map.bin"
+
+ .align 2
+AquaHideout_UnusedRubyMap2_MapAttributes: @ 845BB10
+ .4byte 0x3e
+ .4byte 0x18
+ .4byte AquaHideout_UnusedRubyMap2_MapBorder
+ .4byte AquaHideout_UnusedRubyMap2_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+AquaHideout_UnusedRubyMap3_MapBorder: @ 845BB28
+ .incbin "data/maps/AquaHideout_UnusedRubyMap3/border.bin"
+
+ .align 2
+AquaHideout_UnusedRubyMap3_MapBlockdata: @ 845BB30
+ .incbin "data/maps/AquaHideout_UnusedRubyMap3/map.bin"
+
+ .align 2
+AquaHideout_UnusedRubyMap3_MapAttributes: @ 845C190
+ .4byte 0x22
+ .4byte 0x18
+ .4byte AquaHideout_UnusedRubyMap3_MapBorder
+ .4byte AquaHideout_UnusedRubyMap3_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Facility
+
+ .align 2
+UnknownMapBorder_0845D470: @ 845C1A8
+ .incbin "data/maps/UnknownMap_0845D470/border.bin"
+
+ .align 2
+UnknownMapBlockdata_0845D470: @ 845C1B0
+ .incbin "data/maps/UnknownMap_0845D470/map.bin"
+
+ .align 2
+UnknownMapAttributes_0845D470: @ 845D470
+ .4byte 0x3C
+ .4byte 0x28
+ .4byte UnknownMapBorder_0845D470
+ .4byte UnknownMapBlockdata_0845D470
+ .4byte gTileset_General
+ .4byte gTileset_Pacifidlog
+
+ .align 2
+SkyPillar_Entrance_MapBorder: @ 845D488
+ .incbin "data/maps/SkyPillar_Entrance/border.bin"
+
+ .align 2
+SkyPillar_Entrance_MapBlockdata: @ 845D490
+ .incbin "data/maps/SkyPillar_Entrance/map.bin"
+
+ .align 2
+SkyPillar_Entrance_MapAttributes: @ 845D718
+ .4byte 0x12
+ .4byte 0x12
+ .4byte SkyPillar_Entrance_MapBorder
+ .4byte SkyPillar_Entrance_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+SkyPillar_Outside_MapBorder: @ 845D730
+ .incbin "data/maps/SkyPillar_Outside/border.bin"
+
+ .align 2
+SkyPillar_Outside_MapBlockdata: @ 845D738
+ .incbin "data/maps/SkyPillar_Outside/map.bin"
+
+ .align 2
+SkyPillar_Outside_MapAttributes: @ 845DC40
+ .4byte 0x1c
+ .4byte 0x17
+ .4byte SkyPillar_Outside_MapBorder
+ .4byte SkyPillar_Outside_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Pacifidlog
+
+ .align 2
+SkyPillar_1F_MapBorder: @ 845DC58
+ .incbin "data/maps/SkyPillar_1F/border.bin"
+
+ .align 2
+SkyPillar_1F_MapBlockdata: @ 845DC60
+ .incbin "data/maps/SkyPillar_1F/map.bin"
+
+ .align 2
+SkyPillar_1F_MapAttributes: @ 845DDE8
+ .4byte 0xe
+ .4byte 0xe
+ .4byte SkyPillar_1F_MapBorder
+ .4byte SkyPillar_1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Pacifidlog
+
+ .align 2
+SkyPillar_2F_MapBorder: @ 845DE00
+ .incbin "data/maps/SkyPillar_2F/border.bin"
+
+ .align 2
+SkyPillar_2F_MapBlockdata: @ 845DE08
+ .incbin "data/maps/SkyPillar_2F/map.bin"
+
+ .align 2
+SkyPillar_2F_MapAttributes: @ 845DF90
+ .4byte 0xe
+ .4byte 0xe
+ .4byte SkyPillar_2F_MapBorder
+ .4byte SkyPillar_2F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Pacifidlog
+
+ .align 2
+SkyPillar_3F_MapBorder: @ 845DFA8
+ .incbin "data/maps/SkyPillar_3F/border.bin"
+
+ .align 2
+SkyPillar_3F_MapBlockdata: @ 845DFB0
+ .incbin "data/maps/SkyPillar_3F/map.bin"
+
+ .align 2
+SkyPillar_3F_MapAttributes: @ 845E138
+ .4byte 0xe
+ .4byte 0xe
+ .4byte SkyPillar_3F_MapBorder
+ .4byte SkyPillar_3F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Pacifidlog
+
+ .align 2
+SkyPillar_4F_MapBorder: @ 845E150
+ .incbin "data/maps/SkyPillar_4F/border.bin"
+
+ .align 2
+SkyPillar_4F_MapBlockdata: @ 845E158
+ .incbin "data/maps/SkyPillar_4F/map.bin"
+
+ .align 2
+SkyPillar_4F_MapAttributes: @ 845E2E0
+ .4byte 0xe
+ .4byte 0xe
+ .4byte SkyPillar_4F_MapBorder
+ .4byte SkyPillar_4F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Pacifidlog
+
+ .align 2
+UnknownMapBorder_0845ECB4: @ 845E2F8
+ .incbin "data/maps/UnknownMap_0845ECB4/border.bin"
+
+ .align 2
+UnknownMapBlockdata_0845ECB4: @ 845E300
+ .incbin "data/maps/UnknownMap_0845ECB4/map.bin"
+
+ .align 2
+UnknownMapAttributes_0845ECB4: @ 845ECB4
+ .4byte 0x1B
+ .4byte 0x2E
+ .4byte UnknownMapBorder_0845ECB4
+ .4byte UnknownMapBlockdata_0845ECB4
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+MossdeepCity_StevensHouse_MapBorder: @ 845ECCC
+ .incbin "data/maps/MossdeepCity_StevensHouse/border.bin"
+
+ .align 2
+MossdeepCity_StevensHouse_MapBlockdata: @ 845ECD4
+ .incbin "data/maps/MossdeepCity_StevensHouse/map.bin"
+
+ .align 2
+MossdeepCity_StevensHouse_MapAttributes: @ 845ED84
+ .4byte 0xb
+ .4byte 0x8
+ .4byte MossdeepCity_StevensHouse_MapBorder
+ .4byte MossdeepCity_StevensHouse_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+ShoalCave_LowTideIceRoom_MapBorder: @ 845ED9C
+ .incbin "data/maps/ShoalCave_LowTideIceRoom/border.bin"
+
+ .align 2
+ShoalCave_LowTideIceRoom_MapBlockdata: @ 845EDA4
+ .incbin "data/maps/ShoalCave_LowTideIceRoom/map.bin"
+
+ .align 2
+ShoalCave_LowTideIceRoom_MapAttributes: @ 845F254
+ .4byte 0x14
+ .4byte 0x1e
+ .4byte ShoalCave_LowTideIceRoom_MapBorder
+ .4byte ShoalCave_LowTideIceRoom_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+SafariZone_RestHouse_MapBorder: @ 845F26C
+ .incbin "data/maps/SafariZone_RestHouse/border.bin"
+
+ .align 2
+SafariZone_RestHouse_MapBlockdata: @ 845F274
+ .incbin "data/maps/SafariZone_RestHouse/map.bin"
+
+ .align 2
+SafariZone_RestHouse_MapAttributes: @ 845F328
+ .4byte 0xa
+ .4byte 0x9
+ .4byte SafariZone_RestHouse_MapBorder
+ .4byte SafariZone_RestHouse_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_GenericBuilding
+
+ .align 2
+SkyPillar_5F_MapBorder: @ 845F340
+ .incbin "data/maps/SkyPillar_5F/border.bin"
+
+ .align 2
+SkyPillar_5F_MapBlockdata: @ 845F348
+ .incbin "data/maps/SkyPillar_5F/map.bin"
+
+ .align 2
+SkyPillar_5F_MapAttributes: @ 845F4D0
+ .4byte 0xe
+ .4byte 0xe
+ .4byte SkyPillar_5F_MapBorder
+ .4byte SkyPillar_5F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Pacifidlog
+
+ .align 2
+SkyPillar_Top_MapBorder: @ 845F4E8
+ .incbin "data/maps/SkyPillar_Top/border.bin"
+
+ .align 2
+SkyPillar_Top_MapBlockdata: @ 845F4F0
+ .incbin "data/maps/SkyPillar_Top/map.bin"
+
+ .align 2
+SkyPillar_Top_MapAttributes: @ 845FA00
+ .4byte 0x1b
+ .4byte 0x18
+ .4byte SkyPillar_Top_MapBorder
+ .4byte SkyPillar_Top_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Pacifidlog
+
+ .align 2
+BattleFrontier_BattleDomeLobby_MapBorder: @ 845FA18
+ .incbin "data/maps/BattleFrontier_BattleDomeLobby/border.bin"
+
+ .align 2
+BattleFrontier_BattleDomeLobby_MapBlockdata: @ 845FA20
+ .incbin "data/maps/BattleFrontier_BattleDomeLobby/map.bin"
+
+ .align 2
+BattleFrontier_BattleDomeLobby_MapAttributes: @ 845FD30
+ .4byte 0x17
+ .4byte 0x11
+ .4byte BattleFrontier_BattleDomeLobby_MapBorder
+ .4byte BattleFrontier_BattleDomeLobby_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleDome
+
+ .align 2
+BattleFrontier_BattleDomeCorridor_MapBorder: @ 845FD48
+ .incbin "data/maps/BattleFrontier_BattleDomeCorridor/border.bin"
+
+ .align 2
+BattleFrontier_BattleDomeCorridor_MapBlockdata: @ 845FD50
+ .incbin "data/maps/BattleFrontier_BattleDomeCorridor/map.bin"
+
+ .align 2
+BattleFrontier_BattleDomeCorridor_MapAttributes: @ 845FFF0
+ .4byte 0x30
+ .4byte 0x7
+ .4byte BattleFrontier_BattleDomeCorridor_MapBorder
+ .4byte BattleFrontier_BattleDomeCorridor_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleDome
+
+ .align 2
+BattleFrontier_BattleDomePreBattleRoom_MapBorder: @ 8460008
+ .incbin "data/maps/BattleFrontier_BattleDomePreBattleRoom/border.bin"
+
+ .align 2
+BattleFrontier_BattleDomePreBattleRoom_MapBlockdata: @ 8460010
+ .incbin "data/maps/BattleFrontier_BattleDomePreBattleRoom/map.bin"
+
+ .align 2
+BattleFrontier_BattleDomePreBattleRoom_MapAttributes: @ 84600A0
+ .4byte 0x9
+ .4byte 0x8
+ .4byte BattleFrontier_BattleDomePreBattleRoom_MapBorder
+ .4byte BattleFrontier_BattleDomePreBattleRoom_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleDome
+
+ .align 2
+BattleFrontier_BattleDomeBattleRoom_MapBorder: @ 84600B8
+ .incbin "data/maps/BattleFrontier_BattleDomeBattleRoom/border.bin"
+
+ .align 2
+BattleFrontier_BattleDomeBattleRoom_MapBlockdata: @ 84600C0
+ .incbin "data/maps/BattleFrontier_BattleDomeBattleRoom/map.bin"
+
+ .align 2
+BattleFrontier_BattleDomeBattleRoom_MapAttributes: @ 8460250
+ .4byte 0x14
+ .4byte 0xa
+ .4byte BattleFrontier_BattleDomeBattleRoom_MapBorder
+ .4byte BattleFrontier_BattleDomeBattleRoom_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleDome
+
+ .align 2
+MagmaHideout_1F_MapBorder: @ 8460268
+ .incbin "data/maps/MagmaHideout_1F/border.bin"
+
+ .align 2
+MagmaHideout_1F_MapBlockdata: @ 8460270
+ .incbin "data/maps/MagmaHideout_1F/map.bin"
+
+ .align 2
+MagmaHideout_1F_MapAttributes: @ 8460D6C
+ .4byte 0x25
+ .4byte 0x26
+ .4byte MagmaHideout_1F_MapBorder
+ .4byte MagmaHideout_1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lavaridge
+
+ .align 2
+MagmaHideout_2F_1R_MapBorder: @ 8460D84
+ .incbin "data/maps/MagmaHideout_2F_1R/border.bin"
+
+ .align 2
+MagmaHideout_2F_1R_MapBlockdata: @ 8460D8C
+ .incbin "data/maps/MagmaHideout_2F_1R/map.bin"
+
+ .align 2
+MagmaHideout_2F_1R_MapAttributes: @ 846179C
+ .4byte 0x21
+ .4byte 0x27
+ .4byte MagmaHideout_2F_1R_MapBorder
+ .4byte MagmaHideout_2F_1R_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lavaridge
+
+ .align 2
+MagmaHideout_2F_2R_MapBorder: @ 84617B4
+ .incbin "data/maps/MagmaHideout_2F_2R/border.bin"
+
+ .align 2
+MagmaHideout_2F_2R_MapBlockdata: @ 84617BC
+ .incbin "data/maps/MagmaHideout_2F_2R/map.bin"
+
+ .align 2
+MagmaHideout_2F_2R_MapAttributes: @ 8462274
+ .4byte 0x31
+ .4byte 0x1c
+ .4byte MagmaHideout_2F_2R_MapBorder
+ .4byte MagmaHideout_2F_2R_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lavaridge
+
+ .align 2
+MagmaHideout_3F_1R_MapBorder: @ 846228C
+ .incbin "data/maps/MagmaHideout_3F_1R/border.bin"
+
+ .align 2
+MagmaHideout_3F_1R_MapBlockdata: @ 8462294
+ .incbin "data/maps/MagmaHideout_3F_1R/map.bin"
+
+ .align 2
+MagmaHideout_3F_1R_MapAttributes: @ 84627D4
+ .4byte 0x1c
+ .4byte 0x18
+ .4byte MagmaHideout_3F_1R_MapBorder
+ .4byte MagmaHideout_3F_1R_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lavaridge
+
+ .align 2
+MagmaHideout_3F_2R_MapBorder: @ 84627EC
+ .incbin "data/maps/MagmaHideout_3F_2R/border.bin"
+
+ .align 2
+MagmaHideout_3F_2R_MapBlockdata: @ 84627F4
+ .incbin "data/maps/MagmaHideout_3F_2R/map.bin"
+
+ .align 2
+MagmaHideout_3F_2R_MapAttributes: @ 8462B24
+ .4byte 0x18
+ .4byte 0x11
+ .4byte MagmaHideout_3F_2R_MapBorder
+ .4byte MagmaHideout_3F_2R_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lavaridge
+
+ .align 2
+MagmaHideout_4F_MapBorder: @ 8462B3C
+ .incbin "data/maps/MagmaHideout_4F/border.bin"
+
+ .align 2
+MagmaHideout_4F_MapBlockdata: @ 8462B44
+ .incbin "data/maps/MagmaHideout_4F/map.bin"
+
+ .align 2
+MagmaHideout_4F_MapAttributes: @ 846382C
+ .4byte 0x3b
+ .4byte 0x1c
+ .4byte MagmaHideout_4F_MapBorder
+ .4byte MagmaHideout_4F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lavaridge
+
+ .align 2
+BattleFrontier_BattlePalaceLobby_MapBorder: @ 8463844
+ .incbin "data/maps/BattleFrontier_BattlePalaceLobby/border.bin"
+
+ .align 2
+BattleFrontier_BattlePalaceLobby_MapBlockdata: @ 846384C
+ .incbin "data/maps/BattleFrontier_BattlePalaceLobby/map.bin"
+
+ .align 2
+BattleFrontier_BattlePalaceLobby_MapAttributes: @ 8463AA4
+ .4byte 0x19
+ .4byte 0xc
+ .4byte BattleFrontier_BattlePalaceLobby_MapBorder
+ .4byte BattleFrontier_BattlePalaceLobby_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePalace
+
+ .align 2
+BattleFrontier_BattlePalaceCorridor_MapBorder: @ 8463ABC
+ .incbin "data/maps/BattleFrontier_BattlePalaceCorridor/border.bin"
+
+ .align 2
+BattleFrontier_BattlePalaceCorridor_MapBlockdata: @ 8463AC4
+ .incbin "data/maps/BattleFrontier_BattlePalaceCorridor/map.bin"
+
+ .align 2
+BattleFrontier_BattlePalaceCorridor_MapAttributes: @ 8463CA0
+ .4byte 0x11
+ .4byte 0xe
+ .4byte BattleFrontier_BattlePalaceCorridor_MapBorder
+ .4byte BattleFrontier_BattlePalaceCorridor_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_BattlePalace
+
+ .align 2
+BattleFrontier_BattlePalaceBattleRoom_MapBorder: @ 8463CB8
+ .incbin "data/maps/BattleFrontier_BattlePalaceBattleRoom/border.bin"
+
+ .align 2
+BattleFrontier_BattlePalaceBattleRoom_MapBlockdata: @ 8463CC0
+ .incbin "data/maps/BattleFrontier_BattlePalaceBattleRoom/map.bin"
+
+ .align 2
+BattleFrontier_BattlePalaceBattleRoom_MapAttributes: @ 8463DEC
+ .4byte 0xf
+ .4byte 0xa
+ .4byte BattleFrontier_BattlePalaceBattleRoom_MapBorder
+ .4byte BattleFrontier_BattlePalaceBattleRoom_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_BattlePalace
+
+ .align 2
+BattleFrontier_OutsideEast_MapBorder: @ 8463E04
+ .incbin "data/maps/BattleFrontier_OutsideEast/border.bin"
+
+ .align 2
+BattleFrontier_OutsideEast_MapBlockdata: @ 8463E0C
+ .incbin "data/maps/BattleFrontier_OutsideEast/map.bin"
+
+ .align 2
+BattleFrontier_OutsideEast_MapAttributes: @ 846668C
+ .4byte 0x48
+ .4byte 0x48
+ .4byte BattleFrontier_OutsideEast_MapBorder
+ .4byte BattleFrontier_OutsideEast_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_BattleFrontierOutsideEast
+
+ .align 2
+BattleFrontier_BattleFactoryLobby_MapBorder: @ 84666A4
+ .incbin "data/maps/BattleFrontier_BattleFactoryLobby/border.bin"
+
+ .align 2
+BattleFrontier_BattleFactoryLobby_MapBlockdata: @ 84666AC
+ .incbin "data/maps/BattleFrontier_BattleFactoryLobby/map.bin"
+
+ .align 2
+BattleFrontier_BattleFactoryLobby_MapAttributes: @ 8466874
+ .4byte 0x13
+ .4byte 0xc
+ .4byte BattleFrontier_BattleFactoryLobby_MapBorder
+ .4byte BattleFrontier_BattleFactoryLobby_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleFactory
+
+ .align 2
+BattleFrontier_BattleFactoryPreBattleRoom_MapBorder: @ 846688C
+ .incbin "data/maps/BattleFrontier_BattleFactoryPreBattleRoom/border.bin"
+
+ .align 2
+BattleFrontier_BattleFactoryPreBattleRoom_MapBlockdata: @ 8466894
+ .incbin "data/maps/BattleFrontier_BattleFactoryPreBattleRoom/map.bin"
+
+ .align 2
+BattleFrontier_BattleFactoryPreBattleRoom_MapAttributes: @ 8466A70
+ .4byte 0x11
+ .4byte 0xe
+ .4byte BattleFrontier_BattleFactoryPreBattleRoom_MapBorder
+ .4byte BattleFrontier_BattleFactoryPreBattleRoom_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleFactory
+
+ .align 2
+BattleFrontier_BattleFactoryBattleRoom_MapBorder: @ 8466A88
+ .incbin "data/maps/BattleFrontier_BattleFactoryBattleRoom/border.bin"
+
+ .align 2
+BattleFrontier_BattleFactoryBattleRoom_MapBlockdata: @ 8466A90
+ .incbin "data/maps/BattleFrontier_BattleFactoryBattleRoom/map.bin"
+
+ .align 2
+BattleFrontier_BattleFactoryBattleRoom_MapAttributes: @ 8466BC8
+ .4byte 0xd
+ .4byte 0xc
+ .4byte BattleFrontier_BattleFactoryBattleRoom_MapBorder
+ .4byte BattleFrontier_BattleFactoryBattleRoom_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleFactory
+
+ .align 2
+BattleFrontier_BattlePikeLobby_MapBorder: @ 8466BE0
+ .incbin "data/maps/BattleFrontier_BattlePikeLobby/border.bin"
+
+ .align 2
+BattleFrontier_BattlePikeLobby_MapBlockdata: @ 8466BE8
+ .incbin "data/maps/BattleFrontier_BattlePikeLobby/map.bin"
+
+ .align 2
+BattleFrontier_BattlePikeLobby_MapAttributes: @ 8466D08
+ .4byte 0xb
+ .4byte 0xd
+ .4byte BattleFrontier_BattlePikeLobby_MapBorder
+ .4byte BattleFrontier_BattlePikeLobby_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePike
+
+ .align 2
+BattleFrontier_BattlePikeCorridor_MapBorder: @ 8466D20
+ .incbin "data/maps/BattleFrontier_BattlePikeCorridor/border.bin"
+
+ .align 2
+BattleFrontier_BattlePikeCorridor_MapBlockdata: @ 8466D28
+ .incbin "data/maps/BattleFrontier_BattlePikeCorridor/map.bin"
+
+ .align 2
+BattleFrontier_BattlePikeCorridor_MapAttributes: @ 8466E08
+ .4byte 0xe
+ .4byte 0x8
+ .4byte BattleFrontier_BattlePikeCorridor_MapBorder
+ .4byte BattleFrontier_BattlePikeCorridor_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePike
+
+ .align 2
+BattleFrontier_BattlePikeThreePathRoom_MapBorder: @ 8466E20
+ .incbin "data/maps/BattleFrontier_BattlePikeThreePathRoom/border.bin"
+
+ .align 2
+BattleFrontier_BattlePikeThreePathRoom_MapBlockdata: @ 8466E28
+ .incbin "data/maps/BattleFrontier_BattlePikeThreePathRoom/map.bin"
+
+ .align 2
+BattleFrontier_BattlePikeThreePathRoom_MapAttributes: @ 8466F48
+ .4byte 0xd
+ .4byte 0xb
+ .4byte BattleFrontier_BattlePikeThreePathRoom_MapBorder
+ .4byte BattleFrontier_BattlePikeThreePathRoom_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePike
+
+ .align 2
+BattleFrontier_BattlePikeRandomRoom1_MapBorder: @ 8466F60
+ .incbin "data/maps/BattleFrontier_BattlePikeRandomRoom1/border.bin"
+
+ .align 2
+BattleFrontier_BattlePikeRandomRoom1_MapBlockdata: @ 8466F68
+ .incbin "data/maps/BattleFrontier_BattlePikeRandomRoom1/map.bin"
+
+ .align 2
+BattleFrontier_BattlePikeRandomRoom1_MapAttributes: @ 8466FF8
+ .4byte 0x9
+ .4byte 0x8
+ .4byte BattleFrontier_BattlePikeRandomRoom1_MapBorder
+ .4byte BattleFrontier_BattlePikeRandomRoom1_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePike
+
+ .align 2
+BattleFrontier_BattlePikeRandomRoom2_MapBorder: @ 8467010
+ .incbin "data/maps/BattleFrontier_BattlePikeRandomRoom2/border.bin"
+
+ .align 2
+BattleFrontier_BattlePikeRandomRoom2_MapBlockdata: @ 8467018
+ .incbin "data/maps/BattleFrontier_BattlePikeRandomRoom2/map.bin"
+
+ .align 2
+BattleFrontier_BattlePikeRandomRoom2_MapAttributes: @ 8467068
+ .4byte 0x5
+ .4byte 0x8
+ .4byte BattleFrontier_BattlePikeRandomRoom2_MapBorder
+ .4byte BattleFrontier_BattlePikeRandomRoom2_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePike
+
+ .align 2
+BattleFrontier_BattleArenaLobby_MapBorder: @ 8467080
+ .incbin "data/maps/BattleFrontier_BattleArenaLobby/border.bin"
+
+ .align 2
+BattleFrontier_BattleArenaLobby_MapBlockdata: @ 8467088
+ .incbin "data/maps/BattleFrontier_BattleArenaLobby/map.bin"
+
+ .align 2
+BattleFrontier_BattleArenaLobby_MapAttributes: @ 8467228
+ .4byte 0x10
+ .4byte 0xd
+ .4byte BattleFrontier_BattleArenaLobby_MapBorder
+ .4byte BattleFrontier_BattleArenaLobby_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleArena
+
+ .align 2
+BattleFrontier_BattleArenaCorridor_MapBorder: @ 8467240
+ .incbin "data/maps/BattleFrontier_BattleArenaCorridor/border.bin"
+
+ .align 2
+BattleFrontier_BattleArenaCorridor_MapBlockdata: @ 8467248
+ .incbin "data/maps/BattleFrontier_BattleArenaCorridor/map.bin"
+
+ .align 2
+BattleFrontier_BattleArenaCorridor_MapAttributes: @ 8467440
+ .4byte 0x12
+ .4byte 0xe
+ .4byte BattleFrontier_BattleArenaCorridor_MapBorder
+ .4byte BattleFrontier_BattleArenaCorridor_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleArena
+
+ .align 2
+BattleFrontier_BattleArenaBattleRoom_MapBorder: @ 8467458
+ .incbin "data/maps/BattleFrontier_BattleArenaBattleRoom/border.bin"
+
+ .align 2
+BattleFrontier_BattleArenaBattleRoom_MapBlockdata: @ 8467460
+ .incbin "data/maps/BattleFrontier_BattleArenaBattleRoom/map.bin"
+
+ .align 2
+BattleFrontier_BattleArenaBattleRoom_MapAttributes: @ 84675C0
+ .4byte 0x10
+ .4byte 0xb
+ .4byte BattleFrontier_BattleArenaBattleRoom_MapBorder
+ .4byte BattleFrontier_BattleArenaBattleRoom_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleArena
+
+ .align 2
+UnknownMapBorder_08469200: @ 84675D8
+ .incbin "data/maps/UnknownMap_08469200/border.bin"
+
+ .align 2
+UnknownMapBlockdata_08469200: @ 84675E0
+ .incbin "data/maps/UnknownMap_08469200/map.bin"
+
+ .align 2
+UnknownMapAttributes_08469200: @ 8469200
+ .4byte 0x3C
+ .4byte 0x3C
+ .4byte UnknownMapBorder_08469200
+ .4byte UnknownMapBlockdata_08469200
+ .4byte gTileset_General
+ .4byte gTileset_Sootopolis
+
+ .align 2
+BattleFrontier_BattlePikeRandomRoom3_MapBorder: @ 8469218
+ .incbin "data/maps/BattleFrontier_BattlePikeRandomRoom3/border.bin"
+
+ .align 2
+BattleFrontier_BattlePikeRandomRoom3_MapBlockdata: @ 8469220
+ .incbin "data/maps/BattleFrontier_BattlePikeRandomRoom3/map.bin"
+
+ .align 2
+BattleFrontier_BattlePikeRandomRoom3_MapAttributes: @ 8469388
+ .4byte 0x9
+ .4byte 0x14
+ .4byte BattleFrontier_BattlePikeRandomRoom3_MapBorder
+ .4byte BattleFrontier_BattlePikeRandomRoom3_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePike
+
+ .align 2
+UnknownMapBorder_084693AC: @ 84693A0
+ .incbin "data/maps/UnknownMap_084693AC/border.bin"
+
+ .align 2
+UnknownMapBlockdata_084693AC: @ 84693A8
+ .incbin "data/maps/UnknownMap_084693AC/map.bin"
+
+ .align 2
+UnknownMapAttributes_084693AC: @ 84693AC
+ .4byte 0x1
+ .4byte 0x1
+ .4byte UnknownMapBorder_084693AC
+ .4byte UnknownMapBlockdata_084693AC
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePike
+
+ .align 2
+BattleFrontier_BattlePyramidLobby_MapBorder: @ 84693C4
+ .incbin "data/maps/BattleFrontier_BattlePyramidLobby/border.bin"
+
+ .align 2
+BattleFrontier_BattlePyramidLobby_MapBlockdata: @ 84693CC
+ .incbin "data/maps/BattleFrontier_BattlePyramidLobby/map.bin"
+
+ .align 2
+BattleFrontier_BattlePyramidLobby_MapAttributes: @ 84695E8
+ .4byte 0xf
+ .4byte 0x12
+ .4byte BattleFrontier_BattlePyramidLobby_MapBorder
+ .4byte BattleFrontier_BattlePyramidLobby_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePyramid
+
+ .align 2
+BattleFrontier_BattlePyramidEmptySquare_MapBorder: @ 8469600
+ .incbin "data/maps/BattleFrontier_BattlePyramidEmptySquare/border.bin"
+
+ .align 2
+BattleFrontier_BattlePyramidEmptySquare_MapBlockdata: @ 8469608
+ .incbin "data/maps/BattleFrontier_BattlePyramidEmptySquare/map.bin"
+
+ .align 2
+BattleFrontier_BattlePyramidEmptySquare_MapAttributes: @ 8469688
+ .4byte 0x8
+ .4byte 0x8
+ .4byte BattleFrontier_BattlePyramidEmptySquare_MapBorder
+ .4byte BattleFrontier_BattlePyramidEmptySquare_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePyramid
+
+ .align 2
+BattlePyramidSquare01_MapBorder: @ 84696A0
+ .incbin "data/maps/BattlePyramidSquare01/border.bin"
+
+ .align 2
+BattlePyramidSquare01_MapBlockdata: @ 84696A8
+ .incbin "data/maps/BattlePyramidSquare01/map.bin"
+
+ .align 2
+BattlePyramidSquare01_MapAttributes: @ 8469728
+ .4byte 0x8
+ .4byte 0x8
+ .4byte BattlePyramidSquare01_MapBorder
+ .4byte BattlePyramidSquare01_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePyramid
+
+ .align 2
+BattlePyramidSquare02_MapBorder: @ 8469740
+ .incbin "data/maps/BattlePyramidSquare02/border.bin"
+
+ .align 2
+BattlePyramidSquare02_MapBlockdata: @ 8469748
+ .incbin "data/maps/BattlePyramidSquare02/map.bin"
+
+ .align 2
+BattlePyramidSquare02_MapAttributes: @ 84697C8
+ .4byte 0x8
+ .4byte 0x8
+ .4byte BattlePyramidSquare02_MapBorder
+ .4byte BattlePyramidSquare02_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePyramid
+
+ .align 2
+BattlePyramidSquare03_MapBorder: @ 84697E0
+ .incbin "data/maps/BattlePyramidSquare03/border.bin"
+
+ .align 2
+BattlePyramidSquare03_MapBlockdata: @ 84697E8
+ .incbin "data/maps/BattlePyramidSquare03/map.bin"
+
+ .align 2
+BattlePyramidSquare03_MapAttributes: @ 8469868
+ .4byte 0x8
+ .4byte 0x8
+ .4byte BattlePyramidSquare03_MapBorder
+ .4byte BattlePyramidSquare03_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePyramid
+
+ .align 2
+BattlePyramidSquare04_MapBorder: @ 8469880
+ .incbin "data/maps/BattlePyramidSquare04/border.bin"
+
+ .align 2
+BattlePyramidSquare04_MapBlockdata: @ 8469888
+ .incbin "data/maps/BattlePyramidSquare04/map.bin"
+
+ .align 2
+BattlePyramidSquare04_MapAttributes: @ 8469908
+ .4byte 0x8
+ .4byte 0x8
+ .4byte BattlePyramidSquare04_MapBorder
+ .4byte BattlePyramidSquare04_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePyramid
+
+ .align 2
+BattlePyramidSquare05_MapBorder: @ 8469920
+ .incbin "data/maps/BattlePyramidSquare05/border.bin"
+
+ .align 2
+BattlePyramidSquare05_MapBlockdata: @ 8469928
+ .incbin "data/maps/BattlePyramidSquare05/map.bin"
+
+ .align 2
+BattlePyramidSquare05_MapAttributes: @ 84699A8
+ .4byte 0x8
+ .4byte 0x8
+ .4byte BattlePyramidSquare05_MapBorder
+ .4byte BattlePyramidSquare05_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePyramid
+
+ .align 2
+BattlePyramidSquare06_MapBorder: @ 84699C0
+ .incbin "data/maps/BattlePyramidSquare06/border.bin"
+
+ .align 2
+BattlePyramidSquare06_MapBlockdata: @ 84699C8
+ .incbin "data/maps/BattlePyramidSquare06/map.bin"
+
+ .align 2
+BattlePyramidSquare06_MapAttributes: @ 8469A48
+ .4byte 0x8
+ .4byte 0x8
+ .4byte BattlePyramidSquare06_MapBorder
+ .4byte BattlePyramidSquare06_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePyramid
+
+ .align 2
+BattlePyramidSquare07_MapBorder: @ 8469A60
+ .incbin "data/maps/BattlePyramidSquare07/border.bin"
+
+ .align 2
+BattlePyramidSquare07_MapBlockdata: @ 8469A68
+ .incbin "data/maps/BattlePyramidSquare07/map.bin"
+
+ .align 2
+BattlePyramidSquare07_MapAttributes: @ 8469AE8
+ .4byte 0x8
+ .4byte 0x8
+ .4byte BattlePyramidSquare07_MapBorder
+ .4byte BattlePyramidSquare07_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePyramid
+
+ .align 2
+BattlePyramidSquare08_MapBorder: @ 8469B00
+ .incbin "data/maps/BattlePyramidSquare08/border.bin"
+
+ .align 2
+BattlePyramidSquare08_MapBlockdata: @ 8469B08
+ .incbin "data/maps/BattlePyramidSquare08/map.bin"
+
+ .align 2
+BattlePyramidSquare08_MapAttributes: @ 8469B88
+ .4byte 0x8
+ .4byte 0x8
+ .4byte BattlePyramidSquare08_MapBorder
+ .4byte BattlePyramidSquare08_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePyramid
+
+ .align 2
+BattlePyramidSquare09_MapBorder: @ 8469BA0
+ .incbin "data/maps/BattlePyramidSquare09/border.bin"
+
+ .align 2
+BattlePyramidSquare09_MapBlockdata: @ 8469BA8
+ .incbin "data/maps/BattlePyramidSquare09/map.bin"
+
+ .align 2
+BattlePyramidSquare09_MapAttributes: @ 8469C28
+ .4byte 0x8
+ .4byte 0x8
+ .4byte BattlePyramidSquare09_MapBorder
+ .4byte BattlePyramidSquare09_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePyramid
+
+ .align 2
+BattlePyramidSquare10_MapBorder: @ 8469C40
+ .incbin "data/maps/BattlePyramidSquare10/border.bin"
+
+ .align 2
+BattlePyramidSquare10_MapBlockdata: @ 8469C48
+ .incbin "data/maps/BattlePyramidSquare10/map.bin"
+
+ .align 2
+BattlePyramidSquare10_MapAttributes: @ 8469CC8
+ .4byte 0x8
+ .4byte 0x8
+ .4byte BattlePyramidSquare10_MapBorder
+ .4byte BattlePyramidSquare10_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePyramid
+
+ .align 2
+BattlePyramidSquare11_MapBorder: @ 8469CE0
+ .incbin "data/maps/BattlePyramidSquare11/border.bin"
+
+ .align 2
+BattlePyramidSquare11_MapBlockdata: @ 8469CE8
+ .incbin "data/maps/BattlePyramidSquare11/map.bin"
+
+ .align 2
+BattlePyramidSquare11_MapAttributes: @ 8469D68
+ .4byte 0x8
+ .4byte 0x8
+ .4byte BattlePyramidSquare11_MapBorder
+ .4byte BattlePyramidSquare11_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePyramid
+
+ .align 2
+BattlePyramidSquare12_MapBorder: @ 8469D80
+ .incbin "data/maps/BattlePyramidSquare12/border.bin"
+
+ .align 2
+BattlePyramidSquare12_MapBlockdata: @ 8469D88
+ .incbin "data/maps/BattlePyramidSquare12/map.bin"
+
+ .align 2
+BattlePyramidSquare12_MapAttributes: @ 8469E08
+ .4byte 0x8
+ .4byte 0x8
+ .4byte BattlePyramidSquare12_MapBorder
+ .4byte BattlePyramidSquare12_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePyramid
+
+ .align 2
+BattlePyramidSquare13_MapBorder: @ 8469E20
+ .incbin "data/maps/BattlePyramidSquare13/border.bin"
+
+ .align 2
+BattlePyramidSquare13_MapBlockdata: @ 8469E28
+ .incbin "data/maps/BattlePyramidSquare13/map.bin"
+
+ .align 2
+BattlePyramidSquare13_MapAttributes: @ 8469EA8
+ .4byte 0x8
+ .4byte 0x8
+ .4byte BattlePyramidSquare13_MapBorder
+ .4byte BattlePyramidSquare13_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePyramid
+
+ .align 2
+BattlePyramidSquare14_MapBorder: @ 8469EC0
+ .incbin "data/maps/BattlePyramidSquare14/border.bin"
+
+ .align 2
+BattlePyramidSquare14_MapBlockdata: @ 8469EC8
+ .incbin "data/maps/BattlePyramidSquare14/map.bin"
+
+ .align 2
+BattlePyramidSquare14_MapAttributes: @ 8469F48
+ .4byte 0x8
+ .4byte 0x8
+ .4byte BattlePyramidSquare14_MapBorder
+ .4byte BattlePyramidSquare14_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePyramid
+
+ .align 2
+BattlePyramidSquare15_MapBorder: @ 8469F60
+ .incbin "data/maps/BattlePyramidSquare15/border.bin"
+
+ .align 2
+BattlePyramidSquare15_MapBlockdata: @ 8469F68
+ .incbin "data/maps/BattlePyramidSquare15/map.bin"
+
+ .align 2
+BattlePyramidSquare15_MapAttributes: @ 8469FE8
+ .4byte 0x8
+ .4byte 0x8
+ .4byte BattlePyramidSquare15_MapBorder
+ .4byte BattlePyramidSquare15_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePyramid
+
+ .align 2
+BattlePyramidSquare16_MapBorder: @ 846A000
+ .incbin "data/maps/BattlePyramidSquare16/border.bin"
+
+ .align 2
+BattlePyramidSquare16_MapBlockdata: @ 846A008
+ .incbin "data/maps/BattlePyramidSquare16/map.bin"
+
+ .align 2
+BattlePyramidSquare16_MapAttributes: @ 846A088
+ .4byte 0x8
+ .4byte 0x8
+ .4byte BattlePyramidSquare16_MapBorder
+ .4byte BattlePyramidSquare16_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePyramid
+
+ .align 2
+BattleFrontier_BattlePyramidTop_MapBorder: @ 846A0A0
+ .incbin "data/maps/BattleFrontier_BattlePyramidTop/border.bin"
+
+ .align 2
+BattleFrontier_BattlePyramidTop_MapBlockdata: @ 846A0A8
+ .incbin "data/maps/BattleFrontier_BattlePyramidTop/map.bin"
+
+ .align 2
+BattleFrontier_BattlePyramidTop_MapAttributes: @ 846A6C4
+ .4byte 0x22
+ .4byte 0x17
+ .4byte BattleFrontier_BattlePyramidTop_MapBorder
+ .4byte BattleFrontier_BattlePyramidTop_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattlePyramid
+
+ .align 2
+MagmaHideout_3F_3R_MapBorder: @ 846A6DC
+ .incbin "data/maps/MagmaHideout_3F_3R/border.bin"
+
+ .align 2
+MagmaHideout_3F_3R_MapBlockdata: @ 846A6E4
+ .incbin "data/maps/MagmaHideout_3F_3R/map.bin"
+
+ .align 2
+MagmaHideout_3F_3R_MapAttributes: @ 846AD14
+ .4byte 0x21
+ .4byte 0x18
+ .4byte MagmaHideout_3F_3R_MapBorder
+ .4byte MagmaHideout_3F_3R_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lavaridge
+
+ .align 2
+MagmaHideout_2F_3R_MapBorder: @ 846AD2C
+ .incbin "data/maps/MagmaHideout_2F_3R/border.bin"
+
+ .align 2
+MagmaHideout_2F_3R_MapBlockdata: @ 846AD34
+ .incbin "data/maps/MagmaHideout_2F_3R/map.bin"
+
+ .align 2
+MagmaHideout_2F_3R_MapAttributes: @ 846B61C
+ .4byte 0x3c
+ .4byte 0x13
+ .4byte MagmaHideout_2F_3R_MapBorder
+ .4byte MagmaHideout_2F_3R_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lavaridge
+
+ .align 2
+MirageTower_1F_MapBorder: @ 846B634
+ .incbin "data/maps/MirageTower_1F/border.bin"
+
+ .align 2
+MirageTower_1F_MapBlockdata: @ 846B63C
+ .incbin "data/maps/MirageTower_1F/map.bin"
+
+ .align 2
+MirageTower_1F_MapAttributes: @ 846B908
+ .4byte 0x15
+ .4byte 0x11
+ .4byte MirageTower_1F_MapBorder
+ .4byte MirageTower_1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_MirageTower
+
+ .align 2
+MirageTower_2F_MapBorder: @ 846B920
+ .incbin "data/maps/MirageTower_2F/border.bin"
+
+ .align 2
+MirageTower_2F_MapBlockdata: @ 846B928
+ .incbin "data/maps/MirageTower_2F/map.bin"
+
+ .align 2
+MirageTower_2F_MapAttributes: @ 846BBF4
+ .4byte 0x15
+ .4byte 0x11
+ .4byte MirageTower_2F_MapBorder
+ .4byte MirageTower_2F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_MirageTower
+
+ .align 2
+MirageTower_3F_MapBorder: @ 846BC0C
+ .incbin "data/maps/MirageTower_3F/border.bin"
+
+ .align 2
+MirageTower_3F_MapBlockdata: @ 846BC14
+ .incbin "data/maps/MirageTower_3F/map.bin"
+
+ .align 2
+MirageTower_3F_MapAttributes: @ 846BEE0
+ .4byte 0x15
+ .4byte 0x11
+ .4byte MirageTower_3F_MapBorder
+ .4byte MirageTower_3F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_MirageTower
+
+ .align 2
+FallarborTown_BattleTentLobby_MapBorder: @ 846BEF8
+ .incbin "data/maps/FallarborTown_BattleTentLobby/border.bin"
+
+ .align 2
+FallarborTown_BattleTentLobby_MapBlockdata: @ 846BF00
+ .incbin "data/maps/FallarborTown_BattleTentLobby/map.bin"
+
+ .align 2
+FallarborTown_BattleTentLobby_MapAttributes: @ 846C004
+SlateportCity_BattleTentLobby_MapAttributes: @ 846C004
+VerdanturfTown_BattleTentLobby_MapAttributes: @ 846C004
+ .4byte 0xd
+ .4byte 0xa
+ .4byte FallarborTown_BattleTentLobby_MapBorder
+ .4byte FallarborTown_BattleTentLobby_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleTent
+
+ .align 2
+FallarborTown_BattleTentCorridor_MapBorder: @ 846C01C
+ .incbin "data/maps/FallarborTown_BattleTentCorridor/border.bin"
+
+ .align 2
+FallarborTown_BattleTentCorridor_MapBlockdata: @ 846C024
+ .incbin "data/maps/FallarborTown_BattleTentCorridor/map.bin"
+
+ .align 2
+FallarborTown_BattleTentCorridor_MapAttributes: @ 846C074
+SlateportCity_BattleTentCorridor_MapAttributes: @ 846C074
+VerdanturfTown_BattleTentCorridor_MapAttributes: @ 846C074
+ .4byte 0x5
+ .4byte 0x8
+ .4byte FallarborTown_BattleTentCorridor_MapBorder
+ .4byte FallarborTown_BattleTentCorridor_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleTent
+
+ .align 2
+FallarborTown_BattleTentBattleRoom_MapBorder: @ 846C08C
+ .incbin "data/maps/FallarborTown_BattleTentBattleRoom/border.bin"
+
+ .align 2
+FallarborTown_BattleTentBattleRoom_MapBlockdata: @ 846C094
+ .incbin "data/maps/FallarborTown_BattleTentBattleRoom/map.bin"
+
+ .align 2
+FallarborTown_BattleTentBattleRoom_MapAttributes: @ 846C148
+SlateportCity_BattleTentBattleRoom_MapAttributes: @ 846C148
+ .4byte 0xa
+ .4byte 0x9
+ .4byte FallarborTown_BattleTentBattleRoom_MapBorder
+ .4byte FallarborTown_BattleTentBattleRoom_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleTent
+
+ .align 2
+VerdanturfTown_BattleTentBattleRoom_MapBorder: @ 846C160
+ .incbin "data/maps/VerdanturfTown_BattleTentBattleRoom/border.bin"
+
+ .align 2
+VerdanturfTown_BattleTentBattleRoom_MapBlockdata: @ 846C168
+ .incbin "data/maps/VerdanturfTown_BattleTentBattleRoom/map.bin"
+
+ .align 2
+VerdanturfTown_BattleTentBattleRoom_MapAttributes: @ 846C254
+ .4byte 0xd
+ .4byte 0x9
+ .4byte VerdanturfTown_BattleTentBattleRoom_MapBorder
+ .4byte VerdanturfTown_BattleTentBattleRoom_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_BattleTent
+
+ .align 2
+MirageTower_4F_MapBorder: @ 846C26C
+ .incbin "data/maps/MirageTower_4F/border.bin"
+
+ .align 2
+MirageTower_4F_MapBlockdata: @ 846C274
+ .incbin "data/maps/MirageTower_4F/map.bin"
+
+ .align 2
+MirageTower_4F_MapAttributes: @ 846C378
+ .4byte 0xd
+ .4byte 0xa
+ .4byte MirageTower_4F_MapBorder
+ .4byte MirageTower_4F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_MirageTower
+
+ .align 2
+DesertUnderpass_MapBorder: @ 846C390
+ .incbin "data/maps/DesertUnderpass/border.bin"
+
+ .align 2
+DesertUnderpass_MapBlockdata: @ 846C398
+ .incbin "data/maps/DesertUnderpass/map.bin"
+
+ .align 2
+DesertUnderpass_MapAttributes: @ 846DC94
+ .4byte 0x8b
+ .4byte 0x17
+ .4byte DesertUnderpass_MapBorder
+ .4byte DesertUnderpass_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+BattleFrontier_BattleTowerMultiBattleRoom_MapBorder: @ 846DCAC
+ .incbin "data/maps/BattleFrontier_BattleTowerMultiBattleRoom/border.bin"
+
+ .align 2
+BattleFrontier_BattleTowerMultiBattleRoom_MapBlockdata: @ 846DCB4
+ .incbin "data/maps/BattleFrontier_BattleTowerMultiBattleRoom/map.bin"
+
+ .align 2
+BattleFrontier_BattleTowerMultiBattleRoom_MapAttributes: @ 846DF2C
+ .4byte 0x15
+ .4byte 0xf
+ .4byte BattleFrontier_BattleTowerMultiBattleRoom_MapBorder
+ .4byte BattleFrontier_BattleTowerMultiBattleRoom_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleFrontier
+
+ .align 2
+BattleFrontier_BattleTowerCorridor2_MapBorder: @ 846DF44
+ .incbin "data/maps/BattleFrontier_BattleTowerCorridor2/border.bin"
+
+ .align 2
+BattleFrontier_BattleTowerCorridor2_MapBlockdata: @ 846DF4C
+ .incbin "data/maps/BattleFrontier_BattleTowerCorridor2/map.bin"
+
+ .align 2
+BattleFrontier_BattleTowerCorridor2_MapAttributes: @ 846DFF8
+ .4byte 0x11
+ .4byte 0x5
+ .4byte BattleFrontier_BattleTowerCorridor2_MapBorder
+ .4byte BattleFrontier_BattleTowerCorridor2_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleFrontier
+
+ .align 2
+UnknownMapBorder_08470BD8: @ 846E010
+ .incbin "data/maps/UnknownMap_08470BD8/border.bin"
+
+ .align 2
+UnknownMapBlockdata_08470BD8: @ 846E018
+ .incbin "data/maps/UnknownMap_08470BD8/map.bin"
+
+ .align 2
+UnknownMapAttributes_08470BD8: @ 8470BD8
+ .4byte 0x28
+ .4byte 0x8C
+ .4byte UnknownMapBorder_08470BD8
+ .4byte UnknownMapBlockdata_08470BD8
+ .4byte gTileset_General
+ .4byte gTileset_Mauville
+
+ .align 2
+UnionRoom_MapBorder: @ 8470BF0
+ .incbin "data/maps/UnionRoom/border.bin"
+
+ .align 2
+UnionRoom_MapBlockdata: @ 8470BF8
+ .incbin "data/maps/UnionRoom/map.bin"
+
+ .align 2
+UnionRoom_MapAttributes: @ 8470D60
+ .4byte 0xf
+ .4byte 0xc
+ .4byte UnionRoom_MapBorder
+ .4byte UnionRoom_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_UnionRoom
+
+ .align 2
+SafariZone_Northeast_MapBorder: @ 8470D78
+ .incbin "data/maps/SafariZone_Northeast/border.bin"
+
+ .align 2
+SafariZone_Northeast_MapBlockdata: @ 8470D80
+ .incbin "data/maps/SafariZone_Northeast/map.bin"
+
+ .align 2
+SafariZone_Northeast_MapAttributes: @ 8471A00
+ .4byte 0x28
+ .4byte 0x28
+ .4byte SafariZone_Northeast_MapBorder
+ .4byte SafariZone_Northeast_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lilycove
+
+ .align 2
+SafariZone_Southeast_MapBorder: @ 8471A18
+ .incbin "data/maps/SafariZone_Southeast/border.bin"
+
+ .align 2
+SafariZone_Southeast_MapBlockdata: @ 8471A20
+ .incbin "data/maps/SafariZone_Southeast/map.bin"
+
+ .align 2
+SafariZone_Southeast_MapAttributes: @ 84726A0
+ .4byte 0x28
+ .4byte 0x28
+ .4byte SafariZone_Southeast_MapBorder
+ .4byte SafariZone_Southeast_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Lilycove
+
+ .align 2
+BattleFrontier_RankingHall_MapBorder: @ 84726B8
+ .incbin "data/maps/BattleFrontier_RankingHall/border.bin"
+
+ .align 2
+BattleFrontier_RankingHall_MapBlockdata: @ 84726C0
+ .incbin "data/maps/BattleFrontier_RankingHall/map.bin"
+
+ .align 2
+BattleFrontier_RankingHall_MapAttributes: @ 8472CF8
+ .4byte 0x35
+ .4byte 0xf
+ .4byte BattleFrontier_RankingHall_MapBorder
+ .4byte BattleFrontier_RankingHall_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleFrontierRankingHall
+
+ .align 2
+BattleFrontier_Lounge2_MapBorder: @ 8472D10
+ .incbin "data/maps/BattleFrontier_Lounge2/border.bin"
+
+ .align 2
+BattleFrontier_Lounge2_MapBlockdata: @ 8472D18
+ .incbin "data/maps/BattleFrontier_Lounge2/map.bin"
+
+ .align 2
+BattleFrontier_Lounge2_MapAttributes: @ 8472DE8
+BattleFrontier_Lounge5_MapAttributes: @ 8472DE8
+ .4byte 0xd
+ .4byte 0x8
+ .4byte BattleFrontier_Lounge2_MapBorder
+ .4byte BattleFrontier_Lounge2_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleFrontier
+
+ .align 2
+BattleFrontier_BattlePointExchangeServiceCorner_MapBorder: @ 8472E00
+ .incbin "data/maps/BattleFrontier_BattlePointExchangeServiceCorner/border.bin"
+
+ .align 2
+BattleFrontier_BattlePointExchangeServiceCorner_MapBlockdata: @ 8472E08
+ .incbin "data/maps/BattleFrontier_BattlePointExchangeServiceCorner/map.bin"
+
+ .align 2
+BattleFrontier_BattlePointExchangeServiceCorner_MapAttributes: @ 8472F54
+ .4byte 0xf
+ .4byte 0xb
+ .4byte BattleFrontier_BattlePointExchangeServiceCorner_MapBorder
+ .4byte BattleFrontier_BattlePointExchangeServiceCorner_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleFrontier
+
+ .align 2
+BattleFrontier_ReceptionGate_MapBorder: @ 8472F6C
+ .incbin "data/maps/BattleFrontier_ReceptionGate/border.bin"
+
+ .align 2
+BattleFrontier_ReceptionGate_MapBlockdata: @ 8472F74
+ .incbin "data/maps/BattleFrontier_ReceptionGate/map.bin"
+
+ .align 2
+BattleFrontier_ReceptionGate_MapAttributes: @ 8473070
+ .4byte 0x9
+ .4byte 0xe
+ .4byte BattleFrontier_ReceptionGate_MapBorder
+ .4byte BattleFrontier_ReceptionGate_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_BattleFrontier
+
+ .align 2
+ArtisanCave_B1F_MapBorder: @ 8473088
+ .incbin "data/maps/ArtisanCave_B1F/border.bin"
+
+ .align 2
+ArtisanCave_B1F_MapBlockdata: @ 8473090
+ .incbin "data/maps/ArtisanCave_B1F/map.bin"
+
+ .align 2
+ArtisanCave_B1F_MapAttributes: @ 84743F8
+ .4byte 0x2e
+ .4byte 0x36
+ .4byte ArtisanCave_B1F_MapBorder
+ .4byte ArtisanCave_B1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+ArtisanCave_1F_MapBorder: @ 8474410
+ .incbin "data/maps/ArtisanCave_1F/border.bin"
+
+ .align 2
+ArtisanCave_1F_MapBlockdata: @ 8474418
+ .incbin "data/maps/ArtisanCave_1F/map.bin"
+
+ .align 2
+ArtisanCave_1F_MapAttributes: @ 84747B4
+ .4byte 0x15
+ .4byte 0x16
+ .4byte ArtisanCave_1F_MapBorder
+ .4byte ArtisanCave_1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+FarawayIsland_Entrance_MapBorder: @ 84747CC
+ .incbin "data/maps/FarawayIsland_Entrance/border.bin"
+
+ .align 2
+FarawayIsland_Entrance_MapBlockdata: @ 84747D4
+ .incbin "data/maps/FarawayIsland_Entrance/map.bin"
+
+ .align 2
+FarawayIsland_Entrance_MapAttributes: @ 847540C
+ .4byte 0x22
+ .4byte 0x2e
+ .4byte FarawayIsland_Entrance_MapBorder
+ .4byte FarawayIsland_Entrance_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Rustboro
+
+ .align 2
+FarawayIsland_Interior_MapBorder: @ 8475424
+ .incbin "data/maps/FarawayIsland_Interior/border.bin"
+
+ .align 2
+FarawayIsland_Interior_MapBlockdata: @ 847542C
+ .incbin "data/maps/FarawayIsland_Interior/map.bin"
+
+ .align 2
+FarawayIsland_Interior_MapAttributes: @ 8475A10
+ .4byte 0x1d
+ .4byte 0x1a
+ .4byte FarawayIsland_Interior_MapBorder
+ .4byte FarawayIsland_Interior_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Fortree
+
+ .align 2
+BirthIsland_Exterior_MapBorder: @ 8475A28
+ .incbin "data/maps/BirthIsland_Exterior/border.bin"
+
+ .align 2
+BirthIsland_Exterior_MapBlockdata: @ 8475A30
+ .incbin "data/maps/BirthIsland_Exterior/map.bin"
+
+ .align 2
+BirthIsland_Exterior_MapAttributes: @ 8476138
+ .4byte 0x1e
+ .4byte 0x1e
+ .4byte BirthIsland_Exterior_MapBorder
+ .4byte BirthIsland_Exterior_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Dewford
+
+ .align 2
+BirthIsland_Harbor_MapBorder: @ 8476150
+ .incbin "data/maps/BirthIsland_Harbor/border.bin"
+
+ .align 2
+BirthIsland_Harbor_MapBlockdata: @ 8476158
+ .incbin "data/maps/BirthIsland_Harbor/map.bin"
+
+ .align 2
+BirthIsland_Harbor_MapAttributes: @ 8476314
+NavelRock_Harbor_MapAttributes: @ 8476314
+ .4byte 0x11
+ .4byte 0xd
+ .4byte BirthIsland_Harbor_MapBorder
+ .4byte BirthIsland_Harbor_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_IslandHarbor
+
+ .align 2
+Underwater_MarineCave_MapBorder: @ 847632C
+ .incbin "data/maps/Underwater_MarineCave/border.bin"
+
+ .align 2
+Underwater_MarineCave_MapBlockdata: @ 8476334
+ .incbin "data/maps/Underwater_MarineCave/map.bin"
+
+ .align 2
+Underwater_MarineCave_MapAttributes: @ 84764C4
+ .4byte 0x14
+ .4byte 0xa
+ .4byte Underwater_MarineCave_MapBorder
+ .4byte Underwater_MarineCave_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Underwater
+
+ .align 2
+MarineCave_Entrance_MapBorder: @ 84764DC
+ .incbin "data/maps/MarineCave_Entrance/border.bin"
+
+ .align 2
+MarineCave_Entrance_MapBlockdata: @ 84764E4
+ .incbin "data/maps/MarineCave_Entrance/map.bin"
+
+ .align 2
+MarineCave_Entrance_MapAttributes: @ 8476804
+ .4byte 0x14
+ .4byte 0x14
+ .4byte MarineCave_Entrance_MapBorder
+ .4byte MarineCave_Entrance_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+TerraCave_Entrance_MapBorder: @ 847681C
+ .incbin "data/maps/TerraCave_Entrance/border.bin"
+
+ .align 2
+TerraCave_Entrance_MapBlockdata: @ 8476824
+ .incbin "data/maps/TerraCave_Entrance/map.bin"
+
+ .align 2
+TerraCave_Entrance_MapAttributes: @ 8476B44
+ .4byte 0x14
+ .4byte 0x14
+ .4byte TerraCave_Entrance_MapBorder
+ .4byte TerraCave_Entrance_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+TerraCave_End_MapBorder: @ 8476B5C
+ .incbin "data/maps/TerraCave_End/border.bin"
+
+ .align 2
+TerraCave_End_MapBlockdata: @ 8476B64
+ .incbin "data/maps/TerraCave_End/map.bin"
+
+ .align 2
+TerraCave_End_MapAttributes: @ 84771B8
+ .4byte 0x1b
+ .4byte 0x1e
+ .4byte TerraCave_End_MapBorder
+ .4byte TerraCave_End_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+Underwater6_MapBorder: @ 84771D0
+ .incbin "data/maps/Underwater6/border.bin"
+
+ .align 2
+Underwater6_MapBlockdata: @ 84771D8
+ .incbin "data/maps/Underwater6/map.bin"
+
+ .align 2
+Underwater6_MapAttributes: @ 8478AD8
+ .4byte 0x28
+ .4byte 0x50
+ .4byte Underwater6_MapBorder
+ .4byte Underwater6_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Underwater
+
+ .align 2
+Underwater7_MapBorder: @ 8478AF0
+ .incbin "data/maps/Underwater7/border.bin"
+
+ .align 2
+Underwater7_MapBlockdata: @ 8478AF8
+ .incbin "data/maps/Underwater7/map.bin"
+
+ .align 2
+Underwater7_MapAttributes: @ 847A3F8
+ .4byte 0x50
+ .4byte 0x28
+ .4byte Underwater7_MapBorder
+ .4byte Underwater7_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Underwater
+
+ .align 2
+Underwater5_MapBorder: @ 847A410
+ .incbin "data/maps/Underwater5/border.bin"
+
+ .align 2
+Underwater5_MapBlockdata: @ 847A418
+ .incbin "data/maps/Underwater5/map.bin"
+
+ .align 2
+Underwater5_MapAttributes: @ 847BD18
+ .4byte 0x50
+ .4byte 0x28
+ .4byte Underwater5_MapBorder
+ .4byte Underwater5_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Underwater
+
+ .align 2
+MarineCave_End_MapBorder: @ 847BD30
+ .incbin "data/maps/MarineCave_End/border.bin"
+
+ .align 2
+MarineCave_End_MapBlockdata: @ 847BD38
+ .incbin "data/maps/MarineCave_End/map.bin"
+
+ .align 2
+MarineCave_End_MapAttributes: @ 847C38C
+ .4byte 0x1b
+ .4byte 0x1e
+ .4byte MarineCave_End_MapBorder
+ .4byte MarineCave_End_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+TrainerHill_Entrance_MapBorder: @ 847C3A4
+ .incbin "data/maps/TrainerHill_Entrance/border.bin"
+
+ .align 2
+TrainerHill_Entrance_MapBlockdata: @ 847C3AC
+ .incbin "data/maps/TrainerHill_Entrance/map.bin"
+
+ .align 2
+TrainerHill_Entrance_MapAttributes: @ 847C634
+ .4byte 0x13
+ .4byte 0x11
+ .4byte TrainerHill_Entrance_MapBorder
+ .4byte TrainerHill_Entrance_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_TrainerHill
+
+ .align 2
+TrainerHill_1F_MapBorder: @ 847C64C
+ .incbin "data/maps/TrainerHill_1F/border.bin"
+
+ .align 2
+TrainerHill_1F_MapBlockdata: @ 847C654
+ .incbin "data/maps/TrainerHill_1F/map.bin"
+
+ .align 2
+TrainerHill_1F_MapAttributes: @ 847C8F4
+ .4byte 0x10
+ .4byte 0x15
+ .4byte TrainerHill_1F_MapBorder
+ .4byte TrainerHill_1F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_TrainerHill
+
+ .align 2
+TrainerHill_2F_MapBorder: @ 847C90C
+ .incbin "data/maps/TrainerHill_2F/border.bin"
+
+ .align 2
+TrainerHill_2F_MapBlockdata: @ 847C914
+ .incbin "data/maps/TrainerHill_2F/map.bin"
+
+ .align 2
+TrainerHill_2F_MapAttributes: @ 847CBB4
+ .4byte 0x10
+ .4byte 0x15
+ .4byte TrainerHill_2F_MapBorder
+ .4byte TrainerHill_2F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_TrainerHill
+
+ .align 2
+TrainerHill_3F_MapBorder: @ 847CBCC
+ .incbin "data/maps/TrainerHill_3F/border.bin"
+
+ .align 2
+TrainerHill_3F_MapBlockdata: @ 847CBD4
+ .incbin "data/maps/TrainerHill_3F/map.bin"
+
+ .align 2
+TrainerHill_3F_MapAttributes: @ 847CE74
+ .4byte 0x10
+ .4byte 0x15
+ .4byte TrainerHill_3F_MapBorder
+ .4byte TrainerHill_3F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_TrainerHill
+
+ .align 2
+TrainerHill_4F_MapBorder: @ 847CE8C
+ .incbin "data/maps/TrainerHill_4F/border.bin"
+
+ .align 2
+TrainerHill_4F_MapBlockdata: @ 847CE94
+ .incbin "data/maps/TrainerHill_4F/map.bin"
+
+ .align 2
+TrainerHill_4F_MapAttributes: @ 847D134
+ .4byte 0x10
+ .4byte 0x15
+ .4byte TrainerHill_4F_MapBorder
+ .4byte TrainerHill_4F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_TrainerHill
+
+ .align 2
+TrainerHill_Roof_MapBorder: @ 847D14C
+ .incbin "data/maps/TrainerHill_Roof/border.bin"
+
+ .align 2
+TrainerHill_Roof_MapBlockdata: @ 847D154
+ .incbin "data/maps/TrainerHill_Roof/map.bin"
+
+ .align 2
+TrainerHill_Roof_MapAttributes: @ 847D474
+ .4byte 0x19
+ .4byte 0x10
+ .4byte TrainerHill_Roof_MapBorder
+ .4byte TrainerHill_Roof_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_TrainerHill
+
+ .align 2
+AlteringCave_MapBorder: @ 847D48C
+ .incbin "data/maps/AlteringCave/border.bin"
+
+ .align 2
+AlteringCave_MapBlockdata: @ 847D494
+ .incbin "data/maps/AlteringCave/map.bin"
+
+ .align 2
+AlteringCave_MapAttributes: @ 847DA94
+ .4byte 0x20
+ .4byte 0x18
+ .4byte AlteringCave_MapBorder
+ .4byte AlteringCave_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Cave
+
+ .align 2
+NavelRock_Exterior_MapBorder: @ 847DAAC
+ .incbin "data/maps/NavelRock_Exterior/border.bin"
+
+ .align 2
+NavelRock_Exterior_MapBlockdata: @ 847DAB4
+ .incbin "data/maps/NavelRock_Exterior/map.bin"
+
+ .align 2
+NavelRock_Exterior_MapAttributes: @ 847DEA4
+ .4byte 0x15
+ .4byte 0x18
+ .4byte NavelRock_Exterior_MapBorder
+ .4byte NavelRock_Exterior_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_Dewford
+
+ .align 2
+NavelRock_Entrance_MapBorder: @ 847DEBC
+ .incbin "data/maps/NavelRock_Entrance/border.bin"
+
+ .align 2
+NavelRock_Entrance_MapBlockdata: @ 847DEC4
+ .incbin "data/maps/NavelRock_Entrance/map.bin"
+
+ .align 2
+NavelRock_Entrance_MapAttributes: @ 847E404
+ .4byte 0x15
+ .4byte 0x20
+ .4byte NavelRock_Entrance_MapBorder
+ .4byte NavelRock_Entrance_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_NavelRock
+
+ .align 2
+NavelRock_Top_MapBorder: @ 847E41C
+ .incbin "data/maps/NavelRock_Top/border.bin"
+
+ .align 2
+NavelRock_Top_MapBlockdata: @ 847E424
+ .incbin "data/maps/NavelRock_Top/map.bin"
+
+ .align 2
+NavelRock_Top_MapAttributes: @ 847E99C
+ .4byte 0x19
+ .4byte 0x1c
+ .4byte NavelRock_Top_MapBorder
+ .4byte NavelRock_Top_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_NavelRock
+
+ .align 2
+NavelRock_Bottom_MapBorder: @ 847E9B4
+ .incbin "data/maps/NavelRock_Bottom/border.bin"
+
+ .align 2
+NavelRock_Bottom_MapBlockdata: @ 847E9BC
+ .incbin "data/maps/NavelRock_Bottom/map.bin"
+
+ .align 2
+NavelRock_Bottom_MapAttributes: @ 847ED84
+ .4byte 0x16
+ .4byte 0x16
+ .4byte NavelRock_Bottom_MapBorder
+ .4byte NavelRock_Bottom_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_NavelRock
+
+ .align 2
+NavelRock_Up1_MapBorder: @ 847ED9C
+ .incbin "data/maps/NavelRock_Up1/border.bin"
+
+ .align 2
+NavelRock_Up1_MapBlockdata: @ 847EDA4
+ .incbin "data/maps/NavelRock_Up1/map.bin"
+
+ .align 2
+NavelRock_Down01_MapAttributes: @ 847EE34
+NavelRock_Down03_MapAttributes: @ 847EE34
+NavelRock_Down05_MapAttributes: @ 847EE34
+NavelRock_Down07_MapAttributes: @ 847EE34
+NavelRock_Down09_MapAttributes: @ 847EE34
+NavelRock_Down11_MapAttributes: @ 847EE34
+NavelRock_Up1_MapAttributes: @ 847EE34
+NavelRock_Up3_MapAttributes: @ 847EE34
+ .4byte 0x9
+ .4byte 0x8
+ .4byte NavelRock_Up1_MapBorder
+ .4byte NavelRock_Up1_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_NavelRock
+
+ .align 2
+NavelRock_Up2_MapBorder: @ 847EE4C
+ .incbin "data/maps/NavelRock_Up2/border.bin"
+
+ .align 2
+NavelRock_Up2_MapBlockdata: @ 847EE54
+ .incbin "data/maps/NavelRock_Up2/map.bin"
+
+ .align 2
+NavelRock_Down02_MapAttributes: @ 847EEE4
+NavelRock_Down04_MapAttributes: @ 847EEE4
+NavelRock_Down06_MapAttributes: @ 847EEE4
+NavelRock_Down08_MapAttributes: @ 847EEE4
+NavelRock_Down10_MapAttributes: @ 847EEE4
+NavelRock_Up2_MapAttributes: @ 847EEE4
+NavelRock_Up4_MapAttributes: @ 847EEE4
+ .4byte 0x9
+ .4byte 0x8
+ .4byte NavelRock_Up2_MapBorder
+ .4byte NavelRock_Up2_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_NavelRock
+
+ .align 2
+NavelRock_B1F_MapBorder: @ 847EEFC
+ .incbin "data/maps/NavelRock_B1F/border.bin"
+
+ .align 2
+NavelRock_B1F_MapBlockdata: @ 847EF04
+ .incbin "data/maps/NavelRock_B1F/map.bin"
+
+ .align 2
+NavelRock_B1F_MapAttributes: @ 847F100
+ .4byte 0x17
+ .4byte 0xb
+ .4byte NavelRock_B1F_MapBorder
+ .4byte NavelRock_B1F_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_NavelRock
+
+ .align 2
+NavelRock_Fork_MapBorder: @ 847F118
+ .incbin "data/maps/NavelRock_Fork/border.bin"
+
+ .align 2
+NavelRock_Fork_MapBlockdata: @ 847F120
+ .incbin "data/maps/NavelRock_Fork/map.bin"
+
+ .align 2
+NavelRock_Fork_MapAttributes: @ 8480344
+ .4byte 0x1b
+ .4byte 0x56
+ .4byte NavelRock_Fork_MapBorder
+ .4byte NavelRock_Fork_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_NavelRock
+
+ .align 2
+BattleFrontier_Lounge1_MapBorder: @ 848035C
+ .incbin "data/maps/BattleFrontier_Lounge1/border.bin"
+
+ .align 2
+BattleFrontier_Lounge1_MapBlockdata: @ 8480364
+ .incbin "data/maps/BattleFrontier_Lounge1/map.bin"
+
+ .align 2
+BattleFrontier_Lounge1_MapAttributes: @ 8480418
+BattleFrontier_Lounge3_MapAttributes: @ 8480418
+BattleFrontier_Lounge4_MapAttributes: @ 8480418
+BattleFrontier_Lounge6_MapAttributes: @ 8480418
+BattleFrontier_Lounge7_MapAttributes: @ 8480418
+BattleFrontier_Lounge8_MapAttributes: @ 8480418
+BattleFrontier_Lounge9_MapAttributes: @ 8480418
+ .4byte 0x9
+ .4byte 0xa
+ .4byte BattleFrontier_Lounge1_MapBorder
+ .4byte BattleFrontier_Lounge1_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleFrontier
+
+ .align 2
+BattleFrontier_ScottsHouse_MapBorder: @ 8480430
+ .incbin "data/maps/BattleFrontier_ScottsHouse/border.bin"
+
+ .align 2
+BattleFrontier_ScottsHouse_MapBlockdata: @ 8480438
+ .incbin "data/maps/BattleFrontier_ScottsHouse/map.bin"
+
+ .align 2
+BattleFrontier_ScottsHouse_MapAttributes: @ 8480498
+ .4byte 0x6
+ .4byte 0x8
+ .4byte BattleFrontier_ScottsHouse_MapBorder
+ .4byte BattleFrontier_ScottsHouse_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_BattleFrontier
+
+ .align 2
+MeteorFalls_StevensCave_MapBorder: @ 84804B0
+ .incbin "data/maps/MeteorFalls_StevensCave/border.bin"
+
+ .align 2
+MeteorFalls_StevensCave_MapBlockdata: @ 84804B8
+ .incbin "data/maps/MeteorFalls_StevensCave/map.bin"
+
+ .align 2
+MeteorFalls_StevensCave_MapAttributes: @ 8480C38
+ .4byte 0x1e
+ .4byte 0x20
+ .4byte MeteorFalls_StevensCave_MapBorder
+ .4byte MeteorFalls_StevensCave_MapBlockdata
+ .4byte gTileset_General
+ .4byte gTileset_MeteorFalls
+
+ .align 2
+UnknownMapBorder_08480DAC: @ 8480C50
+ .incbin "data/maps/UnknownMap_08480DAC/border.bin"
+
+ .align 2
+UnknownMapBlockdata_08480DAC: @ 8480C58
+ .incbin "data/maps/UnknownMap_08480DAC/map.bin"
+
+ .align 2
+UnknownMapAttributes_08480DAC: @ 8480DAC
+ .4byte 0xD
+ .4byte 0xD
+ .4byte UnknownMapBorder_08480DAC
+ .4byte UnknownMapBlockdata_08480DAC
+ .4byte gTileset_Building
+ .4byte gTileset_Lab
+
+ .align 2
+UnknownMapBorder_08480F54: @ 8480DC4
+ .incbin "data/maps/UnknownMap_08480F54/border.bin"
+
+ .align 2
+UnknownMapBlockdata_08480F54: @ 8480DCC
+ .incbin "data/maps/UnknownMap_08480F54/map.bin"
+
+ .align 2
+UnknownMapAttributes_08480F54: @ 8480F54
+ .4byte 0xE
+ .4byte 0xE
+ .4byte UnknownMapBorder_08480F54
+ .4byte UnknownMapBlockdata_08480F54
+ .4byte gTileset_General
+ .4byte gTileset_Pacifidlog
+
+ .align 2
+UnknownMapBorder_084810FC: @ 8480F6C
+ .incbin "data/maps/UnknownMap_084810FC/border.bin"
+
+ .align 2
+UnknownMapBlockdata_084810FC: @ 8480F74
+ .incbin "data/maps/UnknownMap_084810FC/map.bin"
+
+ .align 2
+UnknownMapAttributes_084810FC: @ 84810FC
+ .4byte 0xE
+ .4byte 0xE
+ .4byte UnknownMapBorder_084810FC
+ .4byte UnknownMapBlockdata_084810FC
+ .4byte gTileset_General
+ .4byte gTileset_Pacifidlog
+
+ .align 2
+UnknownMapBorder_084812A4: @ 8480F6C
+ .incbin "data/maps/UnknownMap_084812A4/border.bin"
+
+ .align 2
+UnknownMapBlockdata_084812A4: @ 8480F74
+ .incbin "data/maps/UnknownMap_084812A4/map.bin"
+
+ .align 2
+UnknownMapAttributes_084812A4: @ 84812A4
+ .4byte 0xE
+ .4byte 0xE
+ .4byte UnknownMapBorder_084812A4
+ .4byte UnknownMapBlockdata_084812A4
+ .4byte gTileset_General
+ .4byte gTileset_Pacifidlog
+
+ .align 2
+UnknownMapBorder_0848144C: @ 848144C
+ .incbin "data/maps/UnknownMap_0848144C/border.bin"
+
+ .align 2
+UnknownMapBlockdata_0848144C: @ 848144C
+ .incbin "data/maps/UnknownMap_0848144C/map.bin"
+
+ .align 2
+UnknownMapAttributes_0848144C: @ 848144C
+ .4byte 0xE
+ .4byte 0xE
+ .4byte UnknownMapBorder_0848144C
+ .4byte UnknownMapBlockdata_0848144C
+ .4byte gTileset_General
+ .4byte gTileset_Pacifidlog
+
+ .align 2
+UnknownMapBorder_084815F4: @ 848144C
+ .incbin "data/maps/UnknownMap_084815F4/border.bin"
+
+ .align 2
+UnknownMapBlockdata_084815F4: @ 848144C
+ .incbin "data/maps/UnknownMap_084815F4/map.bin"
+
+ .align 2
+UnknownMapAttributes_084815F4: @ 84815F4
+ .4byte 0xE
+ .4byte 0xE
+ .4byte UnknownMapBorder_084815F4
+ .4byte UnknownMapBlockdata_084815F4
+ .4byte gTileset_General
+ .4byte gTileset_Pacifidlog
+
+ .align 2
+UnknownMapBorder_08481B24: @ 848160C
+ .incbin "data/maps/UnknownMap_08481B24/border.bin"
+
+ .align 2
+UnknownMapBlockdata_08481B24: @ 8481614
+ .incbin "data/maps/UnknownMap_08481B24/map.bin"
+
+ .align 2
+UnknownMapAttributes_08481B24: @ 8481B24
+ .4byte 0x1B
+ .4byte 0x18
+ .4byte UnknownMapBorder_08481B24
+ .4byte UnknownMapBlockdata_08481B24
+ .4byte gTileset_General
+ .4byte gTileset_Pacifidlog
+
+ .align 2
+SootopolisCity_MysteryEventsHouse_1F_MapBorder: @ 8481B3C
+ .incbin "data/maps/SootopolisCity_MysteryEventsHouse_1F/border.bin"
+
+ .align 2
+SootopolisCity_MysteryEventsHouse_1F_MapBlockdata: @ 8481B44
+ .incbin "data/maps/SootopolisCity_MysteryEventsHouse_1F/map.bin"
+
+ .align 2
+SootopolisCity_MysteryEventsHouse_1F_MapAttributes: @ 8481BF4
+ .4byte 0xb
+ .4byte 0x8
+ .4byte SootopolisCity_MysteryEventsHouse_1F_MapBorder
+ .4byte SootopolisCity_MysteryEventsHouse_1F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_MysteryEventsHouse
+
+ .align 2
+SootopolisCity_MysteryEventsHouse_B1F_MapBorder: @ 8481C0C
+ .incbin "data/maps/SootopolisCity_MysteryEventsHouse_B1F/border.bin"
+
+ .align 2
+SootopolisCity_MysteryEventsHouse_B1F_MapBlockdata: @ 8481C14
+ .incbin "data/maps/SootopolisCity_MysteryEventsHouse_B1F/map.bin"
+
+ .align 2
+SootopolisCity_MysteryEventsHouse_B1F_MapAttributes: @ 8481CEC
+ .4byte 0xc
+ .4byte 0x9
+ .4byte SootopolisCity_MysteryEventsHouse_B1F_MapBorder
+ .4byte SootopolisCity_MysteryEventsHouse_B1F_MapBlockdata
+ .4byte gTileset_Building
+ .4byte gTileset_MysteryEventsHouse
+
+ .align 2
+UnknownMapBorder_08481DBC: @ 8481D04
+ .incbin "data/maps/UnknownMap_08481DBC/border.bin"
+
+ .align 2
+UnknownMapBlockdata_08481DBC: @ 8481D0C
+ .incbin "data/maps/UnknownMap_08481DBC/map.bin"
+
+ .align 2
+UnknownMapAttributes_08481DBC: @ 8481DBC
+ .4byte 0xB
+ .4byte 0x8
+ .4byte UnknownMapBorder_08481DBC
+ .4byte UnknownMapBlockdata_08481DBC
+ .4byte gTileset_Building
+ .4byte gTileset_MysteryEventsHouse
diff --git a/data/maps/_groups.inc b/data/maps/_groups.inc
new file mode 100644
index 000000000..f7fc7be89
--- /dev/null
+++ b/data/maps/_groups.inc
@@ -0,0 +1,623 @@
+gMapGroup0: @ 8485D60
+ .4byte PetalburgCity
+ .4byte SlateportCity
+ .4byte MauvilleCity
+ .4byte RustboroCity
+ .4byte FortreeCity
+ .4byte LilycoveCity
+ .4byte MossdeepCity
+ .4byte SootopolisCity
+ .4byte EverGrandeCity
+ .4byte LittlerootTown
+ .4byte OldaleTown
+ .4byte DewfordTown
+ .4byte LavaridgeTown
+ .4byte FallarborTown
+ .4byte VerdanturfTown
+ .4byte PacifidlogTown
+ .4byte Route101
+ .4byte Route102
+ .4byte Route103
+ .4byte Route104
+ .4byte Route105
+ .4byte Route106
+ .4byte Route107
+ .4byte Route108
+ .4byte Route109
+ .4byte Route110
+ .4byte Route111
+ .4byte Route112
+ .4byte Route113
+ .4byte Route114
+ .4byte Route115
+ .4byte Route116
+ .4byte Route117
+ .4byte Route118
+ .4byte Route119
+ .4byte Route120
+ .4byte Route121
+ .4byte Route122
+ .4byte Route123
+ .4byte Route124
+ .4byte Route125
+ .4byte Route126
+ .4byte Route127
+ .4byte Route128
+ .4byte Route129
+ .4byte Route130
+ .4byte Route131
+ .4byte Route132
+ .4byte Route133
+ .4byte Route134
+ .4byte Underwater1
+ .4byte Underwater2
+ .4byte Underwater3
+ .4byte Underwater4
+ .4byte Underwater5
+ .4byte Underwater6
+ .4byte Underwater7
+
+gMapGroup1: @ 8485E44
+ .4byte LittlerootTown_BrendansHouse_1F
+ .4byte LittlerootTown_BrendansHouse_2F
+ .4byte LittlerootTown_MaysHouse_1F
+ .4byte LittlerootTown_MaysHouse_2F
+ .4byte LittlerootTown_ProfessorBirchsLab
+
+gMapGroup2: @ 8485E58
+ .4byte OldaleTown_House1
+ .4byte OldaleTown_House2
+ .4byte OldaleTown_PokemonCenter_1F
+ .4byte OldaleTown_PokemonCenter_2F
+ .4byte OldaleTown_Mart
+
+gMapGroup3: @ 8485E6C
+ .4byte DewfordTown_House1
+ .4byte DewfordTown_PokemonCenter_1F
+ .4byte DewfordTown_PokemonCenter_2F
+ .4byte DewfordTown_Gym
+ .4byte DewfordTown_Hall
+ .4byte DewfordTown_House2
+
+gMapGroup4: @ 8485E84
+ .4byte LavaridgeTown_HerbShop
+ .4byte LavaridgeTown_Gym_1F
+ .4byte LavaridgeTown_Gym_B1F
+ .4byte LavaridgeTown_House
+ .4byte LavaridgeTown_Mart
+ .4byte LavaridgeTown_PokemonCenter_1F
+ .4byte LavaridgeTown_PokemonCenter_2F
+
+gMapGroup5: @ 8485EA0
+ .4byte FallarborTown_Mart
+ .4byte FallarborTown_BattleTentLobby
+ .4byte FallarborTown_BattleTentCorridor
+ .4byte FallarborTown_BattleTentBattleRoom
+ .4byte FallarborTown_PokemonCenter_1F
+ .4byte FallarborTown_PokemonCenter_2F
+ .4byte FallarborTown_House1
+ .4byte FallarborTown_House2
+
+gMapGroup6: @ 8485EC0
+ .4byte VerdanturfTown_BattleTentLobby
+ .4byte VerdanturfTown_BattleTentCorridor
+ .4byte VerdanturfTown_BattleTentBattleRoom
+ .4byte VerdanturfTown_Mart
+ .4byte VerdanturfTown_PokemonCenter_1F
+ .4byte VerdanturfTown_PokemonCenter_2F
+ .4byte VerdanturfTown_WandasHouse
+ .4byte VerdanturfTown_FriendshipRatersHouse
+ .4byte VerdanturfTown_House
+
+gMapGroup7: @ 8485EE4
+ .4byte PacifidlogTown_PokemonCenter_1F
+ .4byte PacifidlogTown_PokemonCenter_2F
+ .4byte PacifidlogTown_House1
+ .4byte PacifidlogTown_House2
+ .4byte PacifidlogTown_House3
+ .4byte PacifidlogTown_House4
+ .4byte PacifidlogTown_House5
+
+gMapGroup8: @ 8485F00
+ .4byte PetalburgCity_WallysHouse
+ .4byte PetalburgCity_Gym
+ .4byte PetalburgCity_House1
+ .4byte PetalburgCity_House2
+ .4byte PetalburgCity_PokemonCenter_1F
+ .4byte PetalburgCity_PokemonCenter_2F
+ .4byte PetalburgCity_Mart
+
+gMapGroup9: @ 8485F1C
+ .4byte SlateportCity_SternsShipyard_1F
+ .4byte SlateportCity_SternsShipyard_2F
+ .4byte SlateportCity_BattleTentLobby
+ .4byte SlateportCity_BattleTentCorridor
+ .4byte SlateportCity_BattleTentBattleRoom
+ .4byte SlateportCity_House1
+ .4byte SlateportCity_PokemonFanClub
+ .4byte SlateportCity_OceanicMuseum_1F
+ .4byte SlateportCity_OceanicMuseum_2F
+ .4byte SlateportCity_Harbor
+ .4byte SlateportCity_House2
+ .4byte SlateportCity_PokemonCenter_1F
+ .4byte SlateportCity_PokemonCenter_2F
+ .4byte SlateportCity_Mart
+
+gMapGroup10: @ 8485F54
+ .4byte MauvilleCity_Gym
+ .4byte MauvilleCity_BikeShop
+ .4byte MauvilleCity_House1
+ .4byte MauvilleCity_GameCorner
+ .4byte MauvilleCity_House2
+ .4byte MauvilleCity_PokemonCenter_1F
+ .4byte MauvilleCity_PokemonCenter_2F
+ .4byte MauvilleCity_Mart
+
+gMapGroup11: @ 8485F74
+ .4byte RustboroCity_DevonCorp_1F
+ .4byte RustboroCity_DevonCorp_2F
+ .4byte RustboroCity_DevonCorp_3F
+ .4byte RustboroCity_Gym
+ .4byte RustboroCity_PokemonSchool
+ .4byte RustboroCity_PokemonCenter_1F
+ .4byte RustboroCity_PokemonCenter_2F
+ .4byte RustboroCity_Mart
+ .4byte RustboroCity_Flat1_1F
+ .4byte RustboroCity_Flat1_2F
+ .4byte RustboroCity_House1
+ .4byte RustboroCity_CuttersHouse
+ .4byte RustboroCity_House2
+ .4byte RustboroCity_Flat2_1F
+ .4byte RustboroCity_Flat2_2F
+ .4byte RustboroCity_Flat2_3F
+ .4byte RustboroCity_House3
+
+gMapGroup12: @ 8485FB8
+ .4byte FortreeCity_House1
+ .4byte FortreeCity_Gym
+ .4byte FortreeCity_PokemonCenter_1F
+ .4byte FortreeCity_PokemonCenter_2F
+ .4byte FortreeCity_Mart
+ .4byte FortreeCity_House2
+ .4byte FortreeCity_House3
+ .4byte FortreeCity_House4
+ .4byte FortreeCity_House5
+ .4byte FortreeCity_DecorationShop
+
+gMapGroup13: @ 8485FE0
+ .4byte LilycoveCity_CoveLilyMotel_1F
+ .4byte LilycoveCity_CoveLilyMotel_2F
+ .4byte LilycoveCity_LilycoveMuseum_1F
+ .4byte LilycoveCity_LilycoveMuseum_2F
+ .4byte LilycoveCity_ContestLobby
+ .4byte LilycoveCity_ContestHall
+ .4byte LilycoveCity_PokemonCenter_1F
+ .4byte LilycoveCity_PokemonCenter_2F
+ .4byte LilycoveCity_UnusedMart
+ .4byte LilycoveCity_PokemonTrainerFanClub
+ .4byte LilycoveCity_Harbor
+ .4byte LilycoveCity_MoveDeletersHouse
+ .4byte LilycoveCity_House1
+ .4byte LilycoveCity_House2
+ .4byte LilycoveCity_House3
+ .4byte LilycoveCity_House4
+ .4byte LilycoveCity_DepartmentStore_1F
+ .4byte LilycoveCity_DepartmentStore_2F
+ .4byte LilycoveCity_DepartmentStore_3F
+ .4byte LilycoveCity_DepartmentStore_4F
+ .4byte LilycoveCity_DepartmentStore_5F
+ .4byte LilycoveCity_DepartmentStoreRooftop
+ .4byte LilycoveCity_DepartmentStoreElevator
+
+gMapGroup14: @ 848603C
+ .4byte MossdeepCity_Gym
+ .4byte MossdeepCity_House1
+ .4byte MossdeepCity_House2
+ .4byte MossdeepCity_PokemonCenter_1F
+ .4byte MossdeepCity_PokemonCenter_2F
+ .4byte MossdeepCity_Mart
+ .4byte MossdeepCity_House3
+ .4byte MossdeepCity_StevensHouse
+ .4byte MossdeepCity_House4
+ .4byte MossdeepCity_SpaceCenter_1F
+ .4byte MossdeepCity_SpaceCenter_2F
+ .4byte MossdeepCity_GameCorner_1F
+ .4byte MossdeepCity_GameCorner_B1F
+
+gMapGroup15: @ 8486070
+ .4byte SootopolisCity_Gym_1F
+ .4byte SootopolisCity_Gym_B1F
+ .4byte SootopolisCity_PokemonCenter_1F
+ .4byte SootopolisCity_PokemonCenter_2F
+ .4byte SootopolisCity_Mart
+ .4byte SootopolisCity_House1
+ .4byte SootopolisCity_House2
+ .4byte SootopolisCity_House3
+ .4byte SootopolisCity_House4
+ .4byte SootopolisCity_House5
+ .4byte SootopolisCity_House6
+ .4byte SootopolisCity_House7
+ .4byte SootopolisCity_LotadAndSeedotHouse
+ .4byte SootopolisCity_MysteryEventsHouse_1F
+ .4byte SootopolisCity_MysteryEventsHouse_B1F
+
+gMapGroup16: @ 84860AC
+ .4byte EverGrandeCity_SidneysRoom
+ .4byte EverGrandeCity_PhoebesRoom
+ .4byte EverGrandeCity_GlaciasRoom
+ .4byte EverGrandeCity_DrakesRoom
+ .4byte EverGrandeCity_ChampionsRoom
+ .4byte EverGrandeCity_Hall1
+ .4byte EverGrandeCity_Hall2
+ .4byte EverGrandeCity_Hall3
+ .4byte EverGrandeCity_Hall4
+ .4byte EverGrandeCity_Hall5
+ .4byte EverGrandeCity_PokemonLeague_1F
+ .4byte EverGrandeCity_HallOfFame
+ .4byte EverGrandeCity_PokemonCenter_1F
+ .4byte EverGrandeCity_PokemonCenter_2F
+ .4byte EverGrandeCity_PokemonLeague_2F
+
+gMapGroup17: @ 84860E8
+ .4byte Route104_MrBrineysHouse
+ .4byte Route104_PrettyPetalFlowerShop
+
+gMapGroup18: @ 84860F0
+ .4byte Route111_WinstrateFamilysHouse
+ .4byte Route111_OldLadysRestStop
+
+gMapGroup19: @ 84860F8
+ .4byte Route112_CableCarStation
+ .4byte MtChimney_CableCarStation
+
+gMapGroup20: @ 8486100
+ .4byte Route114_FossilManiacsHouse
+ .4byte Route114_FossilManiacsTunnel
+ .4byte Route114_LanettesHouse
+
+gMapGroup21: @ 848610C
+ .4byte Route116_TunnelersRestHouse
+
+gMapGroup22: @ 8486110
+ .4byte Route117_PokemonDayCare
+
+gMapGroup23: @ 8486114
+ .4byte Route121_SafariZoneEntrance
+
+gMapGroup24: @ 8486118
+ .4byte MeteorFalls_1F_1R
+ .4byte MeteorFalls_1F_2R
+ .4byte MeteorFalls_B1F_1R
+ .4byte MeteorFalls_B1F_2R
+ .4byte RusturfTunnel
+ .4byte Underwater_SootopolisCity
+ .4byte DesertRuins
+ .4byte GraniteCave_1F
+ .4byte GraniteCave_B1F
+ .4byte GraniteCave_B2F
+ .4byte GraniteCave_StevensRoom
+ .4byte PetalburgWoods
+ .4byte MtChimney
+ .4byte JaggedPass
+ .4byte FieryPath
+ .4byte MtPyre_1F
+ .4byte MtPyre_2F
+ .4byte MtPyre_3F
+ .4byte MtPyre_4F
+ .4byte MtPyre_5F
+ .4byte MtPyre_6F
+ .4byte MtPyre_Exterior
+ .4byte MtPyre_Summit
+ .4byte AquaHideout_1F
+ .4byte AquaHideout_B1F
+ .4byte AquaHideout_B2F
+ .4byte Underwater_SeafloorCavern
+ .4byte SeafloorCavern_Entrance
+ .4byte SeafloorCavern_Room1
+ .4byte SeafloorCavern_Room2
+ .4byte SeafloorCavern_Room3
+ .4byte SeafloorCavern_Room4
+ .4byte SeafloorCavern_Room5
+ .4byte SeafloorCavern_Room6
+ .4byte SeafloorCavern_Room7
+ .4byte SeafloorCavern_Room8
+ .4byte SeafloorCavern_Room9
+ .4byte CaveOfOrigin_Entrance
+ .4byte CaveOfOrigin_1F
+ .4byte CaveOfOrigin_UnusedRubySapphireMap1
+ .4byte CaveOfOrigin_UnusedRubySapphireMap2
+ .4byte CaveOfOrigin_UnusedRubySapphireMap3
+ .4byte CaveOfOrigin_B1F
+ .4byte VictoryRoad_1F
+ .4byte VictoryRoad_B1F
+ .4byte VictoryRoad_B2F
+ .4byte ShoalCave_LowTideEntranceRoom
+ .4byte ShoalCave_LowTideInnerRoom
+ .4byte ShoalCave_LowTideStairsRoom
+ .4byte ShoalCave_LowTideLowerRoom
+ .4byte ShoalCave_HighTideEntranceRoom
+ .4byte ShoalCave_HighTideInnerRoom
+ .4byte NewMauville_Entrance
+ .4byte NewMauville_Inside
+ .4byte AbandonedShip_Deck
+ .4byte AbandonedShip_Corridors_1F
+ .4byte AbandonedShip_Rooms_1F
+ .4byte AbandonedShip_Corridors_B1F
+ .4byte AbandonedShip_Rooms_B1F
+ .4byte AbandonedShip_Rooms2_B1F
+ .4byte AbandonedShip_Underwater1
+ .4byte AbandonedShip_Room_B1F
+ .4byte AbandonedShip_Rooms2_1F
+ .4byte AbandonedShip_CaptainsOffice
+ .4byte AbandonedShip_Underwater2
+ .4byte AbandonedShip_HiddenFloorCorridors
+ .4byte AbandonedShip_HiddenFloorRooms
+ .4byte IslandCave
+ .4byte AncientTomb
+ .4byte Underwater_Route134
+ .4byte Underwater_SealedChamber
+ .4byte SealedChamber_OuterRoom
+ .4byte SealedChamber_InnerRoom
+ .4byte ScorchedSlab
+ .4byte AquaHideout_UnusedRubyMap1
+ .4byte AquaHideout_UnusedRubyMap2
+ .4byte AquaHideout_UnusedRubyMap3
+ .4byte SkyPillar_Entrance
+ .4byte SkyPillar_Outside
+ .4byte SkyPillar_1F
+ .4byte SkyPillar_2F
+ .4byte SkyPillar_3F
+ .4byte SkyPillar_4F
+ .4byte ShoalCave_LowTideIceRoom
+ .4byte SkyPillar_5F
+ .4byte SkyPillar_Top
+ .4byte MagmaHideout_1F
+ .4byte MagmaHideout_2F_1R
+ .4byte MagmaHideout_2F_2R
+ .4byte MagmaHideout_3F_1R
+ .4byte MagmaHideout_3F_2R
+ .4byte MagmaHideout_4F
+ .4byte MagmaHideout_3F_3R
+ .4byte MagmaHideout_2F_3R
+ .4byte MirageTower_1F
+ .4byte MirageTower_2F
+ .4byte MirageTower_3F
+ .4byte MirageTower_4F
+ .4byte DesertUnderpass
+ .4byte ArtisanCave_B1F
+ .4byte ArtisanCave_1F
+ .4byte Underwater_MarineCave
+ .4byte MarineCave_Entrance
+ .4byte MarineCave_End
+ .4byte TerraCave_Entrance
+ .4byte TerraCave_End
+ .4byte AlteringCave
+ .4byte MeteorFalls_StevensCave
+
+gMapGroup25: @ 84862C8
+ .4byte SecretBase_RedCave1
+ .4byte SecretBase_BrownCave1
+ .4byte SecretBase_BlueCave1
+ .4byte SecretBase_YellowCave1
+ .4byte SecretBase_Tree1
+ .4byte SecretBase_Shrub1
+ .4byte SecretBase_RedCave2
+ .4byte SecretBase_BrownCave2
+ .4byte SecretBase_BlueCave2
+ .4byte SecretBase_YellowCave2
+ .4byte SecretBase_Tree2
+ .4byte SecretBase_Shrub2
+ .4byte SecretBase_RedCave3
+ .4byte SecretBase_BrownCave3
+ .4byte SecretBase_BlueCave3
+ .4byte SecretBase_YellowCave3
+ .4byte SecretBase_Tree3
+ .4byte SecretBase_Shrub3
+ .4byte SecretBase_RedCave4
+ .4byte SecretBase_BrownCave4
+ .4byte SecretBase_BlueCave4
+ .4byte SecretBase_YellowCave4
+ .4byte SecretBase_Tree4
+ .4byte SecretBase_Shrub4
+ .4byte SingleBattleColosseum
+ .4byte TradeCenter
+ .4byte RecordCorner
+ .4byte DoubleBattleColosseum
+ .4byte LinkContestRoom1
+ .4byte UnknownMap_25_29
+ .4byte UnknownMap_25_30
+ .4byte UnknownMap_25_31
+ .4byte UnknownMap_25_32
+ .4byte UnknownMap_25_33
+ .4byte UnknownMap_25_34
+ .4byte LinkContestRoom2
+ .4byte LinkContestRoom3
+ .4byte LinkContestRoom4
+ .4byte LinkContestRoom5
+ .4byte LinkContestRoom6
+ .4byte InsideOfTruck
+ .4byte SSTidalCorridor
+ .4byte SSTidalLowerDeck
+ .4byte SSTidalRooms
+ .4byte BattlePyramidSquare01
+ .4byte BattlePyramidSquare02
+ .4byte BattlePyramidSquare03
+ .4byte BattlePyramidSquare04
+ .4byte BattlePyramidSquare05
+ .4byte BattlePyramidSquare06
+ .4byte BattlePyramidSquare07
+ .4byte BattlePyramidSquare08
+ .4byte BattlePyramidSquare09
+ .4byte BattlePyramidSquare10
+ .4byte BattlePyramidSquare11
+ .4byte BattlePyramidSquare12
+ .4byte BattlePyramidSquare13
+ .4byte BattlePyramidSquare14
+ .4byte BattlePyramidSquare15
+ .4byte BattlePyramidSquare16
+ .4byte UnionRoom
+
+gMapGroup26: @ 84863BC
+ .4byte SafariZone_Northwest
+ .4byte SafariZone_North
+ .4byte SafariZone_Southwest
+ .4byte SafariZone_South
+ .4byte BattleFrontier_OutsideWest
+ .4byte BattleFrontier_BattleTowerLobby
+ .4byte BattleFrontier_BattleTowerElevator
+ .4byte BattleFrontier_BattleTowerCorridor
+ .4byte BattleFrontier_BattleTowerBattleRoom
+ .4byte SouthernIsland_Exterior
+ .4byte SouthernIsland_Interior
+ .4byte SafariZone_RestHouse
+ .4byte SafariZone_Northeast
+ .4byte SafariZone_Southeast
+ .4byte BattleFrontier_OutsideEast
+ .4byte BattleFrontier_BattleTowerMultiBattleRoom
+ .4byte BattleFrontier_BattleTowerCorridor2
+ .4byte BattleFrontier_BattleTowerBattleRoom2
+ .4byte BattleFrontier_BattleDomeLobby
+ .4byte BattleFrontier_BattleDomeCorridor
+ .4byte BattleFrontier_BattleDomePreBattleRoom
+ .4byte BattleFrontier_BattleDomeBattleRoom
+ .4byte BattleFrontier_BattlePalaceLobby
+ .4byte BattleFrontier_BattlePalaceCorridor
+ .4byte BattleFrontier_BattlePalaceBattleRoom
+ .4byte BattleFrontier_BattlePyramidLobby
+ .4byte BattleFrontier_BattlePyramidEmptySquare
+ .4byte BattleFrontier_BattlePyramidTop
+ .4byte BattleFrontier_BattleArenaLobby
+ .4byte BattleFrontier_BattleArenaCorridor
+ .4byte BattleFrontier_BattleArenaBattleRoom
+ .4byte BattleFrontier_BattleFactoryLobby
+ .4byte BattleFrontier_BattleFactoryPreBattleRoom
+ .4byte BattleFrontier_BattleFactoryBattleRoom
+ .4byte BattleFrontier_BattlePikeLobby
+ .4byte BattleFrontier_BattlePikeCorridor
+ .4byte BattleFrontier_BattlePikeThreePathRoom
+ .4byte BattleFrontier_BattlePikeRandomRoom1
+ .4byte BattleFrontier_BattlePikeRandomRoom2
+ .4byte BattleFrontier_BattlePikeRandomRoom3
+ .4byte BattleFrontier_RankingHall
+ .4byte BattleFrontier_Lounge1
+ .4byte BattleFrontier_BattlePointExchangeServiceCorner
+ .4byte BattleFrontier_Lounge2
+ .4byte BattleFrontier_Lounge3
+ .4byte BattleFrontier_Lounge4
+ .4byte BattleFrontier_ScottsHouse
+ .4byte BattleFrontier_Lounge5
+ .4byte BattleFrontier_Lounge6
+ .4byte BattleFrontier_Lounge7
+ .4byte BattleFrontier_ReceptionGate
+ .4byte BattleFrontier_Lounge8
+ .4byte BattleFrontier_Lounge9
+ .4byte BattleFrontier_PokemonCenter_1F
+ .4byte BattleFrontier_PokemonCenter_2F
+ .4byte BattleFrontier_Mart
+ .4byte FarawayIsland_Entrance
+ .4byte FarawayIsland_Interior
+ .4byte BirthIsland_Exterior
+ .4byte BirthIsland_Harbor
+ .4byte TrainerHill_Entrance
+ .4byte TrainerHill_1F
+ .4byte TrainerHill_2F
+ .4byte TrainerHill_3F
+ .4byte TrainerHill_4F
+ .4byte TrainerHill_Roof
+ .4byte NavelRock_Exterior
+ .4byte NavelRock_Harbor
+ .4byte NavelRock_Entrance
+ .4byte NavelRock_B1F
+ .4byte NavelRock_Fork
+ .4byte NavelRock_Up1
+ .4byte NavelRock_Up2
+ .4byte NavelRock_Up3
+ .4byte NavelRock_Up4
+ .4byte NavelRock_Top
+ .4byte NavelRock_Down01
+ .4byte NavelRock_Down02
+ .4byte NavelRock_Down03
+ .4byte NavelRock_Down04
+ .4byte NavelRock_Down05
+ .4byte NavelRock_Down06
+ .4byte NavelRock_Down07
+ .4byte NavelRock_Down08
+ .4byte NavelRock_Down09
+ .4byte NavelRock_Down10
+ .4byte NavelRock_Down11
+ .4byte NavelRock_Bottom
+ .4byte TrainerHill_Elevator
+
+gMapGroup27: @ 8486520
+ .4byte Route104_Prototype
+ .4byte Route104_PrototypePrettyPetalFlowerShop
+
+gMapGroup28: @ 8486528
+ .4byte Route109_SeashoreHouse
+
+gMapGroup29: @ 848652C
+ .4byte Route110_TrickHouseEntrance
+ .4byte Route110_TrickHouseEnd
+ .4byte Route110_TrickHouseCorridor
+ .4byte Route110_TrickHousePuzzle1
+ .4byte Route110_TrickHousePuzzle2
+ .4byte Route110_TrickHousePuzzle3
+ .4byte Route110_TrickHousePuzzle4
+ .4byte Route110_TrickHousePuzzle5
+ .4byte Route110_TrickHousePuzzle6
+ .4byte Route110_TrickHousePuzzle7
+ .4byte Route110_TrickHousePuzzle8
+ .4byte Route110_SeasideCyclingRoadEntrance1
+ .4byte Route110_SeasideCyclingRoadEntrance2
+
+gMapGroup30: @ 8486560
+ .4byte Route113_GlassWorkshop
+
+gMapGroup31: @ 8486564
+ .4byte Route123_BerryMastersHouse
+
+gMapGroup32: @ 8486568
+ .4byte Route119_WeatherInstitute_1F
+ .4byte Route119_WeatherInstitute_2F
+ .4byte Route119_House
+
+gMapGroup33: @ 8486574
+ .4byte Route124_DivingTreasureHuntersHouse
+
+ .align 2
+gMapGroups:: @ 8486578
+ .4byte gMapGroup0
+ .4byte gMapGroup1
+ .4byte gMapGroup2
+ .4byte gMapGroup3
+ .4byte gMapGroup4
+ .4byte gMapGroup5
+ .4byte gMapGroup6
+ .4byte gMapGroup7
+ .4byte gMapGroup8
+ .4byte gMapGroup9
+ .4byte gMapGroup10
+ .4byte gMapGroup11
+ .4byte gMapGroup12
+ .4byte gMapGroup13
+ .4byte gMapGroup14
+ .4byte gMapGroup15
+ .4byte gMapGroup16
+ .4byte gMapGroup17
+ .4byte gMapGroup18
+ .4byte gMapGroup19
+ .4byte gMapGroup20
+ .4byte gMapGroup21
+ .4byte gMapGroup22
+ .4byte gMapGroup23
+ .4byte gMapGroup24
+ .4byte gMapGroup25
+ .4byte gMapGroup26
+ .4byte gMapGroup27
+ .4byte gMapGroup28
+ .4byte gMapGroup29
+ .4byte gMapGroup30
+ .4byte gMapGroup31
+ .4byte gMapGroup32
+ .4byte gMapGroup33
+
diff --git a/data/maps/attributes_table.inc b/data/maps/attributes_table.inc
new file mode 100644
index 000000000..ef25ba2b5
--- /dev/null
+++ b/data/maps/attributes_table.inc
@@ -0,0 +1,444 @@
+ .align 2
+gMapAttributes:: @ 8481DD4
+ .4byte PetalburgCity_MapAttributes
+ .4byte SlateportCity_MapAttributes
+ .4byte MauvilleCity_MapAttributes
+ .4byte RustboroCity_MapAttributes
+ .4byte FortreeCity_MapAttributes
+ .4byte LilycoveCity_MapAttributes
+ .4byte MossdeepCity_MapAttributes
+ .4byte SootopolisCity_MapAttributes
+ .4byte EverGrandeCity_MapAttributes
+ .4byte LittlerootTown_MapAttributes
+ .4byte OldaleTown_MapAttributes
+ .4byte DewfordTown_MapAttributes
+ .4byte LavaridgeTown_MapAttributes
+ .4byte FallarborTown_MapAttributes
+ .4byte VerdanturfTown_MapAttributes
+ .4byte PacifidlogTown_MapAttributes
+ .4byte Route101_MapAttributes
+ .4byte Route102_MapAttributes
+ .4byte Route103_MapAttributes
+ .4byte Route104_MapAttributes
+ .4byte Route105_MapAttributes
+ .4byte Route106_MapAttributes
+ .4byte Route107_MapAttributes
+ .4byte Route108_MapAttributes
+ .4byte Route109_MapAttributes
+ .4byte Route110_MapAttributes
+ .4byte Route111_MapAttributes
+ .4byte Route112_MapAttributes
+ .4byte Route113_MapAttributes
+ .4byte Route114_MapAttributes
+ .4byte Route115_MapAttributes
+ .4byte Route116_MapAttributes
+ .4byte Route117_MapAttributes
+ .4byte Route118_MapAttributes
+ .4byte Route119_MapAttributes
+ .4byte Route120_MapAttributes
+ .4byte Route121_MapAttributes
+ .4byte Route122_MapAttributes
+ .4byte Route123_MapAttributes
+ .4byte Route124_MapAttributes
+ .4byte Route125_MapAttributes
+ .4byte Route126_MapAttributes
+ .4byte Route127_MapAttributes
+ .4byte Route128_MapAttributes
+ .4byte Route129_MapAttributes
+ .4byte UnknownMapAttributes_08417FC4
+ .4byte Route131_MapAttributes
+ .4byte Route132_MapAttributes
+ .4byte Route133_MapAttributes
+ .4byte Route134_MapAttributes
+ .4byte Underwater2_MapAttributes
+ .4byte Underwater3_MapAttributes
+ .4byte Underwater4_MapAttributes
+ .4byte LittlerootTown_BrendansHouse_1F_MapAttributes
+ .4byte LittlerootTown_BrendansHouse_2F_MapAttributes
+ .4byte LittlerootTown_MaysHouse_1F_MapAttributes
+ .4byte LittlerootTown_MaysHouse_2F_MapAttributes
+ .4byte LittlerootTown_ProfessorBirchsLab_MapAttributes
+ .4byte OldaleTown_House1_MapAttributes
+ .4byte OldaleTown_House2_MapAttributes
+ .4byte OldaleTown_PokemonCenter_1F_MapAttributes
+ .4byte OldaleTown_PokemonCenter_2F_MapAttributes
+ .4byte OldaleTown_Mart_MapAttributes
+ .4byte DewfordTown_House1_MapAttributes
+ .4byte DewfordTown_Gym_MapAttributes
+ .4byte DewfordTown_Hall_MapAttributes
+ .4byte DewfordTown_House2_MapAttributes
+ .4byte LavaridgeTown_HerbShop_MapAttributes
+ .4byte LavaridgeTown_Gym_1F_MapAttributes
+ .4byte LavaridgeTown_Gym_B1F_MapAttributes
+ .4byte LavaridgeTown_PokemonCenter_1F_MapAttributes
+ .4byte FallarborTown_LeftoverRSContestLobby_MapAttributes
+ .4byte FallarborTown_LeftoverRSContestHall_MapAttributes
+ .4byte LilycoveCity_House2_MapAttributes
+ .4byte UnknownMapAttributes_08428450
+ .4byte VerdanturfTown_WandasHouse_MapAttributes
+ .4byte PacifidlogTown_House1_MapAttributes
+ .4byte PacifidlogTown_House2_MapAttributes
+ .4byte PetalburgCity_Gym_MapAttributes
+ .4byte MossdeepCity_House4_MapAttributes
+ .4byte SlateportCity_SternsShipyard_1F_MapAttributes
+ .4byte SlateportCity_SternsShipyard_2F_MapAttributes
+ .4byte UnknownMapAttributes_084294C4
+ .4byte UnknownMapAttributes_084294E8
+ .4byte SlateportCity_PokemonFanClub_MapAttributes
+ .4byte SlateportCity_OceanicMuseum_1F_MapAttributes
+ .4byte SlateportCity_OceanicMuseum_2F_MapAttributes
+ .4byte LilycoveCity_Harbor_MapAttributes
+ .4byte MauvilleCity_Gym_MapAttributes
+ .4byte MauvilleCity_BikeShop_MapAttributes
+ .4byte MauvilleCity_GameCorner_MapAttributes
+ .4byte RustboroCity_DevonCorp_1F_MapAttributes
+ .4byte RustboroCity_DevonCorp_2F_MapAttributes
+ .4byte RustboroCity_Gym_MapAttributes
+ .4byte RustboroCity_PokemonSchool_MapAttributes
+ .4byte RustboroCity_House2_MapAttributes
+ .4byte RustboroCity_House1_MapAttributes
+ .4byte RustboroCity_CuttersHouse_MapAttributes
+ .4byte FortreeCity_House1_MapAttributes
+ .4byte FortreeCity_Gym_MapAttributes
+ .4byte FortreeCity_House2_MapAttributes
+ .4byte Route104_MrBrineysHouse_MapAttributes
+ .4byte LilycoveCity_LilycoveMuseum_1F_MapAttributes
+ .4byte LilycoveCity_LilycoveMuseum_2F_MapAttributes
+ .4byte LilycoveCity_ContestLobby_MapAttributes
+ .4byte LilycoveCity_ContestHall_MapAttributes
+ .4byte LilycoveCity_PokemonTrainerFanClub_MapAttributes
+ .4byte MossdeepCity_Gym_MapAttributes
+ .4byte SootopolisCity_Gym_1F_MapAttributes
+ .4byte SootopolisCity_Gym_B1F_MapAttributes
+ .4byte EverGrandeCity_SidneysRoom_MapAttributes
+ .4byte EverGrandeCity_PhoebesRoom_MapAttributes
+ .4byte EverGrandeCity_GlaciasRoom_MapAttributes
+ .4byte EverGrandeCity_DrakesRoom_MapAttributes
+ .4byte EverGrandeCity_ChampionsRoom_MapAttributes
+ .4byte EverGrandeCity_Hall1_MapAttributes
+ .4byte Route104_PrettyPetalFlowerShop_MapAttributes
+ .4byte Route112_CableCarStation_MapAttributes
+ .4byte Route114_FossilManiacsHouse_MapAttributes
+ .4byte Route114_FossilManiacsTunnel_MapAttributes
+ .4byte Route114_LanettesHouse_MapAttributes
+ .4byte Route116_TunnelersRestHouse_MapAttributes
+ .4byte Route117_PokemonDayCare_MapAttributes
+ .4byte Route121_SafariZoneEntrance_MapAttributes
+ .4byte MeteorFalls_1F_1R_MapAttributes
+ .4byte MeteorFalls_1F_2R_MapAttributes
+ .4byte MeteorFalls_B1F_1R_MapAttributes
+ .4byte MeteorFalls_B1F_2R_MapAttributes
+ .4byte RusturfTunnel_MapAttributes
+ .4byte Underwater_SootopolisCity_MapAttributes
+ .4byte DesertRuins_MapAttributes
+ .4byte GraniteCave_1F_MapAttributes
+ .4byte GraniteCave_B1F_MapAttributes
+ .4byte GraniteCave_B2F_MapAttributes
+ .4byte PetalburgWoods_MapAttributes
+ .4byte MtChimney_MapAttributes
+ .4byte MtPyre_1F_MapAttributes
+ .4byte MtPyre_2F_MapAttributes
+ .4byte MtPyre_3F_MapAttributes
+ .4byte MtPyre_4F_MapAttributes
+ .4byte MtPyre_5F_MapAttributes
+ .4byte MtPyre_6F_MapAttributes
+ .4byte AquaHideout_1F_MapAttributes
+ .4byte AquaHideout_B1F_MapAttributes
+ .4byte AquaHideout_B2F_MapAttributes
+ .4byte Underwater_SeafloorCavern_MapAttributes
+ .4byte SeafloorCavern_Entrance_MapAttributes
+ .4byte SeafloorCavern_Room1_MapAttributes
+ .4byte SeafloorCavern_Room2_MapAttributes
+ .4byte SeafloorCavern_Room3_MapAttributes
+ .4byte SeafloorCavern_Room4_MapAttributes
+ .4byte SeafloorCavern_Room5_MapAttributes
+ .4byte SeafloorCavern_Room6_MapAttributes
+ .4byte SeafloorCavern_Room7_MapAttributes
+ .4byte SeafloorCavern_Room8_MapAttributes
+ .4byte SeafloorCavern_Room9_MapAttributes
+ .4byte CaveOfOrigin_Entrance_MapAttributes
+ .4byte CaveOfOrigin_1F_MapAttributes
+ .4byte CaveOfOrigin_UnusedRubySapphireMap1_MapAttributes
+ .4byte CaveOfOrigin_UnusedRubySapphireMap2_MapAttributes
+ .4byte CaveOfOrigin_UnusedRubySapphireMap3_MapAttributes
+ .4byte CaveOfOrigin_B1F_MapAttributes
+ .4byte VictoryRoad_1F_MapAttributes
+ .4byte ShoalCave_LowTideEntranceRoom_MapAttributes
+ .4byte ShoalCave_LowTideInnerRoom_MapAttributes
+ .4byte ShoalCave_LowTideStairsRoom_MapAttributes
+ .4byte ShoalCave_LowTideLowerRoom_MapAttributes
+ .4byte ShoalCave_HighTideEntranceRoom_MapAttributes
+ .4byte ShoalCave_HighTideInnerRoom_MapAttributes
+ .4byte UnknownMapAttributes_0843E6C0 @ unused maps
+ .4byte UnknownMapAttributes_0843E6E4
+ .4byte UnknownMapAttributes_0843E708
+ .4byte UnknownMapAttributes_0843E72C
+ .4byte UnknownMapAttributes_0843E750
+ .4byte UnknownMapAttributes_0843E774
+ .4byte UnknownMapAttributes_0843E798
+ .4byte UnknownMapAttributes_0843E7BC
+ .4byte UnknownMapAttributes_0843E7E0
+ .4byte UnknownMapAttributes_0843E804
+ .4byte UnknownMapAttributes_0843E828
+ .4byte UnknownMapAttributes_0843E84C
+ .4byte UnknownMapAttributes_0843E870
+ .4byte UnknownMapAttributes_0843E894
+ .4byte NewMauville_Entrance_MapAttributes
+ .4byte NewMauville_Inside_MapAttributes
+ .4byte AbandonedShip_Deck_MapAttributes
+ .4byte AbandonedShip_Corridors_1F_MapAttributes
+ .4byte AbandonedShip_Rooms_1F_MapAttributes
+ .4byte AbandonedShip_Corridors_B1F_MapAttributes
+ .4byte AbandonedShip_Rooms_B1F_MapAttributes
+ .4byte AbandonedShip_Rooms2_B1F_MapAttributes
+ .4byte AbandonedShip_Underwater1_MapAttributes
+ .4byte AbandonedShip_Room_B1F_MapAttributes
+ .4byte AbandonedShip_Rooms2_1F_MapAttributes
+ .4byte AbandonedShip_CaptainsOffice_MapAttributes
+ .4byte AbandonedShip_Underwater2_MapAttributes
+ .4byte SecretBase_RedCave1_MapAttributes
+ .4byte SecretBase_BrownCave1_MapAttributes
+ .4byte SecretBase_BlueCave1_MapAttributes
+ .4byte SecretBase_YellowCave1_MapAttributes
+ .4byte SecretBase_Tree1_MapAttributes
+ .4byte SecretBase_Shrub1_MapAttributes
+ .4byte SecretBase_RedCave2_MapAttributes
+ .4byte SecretBase_BrownCave2_MapAttributes
+ .4byte SecretBase_BlueCave2_MapAttributes
+ .4byte SecretBase_YellowCave2_MapAttributes
+ .4byte SecretBase_Tree2_MapAttributes
+ .4byte SecretBase_Shrub2_MapAttributes
+ .4byte SecretBase_RedCave3_MapAttributes
+ .4byte SecretBase_BrownCave3_MapAttributes
+ .4byte SecretBase_BlueCave3_MapAttributes
+ .4byte SecretBase_YellowCave3_MapAttributes
+ .4byte SecretBase_Tree3_MapAttributes
+ .4byte SecretBase_Shrub3_MapAttributes
+ .4byte SecretBase_RedCave4_MapAttributes
+ .4byte SecretBase_BrownCave4_MapAttributes
+ .4byte SecretBase_BlueCave4_MapAttributes
+ .4byte SecretBase_YellowCave4_MapAttributes
+ .4byte SecretBase_Tree4_MapAttributes
+ .4byte SecretBase_Shrub4_MapAttributes
+ .4byte SingleBattleColosseum_MapAttributes
+ .4byte TradeCenter_MapAttributes
+ .4byte RecordCorner_MapAttributes
+ .4byte DoubleBattleColosseum_MapAttributes
+ .4byte LinkContestRoom1_MapAttributes
+ .4byte UnknownMap_25_29_MapAttributes
+ .4byte UnknownMap_25_30_MapAttributes
+ .4byte UnknownMap_25_31_MapAttributes
+ .4byte UnknownMap_25_32_MapAttributes
+ .4byte UnknownMap_25_33_MapAttributes
+ .4byte UnknownMap_25_34_MapAttributes
+ .4byte LinkContestRoom2_MapAttributes
+ .4byte LinkContestRoom3_MapAttributes
+ .4byte LinkContestRoom4_MapAttributes
+ .4byte LinkContestRoom5_MapAttributes
+ .4byte LinkContestRoom6_MapAttributes
+ .4byte InsideOfTruck_MapAttributes
+ .4byte SafariZone_Northwest_MapAttributes
+ .4byte SafariZone_North_MapAttributes
+ .4byte SafariZone_Southwest_MapAttributes
+ .4byte SafariZone_South_MapAttributes
+ .4byte UnknownMapAttributes_08447028
+ .4byte Route109_SeashoreHouse_MapAttributes
+ .4byte Route110_TrickHouseEntrance_MapAttributes
+ .4byte Route110_TrickHouseEnd_MapAttributes
+ .4byte Route110_TrickHouseCorridor_MapAttributes
+ .4byte Route110_TrickHousePuzzle1_MapAttributes
+ .4byte Route110_TrickHousePuzzle2_MapAttributes
+ .4byte Route110_TrickHousePuzzle3_MapAttributes
+ .4byte Route110_TrickHousePuzzle4_MapAttributes
+ .4byte Route110_TrickHousePuzzle5_MapAttributes
+ .4byte Route110_TrickHousePuzzle6_MapAttributes
+ .4byte Route110_TrickHousePuzzle7_MapAttributes
+ .4byte Route110_TrickHousePuzzle8_MapAttributes
+ .4byte FortreeCity_DecorationShop_MapAttributes
+ .4byte Route110_SeasideCyclingRoadEntrance1_MapAttributes
+ .4byte LilycoveCity_DepartmentStore_1F_MapAttributes
+ .4byte LilycoveCity_DepartmentStore_2F_MapAttributes
+ .4byte LilycoveCity_DepartmentStore_3F_MapAttributes
+ .4byte LilycoveCity_DepartmentStore_4F_MapAttributes
+ .4byte LilycoveCity_DepartmentStore_5F_MapAttributes
+ .4byte LilycoveCity_DepartmentStoreRooftop_MapAttributes
+ .4byte Route130_MapAttributes
+ .4byte BattleFrontier_BattleTowerLobby_MapAttributes
+ .4byte BattleFrontier_OutsideWest_MapAttributes
+ .4byte BattleFrontier_BattleTowerElevator_MapAttributes
+ .4byte BattleFrontier_BattleTowerCorridor_MapAttributes
+ .4byte BattleFrontier_BattleTowerBattleRoom_MapAttributes
+ .4byte RustboroCity_DevonCorp_3F_MapAttributes
+ .4byte EverGrandeCity_PokemonLeague_1F_MapAttributes
+ .4byte Route119_WeatherInstitute_1F_MapAttributes
+ .4byte Route119_WeatherInstitute_2F_MapAttributes
+ .4byte LilycoveCity_DepartmentStoreElevator_MapAttributes
+ .4byte Underwater1_MapAttributes
+ .4byte MossdeepCity_SpaceCenter_1F_MapAttributes
+ .4byte MossdeepCity_SpaceCenter_2F_MapAttributes
+ .4byte SSTidalCorridor_MapAttributes
+ .4byte SSTidalLowerDeck_MapAttributes
+ .4byte SSTidalRooms_MapAttributes
+ .4byte IslandCave_MapAttributes
+ .4byte AncientTomb_MapAttributes
+ .4byte Underwater_Route134_MapAttributes
+ .4byte Underwater_SealedChamber_MapAttributes
+ .4byte SealedChamber_OuterRoom_MapAttributes
+ .4byte VictoryRoad_B1F_MapAttributes
+ .4byte VictoryRoad_B2F_MapAttributes
+ .4byte Route104_Prototype_MapAttributes
+ .4byte GraniteCave_StevensRoom_MapAttributes
+ .4byte AbandonedShip_HiddenFloorCorridors_MapAttributes
+ .4byte SouthernIsland_Exterior_MapAttributes
+ .4byte SouthernIsland_Interior_MapAttributes
+ .4byte JaggedPass_MapAttributes
+ .4byte FieryPath_MapAttributes
+ .4byte RustboroCity_Flat2_1F_MapAttributes
+ .4byte RustboroCity_Flat2_2F_MapAttributes
+ .4byte RustboroCity_Flat2_3F_MapAttributes
+ .4byte SootopolisCity_LotadAndSeedotHouse_MapAttributes
+ .4byte EverGrandeCity_HallOfFame_MapAttributes
+ .4byte LilycoveCity_CoveLilyMotel_1F_MapAttributes
+ .4byte LilycoveCity_CoveLilyMotel_2F_MapAttributes
+ .4byte Route124_DivingTreasureHuntersHouse_MapAttributes
+ .4byte MtPyre_Exterior_MapAttributes
+ .4byte MtPyre_Summit_MapAttributes
+ .4byte SealedChamber_InnerRoom_MapAttributes
+ .4byte MossdeepCity_GameCorner_1F_MapAttributes
+ .4byte MossdeepCity_GameCorner_B1F_MapAttributes
+ .4byte SootopolisCity_House1_MapAttributes
+ .4byte SootopolisCity_House2_MapAttributes
+ .4byte SootopolisCity_House3_MapAttributes
+ .4byte AbandonedShip_HiddenFloorRooms_MapAttributes
+ .4byte ScorchedSlab_MapAttributes
+ .4byte UnknownMapAttributes_0845A394
+ .4byte RustboroCity_Flat1_1F_MapAttributes
+ .4byte RustboroCity_Flat1_2F_MapAttributes
+ .4byte EverGrandeCity_Hall4_MapAttributes
+ .4byte AquaHideout_UnusedRubyMap1_MapAttributes
+ .4byte AquaHideout_UnusedRubyMap2_MapAttributes
+ .4byte AquaHideout_UnusedRubyMap3_MapAttributes
+ .4byte UnknownMapAttributes_0845D470
+ .4byte SkyPillar_Entrance_MapAttributes
+ .4byte SkyPillar_Outside_MapAttributes
+ .4byte SkyPillar_1F_MapAttributes
+ .4byte SkyPillar_2F_MapAttributes
+ .4byte SkyPillar_3F_MapAttributes
+ .4byte SkyPillar_4F_MapAttributes
+ .4byte UnknownMapAttributes_0845ECB4
+ .4byte MossdeepCity_StevensHouse_MapAttributes
+ .4byte ShoalCave_LowTideIceRoom_MapAttributes
+ .4byte SafariZone_RestHouse_MapAttributes
+ .4byte SkyPillar_5F_MapAttributes
+ .4byte SkyPillar_Top_MapAttributes
+ .4byte BattleFrontier_BattleDomeLobby_MapAttributes
+ .4byte BattleFrontier_BattleDomeCorridor_MapAttributes
+ .4byte BattleFrontier_BattleDomePreBattleRoom_MapAttributes
+ .4byte BattleFrontier_BattleDomeBattleRoom_MapAttributes
+ .4byte MagmaHideout_1F_MapAttributes
+ .4byte MagmaHideout_2F_1R_MapAttributes
+ .4byte MagmaHideout_2F_2R_MapAttributes
+ .4byte MagmaHideout_3F_1R_MapAttributes
+ .4byte MagmaHideout_3F_2R_MapAttributes
+ .4byte MagmaHideout_4F_MapAttributes
+ .4byte BattleFrontier_BattlePalaceLobby_MapAttributes
+ .4byte BattleFrontier_BattlePalaceCorridor_MapAttributes
+ .4byte BattleFrontier_BattlePalaceBattleRoom_MapAttributes
+ .4byte BattleFrontier_OutsideEast_MapAttributes
+ .4byte BattleFrontier_BattleFactoryLobby_MapAttributes
+ .4byte BattleFrontier_BattleFactoryPreBattleRoom_MapAttributes
+ .4byte BattleFrontier_BattleFactoryBattleRoom_MapAttributes
+ .4byte BattleFrontier_BattlePikeLobby_MapAttributes
+ .4byte BattleFrontier_BattlePikeCorridor_MapAttributes
+ .4byte BattleFrontier_BattlePikeThreePathRoom_MapAttributes
+ .4byte BattleFrontier_BattlePikeRandomRoom1_MapAttributes
+ .4byte BattleFrontier_BattlePikeRandomRoom2_MapAttributes
+ .4byte BattleFrontier_BattleArenaLobby_MapAttributes
+ .4byte BattleFrontier_BattleArenaCorridor_MapAttributes
+ .4byte BattleFrontier_BattleArenaBattleRoom_MapAttributes
+ .4byte UnknownMapAttributes_08469200
+ .4byte BattleFrontier_BattlePikeRandomRoom3_MapAttributes
+ .4byte UnknownMapAttributes_084693AC
+ .4byte BattleFrontier_BattlePyramidLobby_MapAttributes
+ .4byte BattleFrontier_BattlePyramidEmptySquare_MapAttributes
+ .4byte BattlePyramidSquare01_MapAttributes
+ .4byte BattlePyramidSquare02_MapAttributes
+ .4byte BattlePyramidSquare03_MapAttributes
+ .4byte BattlePyramidSquare04_MapAttributes
+ .4byte BattlePyramidSquare05_MapAttributes
+ .4byte BattlePyramidSquare06_MapAttributes
+ .4byte BattlePyramidSquare07_MapAttributes
+ .4byte BattlePyramidSquare08_MapAttributes
+ .4byte BattlePyramidSquare09_MapAttributes
+ .4byte BattlePyramidSquare10_MapAttributes
+ .4byte BattlePyramidSquare11_MapAttributes
+ .4byte BattlePyramidSquare12_MapAttributes
+ .4byte BattlePyramidSquare13_MapAttributes
+ .4byte BattlePyramidSquare14_MapAttributes
+ .4byte BattlePyramidSquare15_MapAttributes
+ .4byte BattlePyramidSquare16_MapAttributes
+ .4byte BattleFrontier_BattlePyramidTop_MapAttributes
+ .4byte MagmaHideout_3F_3R_MapAttributes
+ .4byte MagmaHideout_2F_3R_MapAttributes
+ .4byte MirageTower_1F_MapAttributes
+ .4byte MirageTower_2F_MapAttributes
+ .4byte MirageTower_3F_MapAttributes
+ .4byte FallarborTown_BattleTentLobby_MapAttributes
+ .4byte FallarborTown_BattleTentCorridor_MapAttributes
+ .4byte FallarborTown_BattleTentBattleRoom_MapAttributes
+ .4byte VerdanturfTown_BattleTentBattleRoom_MapAttributes
+ .4byte MirageTower_4F_MapAttributes
+ .4byte DesertUnderpass_MapAttributes
+ .4byte BattleFrontier_BattleTowerMultiBattleRoom_MapAttributes
+ .4byte BattleFrontier_BattleTowerCorridor2_MapAttributes
+ .4byte UnknownMapAttributes_08470BD8
+ .4byte UnionRoom_MapAttributes
+ .4byte SafariZone_Northeast_MapAttributes
+ .4byte SafariZone_Southeast_MapAttributes
+ .4byte BattleFrontier_RankingHall_MapAttributes
+ .4byte BattleFrontier_Lounge2_MapAttributes
+ .4byte BattleFrontier_BattlePointExchangeServiceCorner_MapAttributes
+ .4byte BattleFrontier_ReceptionGate_MapAttributes
+ .4byte ArtisanCave_B1F_MapAttributes
+ .4byte ArtisanCave_1F_MapAttributes
+ .4byte FarawayIsland_Entrance_MapAttributes
+ .4byte FarawayIsland_Interior_MapAttributes
+ .4byte BirthIsland_Exterior_MapAttributes
+ .4byte BirthIsland_Harbor_MapAttributes
+ .4byte Underwater_MarineCave_MapAttributes
+ .4byte MarineCave_Entrance_MapAttributes
+ .4byte TerraCave_Entrance_MapAttributes
+ .4byte TerraCave_End_MapAttributes
+ .4byte Underwater6_MapAttributes
+ .4byte Underwater7_MapAttributes
+ .4byte Underwater5_MapAttributes
+ .4byte MarineCave_End_MapAttributes
+ .4byte TrainerHill_Entrance_MapAttributes
+ .4byte TrainerHill_1F_MapAttributes
+ .4byte TrainerHill_2F_MapAttributes
+ .4byte TrainerHill_3F_MapAttributes
+ .4byte TrainerHill_4F_MapAttributes
+ .4byte TrainerHill_Roof_MapAttributes
+ .4byte AlteringCave_MapAttributes
+ .4byte NavelRock_Exterior_MapAttributes
+ .4byte NavelRock_Entrance_MapAttributes
+ .4byte NavelRock_Top_MapAttributes
+ .4byte NavelRock_Bottom_MapAttributes
+ .4byte NavelRock_Up1_MapAttributes
+ .4byte NavelRock_Up2_MapAttributes
+ .4byte NavelRock_B1F_MapAttributes
+ .4byte NavelRock_Fork_MapAttributes
+ .4byte BattleFrontier_Lounge1_MapAttributes
+ .4byte BattleFrontier_ScottsHouse_MapAttributes
+ .4byte MeteorFalls_StevensCave_MapAttributes
+ .4byte UnknownMapAttributes_08480DAC
+ .4byte UnknownMapAttributes_08480F54
+ .4byte UnknownMapAttributes_084810FC
+ .4byte UnknownMapAttributes_084812A4
+ .4byte UnknownMapAttributes_0848144C
+ .4byte UnknownMapAttributes_084815F4
+ .4byte UnknownMapAttributes_08481B24
+ .4byte SootopolisCity_MysteryEventsHouse_1F_MapAttributes
+ .4byte SootopolisCity_MysteryEventsHouse_B1F_MapAttributes
+ .4byte UnknownMapAttributes_08481DBC
+
diff --git a/data/maps/connections.inc b/data/maps/connections.inc
new file mode 100644
index 000000000..a95024921
--- /dev/null
+++ b/data/maps/connections.inc
@@ -0,0 +1,65 @@
+ .include "data/maps/LittlerootTown/connections.inc"
+ .include "data/maps/OldaleTown/connections.inc"
+ .include "data/maps/DewfordTown/connections.inc"
+ .include "data/maps/LavaridgeTown/connections.inc"
+ .include "data/maps/FallarborTown/connections.inc"
+ .include "data/maps/VerdanturfTown/connections.inc"
+ .include "data/maps/PacifidlogTown/connections.inc"
+ .include "data/maps/PetalburgCity/connections.inc"
+ .include "data/maps/SlateportCity/connections.inc"
+ .include "data/maps/MauvilleCity/connections.inc"
+ .include "data/maps/RustboroCity/connections.inc"
+ .include "data/maps/FortreeCity/connections.inc"
+ .include "data/maps/LilycoveCity/connections.inc"
+ .include "data/maps/MossdeepCity/connections.inc"
+ .include "data/maps/SootopolisCity/connections.inc"
+ .include "data/maps/EverGrandeCity/connections.inc"
+ .include "data/maps/Route101/connections.inc"
+ .include "data/maps/Route102/connections.inc"
+ .include "data/maps/Route103/connections.inc"
+ .include "data/maps/Route104/connections.inc"
+ .include "data/maps/Route105/connections.inc"
+ .include "data/maps/Route106/connections.inc"
+ .include "data/maps/Route107/connections.inc"
+ .include "data/maps/Route108/connections.inc"
+ .include "data/maps/Route109/connections.inc"
+ .include "data/maps/Route110/connections.inc"
+ .include "data/maps/Route111/connections.inc"
+ .include "data/maps/Route112/connections.inc"
+ .include "data/maps/Route113/connections.inc"
+ .include "data/maps/Route114/connections.inc"
+ .include "data/maps/Route115/connections.inc"
+ .include "data/maps/Route116/connections.inc"
+ .include "data/maps/Route117/connections.inc"
+ .include "data/maps/Route118/connections.inc"
+ .include "data/maps/Route119/connections.inc"
+ .include "data/maps/Route120/connections.inc"
+ .include "data/maps/Route121/connections.inc"
+ .include "data/maps/Route122/connections.inc"
+ .include "data/maps/Route123/connections.inc"
+ .include "data/maps/Route124/connections.inc"
+ .include "data/maps/Route125/connections.inc"
+ .include "data/maps/Route126/connections.inc"
+ .include "data/maps/Route127/connections.inc"
+ .include "data/maps/Route128/connections.inc"
+ .include "data/maps/Route129/connections.inc"
+ .include "data/maps/Route130/connections.inc"
+ .include "data/maps/Route131/connections.inc"
+ .include "data/maps/Route132/connections.inc"
+ .include "data/maps/Route133/connections.inc"
+ .include "data/maps/Route134/connections.inc"
+ .include "data/maps/Underwater6/connections.inc"
+ .include "data/maps/Underwater1/connections.inc"
+ .include "data/maps/Underwater7/connections.inc"
+ .include "data/maps/Underwater2/connections.inc"
+ .include "data/maps/Underwater3/connections.inc"
+ .include "data/maps/Underwater4/connections.inc"
+ .include "data/maps/Underwater5/connections.inc"
+ .include "data/maps/SafariZone_Northwest/connections.inc"
+ .include "data/maps/SafariZone_North/connections.inc"
+ .include "data/maps/SafariZone_Southwest/connections.inc"
+ .include "data/maps/SafariZone_South/connections.inc"
+ .include "data/maps/SafariZone_Northeast/connections.inc"
+ .include "data/maps/SafariZone_Southeast/connections.inc"
+ .include "data/maps/BattleFrontier_OutsideWest/connections.inc"
+ .include "data/maps/BattleFrontier_OutsideEast/connections.inc"
diff --git a/data/maps/events/AbandonedShip_CaptainsOffice.inc b/data/maps/events/AbandonedShip_CaptainsOffice.inc
new file mode 100644
index 000000000..b2bc10ebb
--- /dev/null
+++ b/data/maps/events/AbandonedShip_CaptainsOffice.inc
@@ -0,0 +1,11 @@
+AbandonedShip_CaptainsOffice_MapObjects: @ 8536A5C
+ object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 3, 4, 3, 8, 0, 0, 0, 0, AbandonedShip_CaptainsOffice_EventScript_2387E2, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 6, 3, 1, 17, 0, 0, 0, AbandonedShip_CaptainsOffice_EventScript_29126E, 1100, 0, 0
+
+AbandonedShip_CaptainsOffice_MapWarps: @ 8536A8C
+ warp_def 7, 6, 3, 4, ABANDONED_SHIP_DECK
+ warp_def 8, 6, 3, 4, ABANDONED_SHIP_DECK
+
+AbandonedShip_CaptainsOffice_MapEvents:: @ 8536A9C
+ map_events AbandonedShip_CaptainsOffice_MapObjects, AbandonedShip_CaptainsOffice_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/AbandonedShip_Corridors_1F.inc b/data/maps/events/AbandonedShip_Corridors_1F.inc
new file mode 100644
index 000000000..a2b3b906f
--- /dev/null
+++ b/data/maps/events/AbandonedShip_Corridors_1F.inc
@@ -0,0 +1,21 @@
+AbandonedShip_Corridors_1F_MapObjects: @ 85366C0
+ object_event 1, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 17, 7, 3, 2, 17, 0, 0, 0, AbandonedShip_Corridors_1F_EventScript_2379A5, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_TUBER_M, 0, 0, 5, 10, 3, 45, 116, 0, 1, 3, AbandonedShip_Corridors_1F_EventScript_2379AE, 0, 0, 0
+
+AbandonedShip_Corridors_1F_MapWarps: @ 85366F0
+ warp_def 9, 11, 3, 2, ABANDONED_SHIP_DECK
+ warp_def 8, 11, 3, 2, ABANDONED_SHIP_DECK
+ warp_def 0, 11, 3, 3, ABANDONED_SHIP_DECK
+ warp_def 1, 11, 3, 3, ABANDONED_SHIP_DECK
+ warp_def 11, 9, 3, 0, ABANDONED_SHIP_ROOMS_1F
+ warp_def 14, 9, 3, 3, ABANDONED_SHIP_ROOMS_1F
+ warp_def 11, 3, 3, 2, ABANDONED_SHIP_ROOMS_1F
+ warp_def 14, 3, 3, 4, ABANDONED_SHIP_ROOMS_1F
+ warp_def 3, 9, 3, 0, ABANDONED_SHIP_ROOMS_2_1F
+ warp_def 16, 2, 3, 7, ABANDONED_SHIP_CORRIDORS_B1F
+ warp_def 5, 2, 3, 6, ABANDONED_SHIP_CORRIDORS_B1F
+ warp_def 3, 3, 3, 2, ABANDONED_SHIP_ROOMS_2_1F
+
+AbandonedShip_Corridors_1F_MapEvents:: @ 8536750
+ map_events AbandonedShip_Corridors_1F_MapObjects, AbandonedShip_Corridors_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/AbandonedShip_Corridors_B1F.inc b/data/maps/events/AbandonedShip_Corridors_B1F.inc
new file mode 100644
index 000000000..637e658ce
--- /dev/null
+++ b/data/maps/events/AbandonedShip_Corridors_B1F.inc
@@ -0,0 +1,20 @@
+AbandonedShip_Corridors_B1F_MapObjects: @ 8536808
+ object_event 1, MAP_OBJ_GFX_TUBER_M, 0, 0, 2, 8, 3, 2, 17, 0, 0, 0, AbandonedShip_Corridors_B1F_EventScript_237DBF, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SAILOR, 0, 0, 9, 6, 3, 14, 0, 0, 1, 4, AbandonedShip_Corridors_B1F_EventScript_237E13, 0, 0, 0
+
+AbandonedShip_Corridors_B1F_MapWarps: @ 8536838
+ warp_def 6, 4, 3, 2, ABANDONED_SHIP_ROOMS_2_B1F
+ warp_def 3, 4, 3, 0, ABANDONED_SHIP_ROOMS_2_B1F
+ warp_def 5, 7, 3, 0, ABANDONED_SHIP_ROOMS_B1F
+ warp_def 8, 7, 3, 1, ABANDONED_SHIP_ROOMS_B1F
+ warp_def 11, 7, 3, 2, ABANDONED_SHIP_ROOMS_B1F
+ warp_def 11, 4, 3, 0, ABANDONED_SHIP_ROOM_B1F
+ warp_def 0, 2, 3, 10, ABANDONED_SHIP_CORRIDORS_1F
+ warp_def 8, 2, 3, 9, ABANDONED_SHIP_CORRIDORS_1F
+
+AbandonedShip_Corridors_B1F_MapBGEvents: @ 8536878
+ bg_event 11, 4, 3, 0, 0, AbandonedShip_Corridors_B1F_EventScript_237DC8
+
+AbandonedShip_Corridors_B1F_MapEvents:: @ 8536884
+ map_events AbandonedShip_Corridors_B1F_MapObjects, AbandonedShip_Corridors_B1F_MapWarps, 0x0, AbandonedShip_Corridors_B1F_MapBGEvents
+
diff --git a/data/maps/events/AbandonedShip_Deck.inc b/data/maps/events/AbandonedShip_Deck.inc
new file mode 100644
index 000000000..ca01ccec8
--- /dev/null
+++ b/data/maps/events/AbandonedShip_Deck.inc
@@ -0,0 +1,10 @@
+AbandonedShip_Deck_MapWarps: @ 8536684
+ warp_def 13, 15, 3, 0, ROUTE_108
+ warp_def 14, 15, 3, 0, ROUTE_108
+ warp_def 13, 9, 3, 1, ABANDONED_SHIP_CORRIDORS_1F
+ warp_def 8, 9, 3, 2, ABANDONED_SHIP_CORRIDORS_1F
+ warp_def 12, 5, 3, 0, ABANDONED_SHIP_CAPTAINS_OFFICE
+
+AbandonedShip_Deck_MapEvents:: @ 85366AC
+ map_events 0x0, AbandonedShip_Deck_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/AbandonedShip_HiddenFloorCorridors.inc b/data/maps/events/AbandonedShip_HiddenFloorCorridors.inc
new file mode 100644
index 000000000..3bff54076
--- /dev/null
+++ b/data/maps/events/AbandonedShip_HiddenFloorCorridors.inc
@@ -0,0 +1,17 @@
+AbandonedShip_HiddenFloorCorridors_MapWarps: @ 8536ACC
+ warp_def 3, 8, 3, 0, ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS
+ warp_def 6, 8, 3, 2, ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS
+ warp_def 9, 8, 3, 4, ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS
+ warp_def 3, 3, 3, 6, ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS
+ warp_def 6, 3, 3, 7, ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS
+ warp_def 9, 3, 3, 8, ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS
+
+AbandonedShip_HiddenFloorCorridors_MapBGEvents: @ 8536AFC
+ bg_event 3, 8, 3, 0, 0, AbandonedShip_HiddenFloorCorridors_EventScript_238A19
+ bg_event 6, 8, 3, 0, 0, AbandonedShip_HiddenFloorCorridors_EventScript_238A50
+ bg_event 3, 4, 0, 0, 0, AbandonedShip_HiddenFloorCorridors_EventScript_238A87
+ bg_event 9, 4, 0, 0, 0, AbandonedShip_HiddenFloorCorridors_EventScript_238ABE
+
+AbandonedShip_HiddenFloorCorridors_MapEvents:: @ 8536B2C
+ map_events 0x0, AbandonedShip_HiddenFloorCorridors_MapWarps, 0x0, AbandonedShip_HiddenFloorCorridors_MapBGEvents
+
diff --git a/data/maps/events/AbandonedShip_HiddenFloorRooms.inc b/data/maps/events/AbandonedShip_HiddenFloorRooms.inc
new file mode 100644
index 000000000..21a4370ce
--- /dev/null
+++ b/data/maps/events/AbandonedShip_HiddenFloorRooms.inc
@@ -0,0 +1,32 @@
+AbandonedShip_HiddenFloorRooms_MapObjects: @ 8536B40
+ object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 41, 4, 3, 1, 0, 0, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_29127B, 1077, 0, 0
+ object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 16, 10, 3, 1, 0, 0, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_291288, 1078, 0, 0
+ object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 5, 11, 3, 1, 17, 0, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_2912A2, 1102, 0, 0
+ object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 31, 11, 3, 1, 17, 0, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_291295, 1101, 0, 0
+
+AbandonedShip_HiddenFloorRooms_MapWarps: @ 8536BA0
+ warp_def 6, 14, 3, 0, ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS
+ warp_def 7, 14, 3, 0, ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS
+ warp_def 21, 14, 3, 1, ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS
+ warp_def 22, 14, 3, 1, ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS
+ warp_def 36, 14, 3, 2, ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS
+ warp_def 37, 14, 3, 2, ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS
+ warp_def 6, 1, 3, 3, ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS
+ warp_def 21, 1, 3, 4, ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS
+ warp_def 36, 1, 3, 5, ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS
+
+AbandonedShip_HiddenFloorRooms_MapBGEvents: @ 8536BE8
+ bg_event 42, 10, 3, 7, 0, ITEM_ROOM_1_KEY, 31, 0
+ bg_event 20, 5, 3, 7, 0, ITEM_ROOM_2_KEY, 32, 0
+ bg_event 1, 12, 3, 7, 0, ITEM_ROOM_4_KEY, 33, 0
+ bg_event 1, 2, 0, 7, 0, ITEM_ROOM_6_KEY, 34, 0
+ bg_event 8, 5, 3, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_238DF3
+ bg_event 11, 3, 3, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_238DF3
+ bg_event 10, 10, 3, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_238DF3
+ bg_event 16, 3, 3, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_238DF3
+ bg_event 25, 2, 3, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_238DF3
+ bg_event 24, 6, 3, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_238DF3
+
+AbandonedShip_HiddenFloorRooms_MapEvents:: @ 8536C60
+ map_events AbandonedShip_HiddenFloorRooms_MapObjects, AbandonedShip_HiddenFloorRooms_MapWarps, 0x0, AbandonedShip_HiddenFloorRooms_MapBGEvents
+
diff --git a/data/maps/events/AbandonedShip_Room_B1F.inc b/data/maps/events/AbandonedShip_Room_B1F.inc
new file mode 100644
index 000000000..d22e24bde
--- /dev/null
+++ b/data/maps/events/AbandonedShip_Room_B1F.inc
@@ -0,0 +1,10 @@
+AbandonedShip_Room_B1F_MapObjects: @ 853697C
+ object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 4, 3, 1, 17, 0, 0, 0, AbandonedShip_Room_B1F_EventScript_291254, 1098, 0, 0
+
+AbandonedShip_Room_B1F_MapWarps: @ 8536994
+ warp_def 4, 7, 3, 5, ABANDONED_SHIP_CORRIDORS_B1F
+ warp_def 5, 7, 3, 5, ABANDONED_SHIP_CORRIDORS_B1F
+
+AbandonedShip_Room_B1F_MapEvents:: @ 85369A4
+ map_events AbandonedShip_Room_B1F_MapObjects, AbandonedShip_Room_B1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/AbandonedShip_Rooms2_1F.inc b/data/maps/events/AbandonedShip_Rooms2_1F.inc
new file mode 100644
index 000000000..ac5f57a53
--- /dev/null
+++ b/data/maps/events/AbandonedShip_Rooms2_1F.inc
@@ -0,0 +1,15 @@
+AbandonedShip_Rooms2_1F_MapObjects: @ 85369B8
+ object_event 1, MAP_OBJ_GFX_MAN_5, 0, 0, 7, 13, 3, 8, 0, 0, 1, 1, AbandonedShip_Rooms2_1F_EventScript_2380A7, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_5, 0, 0, 6, 13, 3, 8, 0, 0, 1, 1, AbandonedShip_Rooms2_1F_EventScript_23810B, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 4, 3, 1, 17, 0, 0, 0, AbandonedShip_Rooms2_1F_EventScript_291261, 1099, 0, 0
+ object_event 4, MAP_OBJ_GFX_HIKER, 0, 0, 3, 2, 3, 10, 17, 0, 1, 3, AbandonedShip_Rooms2_1F_EventScript_238186, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_TUBER_F, 0, 0, 7, 2, 3, 9, 17, 0, 1, 3, AbandonedShip_Rooms2_1F_EventScript_23816F, 0, 0, 0
+
+AbandonedShip_Rooms2_1F_MapWarps: @ 8536A30
+ warp_def 4, 16, 3, 8, ABANDONED_SHIP_CORRIDORS_1F
+ warp_def 5, 16, 3, 8, ABANDONED_SHIP_CORRIDORS_1F
+ warp_def 4, 1, 3, 11, ABANDONED_SHIP_CORRIDORS_1F
+
+AbandonedShip_Rooms2_1F_MapEvents:: @ 8536A48
+ map_events AbandonedShip_Rooms2_1F_MapObjects, AbandonedShip_Rooms2_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/AbandonedShip_Rooms2_B1F.inc b/data/maps/events/AbandonedShip_Rooms2_B1F.inc
new file mode 100644
index 000000000..08846936a
--- /dev/null
+++ b/data/maps/events/AbandonedShip_Rooms2_B1F.inc
@@ -0,0 +1,13 @@
+AbandonedShip_Rooms2_B1F_MapObjects: @ 85368F4
+ object_event 1, MAP_OBJ_GFX_CAMPER, 0, 0, 3, 4, 3, 2, 17, 0, 0, 0, AbandonedShip_Rooms2_B1F_EventScript_238025, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 13, 3, 3, 1, 17, 0, 0, 0, AbandonedShip_Rooms2_B1F_EventScript_291247, 1097, 0, 0
+
+AbandonedShip_Rooms2_B1F_MapWarps: @ 8536924
+ warp_def 4, 7, 3, 1, ABANDONED_SHIP_CORRIDORS_B1F
+ warp_def 5, 7, 3, 1, ABANDONED_SHIP_CORRIDORS_B1F
+ warp_def 13, 7, 3, 0, ABANDONED_SHIP_CORRIDORS_B1F
+ warp_def 14, 7, 3, 0, ABANDONED_SHIP_CORRIDORS_B1F
+
+AbandonedShip_Rooms2_B1F_MapEvents:: @ 8536944
+ map_events AbandonedShip_Rooms2_B1F_MapObjects, AbandonedShip_Rooms2_B1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/AbandonedShip_Rooms_1F.inc b/data/maps/events/AbandonedShip_Rooms_1F.inc
new file mode 100644
index 000000000..7e358ef75
--- /dev/null
+++ b/data/maps/events/AbandonedShip_Rooms_1F.inc
@@ -0,0 +1,17 @@
+AbandonedShip_Rooms_1F_MapObjects: @ 8536764
+ object_event 1, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 12, 5, 3, 2, 17, 0, 0, 0, AbandonedShip_Rooms_1F_EventScript_237A93, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 5, 3, 1, 17, 0, 0, 0, AbandonedShip_Rooms_1F_EventScript_29122D, 1095, 0, 0
+ object_event 3, MAP_OBJ_GFX_BEAUTY, 0, 0, 10, 11, 3, 8, 17, 0, 1, 4, AbandonedShip_Rooms_1F_EventScript_237AB3, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 10, 16, 3, 16, 17, 0, 1, 4, AbandonedShip_Rooms_1F_EventScript_237A9C, 0, 0, 0
+
+AbandonedShip_Rooms_1F_MapWarps: @ 85367C4
+ warp_def 4, 16, 3, 4, ABANDONED_SHIP_CORRIDORS_1F
+ warp_def 5, 16, 3, 4, ABANDONED_SHIP_CORRIDORS_1F
+ warp_def 4, 1, 3, 6, ABANDONED_SHIP_CORRIDORS_1F
+ warp_def 13, 16, 3, 5, ABANDONED_SHIP_CORRIDORS_1F
+ warp_def 13, 1, 3, 7, ABANDONED_SHIP_CORRIDORS_1F
+ warp_def 14, 16, 3, 5, ABANDONED_SHIP_CORRIDORS_1F
+
+AbandonedShip_Rooms_1F_MapEvents:: @ 85367F4
+ map_events AbandonedShip_Rooms_1F_MapObjects, AbandonedShip_Rooms_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/AbandonedShip_Rooms_B1F.inc b/data/maps/events/AbandonedShip_Rooms_B1F.inc
new file mode 100644
index 000000000..4627c4ab7
--- /dev/null
+++ b/data/maps/events/AbandonedShip_Rooms_B1F.inc
@@ -0,0 +1,12 @@
+AbandonedShip_Rooms_B1F_MapObjects: @ 8536898
+ object_event 1, MAP_OBJ_GFX_FAT_MAN, 0, 0, 25, 6, 3, 9, 0, 0, 0, 0, AbandonedShip_Rooms_B1F_EventScript_237FC6, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 6, 7, 3, 1, 17, 0, 0, 0, AbandonedShip_Rooms_B1F_EventScript_29123A, 1096, 0, 0
+
+AbandonedShip_Rooms_B1F_MapWarps: @ 85368C8
+ warp_def 4, 1, 3, 2, ABANDONED_SHIP_CORRIDORS_B1F
+ warp_def 13, 1, 3, 3, ABANDONED_SHIP_CORRIDORS_B1F
+ warp_def 22, 1, 3, 4, ABANDONED_SHIP_CORRIDORS_B1F
+
+AbandonedShip_Rooms_B1F_MapEvents:: @ 85368E0
+ map_events AbandonedShip_Rooms_B1F_MapObjects, AbandonedShip_Rooms_B1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/AbandonedShip_Underwater1.inc b/data/maps/events/AbandonedShip_Underwater1.inc
new file mode 100644
index 000000000..a92bed422
--- /dev/null
+++ b/data/maps/events/AbandonedShip_Underwater1.inc
@@ -0,0 +1,7 @@
+AbandonedShip_Underwater1_MapWarps: @ 8536958
+ warp_def 3, 7, 3, 0, ABANDONED_SHIP_UNDERWATER_2
+ warp_def 4, 7, 3, 0, ABANDONED_SHIP_UNDERWATER_2
+
+AbandonedShip_Underwater1_MapEvents:: @ 8536968
+ map_events 0x0, AbandonedShip_Underwater1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/AbandonedShip_Underwater2.inc b/data/maps/events/AbandonedShip_Underwater2.inc
new file mode 100644
index 000000000..de84626f3
--- /dev/null
+++ b/data/maps/events/AbandonedShip_Underwater2.inc
@@ -0,0 +1,6 @@
+AbandonedShip_Underwater2_MapWarps: @ 8536AB0
+ warp_def 3, 1, 3, 0, ABANDONED_SHIP_UNDERWATER_1
+
+AbandonedShip_Underwater2_MapEvents:: @ 8536AB8
+ map_events 0x0, AbandonedShip_Underwater2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/AlteringCave.inc b/data/maps/events/AlteringCave.inc
new file mode 100644
index 000000000..296076932
--- /dev/null
+++ b/data/maps/events/AlteringCave.inc
@@ -0,0 +1,6 @@
+AlteringCave_MapWarps: @ 8537894
+ warp_def 18, 22, 0, 0, ROUTE_103
+
+AlteringCave_MapEvents:: @ 853789C
+ map_events 0x0, AlteringCave_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/AncientTomb.inc b/data/maps/events/AncientTomb.inc
new file mode 100644
index 000000000..667ab3876
--- /dev/null
+++ b/data/maps/events/AncientTomb.inc
@@ -0,0 +1,16 @@
+AncientTomb_MapObjects: @ 8536CDC
+ object_event 1, MAP_OBJ_GFX_REGISTEEL, 0, 0, 8, 7, 3, 8, 0, 0, 0, 0, AncientTomb_EventScript_23905A, 937, 0, 0
+
+AncientTomb_MapWarps: @ 8536CF4
+ warp_def 8, 29, 3, 0, ROUTE_120
+ warp_def 8, 20, 0, 2, ANCIENT_TOMB
+ warp_def 8, 11, 3, 1, ANCIENT_TOMB
+
+AncientTomb_MapBGEvents: @ 8536D0C
+ bg_event 8, 20, 0, 0, 0, AncientTomb_EventScript_239033
+ bg_event 7, 20, 0, 0, 0, AncientTomb_EventScript_239050
+ bg_event 9, 20, 0, 0, 0, AncientTomb_EventScript_239050
+
+AncientTomb_MapEvents:: @ 8536D30
+ map_events AncientTomb_MapObjects, AncientTomb_MapWarps, 0x0, AncientTomb_MapBGEvents
+
diff --git a/data/maps/events/AquaHideout_1F.inc b/data/maps/events/AquaHideout_1F.inc
new file mode 100644
index 000000000..4c418b286
--- /dev/null
+++ b/data/maps/events/AquaHideout_1F.inc
@@ -0,0 +1,13 @@
+AquaHideout_1F_MapObjects: @ 8535304
+ object_event 1, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 13, 11, 3, 8, 0, 0, 0, 0, AquaHideout_1F_EventScript_233494, 821, 0, 0
+ object_event 2, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 14, 11, 3, 8, 0, 0, 0, 0, AquaHideout_1F_EventScript_2334C6, 822, 0, 0
+ object_event 3, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 20, 4, 3, 50, 93, 0, 1, 3, AquaHideout_1F_EventScript_2334F8, 924, 0, 0
+
+AquaHideout_1F_MapWarps: @ 853534C
+ warp_def 13, 27, 1, 6, LILYCOVE_CITY
+ warp_def 14, 27, 1, 6, LILYCOVE_CITY
+ warp_def 22, 1, 3, 0, AQUA_HIDEOUT_B1F
+
+AquaHideout_1F_MapEvents:: @ 8535364
+ map_events AquaHideout_1F_MapObjects, AquaHideout_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/AquaHideout_B1F.inc b/data/maps/events/AquaHideout_B1F.inc
new file mode 100644
index 000000000..b62157d6f
--- /dev/null
+++ b/data/maps/events/AquaHideout_B1F.inc
@@ -0,0 +1,41 @@
+AquaHideout_B1F_MapObjects: @ 8535378
+ object_event 1, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 28, 16, 3, 8, 0, 0, 1, 4, AquaHideout_B1F_EventScript_233A85, 924, 0, 0
+ object_event 2, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 6, 6, 3, 9, 0, 0, 1, 5, AquaHideout_B1F_EventScript_233AB0, 924, 0, 0
+ object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 29, 12, 3, 1, 0, 0, 0, 0, AquaHideout_B1F_EventScript_291372, 1071, 0, 0
+ object_event 4, MAP_OBJ_GFX_AQUA_MEMBER_F, 0, 0, 20, 18, 3, 23, 4, 0, 1, 4, AquaHideout_B1F_EventScript_233AD5, 924, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 15, 9, 3, 1, 17, 0, 0, 0, AquaHideout_B1F_EventScript_291358, 1124, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 16, 9, 3, 1, 17, 0, 0, 0, AquaHideout_B1F_EventScript_2339EB, 977, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 15, 10, 3, 1, 17, 0, 0, 0, AquaHideout_B1F_EventScript_291365, 1132, 0, 0
+ object_event 8, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 16, 10, 3, 1, 17, 0, 0, 0, AquaHideout_B1F_EventScript_233A38, 978, 0, 0
+ object_event 9, MAP_OBJ_GFX_AQUA_MEMBER_F, 0, 0, 28, 21, 3, 7, 17, 0, 1, 4, AquaHideout_B1F_EventScript_233AEC, 924, 0, 0
+
+AquaHideout_B1F_MapWarps: @ 8535450
+ warp_def 29, 1, 3, 2, AQUA_HIDEOUT_1F
+ warp_def 18, 1, 3, 0, AQUA_HIDEOUT_B2F
+ warp_def 12, 1, 3, 1, AQUA_HIDEOUT_B2F
+ warp_def 3, 3, 3, 2, AQUA_HIDEOUT_B2F
+ warp_def 31, 4, 3, 7, AQUA_HIDEOUT_B1F
+ warp_def 27, 4, 3, 8, AQUA_HIDEOUT_B1F
+ warp_def 20, 4, 3, 10, AQUA_HIDEOUT_B1F
+ warp_def 27, 12, 3, 4, AQUA_HIDEOUT_B1F
+ warp_def 3, 15, 3, 5, AQUA_HIDEOUT_B1F
+ warp_def 3, 20, 3, 12, AQUA_HIDEOUT_B1F
+ warp_def 32, 19, 3, 6, AQUA_HIDEOUT_B1F
+ warp_def 23, 10, 3, 22, AQUA_HIDEOUT_B1F
+ warp_def 45, 3, 3, 9, AQUA_HIDEOUT_B1F
+ warp_def 42, 5, 3, 18, AQUA_HIDEOUT_B1F
+ warp_def 45, 5, 3, 12, AQUA_HIDEOUT_B1F
+ warp_def 48, 5, 3, 16, AQUA_HIDEOUT_B1F
+ warp_def 42, 9, 3, 15, AQUA_HIDEOUT_B1F
+ warp_def 45, 9, 3, 20, AQUA_HIDEOUT_B1F
+ warp_def 48, 9, 3, 13, AQUA_HIDEOUT_B1F
+ warp_def 42, 13, 3, 24, AQUA_HIDEOUT_B1F
+ warp_def 45, 13, 3, 17, AQUA_HIDEOUT_B1F
+ warp_def 48, 13, 3, 12, AQUA_HIDEOUT_B1F
+ warp_def 42, 17, 3, 11, AQUA_HIDEOUT_B1F
+ warp_def 45, 17, 3, 17, AQUA_HIDEOUT_B1F
+ warp_def 48, 17, 3, 19, AQUA_HIDEOUT_B1F
+
+AquaHideout_B1F_MapEvents:: @ 8535518
+ map_events AquaHideout_B1F_MapObjects, AquaHideout_B1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/AquaHideout_B2F.inc b/data/maps/events/AquaHideout_B2F.inc
new file mode 100644
index 000000000..8a338a2bb
--- /dev/null
+++ b/data/maps/events/AquaHideout_B2F.inc
@@ -0,0 +1,27 @@
+AquaHideout_B2F_MapObjects: @ 853552C
+ object_event 1, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 23, 19, 3, 9, 0, 0, 0, 0, AquaHideout_B2F_EventScript_233E09, 924, 0, 0
+ object_event 2, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 23, 10, 3, 45, 52, 0, 1, 3, AquaHideout_B2F_EventScript_233E8A, 924, 0, 0
+ object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 13, 3, 1, 0, 0, 0, 0, AquaHideout_B2F_EventScript_29137F, 1072, 0, 0
+ object_event 4, MAP_OBJ_GFX_SUBMARINE_SHADOW, 0, 0, 19, 20, 1, 9, 0, 0, 0, 0, 0x0, 943, 0, 0
+ object_event 5, MAP_OBJ_GFX_AQUA_MEMBER_F, 0, 0, 7, 5, 3, 10, 17, 0, 1, 5, AquaHideout_B2F_EventScript_233EAF, 924, 0, 0
+ object_event 6, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 13, 5, 3, 9, 17, 0, 1, 5, AquaHideout_B2F_EventScript_233EC6, 924, 0, 0
+
+AquaHideout_B2F_MapWarps: @ 85355BC
+ warp_def 18, 1, 3, 1, AQUA_HIDEOUT_B1F
+ warp_def 12, 1, 3, 2, AQUA_HIDEOUT_B1F
+ warp_def 3, 3, 3, 3, AQUA_HIDEOUT_B1F
+ warp_def 31, 8, 3, 5, AQUA_HIDEOUT_B2F
+ warp_def 8, 8, 3, 8, AQUA_HIDEOUT_B2F
+ warp_def 5, 8, 3, 3, AQUA_HIDEOUT_B2F
+ warp_def 18, 13, 3, 7, AQUA_HIDEOUT_B2F
+ warp_def 12, 13, 3, 6, AQUA_HIDEOUT_B2F
+ warp_def 31, 17, 3, 4, AQUA_HIDEOUT_B2F
+ warp_def 32, 20, 3, 4, AQUA_HIDEOUT_B1F
+
+AquaHideout_B2F_MapCoordEvents: @ 853560C
+ coord_event 28, 17, 3, 0, VAR_0x4001, 0, 0, AquaHideout_B2F_EventScript_233DE5
+ coord_event 28, 16, 3, 0, VAR_0x4001, 0, 0, AquaHideout_B2F_EventScript_233DE5
+
+AquaHideout_B2F_MapEvents:: @ 853562C
+ map_events AquaHideout_B2F_MapObjects, AquaHideout_B2F_MapWarps, AquaHideout_B2F_MapCoordEvents, 0x0
+
diff --git a/data/maps/events/AquaHideout_UnusedRubyMap1.inc b/data/maps/events/AquaHideout_UnusedRubyMap1.inc
new file mode 100644
index 000000000..45663b68f
--- /dev/null
+++ b/data/maps/events/AquaHideout_UnusedRubyMap1.inc
@@ -0,0 +1,3 @@
+AquaHideout_UnusedRubyMap1_MapEvents:: @ 8536FBC
+ map_events 0x0, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/AquaHideout_UnusedRubyMap2.inc b/data/maps/events/AquaHideout_UnusedRubyMap2.inc
new file mode 100644
index 000000000..6f53de284
--- /dev/null
+++ b/data/maps/events/AquaHideout_UnusedRubyMap2.inc
@@ -0,0 +1,3 @@
+AquaHideout_UnusedRubyMap2_MapEvents:: @ 8536FD0
+ map_events 0x0, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/AquaHideout_UnusedRubyMap3.inc b/data/maps/events/AquaHideout_UnusedRubyMap3.inc
new file mode 100644
index 000000000..8a23a3786
--- /dev/null
+++ b/data/maps/events/AquaHideout_UnusedRubyMap3.inc
@@ -0,0 +1,3 @@
+AquaHideout_UnusedRubyMap3_MapEvents:: @ 8536FE4
+ map_events 0x0, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/ArtisanCave_1F.inc b/data/maps/events/ArtisanCave_1F.inc
new file mode 100644
index 000000000..148408aa9
--- /dev/null
+++ b/data/maps/events/ArtisanCave_1F.inc
@@ -0,0 +1,10 @@
+ArtisanCave_1F_MapObjects: @ 8537774
+ object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 14, 5, 3, 1, 17, 0, 0, 0, ArtisanCave_1F_EventScript_2914D1, 1163, 0, 0
+
+ArtisanCave_1F_MapWarps: @ 853778C
+ warp_def 10, 17, 0, 13, BATTLE_FRONTIER_OUTSIDE_EAST
+ warp_def 6, 5, 0, 1, ARTISAN_CAVE_B1F
+
+ArtisanCave_1F_MapEvents:: @ 853779C
+ map_events ArtisanCave_1F_MapObjects, ArtisanCave_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/ArtisanCave_B1F.inc b/data/maps/events/ArtisanCave_B1F.inc
new file mode 100644
index 000000000..38a978c9b
--- /dev/null
+++ b/data/maps/events/ArtisanCave_B1F.inc
@@ -0,0 +1,16 @@
+ArtisanCave_B1F_MapObjects: @ 8537708
+ object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 32, 38, 3, 1, 17, 0, 0, 0, ArtisanCave_B1F_EventScript_2914C4, 1162, 0, 0
+
+ArtisanCave_B1F_MapWarps: @ 8537720
+ warp_def 8, 48, 0, 10, BATTLE_FRONTIER_OUTSIDE_WEST
+ warp_def 38, 5, 0, 1, ARTISAN_CAVE_1F
+
+ArtisanCave_B1F_MapBGEvents: @ 8537730
+ bg_event 32, 29, 0, 7, 0, ITEM_ZINC, 102, 0
+ bg_event 27, 8, 0, 7, 0, ITEM_CALCIUM, 101, 0
+ bg_event 7, 5, 0, 7, 0, ITEM_PROTEIN, 103, 0
+ bg_event 19, 43, 0, 7, 0, ITEM_IRON, 104, 0
+
+ArtisanCave_B1F_MapEvents:: @ 8537760
+ map_events ArtisanCave_B1F_MapObjects, ArtisanCave_B1F_MapWarps, 0x0, ArtisanCave_B1F_MapBGEvents
+
diff --git a/data/maps/events/BattleFrontier_BattleArenaBattleRoom.inc b/data/maps/events/BattleFrontier_BattleArenaBattleRoom.inc
new file mode 100644
index 000000000..fee53156b
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattleArenaBattleRoom.inc
@@ -0,0 +1,14 @@
+BattleFrontier_BattleArenaBattleRoom_MapObjects: @ 853C8EC
+ object_event 1, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 5, 3, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 10, 3, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 5, 9, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 10, 9, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 4, 5, 3, 10, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 11, 5, 3, 9, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_HIPSTER, 0, 0, 15, 6, 3, 9, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_TRADER, 0, 0, 0, 6, 3, 10, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 7, 4, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+BattleFrontier_BattleArenaBattleRoom_MapEvents:: @ 853C9C4
+ map_events BattleFrontier_BattleArenaBattleRoom_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_BattleArenaCorridor.inc b/data/maps/events/BattleFrontier_BattleArenaCorridor.inc
new file mode 100644
index 000000000..d35c35ad0
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattleArenaCorridor.inc
@@ -0,0 +1,6 @@
+BattleFrontier_BattleArenaCorridor_MapObjects: @ 853C8C0
+ object_event 1, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 9, 12, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+BattleFrontier_BattleArenaCorridor_MapEvents:: @ 853C8D8
+ map_events BattleFrontier_BattleArenaCorridor_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_BattleArenaLobby.inc b/data/maps/events/BattleFrontier_BattleArenaLobby.inc
new file mode 100644
index 000000000..ec84dfb77
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattleArenaLobby.inc
@@ -0,0 +1,17 @@
+BattleFrontier_BattleArenaLobby_MapObjects: @ 853C814
+ object_event 1, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 7, 7, 0, 8, 17, 0, 0, 0, BattleFrontier_BattleArenaLobby_EventScript_255DF4, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_7, 0, 0, 2, 10, 3, 2, 17, 0, 0, 0, BattleFrontier_BattleArenaLobby_EventScript_2560C1, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_6, 0, 0, 14, 11, 3, 9, 17, 0, 0, 0, BattleFrontier_BattleArenaLobby_EventScript_2560AF, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_CAMPER, 0, 0, 14, 12, 3, 9, 17, 0, 0, 0, BattleFrontier_BattleArenaLobby_EventScript_2560B8, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 14, 10, 3, 9, 17, 0, 0, 0, BattleFrontier_BattleArenaLobby_EventScript_2560A6, 0, 0, 0
+
+BattleFrontier_BattleArenaLobby_MapWarps: @ 853C88C
+ warp_def 7, 12, 3, 1, BATTLE_FRONTIER_OUTSIDE_EAST
+
+BattleFrontier_BattleArenaLobby_MapBGEvents: @ 853C894
+ bg_event 5, 9, 3, 1, 0, BattleFrontier_BattleArenaLobby_EventScript_256092
+ bg_event 1, 7, 0, 0, 0, BattleFrontier_BattleArenaLobby_EventScript_2560CA
+
+BattleFrontier_BattleArenaLobby_MapEvents:: @ 853C8AC
+ map_events BattleFrontier_BattleArenaLobby_MapObjects, BattleFrontier_BattleArenaLobby_MapWarps, 0x0, BattleFrontier_BattleArenaLobby_MapBGEvents
+
diff --git a/data/maps/events/BattleFrontier_BattleDomeBattleRoom.inc b/data/maps/events/BattleFrontier_BattleDomeBattleRoom.inc
new file mode 100644
index 000000000..3f0429bf2
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattleDomeBattleRoom.inc
@@ -0,0 +1,20 @@
+BattleFrontier_BattleDomeBattleRoom_MapObjects: @ 853C1C4
+ object_event 1, MAP_OBJ_GFX_REPORTER_M, 0, 0, 5, 4, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 7, 2, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BOY_1, 0, 0, 9, 2, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BOY_2, 0, 0, 11, 2, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 16, 2, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_MAN_1, 0, 0, 4, 2, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 16, 1, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_CAMPER, 0, 0, 8, 1, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_MAN_2, 0, 0, 0, 4, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_FAT_MAN, 0, 0, 12, 1, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_GIRL_2, 0, 0, 13, 2, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 12, MAP_OBJ_GFX_GIRL_1, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 13, MAP_OBJ_GFX_TRADER, 0, 0, 4, 9, 4, 7, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 14, MAP_OBJ_GFX_WOMAN_4, 0, 0, 14, 2, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 15, MAP_OBJ_GFX_HIPSTER, 0, 0, 11, 6, 0, 9, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+BattleFrontier_BattleDomeBattleRoom_MapEvents:: @ 853C32C
+ map_events BattleFrontier_BattleDomeBattleRoom_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_BattleDomeCorridor.inc b/data/maps/events/BattleFrontier_BattleDomeCorridor.inc
new file mode 100644
index 000000000..61b6e019d
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattleDomeCorridor.inc
@@ -0,0 +1,10 @@
+BattleFrontier_BattleDomeCorridor_MapObjects: @ 853C14C
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 23, 5, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+BattleFrontier_BattleDomeCorridor_MapWarps: @ 853C164
+ warp_def 6, 8, 3, 1, BATTLE_FRONTIER_OUTSIDE_WEST
+ warp_def 7, 8, 3, 1, BATTLE_FRONTIER_OUTSIDE_WEST
+
+BattleFrontier_BattleDomeCorridor_MapEvents:: @ 853C174
+ map_events BattleFrontier_BattleDomeCorridor_MapObjects, BattleFrontier_BattleDomeCorridor_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_BattleDomeLobby.inc b/data/maps/events/BattleFrontier_BattleDomeLobby.inc
new file mode 100644
index 000000000..09ebc903c
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattleDomeLobby.inc
@@ -0,0 +1,21 @@
+BattleFrontier_BattleDomeLobby_MapObjects: @ 853C068
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 5, 10, 0, 8, 17, 0, 0, 0, BattleFrontier_BattleDomeLobby_EventScript_249A35, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_4, 0, 0, 1, 11, 0, 2, 17, 0, 0, 0, BattleFrontier_BattleDomeLobby_EventScript_249E10, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_LASS, 0, 0, 14, 14, 0, 2, 17, 0, 0, 0, BattleFrontier_BattleDomeLobby_EventScript_249DFE, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_FAT_MAN, 0, 0, 18, 14, 0, 2, 17, 0, 0, 0, BattleFrontier_BattleDomeLobby_EventScript_249E07, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_MANIAC, 0, 0, 8, 14, 0, 2, 17, 0, 0, 0, BattleFrontier_BattleDomeLobby_EventScript_249DED, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_TEALA, 0, 0, 17, 10, 0, 8, 17, 0, 0, 0, BattleFrontier_BattleDomeLobby_EventScript_249A47, 0, 0, 0
+
+BattleFrontier_BattleDomeLobby_MapWarps: @ 853C0F8
+ warp_def 11, 16, 0, 1, BATTLE_FRONTIER_OUTSIDE_WEST
+ warp_def 12, 16, 0, 1, BATTLE_FRONTIER_OUTSIDE_WEST
+
+BattleFrontier_BattleDomeLobby_MapBGEvents: @ 853C108
+ bg_event 4, 10, 0, 0, 0, BattleFrontier_BattleDomeLobby_EventScript_249D52
+ bg_event 7, 10, 0, 0, 0, BattleFrontier_BattleDomeLobby_EventScript_249D84
+ bg_event 18, 10, 0, 0, 0, BattleFrontier_BattleDomeLobby_EventScript_249D6B
+ bg_event 15, 10, 0, 0, 0, BattleFrontier_BattleDomeLobby_EventScript_249E34
+
+BattleFrontier_BattleDomeLobby_MapEvents:: @ 853C138
+ map_events BattleFrontier_BattleDomeLobby_MapObjects, BattleFrontier_BattleDomeLobby_MapWarps, 0x0, BattleFrontier_BattleDomeLobby_MapBGEvents
+
diff --git a/data/maps/events/BattleFrontier_BattleDomePreBattleRoom.inc b/data/maps/events/BattleFrontier_BattleDomePreBattleRoom.inc
new file mode 100644
index 000000000..6d8a8abe8
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattleDomePreBattleRoom.inc
@@ -0,0 +1,10 @@
+BattleFrontier_BattleDomePreBattleRoom_MapObjects: @ 853C188
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 5, 2, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+BattleFrontier_BattleDomePreBattleRoom_MapWarps: @ 853C1A0
+ warp_def 6, 8, 3, 1, BATTLE_FRONTIER_OUTSIDE_WEST
+ warp_def 7, 8, 3, 1, BATTLE_FRONTIER_OUTSIDE_WEST
+
+BattleFrontier_BattleDomePreBattleRoom_MapEvents:: @ 853C1B0
+ map_events BattleFrontier_BattleDomePreBattleRoom_MapObjects, BattleFrontier_BattleDomePreBattleRoom_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_BattleFactoryBattleRoom.inc b/data/maps/events/BattleFrontier_BattleFactoryBattleRoom.inc
new file mode 100644
index 000000000..65ce8b684
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattleFactoryBattleRoom.inc
@@ -0,0 +1,13 @@
+BattleFrontier_BattleFactoryBattleRoom_MapObjects: @ 853CADC
+ object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 0, 6, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 7, 4, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 0, 4, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 0, 8, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 12, 4, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 12, 6, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 12, 8, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 8, 255, 0, 0, 5, 11, 0, 7, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+BattleFrontier_BattleFactoryBattleRoom_MapEvents:: @ 853CB9C
+ map_events BattleFrontier_BattleFactoryBattleRoom_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_BattleFactoryLobby.inc b/data/maps/events/BattleFrontier_BattleFactoryLobby.inc
new file mode 100644
index 000000000..e9f54cb50
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattleFactoryLobby.inc
@@ -0,0 +1,20 @@
+BattleFrontier_BattleFactoryLobby_MapObjects: @ 853C9D8
+ object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 4, 7, 0, 8, 17, 0, 0, 0, BattleFrontier_BattleFactoryLobby_EventScript_2585CB, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_1, 0, 0, 3, 11, 0, 2, 17, 0, 0, 0, BattleFrontier_BattleFactoryLobby_EventScript_258813, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_CAMPER, 0, 0, 14, 11, 0, 8, 0, 0, 0, 0, BattleFrontier_BattleFactoryLobby_EventScript_25881C, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_PICNICKER, 0, 0, 13, 11, 0, 10, 17, 0, 0, 0, BattleFrontier_BattleFactoryLobby_EventScript_258825, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_FAT_MAN, 0, 0, 6, 10, 0, 1, 17, 0, 0, 0, BattleFrontier_BattleFactoryLobby_EventScript_258830, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 14, 7, 0, 8, 17, 0, 0, 0, BattleFrontier_BattleFactoryLobby_EventScript_2585DD, 0, 0, 0
+
+BattleFrontier_BattleFactoryLobby_MapWarps: @ 853CA68
+ warp_def 9, 11, 0, 2, BATTLE_FRONTIER_OUTSIDE_WEST
+ warp_def 10, 11, 0, 2, BATTLE_FRONTIER_OUTSIDE_WEST
+
+BattleFrontier_BattleFactoryLobby_MapBGEvents: @ 853CA78
+ bg_event 2, 7, 0, 1, 0, BattleFrontier_BattleFactoryLobby_EventScript_2587E1
+ bg_event 11, 7, 0, 1, 0, BattleFrontier_BattleFactoryLobby_EventScript_2587FA
+ bg_event 9, 4, 0, 0, 0, BattleFrontier_BattleFactoryLobby_EventScript_258839
+
+BattleFrontier_BattleFactoryLobby_MapEvents:: @ 853CA9C
+ map_events BattleFrontier_BattleFactoryLobby_MapObjects, BattleFrontier_BattleFactoryLobby_MapWarps, 0x0, BattleFrontier_BattleFactoryLobby_MapBGEvents
+
diff --git a/data/maps/events/BattleFrontier_BattleFactoryPreBattleRoom.inc b/data/maps/events/BattleFrontier_BattleFactoryPreBattleRoom.inc
new file mode 100644
index 000000000..de03d5945
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattleFactoryPreBattleRoom.inc
@@ -0,0 +1,6 @@
+BattleFrontier_BattleFactoryPreBattleRoom_MapObjects: @ 853CAB0
+ object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 8, 12, 0, 7, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+BattleFrontier_BattleFactoryPreBattleRoom_MapEvents:: @ 853CAC8
+ map_events BattleFrontier_BattleFactoryPreBattleRoom_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_BattlePalaceBattleRoom.inc b/data/maps/events/BattleFrontier_BattlePalaceBattleRoom.inc
new file mode 100644
index 000000000..1314bbb40
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattlePalaceBattleRoom.inc
@@ -0,0 +1,14 @@
+BattleFrontier_BattlePalaceBattleRoom_MapObjects: @ 853C4FC
+ object_event 1, MAP_OBJ_GFX_TRADER, 0, 0, 1, 9, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 13, 1, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 1, 4, 3, 10, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_DUSCLOPS, 0, 0, 13, 1, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_AZURILL, 0, 0, 13, 1, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+BattleFrontier_BattlePalaceBattleRoom_MapWarps: @ 853C574
+ warp_def 0, 9, 3, 2, BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR
+ warp_def 1, 9, 3, 2, BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR
+
+BattleFrontier_BattlePalaceBattleRoom_MapEvents:: @ 853C584
+ map_events BattleFrontier_BattlePalaceBattleRoom_MapObjects, BattleFrontier_BattlePalaceBattleRoom_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_BattlePalaceCorridor.inc b/data/maps/events/BattleFrontier_BattlePalaceCorridor.inc
new file mode 100644
index 000000000..dc86a54b8
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattlePalaceCorridor.inc
@@ -0,0 +1,18 @@
+BattleFrontier_BattlePalaceCorridor_MapObjects: @ 853C420
+ object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 8, 12, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_AZURILL, 0, 0, 3, 5, 0, 2, 1, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_KIRLIA, 0, 0, 12, 6, 0, 14, 32, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_PIKACHU, 0, 0, 15, 5, 0, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_ZIGZAGOON_2, 0, 0, 4, 9, 0, 14, 32, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_AZUMARILL, 0, 0, 13, 9, 0, 1, 16, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_WINGULL, 0, 0, 3, 10, 0, 2, 33, 0, 0, 0, 0x0, 0, 0, 0
+
+BattleFrontier_BattlePalaceCorridor_MapWarps: @ 853C4C8
+ warp_def 8, 13, 3, 2, BATTLE_FRONTIER_BATTLE_PALACE_LOBBY
+ warp_def 9, 13, 3, 2, BATTLE_FRONTIER_BATTLE_PALACE_LOBBY
+ warp_def 6, 3, 3, 0, BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM
+ warp_def 10, 3, 3, 0, BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM
+
+BattleFrontier_BattlePalaceCorridor_MapEvents:: @ 853C4E8
+ map_events BattleFrontier_BattlePalaceCorridor_MapObjects, BattleFrontier_BattlePalaceCorridor_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_BattlePalaceLobby.inc b/data/maps/events/BattleFrontier_BattlePalaceLobby.inc
new file mode 100644
index 000000000..890d545ae
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattlePalaceLobby.inc
@@ -0,0 +1,21 @@
+BattleFrontier_BattlePalaceLobby_MapObjects: @ 853C340
+ object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 5, 6, 0, 8, 17, 0, 0, 0, BattleFrontier_BattlePalaceLobby_EventScript_24D944, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 11, 8, 0, 2, 17, 0, 0, 0, BattleFrontier_BattlePalaceLobby_EventScript_24DC82, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MANIAC, 0, 0, 24, 5, 0, 8, 17, 0, 0, 0, BattleFrontier_BattlePalaceLobby_EventScript_24DC9D, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MAN_4, 0, 0, 18, 10, 0, 2, 17, 0, 0, 0, BattleFrontier_BattlePalaceLobby_EventScript_24DC8B, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_BEAUTY, 0, 0, 2, 10, 0, 2, 17, 0, 0, 0, BattleFrontier_BattlePalaceLobby_EventScript_24DC94, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 19, 6, 0, 8, 17, 0, 0, 0, BattleFrontier_BattlePalaceLobby_EventScript_24D956, 0, 0, 0
+
+BattleFrontier_BattlePalaceLobby_MapWarps: @ 853C3D0
+ warp_def 12, 11, 0, 2, BATTLE_FRONTIER_OUTSIDE_EAST
+ warp_def 13, 11, 0, 2, BATTLE_FRONTIER_OUTSIDE_EAST
+ warp_def 5, 4, 3, 0, BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR
+
+BattleFrontier_BattlePalaceLobby_MapBGEvents: @ 853C3E8
+ bg_event 2, 7, 0, 1, 0, BattleFrontier_BattlePalaceLobby_EventScript_24DC50
+ bg_event 16, 7, 0, 1, 0, BattleFrontier_BattlePalaceLobby_EventScript_24DC69
+ bg_event 10, 4, 0, 0, 0, BattleFrontier_BattlePalaceLobby_EventScript_24DCA6
+
+BattleFrontier_BattlePalaceLobby_MapEvents:: @ 853C40C
+ map_events BattleFrontier_BattlePalaceLobby_MapObjects, BattleFrontier_BattlePalaceLobby_MapWarps, 0x0, BattleFrontier_BattlePalaceLobby_MapBGEvents
+
diff --git a/data/maps/events/BattleFrontier_BattlePikeCorridor.inc b/data/maps/events/BattleFrontier_BattlePikeCorridor.inc
new file mode 100644
index 000000000..2e6b8ecc7
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattlePikeCorridor.inc
@@ -0,0 +1,6 @@
+BattleFrontier_BattlePikeCorridor_MapObjects: @ 853CC54
+ object_event 1, MAP_OBJ_GFX_WOMAN_6, 0, 0, 6, 6, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+BattleFrontier_BattlePikeCorridor_MapEvents:: @ 853CC6C
+ map_events BattleFrontier_BattlePikeCorridor_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_BattlePikeLobby.inc b/data/maps/events/BattleFrontier_BattlePikeLobby.inc
new file mode 100644
index 000000000..4580d0358
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattlePikeLobby.inc
@@ -0,0 +1,18 @@
+BattleFrontier_BattlePikeLobby_MapObjects: @ 853CBB0
+ object_event 1, MAP_OBJ_GFX_WOMAN_6, 0, 0, 5, 5, 3, 8, 17, 0, 0, 0, BattleFrontier_BattlePikeLobby_EventScript_25B868, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIKER, 0, 0, 10, 9, 3, 7, 17, 0, 0, 0, BattleFrontier_BattlePikeLobby_EventScript_25BAAB, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 0, 5, 3, 9, 17, 0, 0, 0, BattleFrontier_BattlePikeLobby_EventScript_25BAB4, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BEAUTY, 0, 0, 8, 9, 3, 2, 17, 0, 0, 0, BattleFrontier_BattlePikeLobby_EventScript_25BABD, 0, 0, 0
+
+BattleFrontier_BattlePikeLobby_MapWarps: @ 853CC10
+ warp_def 5, 12, 0, 0, BATTLE_FRONTIER_OUTSIDE_WEST
+ warp_def 4, 12, 0, 0, BATTLE_FRONTIER_OUTSIDE_WEST
+ warp_def 6, 12, 0, 0, BATTLE_FRONTIER_OUTSIDE_WEST
+
+BattleFrontier_BattlePikeLobby_MapBGEvents: @ 853CC28
+ bg_event 8, 3, 0, 0, 0, BattleFrontier_BattlePikeLobby_EventScript_25BA80
+ bg_event 1, 3, 0, 0, 0, BattleFrontier_BattlePikeLobby_EventScript_25BAC6
+
+BattleFrontier_BattlePikeLobby_MapEvents:: @ 853CC40
+ map_events BattleFrontier_BattlePikeLobby_MapObjects, BattleFrontier_BattlePikeLobby_MapWarps, 0x0, BattleFrontier_BattlePikeLobby_MapBGEvents
+
diff --git a/data/maps/events/BattleFrontier_BattlePikeRandomRoom1.inc b/data/maps/events/BattleFrontier_BattlePikeRandomRoom1.inc
new file mode 100644
index 000000000..40d5db12b
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattlePikeRandomRoom1.inc
@@ -0,0 +1,16 @@
+BattleFrontier_BattlePikeRandomRoom1_MapObjects: @ 853CD54
+ object_event 1, MAP_OBJ_GFX_HIPSTER, 0, 0, 4, 4, 3, 8, 17, 0, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D7ED, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_TRADER, 0, 0, 3, 4, 3, 8, 17, 0, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D88D, 0, 0, 0
+
+BattleFrontier_BattlePikeRandomRoom1_MapCoordEvents: @ 853CD84
+ coord_event 4, 3, 3, 0, VAR_0x4001, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2
+ coord_event 3, 6, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082
+ coord_event 3, 7, 3, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D
+ coord_event 4, 6, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082
+ coord_event 5, 6, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4082
+ coord_event 4, 7, 3, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D
+ coord_event 5, 7, 3, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C408D
+
+BattleFrontier_BattlePikeRandomRoom1_MapEvents:: @ 853CDF4
+ map_events BattleFrontier_BattlePikeRandomRoom1_MapObjects, 0x0, BattleFrontier_BattlePikeRandomRoom1_MapCoordEvents, 0x0
+
diff --git a/data/maps/events/BattleFrontier_BattlePikeRandomRoom2.inc b/data/maps/events/BattleFrontier_BattlePikeRandomRoom2.inc
new file mode 100644
index 000000000..078882617
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattlePikeRandomRoom2.inc
@@ -0,0 +1,6 @@
+BattleFrontier_BattlePikeRandomRoom2_MapObjects: @ 853CE08
+ object_event 1, MAP_OBJ_GFX_WOMAN_6, 0, 0, 2, 4, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+BattleFrontier_BattlePikeRandomRoom2_MapEvents:: @ 853CE20
+ map_events BattleFrontier_BattlePikeRandomRoom2_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_BattlePikeRandomRoom3.inc b/data/maps/events/BattleFrontier_BattlePikeRandomRoom3.inc
new file mode 100644
index 000000000..d2988ab50
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattlePikeRandomRoom3.inc
@@ -0,0 +1,12 @@
+BattleFrontier_BattlePikeRandomRoom3_MapCoordEvents: @ 853CE34
+ coord_event 4, 3, 3, 0, VAR_0x4001, 0, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174
+ coord_event 3, 18, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202
+ coord_event 4, 18, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202
+ coord_event 5, 18, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4202
+ coord_event 3, 19, 3, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D
+ coord_event 4, 19, 3, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D
+ coord_event 5, 19, 3, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C420D
+
+BattleFrontier_BattlePikeRandomRoom3_MapEvents:: @ 853CEA4
+ map_events 0x0, 0x0, BattleFrontier_BattlePikeRandomRoom3_MapCoordEvents, 0x0
+
diff --git a/data/maps/events/BattleFrontier_BattlePikeThreePathRoom.inc b/data/maps/events/BattleFrontier_BattlePikeThreePathRoom.inc
new file mode 100644
index 000000000..9345b5819
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattlePikeThreePathRoom.inc
@@ -0,0 +1,18 @@
+BattleFrontier_BattlePikeThreePathRoom_MapObjects: @ 853CC80
+ object_event 1, MAP_OBJ_GFX_WOMAN_6, 0, 0, 4, 10, 3, 10, 0, 0, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C908, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_6, 0, 0, 8, 5, 3, 8, 0, 0, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CABB, 0, 0, 0
+
+BattleFrontier_BattlePikeThreePathRoom_MapCoordEvents: @ 853CCB0
+ coord_event 2, 3, 3, 0, VAR_0x4001, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F4E
+ coord_event 6, 3, 3, 0, VAR_0x4001, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F59
+ coord_event 10, 3, 3, 0, VAR_0x4001, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F64
+ coord_event 5, 10, 0, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D
+ coord_event 6, 10, 0, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D
+ coord_event 6, 9, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062
+ coord_event 5, 9, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062
+ coord_event 7, 9, 3, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4062
+ coord_event 7, 10, 0, 0, VAR_0x4003, 1, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C406D
+
+BattleFrontier_BattlePikeThreePathRoom_MapEvents:: @ 853CD40
+ map_events BattleFrontier_BattlePikeThreePathRoom_MapObjects, 0x0, BattleFrontier_BattlePikeThreePathRoom_MapCoordEvents, 0x0
+
diff --git a/data/maps/events/BattleFrontier_BattlePointExchangeServiceCorner.inc b/data/maps/events/BattleFrontier_BattlePointExchangeServiceCorner.inc
new file mode 100644
index 000000000..5e5a23fa4
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattlePointExchangeServiceCorner.inc
@@ -0,0 +1,19 @@
+BattleFrontier_BattlePointExchangeServiceCorner_MapObjects: @ 853D018
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 4, 4, 0, 9, 0, 0, 0, 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F173, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BOY_4, 0, 0, 0, 5, 0, 10, 17, 0, 0, 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7E8, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_2, 0, 0, 0, 4, 0, 8, 17, 0, 0, 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7DD, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_SAILOR, 0, 0, 14, 6, 0, 2, 17, 0, 0, 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7D4, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_MAN_6, 0, 0, 1, 9, 0, 2, 17, 0, 0, 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7CB, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_TEALA, 0, 0, 5, 5, 0, 8, 0, 0, 0, 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F37C, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_TEALA, 0, 0, 9, 5, 0, 8, 0, 0, 0, 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F49F, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_TEALA, 0, 0, 10, 4, 0, 10, 0, 0, 0, 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5F0, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_GIRL_1, 0, 0, 12, 10, 0, 2, 17, 0, 0, 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7F1, 0, 0, 0
+
+BattleFrontier_BattlePointExchangeServiceCorner_MapWarps: @ 853D0F0
+ warp_def 7, 10, 0, 6, BATTLE_FRONTIER_OUTSIDE_EAST
+ warp_def 6, 10, 0, 6, BATTLE_FRONTIER_OUTSIDE_EAST
+ warp_def 8, 10, 0, 6, BATTLE_FRONTIER_OUTSIDE_EAST
+
+BattleFrontier_BattlePointExchangeServiceCorner_MapEvents:: @ 853D108
+ map_events BattleFrontier_BattlePointExchangeServiceCorner_MapObjects, BattleFrontier_BattlePointExchangeServiceCorner_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_BattlePyramidEmptySquare.inc b/data/maps/events/BattleFrontier_BattlePyramidEmptySquare.inc
new file mode 100644
index 000000000..aba4f907d
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattlePyramidEmptySquare.inc
@@ -0,0 +1,21 @@
+BattleFrontier_BattlePyramidEmptySquare_MapObjects: @ 853C62C
+ object_event 1, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 0, 0, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 1, 0, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 2, 0, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 3, 0, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 4, 0, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 5, 0, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 6, 0, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 7, 0, 0, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 0, 1, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 1, 1, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 3, 1, 0, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 12, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 4, 1, 0, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 13, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 5, 1, 0, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 14, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 6, 1, 0, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 15, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 7, 1, 0, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 16, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 2, 1, 0, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+BattleFrontier_BattlePyramidEmptySquare_MapEvents:: @ 853C7AC
+ map_events BattleFrontier_BattlePyramidEmptySquare_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_BattlePyramidLobby.inc b/data/maps/events/BattleFrontier_BattlePyramidLobby.inc
new file mode 100644
index 000000000..eb56352ed
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattlePyramidLobby.inc
@@ -0,0 +1,16 @@
+BattleFrontier_BattlePyramidLobby_MapObjects: @ 853C598
+ object_event 1, MAP_OBJ_GFX_HIKER, 0, 0, 7, 12, 4, 8, 17, 0, 0, 0, BattleFrontier_BattlePyramidLobby_EventScript_2508B1, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_HEX_MANIAC, 0, 0, 14, 13, 4, 9, 17, 0, 0, 0, BattleFrontier_BattlePyramidLobby_EventScript_250ACE, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_4, 0, 0, 2, 15, 4, 2, 17, 0, 0, 0, BattleFrontier_BattlePyramidLobby_EventScript_250E83, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_FAT_MAN, 0, 0, 12, 16, 4, 2, 17, 0, 0, 0, BattleFrontier_BattlePyramidLobby_EventScript_250E8C, 0, 0, 0
+
+BattleFrontier_BattlePyramidLobby_MapWarps: @ 853C5F8
+ warp_def 7, 17, 4, 3, BATTLE_FRONTIER_OUTSIDE_EAST
+
+BattleFrontier_BattlePyramidLobby_MapBGEvents: @ 853C600
+ bg_event 5, 12, 0, 1, 0, BattleFrontier_BattlePyramidLobby_EventScript_250D42
+ bg_event 1, 12, 0, 0, 0, BattleFrontier_BattlePyramidLobby_EventScript_250E95
+
+BattleFrontier_BattlePyramidLobby_MapEvents:: @ 853C618
+ map_events BattleFrontier_BattlePyramidLobby_MapObjects, BattleFrontier_BattlePyramidLobby_MapWarps, 0x0, BattleFrontier_BattlePyramidLobby_MapBGEvents
+
diff --git a/data/maps/events/BattleFrontier_BattlePyramidTop.inc b/data/maps/events/BattleFrontier_BattlePyramidTop.inc
new file mode 100644
index 000000000..d06650789
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattlePyramidTop.inc
@@ -0,0 +1,10 @@
+BattleFrontier_BattlePyramidTop_MapObjects: @ 853C7C0
+ object_event 1, MAP_OBJ_GFX_HIKER, 0, 0, 17, 11, 6, 8, 17, 0, 0, 3, BattleFrontier_BattlePyramidTop_EventScript_2551D0, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BRANDON, 0, 0, 17, 7, 0, 7, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+BattleFrontier_BattlePyramidTop_MapCoordEvents: @ 853C7F0
+ coord_event 17, 9, 4, 0, VAR_0x4002, 0, 0, BattleFrontier_BattlePyramidTop_EventScript_255256
+
+BattleFrontier_BattlePyramidTop_MapEvents:: @ 853C800
+ map_events BattleFrontier_BattlePyramidTop_MapObjects, 0x0, BattleFrontier_BattlePyramidTop_MapCoordEvents, 0x0
+
diff --git a/data/maps/events/BattleFrontier_BattleTowerBattleRoom.inc b/data/maps/events/BattleFrontier_BattleTowerBattleRoom.inc
new file mode 100644
index 000000000..c9b46f8ca
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattleTowerBattleRoom.inc
@@ -0,0 +1,12 @@
+BattleFrontier_BattleTowerBattleRoom_MapObjects: @ 853B7D0
+ object_event 1, MAP_OBJ_GFX_HIPSTER, 0, 0, 5, 1, 3, 8, 0, 0, 0, 0, 0x0, 888, 0, 0
+ object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 1, 7, 3, 10, 0, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 4, 8, 3, 7, 0, 0, 0, 0, 0x0, 0, 0, 0
+
+BattleFrontier_BattleTowerBattleRoom_MapWarps: @ 853B818
+ warp_def 5, 8, 0, 2, BATTLE_FRONTIER_BATTLE_TOWER_LOBBY
+ warp_def 6, 8, 0, 2, BATTLE_FRONTIER_BATTLE_TOWER_LOBBY
+
+BattleFrontier_BattleTowerBattleRoom_MapEvents:: @ 853B828
+ map_events BattleFrontier_BattleTowerBattleRoom_MapObjects, BattleFrontier_BattleTowerBattleRoom_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_BattleTowerBattleRoom2.inc b/data/maps/events/BattleFrontier_BattleTowerBattleRoom2.inc
new file mode 100644
index 000000000..afab09840
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattleTowerBattleRoom2.inc
@@ -0,0 +1,11 @@
+BattleFrontier_BattleTowerBattleRoom2_MapObjects: @ 853BFC4
+ object_event 1, MAP_OBJ_GFX_HIPSTER, 0, 0, 5, 1, 3, 8, 0, 0, 0, 0, 0x0, 888, 0, 0
+ object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 1, 4, 3, 10, 0, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 1, 5, 3, 10, 0, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_TRADER, 0, 0, 4, 1, 3, 8, 0, 0, 0, 0, 0x0, 888, 0, 0
+ object_event 5, 255, 0, 0, 4, 8, 3, 7, 0, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 6, 254, 0, 0, 5, 8, 3, 7, 0, 0, 0, 0, 0x0, 0, 0, 0
+
+BattleFrontier_BattleTowerBattleRoom2_MapEvents:: @ 853C054
+ map_events BattleFrontier_BattleTowerBattleRoom2_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_BattleTowerCorridor.inc b/data/maps/events/BattleFrontier_BattleTowerCorridor.inc
new file mode 100644
index 000000000..75d51fb28
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattleTowerCorridor.inc
@@ -0,0 +1,6 @@
+BattleFrontier_BattleTowerCorridor_MapObjects: @ 853B7A4
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 9, 2, 3, 9, 0, 0, 0, 0, 0x0, 0, 0, 0
+
+BattleFrontier_BattleTowerCorridor_MapEvents:: @ 853B7BC
+ map_events BattleFrontier_BattleTowerCorridor_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_BattleTowerCorridor2.inc b/data/maps/events/BattleFrontier_BattleTowerCorridor2.inc
new file mode 100644
index 000000000..083b877ab
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattleTowerCorridor2.inc
@@ -0,0 +1,9 @@
+BattleFrontier_BattleTowerCorridor2_MapObjects: @ 853BF50
+ object_event 1, 255, 0, 0, 1, 1, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 14, 3, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 1, 3, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 4, 254, 0, 0, 14, 1, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+BattleFrontier_BattleTowerCorridor2_MapEvents:: @ 853BFB0
+ map_events BattleFrontier_BattleTowerCorridor2_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_BattleTowerElevator.inc b/data/maps/events/BattleFrontier_BattleTowerElevator.inc
new file mode 100644
index 000000000..4f2a32d89
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattleTowerElevator.inc
@@ -0,0 +1,6 @@
+BattleFrontier_BattleTowerElevator_MapObjects: @ 853B778
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 1, 5, 3, 7, 0, 0, 0, 0, 0x0, 0, 0, 0
+
+BattleFrontier_BattleTowerElevator_MapEvents:: @ 853B790
+ map_events BattleFrontier_BattleTowerElevator_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_BattleTowerLobby.inc b/data/maps/events/BattleFrontier_BattleTowerLobby.inc
new file mode 100644
index 000000000..35f6e6bca
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattleTowerLobby.inc
@@ -0,0 +1,26 @@
+BattleFrontier_BattleTowerLobby_MapObjects: @ 853B638
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 5, 3, 8, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23E936, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_5, 0, 0, 23, 5, 3, 8, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EEE7, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_7, 0, 0, 17, 8, 3, 2, 17, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EFB5, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BOY_1, 0, 0, 15, 9, 3, 2, 17, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EFBE, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_REPORTER_F, 0, 0, 11, 9, 3, 10, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_28CB96, 918, 0, 0
+ object_event 6, MAP_OBJ_GFX_HIPSTER, 0, 0, 1, 5, 3, 8, 17, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_2B688D, 701, 0, 0
+ object_event 7, MAP_OBJ_GFX_TEALA, 0, 0, 10, 5, 3, 8, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EA9F, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_TEALA, 0, 0, 14, 5, 3, 8, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EC08, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_TEALA, 0, 0, 18, 5, 3, 8, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23ED74, 0, 0, 0
+
+BattleFrontier_BattleTowerLobby_MapWarps: @ 853B710
+ warp_def 12, 9, 3, 0, BATTLE_FRONTIER_OUTSIDE_EAST
+ warp_def 13, 9, 3, 0, BATTLE_FRONTIER_OUTSIDE_EAST
+ warp_def 6, 1, 0, 0, BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM
+
+BattleFrontier_BattleTowerLobby_MapBGEvents: @ 853B728
+ bg_event 4, 5, 0, 1, 0, BattleFrontier_BattleTowerLobby_EventScript_23EFC7
+ bg_event 8, 5, 0, 1, 0, BattleFrontier_BattleTowerLobby_EventScript_23EFE0
+ bg_event 12, 5, 0, 1, 0, BattleFrontier_BattleTowerLobby_EventScript_23EFF9
+ bg_event 16, 5, 0, 1, 0, BattleFrontier_BattleTowerLobby_EventScript_23F012
+ bg_event 2, 1, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23F4BE
+
+BattleFrontier_BattleTowerLobby_MapEvents:: @ 853B764
+ map_events BattleFrontier_BattleTowerLobby_MapObjects, BattleFrontier_BattleTowerLobby_MapWarps, 0x0, BattleFrontier_BattleTowerLobby_MapBGEvents
+
diff --git a/data/maps/events/BattleFrontier_BattleTowerMultiBattleRoom.inc b/data/maps/events/BattleFrontier_BattleTowerMultiBattleRoom.inc
new file mode 100644
index 000000000..0292088de
--- /dev/null
+++ b/data/maps/events/BattleFrontier_BattleTowerMultiBattleRoom.inc
@@ -0,0 +1,14 @@
+BattleFrontier_BattleTowerMultiBattleRoom_MapObjects: @ 853BE64
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 11, 2, 3, 8, 17, 0, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E7A, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 2, 10, 3, 1, 17, 0, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F29, 711, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 17, 11, 3, 14, 17, 0, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FFB, 712, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 6, 9, 3, 1, 17, 0, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244008, 713, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 8, 13, 3, 1, 17, 0, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244015, 714, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 10, 11, 3, 7, 17, 0, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244022, 715, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 13, 10, 3, 10, 17, 0, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24402F, 716, 0, 0
+ object_event 8, 246, 0, 0, 15, 13, 3, 15, 17, 0, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24403C, 864, 0, 0
+ object_event 9, 247, 0, 0, 4, 12, 3, 10, 17, 0, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244049, 865, 0, 0
+
+BattleFrontier_BattleTowerMultiBattleRoom_MapEvents:: @ 853BF3C
+ map_events BattleFrontier_BattleTowerMultiBattleRoom_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_Lounge1.inc b/data/maps/events/BattleFrontier_Lounge1.inc
new file mode 100644
index 000000000..748d86b6c
--- /dev/null
+++ b/data/maps/events/BattleFrontier_Lounge1.inc
@@ -0,0 +1,11 @@
+BattleFrontier_Lounge1_MapObjects: @ 853CFB4
+ object_event 1, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 0, 6, 0, 10, 17, 0, 0, 0, BattleFrontier_Lounge1_EventScript_25E775, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BOY_3, 0, 0, 7, 6, 0, 2, 33, 0, 0, 0, BattleFrontier_Lounge1_EventScript_25E94D, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BOY_2, 0, 0, 5, 4, 0, 2, 18, 0, 0, 0, BattleFrontier_Lounge1_EventScript_25E956, 0, 0, 0
+
+BattleFrontier_Lounge1_MapWarps: @ 853CFFC
+ warp_def 4, 9, 0, 5, BATTLE_FRONTIER_OUTSIDE_EAST
+
+BattleFrontier_Lounge1_MapEvents:: @ 853D004
+ map_events BattleFrontier_Lounge1_MapObjects, BattleFrontier_Lounge1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_Lounge2.inc b/data/maps/events/BattleFrontier_Lounge2.inc
new file mode 100644
index 000000000..c31e86ab6
--- /dev/null
+++ b/data/maps/events/BattleFrontier_Lounge2.inc
@@ -0,0 +1,14 @@
+BattleFrontier_Lounge2_MapObjects: @ 853D11C
+ object_event 1, MAP_OBJ_GFX_MANIAC, 0, 0, 8, 4, 0, 10, 17, 0, 0, 0, BattleFrontier_Lounge2_EventScript_260643, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MANIAC, 0, 0, 10, 4, 0, 9, 17, 0, 0, 0, BattleFrontier_Lounge2_EventScript_26073C, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MANIAC, 0, 0, 10, 3, 0, 9, 17, 0, 0, 0, BattleFrontier_Lounge2_EventScript_260747, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_RUNNING_TRIATHLETE_F, 0, 0, 4, 6, 0, 2, 33, 0, 0, 0, BattleFrontier_Lounge2_EventScript_26075D, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_MANIAC, 0, 0, 10, 5, 0, 9, 17, 0, 0, 0, BattleFrontier_Lounge2_EventScript_260752, 0, 0, 0
+
+BattleFrontier_Lounge2_MapWarps: @ 853D194
+ warp_def 1, 7, 0, 3, BATTLE_FRONTIER_OUTSIDE_WEST
+ warp_def 2, 7, 0, 3, BATTLE_FRONTIER_OUTSIDE_WEST
+
+BattleFrontier_Lounge2_MapEvents:: @ 853D1A4
+ map_events BattleFrontier_Lounge2_MapObjects, BattleFrontier_Lounge2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_Lounge3.inc b/data/maps/events/BattleFrontier_Lounge3.inc
new file mode 100644
index 000000000..0655cea90
--- /dev/null
+++ b/data/maps/events/BattleFrontier_Lounge3.inc
@@ -0,0 +1,13 @@
+BattleFrontier_Lounge3_MapObjects: @ 853D1B8
+ object_event 1, MAP_OBJ_GFX_HIKER, 0, 0, 4, 6, 0, 7, 17, 0, 0, 0, BattleFrontier_Lounge3_EventScript_261D83, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_FAT_MAN, 0, 0, 4, 4, 0, 8, 17, 0, 0, 0, BattleFrontier_Lounge3_EventScript_261FE1, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_3, 0, 0, 3, 5, 0, 10, 17, 0, 0, 0, BattleFrontier_Lounge3_EventScript_261FC1, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_2, 0, 0, 5, 5, 0, 9, 17, 0, 0, 0, BattleFrontier_Lounge3_EventScript_261FD1, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_MAN_4, 0, 0, 0, 6, 0, 2, 48, 0, 0, 0, BattleFrontier_Lounge3_EventScript_261FB8, 0, 0, 0
+
+BattleFrontier_Lounge3_MapWarps: @ 853D230
+ warp_def 4, 9, 0, 9, BATTLE_FRONTIER_OUTSIDE_EAST
+
+BattleFrontier_Lounge3_MapEvents:: @ 853D238
+ map_events BattleFrontier_Lounge3_MapObjects, BattleFrontier_Lounge3_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_Lounge4.inc b/data/maps/events/BattleFrontier_Lounge4.inc
new file mode 100644
index 000000000..ae4e7c4b7
--- /dev/null
+++ b/data/maps/events/BattleFrontier_Lounge4.inc
@@ -0,0 +1,11 @@
+BattleFrontier_Lounge4_MapObjects: @ 853D24C
+ object_event 1, MAP_OBJ_GFX_WOMAN_4, 0, 0, 4, 4, 0, 7, 17, 0, 0, 0, BattleFrontier_Lounge4_EventScript_26358D, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_COOK, 0, 0, 6, 6, 0, 2, 17, 0, 0, 0, BattleFrontier_Lounge4_EventScript_263596, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 0, 5, 0, 10, 18, 0, 0, 0, BattleFrontier_Lounge4_EventScript_26359F, 0, 0, 0
+
+BattleFrontier_Lounge4_MapWarps: @ 853D294
+ warp_def 4, 9, 0, 6, BATTLE_FRONTIER_OUTSIDE_WEST
+
+BattleFrontier_Lounge4_MapEvents:: @ 853D29C
+ map_events BattleFrontier_Lounge4_MapObjects, BattleFrontier_Lounge4_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_Lounge5.inc b/data/maps/events/BattleFrontier_Lounge5.inc
new file mode 100644
index 000000000..cc8759d1d
--- /dev/null
+++ b/data/maps/events/BattleFrontier_Lounge5.inc
@@ -0,0 +1,13 @@
+BattleFrontier_Lounge5_MapObjects: @ 853D2EC
+ object_event 1, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 12, 4, 4, 9, 17, 0, 0, 0, BattleFrontier_Lounge5_EventScript_2645C6, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 0, 4, 3, 10, 17, 0, 0, 0, BattleFrontier_Lounge5_EventScript_264617, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 6, 5, 0, 2, 17, 0, 0, 0, BattleFrontier_Lounge5_EventScript_264620, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 11, 7, 0, 1, 17, 0, 0, 0, BattleFrontier_Lounge5_EventScript_264629, 0, 0, 0
+
+BattleFrontier_Lounge5_MapWarps: @ 853D34C
+ warp_def 1, 7, 0, 7, BATTLE_FRONTIER_OUTSIDE_EAST
+ warp_def 2, 7, 0, 7, BATTLE_FRONTIER_OUTSIDE_EAST
+
+BattleFrontier_Lounge5_MapEvents:: @ 853D35C
+ map_events BattleFrontier_Lounge5_MapObjects, BattleFrontier_Lounge5_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_Lounge6.inc b/data/maps/events/BattleFrontier_Lounge6.inc
new file mode 100644
index 000000000..b2aa2b93f
--- /dev/null
+++ b/data/maps/events/BattleFrontier_Lounge6.inc
@@ -0,0 +1,9 @@
+BattleFrontier_Lounge6_MapObjects: @ 853D370
+ object_event 1, MAP_OBJ_GFX_BEAUTY, 0, 0, 2, 4, 0, 10, 17, 0, 0, 0, BattleFrontier_Lounge6_EventScript_264FED, 0, 0, 0
+
+BattleFrontier_Lounge6_MapWarps: @ 853D388
+ warp_def 4, 9, 0, 8, BATTLE_FRONTIER_OUTSIDE_EAST
+
+BattleFrontier_Lounge6_MapEvents:: @ 853D390
+ map_events BattleFrontier_Lounge6_MapObjects, BattleFrontier_Lounge6_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_Lounge7.inc b/data/maps/events/BattleFrontier_Lounge7.inc
new file mode 100644
index 000000000..43cb50ddf
--- /dev/null
+++ b/data/maps/events/BattleFrontier_Lounge7.inc
@@ -0,0 +1,12 @@
+BattleFrontier_Lounge7_MapObjects: @ 853D3A4
+ object_event 1, MAP_OBJ_GFX_SAILOR, 0, 0, 0, 7, 0, 2, 17, 0, 0, 0, BattleFrontier_Lounge7_EventScript_2656DB, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 2, 5, 0, 10, 17, 0, 0, 0, BattleFrontier_Lounge7_EventScript_265255, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 6, 5, 0, 9, 17, 0, 0, 0, BattleFrontier_Lounge7_EventScript_265445, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 8, 3, 0, 9, 17, 0, 0, 0, BattleFrontier_Lounge7_EventScript_2656E4, 0, 0, 0
+
+BattleFrontier_Lounge7_MapWarps: @ 853D404
+ warp_def 4, 9, 0, 7, BATTLE_FRONTIER_OUTSIDE_WEST
+
+BattleFrontier_Lounge7_MapEvents:: @ 853D40C
+ map_events BattleFrontier_Lounge7_MapObjects, BattleFrontier_Lounge7_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_Lounge8.inc b/data/maps/events/BattleFrontier_Lounge8.inc
new file mode 100644
index 000000000..0420a702f
--- /dev/null
+++ b/data/maps/events/BattleFrontier_Lounge8.inc
@@ -0,0 +1,11 @@
+BattleFrontier_Lounge8_MapObjects: @ 853D4BC
+ object_event 1, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 4, 5, 0, 2, 34, 0, 0, 0, BattleFrontier_Lounge8_EventScript_2676DC, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_4, 0, 0, 8, 7, 0, 9, 17, 0, 0, 0, BattleFrontier_Lounge8_EventScript_2676CA, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_7, 0, 0, 8, 4, 0, 9, 17, 0, 0, 0, BattleFrontier_Lounge8_EventScript_2676D3, 0, 0, 0
+
+BattleFrontier_Lounge8_MapWarps: @ 853D504
+ warp_def 4, 9, 0, 10, BATTLE_FRONTIER_OUTSIDE_EAST
+
+BattleFrontier_Lounge8_MapEvents:: @ 853D50C
+ map_events BattleFrontier_Lounge8_MapObjects, BattleFrontier_Lounge8_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_Lounge9.inc b/data/maps/events/BattleFrontier_Lounge9.inc
new file mode 100644
index 000000000..ff96fc94f
--- /dev/null
+++ b/data/maps/events/BattleFrontier_Lounge9.inc
@@ -0,0 +1,10 @@
+BattleFrontier_Lounge9_MapObjects: @ 853D520
+ object_event 1, MAP_OBJ_GFX_GIRL_2, 0, 0, 6, 3, 0, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+BattleFrontier_Lounge9_MapWarps: @ 853D538
+ warp_def 1, 9, 0, 11, BATTLE_FRONTIER_OUTSIDE_EAST
+ warp_def 2, 9, 0, 11, BATTLE_FRONTIER_OUTSIDE_EAST
+
+BattleFrontier_Lounge9_MapEvents:: @ 853D548
+ map_events BattleFrontier_Lounge9_MapObjects, BattleFrontier_Lounge9_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_Mart.inc b/data/maps/events/BattleFrontier_Mart.inc
new file mode 100644
index 000000000..5ce69f2ee
--- /dev/null
+++ b/data/maps/events/BattleFrontier_Mart.inc
@@ -0,0 +1,13 @@
+BattleFrontier_Mart_MapObjects: @ 853D68C
+ object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, BattleFrontier_Mart_EventScript_267ACC, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_OLD_WOMAN_2, 0, 0, 5, 4, 3, 10, 0, 0, 0, 0, BattleFrontier_Mart_EventScript_267B0B, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 5, 5, 3, 10, 0, 0, 0, 0, BattleFrontier_Mart_EventScript_267B02, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BOY_2, 0, 0, 8, 4, 3, 9, 0, 0, 0, 0, BattleFrontier_Mart_EventScript_267B20, 0, 0, 0
+
+BattleFrontier_Mart_MapWarps: @ 853D6EC
+ warp_def 3, 7, 0, 4, BATTLE_FRONTIER_OUTSIDE_WEST
+ warp_def 4, 7, 0, 4, BATTLE_FRONTIER_OUTSIDE_WEST
+
+BattleFrontier_Mart_MapEvents:: @ 853D6FC
+ map_events BattleFrontier_Mart_MapObjects, BattleFrontier_Mart_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_OutsideEast.inc b/data/maps/events/BattleFrontier_OutsideEast.inc
new file mode 100644
index 000000000..a99a7fcf0
--- /dev/null
+++ b/data/maps/events/BattleFrontier_OutsideEast.inc
@@ -0,0 +1,57 @@
+BattleFrontier_OutsideEast_MapObjects: @ 853BB10
+ object_event 1, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 20, 17, 0, 27, 19, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242C67, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_4, 0, 0, 42, 15, 0, 2, 49, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242C70, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_HIKER, 0, 0, 53, 6, 0, 8, 2, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242C79, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_HEX_MANIAC, 0, 0, 54, 16, 0, 2, 18, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242C82, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 37, 32, 0, 7, 0, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242C8B, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_COOK, 0, 0, 41, 56, 3, 9, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242C94, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 8, 46, 0, 1, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242CBB, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_RUNNING_TRIATHLETE_M, 0, 0, 34, 41, 0, 28, 19, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242CE1, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_BOY_4, 0, 0, 45, 47, 3, 1, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242CB2, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_CYCLING_TRIATHLETE_F, 0, 0, 59, 35, 0, 26, 97, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242CC4, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 18, 40, 0, 1, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242CCD, 0, 0, 0
+ object_event 12, MAP_OBJ_GFX_MAN_1, 0, 0, 17, 40, 0, 10, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242CD6, 0, 0, 0
+ object_event 13, MAP_OBJ_GFX_ZIGZAGOON_2, 0, 0, 40, 56, 3, 1, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242C9F, 0, 0, 0
+ object_event 14, MAP_OBJ_GFX_SUDOWOODO, 0, 0, 54, 62, 3, 8, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242CEA, 842, 0, 0
+ object_event 15, MAP_OBJ_GFX_MANIAC, 0, 0, 42, 34, 3, 1, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242D79, 0, 0, 0
+ object_event 16, MAP_OBJ_GFX_GIRL_3, 0, 0, 51, 53, 3, 2, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242D82, 0, 0, 0
+ object_event 17, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 62, 18, 0, 46, 98, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242D8B, 0, 0, 0
+ object_event 18, MAP_OBJ_GFX_MAN_4, 0, 0, 11, 21, 0, 1, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242D94, 0, 0, 0
+ object_event 19, MAP_OBJ_GFX_WOMAN_7, 0, 0, 10, 21, 0, 10, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242D9D, 0, 0, 0
+ object_event 20, MAP_OBJ_GFX_WOMAN_7, 0, 0, 16, 30, 0, 2, 35, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242DA6, 0, 0, 0
+ object_event 21, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 33, 14, 0, 7, 0, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242DAF, 0, 0, 0
+ object_event 22, MAP_OBJ_GFX_MANIAC, 0, 0, 54, 31, 0, 9, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242DB8, 0, 0, 0
+ object_event 23, MAP_OBJ_GFX_WOMAN_5, 0, 0, 54, 32, 0, 7, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242DC3, 0, 0, 0
+ object_event 24, MAP_OBJ_GFX_OLD_WOMAN_2, 0, 0, 58, 55, 3, 17, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242DE9, 0, 0, 0
+ object_event 25, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 48, 41, 0, 7, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242DE0, 0, 0, 0
+ object_event 26, MAP_OBJ_GFX_CAMPER, 0, 0, 29, 14, 0, 7, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242E08, 0, 0, 0
+
+BattleFrontier_OutsideEast_MapWarps: @ 853BD80
+ warp_def 16, 14, 0, 0, BATTLE_FRONTIER_BATTLE_TOWER_LOBBY
+ warp_def 39, 29, 0, 0, BATTLE_FRONTIER_BATTLE_ARENA_LOBBY
+ warp_def 45, 56, 0, 0, BATTLE_FRONTIER_BATTLE_PALACE_LOBBY
+ warp_def 58, 14, 0, 0, BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY
+ warp_def 35, 12, 3, 0, BATTLE_FRONTIER_RANKING_HALL
+ warp_def 4, 44, 0, 0, BATTLE_FRONTIER_LOUNGE_1
+ warp_def 10, 28, 0, 0, BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER
+ warp_def 22, 51, 0, 0, BATTLE_FRONTIER_LOUNGE_5
+ warp_def 5, 8, 0, 0, BATTLE_FRONTIER_LOUNGE_6
+ warp_def 65, 31, 0, 0, BATTLE_FRONTIER_LOUNGE_3
+ warp_def 14, 51, 0, 0, BATTLE_FRONTIER_LOUNGE_8
+ warp_def 21, 45, 0, 0, BATTLE_FRONTIER_LOUNGE_9
+ warp_def 3, 51, 0, 0, BATTLE_FRONTIER_POKEMON_CENTER_1F
+ warp_def 28, 7, 0, 0, ARTISAN_CAVE_1F
+
+BattleFrontier_OutsideEast_MapBGEvents: @ 853BDF0
+ bg_event 13, 17, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242C43
+ bg_event 43, 56, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242C4C
+ bg_event 36, 34, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242C55
+ bg_event 62, 15, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242C5E
+ bg_event 7, 29, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242DD7
+ bg_event 32, 13, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_242DCE
+ bg_event 4, 51, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_271E73
+ bg_event 5, 51, 0, 0, 0, BattleFrontier_OutsideEast_EventScript_271E73
+
+BattleFrontier_OutsideEast_MapEvents:: @ 853BE50
+ map_events BattleFrontier_OutsideEast_MapObjects, BattleFrontier_OutsideEast_MapWarps, 0x0, BattleFrontier_OutsideEast_MapBGEvents
+
diff --git a/data/maps/events/BattleFrontier_OutsideWest.inc b/data/maps/events/BattleFrontier_OutsideWest.inc
new file mode 100644
index 000000000..e6f2eef7d
--- /dev/null
+++ b/data/maps/events/BattleFrontier_OutsideWest.inc
@@ -0,0 +1,49 @@
+BattleFrontier_OutsideWest_MapObjects: @ 853B350
+ object_event 1, MAP_OBJ_GFX_BOY_2, 0, 0, 26, 38, 0, 2, 34, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D50F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SS_TIDAL, 0, 0, 20, 70, 0, 10, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BEAUTY, 0, 0, 19, 68, 0, 7, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D3F0, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 26, 20, 0, 5, 8, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D68B, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_MAN_4, 0, 0, 27, 30, 0, 2, 49, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D52D, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_WOMAN_7, 0, 0, 33, 41, 0, 2, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D69D, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_FAT_MAN, 0, 0, 28, 43, 0, 3, 48, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D6A6, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 17, 20, 0, 2, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D679, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_MANIAC, 0, 0, 13, 44, 0, 7, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D536, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_MANIAC, 0, 0, 14, 44, 0, 7, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D53D, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_MAN_6, 0, 0, 23, 47, 0, 15, 34, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D694, 0, 0, 0
+ object_event 12, MAP_OBJ_GFX_GIRL_1, 0, 0, 38, 27, 0, 2, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D5C6, 0, 0, 0
+ object_event 13, MAP_OBJ_GFX_WOMAN_4, 0, 0, 45, 18, 0, 3, 49, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D635, 0, 0, 0
+ object_event 14, MAP_OBJ_GFX_CAMPER, 0, 0, 9, 47, 0, 15, 33, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D57F, 0, 0, 0
+ object_event 15, MAP_OBJ_GFX_LASS, 0, 0, 35, 5, 0, 2, 18, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D682, 0, 0, 0
+ object_event 16, MAP_OBJ_GFX_MAN_2, 0, 0, 11, 66, 0, 9, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_249E19, 0, 0, 0
+ object_event 17, MAP_OBJ_GFX_FISHERMAN, 0, 0, 31, 31, 0, 8, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D667, 0, 0, 0
+ object_event 18, MAP_OBJ_GFX_FISHERMAN, 0, 0, 42, 48, 0, 18, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D518, 0, 0, 0
+ object_event 19, MAP_OBJ_GFX_FAT_MAN, 0, 0, 38, 22, 0, 3, 48, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D6AF, 0, 0, 0
+ object_event 20, MAP_OBJ_GFX_WOMAN_3, 0, 0, 12, 9, 0, 8, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D6B8, 0, 0, 0
+ object_event 21, MAP_OBJ_GFX_BOY_1, 0, 0, 12, 10, 0, 7, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D6C3, 0, 0, 0
+ object_event 22, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 11, 10, 0, 23, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D6CE, 0, 0, 0
+ object_event 23, MAP_OBJ_GFX_MAN_5, 0, 0, 8, 5, 0, 8, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D6D7, 0, 0, 0
+ object_event 24, MAP_OBJ_GFX_WOMAN_2, 0, 0, 4, 26, 0, 24, 17, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D6EE, 0, 0, 0
+
+BattleFrontier_OutsideWest_MapWarps: @ 853B590
+ warp_def 42, 27, 0, 0, BATTLE_FRONTIER_BATTLE_PIKE_LOBBY
+ warp_def 19, 17, 0, 0, BATTLE_FRONTIER_BATTLE_DOME_LOBBY
+ warp_def 11, 38, 0, 0, BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY
+ warp_def 45, 44, 0, 0, BATTLE_FRONTIER_LOUNGE_2
+ warp_def 51, 51, 0, 0, BATTLE_FRONTIER_MART
+ warp_def 44, 5, 0, 0, BATTLE_FRONTIER_SCOTTS_HOUSE
+ warp_def 53, 44, 0, 0, BATTLE_FRONTIER_LOUNGE_4
+ warp_def 5, 20, 0, 0, BATTLE_FRONTIER_LOUNGE_7
+ warp_def 26, 65, 0, 0, BATTLE_FRONTIER_RECEPTION_GATE
+ warp_def 26, 61, 0, 1, BATTLE_FRONTIER_RECEPTION_GATE
+ warp_def 39, 55, 0, 0, ARTISAN_CAVE_B1F
+
+BattleFrontier_OutsideWest_MapBGEvents: @ 853B5E8
+ bg_event 15, 18, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D4E2
+ bg_event 45, 30, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D4F4
+ bg_event 16, 43, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_23D4EB
+ bg_event 52, 51, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_271E6A
+ bg_event 53, 51, 0, 0, 0, BattleFrontier_OutsideWest_EventScript_271E6A
+
+BattleFrontier_OutsideWest_MapEvents:: @ 853B624
+ map_events BattleFrontier_OutsideWest_MapObjects, BattleFrontier_OutsideWest_MapWarps, 0x0, BattleFrontier_OutsideWest_MapBGEvents
+
diff --git a/data/maps/events/BattleFrontier_PokemonCenter_1F.inc b/data/maps/events/BattleFrontier_PokemonCenter_1F.inc
new file mode 100644
index 000000000..0a8974135
--- /dev/null
+++ b/data/maps/events/BattleFrontier_PokemonCenter_1F.inc
@@ -0,0 +1,15 @@
+BattleFrontier_PokemonCenter_1F_MapObjects: @ 853D55C
+ object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, BattleFrontier_PokemonCenter_1F_EventScript_267908, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 4, 5, 3, 14, 1, 0, 0, 0, BattleFrontier_PokemonCenter_1F_EventScript_267916, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 11, 4, 3, 8, 1, 0, 0, 0, BattleFrontier_PokemonCenter_1F_EventScript_26791F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_PICNICKER, 0, 0, 2, 3, 3, 9, 1, 0, 0, 0, BattleFrontier_PokemonCenter_1F_EventScript_267928, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_SKITTY, 0, 0, 1, 3, 3, 10, 1, 0, 0, 0, BattleFrontier_PokemonCenter_1F_EventScript_267931, 0, 0, 0
+
+BattleFrontier_PokemonCenter_1F_MapWarps: @ 853D5D4
+ warp_def 7, 8, 3, 12, BATTLE_FRONTIER_OUTSIDE_EAST
+ warp_def 6, 8, 3, 12, BATTLE_FRONTIER_OUTSIDE_EAST
+ warp_def 1, 6, 4, 0, BATTLE_FRONTIER_POKEMON_CENTER_2F
+
+BattleFrontier_PokemonCenter_1F_MapEvents:: @ 853D5EC
+ map_events BattleFrontier_PokemonCenter_1F_MapObjects, BattleFrontier_PokemonCenter_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_PokemonCenter_2F.inc b/data/maps/events/BattleFrontier_PokemonCenter_2F.inc
new file mode 100644
index 000000000..44d40453f
--- /dev/null
+++ b/data/maps/events/BattleFrontier_PokemonCenter_2F.inc
@@ -0,0 +1,14 @@
+BattleFrontier_PokemonCenter_2F_MapObjects: @ 853D600
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, BattleFrontier_PokemonCenter_2F_EventScript_27375B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 0, 8, 17, 0, 0, 0, BattleFrontier_PokemonCenter_2F_EventScript_273761, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, BattleFrontier_PokemonCenter_2F_EventScript_273767, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, BattleFrontier_PokemonCenter_2F_EventScript_276B03, 702, 0, 0
+
+BattleFrontier_PokemonCenter_2F_MapWarps: @ 853D660
+ warp_def 1, 6, 4, 2, BATTLE_FRONTIER_POKEMON_CENTER_1F
+ warp_def 5, 1, 3, 0, UNION_ROOM
+ warp_def 9, 1, 3, 0, TRADE_CENTER
+
+BattleFrontier_PokemonCenter_2F_MapEvents:: @ 853D678
+ map_events BattleFrontier_PokemonCenter_2F_MapObjects, BattleFrontier_PokemonCenter_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_RankingHall.inc b/data/maps/events/BattleFrontier_RankingHall.inc
new file mode 100644
index 000000000..853f83ab7
--- /dev/null
+++ b/data/maps/events/BattleFrontier_RankingHall.inc
@@ -0,0 +1,26 @@
+BattleFrontier_RankingHall_MapObjects: @ 853CEB8
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 24, 13, 3, 8, 17, 0, 0, 0, BattleFrontier_RankingHall_EventScript_25E52F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 4, 10, 3, 2, 17, 0, 0, 0, BattleFrontier_RankingHall_EventScript_25E54A, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BOY_3, 0, 0, 44, 11, 3, 2, 17, 0, 0, 0, BattleFrontier_RankingHall_EventScript_25E573, 0, 0, 0
+
+BattleFrontier_RankingHall_MapWarps: @ 853CF00
+ warp_def 26, 14, 3, 4, BATTLE_FRONTIER_OUTSIDE_EAST
+ warp_def 27, 14, 3, 4, BATTLE_FRONTIER_OUTSIDE_EAST
+
+BattleFrontier_RankingHall_MapBGEvents: @ 853CF10
+ bg_event 26, 9, 0, 1, 0, BattleFrontier_RankingHall_EventScript_25E4AA
+ bg_event 23, 8, 0, 1, 0, BattleFrontier_RankingHall_EventScript_25E4B6
+ bg_event 26, 5, 0, 1, 0, BattleFrontier_RankingHall_EventScript_25E4C2
+ bg_event 29, 8, 0, 1, 0, BattleFrontier_RankingHall_EventScript_25E4CE
+ bg_event 42, 9, 0, 1, 0, BattleFrontier_RankingHall_EventScript_25E4DA
+ bg_event 46, 9, 0, 1, 0, BattleFrontier_RankingHall_EventScript_25E4E6
+ bg_event 10, 9, 0, 1, 0, BattleFrontier_RankingHall_EventScript_25E4F2
+ bg_event 8, 7, 0, 1, 0, BattleFrontier_RankingHall_EventScript_25E4FE
+ bg_event 6, 9, 0, 1, 0, BattleFrontier_RankingHall_EventScript_25E50A
+ bg_event 44, 7, 0, 1, 0, BattleFrontier_RankingHall_EventScript_25E516
+ bg_event 16, 8, 0, 0, 0, BattleFrontier_RankingHall_EventScript_25E538
+ bg_event 36, 8, 0, 0, 0, BattleFrontier_RankingHall_EventScript_25E541
+
+BattleFrontier_RankingHall_MapEvents:: @ 853CFA0
+ map_events BattleFrontier_RankingHall_MapObjects, BattleFrontier_RankingHall_MapWarps, 0x0, BattleFrontier_RankingHall_MapBGEvents
+
diff --git a/data/maps/events/BattleFrontier_ReceptionGate.inc b/data/maps/events/BattleFrontier_ReceptionGate.inc
new file mode 100644
index 000000000..641723257
--- /dev/null
+++ b/data/maps/events/BattleFrontier_ReceptionGate.inc
@@ -0,0 +1,14 @@
+BattleFrontier_ReceptionGate_MapObjects: @ 853D420
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 0, 11, 0, 10, 17, 0, 0, 0, BattleFrontier_ReceptionGate_EventScript_2662FC, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 8, 11, 0, 9, 17, 0, 0, 0, BattleFrontier_ReceptionGate_EventScript_266310, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_2, 0, 0, 8, 4, 0, 9, 17, 0, 0, 0, BattleFrontier_ReceptionGate_EventScript_266436, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_SCOTT, 0, 0, 4, 5, 3, 8, 17, 0, 0, 0, 0x0, 836, 0, 0
+ object_event 5, MAP_OBJ_GFX_MAN_2, 0, 0, 0, 4, 0, 10, 17, 0, 0, 0, BattleFrontier_ReceptionGate_EventScript_2664F4, 0, 0, 0
+
+BattleFrontier_ReceptionGate_MapWarps: @ 853D498
+ warp_def 4, 13, 0, 8, BATTLE_FRONTIER_OUTSIDE_WEST
+ warp_def 4, 1, 0, 9, BATTLE_FRONTIER_OUTSIDE_WEST
+
+BattleFrontier_ReceptionGate_MapEvents:: @ 853D4A8
+ map_events BattleFrontier_ReceptionGate_MapObjects, BattleFrontier_ReceptionGate_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/BattleFrontier_ScottsHouse.inc b/data/maps/events/BattleFrontier_ScottsHouse.inc
new file mode 100644
index 000000000..fd9f2f522
--- /dev/null
+++ b/data/maps/events/BattleFrontier_ScottsHouse.inc
@@ -0,0 +1,10 @@
+BattleFrontier_ScottsHouse_MapObjects: @ 853D2B0
+ object_event 1, MAP_OBJ_GFX_SCOTT, 0, 0, 2, 3, 3, 1, 17, 0, 0, 0, BattleFrontier_ScottsHouse_EventScript_2636A8, 0, 0, 0
+
+BattleFrontier_ScottsHouse_MapWarps: @ 853D2C8
+ warp_def 2, 7, 3, 5, BATTLE_FRONTIER_OUTSIDE_WEST
+ warp_def 3, 7, 3, 5, BATTLE_FRONTIER_OUTSIDE_WEST
+
+BattleFrontier_ScottsHouse_MapEvents:: @ 853D2D8
+ map_events BattleFrontier_ScottsHouse_MapObjects, BattleFrontier_ScottsHouse_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/BattlePyramidSquare01.inc b/data/maps/events/BattlePyramidSquare01.inc
new file mode 100644
index 000000000..f3c260243
--- /dev/null
+++ b/data/maps/events/BattlePyramidSquare01.inc
@@ -0,0 +1,12 @@
+BattlePyramidSquare01_MapObjects: @ 853A460
+ object_event 1, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 2, 3, 4, 18, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GIRL_3, 0, 0, 5, 3, 4, 17, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BOY_4, 0, 0, 2, 6, 4, 16, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BOY_2, 0, 0, 6, 6, 4, 9, 17, 0, 1, 4, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 1, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 4, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 4, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+
+BattlePyramidSquare01_MapEvents:: @ 853A508
+ map_events BattlePyramidSquare01_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattlePyramidSquare02.inc b/data/maps/events/BattlePyramidSquare02.inc
new file mode 100644
index 000000000..790fb67a0
--- /dev/null
+++ b/data/maps/events/BattlePyramidSquare02.inc
@@ -0,0 +1,12 @@
+BattlePyramidSquare02_MapObjects: @ 853A51C
+ object_event 1, MAP_OBJ_GFX_BOY_3, 0, 0, 2, 1, 4, 18, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_2, 0, 0, 5, 6, 4, 15, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_FAT_MAN, 0, 0, 2, 6, 4, 16, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 5, 1, 4, 17, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 6, 5, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 0, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 2, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+
+BattlePyramidSquare02_MapEvents:: @ 853A5C4
+ map_events BattlePyramidSquare02_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattlePyramidSquare03.inc b/data/maps/events/BattlePyramidSquare03.inc
new file mode 100644
index 000000000..a8c8c59a7
--- /dev/null
+++ b/data/maps/events/BattlePyramidSquare03.inc
@@ -0,0 +1,12 @@
+BattlePyramidSquare03_MapObjects: @ 853A5D8
+ object_event 1, MAP_OBJ_GFX_BOY_1, 0, 0, 2, 1, 4, 18, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 6, 1, 4, 17, 17, 0, 1, 4, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_FISHERMAN, 0, 0, 6, 4, 4, 15, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MAN_4, 0, 0, 3, 4, 4, 18, 17, 0, 1, 4, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 2, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 3, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 2, 7, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+
+BattlePyramidSquare03_MapEvents:: @ 853A680
+ map_events BattlePyramidSquare03_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattlePyramidSquare04.inc b/data/maps/events/BattlePyramidSquare04.inc
new file mode 100644
index 000000000..ca836e2b5
--- /dev/null
+++ b/data/maps/events/BattlePyramidSquare04.inc
@@ -0,0 +1,12 @@
+BattlePyramidSquare04_MapObjects: @ 853A694
+ object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 7, 2, 4, 17, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GIRL_1, 0, 0, 7, 7, 4, 15, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BOY_4, 0, 0, 1, 4, 4, 18, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_GIRL_3, 0, 0, 6, 4, 4, 15, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 2, 6, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 5, 3, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 0, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+
+BattlePyramidSquare04_MapEvents:: @ 853A73C
+ map_events BattlePyramidSquare04_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattlePyramidSquare05.inc b/data/maps/events/BattlePyramidSquare05.inc
new file mode 100644
index 000000000..0486f6283
--- /dev/null
+++ b/data/maps/events/BattlePyramidSquare05.inc
@@ -0,0 +1,12 @@
+BattlePyramidSquare05_MapObjects: @ 853A750
+ object_event 1, MAP_OBJ_GFX_BOY_2, 0, 0, 6, 4, 4, 7, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BOY_2, 0, 0, 3, 7, 4, 16, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BOY_2, 0, 0, 3, 1, 4, 8, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BOY_2, 0, 0, 6, 0, 4, 17, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 3, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 6, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 3, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+
+BattlePyramidSquare05_MapEvents:: @ 853A7F8
+ map_events BattlePyramidSquare05_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattlePyramidSquare06.inc b/data/maps/events/BattlePyramidSquare06.inc
new file mode 100644
index 000000000..65d2f2576
--- /dev/null
+++ b/data/maps/events/BattlePyramidSquare06.inc
@@ -0,0 +1,12 @@
+BattlePyramidSquare06_MapObjects: @ 853A80C
+ object_event 1, MAP_OBJ_GFX_GIRL_2, 0, 0, 5, 2, 4, 17, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GIRL_2, 0, 0, 2, 5, 4, 16, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_GIRL_2, 0, 0, 5, 5, 4, 15, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_GIRL_2, 0, 0, 2, 2, 4, 18, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 7, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 3, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 0, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+
+BattlePyramidSquare06_MapEvents:: @ 853A8B4
+ map_events BattlePyramidSquare06_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattlePyramidSquare07.inc b/data/maps/events/BattlePyramidSquare07.inc
new file mode 100644
index 000000000..9a71e2a0b
--- /dev/null
+++ b/data/maps/events/BattlePyramidSquare07.inc
@@ -0,0 +1,12 @@
+BattlePyramidSquare07_MapObjects: @ 853A8C8
+ object_event 1, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 0, 6, 4, 10, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 4, 0, 4, 17, 17, 0, 1, 4, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 6, 0, 4, 8, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 4, 4, 4, 15, 17, 0, 1, 4, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 4, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 1, 1, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 7, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+
+BattlePyramidSquare07_MapEvents:: @ 853A970
+ map_events BattlePyramidSquare07_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattlePyramidSquare08.inc b/data/maps/events/BattlePyramidSquare08.inc
new file mode 100644
index 000000000..52a8d4911
--- /dev/null
+++ b/data/maps/events/BattlePyramidSquare08.inc
@@ -0,0 +1,12 @@
+BattlePyramidSquare08_MapObjects: @ 853A984
+ object_event 1, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 1, 2, 4, 18, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 6, 5, 4, 15, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 1, 5, 4, 16, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 6, 2, 4, 15, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 3, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 6, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 1, 0, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+
+BattlePyramidSquare08_MapEvents:: @ 853AA2C
+ map_events BattlePyramidSquare08_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattlePyramidSquare09.inc b/data/maps/events/BattlePyramidSquare09.inc
new file mode 100644
index 000000000..bc90aa649
--- /dev/null
+++ b/data/maps/events/BattlePyramidSquare09.inc
@@ -0,0 +1,12 @@
+BattlePyramidSquare09_MapObjects: @ 853AA40
+ object_event 1, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 3, 0, 4, 8, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 6, 4, 4, 15, 17, 0, 1, 4, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 6, 0, 4, 17, 17, 0, 1, 4, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 3, 5, 4, 15, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 0, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 1, 0, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 1, 6, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+
+BattlePyramidSquare09_MapEvents:: @ 853AAE8
+ map_events BattlePyramidSquare09_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattlePyramidSquare10.inc b/data/maps/events/BattlePyramidSquare10.inc
new file mode 100644
index 000000000..013cd7be6
--- /dev/null
+++ b/data/maps/events/BattlePyramidSquare10.inc
@@ -0,0 +1,12 @@
+BattlePyramidSquare10_MapObjects: @ 853AAFC
+ object_event 1, MAP_OBJ_GFX_GIRL_3, 0, 0, 3, 0, 4, 17, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GIRL_3, 0, 0, 0, 3, 4, 10, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_GIRL_3, 0, 0, 6, 5, 4, 9, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_GIRL_3, 0, 0, 0, 5, 4, 10, 17, 0, 1, 7, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 6, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 5, 3, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 1, 1, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+
+BattlePyramidSquare10_MapEvents:: @ 853ABA4
+ map_events BattlePyramidSquare10_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattlePyramidSquare11.inc b/data/maps/events/BattlePyramidSquare11.inc
new file mode 100644
index 000000000..96dc118e5
--- /dev/null
+++ b/data/maps/events/BattlePyramidSquare11.inc
@@ -0,0 +1,12 @@
+BattlePyramidSquare11_MapObjects: @ 853ABB8
+ object_event 1, MAP_OBJ_GFX_BOY_4, 0, 0, 3, 2, 4, 8, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BOY_4, 0, 0, 3, 6, 4, 14, 17, 0, 1, 4, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BOY_4, 0, 0, 6, 4, 4, 8, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BOY_4, 0, 0, 6, 7, 4, 7, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 6, 2, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 1, 2, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 1, 5, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+
+BattlePyramidSquare11_MapEvents:: @ 853AC60
+ map_events BattlePyramidSquare11_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattlePyramidSquare12.inc b/data/maps/events/BattlePyramidSquare12.inc
new file mode 100644
index 000000000..10b301d6c
--- /dev/null
+++ b/data/maps/events/BattlePyramidSquare12.inc
@@ -0,0 +1,12 @@
+BattlePyramidSquare12_MapObjects: @ 853AC74
+ object_event 1, MAP_OBJ_GFX_WOMAN_1, 0, 0, 7, 5, 4, 9, 17, 0, 1, 7, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_1, 0, 0, 0, 5, 4, 10, 17, 0, 1, 7, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_1, 0, 0, 3, 0, 4, 8, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_1, 0, 0, 3, 3, 4, 7, 17, 0, 1, 3, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 2, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 3, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 7, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+
+BattlePyramidSquare12_MapEvents:: @ 853AD1C
+ map_events BattlePyramidSquare12_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattlePyramidSquare13.inc b/data/maps/events/BattlePyramidSquare13.inc
new file mode 100644
index 000000000..0a83a5441
--- /dev/null
+++ b/data/maps/events/BattlePyramidSquare13.inc
@@ -0,0 +1,12 @@
+BattlePyramidSquare13_MapObjects: @ 853AD30
+ object_event 1, MAP_OBJ_GFX_FAT_MAN, 0, 0, 5, 1, 4, 8, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_FAT_MAN, 0, 0, 5, 6, 4, 7, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_FAT_MAN, 0, 0, 1, 1, 4, 8, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_FAT_MAN, 0, 0, 1, 6, 4, 7, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 1, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 0, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 3, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+
+BattlePyramidSquare13_MapEvents:: @ 853ADD8
+ map_events BattlePyramidSquare13_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattlePyramidSquare14.inc b/data/maps/events/BattlePyramidSquare14.inc
new file mode 100644
index 000000000..599219cf1
--- /dev/null
+++ b/data/maps/events/BattlePyramidSquare14.inc
@@ -0,0 +1,12 @@
+BattlePyramidSquare14_MapObjects: @ 853ADEC
+ object_event 1, MAP_OBJ_GFX_WOMAN_2, 0, 0, 7, 1, 4, 17, 17, 0, 1, 7, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_2, 0, 0, 1, 1, 4, 18, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_2, 0, 0, 6, 5, 4, 15, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_2, 0, 0, 0, 5, 4, 16, 17, 0, 1, 7, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 5, 3, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 7, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 5, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+
+BattlePyramidSquare14_MapEvents:: @ 853AE94
+ map_events BattlePyramidSquare14_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattlePyramidSquare15.inc b/data/maps/events/BattlePyramidSquare15.inc
new file mode 100644
index 000000000..ef92bec9a
--- /dev/null
+++ b/data/maps/events/BattlePyramidSquare15.inc
@@ -0,0 +1,12 @@
+BattlePyramidSquare15_MapObjects: @ 853AEA8
+ object_event 1, MAP_OBJ_GFX_WOMAN_2, 0, 0, 2, 5, 4, 16, 17, 0, 1, 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_2, 0, 0, 2, 1, 4, 18, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_2, 0, 0, 6, 4, 4, 15, 17, 0, 1, 4, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_2, 0, 0, 6, 0, 4, 17, 17, 0, 1, 4, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 7, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 5, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 1, 2, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+
+BattlePyramidSquare15_MapEvents:: @ 853AF50
+ map_events BattlePyramidSquare15_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BattlePyramidSquare16.inc b/data/maps/events/BattlePyramidSquare16.inc
new file mode 100644
index 000000000..1d7e44f70
--- /dev/null
+++ b/data/maps/events/BattlePyramidSquare16.inc
@@ -0,0 +1,12 @@
+BattlePyramidSquare16_MapObjects: @ 853AF64
+ object_event 1, MAP_OBJ_GFX_WOMAN_2, 0, 0, 0, 6, 4, 16, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_2, 0, 0, 1, 0, 0, 18, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_2, 0, 0, 6, 7, 4, 15, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_2, 0, 0, 6, 0, 4, 17, 17, 0, 1, 6, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 7, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 7, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 5, 2, 4, 1, 17, 0, 0, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A, 0, 0, 0
+
+BattlePyramidSquare16_MapEvents:: @ 853B00C
+ map_events BattlePyramidSquare16_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/BirthIsland_Exterior.inc b/data/maps/events/BirthIsland_Exterior.inc
new file mode 100644
index 000000000..457d86314
--- /dev/null
+++ b/data/maps/events/BirthIsland_Exterior.inc
@@ -0,0 +1,10 @@
+BirthIsland_Exterior_MapObjects: @ 853D7DC
+ object_event 1, MAP_OBJ_GFX_DEOXYS_TRIANGLE, 0, 0, 15, 12, 3, 8, 17, 0, 0, 0, BirthIsland_Exterior_EventScript_267F83, 764, 0, 0
+ object_event 2, MAP_OBJ_GFX_DEOXYS, 0, 0, 15, 3, 0, 8, 17, 0, 0, 0, 0x0, 763, 0, 0
+
+BirthIsland_Exterior_MapWarps: @ 853D80C
+ warp_def 15, 24, 0, 0, BIRTH_ISLAND_HARBOR
+
+BirthIsland_Exterior_MapEvents:: @ 853D814
+ map_events BirthIsland_Exterior_MapObjects, BirthIsland_Exterior_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/BirthIsland_Harbor.inc b/data/maps/events/BirthIsland_Harbor.inc
new file mode 100644
index 000000000..e035d2f44
--- /dev/null
+++ b/data/maps/events/BirthIsland_Harbor.inc
@@ -0,0 +1,10 @@
+BirthIsland_Harbor_MapObjects: @ 853D828
+ object_event 1, MAP_OBJ_GFX_SAILOR, 0, 0, 8, 5, 0, 7, 17, 0, 0, 0, BirthIsland_Harbor_EventScript_26805D, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SS_TIDAL, 0, 0, 8, 7, 1, 10, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+BirthIsland_Harbor_MapWarps: @ 853D858
+ warp_def 8, 2, 0, 0, BIRTH_ISLAND_EXTERIOR
+
+BirthIsland_Harbor_MapEvents:: @ 853D860
+ map_events BirthIsland_Harbor_MapObjects, BirthIsland_Harbor_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/CaveOfOrigin_1F.inc b/data/maps/events/CaveOfOrigin_1F.inc
new file mode 100644
index 000000000..8dfdb78d0
--- /dev/null
+++ b/data/maps/events/CaveOfOrigin_1F.inc
@@ -0,0 +1,7 @@
+CaveOfOrigin_1F_MapWarps: @ 8535D40
+ warp_def 11, 17, 3, 1, CAVE_OF_ORIGIN_ENTRANCE
+ warp_def 14, 5, 3, 0, CAVE_OF_ORIGIN_B1F
+
+CaveOfOrigin_1F_MapEvents:: @ 8535D50
+ map_events 0x0, CaveOfOrigin_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/CaveOfOrigin_B1F.inc b/data/maps/events/CaveOfOrigin_B1F.inc
new file mode 100644
index 000000000..9c6cc18c6
--- /dev/null
+++ b/data/maps/events/CaveOfOrigin_B1F.inc
@@ -0,0 +1,9 @@
+CaveOfOrigin_B1F_MapObjects: @ 8535DD0
+ object_event 1, MAP_OBJ_GFX_WALLACE, 0, 0, 9, 13, 3, 7, 17, 0, 0, 0, CaveOfOrigin_B1F_EventScript_2357A9, 820, 0, 0
+
+CaveOfOrigin_B1F_MapWarps: @ 8535DE8
+ warp_def 9, 3, 3, 1, CAVE_OF_ORIGIN_1F
+
+CaveOfOrigin_B1F_MapEvents:: @ 8535DF0
+ map_events CaveOfOrigin_B1F_MapObjects, CaveOfOrigin_B1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/CaveOfOrigin_Entrance.inc b/data/maps/events/CaveOfOrigin_Entrance.inc
new file mode 100644
index 000000000..96946936b
--- /dev/null
+++ b/data/maps/events/CaveOfOrigin_Entrance.inc
@@ -0,0 +1,7 @@
+CaveOfOrigin_Entrance_MapWarps: @ 8535D1C
+ warp_def 9, 20, 3, 3, SOOTOPOLIS_CITY
+ warp_def 9, 5, 3, 0, CAVE_OF_ORIGIN_1F
+
+CaveOfOrigin_Entrance_MapEvents:: @ 8535D2C
+ map_events 0x0, CaveOfOrigin_Entrance_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/CaveOfOrigin_UnusedRubySapphireMap1.inc b/data/maps/events/CaveOfOrigin_UnusedRubySapphireMap1.inc
new file mode 100644
index 000000000..f60a5e1a2
--- /dev/null
+++ b/data/maps/events/CaveOfOrigin_UnusedRubySapphireMap1.inc
@@ -0,0 +1,7 @@
+CaveOfOrigin_UnusedRubySapphireMap1_MapWarps: @ 8535D64
+ warp_def 13, 5, 3, 1, CAVE_OF_ORIGIN_1F
+ warp_def 5, 11, 3, 0, CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP_2
+
+CaveOfOrigin_UnusedRubySapphireMap1_MapEvents:: @ 8535D74
+ map_events 0x0, CaveOfOrigin_UnusedRubySapphireMap1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/CaveOfOrigin_UnusedRubySapphireMap2.inc b/data/maps/events/CaveOfOrigin_UnusedRubySapphireMap2.inc
new file mode 100644
index 000000000..256b6179e
--- /dev/null
+++ b/data/maps/events/CaveOfOrigin_UnusedRubySapphireMap2.inc
@@ -0,0 +1,7 @@
+CaveOfOrigin_UnusedRubySapphireMap2_MapWarps: @ 8535D88
+ warp_def 5, 10, 3, 1, CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP_1
+ warp_def 8, 14, 3, 0, CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP_3
+
+CaveOfOrigin_UnusedRubySapphireMap2_MapEvents:: @ 8535D98
+ map_events 0x0, CaveOfOrigin_UnusedRubySapphireMap2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/CaveOfOrigin_UnusedRubySapphireMap3.inc b/data/maps/events/CaveOfOrigin_UnusedRubySapphireMap3.inc
new file mode 100644
index 000000000..87a99e5d2
--- /dev/null
+++ b/data/maps/events/CaveOfOrigin_UnusedRubySapphireMap3.inc
@@ -0,0 +1,7 @@
+CaveOfOrigin_UnusedRubySapphireMap3_MapWarps: @ 8535DAC
+ warp_def 7, 14, 3, 1, CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP_2
+ warp_def 12, 6, 3, 0, CAVE_OF_ORIGIN_B1F
+
+CaveOfOrigin_UnusedRubySapphireMap3_MapEvents:: @ 8535DBC
+ map_events 0x0, CaveOfOrigin_UnusedRubySapphireMap3_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/DesertRuins.inc b/data/maps/events/DesertRuins.inc
new file mode 100644
index 000000000..4a78cae40
--- /dev/null
+++ b/data/maps/events/DesertRuins.inc
@@ -0,0 +1,16 @@
+DesertRuins_MapObjects: @ 8534354
+ object_event 1, MAP_OBJ_GFX_REGIROCK, 0, 0, 8, 7, 3, 8, 0, 0, 0, 0, DesertRuins_EventScript_22DA02, 935, 0, 0
+
+DesertRuins_MapWarps: @ 853436C
+ warp_def 8, 29, 3, 1, ROUTE_111
+ warp_def 8, 20, 0, 2, DESERT_RUINS
+ warp_def 8, 11, 3, 1, DESERT_RUINS
+
+DesertRuins_MapBGEvents: @ 8534384
+ bg_event 8, 20, 0, 0, 0, DesertRuins_EventScript_22D9DB
+ bg_event 7, 20, 0, 0, 0, DesertRuins_EventScript_22D9F8
+ bg_event 9, 20, 0, 0, 0, DesertRuins_EventScript_22D9F8
+
+DesertRuins_MapEvents:: @ 85343A8
+ map_events DesertRuins_MapObjects, DesertRuins_MapWarps, 0x0, DesertRuins_MapBGEvents
+
diff --git a/data/maps/events/DesertUnderpass.inc b/data/maps/events/DesertUnderpass.inc
new file mode 100644
index 000000000..cb5c06874
--- /dev/null
+++ b/data/maps/events/DesertUnderpass.inc
@@ -0,0 +1,9 @@
+DesertUnderpass_MapObjects: @ 85376D4
+ object_event 1, MAP_OBJ_GFX_FOSSIL, 0, 0, 132, 10, 0, 8, 17, 0, 0, 0, DesertUnderpass_EventScript_23AF41, 874, 0, 0
+
+DesertUnderpass_MapWarps: @ 85376EC
+ warp_def 10, 12, 0, 2, ROUTE_114_FOSSIL_MANIACS_TUNNEL
+
+DesertUnderpass_MapEvents:: @ 85376F4
+ map_events DesertUnderpass_MapObjects, DesertUnderpass_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/DewfordTown.inc b/data/maps/events/DewfordTown.inc
new file mode 100644
index 000000000..3a4e95de9
--- /dev/null
+++ b/data/maps/events/DewfordTown.inc
@@ -0,0 +1,24 @@
+DewfordTown_MapObjects: @ 8527964
+ object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 7, 12, 3, 5, 1, 0, 0, 0, DewfordTown_EventScript_1E95B1, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 12, 9, 3, 9, 16, 0, 0, 3, DewfordTown_EventScript_1E9511, 740, 0, 0
+ object_event 3, MAP_OBJ_GFX_FISHERMAN, 0, 0, 12, 14, 3, 5, 1, 0, 0, 0, DewfordTown_EventScript_1E95D5, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MR_BRINEYS_BOAT, 0, 0, 12, 8, 1, 8, 0, 0, 0, 0, 0x0, 743, 0, 0
+ object_event 5, MAP_OBJ_GFX_BOY_1, 0, 0, 1, 6, 3, 1, 0, 0, 0, 0, DewfordTown_EventScript_1E9922, 0, 0, 0
+
+DewfordTown_MapWarps: @ 85279DC
+ warp_def 3, 3, 0, 0, DEWFORD_TOWN_HALL
+ warp_def 2, 10, 0, 0, DEWFORD_TOWN_POKEMON_CENTER_1F
+ warp_def 8, 17, 0, 0, DEWFORD_TOWN_GYM
+ warp_def 17, 14, 0, 0, DEWFORD_TOWN_HOUSE_1
+ warp_def 8, 8, 0, 0, DEWFORD_TOWN_HOUSE_2
+
+DewfordTown_MapBGEvents: @ 8527A04
+ bg_event 10, 10, 0, 0, 0, DewfordTown_EventScript_1E95BA
+ bg_event 11, 16, 0, 0, 0, DewfordTown_EventScript_1E95C3
+ bg_event 4, 10, 0, 1, 0, DewfordTown_EventScript_271E73
+ bg_event 3, 10, 0, 1, 0, DewfordTown_EventScript_271E73
+ bg_event 2, 4, 0, 0, 0, DewfordTown_EventScript_1E95CC
+
+DewfordTown_MapEvents:: @ 8527A40
+ map_events DewfordTown_MapObjects, DewfordTown_MapWarps, 0x0, DewfordTown_MapBGEvents
+
diff --git a/data/maps/events/DewfordTown_Gym.inc b/data/maps/events/DewfordTown_Gym.inc
new file mode 100644
index 000000000..e9a6b6477
--- /dev/null
+++ b/data/maps/events/DewfordTown_Gym.inc
@@ -0,0 +1,23 @@
+DewfordTown_Gym_MapObjects: @ 852DB34
+ object_event 1, MAP_OBJ_GFX_BRAWLY, 0, 0, 4, 3, 0, 8, 0, 0, 0, 0, DewfordTown_Gym_EventScript_1FC7C2, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 2, 18, 0, 7, 0, 0, 1, 3, DewfordTown_Gym_EventScript_1FC8B7, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_GIRL_3, 0, 0, 15, 3, 3, 8, 0, 0, 1, 3, DewfordTown_Gym_EventScript_1FC8D9, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_GIRL_3, 0, 0, 12, 25, 3, 7, 0, 0, 1, 2, DewfordTown_Gym_EventScript_1FC8FB, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_MAN_2, 0, 0, 5, 24, 3, 8, 0, 0, 0, 0, DewfordTown_Gym_EventScript_1FC983, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 7, 8, 1, 10, 17, 0, 1, 3, DewfordTown_Gym_EventScript_1FC93F, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_GIRL_3, 0, 0, 16, 9, 3, 8, 17, 0, 1, 3, DewfordTown_Gym_EventScript_1FC961, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_SAILOR, 0, 0, 14, 12, 1, 10, 17, 0, 1, 2, DewfordTown_Gym_EventScript_1FC91D, 0, 0, 0
+
+DewfordTown_Gym_MapWarps: @ 852DBF4
+ warp_def 5, 27, 0, 2, DEWFORD_TOWN
+ warp_def 6, 27, 0, 2, DEWFORD_TOWN
+
+DewfordTown_Gym_MapBGEvents: @ 852DC04
+ bg_event 4, 23, 3, 1, 0, DewfordTown_Gym_EventScript_1FC9A2
+ bg_event 7, 23, 3, 1, 0, DewfordTown_Gym_EventScript_1FC9B2
+ bg_event 4, 24, 0, 1, 0, DewfordTown_Gym_EventScript_1FC9A2
+ bg_event 7, 24, 0, 1, 0, DewfordTown_Gym_EventScript_1FC9B2
+
+DewfordTown_Gym_MapEvents:: @ 852DC34
+ map_events DewfordTown_Gym_MapObjects, DewfordTown_Gym_MapWarps, 0x0, DewfordTown_Gym_MapBGEvents
+
diff --git a/data/maps/events/DewfordTown_Hall.inc b/data/maps/events/DewfordTown_Hall.inc
new file mode 100644
index 000000000..f5af1fc3c
--- /dev/null
+++ b/data/maps/events/DewfordTown_Hall.inc
@@ -0,0 +1,22 @@
+DewfordTown_Hall_MapObjects: @ 852DC48
+ object_event 1, MAP_OBJ_GFX_GIRL_2, 0, 0, 4, 6, 0, 7, 0, 0, 0, 0, DewfordTown_Hall_EventScript_1FD4D0, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_3, 0, 0, 1, 5, 0, 10, 0, 0, 0, 0, DewfordTown_Hall_EventScript_1FD4F9, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_1, 0, 0, 5, 4, 0, 9, 0, 0, 0, 0, DewfordTown_Hall_EventScript_1FD50A, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 9, 3, 0, 7, 0, 0, 0, 0, DewfordTown_Hall_EventScript_1FD547, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 5, 2, 3, 7, 0, 0, 0, 0, DewfordTown_Hall_EventScript_1FD563, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 14, 7, 0, 5, 1, 0, 0, 0, DewfordTown_Hall_EventScript_1FD57F, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 12, 3, 3, 10, 0, 0, 0, 0, DewfordTown_Hall_EventScript_1FD62F, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 15, 3, 3, 9, 0, 0, 0, 0, DewfordTown_Hall_EventScript_1FD63B, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_MANIAC, 0, 0, 8, 6, 3, 5, 1, 0, 0, 0, DewfordTown_Hall_EventScript_1FD7DA, 940, 0, 0
+
+DewfordTown_Hall_MapWarps: @ 852DD20
+ warp_def 5, 8, 0, 0, DEWFORD_TOWN
+ warp_def 6, 8, 0, 0, DEWFORD_TOWN
+
+DewfordTown_Hall_MapBGEvents: @ 852DD30
+ bg_event 0, 1, 3, 0, 0, DewfordTown_Hall_EventScript_1FD590
+ bg_event 7, 1, 3, 0, 0, DewfordTown_Hall_EventScript_1FD5A0
+
+DewfordTown_Hall_MapEvents:: @ 852DD48
+ map_events DewfordTown_Hall_MapObjects, DewfordTown_Hall_MapWarps, 0x0, DewfordTown_Hall_MapBGEvents
+
diff --git a/data/maps/events/DewfordTown_House1.inc b/data/maps/events/DewfordTown_House1.inc
new file mode 100644
index 000000000..1990975c5
--- /dev/null
+++ b/data/maps/events/DewfordTown_House1.inc
@@ -0,0 +1,12 @@
+DewfordTown_House1_MapObjects: @ 852D9C8
+ object_event 1, MAP_OBJ_GFX_WOMAN_4, 0, 0, 6, 3, 3, 9, 0, 0, 0, 0, DewfordTown_House1_EventScript_1FC3D7, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_1, 0, 0, 3, 3, 3, 10, 0, 0, 0, 0, DewfordTown_House1_EventScript_1FC3CE, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_ZIGZAGOON_2, 0, 0, 4, 2, 3, 8, 19, 0, 0, 0, DewfordTown_House1_EventScript_1FC3E0, 0, 0, 0
+
+DewfordTown_House1_MapWarps: @ 852DA10
+ warp_def 3, 7, 0, 3, DEWFORD_TOWN
+ warp_def 4, 7, 0, 3, DEWFORD_TOWN
+
+DewfordTown_House1_MapEvents:: @ 852DA20
+ map_events DewfordTown_House1_MapObjects, DewfordTown_House1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/DewfordTown_House2.inc b/data/maps/events/DewfordTown_House2.inc
new file mode 100644
index 000000000..b487372f6
--- /dev/null
+++ b/data/maps/events/DewfordTown_House2.inc
@@ -0,0 +1,11 @@
+DewfordTown_House2_MapObjects: @ 852DD5C
+ object_event 1, MAP_OBJ_GFX_MAN_4, 0, 0, 6, 5, 3, 10, 0, 0, 0, 0, DewfordTown_House2_EventScript_1FE22E, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BOY_2, 0, 0, 2, 3, 3, 1, 0, 0, 0, 0, DewfordTown_House2_EventScript_1FE271, 0, 0, 0
+
+DewfordTown_House2_MapWarps: @ 852DD8C
+ warp_def 3, 8, 0, 4, DEWFORD_TOWN
+ warp_def 4, 8, 0, 4, DEWFORD_TOWN
+
+DewfordTown_House2_MapEvents:: @ 852DD9C
+ map_events DewfordTown_House2_MapObjects, DewfordTown_House2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/DewfordTown_PokemonCenter_1F.inc b/data/maps/events/DewfordTown_PokemonCenter_1F.inc
new file mode 100644
index 000000000..c393ed795
--- /dev/null
+++ b/data/maps/events/DewfordTown_PokemonCenter_1F.inc
@@ -0,0 +1,13 @@
+DewfordTown_PokemonCenter_1F_MapObjects: @ 852DA34
+ object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, DewfordTown_PokemonCenter_1F_EventScript_1FC537, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_2, 0, 0, 10, 6, 3, 10, 0, 0, 0, 0, DewfordTown_PokemonCenter_1F_EventScript_1FC545, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 5, 5, 0, 5, 18, 0, 0, 0, DewfordTown_PokemonCenter_1F_EventScript_1FC54E, 0, 0, 0
+
+DewfordTown_PokemonCenter_1F_MapWarps: @ 852DA7C
+ warp_def 7, 8, 3, 1, DEWFORD_TOWN
+ warp_def 6, 8, 3, 1, DEWFORD_TOWN
+ warp_def 1, 6, 4, 0, DEWFORD_TOWN_POKEMON_CENTER_2F
+
+DewfordTown_PokemonCenter_1F_MapEvents:: @ 852DA94
+ map_events DewfordTown_PokemonCenter_1F_MapObjects, DewfordTown_PokemonCenter_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/DewfordTown_PokemonCenter_2F.inc b/data/maps/events/DewfordTown_PokemonCenter_2F.inc
new file mode 100644
index 000000000..437441e08
--- /dev/null
+++ b/data/maps/events/DewfordTown_PokemonCenter_2F.inc
@@ -0,0 +1,14 @@
+DewfordTown_PokemonCenter_2F_MapObjects: @ 852DAA8
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, DewfordTown_PokemonCenter_2F_EventScript_27375B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, DewfordTown_PokemonCenter_2F_EventScript_273761, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, DewfordTown_PokemonCenter_2F_EventScript_273767, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, DewfordTown_PokemonCenter_2F_EventScript_276B03, 702, 0, 0
+
+DewfordTown_PokemonCenter_2F_MapWarps: @ 852DB08
+ warp_def 1, 6, 4, 2, DEWFORD_TOWN_POKEMON_CENTER_1F
+ warp_def 5, 1, 3, 0, UNION_ROOM
+ warp_def 9, 1, 3, 0, TRADE_CENTER
+
+DewfordTown_PokemonCenter_2F_MapEvents:: @ 852DB20
+ map_events DewfordTown_PokemonCenter_2F_MapObjects, DewfordTown_PokemonCenter_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/DoubleBattleColosseum.inc b/data/maps/events/DoubleBattleColosseum.inc
new file mode 100644
index 000000000..401daaaf5
--- /dev/null
+++ b/data/maps/events/DoubleBattleColosseum.inc
@@ -0,0 +1,15 @@
+DoubleBattleColosseum_MapWarps: @ 8539E88
+ warp_def 5, 8, 3, 127, NONE
+ warp_def 6, 8, 3, 127, NONE
+ warp_def 7, 8, 3, 127, NONE
+ warp_def 8, 8, 3, 127, NONE
+
+DoubleBattleColosseum_MapCoordEvents: @ 8539EA8
+ coord_event 3, 4, 3, 0, VAR_0x4000, 0, 0, gUnknown_08277388
+ coord_event 3, 6, 3, 0, VAR_0x4000, 0, 0, gUnknown_082773BE
+ coord_event 10, 4, 3, 0, VAR_0x4000, 0, 0, gUnknown_082773A3
+ coord_event 10, 6, 3, 0, VAR_0x4000, 0, 0, gUnknown_082773D9
+
+DoubleBattleColosseum_MapEvents:: @ 8539EE8
+ map_events 0x0, DoubleBattleColosseum_MapWarps, DoubleBattleColosseum_MapCoordEvents, 0x0
+
diff --git a/data/maps/events/EverGrandeCity.inc b/data/maps/events/EverGrandeCity.inc
new file mode 100644
index 000000000..47fec07ea
--- /dev/null
+++ b/data/maps/events/EverGrandeCity.inc
@@ -0,0 +1,29 @@
+EverGrandeCity_MapWarps: @ 8527588
+ warp_def 18, 5, 0, 0, EVER_GRANDE_CITY_POKEMON_LEAGUE_1F
+ warp_def 27, 48, 0, 0, EVER_GRANDE_CITY_POKEMON_CENTER_1F
+ warp_def 18, 41, 0, 0, VICTORY_ROAD_1F
+ warp_def 18, 27, 0, 1, VICTORY_ROAD_1F
+
+EverGrandeCity_MapCoordEvents: @ 85275A8
+ coord_event 17, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46
+ coord_event 16, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46
+ coord_event 18, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46
+ coord_event 19, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46
+ coord_event 20, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46
+ coord_event 21, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46
+ coord_event 22, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46
+ coord_event 23, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46
+ coord_event 24, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46
+ coord_event 25, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46
+ coord_event 26, 58, 1, 0, VAR_0x4001, 0, 0, EverGrandeCity_EventScript_1E7D46
+
+EverGrandeCity_MapBGEvents: @ 8527658
+ bg_event 19, 43, 5, 0, 0, EverGrandeCity_EventScript_1E7D2B
+ bg_event 29, 48, 0, 1, 0, EverGrandeCity_EventScript_271E73
+ bg_event 18, 52, 5, 0, 0, EverGrandeCity_EventScript_1E7D34
+ bg_event 23, 15, 0, 0, 0, EverGrandeCity_EventScript_1E7D3D
+ bg_event 28, 48, 0, 1, 0, EverGrandeCity_EventScript_271E73
+
+EverGrandeCity_MapEvents:: @ 8527694
+ map_events 0x0, EverGrandeCity_MapWarps, EverGrandeCity_MapCoordEvents, EverGrandeCity_MapBGEvents
+
diff --git a/data/maps/events/EverGrandeCity_ChampionsRoom.inc b/data/maps/events/EverGrandeCity_ChampionsRoom.inc
new file mode 100644
index 000000000..e5fbb81c1
--- /dev/null
+++ b/data/maps/events/EverGrandeCity_ChampionsRoom.inc
@@ -0,0 +1,12 @@
+EverGrandeCity_ChampionsRoom_MapObjects: @ 8533700
+ object_event 1, MAP_OBJ_GFX_WALLACE, 0, 0, 6, 5, 3, 8, 0, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 6, 12, 3, 7, 0, 0, 0, 0, 0x0, 920, 0, 0
+ object_event 3, MAP_OBJ_GFX_PROF_BIRCH, 0, 0, 6, 12, 3, 7, 0, 0, 0, 0, 0x0, 921, 0, 0
+
+EverGrandeCity_ChampionsRoom_MapWarps: @ 8533748
+ warp_def 6, 12, 3, 1, EVER_GRANDE_CITY_HALL_4
+ warp_def 6, 2, 0, 0, EVER_GRANDE_CITY_HALL_OF_FAME
+
+EverGrandeCity_ChampionsRoom_MapEvents:: @ 8533758
+ map_events EverGrandeCity_ChampionsRoom_MapObjects, EverGrandeCity_ChampionsRoom_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/EverGrandeCity_DrakesRoom.inc b/data/maps/events/EverGrandeCity_DrakesRoom.inc
new file mode 100644
index 000000000..2db37957d
--- /dev/null
+++ b/data/maps/events/EverGrandeCity_DrakesRoom.inc
@@ -0,0 +1,10 @@
+EverGrandeCity_DrakesRoom_MapObjects: @ 85336C4
+ object_event 1, MAP_OBJ_GFX_DRAKE, 0, 0, 6, 5, 3, 8, 0, 0, 0, 0, EverGrandeCity_DrakesRoom_EventScript_2286F3, 0, 0, 0
+
+EverGrandeCity_DrakesRoom_MapWarps: @ 85336DC
+ warp_def 6, 13, 3, 1, EVER_GRANDE_CITY_HALL_3
+ warp_def 6, 2, 0, 0, EVER_GRANDE_CITY_HALL_4
+
+EverGrandeCity_DrakesRoom_MapEvents:: @ 85336EC
+ map_events EverGrandeCity_DrakesRoom_MapObjects, EverGrandeCity_DrakesRoom_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/EverGrandeCity_GlaciasRoom.inc b/data/maps/events/EverGrandeCity_GlaciasRoom.inc
new file mode 100644
index 000000000..7d97a2bc6
--- /dev/null
+++ b/data/maps/events/EverGrandeCity_GlaciasRoom.inc
@@ -0,0 +1,10 @@
+EverGrandeCity_GlaciasRoom_MapObjects: @ 8533688
+ object_event 1, MAP_OBJ_GFX_GLACIA, 0, 0, 6, 5, 3, 8, 0, 0, 0, 0, EverGrandeCity_GlaciasRoom_EventScript_228469, 0, 0, 0
+
+EverGrandeCity_GlaciasRoom_MapWarps: @ 85336A0
+ warp_def 6, 13, 3, 1, EVER_GRANDE_CITY_HALL_2
+ warp_def 6, 2, 0, 0, EVER_GRANDE_CITY_HALL_3
+
+EverGrandeCity_GlaciasRoom_MapEvents:: @ 85336B0
+ map_events EverGrandeCity_GlaciasRoom_MapObjects, EverGrandeCity_GlaciasRoom_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/EverGrandeCity_Hall1.inc b/data/maps/events/EverGrandeCity_Hall1.inc
new file mode 100644
index 000000000..8f9e791a8
--- /dev/null
+++ b/data/maps/events/EverGrandeCity_Hall1.inc
@@ -0,0 +1,9 @@
+EverGrandeCity_Hall1_MapWarps: @ 853376C
+ warp_def 5, 12, 3, 1, EVER_GRANDE_CITY_SIDNEYS_ROOM
+ warp_def 5, 2, 0, 0, EVER_GRANDE_CITY_PHOEBES_ROOM
+ warp_def 4, 12, 3, 1, EVER_GRANDE_CITY_SIDNEYS_ROOM
+ warp_def 6, 12, 3, 1, EVER_GRANDE_CITY_SIDNEYS_ROOM
+
+EverGrandeCity_Hall1_MapEvents:: @ 853378C
+ map_events 0x0, EverGrandeCity_Hall1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/EverGrandeCity_Hall2.inc b/data/maps/events/EverGrandeCity_Hall2.inc
new file mode 100644
index 000000000..c9426ceea
--- /dev/null
+++ b/data/maps/events/EverGrandeCity_Hall2.inc
@@ -0,0 +1,9 @@
+EverGrandeCity_Hall2_MapWarps: @ 85337A0
+ warp_def 5, 12, 3, 1, EVER_GRANDE_CITY_PHOEBES_ROOM
+ warp_def 5, 2, 0, 0, EVER_GRANDE_CITY_GLACIAS_ROOM
+ warp_def 4, 12, 3, 1, EVER_GRANDE_CITY_PHOEBES_ROOM
+ warp_def 6, 12, 3, 1, EVER_GRANDE_CITY_PHOEBES_ROOM
+
+EverGrandeCity_Hall2_MapEvents:: @ 85337C0
+ map_events 0x0, EverGrandeCity_Hall2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/EverGrandeCity_Hall3.inc b/data/maps/events/EverGrandeCity_Hall3.inc
new file mode 100644
index 000000000..68f506d00
--- /dev/null
+++ b/data/maps/events/EverGrandeCity_Hall3.inc
@@ -0,0 +1,9 @@
+EverGrandeCity_Hall3_MapWarps: @ 85337D4
+ warp_def 5, 12, 3, 1, EVER_GRANDE_CITY_GLACIAS_ROOM
+ warp_def 5, 2, 0, 0, EVER_GRANDE_CITY_DRAKES_ROOM
+ warp_def 4, 12, 3, 1, EVER_GRANDE_CITY_GLACIAS_ROOM
+ warp_def 6, 12, 3, 1, EVER_GRANDE_CITY_GLACIAS_ROOM
+
+EverGrandeCity_Hall3_MapEvents:: @ 85337F4
+ map_events 0x0, EverGrandeCity_Hall3_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/EverGrandeCity_Hall4.inc b/data/maps/events/EverGrandeCity_Hall4.inc
new file mode 100644
index 000000000..4e7c4f7e6
--- /dev/null
+++ b/data/maps/events/EverGrandeCity_Hall4.inc
@@ -0,0 +1,7 @@
+EverGrandeCity_Hall4_MapWarps: @ 8533808
+ warp_def 5, 33, 3, 1, EVER_GRANDE_CITY_DRAKES_ROOM
+ warp_def 5, 2, 0, 0, EVER_GRANDE_CITY_CHAMPIONS_ROOM
+
+EverGrandeCity_Hall4_MapEvents:: @ 8533818
+ map_events 0x0, EverGrandeCity_Hall4_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/EverGrandeCity_Hall5.inc b/data/maps/events/EverGrandeCity_Hall5.inc
new file mode 100644
index 000000000..69fa9a629
--- /dev/null
+++ b/data/maps/events/EverGrandeCity_Hall5.inc
@@ -0,0 +1,9 @@
+EverGrandeCity_Hall5_MapWarps: @ 853382C
+ warp_def 5, 12, 3, 2, EVER_GRANDE_CITY_POKEMON_LEAGUE_1F
+ warp_def 5, 2, 0, 0, EVER_GRANDE_CITY_SIDNEYS_ROOM
+ warp_def 4, 12, 3, 2, EVER_GRANDE_CITY_POKEMON_LEAGUE_1F
+ warp_def 6, 12, 3, 2, EVER_GRANDE_CITY_POKEMON_LEAGUE_1F
+
+EverGrandeCity_Hall5_MapEvents:: @ 853384C
+ map_events 0x0, EverGrandeCity_Hall5_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/EverGrandeCity_HallOfFame.inc b/data/maps/events/EverGrandeCity_HallOfFame.inc
new file mode 100644
index 000000000..18ed3ebdb
--- /dev/null
+++ b/data/maps/events/EverGrandeCity_HallOfFame.inc
@@ -0,0 +1,9 @@
+EverGrandeCity_HallOfFame_MapObjects: @ 85338FC
+ object_event 1, MAP_OBJ_GFX_WALLACE, 0, 0, 6, 16, 3, 7, 0, 0, 0, 0, 0x0, 0, 0, 0
+
+EverGrandeCity_HallOfFame_MapWarps: @ 8533914
+ warp_def 7, 11, 3, 1, EVER_GRANDE_CITY_CHAMPIONS_ROOM
+
+EverGrandeCity_HallOfFame_MapEvents:: @ 853391C
+ map_events EverGrandeCity_HallOfFame_MapObjects, EverGrandeCity_HallOfFame_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/EverGrandeCity_PhoebesRoom.inc b/data/maps/events/EverGrandeCity_PhoebesRoom.inc
new file mode 100644
index 000000000..471bae1fc
--- /dev/null
+++ b/data/maps/events/EverGrandeCity_PhoebesRoom.inc
@@ -0,0 +1,10 @@
+EverGrandeCity_PhoebesRoom_MapObjects: @ 853364C
+ object_event 1, MAP_OBJ_GFX_PHOEBE, 0, 0, 6, 5, 3, 8, 0, 0, 0, 0, EverGrandeCity_PhoebesRoom_EventScript_2281CB, 0, 0, 0
+
+EverGrandeCity_PhoebesRoom_MapWarps: @ 8533664
+ warp_def 6, 13, 3, 1, EVER_GRANDE_CITY_HALL_1
+ warp_def 6, 2, 0, 0, EVER_GRANDE_CITY_HALL_2
+
+EverGrandeCity_PhoebesRoom_MapEvents:: @ 8533674
+ map_events EverGrandeCity_PhoebesRoom_MapObjects, EverGrandeCity_PhoebesRoom_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/EverGrandeCity_PokemonCenter_1F.inc b/data/maps/events/EverGrandeCity_PokemonCenter_1F.inc
new file mode 100644
index 000000000..28491f59b
--- /dev/null
+++ b/data/maps/events/EverGrandeCity_PokemonCenter_1F.inc
@@ -0,0 +1,14 @@
+EverGrandeCity_PokemonCenter_1F_MapObjects: @ 8533930
+ object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, EverGrandeCity_PokemonCenter_1F_EventScript_229A59, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_7, 0, 0, 5, 5, 3, 8, 0, 0, 0, 0, EverGrandeCity_PokemonCenter_1F_EventScript_229A67, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 10, 7, 3, 10, 0, 0, 0, 0, EverGrandeCity_PokemonCenter_1F_EventScript_229A70, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_SCOTT, 0, 0, 9, 4, 3, 7, 0, 0, 0, 0, EverGrandeCity_PokemonCenter_1F_EventScript_229A79, 793, 0, 0
+
+EverGrandeCity_PokemonCenter_1F_MapWarps: @ 8533990
+ warp_def 7, 8, 3, 1, EVER_GRANDE_CITY
+ warp_def 6, 8, 3, 1, EVER_GRANDE_CITY
+ warp_def 1, 6, 4, 0, EVER_GRANDE_CITY_POKEMON_CENTER_2F
+
+EverGrandeCity_PokemonCenter_1F_MapEvents:: @ 85339A8
+ map_events EverGrandeCity_PokemonCenter_1F_MapObjects, EverGrandeCity_PokemonCenter_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/EverGrandeCity_PokemonCenter_2F.inc b/data/maps/events/EverGrandeCity_PokemonCenter_2F.inc
new file mode 100644
index 000000000..d34c8082f
--- /dev/null
+++ b/data/maps/events/EverGrandeCity_PokemonCenter_2F.inc
@@ -0,0 +1,14 @@
+EverGrandeCity_PokemonCenter_2F_MapObjects: @ 85339BC
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, EverGrandeCity_PokemonCenter_2F_EventScript_27375B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, EverGrandeCity_PokemonCenter_2F_EventScript_273761, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, EverGrandeCity_PokemonCenter_2F_EventScript_273767, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, EverGrandeCity_PokemonCenter_2F_EventScript_276B03, 702, 0, 0
+
+EverGrandeCity_PokemonCenter_2F_MapWarps: @ 8533A1C
+ warp_def 1, 6, 4, 2, EVER_GRANDE_CITY_POKEMON_CENTER_1F
+ warp_def 5, 1, 3, 0, UNION_ROOM
+ warp_def 9, 1, 3, 0, TRADE_CENTER
+
+EverGrandeCity_PokemonCenter_2F_MapEvents:: @ 8533A34
+ map_events EverGrandeCity_PokemonCenter_2F_MapObjects, EverGrandeCity_PokemonCenter_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/EverGrandeCity_PokemonLeague_1F.inc b/data/maps/events/EverGrandeCity_PokemonLeague_1F.inc
new file mode 100644
index 000000000..ee368c6e1
--- /dev/null
+++ b/data/maps/events/EverGrandeCity_PokemonLeague_1F.inc
@@ -0,0 +1,16 @@
+EverGrandeCity_PokemonLeague_1F_MapObjects: @ 8533860
+ object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 3, 2, 3, 8, 0, 0, 0, 0, EverGrandeCity_PokemonLeague_1F_EventScript_2295FC, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 16, 2, 3, 8, 0, 0, 0, 0, EverGrandeCity_PokemonLeague_1F_EventScript_22960A, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 8, 2, 3, 8, 17, 0, 0, 0, EverGrandeCity_PokemonLeague_1F_EventScript_229636, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MAN_4, 0, 0, 11, 2, 3, 8, 17, 0, 0, 0, EverGrandeCity_PokemonLeague_1F_EventScript_229636, 0, 0, 0
+
+EverGrandeCity_PokemonLeague_1F_MapWarps: @ 85338C0
+ warp_def 9, 11, 3, 0, EVER_GRANDE_CITY
+ warp_def 10, 11, 3, 0, EVER_GRANDE_CITY
+ warp_def 9, 1, 3, 0, EVER_GRANDE_CITY_HALL_5
+ warp_def 10, 1, 3, 0, EVER_GRANDE_CITY_HALL_5
+ warp_def 1, 7, 4, 0, EVER_GRANDE_CITY_POKEMON_LEAGUE_2F
+
+EverGrandeCity_PokemonLeague_1F_MapEvents:: @ 85338E8
+ map_events EverGrandeCity_PokemonLeague_1F_MapObjects, EverGrandeCity_PokemonLeague_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/EverGrandeCity_PokemonLeague_2F.inc b/data/maps/events/EverGrandeCity_PokemonLeague_2F.inc
new file mode 100644
index 000000000..499aad196
--- /dev/null
+++ b/data/maps/events/EverGrandeCity_PokemonLeague_2F.inc
@@ -0,0 +1,14 @@
+EverGrandeCity_PokemonLeague_2F_MapObjects: @ 8533A48
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, EverGrandeCity_PokemonLeague_2F_EventScript_27375B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 0, 8, 17, 0, 0, 0, EverGrandeCity_PokemonLeague_2F_EventScript_273761, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, EverGrandeCity_PokemonLeague_2F_EventScript_273767, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, EverGrandeCity_PokemonLeague_2F_EventScript_276B03, 702, 0, 0
+
+EverGrandeCity_PokemonLeague_2F_MapWarps: @ 8533AA8
+ warp_def 1, 6, 4, 4, EVER_GRANDE_CITY_POKEMON_LEAGUE_1F
+ warp_def 5, 1, 3, 0, UNION_ROOM
+ warp_def 9, 1, 3, 0, TRADE_CENTER
+
+EverGrandeCity_PokemonLeague_2F_MapEvents:: @ 8533AC0
+ map_events EverGrandeCity_PokemonLeague_2F_MapObjects, EverGrandeCity_PokemonLeague_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/EverGrandeCity_SidneysRoom.inc b/data/maps/events/EverGrandeCity_SidneysRoom.inc
new file mode 100644
index 000000000..9ff3d40cb
--- /dev/null
+++ b/data/maps/events/EverGrandeCity_SidneysRoom.inc
@@ -0,0 +1,10 @@
+EverGrandeCity_SidneysRoom_MapObjects: @ 8533610
+ object_event 1, MAP_OBJ_GFX_SIDNEY, 0, 0, 6, 5, 3, 8, 0, 0, 0, 0, EverGrandeCity_SidneysRoom_EventScript_227F64, 0, 0, 0
+
+EverGrandeCity_SidneysRoom_MapWarps: @ 8533628
+ warp_def 6, 13, 3, 1, EVER_GRANDE_CITY_HALL_5
+ warp_def 6, 2, 0, 0, EVER_GRANDE_CITY_HALL_1
+
+EverGrandeCity_SidneysRoom_MapEvents:: @ 8533638
+ map_events EverGrandeCity_SidneysRoom_MapObjects, EverGrandeCity_SidneysRoom_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/FallarborTown.inc b/data/maps/events/FallarborTown.inc
new file mode 100644
index 000000000..28dab394b
--- /dev/null
+++ b/data/maps/events/FallarborTown.inc
@@ -0,0 +1,26 @@
+FallarborTown_MapObjects: @ 8527BE0
+ object_event 1, MAP_OBJ_GFX_GIRL_1, 0, 0, 8, 11, 3, 8, 16, 0, 0, 0, FallarborTown_EventScript_1EB22B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 11, 9, 3, 5, 1, 0, 0, 0, FallarborTown_EventScript_1EB20C, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 11, 15, 3, 3, 17, 0, 0, 0, FallarborTown_EventScript_1EB234, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_AZURILL, 0, 0, 8, 12, 3, 1, 1, 0, 0, 0, FallarborTown_EventScript_1EB23D, 907, 0, 0
+
+FallarborTown_MapWarps: @ 8527C40
+ warp_def 15, 15, 0, 0, FALLARBOR_TOWN_MART
+ warp_def 8, 7, 0, 0, FALLARBOR_TOWN_BATTLE_TENT_LOBBY
+ warp_def 14, 7, 0, 0, FALLARBOR_TOWN_POKEMON_CENTER_1F
+ warp_def 6, 17, 0, 0, FALLARBOR_TOWN_HOUSE_1
+ warp_def 1, 6, 0, 0, FALLARBOR_TOWN_HOUSE_2
+
+FallarborTown_MapBGEvents: @ 8527C68
+ bg_event 16, 15, 0, 1, 0, FallarborTown_EventScript_271E6A
+ bg_event 15, 7, 0, 1, 0, FallarborTown_EventScript_271E73
+ bg_event 6, 8, 0, 0, 0, FallarborTown_EventScript_1EB250
+ bg_event 16, 7, 0, 1, 0, FallarborTown_EventScript_271E73
+ bg_event 10, 11, 0, 0, 0, FallarborTown_EventScript_1EB259
+ bg_event 17, 15, 0, 1, 0, FallarborTown_EventScript_271E6A
+ bg_event 3, 7, 0, 0, 0, FallarborTown_EventScript_1EB262
+ bg_event 2, 15, 3, 7, 0, ITEM_NUGGET, 28, 0
+
+FallarborTown_MapEvents:: @ 8527CC8
+ map_events FallarborTown_MapObjects, FallarborTown_MapWarps, 0x0, FallarborTown_MapBGEvents
+
diff --git a/data/maps/events/FallarborTown_BattleTentBattleRoom.inc b/data/maps/events/FallarborTown_BattleTentBattleRoom.inc
new file mode 100644
index 000000000..bed082ccb
--- /dev/null
+++ b/data/maps/events/FallarborTown_BattleTentBattleRoom.inc
@@ -0,0 +1,8 @@
+FallarborTown_BattleTentBattleRoom_MapObjects: @ 852E444
+ object_event 1, MAP_OBJ_GFX_TRADER, 0, 0, 4, 8, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 3, 2, 0, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_HIPSTER, 0, 0, 5, 1, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+FallarborTown_BattleTentBattleRoom_MapEvents:: @ 852E48C
+ map_events FallarborTown_BattleTentBattleRoom_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/FallarborTown_BattleTentCorridor.inc b/data/maps/events/FallarborTown_BattleTentCorridor.inc
new file mode 100644
index 000000000..023ef7f0b
--- /dev/null
+++ b/data/maps/events/FallarborTown_BattleTentCorridor.inc
@@ -0,0 +1,6 @@
+FallarborTown_BattleTentCorridor_MapObjects: @ 852E418
+ object_event 1, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 2, 6, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+FallarborTown_BattleTentCorridor_MapEvents:: @ 852E430
+ map_events FallarborTown_BattleTentCorridor_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/FallarborTown_BattleTentLobby.inc b/data/maps/events/FallarborTown_BattleTentLobby.inc
new file mode 100644
index 000000000..6c0d25020
--- /dev/null
+++ b/data/maps/events/FallarborTown_BattleTentLobby.inc
@@ -0,0 +1,17 @@
+FallarborTown_BattleTentLobby_MapObjects: @ 852E370
+ object_event 1, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 6, 5, 3, 8, 17, 0, 0, 0, FallarborTown_BattleTentLobby_EventScript_200001, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIKER, 0, 0, 1, 5, 3, 5, 17, 0, 0, 0, FallarborTown_BattleTentLobby_EventScript_20020D, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 12, 6, 3, 3, 17, 0, 0, 0, FallarborTown_BattleTentLobby_EventScript_200216, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_LASS, 0, 0, 10, 9, 3, 8, 17, 0, 0, 0, FallarborTown_BattleTentLobby_EventScript_20021F, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_SCOTT, 0, 0, 0, 7, 3, 10, 17, 0, 0, 0, FallarborTown_BattleTentLobby_EventScript_200228, 767, 0, 0
+
+FallarborTown_BattleTentLobby_MapWarps: @ 852E3E8
+ warp_def 6, 9, 0, 1, FALLARBOR_TOWN
+ warp_def 7, 9, 0, 1, FALLARBOR_TOWN
+
+FallarborTown_BattleTentLobby_MapBGEvents: @ 852E3F8
+ bg_event 4, 5, 0, 0, 0, FallarborTown_BattleTentLobby_EventScript_20024F
+
+FallarborTown_BattleTentLobby_MapEvents:: @ 852E404
+ map_events FallarborTown_BattleTentLobby_MapObjects, FallarborTown_BattleTentLobby_MapWarps, 0x0, FallarborTown_BattleTentLobby_MapBGEvents
+
diff --git a/data/maps/events/FallarborTown_House1.inc b/data/maps/events/FallarborTown_House1.inc
new file mode 100644
index 000000000..971236802
--- /dev/null
+++ b/data/maps/events/FallarborTown_House1.inc
@@ -0,0 +1,11 @@
+FallarborTown_House1_MapObjects: @ 852E5B8
+ object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 6, 4, 3, 2, 17, 0, 0, 0, FallarborTown_House1_EventScript_200F13, 928, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_3, 0, 0, 5, 6, 3, 5, 1, 0, 0, 0, FallarborTown_House1_EventScript_200FBC, 0, 0, 0
+
+FallarborTown_House1_MapWarps: @ 852E5E8
+ warp_def 3, 8, 0, 3, FALLARBOR_TOWN
+ warp_def 4, 8, 0, 3, FALLARBOR_TOWN
+
+FallarborTown_House1_MapEvents:: @ 852E5F8
+ map_events FallarborTown_House1_MapObjects, FallarborTown_House1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/FallarborTown_House2.inc b/data/maps/events/FallarborTown_House2.inc
new file mode 100644
index 000000000..058c4c5af
--- /dev/null
+++ b/data/maps/events/FallarborTown_House2.inc
@@ -0,0 +1,10 @@
+FallarborTown_House2_MapObjects: @ 852E60C
+ object_event 1, MAP_OBJ_GFX_FAT_MAN, 0, 0, 4, 4, 3, 8, 0, 0, 0, 0, FallarborTown_House2_EventScript_201383, 0, 0, 0
+
+FallarborTown_House2_MapWarps: @ 852E624
+ warp_def 3, 7, 0, 4, FALLARBOR_TOWN
+ warp_def 4, 7, 0, 4, FALLARBOR_TOWN
+
+FallarborTown_House2_MapEvents:: @ 852E634
+ map_events FallarborTown_House2_MapObjects, FallarborTown_House2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/FallarborTown_Mart.inc b/data/maps/events/FallarborTown_Mart.inc
new file mode 100644
index 000000000..a59da4c66
--- /dev/null
+++ b/data/maps/events/FallarborTown_Mart.inc
@@ -0,0 +1,14 @@
+FallarborTown_Mart_MapObjects: @ 852E2D4
+ object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, FallarborTown_Mart_EventScript_1FFCBF, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_3, 0, 0, 5, 3, 3, 2, 17, 0, 0, 0, FallarborTown_Mart_EventScript_1FFCF4, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_3, 0, 0, 9, 6, 3, 8, 0, 0, 0, 0, FallarborTown_Mart_EventScript_1FFCFD, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_SKITTY, 0, 0, 2, 5, 3, 1, 17, 0, 0, 0, FallarborTown_Mart_EventScript_1FFD06, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIRL_2, 0, 0, 7, 2, 3, 7, 0, 0, 0, 0, FallarborTown_Mart_EventScript_2C80B6, 0, 0, 0
+
+FallarborTown_Mart_MapWarps: @ 852E34C
+ warp_def 3, 7, 0, 0, FALLARBOR_TOWN
+ warp_def 4, 7, 0, 0, FALLARBOR_TOWN
+
+FallarborTown_Mart_MapEvents:: @ 852E35C
+ map_events FallarborTown_Mart_MapObjects, FallarborTown_Mart_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/FallarborTown_PokemonCenter_1F.inc b/data/maps/events/FallarborTown_PokemonCenter_1F.inc
new file mode 100644
index 000000000..19421411e
--- /dev/null
+++ b/data/maps/events/FallarborTown_PokemonCenter_1F.inc
@@ -0,0 +1,14 @@
+FallarborTown_PokemonCenter_1F_MapObjects: @ 852E4A0
+ object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, FallarborTown_PokemonCenter_1F_EventScript_200BE1, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GIRL_3, 0, 0, 10, 6, 3, 10, 0, 0, 0, 0, FallarborTown_PokemonCenter_1F_EventScript_200BEF, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 2, 3, 3, 8, 0, 0, 0, 0, FallarborTown_PokemonCenter_1F_EventScript_200BF8, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_3, 0, 0, 10, 2, 3, 7, 0, 0, 0, 0, FallarborTown_PokemonCenter_1F_EventScript_200C01, 871, 0, 0
+
+FallarborTown_PokemonCenter_1F_MapWarps: @ 852E500
+ warp_def 7, 8, 3, 2, FALLARBOR_TOWN
+ warp_def 6, 8, 3, 2, FALLARBOR_TOWN
+ warp_def 1, 6, 4, 0, FALLARBOR_TOWN_POKEMON_CENTER_2F
+
+FallarborTown_PokemonCenter_1F_MapEvents:: @ 852E518
+ map_events FallarborTown_PokemonCenter_1F_MapObjects, FallarborTown_PokemonCenter_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/FallarborTown_PokemonCenter_2F.inc b/data/maps/events/FallarborTown_PokemonCenter_2F.inc
new file mode 100644
index 000000000..408ecf9db
--- /dev/null
+++ b/data/maps/events/FallarborTown_PokemonCenter_2F.inc
@@ -0,0 +1,14 @@
+FallarborTown_PokemonCenter_2F_MapObjects: @ 852E52C
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, FallarborTown_PokemonCenter_2F_EventScript_27375B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, FallarborTown_PokemonCenter_2F_EventScript_273761, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, FallarborTown_PokemonCenter_2F_EventScript_273767, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, FallarborTown_PokemonCenter_2F_EventScript_276B03, 702, 0, 0
+
+FallarborTown_PokemonCenter_2F_MapWarps: @ 852E58C
+ warp_def 1, 6, 4, 2, FALLARBOR_TOWN_POKEMON_CENTER_1F
+ warp_def 5, 1, 3, 0, UNION_ROOM
+ warp_def 9, 1, 3, 0, TRADE_CENTER
+
+FallarborTown_PokemonCenter_2F_MapEvents:: @ 852E5A4
+ map_events FallarborTown_PokemonCenter_2F_MapObjects, FallarborTown_PokemonCenter_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/FarawayIsland_Entrance.inc b/data/maps/events/FarawayIsland_Entrance.inc
new file mode 100644
index 000000000..cd321124f
--- /dev/null
+++ b/data/maps/events/FarawayIsland_Entrance.inc
@@ -0,0 +1,19 @@
+FarawayIsland_Entrance_MapObjects: @ 853D710
+ object_event 1, MAP_OBJ_GFX_SAILOR, 0, 0, 13, 39, 3, 7, 0, 0, 0, 0, FarawayIsland_Entrance_EventScript_267CA2, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SS_TIDAL, 0, 0, 13, 41, 1, 10, 0, 0, 0, 0, 0x0, 0, 0, 0
+
+FarawayIsland_Entrance_MapWarps: @ 853D740
+ warp_def 22, 7, 3, 0, FARAWAY_ISLAND_INTERIOR
+ warp_def 23, 7, 3, 1, FARAWAY_ISLAND_INTERIOR
+
+FarawayIsland_Entrance_MapCoordEvents: @ 853D750
+ coord_event 9, 18, 3, 0, 0, 0, 0, FarawayIsland_Entrance_EventScript_267C98
+ coord_event 10, 20, 3, 0, 0, 0, 0, FarawayIsland_Entrance_EventScript_267C9D
+ coord_event 22, 9, 3, 0, 0, 0, 0, FarawayIsland_Entrance_EventScript_267C98
+
+FarawayIsland_Entrance_MapBGEvents: @ 853D780
+ bg_event 3, 32, 0, 1, 0, FarawayIsland_Entrance_EventScript_267CF1
+
+FarawayIsland_Entrance_MapEvents:: @ 853D78C
+ map_events FarawayIsland_Entrance_MapObjects, FarawayIsland_Entrance_MapWarps, FarawayIsland_Entrance_MapCoordEvents, FarawayIsland_Entrance_MapBGEvents
+
diff --git a/data/maps/events/FarawayIsland_Interior.inc b/data/maps/events/FarawayIsland_Interior.inc
new file mode 100644
index 000000000..6f13ca36e
--- /dev/null
+++ b/data/maps/events/FarawayIsland_Interior.inc
@@ -0,0 +1,10 @@
+FarawayIsland_Interior_MapObjects: @ 853D7A0
+ object_event 1, MAP_OBJ_GFX_MEW, 0, 0, 13, 17, 3, 60, 255, 0, 0, 1, FarawayIsland_Interior_EventScript_267DF2, 718, 0, 0
+
+FarawayIsland_Interior_MapWarps: @ 853D7B8
+ warp_def 12, 19, 0, 0, FARAWAY_ISLAND_ENTRANCE
+ warp_def 13, 19, 0, 1, FARAWAY_ISLAND_ENTRANCE
+
+FarawayIsland_Interior_MapEvents:: @ 853D7C8
+ map_events FarawayIsland_Interior_MapObjects, FarawayIsland_Interior_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/FieryPath.inc b/data/maps/events/FieryPath.inc
new file mode 100644
index 000000000..cd360a75f
--- /dev/null
+++ b/data/maps/events/FieryPath.inc
@@ -0,0 +1,17 @@
+FieryPath_MapObjects: @ 8534C80
+ object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 8, 3, 3, 1, 17, 0, 0, 0, FieryPath_EventScript_29119E, 1091, 0, 0
+ object_event 2, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 10, 15, 3, 1, 0, 0, 0, 0, FieryPath_EventScript_2908BA, 17, 0, 0
+ object_event 3, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 17, 15, 3, 1, 0, 0, 0, 0, FieryPath_EventScript_2908BA, 18, 0, 0
+ object_event 4, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 8, 11, 3, 1, 0, 0, 0, 0, FieryPath_EventScript_2908BA, 19, 0, 0
+ object_event 5, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 3, 12, 3, 1, 0, 0, 0, 0, FieryPath_EventScript_2908BA, 20, 0, 0
+ object_event 6, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 6, 23, 3, 1, 0, 0, 0, 0, FieryPath_EventScript_2908BA, 21, 0, 0
+ object_event 7, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 5, 24, 3, 1, 0, 0, 0, 0, FieryPath_EventScript_2908BA, 22, 0, 0
+ object_event 8, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 32, 3, 1, 17, 0, 0, 0, FieryPath_EventScript_291191, 1111, 0, 0
+
+FieryPath_MapWarps: @ 8534D40
+ warp_def 26, 36, 3, 4, ROUTE_112
+ warp_def 26, 4, 3, 5, ROUTE_112
+
+FieryPath_MapEvents:: @ 8534D50
+ map_events FieryPath_MapObjects, FieryPath_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/FortreeCity.inc b/data/maps/events/FortreeCity.inc
new file mode 100644
index 000000000..03ff20df1
--- /dev/null
+++ b/data/maps/events/FortreeCity.inc
@@ -0,0 +1,31 @@
+FortreeCity_MapObjects: @ 8526B9C
+ object_event 1, MAP_OBJ_GFX_MAN_2, 0, 0, 31, 3, 4, 1, 0, 0, 0, 0, FortreeCity_EventScript_1E25B6, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GIRL_1, 0, 0, 32, 16, 3, 2, 17, 0, 0, 0, FortreeCity_EventScript_1E25DE, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_7, 0, 0, 32, 10, 3, 3, 16, 0, 0, 0, FortreeCity_EventScript_1E25BF, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BOY_1, 0, 0, 11, 14, 4, 1, 0, 0, 0, 0, FortreeCity_EventScript_1E25F0, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 8, 10, 3, 1, 0, 0, 0, 0, FortreeCity_EventScript_1E25E7, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_BOY_5, 0, 0, 9, 16, 3, 8, 0, 0, 0, 0, FortreeCity_EventScript_1E25F9, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_KECLEON_1, 0, 0, 25, 8, 3, 76, 17, 0, 0, 0, FortreeCity_EventScript_1E2614, 969, 0, 0
+
+FortreeCity_MapWarps: @ 8526C44
+ warp_def 5, 6, 0, 0, FORTREE_CITY_POKEMON_CENTER_1F
+ warp_def 10, 3, 0, 0, FORTREE_CITY_HOUSE_1
+ warp_def 22, 11, 0, 0, FORTREE_CITY_GYM
+ warp_def 4, 14, 0, 0, FORTREE_CITY_MART
+ warp_def 17, 3, 0, 0, FORTREE_CITY_HOUSE_2
+ warp_def 25, 3, 0, 0, FORTREE_CITY_HOUSE_3
+ warp_def 32, 2, 0, 0, FORTREE_CITY_HOUSE_4
+ warp_def 12, 13, 0, 0, FORTREE_CITY_HOUSE_5
+ warp_def 37, 13, 0, 0, FORTREE_CITY_DECORATION_SHOP
+
+FortreeCity_MapBGEvents: @ 8526C8C
+ bg_event 6, 9, 0, 0, 0, FortreeCity_EventScript_1E2602
+ bg_event 7, 6, 0, 1, 0, FortreeCity_EventScript_271E73
+ bg_event 5, 14, 0, 1, 0, FortreeCity_EventScript_271E6A
+ bg_event 26, 10, 0, 0, 0, FortreeCity_EventScript_1E260B
+ bg_event 6, 6, 0, 1, 0, FortreeCity_EventScript_271E73
+ bg_event 6, 14, 0, 1, 0, FortreeCity_EventScript_271E6A
+
+FortreeCity_MapEvents:: @ 8526CD4
+ map_events FortreeCity_MapObjects, FortreeCity_MapWarps, 0x0, FortreeCity_MapBGEvents
+
diff --git a/data/maps/events/FortreeCity_DecorationShop.inc b/data/maps/events/FortreeCity_DecorationShop.inc
new file mode 100644
index 000000000..7c25059bf
--- /dev/null
+++ b/data/maps/events/FortreeCity_DecorationShop.inc
@@ -0,0 +1,13 @@
+FortreeCity_DecorationShop_MapObjects: @ 85310B0
+ object_event 1, MAP_OBJ_GFX_MAN_3, 0, 0, 6, 5, 3, 1, 17, 0, 0, 0, FortreeCity_DecorationShop_EventScript_21800E, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GIRL_3, 0, 0, 0, 4, 3, 9, 0, 0, 0, 0, FortreeCity_DecorationShop_EventScript_218017, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, FortreeCity_DecorationShop_EventScript_218020, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 6, 2, 3, 8, 0, 0, 0, 0, FortreeCity_DecorationShop_EventScript_21804C, 0, 0, 0
+
+FortreeCity_DecorationShop_MapWarps: @ 8531110
+ warp_def 3, 5, 0, 8, FORTREE_CITY
+ warp_def 4, 5, 0, 8, FORTREE_CITY
+
+FortreeCity_DecorationShop_MapEvents:: @ 8531120
+ map_events FortreeCity_DecorationShop_MapObjects, FortreeCity_DecorationShop_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/FortreeCity_Gym.inc b/data/maps/events/FortreeCity_Gym.inc
new file mode 100644
index 000000000..6e3904b88
--- /dev/null
+++ b/data/maps/events/FortreeCity_Gym.inc
@@ -0,0 +1,21 @@
+FortreeCity_Gym_MapObjects: @ 8530C98
+ object_event 1, MAP_OBJ_GFX_WINONA, 0, 0, 15, 2, 3, 8, 0, 0, 0, 0, FortreeCity_Gym_EventScript_2165C8, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_6, 0, 0, 4, 14, 3, 8, 0, 0, 1, 3, FortreeCity_Gym_EventScript_2166A8, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_CAMPER, 0, 0, 10, 10, 3, 9, 0, 0, 1, 2, FortreeCity_Gym_EventScript_2166D6, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_PICNICKER, 0, 0, 5, 17, 3, 9, 0, 0, 1, 1, FortreeCity_Gym_EventScript_2166ED, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_MAN_6, 0, 0, 9, 8, 3, 8, 0, 0, 1, 2, FortreeCity_Gym_EventScript_2166BF, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_MAN_2, 0, 0, 15, 21, 3, 8, 0, 0, 0, 0, FortreeCity_Gym_EventScript_216732, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_MAN_6, 0, 0, 4, 23, 3, 10, 17, 0, 1, 1, FortreeCity_Gym_EventScript_216704, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_MAN_6, 0, 0, 1, 10, 3, 7, 17, 0, 1, 3, FortreeCity_Gym_EventScript_21671B, 0, 0, 0
+
+FortreeCity_Gym_MapWarps: @ 8530D58
+ warp_def 15, 24, 0, 2, FORTREE_CITY
+ warp_def 16, 24, 0, 2, FORTREE_CITY
+
+FortreeCity_Gym_MapBGEvents: @ 8530D68
+ bg_event 14, 21, 0, 1, 0, FortreeCity_Gym_EventScript_216751
+ bg_event 17, 21, 0, 1, 0, FortreeCity_Gym_EventScript_216761
+
+FortreeCity_Gym_MapEvents:: @ 8530D80
+ map_events FortreeCity_Gym_MapObjects, FortreeCity_Gym_MapWarps, 0x0, FortreeCity_Gym_MapBGEvents
+
diff --git a/data/maps/events/FortreeCity_House1.inc b/data/maps/events/FortreeCity_House1.inc
new file mode 100644
index 000000000..d1eecfdef
--- /dev/null
+++ b/data/maps/events/FortreeCity_House1.inc
@@ -0,0 +1,12 @@
+FortreeCity_House1_MapObjects: @ 8530C2C
+ object_event 1, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, FortreeCity_House1_EventScript_2162BB, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_ZIGZAGOON_2, 0, 0, 2, 3, 3, 9, 0, 0, 0, 0, FortreeCity_House1_EventScript_216368, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 7, 4, 3, 1, 17, 0, 0, 0, FortreeCity_House1_EventScript_21635F, 0, 0, 0
+
+FortreeCity_House1_MapWarps: @ 8530C74
+ warp_def 3, 5, 0, 1, FORTREE_CITY
+ warp_def 4, 5, 0, 1, FORTREE_CITY
+
+FortreeCity_House1_MapEvents:: @ 8530C84
+ map_events FortreeCity_House1_MapObjects, FortreeCity_House1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/FortreeCity_House2.inc b/data/maps/events/FortreeCity_House2.inc
new file mode 100644
index 000000000..c54b42a6d
--- /dev/null
+++ b/data/maps/events/FortreeCity_House2.inc
@@ -0,0 +1,11 @@
+FortreeCity_House2_MapObjects: @ 8530F30
+ object_event 1, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 2, 3, 3, 5, 1, 0, 0, 0, FortreeCity_House2_EventScript_2177CB, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 6, 3, 3, 9, 1, 0, 0, 0, FortreeCity_House2_EventScript_2C811E, 0, 0, 0
+
+FortreeCity_House2_MapWarps: @ 8530F60
+ warp_def 3, 5, 0, 4, FORTREE_CITY
+ warp_def 4, 5, 0, 4, FORTREE_CITY
+
+FortreeCity_House2_MapEvents:: @ 8530F70
+ map_events FortreeCity_House2_MapObjects, FortreeCity_House2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/FortreeCity_House3.inc b/data/maps/events/FortreeCity_House3.inc
new file mode 100644
index 000000000..7be159493
--- /dev/null
+++ b/data/maps/events/FortreeCity_House3.inc
@@ -0,0 +1,11 @@
+FortreeCity_House3_MapObjects: @ 8530F84
+ object_event 1, MAP_OBJ_GFX_MANIAC, 0, 0, 0, 3, 3, 10, 0, 0, 0, 0, FortreeCity_House3_EventScript_217AE8, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 5, 4, 3, 2, 17, 0, 0, 0, FortreeCity_House3_EventScript_217AF1, 0, 0, 0
+
+FortreeCity_House3_MapWarps: @ 8530FB4
+ warp_def 3, 5, 0, 5, FORTREE_CITY
+ warp_def 4, 5, 0, 5, FORTREE_CITY
+
+FortreeCity_House3_MapEvents:: @ 8530FC4
+ map_events FortreeCity_House3_MapObjects, FortreeCity_House3_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/FortreeCity_House4.inc b/data/maps/events/FortreeCity_House4.inc
new file mode 100644
index 000000000..d24c12520
--- /dev/null
+++ b/data/maps/events/FortreeCity_House4.inc
@@ -0,0 +1,12 @@
+FortreeCity_House4_MapObjects: @ 8530FD8
+ object_event 1, MAP_OBJ_GFX_WOMAN_5, 0, 0, 6, 4, 3, 2, 17, 0, 0, 0, FortreeCity_House4_EventScript_217C81, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BOY_3, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, FortreeCity_House4_EventScript_217C8A, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WINGULL, 0, 0, 2, 3, 3, 8, 0, 0, 0, 0, FortreeCity_House4_EventScript_217D20, 933, 0, 0
+
+FortreeCity_House4_MapWarps: @ 8531020
+ warp_def 3, 5, 0, 6, FORTREE_CITY
+ warp_def 4, 5, 0, 6, FORTREE_CITY
+
+FortreeCity_House4_MapEvents:: @ 8531030
+ map_events FortreeCity_House4_MapObjects, FortreeCity_House4_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/FortreeCity_House5.inc b/data/maps/events/FortreeCity_House5.inc
new file mode 100644
index 000000000..3520e7249
--- /dev/null
+++ b/data/maps/events/FortreeCity_House5.inc
@@ -0,0 +1,12 @@
+FortreeCity_House5_MapObjects: @ 8531044
+ object_event 1, MAP_OBJ_GFX_WOMAN_2, 0, 0, 6, 4, 3, 20, 0, 0, 0, 0, FortreeCity_House5_EventScript_217EF2, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_ZIGZAGOON_2, 0, 0, 6, 3, 3, 8, 0, 0, 0, 0, FortreeCity_House5_EventScript_217F04, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_1, 0, 0, 2, 4, 3, 10, 0, 0, 0, 0, FortreeCity_House5_EventScript_217EFB, 0, 0, 0
+
+FortreeCity_House5_MapWarps: @ 853108C
+ warp_def 3, 5, 0, 7, FORTREE_CITY
+ warp_def 4, 5, 0, 7, FORTREE_CITY
+
+FortreeCity_House5_MapEvents:: @ 853109C
+ map_events FortreeCity_House5_MapObjects, FortreeCity_House5_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/FortreeCity_Mart.inc b/data/maps/events/FortreeCity_Mart.inc
new file mode 100644
index 000000000..acb1e9471
--- /dev/null
+++ b/data/maps/events/FortreeCity_Mart.inc
@@ -0,0 +1,13 @@
+FortreeCity_Mart_MapObjects: @ 8530EAC
+ object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, FortreeCity_Mart_EventScript_217666, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_3, 0, 0, 9, 3, 3, 7, 0, 0, 0, 0, FortreeCity_Mart_EventScript_217698, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_GIRL_3, 0, 0, 8, 5, 3, 2, 17, 0, 0, 0, FortreeCity_Mart_EventScript_2176A1, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BOY_2, 0, 0, 5, 6, 3, 10, 17, 0, 0, 0, FortreeCity_Mart_EventScript_2176AA, 0, 0, 0
+
+FortreeCity_Mart_MapWarps: @ 8530F0C
+ warp_def 3, 7, 0, 3, FORTREE_CITY
+ warp_def 4, 7, 0, 3, FORTREE_CITY
+
+FortreeCity_Mart_MapEvents:: @ 8530F1C
+ map_events FortreeCity_Mart_MapObjects, FortreeCity_Mart_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/FortreeCity_PokemonCenter_1F.inc b/data/maps/events/FortreeCity_PokemonCenter_1F.inc
new file mode 100644
index 000000000..922e825c7
--- /dev/null
+++ b/data/maps/events/FortreeCity_PokemonCenter_1F.inc
@@ -0,0 +1,14 @@
+FortreeCity_PokemonCenter_1F_MapObjects: @ 8530D94
+ object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, FortreeCity_PokemonCenter_1F_EventScript_2173E7, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 4, 7, 3, 1, 0, 0, 0, 0, FortreeCity_PokemonCenter_1F_EventScript_2173F5, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 8, 5, 3, 1, 0, 0, 0, 0, FortreeCity_PokemonCenter_1F_EventScript_2173FE, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BOY_3, 0, 0, 2, 3, 3, 8, 17, 0, 0, 0, FortreeCity_PokemonCenter_1F_EventScript_217407, 0, 0, 0
+
+FortreeCity_PokemonCenter_1F_MapWarps: @ 8530DF4
+ warp_def 7, 8, 3, 0, FORTREE_CITY
+ warp_def 6, 8, 3, 0, FORTREE_CITY
+ warp_def 1, 6, 4, 0, FORTREE_CITY_POKEMON_CENTER_2F
+
+FortreeCity_PokemonCenter_1F_MapEvents:: @ 8530E0C
+ map_events FortreeCity_PokemonCenter_1F_MapObjects, FortreeCity_PokemonCenter_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/FortreeCity_PokemonCenter_2F.inc b/data/maps/events/FortreeCity_PokemonCenter_2F.inc
new file mode 100644
index 000000000..e5a3f1ac4
--- /dev/null
+++ b/data/maps/events/FortreeCity_PokemonCenter_2F.inc
@@ -0,0 +1,14 @@
+FortreeCity_PokemonCenter_2F_MapObjects: @ 8530E20
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, FortreeCity_PokemonCenter_2F_EventScript_27375B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, FortreeCity_PokemonCenter_2F_EventScript_273761, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, FortreeCity_PokemonCenter_2F_EventScript_273767, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, FortreeCity_PokemonCenter_2F_EventScript_276B03, 702, 0, 0
+
+FortreeCity_PokemonCenter_2F_MapWarps: @ 8530E80
+ warp_def 1, 6, 4, 2, FORTREE_CITY_POKEMON_CENTER_1F
+ warp_def 5, 1, 3, 0, UNION_ROOM
+ warp_def 9, 1, 3, 0, TRADE_CENTER
+
+FortreeCity_PokemonCenter_2F_MapEvents:: @ 8530E98
+ map_events FortreeCity_PokemonCenter_2F_MapObjects, FortreeCity_PokemonCenter_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/GraniteCave_1F.inc b/data/maps/events/GraniteCave_1F.inc
new file mode 100644
index 000000000..1bad3837f
--- /dev/null
+++ b/data/maps/events/GraniteCave_1F.inc
@@ -0,0 +1,13 @@
+GraniteCave_1F_MapObjects: @ 85343BC
+ object_event 1, MAP_OBJ_GFX_HIKER, 0, 0, 36, 9, 3, 1, 0, 0, 0, 0, GraniteCave_1F_EventScript_22DA5E, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 17, 7, 3, 8, 0, 0, 0, 0, GraniteCave_1F_EventScript_291150, 1050, 0, 0
+
+GraniteCave_1F_MapWarps: @ 85343EC
+ warp_def 37, 12, 3, 0, ROUTE_106
+ warp_def 35, 3, 3, 0, GRANITE_CAVE_B1F
+ warp_def 17, 11, 3, 1, GRANITE_CAVE_B1F
+ warp_def 5, 10, 3, 0, GRANITE_CAVE_STEVENS_ROOM
+
+GraniteCave_1F_MapEvents:: @ 853440C
+ map_events GraniteCave_1F_MapObjects, GraniteCave_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/GraniteCave_B1F.inc b/data/maps/events/GraniteCave_B1F.inc
new file mode 100644
index 000000000..f5981fcbe
--- /dev/null
+++ b/data/maps/events/GraniteCave_B1F.inc
@@ -0,0 +1,15 @@
+GraniteCave_B1F_MapObjects: @ 8534420
+ object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 15, 21, 3, 1, 0, 0, 0, 0, GraniteCave_B1F_EventScript_29115D, 1051, 0, 0
+
+GraniteCave_B1F_MapWarps: @ 8534438
+ warp_def 25, 13, 3, 1, GRANITE_CAVE_1F
+ warp_def 4, 21, 3, 2, GRANITE_CAVE_1F
+ warp_def 29, 13, 3, 0, GRANITE_CAVE_B2F
+ warp_def 28, 21, 3, 1, GRANITE_CAVE_B2F
+ warp_def 8, 5, 3, 2, GRANITE_CAVE_B2F
+ warp_def 12, 3, 3, 3, GRANITE_CAVE_B2F
+ warp_def 29, 2, 3, 4, GRANITE_CAVE_B2F
+
+GraniteCave_B1F_MapEvents:: @ 8534470
+ map_events GraniteCave_B1F_MapObjects, GraniteCave_B1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/GraniteCave_B2F.inc b/data/maps/events/GraniteCave_B2F.inc
new file mode 100644
index 000000000..ebc9467f4
--- /dev/null
+++ b/data/maps/events/GraniteCave_B2F.inc
@@ -0,0 +1,25 @@
+GraniteCave_B2F_MapObjects: @ 8534484
+ object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 4, 3, 1, 0, 0, 0, 0, GraniteCave_B2F_EventScript_29116A, 1053, 0, 0
+ object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 29, 4, 3, 1, 0, 0, 0, 0, GraniteCave_B2F_EventScript_291177, 1054, 0, 0
+ object_event 3, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 5, 14, 3, 1, 17, 0, 0, 0, GraniteCave_B2F_EventScript_2907A6, 17, 0, 0
+ object_event 4, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 3, 14, 3, 1, 17, 0, 0, 0, GraniteCave_B2F_EventScript_2907A6, 18, 0, 0
+ object_event 5, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 2, 16, 3, 1, 17, 0, 0, 0, GraniteCave_B2F_EventScript_2907A6, 19, 0, 0
+ object_event 6, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 7, 12, 3, 1, 17, 0, 0, 0, GraniteCave_B2F_EventScript_2907A6, 20, 0, 0
+ object_event 7, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 4, 22, 3, 1, 17, 0, 0, 0, GraniteCave_B2F_EventScript_2907A6, 21, 0, 0
+ object_event 8, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 6, 22, 3, 1, 17, 0, 0, 0, GraniteCave_B2F_EventScript_2907A6, 22, 0, 0
+ object_event 9, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 3, 21, 3, 1, 17, 0, 0, 0, GraniteCave_B2F_EventScript_2907A6, 23, 0, 0
+
+GraniteCave_B2F_MapWarps: @ 853455C
+ warp_def 29, 13, 3, 2, GRANITE_CAVE_B1F
+ warp_def 28, 21, 3, 3, GRANITE_CAVE_B1F
+ warp_def 8, 5, 3, 4, GRANITE_CAVE_B1F
+ warp_def 12, 3, 3, 5, GRANITE_CAVE_B1F
+ warp_def 29, 2, 3, 6, GRANITE_CAVE_B1F
+
+GraniteCave_B2F_MapBGEvents: @ 8534584
+ bg_event 28, 6, 3, 7, 0, ITEM_EVERSTONE, 48, 0
+ bg_event 15, 11, 3, 7, 0, ITEM_EVERSTONE, 49, 0
+
+GraniteCave_B2F_MapEvents:: @ 853459C
+ map_events GraniteCave_B2F_MapObjects, GraniteCave_B2F_MapWarps, 0x0, GraniteCave_B2F_MapBGEvents
+
diff --git a/data/maps/events/GraniteCave_StevensRoom.inc b/data/maps/events/GraniteCave_StevensRoom.inc
new file mode 100644
index 000000000..eca46cd79
--- /dev/null
+++ b/data/maps/events/GraniteCave_StevensRoom.inc
@@ -0,0 +1,9 @@
+GraniteCave_StevensRoom_MapObjects: @ 85345B0
+ object_event 1, MAP_OBJ_GFX_STEVEN, 0, 0, 7, 8, 3, 1, 0, 0, 0, 0, GraniteCave_StevensRoom_EventScript_22DC7B, 833, 0, 0
+
+GraniteCave_StevensRoom_MapWarps: @ 85345C8
+ warp_def 7, 3, 3, 3, GRANITE_CAVE_1F
+
+GraniteCave_StevensRoom_MapEvents:: @ 85345D0
+ map_events GraniteCave_StevensRoom_MapObjects, GraniteCave_StevensRoom_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/InsideOfTruck.inc b/data/maps/events/InsideOfTruck.inc
new file mode 100644
index 000000000..3e888ec44
--- /dev/null
+++ b/data/maps/events/InsideOfTruck.inc
@@ -0,0 +1,25 @@
+InsideOfTruck_MapObjects: @ 853A078
+ object_event 1, MAP_OBJ_GFX_MOVING_BOX, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, InsideOfTruck_EventScript_23BF6C, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MOVING_BOX, 0, 0, 0, 3, 8, 8, 0, 0, 0, 0, InsideOfTruck_EventScript_23BF6C, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MOVING_BOX, 0, 0, 2, 3, 8, 8, 0, 0, 0, 0, InsideOfTruck_EventScript_23BF6C, 0, 0, 0
+
+InsideOfTruck_MapWarps: @ 853A0C0
+ warp_def 4, 1, 0, 127, NONE
+ warp_def 4, 2, 0, 127, NONE
+ warp_def 4, 3, 0, 127, NONE
+
+InsideOfTruck_MapCoordEvents: @ 853A0D8
+ coord_event 3, 1, 3, 0, VAR_0x4092, 0, 0, InsideOfTruck_EventScript_23BF04
+ coord_event 3, 2, 3, 0, VAR_0x4092, 0, 0, InsideOfTruck_EventScript_23BF04
+ coord_event 3, 3, 3, 0, VAR_0x4092, 0, 0, InsideOfTruck_EventScript_23BF04
+
+InsideOfTruck_MapBGEvents: @ 853A108
+ bg_event 1, 0, 0, 0, 0, InsideOfTruck_EventScript_23BF6C
+ bg_event 3, 4, 0, 0, 0, InsideOfTruck_EventScript_23BF6C
+ bg_event 2, 3, 0, 0, 0, InsideOfTruck_EventScript_23BF6C
+ bg_event 0, 1, 0, 0, 0, InsideOfTruck_EventScript_23BF6C
+ bg_event 0, 2, 0, 0, 0, InsideOfTruck_EventScript_23BF6C
+
+InsideOfTruck_MapEvents:: @ 853A144
+ map_events InsideOfTruck_MapObjects, InsideOfTruck_MapWarps, InsideOfTruck_MapCoordEvents, InsideOfTruck_MapBGEvents
+
diff --git a/data/maps/events/IslandCave.inc b/data/maps/events/IslandCave.inc
new file mode 100644
index 000000000..094852c5a
--- /dev/null
+++ b/data/maps/events/IslandCave.inc
@@ -0,0 +1,16 @@
+IslandCave_MapObjects: @ 8536C74
+ object_event 1, MAP_OBJ_GFX_REGICE, 0, 0, 8, 7, 3, 8, 0, 0, 0, 0, IslandCave_EventScript_238F58, 936, 0, 0
+
+IslandCave_MapWarps: @ 8536C8C
+ warp_def 8, 29, 3, 0, ROUTE_105
+ warp_def 8, 20, 0, 2, ISLAND_CAVE
+ warp_def 8, 11, 3, 1, ISLAND_CAVE
+
+IslandCave_MapBGEvents: @ 8536CA4
+ bg_event 8, 20, 0, 0, 0, IslandCave_EventScript_238EEF
+ bg_event 7, 20, 0, 0, 0, IslandCave_EventScript_238F1D
+ bg_event 9, 20, 0, 0, 0, IslandCave_EventScript_238F1D
+
+IslandCave_MapEvents:: @ 8536CC8
+ map_events IslandCave_MapObjects, IslandCave_MapWarps, 0x0, IslandCave_MapBGEvents
+
diff --git a/data/maps/events/JaggedPass.inc b/data/maps/events/JaggedPass.inc
new file mode 100644
index 000000000..cc862fed1
--- /dev/null
+++ b/data/maps/events/JaggedPass.inc
@@ -0,0 +1,35 @@
+JaggedPass_MapObjects: @ 8534AE4
+ object_event 1, MAP_OBJ_GFX_HIKER, 0, 0, 10, 8, 3, 10, 0, 0, 1, 3, JaggedPass_EventScript_230785, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_CAMPER, 0, 0, 16, 35, 3, 14, 0, 0, 1, 4, JaggedPass_EventScript_2307FB, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 23, 24, 3, 1, 0, 0, 0, 0, JaggedPass_EventScript_291184, 1070, 0, 0
+ object_event 4, MAP_OBJ_GFX_PICNICKER, 0, 0, 9, 21, 3, 16, 17, 0, 1, 3, JaggedPass_EventScript_23079C, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 16, 19, 3, 7, 17, 0, 0, 0, JaggedPass_EventScript_230718, 847, 0, 0
+ object_event 6, MAP_OBJ_GFX_PICNICKER, 0, 0, 14, 25, 3, 10, 17, 0, 1, 3, JaggedPass_EventScript_230871, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 0, 18, 25, 3, 9, 17, 0, 1, 3, JaggedPass_EventScript_23085A, 0, 0, 0
+
+JaggedPass_MapWarps: @ 8534B8C
+ warp_def 14, 40, 3, 2, ROUTE_112
+ warp_def 15, 40, 3, 3, ROUTE_112
+ warp_def 13, 5, 3, 2, MT_CHIMNEY
+ warp_def 14, 5, 3, 3, MT_CHIMNEY
+ warp_def 16, 18, 0, 0, MAGMA_HIDEOUT_1F
+
+JaggedPass_MapCoordEvents: @ 8534BB4
+ coord_event 13, 15, 3, 0, 2, 0, 0, 0x0
+ coord_event 21, 12, 3, 0, 8, 0, 0, 0x0
+ coord_event 14, 15, 3, 0, 2, 0, 0, 0x0
+ coord_event 18, 17, 3, 0, 2, 0, 0, 0x0
+ coord_event 22, 19, 3, 0, 2, 0, 0, 0x0
+ coord_event 21, 15, 3, 0, VAR_0x40C8, 1, 0, JaggedPass_EventScript_2306BB
+ coord_event 22, 20, 3, 0, VAR_0x40C8, 1, 0, JaggedPass_EventScript_2306BB
+ coord_event 21, 20, 3, 0, VAR_0x40C8, 1, 0, JaggedPass_EventScript_2306BB
+ coord_event 14, 15, 3, 0, VAR_0x40C8, 1, 0, JaggedPass_EventScript_2306BB
+ coord_event 13, 15, 3, 0, VAR_0x40C8, 1, 0, JaggedPass_EventScript_2306BB
+
+JaggedPass_MapBGEvents: @ 8534C54
+ bg_event 8, 10, 3, 7, 0, ITEM_FULL_HEAL, 77, 0
+ bg_event 7, 29, 3, 7, 0, ITEM_GREAT_BALL, 76, 0
+
+JaggedPass_MapEvents:: @ 8534C6C
+ map_events JaggedPass_MapObjects, JaggedPass_MapWarps, JaggedPass_MapCoordEvents, JaggedPass_MapBGEvents
+
diff --git a/data/maps/events/LavaridgeTown.inc b/data/maps/events/LavaridgeTown.inc
new file mode 100644
index 000000000..0e16fc60c
--- /dev/null
+++ b/data/maps/events/LavaridgeTown.inc
@@ -0,0 +1,35 @@
+LavaridgeTown_MapObjects: @ 8527A54
+ object_event 1, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 8, 7, 3, 8, 0, 0, 0, 0, LavaridgeTown_EventScript_1EA73B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 5, 1, 3, 8, 0, 0, 0, 0, LavaridgeTown_EventScript_1EA70E, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 5, 8, 3, 8, 0, 0, 0, 0, LavaridgeTown_EventScript_1EA717, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 10, 13, 3, 3, 32, 0, 0, 0, LavaridgeTown_EventScript_1EA720, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN, 0, 0, 4, 4, 3, 18, 0, 0, 0, 0, LavaridgeTown_EventScript_1EA729, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN, 0, 0, 5, 4, 3, 17, 0, 0, 0, 0, LavaridgeTown_EventScript_1EA732, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_GIDDY, 0, 0, 6, 16, 3, 9, 0, 0, 0, 0, 0x0, 930, 0, 0
+ object_event 8, MAP_OBJ_GFX_HIPSTER, 0, 0, 12, 15, 0, 8, 0, 0, 0, 0, 0x0, 929, 0, 0
+ object_event 9, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 4, 7, 3, 8, 17, 0, 0, 0, LavaridgeTown_EventScript_1EA744, 0, 0, 0
+
+LavaridgeTown_MapWarps: @ 8527B2C
+ warp_def 12, 15, 0, 0, LAVARIDGE_TOWN_HERB_SHOP
+ warp_def 5, 15, 0, 0, LAVARIDGE_TOWN_GYM_1F
+ warp_def 15, 5, 0, 0, LAVARIDGE_TOWN_MART
+ warp_def 9, 6, 0, 0, LAVARIDGE_TOWN_POKEMON_CENTER_1F
+ warp_def 16, 15, 0, 0, LAVARIDGE_TOWN_HOUSE
+ warp_def 9, 2, 3, 3, LAVARIDGE_TOWN_POKEMON_CENTER_1F
+
+LavaridgeTown_MapCoordEvents: @ 8527B5C
+ coord_event 6, 3, 3, 0, 0, 0, 0, LavaridgeTown_EventScript_1EA6FA
+
+LavaridgeTown_MapBGEvents: @ 8527B6C
+ bg_event 14, 16, 0, 0, 0, LavaridgeTown_EventScript_1EA7B7
+ bg_event 7, 15, 0, 0, 0, LavaridgeTown_EventScript_1EA7AE
+ bg_event 17, 5, 0, 1, 0, LavaridgeTown_EventScript_271E6A
+ bg_event 13, 8, 0, 0, 0, LavaridgeTown_EventScript_1EA7A5
+ bg_event 10, 6, 0, 1, 0, LavaridgeTown_EventScript_271E73
+ bg_event 16, 5, 0, 1, 0, LavaridgeTown_EventScript_271E6A
+ bg_event 11, 6, 0, 1, 0, LavaridgeTown_EventScript_271E73
+ bg_event 4, 5, 3, 7, 0, ITEM_ICE_HEAL, 0, 0
+
+LavaridgeTown_MapEvents:: @ 8527BCC
+ map_events LavaridgeTown_MapObjects, LavaridgeTown_MapWarps, LavaridgeTown_MapCoordEvents, LavaridgeTown_MapBGEvents
+
diff --git a/data/maps/events/LavaridgeTown_Gym_1F.inc b/data/maps/events/LavaridgeTown_Gym_1F.inc
new file mode 100644
index 000000000..a67522cb8
--- /dev/null
+++ b/data/maps/events/LavaridgeTown_Gym_1F.inc
@@ -0,0 +1,43 @@
+LavaridgeTown_Gym_1F_MapObjects: @ 852DE1C
+ object_event 1, MAP_OBJ_GFX_FLANNERY, 0, 0, 13, 9, 3, 8, 0, 0, 0, 0, LavaridgeTown_Gym_1F_EventScript_1FE78C, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_6, 0, 0, 3, 14, 3, 8, 0, 0, 3, 1, LavaridgeTown_Gym_1F_EventScript_1FE87F, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 2, 15, 3, 8, 0, 0, 3, 1, LavaridgeTown_Gym_1F_EventScript_1FE900, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MAN_6, 0, 0, 3, 10, 3, 8, 0, 0, 3, 1, LavaridgeTown_Gym_1F_EventScript_1FE8AF, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIRL_3, 0, 0, 5, 2, 3, 8, 0, 0, 3, 1, LavaridgeTown_Gym_1F_EventScript_1FE8E5, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_MAN_2, 0, 0, 12, 16, 3, 10, 0, 0, 0, 0, LavaridgeTown_Gym_1F_EventScript_1FE96C, 0, 0, 0
+
+LavaridgeTown_Gym_1F_MapWarps: @ 852DEAC
+ warp_def 13, 18, 3, 1, LAVARIDGE_TOWN
+ warp_def 14, 18, 3, 1, LAVARIDGE_TOWN
+ warp_def 10, 18, 3, 0, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 8, 9, 3, 2, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 4, 18, 3, 4, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 5, 14, 3, 3, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 0, 17, 3, 1, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 5, 9, 3, 5, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 2, 15, 3, 6, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 3, 14, 3, 7, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 1, 14, 3, 8, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 0, 10, 3, 9, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 3, 10, 3, 10, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 0, 6, 3, 11, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 3, 6, 3, 12, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 5, 6, 3, 13, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 2, 3, 3, 14, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 5, 2, 3, 15, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 7, 2, 3, 16, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 8, 6, 3, 17, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 10, 6, 3, 18, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 4, 16, 0, 20, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 12, 3, 3, 19, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 14, 6, 3, 21, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 13, 17, 3, 22, LAVARIDGE_TOWN_GYM_B1F
+ warp_def 12, 12, 3, 23, LAVARIDGE_TOWN_GYM_B1F
+
+LavaridgeTown_Gym_1F_MapBGEvents: @ 852DF7C
+ bg_event 10, 15, 0, 1, 0, LavaridgeTown_Gym_1F_EventScript_1FE98B
+ bg_event 16, 15, 0, 1, 0, LavaridgeTown_Gym_1F_EventScript_1FE99B
+
+LavaridgeTown_Gym_1F_MapEvents:: @ 852DF94
+ map_events LavaridgeTown_Gym_1F_MapObjects, LavaridgeTown_Gym_1F_MapWarps, 0x0, LavaridgeTown_Gym_1F_MapBGEvents
+
diff --git a/data/maps/events/LavaridgeTown_Gym_B1F.inc b/data/maps/events/LavaridgeTown_Gym_B1F.inc
new file mode 100644
index 000000000..0c0c4adaa
--- /dev/null
+++ b/data/maps/events/LavaridgeTown_Gym_B1F.inc
@@ -0,0 +1,35 @@
+LavaridgeTown_Gym_B1F_MapObjects: @ 852DFA8
+ object_event 1, MAP_OBJ_GFX_MAN_6, 0, 0, 4, 18, 3, 8, 17, 0, 3, 1, LavaridgeTown_Gym_B1F_EventScript_1FE91B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_6, 0, 0, 3, 6, 0, 8, 17, 0, 3, 1, LavaridgeTown_Gym_B1F_EventScript_1FE8CA, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_6, 0, 0, 13, 17, 0, 8, 17, 0, 3, 1, LavaridgeTown_Gym_B1F_EventScript_1FE936, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_HIKER, 0, 0, 4, 16, 3, 8, 17, 0, 3, 1, LavaridgeTown_Gym_B1F_EventScript_1FE951, 0, 0, 0
+
+LavaridgeTown_Gym_B1F_MapWarps: @ 852E008
+ warp_def 10, 18, 3, 2, LAVARIDGE_TOWN_GYM_1F
+ warp_def 0, 17, 3, 6, LAVARIDGE_TOWN_GYM_1F
+ warp_def 8, 9, 3, 3, LAVARIDGE_TOWN_GYM_1F
+ warp_def 5, 14, 3, 5, LAVARIDGE_TOWN_GYM_1F
+ warp_def 4, 18, 3, 4, LAVARIDGE_TOWN_GYM_1F
+ warp_def 5, 9, 3, 7, LAVARIDGE_TOWN_GYM_1F
+ warp_def 2, 15, 3, 8, LAVARIDGE_TOWN_GYM_1F
+ warp_def 3, 14, 3, 9, LAVARIDGE_TOWN_GYM_1F
+ warp_def 1, 14, 3, 10, LAVARIDGE_TOWN_GYM_1F
+ warp_def 0, 10, 3, 11, LAVARIDGE_TOWN_GYM_1F
+ warp_def 3, 10, 3, 12, LAVARIDGE_TOWN_GYM_1F
+ warp_def 0, 6, 3, 13, LAVARIDGE_TOWN_GYM_1F
+ warp_def 3, 6, 3, 14, LAVARIDGE_TOWN_GYM_1F
+ warp_def 5, 6, 3, 15, LAVARIDGE_TOWN_GYM_1F
+ warp_def 2, 3, 3, 16, LAVARIDGE_TOWN_GYM_1F
+ warp_def 5, 2, 3, 17, LAVARIDGE_TOWN_GYM_1F
+ warp_def 7, 2, 3, 18, LAVARIDGE_TOWN_GYM_1F
+ warp_def 8, 6, 3, 19, LAVARIDGE_TOWN_GYM_1F
+ warp_def 10, 6, 3, 20, LAVARIDGE_TOWN_GYM_1F
+ warp_def 12, 3, 3, 22, LAVARIDGE_TOWN_GYM_1F
+ warp_def 4, 16, 3, 21, LAVARIDGE_TOWN_GYM_1F
+ warp_def 14, 6, 3, 23, LAVARIDGE_TOWN_GYM_1F
+ warp_def 13, 17, 3, 24, LAVARIDGE_TOWN_GYM_1F
+ warp_def 12, 12, 3, 25, LAVARIDGE_TOWN_GYM_1F
+
+LavaridgeTown_Gym_B1F_MapEvents:: @ 852E0C8
+ map_events LavaridgeTown_Gym_B1F_MapObjects, LavaridgeTown_Gym_B1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/LavaridgeTown_HerbShop.inc b/data/maps/events/LavaridgeTown_HerbShop.inc
new file mode 100644
index 000000000..76b5ac368
--- /dev/null
+++ b/data/maps/events/LavaridgeTown_HerbShop.inc
@@ -0,0 +1,12 @@
+LavaridgeTown_HerbShop_MapObjects: @ 852DDB0
+ object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 3, 2, 3, 8, 0, 0, 0, 0, LavaridgeTown_HerbShop_EventScript_1FE4D7, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 7, 5, 3, 1, 17, 0, 0, 0, LavaridgeTown_HerbShop_EventScript_1FE505, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 9, 3, 3, 5, 17, 0, 0, 0, LavaridgeTown_HerbShop_EventScript_1FE4FC, 0, 0, 0
+
+LavaridgeTown_HerbShop_MapWarps: @ 852DDF8
+ warp_def 3, 7, 0, 0, LAVARIDGE_TOWN
+ warp_def 4, 7, 0, 0, LAVARIDGE_TOWN
+
+LavaridgeTown_HerbShop_MapEvents:: @ 852DE08
+ map_events LavaridgeTown_HerbShop_MapObjects, LavaridgeTown_HerbShop_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/LavaridgeTown_House.inc b/data/maps/events/LavaridgeTown_House.inc
new file mode 100644
index 000000000..82ae945b4
--- /dev/null
+++ b/data/maps/events/LavaridgeTown_House.inc
@@ -0,0 +1,12 @@
+LavaridgeTown_House_MapObjects: @ 852E0DC
+ object_event 1, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 2, 3, 3, 1, 17, 0, 0, 0, LavaridgeTown_House_EventScript_1FF912, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_ZIGZAGOON_2, 0, 0, 6, 6, 3, 1, 17, 0, 0, 0, LavaridgeTown_House_EventScript_1FF91B, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 8, 4, 3, 2, 17, 0, 0, 0, LavaridgeTown_House_EventScript_2C804E, 0, 0, 0
+
+LavaridgeTown_House_MapWarps: @ 852E124
+ warp_def 3, 7, 0, 4, LAVARIDGE_TOWN
+ warp_def 4, 7, 0, 4, LAVARIDGE_TOWN
+
+LavaridgeTown_House_MapEvents:: @ 852E134
+ map_events LavaridgeTown_House_MapObjects, LavaridgeTown_House_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/LavaridgeTown_Mart.inc b/data/maps/events/LavaridgeTown_Mart.inc
new file mode 100644
index 000000000..db9c02f5e
--- /dev/null
+++ b/data/maps/events/LavaridgeTown_Mart.inc
@@ -0,0 +1,12 @@
+LavaridgeTown_Mart_MapObjects: @ 852E148
+ object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, LavaridgeTown_Mart_EventScript_1FF9CE, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 4, 2, 3, 8, 0, 0, 0, 0, LavaridgeTown_Mart_EventScript_1FF9FE, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_OLD_WOMAN_2, 0, 0, 9, 5, 3, 10, 0, 0, 0, 0, LavaridgeTown_Mart_EventScript_1FFA07, 0, 0, 0
+
+LavaridgeTown_Mart_MapWarps: @ 852E190
+ warp_def 3, 7, 0, 2, LAVARIDGE_TOWN
+ warp_def 4, 7, 0, 2, LAVARIDGE_TOWN
+
+LavaridgeTown_Mart_MapEvents:: @ 852E1A0
+ map_events LavaridgeTown_Mart_MapObjects, LavaridgeTown_Mart_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/LavaridgeTown_PokemonCenter_1F.inc b/data/maps/events/LavaridgeTown_PokemonCenter_1F.inc
new file mode 100644
index 000000000..11ed52f9a
--- /dev/null
+++ b/data/maps/events/LavaridgeTown_PokemonCenter_1F.inc
@@ -0,0 +1,15 @@
+LavaridgeTown_PokemonCenter_1F_MapObjects: @ 852E1B4
+ object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, LavaridgeTown_PokemonCenter_1F_EventScript_1FFB0E, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 11, 8, 3, 7, 0, 0, 0, 0, LavaridgeTown_PokemonCenter_1F_EventScript_1FFB1C, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_4, 0, 0, 10, 6, 0, 9, 0, 0, 0, 0, LavaridgeTown_PokemonCenter_1F_EventScript_1FFB25, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, LavaridgeTown_PokemonCenter_1F_EventScript_1FFB2E, 0, 0, 0
+
+LavaridgeTown_PokemonCenter_1F_MapWarps: @ 852E214
+ warp_def 7, 8, 3, 3, LAVARIDGE_TOWN
+ warp_def 6, 8, 3, 3, LAVARIDGE_TOWN
+ warp_def 1, 6, 4, 0, LAVARIDGE_TOWN_POKEMON_CENTER_2F
+ warp_def 2, 1, 0, 5, LAVARIDGE_TOWN
+
+LavaridgeTown_PokemonCenter_1F_MapEvents:: @ 852E234
+ map_events LavaridgeTown_PokemonCenter_1F_MapObjects, LavaridgeTown_PokemonCenter_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/LavaridgeTown_PokemonCenter_2F.inc b/data/maps/events/LavaridgeTown_PokemonCenter_2F.inc
new file mode 100644
index 000000000..dc0acec14
--- /dev/null
+++ b/data/maps/events/LavaridgeTown_PokemonCenter_2F.inc
@@ -0,0 +1,14 @@
+LavaridgeTown_PokemonCenter_2F_MapObjects: @ 852E248
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, LavaridgeTown_PokemonCenter_2F_EventScript_27375B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, LavaridgeTown_PokemonCenter_2F_EventScript_273761, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, LavaridgeTown_PokemonCenter_2F_EventScript_273767, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, LavaridgeTown_PokemonCenter_2F_EventScript_276B03, 702, 0, 0
+
+LavaridgeTown_PokemonCenter_2F_MapWarps: @ 852E2A8
+ warp_def 1, 6, 4, 2, LAVARIDGE_TOWN_POKEMON_CENTER_1F
+ warp_def 5, 1, 3, 0, UNION_ROOM
+ warp_def 9, 1, 3, 0, TRADE_CENTER
+
+LavaridgeTown_PokemonCenter_2F_MapEvents:: @ 852E2C0
+ map_events LavaridgeTown_PokemonCenter_2F_MapObjects, LavaridgeTown_PokemonCenter_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/LilycoveCity.inc b/data/maps/events/LilycoveCity.inc
new file mode 100644
index 000000000..63aed18f8
--- /dev/null
+++ b/data/maps/events/LilycoveCity.inc
@@ -0,0 +1,58 @@
+LilycoveCity_MapObjects: @ 8526CE8
+ object_event 1, MAP_OBJ_GFX_SAILOR, 0, 0, 32, 20, 3, 3, 16, 0, 0, 0, LilycoveCity_EventScript_1E2C53, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GIRL_1, 0, 0, 15, 18, 3, 2, 17, 0, 0, 0, LilycoveCity_EventScript_1E2C2B, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_1, 0, 0, 28, 28, 3, 1, 0, 0, 0, 0, LilycoveCity_EventScript_1E2C22, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BOY_4, 0, 0, 21, 15, 3, 2, 17, 0, 0, 0, LilycoveCity_EventScript_1E2C4A, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_MAN_2, 0, 0, 16, 9, 5, 5, 1, 0, 0, 0, LilycoveCity_EventScript_1E2C91, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_WOMAN_3, 0, 0, 35, 27, 3, 2, 17, 0, 0, 0, LilycoveCity_EventScript_1E2C72, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 35, 37, 5, 8, 0, 0, 0, 0, LilycoveCity_EventScript_1E2C9A, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 34, 37, 5, 8, 0, 0, 0, 0, LilycoveCity_EventScript_1E2CA3, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 57, 17, 3, 1, 0, 0, 0, 0, LilycoveCity_EventScript_1E2CAC, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 73, 15, 3, 10, 0, 0, 0, 0, LilycoveCity_EventScript_1E2D7D, 852, 0, 0
+ object_event 11, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 61, 36, 5, 1, 0, 0, 0, 0, LilycoveCity_EventScript_2910E8, 1042, 0, 0
+ object_event 12, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 43, 18, 3, 5, 1, 0, 0, 0, LilycoveCity_EventScript_1E2DD5, 852, 0, 0
+ object_event 13, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 46, 12, 3, 9, 0, 0, 0, 0, LilycoveCity_EventScript_1E2DBA, 852, 0, 0
+ object_event 14, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 45, 12, 3, 10, 0, 0, 0, 0, LilycoveCity_EventScript_1E2DC3, 852, 0, 0
+ object_event 15, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 38, 9, 5, 9, 0, 0, 0, 0, LilycoveCity_EventScript_1E2DCC, 852, 0, 0
+ object_event 16, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 50, 7, 5, 2, 17, 0, 0, 0, LilycoveCity_EventScript_1E2BD8, 0, 0, 0
+ object_event 17, MAP_OBJ_GFX_HIPSTER, 0, 0, 27, 7, 5, 8, 17, 0, 0, 0, LilycoveCity_EventScript_1E2DDE, 971, 0, 0
+ object_event 18, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 16, 23, 3, 10, 17, 0, 0, 0, LilycoveCity_EventScript_1E302D, 0, 0, 0
+ object_event 19, MAP_OBJ_GFX_WOMAN_4, 0, 0, 41, 25, 3, 9, 17, 0, 0, 0, LilycoveCity_EventScript_1E2CEE, 0, 0, 0
+ object_event 20, MAP_OBJ_GFX_MAN_2, 0, 0, 40, 25, 3, 10, 17, 0, 0, 0, LilycoveCity_EventScript_1E2CDD, 0, 0, 0
+ object_event 21, MAP_OBJ_GFX_SAILOR, 0, 0, 16, 34, 3, 8, 17, 0, 0, 0, LilycoveCity_EventScript_1E2CCB, 0, 0, 0
+ object_event 22, MAP_OBJ_GFX_FAT_MAN, 0, 0, 16, 35, 3, 7, 17, 0, 0, 0, LilycoveCity_EventScript_1E2CD4, 0, 0, 0
+
+LilycoveCity_MapWarps: @ 8526EF8
+ warp_def 27, 6, 0, 0, LILYCOVE_CITY_DEPARTMENT_STORE_1F
+ warp_def 37, 24, 0, 0, LILYCOVE_CITY_COVE_LILY_MOTEL_1F
+ warp_def 24, 14, 0, 0, LILYCOVE_CITY_POKEMON_CENTER_1F
+ warp_def 11, 5, 0, 0, LILYCOVE_CITY_LILYCOVE_MUSEUM_1F
+ warp_def 23, 24, 0, 0, LILYCOVE_CITY_CONTEST_LOBBY
+ warp_def 39, 14, 0, 1, LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB
+ warp_def 70, 5, 1, 0, AQUA_HIDEOUT_1F
+ warp_def 36, 6, 0, 0, LILYCOVE_CITY_MOVE_DELETERS_HOUSE
+ warp_def 42, 6, 0, 0, LILYCOVE_CITY_HOUSE_1
+ warp_def 55, 15, 0, 0, LILYCOVE_CITY_HOUSE_2
+ warp_def 11, 22, 0, 0, LILYCOVE_CITY_HOUSE_3
+ warp_def 12, 14, 0, 0, LILYCOVE_CITY_HOUSE_4
+ warp_def 12, 32, 0, 0, LILYCOVE_CITY_HARBOR
+ warp_def 12, 5, 0, 1, LILYCOVE_CITY_LILYCOVE_MUSEUM_1F
+
+LilycoveCity_MapBGEvents: @ 8526F68
+ bg_event 19, 7, 0, 0, 0, LilycoveCity_EventScript_1E2D1A
+ bg_event 25, 14, 0, 1, 0, LilycoveCity_EventScript_271E73
+ bg_event 29, 7, 0, 0, 0, LilycoveCity_EventScript_1E2D6B
+ bg_event 26, 14, 0, 1, 0, LilycoveCity_EventScript_271E73
+ bg_event 6, 15, 0, 0, 0, LilycoveCity_EventScript_1E2CFF
+ bg_event 29, 24, 0, 0, 0, LilycoveCity_EventScript_1E2D08
+ bg_event 35, 24, 0, 0, 0, LilycoveCity_EventScript_1E2D11
+ bg_event 6, 30, 3, 0, 0, LilycoveCity_EventScript_1E2D44
+ bg_event 36, 14, 0, 0, 0, LilycoveCity_EventScript_1E2D62
+ bg_event 34, 6, 0, 0, 0, LilycoveCity_EventScript_1E2D74
+ bg_event 36, 31, 3, 7, 0, ITEM_HEART_SCALE, 27, 0
+ bg_event 61, 7, 0, 7, 0, ITEM_PP_UP, 43, 0
+ bg_event 64, 31, 0, 7, 0, ITEM_POKE_BALL, 75, 0
+
+LilycoveCity_MapEvents:: @ 8527004
+ map_events LilycoveCity_MapObjects, LilycoveCity_MapWarps, 0x0, LilycoveCity_MapBGEvents
+
diff --git a/data/maps/events/LilycoveCity_ContestHall.inc b/data/maps/events/LilycoveCity_ContestHall.inc
new file mode 100644
index 000000000..15501ebfd
--- /dev/null
+++ b/data/maps/events/LilycoveCity_ContestHall.inc
@@ -0,0 +1,51 @@
+LilycoveCity_ContestHall_MapObjects: @ 8531850
+ object_event 1, MAP_OBJ_GFX_BOY_1, 0, 0, 30, 30, 3, 2, 68, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B485, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BOY_3, 0, 0, 11, 7, 3, 2, 51, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B48E, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_GIRL_3, 0, 0, 40, 8, 3, 2, 34, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B497, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_4, 0, 0, 12, 22, 3, 8, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B4A9, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_CONTEST_JUDGE, 0, 0, 15, 22, 3, 8, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B4C0, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 10, 25, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B4D7, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 12, 25, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B4EE, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_MANIAC, 0, 0, 14, 25, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B505, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_WOMAN_6, 0, 0, 16, 25, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B51C, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 8, 24, 3, 10, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B533, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_WOMAN_7, 0, 0, 18, 24, 3, 9, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B56A, 0, 0, 0
+ object_event 12, MAP_OBJ_GFX_BOY_1, 0, 0, 8, 22, 3, 10, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B53C, 0, 0, 0
+ object_event 13, MAP_OBJ_GFX_WOMAN_4, 0, 0, 24, 10, 3, 8, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B581, 0, 0, 0
+ object_event 14, MAP_OBJ_GFX_CONTEST_JUDGE, 0, 0, 27, 10, 3, 8, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B598, 0, 0, 0
+ object_event 15, MAP_OBJ_GFX_WOMAN_5, 0, 0, 22, 13, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B5AF, 0, 0, 0
+ object_event 16, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 24, 13, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B5C6, 0, 0, 0
+ object_event 17, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 26, 13, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B5DD, 0, 0, 0
+ object_event 18, MAP_OBJ_GFX_WOMAN_2, 0, 0, 28, 13, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B5F4, 0, 0, 0
+ object_event 19, MAP_OBJ_GFX_WOMAN_3, 0, 0, 20, 10, 3, 10, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B60B, 0, 0, 0
+ object_event 20, MAP_OBJ_GFX_WOMAN_1, 0, 0, 30, 11, 3, 9, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B639, 0, 0, 0
+ object_event 21, MAP_OBJ_GFX_MAN_1, 0, 0, 26, 8, 3, 8, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B622, 0, 0, 0
+ object_event 22, MAP_OBJ_GFX_CAMPER, 0, 0, 13, 20, 3, 8, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B553, 0, 0, 0
+ object_event 23, MAP_OBJ_GFX_WOMAN_4, 0, 0, 36, 22, 3, 8, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B650, 0, 0, 0
+ object_event 24, MAP_OBJ_GFX_CONTEST_JUDGE, 0, 0, 39, 22, 3, 8, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B667, 0, 0, 0
+ object_event 25, MAP_OBJ_GFX_BOY_2, 0, 0, 34, 25, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B67E, 0, 0, 0
+ object_event 26, MAP_OBJ_GFX_GIRL_2, 0, 0, 36, 25, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B695, 0, 0, 0
+ object_event 27, MAP_OBJ_GFX_BOY_3, 0, 0, 38, 25, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B6AC, 0, 0, 0
+ object_event 28, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 40, 25, 3, 7, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B6C3, 0, 0, 0
+ object_event 29, MAP_OBJ_GFX_WOMAN_3, 0, 0, 32, 23, 3, 10, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B6DA, 0, 0, 0
+ object_event 30, MAP_OBJ_GFX_MAN_1, 0, 0, 37, 20, 3, 8, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B71C, 0, 0, 0
+ object_event 31, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 42, 24, 3, 9, 0, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B705, 0, 0, 0
+ object_event 32, MAP_OBJ_GFX_SAILOR, 0, 0, 23, 26, 3, 2, 17, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B4A0, 0, 0, 0
+
+LilycoveCity_ContestHall_MapWarps: @ 8531B50
+ warp_def 19, 32, 0, 2, LILYCOVE_CITY_CONTEST_LOBBY
+ warp_def 30, 32, 0, 3, LILYCOVE_CITY_CONTEST_LOBBY
+ warp_def 20, 32, 0, 2, LILYCOVE_CITY_CONTEST_LOBBY
+ warp_def 31, 32, 0, 3, LILYCOVE_CITY_CONTEST_LOBBY
+
+LilycoveCity_ContestHall_MapBGEvents: @ 8531B70
+ bg_event 27, 16, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B733
+ bg_event 39, 28, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B73C
+ bg_event 11, 28, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B745
+ bg_event 15, 28, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B745
+ bg_event 23, 16, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B733
+ bg_event 35, 28, 0, 0, 0, LilycoveCity_ContestHall_EventScript_21B73C
+
+LilycoveCity_ContestHall_MapEvents:: @ 8531BB8
+ map_events LilycoveCity_ContestHall_MapObjects, LilycoveCity_ContestHall_MapWarps, 0x0, LilycoveCity_ContestHall_MapBGEvents
+
diff --git a/data/maps/events/LilycoveCity_ContestLobby.inc b/data/maps/events/LilycoveCity_ContestLobby.inc
new file mode 100644
index 000000000..6fc324f76
--- /dev/null
+++ b/data/maps/events/LilycoveCity_ContestLobby.inc
@@ -0,0 +1,50 @@
+LilycoveCity_ContestLobby_MapObjects: @ 8531534
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 14, 2, 3, 8, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A554, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 15, 2, 3, 8, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A806, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_5, 0, 0, 26, 9, 3, 10, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_293FA2, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_ARTIST, 0, 0, 9, 1, 0, 1, 0, 0, 0, 0, 0x0, 774, 0, 0
+ object_event 5, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 18, 8, 3, 2, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A708, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_GIRL_2, 0, 0, 4, 9, 3, 2, 34, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A711, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_ARTIST, 0, 0, 3, 4, 3, 2, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A71A, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_REPORTER_M, 0, 0, 13, 10, 3, 10, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_28CA59, 802, 0, 0
+ object_event 9, MAP_OBJ_GFX_BOY_1, 0, 0, 23, 8, 3, 8, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A768, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 28, 9, 3, 9, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_293FB4, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_ARTIST, 0, 0, 21, 1, 0, 8, 0, 0, 0, 0, 0x0, 895, 0, 0
+ object_event 12, MAP_OBJ_GFX_FISHERMAN, 0, 0, 5, 6, 3, 2, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A72C, 0, 0, 0
+ object_event 13, MAP_OBJ_GFX_FAT_MAN, 0, 0, 0, 8, 3, 10, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A723, 0, 0, 0
+ object_event 14, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 8, 7, 3, 3, 16, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A735, 0, 0, 0
+ object_event 15, MAP_OBJ_GFX_WOMAN_2, 0, 0, 22, 9, 3, 10, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_293FAB, 0, 0, 0
+ object_event 16, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 26, 5, 3, 10, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_293FBD, 873, 0, 0
+ object_event 17, MAP_OBJ_GFX_GIRL_1, 0, 0, 24, 9, 3, 9, 0, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A771, 0, 0, 0
+ object_event 18, MAP_OBJ_GFX_MAN_6, 0, 0, 27, 3, 3, 8, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7B3, 832, 0, 0
+ object_event 19, MAP_OBJ_GFX_CAMPER, 0, 0, 28, 3, 3, 8, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7BE, 832, 0, 0
+ object_event 20, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 28, 7, 3, 7, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7C9, 832, 0, 0
+ object_event 21, MAP_OBJ_GFX_SCIENTIST_2, 0, 0, 26, 7, 3, 7, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7D9, 832, 0, 0
+ object_event 22, MAP_OBJ_GFX_WOMAN_1, 0, 0, 27, 7, 3, 7, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7E9, 832, 0, 0
+ object_event 23, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 26, 3, 3, 8, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A7A8, 832, 0, 0
+ object_event 24, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 26, 5, 3, 10, 17, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A798, 832, 0, 0
+ object_event 25, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 9, 10, 3, 10, 34, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21ACF1, 0, 0, 0
+
+LilycoveCity_ContestLobby_MapWarps: @ 853178C
+ warp_def 14, 11, 0, 4, LILYCOVE_CITY
+ warp_def 15, 11, 0, 4, LILYCOVE_CITY
+ warp_def 9, 1, 0, 0, LILYCOVE_CITY_CONTEST_HALL
+ warp_def 21, 1, 0, 1, LILYCOVE_CITY_CONTEST_HALL
+
+LilycoveCity_ContestLobby_MapBGEvents: @ 85317AC
+ bg_event 23, 5, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_294055
+ bg_event 23, 9, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_293E1E
+ bg_event 23, 1, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A753
+ bg_event 25, 1, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A75A
+ bg_event 27, 1, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A761
+ bg_event 30, 1, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A77A
+ bg_event 3, 1, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A73E
+ bg_event 5, 1, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A745
+ bg_event 7, 1, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A74C
+ bg_event 27, 5, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_293C3E
+ bg_event 27, 9, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_293D4D
+ bg_event 18, 3, 0, 0, 0, LilycoveCity_ContestLobby_EventScript_21A784
+
+LilycoveCity_ContestLobby_MapEvents:: @ 853183C
+ map_events LilycoveCity_ContestLobby_MapObjects, LilycoveCity_ContestLobby_MapWarps, 0x0, LilycoveCity_ContestLobby_MapBGEvents
+
diff --git a/data/maps/events/LilycoveCity_CoveLilyMotel_1F.inc b/data/maps/events/LilycoveCity_CoveLilyMotel_1F.inc
new file mode 100644
index 000000000..11d501116
--- /dev/null
+++ b/data/maps/events/LilycoveCity_CoveLilyMotel_1F.inc
@@ -0,0 +1,14 @@
+LilycoveCity_CoveLilyMotel_1F_MapObjects: @ 8531134
+ object_event 1, MAP_OBJ_GFX_MAN_1, 0, 0, 10, 3, 3, 7, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_1F_EventScript_218189, 0, 0, 0
+
+LilycoveCity_CoveLilyMotel_1F_MapWarps: @ 853114C
+ warp_def 5, 8, 0, 1, LILYCOVE_CITY
+ warp_def 6, 8, 0, 1, LILYCOVE_CITY
+ warp_def 2, 1, 0, 0, LILYCOVE_CITY_COVE_LILY_MOTEL_2F
+
+LilycoveCity_CoveLilyMotel_1F_MapCoordEvents: @ 8531164
+ coord_event 10, 2, 3, 0, VAR_0x4001, 0, 0, LilycoveCity_CoveLilyMotel_1F_EventScript_218211
+
+LilycoveCity_CoveLilyMotel_1F_MapEvents:: @ 8531174
+ map_events LilycoveCity_CoveLilyMotel_1F_MapObjects, LilycoveCity_CoveLilyMotel_1F_MapWarps, LilycoveCity_CoveLilyMotel_1F_MapCoordEvents, 0x0
+
diff --git a/data/maps/events/LilycoveCity_CoveLilyMotel_2F.inc b/data/maps/events/LilycoveCity_CoveLilyMotel_2F.inc
new file mode 100644
index 000000000..dfc0d3bd0
--- /dev/null
+++ b/data/maps/events/LilycoveCity_CoveLilyMotel_2F.inc
@@ -0,0 +1,15 @@
+LilycoveCity_CoveLilyMotel_2F_MapObjects: @ 8531188
+ object_event 1, MAP_OBJ_GFX_MAN_4, 0, 0, 4, 6, 3, 9, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_2186D3, 925, 0, 0
+ object_event 2, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 1, 4, 3, 10, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_218729, 925, 0, 0
+ object_event 3, MAP_OBJ_GFX_FAT_MAN, 0, 0, 7, 7, 3, 10, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_218732, 925, 0, 0
+ object_event 4, MAP_OBJ_GFX_MAN_5, 0, 0, 10, 3, 3, 9, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_218720, 925, 0, 0
+ object_event 5, MAP_OBJ_GFX_BOY_5, 0, 0, 7, 3, 3, 8, 17, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_218744, 925, 0, 0
+ object_event 6, MAP_OBJ_GFX_WOMAN_3, 0, 0, 4, 4, 3, 9, 17, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_21873B, 925, 0, 0
+ object_event 7, MAP_OBJ_GFX_SCOTT, 0, 0, 1, 7, 3, 10, 0, 0, 0, 0, LilycoveCity_CoveLilyMotel_2F_EventScript_21874D, 787, 0, 0
+
+LilycoveCity_CoveLilyMotel_2F_MapWarps: @ 8531230
+ warp_def 2, 1, 0, 2, LILYCOVE_CITY_COVE_LILY_MOTEL_1F
+
+LilycoveCity_CoveLilyMotel_2F_MapEvents:: @ 8531238
+ map_events LilycoveCity_CoveLilyMotel_2F_MapObjects, LilycoveCity_CoveLilyMotel_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/LilycoveCity_DepartmentStoreElevator.inc b/data/maps/events/LilycoveCity_DepartmentStoreElevator.inc
new file mode 100644
index 000000000..6c572ce4d
--- /dev/null
+++ b/data/maps/events/LilycoveCity_DepartmentStoreElevator.inc
@@ -0,0 +1,10 @@
+LilycoveCity_DepartmentStoreElevator_MapObjects: @ 85324B0
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, LilycoveCity_DepartmentStoreElevator_EventScript_220624, 0, 0, 0
+
+LilycoveCity_DepartmentStoreElevator_MapWarps: @ 85324C8
+ warp_def 1, 5, 3, 127, NONE
+ warp_def 2, 5, 3, 127, NONE
+
+LilycoveCity_DepartmentStoreElevator_MapEvents:: @ 85324D8
+ map_events LilycoveCity_DepartmentStoreElevator_MapObjects, LilycoveCity_DepartmentStoreElevator_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/LilycoveCity_DepartmentStoreRooftop.inc b/data/maps/events/LilycoveCity_DepartmentStoreRooftop.inc
new file mode 100644
index 000000000..eb0ee1a96
--- /dev/null
+++ b/data/maps/events/LilycoveCity_DepartmentStoreRooftop.inc
@@ -0,0 +1,16 @@
+LilycoveCity_DepartmentStoreRooftop_MapObjects: @ 853241C
+ object_event 1, MAP_OBJ_GFX_MAN_2, 0, 0, 4, 4, 3, 7, 0, 0, 0, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_220268, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_4, 0, 0, 7, 5, 3, 5, 1, 0, 0, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_22028C, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_ROOFTOP_SALE_WOMAN, 0, 0, 6, 1, 3, 8, 17, 0, 0, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_22022F, 962, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_4, 0, 0, 15, 5, 3, 8, 1, 0, 0, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_2C8186, 0, 0, 0
+
+LilycoveCity_DepartmentStoreRooftop_MapWarps: @ 853247C
+ warp_def 13, 3, 0, 2, LILYCOVE_CITY_DEPARTMENT_STORE_5F
+
+LilycoveCity_DepartmentStoreRooftop_MapBGEvents: @ 8532484
+ bg_event 9, 1, 0, 0, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_220295
+ bg_event 10, 1, 0, 0, 0, LilycoveCity_DepartmentStoreRooftop_EventScript_220295
+
+LilycoveCity_DepartmentStoreRooftop_MapEvents:: @ 853249C
+ map_events LilycoveCity_DepartmentStoreRooftop_MapObjects, LilycoveCity_DepartmentStoreRooftop_MapWarps, 0x0, LilycoveCity_DepartmentStoreRooftop_MapBGEvents
+
diff --git a/data/maps/events/LilycoveCity_DepartmentStore_1F.inc b/data/maps/events/LilycoveCity_DepartmentStore_1F.inc
new file mode 100644
index 000000000..10fb7f16e
--- /dev/null
+++ b/data/maps/events/LilycoveCity_DepartmentStore_1F.inc
@@ -0,0 +1,20 @@
+LilycoveCity_DepartmentStore_1F_MapObjects: @ 853208C
+ object_event 1, MAP_OBJ_GFX_BEAUTY, 0, 0, 8, 2, 3, 8, 0, 0, 0, 0, LilycoveCity_DepartmentStore_1F_EventScript_21F693, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BEAUTY, 0, 0, 10, 2, 3, 8, 0, 0, 0, 0, LilycoveCity_DepartmentStore_1F_EventScript_21F69C, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_2, 0, 0, 14, 5, 3, 2, 17, 0, 0, 0, LilycoveCity_DepartmentStore_1F_EventScript_21F82F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 4, 4, 3, 2, 17, 0, 0, 0, LilycoveCity_DepartmentStore_1F_EventScript_21F838, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_MAN_3, 0, 0, 3, 6, 3, 1, 17, 0, 0, 0, LilycoveCity_DepartmentStore_1F_EventScript_21F841, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_AZUMARILL, 0, 0, 2, 6, 3, 1, 17, 0, 0, 0, LilycoveCity_DepartmentStore_1F_EventScript_21F84A, 0, 0, 0
+
+LilycoveCity_DepartmentStore_1F_MapWarps: @ 853211C
+ warp_def 8, 7, 0, 0, LILYCOVE_CITY
+ warp_def 9, 7, 0, 0, LILYCOVE_CITY
+ warp_def 16, 1, 0, 0, LILYCOVE_CITY_DEPARTMENT_STORE_2F
+ warp_def 2, 1, 0, 0, LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR
+
+LilycoveCity_DepartmentStore_1F_MapBGEvents: @ 853213C
+ bg_event 0, 8, 0, 1, 0, LilycoveCity_DepartmentStore_1F_EventScript_21F85D
+
+LilycoveCity_DepartmentStore_1F_MapEvents:: @ 8532148
+ map_events LilycoveCity_DepartmentStore_1F_MapObjects, LilycoveCity_DepartmentStore_1F_MapWarps, 0x0, LilycoveCity_DepartmentStore_1F_MapBGEvents
+
diff --git a/data/maps/events/LilycoveCity_DepartmentStore_2F.inc b/data/maps/events/LilycoveCity_DepartmentStore_2F.inc
new file mode 100644
index 000000000..95c4daee0
--- /dev/null
+++ b/data/maps/events/LilycoveCity_DepartmentStore_2F.inc
@@ -0,0 +1,15 @@
+LilycoveCity_DepartmentStore_2F_MapObjects: @ 853215C
+ object_event 1, MAP_OBJ_GFX_COOK, 0, 0, 8, 2, 3, 8, 0, 0, 0, 0, LilycoveCity_DepartmentStore_2F_EventScript_21FB2D, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_2, 0, 0, 0, 5, 3, 2, 17, 0, 0, 0, LilycoveCity_DepartmentStore_2F_EventScript_21FB36, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_SAILOR, 0, 0, 13, 5, 3, 2, 17, 0, 0, 0, LilycoveCity_DepartmentStore_2F_EventScript_21FB3F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_4, 0, 0, 10, 6, 3, 7, 0, 0, 0, 0, LilycoveCity_DepartmentStore_2F_EventScript_21FB7A, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_WOMAN_4, 0, 0, 7, 6, 3, 7, 0, 0, 0, 0, LilycoveCity_DepartmentStore_2F_EventScript_21FB48, 0, 0, 0
+
+LilycoveCity_DepartmentStore_2F_MapWarps: @ 85321D4
+ warp_def 16, 1, 0, 2, LILYCOVE_CITY_DEPARTMENT_STORE_1F
+ warp_def 13, 1, 0, 0, LILYCOVE_CITY_DEPARTMENT_STORE_3F
+ warp_def 2, 1, 0, 0, LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR
+
+LilycoveCity_DepartmentStore_2F_MapEvents:: @ 85321EC
+ map_events LilycoveCity_DepartmentStore_2F_MapObjects, LilycoveCity_DepartmentStore_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/LilycoveCity_DepartmentStore_3F.inc b/data/maps/events/LilycoveCity_DepartmentStore_3F.inc
new file mode 100644
index 000000000..d51060bba
--- /dev/null
+++ b/data/maps/events/LilycoveCity_DepartmentStore_3F.inc
@@ -0,0 +1,15 @@
+LilycoveCity_DepartmentStore_3F_MapObjects: @ 8532200
+ object_event 1, MAP_OBJ_GFX_RUNNING_TRIATHLETE_M, 0, 0, 0, 5, 3, 2, 17, 0, 0, 0, LilycoveCity_DepartmentStore_3F_EventScript_21FCB6, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_3, 0, 0, 7, 7, 3, 2, 17, 0, 0, 0, LilycoveCity_DepartmentStore_3F_EventScript_21FCBF, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_7, 0, 0, 13, 5, 3, 2, 17, 0, 0, 0, LilycoveCity_DepartmentStore_3F_EventScript_21FCC8, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_4, 0, 0, 8, 2, 3, 8, 0, 0, 0, 0, LilycoveCity_DepartmentStore_3F_EventScript_21FC65, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_WOMAN_4, 0, 0, 10, 2, 3, 8, 17, 0, 0, 0, LilycoveCity_DepartmentStore_3F_EventScript_21FC8C, 0, 0, 0
+
+LilycoveCity_DepartmentStore_3F_MapWarps: @ 8532278
+ warp_def 13, 1, 0, 1, LILYCOVE_CITY_DEPARTMENT_STORE_2F
+ warp_def 16, 1, 0, 0, LILYCOVE_CITY_DEPARTMENT_STORE_4F
+ warp_def 2, 1, 0, 0, LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR
+
+LilycoveCity_DepartmentStore_3F_MapEvents:: @ 8532290
+ map_events LilycoveCity_DepartmentStore_3F_MapObjects, LilycoveCity_DepartmentStore_3F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/LilycoveCity_DepartmentStore_4F.inc b/data/maps/events/LilycoveCity_DepartmentStore_4F.inc
new file mode 100644
index 000000000..4b2f0f00c
--- /dev/null
+++ b/data/maps/events/LilycoveCity_DepartmentStore_4F.inc
@@ -0,0 +1,15 @@
+LilycoveCity_DepartmentStore_4F_MapObjects: @ 85322A4
+ object_event 1, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 0, 2, 3, 2, 17, 0, 0, 0, LilycoveCity_DepartmentStore_4F_EventScript_21FDEB, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_3, 0, 0, 6, 2, 3, 2, 17, 0, 0, 0, LilycoveCity_DepartmentStore_4F_EventScript_21FDF4, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 13, 4, 3, 2, 17, 0, 0, 0, LilycoveCity_DepartmentStore_4F_EventScript_21FDFD, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_4, 0, 0, 7, 6, 3, 7, 0, 0, 0, 0, LilycoveCity_DepartmentStore_4F_EventScript_21FE06, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_WOMAN_4, 0, 0, 9, 6, 3, 7, 0, 0, 0, 0, LilycoveCity_DepartmentStore_4F_EventScript_21FE2C, 0, 0, 0
+
+LilycoveCity_DepartmentStore_4F_MapWarps: @ 853231C
+ warp_def 16, 1, 0, 1, LILYCOVE_CITY_DEPARTMENT_STORE_3F
+ warp_def 13, 1, 0, 0, LILYCOVE_CITY_DEPARTMENT_STORE_5F
+ warp_def 2, 1, 0, 0, LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR
+
+LilycoveCity_DepartmentStore_4F_MapEvents:: @ 8532334
+ map_events LilycoveCity_DepartmentStore_4F_MapObjects, LilycoveCity_DepartmentStore_4F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/LilycoveCity_DepartmentStore_5F.inc b/data/maps/events/LilycoveCity_DepartmentStore_5F.inc
new file mode 100644
index 000000000..f459b4764
--- /dev/null
+++ b/data/maps/events/LilycoveCity_DepartmentStore_5F.inc
@@ -0,0 +1,17 @@
+LilycoveCity_DepartmentStore_5F_MapObjects: @ 8532348
+ object_event 1, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 1, 6, 3, 2, 17, 0, 0, 0, LilycoveCity_DepartmentStore_5F_EventScript_2200BC, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_2, 0, 0, 7, 7, 3, 17, 17, 0, 0, 0, LilycoveCity_DepartmentStore_5F_EventScript_22006C, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_4, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, LilycoveCity_DepartmentStore_5F_EventScript_21FFA6, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_4, 0, 0, 9, 2, 3, 8, 0, 0, 0, 0, LilycoveCity_DepartmentStore_5F_EventScript_21FFDC, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_WOMAN_4, 0, 0, 15, 6, 3, 9, 0, 0, 0, 0, LilycoveCity_DepartmentStore_5F_EventScript_22000A, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_WOMAN_4, 0, 0, 17, 6, 3, 7, 0, 0, 0, 0, LilycoveCity_DepartmentStore_5F_EventScript_22003A, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_WOMAN_3, 0, 0, 9, 5, 3, 10, 17, 0, 0, 0, LilycoveCity_DepartmentStore_5F_EventScript_220075, 0, 0, 0
+
+LilycoveCity_DepartmentStore_5F_MapWarps: @ 85323F0
+ warp_def 13, 1, 0, 1, LILYCOVE_CITY_DEPARTMENT_STORE_4F
+ warp_def 2, 1, 0, 0, LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR
+ warp_def 16, 1, 0, 0, LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP
+
+LilycoveCity_DepartmentStore_5F_MapEvents:: @ 8532408
+ map_events LilycoveCity_DepartmentStore_5F_MapObjects, LilycoveCity_DepartmentStore_5F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/LilycoveCity_Harbor.inc b/data/maps/events/LilycoveCity_Harbor.inc
new file mode 100644
index 000000000..f2088e9d2
--- /dev/null
+++ b/data/maps/events/LilycoveCity_Harbor.inc
@@ -0,0 +1,14 @@
+LilycoveCity_Harbor_MapObjects: @ 8531E1C
+ object_event 1, MAP_OBJ_GFX_BEAUTY, 0, 0, 8, 10, 3, 8, 0, 0, 0, 0, LilycoveCity_Harbor_EventScript_21E00F, 908, 0, 0
+ object_event 2, MAP_OBJ_GFX_SS_TIDAL, 0, 0, 8, 9, 1, 10, 0, 0, 0, 0, 0x0, 861, 0, 0
+ object_event 3, MAP_OBJ_GFX_SAILOR, 0, 0, 3, 13, 3, 2, 17, 0, 0, 0, LilycoveCity_Harbor_EventScript_21E637, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_SAILOR, 0, 0, 8, 10, 3, 8, 0, 0, 0, 0, 0x0, 909, 0, 0
+ object_event 5, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 8, 10, 3, 8, 17, 0, 0, 0, 0x0, 748, 0, 0
+
+LilycoveCity_Harbor_MapWarps: @ 8531E94
+ warp_def 11, 14, 0, 12, LILYCOVE_CITY
+ warp_def 12, 14, 0, 12, LILYCOVE_CITY
+
+LilycoveCity_Harbor_MapEvents:: @ 8531EA4
+ map_events LilycoveCity_Harbor_MapObjects, LilycoveCity_Harbor_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/LilycoveCity_House1.inc b/data/maps/events/LilycoveCity_House1.inc
new file mode 100644
index 000000000..1edca4904
--- /dev/null
+++ b/data/maps/events/LilycoveCity_House1.inc
@@ -0,0 +1,11 @@
+LilycoveCity_House1_MapObjects: @ 8531EF4
+ object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 4, 5, 3, 9, 17, 0, 0, 0, LilycoveCity_House1_EventScript_21ECCE, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_KECLEON_1, 0, 0, 4, 4, 3, 8, 0, 0, 0, 0, LilycoveCity_House1_EventScript_21ECD7, 0, 0, 0
+
+LilycoveCity_House1_MapWarps: @ 8531F24
+ warp_def 3, 8, 0, 8, LILYCOVE_CITY
+ warp_def 4, 8, 0, 8, LILYCOVE_CITY
+
+LilycoveCity_House1_MapEvents:: @ 8531F34
+ map_events LilycoveCity_House1_MapObjects, LilycoveCity_House1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/LilycoveCity_House2.inc b/data/maps/events/LilycoveCity_House2.inc
new file mode 100644
index 000000000..2321844fa
--- /dev/null
+++ b/data/maps/events/LilycoveCity_House2.inc
@@ -0,0 +1,10 @@
+LilycoveCity_House2_MapObjects: @ 8531F48
+ object_event 1, MAP_OBJ_GFX_FAT_MAN, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, LilycoveCity_House2_EventScript_21ED75, 0, 0, 0
+
+LilycoveCity_House2_MapWarps: @ 8531F60
+ warp_def 2, 7, 0, 9, LILYCOVE_CITY
+ warp_def 3, 7, 0, 9, LILYCOVE_CITY
+
+LilycoveCity_House2_MapEvents:: @ 8531F70
+ map_events LilycoveCity_House2_MapObjects, LilycoveCity_House2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/LilycoveCity_House3.inc b/data/maps/events/LilycoveCity_House3.inc
new file mode 100644
index 000000000..05b36263a
--- /dev/null
+++ b/data/maps/events/LilycoveCity_House3.inc
@@ -0,0 +1,15 @@
+LilycoveCity_House3_MapObjects: @ 8531F84
+ object_event 1, MAP_OBJ_GFX_BOY_5, 0, 0, 3, 4, 3, 8, 17, 0, 0, 0, LilycoveCity_House3_EventScript_21EF3D, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_2, 0, 0, 7, 4, 3, 9, 0, 0, 0, 0, LilycoveCity_House3_EventScript_21EE4B, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BOY_5, 0, 0, 1, 4, 3, 8, 17, 0, 0, 0, LilycoveCity_House3_EventScript_21EED5, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BOY_5, 0, 0, 2, 5, 3, 7, 17, 0, 0, 0, LilycoveCity_House3_EventScript_21EF09, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_BOY_5, 0, 0, 2, 3, 3, 8, 17, 0, 0, 0, LilycoveCity_House3_EventScript_21EEA1, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_MAN_1, 0, 0, 7, 5, 3, 9, 17, 0, 0, 0, LilycoveCity_House3_EventScript_21EE8A, 0, 0, 0
+
+LilycoveCity_House3_MapWarps: @ 8532014
+ warp_def 3, 7, 0, 10, LILYCOVE_CITY
+ warp_def 4, 7, 0, 10, LILYCOVE_CITY
+
+LilycoveCity_House3_MapEvents:: @ 8532024
+ map_events LilycoveCity_House3_MapObjects, LilycoveCity_House3_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/LilycoveCity_House4.inc b/data/maps/events/LilycoveCity_House4.inc
new file mode 100644
index 000000000..9212c1e0e
--- /dev/null
+++ b/data/maps/events/LilycoveCity_House4.inc
@@ -0,0 +1,11 @@
+LilycoveCity_House4_MapObjects: @ 8532038
+ object_event 1, MAP_OBJ_GFX_MAN_5, 0, 0, 1, 4, 3, 2, 17, 0, 0, 0, LilycoveCity_House4_EventScript_21F5B5, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_1, 0, 0, 7, 4, 3, 2, 17, 0, 0, 0, LilycoveCity_House4_EventScript_21F5BE, 0, 0, 0
+
+LilycoveCity_House4_MapWarps: @ 8532068
+ warp_def 3, 8, 0, 11, LILYCOVE_CITY
+ warp_def 4, 8, 0, 11, LILYCOVE_CITY
+
+LilycoveCity_House4_MapEvents:: @ 8532078
+ map_events LilycoveCity_House4_MapObjects, LilycoveCity_House4_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/LilycoveCity_LilycoveMuseum_1F.inc b/data/maps/events/LilycoveCity_LilycoveMuseum_1F.inc
new file mode 100644
index 000000000..36b9b5ac2
--- /dev/null
+++ b/data/maps/events/LilycoveCity_LilycoveMuseum_1F.inc
@@ -0,0 +1,38 @@
+LilycoveCity_LilycoveMuseum_1F_MapObjects: @ 853124C
+ object_event 1, MAP_OBJ_GFX_BEAUTY, 0, 0, 5, 12, 3, 10, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218CB9, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 16, 2, 3, 8, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218CC2, 775, 0, 0
+ object_event 3, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 13, 7, 3, 10, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DF5, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_ARTIST, 0, 0, 13, 10, 3, 5, 2, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DFE, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 2, 8, 3, 7, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218E07, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_WOMAN_5, 0, 0, 3, 8, 3, 7, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218E10, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_WOMAN_3, 0, 0, 11, 3, 3, 2, 17, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218E19, 776, 0, 0
+ object_event 8, MAP_OBJ_GFX_ARTIST, 0, 0, 19, 3, 3, 7, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218E2B, 779, 0, 0
+ object_event 9, MAP_OBJ_GFX_FAT_MAN, 0, 0, 2, 2, 3, 2, 34, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218E42, 780, 0, 0
+ object_event 10, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 6, 2, 3, 2, 17, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218E22, 778, 0, 0
+
+LilycoveCity_LilycoveMuseum_1F_MapWarps: @ 853133C
+ warp_def 9, 13, 0, 3, LILYCOVE_CITY
+ warp_def 10, 13, 0, 13, LILYCOVE_CITY
+ warp_def 16, 1, 0, 0, LILYCOVE_CITY_LILYCOVE_MUSEUM_2F
+
+LilycoveCity_LilycoveMuseum_1F_MapBGEvents: @ 8531354
+ bg_event 1, 1, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DAD
+ bg_event 2, 1, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DAD
+ bg_event 5, 1, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DD1
+ bg_event 6, 1, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DD1
+ bg_event 9, 1, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DA4
+ bg_event 3, 6, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DB6
+ bg_event 2, 6, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DB6
+ bg_event 15, 12, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DDA
+ bg_event 11, 1, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DA4
+ bg_event 6, 6, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DC8
+ bg_event 17, 9, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DEC
+ bg_event 19, 1, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DBF
+ bg_event 20, 1, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DBF
+ bg_event 18, 9, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DEC
+ bg_event 18, 11, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DE3
+ bg_event 16, 9, 0, 0, 0, LilycoveCity_LilycoveMuseum_1F_EventScript_218DEC
+
+LilycoveCity_LilycoveMuseum_1F_MapEvents:: @ 8531414
+ map_events LilycoveCity_LilycoveMuseum_1F_MapObjects, LilycoveCity_LilycoveMuseum_1F_MapWarps, 0x0, LilycoveCity_LilycoveMuseum_1F_MapBGEvents
+
diff --git a/data/maps/events/LilycoveCity_LilycoveMuseum_2F.inc b/data/maps/events/LilycoveCity_LilycoveMuseum_2F.inc
new file mode 100644
index 000000000..829db7b36
--- /dev/null
+++ b/data/maps/events/LilycoveCity_LilycoveMuseum_2F.inc
@@ -0,0 +1,26 @@
+LilycoveCity_LilycoveMuseum_2F_MapObjects: @ 8531428
+ object_event 1, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 10, 8, 3, 7, 0, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219866, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GIRL_2, 0, 0, 19, 10, 3, 2, 17, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_21998A, 777, 0, 0
+ object_event 3, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 7, 3, 3, 2, 17, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219993, 780, 0, 0
+ object_event 4, MAP_OBJ_GFX_BOY_4, 0, 0, 14, 6, 3, 2, 17, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_21999C, 780, 0, 0
+
+LilycoveCity_LilycoveMuseum_2F_MapWarps: @ 8531488
+ warp_def 13, 1, 0, 2, LILYCOVE_CITY_LILYCOVE_MUSEUM_1F
+
+LilycoveCity_LilycoveMuseum_2F_MapBGEvents: @ 8531490
+ bg_event 14, 10, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_21992B
+ bg_event 15, 10, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_21992B
+ bg_event 3, 6, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_21993E
+ bg_event 2, 6, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_21993E
+ bg_event 10, 6, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219951
+ bg_event 11, 6, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219951
+ bg_event 19, 6, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219964
+ bg_event 18, 6, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219964
+ bg_event 6, 10, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219977
+ bg_event 7, 10, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219977
+ bg_event 11, 2, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_218DDA
+ bg_event 15, 2, 0, 0, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_218DDA
+
+LilycoveCity_LilycoveMuseum_2F_MapEvents:: @ 8531520
+ map_events LilycoveCity_LilycoveMuseum_2F_MapObjects, LilycoveCity_LilycoveMuseum_2F_MapWarps, 0x0, LilycoveCity_LilycoveMuseum_2F_MapBGEvents
+
diff --git a/data/maps/events/LilycoveCity_MoveDeletersHouse.inc b/data/maps/events/LilycoveCity_MoveDeletersHouse.inc
new file mode 100644
index 000000000..1b5f4bda5
--- /dev/null
+++ b/data/maps/events/LilycoveCity_MoveDeletersHouse.inc
@@ -0,0 +1,10 @@
+LilycoveCity_MoveDeletersHouse_MapObjects: @ 8531EB8
+ object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 4, 4, 3, 8, 0, 0, 0, 0, LilycoveCity_MoveDeletersHouse_EventScript_21EA0B, 0, 0, 0
+
+LilycoveCity_MoveDeletersHouse_MapWarps: @ 8531ED0
+ warp_def 3, 7, 0, 7, LILYCOVE_CITY
+ warp_def 4, 7, 0, 7, LILYCOVE_CITY
+
+LilycoveCity_MoveDeletersHouse_MapEvents:: @ 8531EE0
+ map_events LilycoveCity_MoveDeletersHouse_MapObjects, LilycoveCity_MoveDeletersHouse_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/LilycoveCity_PokemonCenter_1F.inc b/data/maps/events/LilycoveCity_PokemonCenter_1F.inc
new file mode 100644
index 000000000..ba8988b96
--- /dev/null
+++ b/data/maps/events/LilycoveCity_PokemonCenter_1F.inc
@@ -0,0 +1,15 @@
+LilycoveCity_PokemonCenter_1F_MapObjects: @ 8531BCC
+ object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_21C5E8, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BOY_1, 0, 0, 10, 7, 3, 10, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_21C5F6, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MANIAC, 0, 0, 11, 8, 3, 7, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_21C5FF, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_HIPSTER, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_2A836B, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_TRADER, 0, 0, 2, 3, 3, 8, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_2A89C7, 993, 0, 0
+
+LilycoveCity_PokemonCenter_1F_MapWarps: @ 8531C44
+ warp_def 7, 8, 3, 2, LILYCOVE_CITY
+ warp_def 6, 8, 3, 2, LILYCOVE_CITY
+ warp_def 1, 6, 4, 0, LILYCOVE_CITY_POKEMON_CENTER_2F
+
+LilycoveCity_PokemonCenter_1F_MapEvents:: @ 8531C5C
+ map_events LilycoveCity_PokemonCenter_1F_MapObjects, LilycoveCity_PokemonCenter_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/LilycoveCity_PokemonCenter_2F.inc b/data/maps/events/LilycoveCity_PokemonCenter_2F.inc
new file mode 100644
index 000000000..024b56427
--- /dev/null
+++ b/data/maps/events/LilycoveCity_PokemonCenter_2F.inc
@@ -0,0 +1,14 @@
+LilycoveCity_PokemonCenter_2F_MapObjects: @ 8531C70
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, LilycoveCity_PokemonCenter_2F_EventScript_27375B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, LilycoveCity_PokemonCenter_2F_EventScript_273761, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, LilycoveCity_PokemonCenter_2F_EventScript_273767, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, LilycoveCity_PokemonCenter_2F_EventScript_276B03, 702, 0, 0
+
+LilycoveCity_PokemonCenter_2F_MapWarps: @ 8531CD0
+ warp_def 1, 6, 4, 2, LILYCOVE_CITY_POKEMON_CENTER_1F
+ warp_def 5, 1, 3, 0, UNION_ROOM
+ warp_def 9, 1, 3, 0, TRADE_CENTER
+
+LilycoveCity_PokemonCenter_2F_MapEvents:: @ 8531CE8
+ map_events LilycoveCity_PokemonCenter_2F_MapObjects, LilycoveCity_PokemonCenter_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/LilycoveCity_PokemonTrainerFanClub.inc b/data/maps/events/LilycoveCity_PokemonTrainerFanClub.inc
new file mode 100644
index 000000000..886927d3e
--- /dev/null
+++ b/data/maps/events/LilycoveCity_PokemonTrainerFanClub.inc
@@ -0,0 +1,18 @@
+LilycoveCity_PokemonTrainerFanClub_MapObjects: @ 8531D20
+ object_event 1, MAP_OBJ_GFX_LASS, 0, 0, 3, 11, 3, 7, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CA8E, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_5, 0, 0, 8, 10, 3, 9, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CA17, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_3, 0, 0, 6, 11, 3, 7, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CB05, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 5, 8, 3, 8, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CB7C, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 7, 11, 3, 7, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3, 791, 0, 0
+ object_event 6, MAP_OBJ_GFX_BOY_2, 0, 0, 1, 9, 3, 8, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55, 790, 0, 0
+ object_event 7, MAP_OBJ_GFX_WOMAN_4, 0, 0, 3, 10, 3, 10, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7, 792, 0, 0
+ object_event 8, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 10, 10, 3, 9, 0, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19, 789, 0, 0
+ object_event 9, MAP_OBJ_GFX_BOY_1, 0, 0, 11, 5, 3, 8, 17, 0, 0, 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CD7B, 730, 0, 0
+
+LilycoveCity_PokemonTrainerFanClub_MapWarps: @ 8531DF8
+ warp_def 6, 13, 0, 5, LILYCOVE_CITY
+ warp_def 5, 13, 0, 5, LILYCOVE_CITY
+
+LilycoveCity_PokemonTrainerFanClub_MapEvents:: @ 8531E08
+ map_events LilycoveCity_PokemonTrainerFanClub_MapObjects, LilycoveCity_PokemonTrainerFanClub_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/LilycoveCity_UnusedMart.inc b/data/maps/events/LilycoveCity_UnusedMart.inc
new file mode 100644
index 000000000..9affe49bd
--- /dev/null
+++ b/data/maps/events/LilycoveCity_UnusedMart.inc
@@ -0,0 +1,7 @@
+LilycoveCity_UnusedMart_MapWarps: @ 8531CFC
+ warp_def 3, 7, 0, 0, LILYCOVE_CITY
+ warp_def 4, 7, 0, 0, LILYCOVE_CITY
+
+LilycoveCity_UnusedMart_MapEvents:: @ 8531D0C
+ map_events 0x0, LilycoveCity_UnusedMart_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/LinkContestRoom1.inc b/data/maps/events/LinkContestRoom1.inc
new file mode 100644
index 000000000..248ca948d
--- /dev/null
+++ b/data/maps/events/LinkContestRoom1.inc
@@ -0,0 +1,18 @@
+LinkContestRoom1_MapObjects: @ 8539EFC
+ object_event 1, MAP_OBJ_GFX_WOMAN_4, 0, 0, 6, 4, 3, 8, 0, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_CONTEST_JUDGE, 0, 0, 7, 4, 3, 8, 0, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_HIPSTER, 0, 0, 4, 7, 3, 7, 0, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_TRADER, 0, 0, 6, 7, 3, 7, 0, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_STORYTELLER, 0, 0, 8, 7, 3, 7, 0, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 2, 6, 3, 10, 0, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 7, 246, 0, 0, 4, 2, 3, 8, 0, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 8, 247, 0, 0, 5, 2, 3, 8, 0, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 9, 248, 0, 0, 9, 2, 3, 8, 0, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 10, 249, 0, 0, 10, 2, 3, 8, 0, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 11, 250, 0, 0, 12, 5, 3, 9, 0, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 12, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 2, 5, 3, 10, 0, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 13, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 5, 3, 1, 0, 0, 0, 0, 0x0, 86, 0, 0
+ object_event 14, MAP_OBJ_GFX_GIDDY, 0, 0, 10, 7, 3, 7, 0, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 15, MAP_OBJ_GFX_ARTIST, 0, 0, 12, 6, 3, 9, 0, 0, 0, 0, 0x0, 0, 0, 0
+
+LinkContestRoom1_MapEvents:: @ 853A064
diff --git a/data/maps/events/LinkContestRoom2.inc b/data/maps/events/LinkContestRoom2.inc
new file mode 100644
index 000000000..89cb251d5
--- /dev/null
+++ b/data/maps/events/LinkContestRoom2.inc
@@ -0,0 +1 @@
+LinkContestRoom2_MapEvents:: @ 853A064
diff --git a/data/maps/events/LinkContestRoom3.inc b/data/maps/events/LinkContestRoom3.inc
new file mode 100644
index 000000000..1e1b194c6
--- /dev/null
+++ b/data/maps/events/LinkContestRoom3.inc
@@ -0,0 +1 @@
+LinkContestRoom3_MapEvents:: @ 853A064
diff --git a/data/maps/events/LinkContestRoom4.inc b/data/maps/events/LinkContestRoom4.inc
new file mode 100644
index 000000000..56e608f20
--- /dev/null
+++ b/data/maps/events/LinkContestRoom4.inc
@@ -0,0 +1 @@
+LinkContestRoom4_MapEvents:: @ 853A064
diff --git a/data/maps/events/LinkContestRoom5.inc b/data/maps/events/LinkContestRoom5.inc
new file mode 100644
index 000000000..90644518e
--- /dev/null
+++ b/data/maps/events/LinkContestRoom5.inc
@@ -0,0 +1 @@
+LinkContestRoom5_MapEvents:: @ 853A064
diff --git a/data/maps/events/LinkContestRoom6.inc b/data/maps/events/LinkContestRoom6.inc
new file mode 100644
index 000000000..802987a1d
--- /dev/null
+++ b/data/maps/events/LinkContestRoom6.inc
@@ -0,0 +1 @@
+LinkContestRoom6_MapEvents:: @ 853A064
diff --git a/data/maps/events/LittlerootTown.inc b/data/maps/events/LittlerootTown.inc
new file mode 100644
index 000000000..763391b09
--- /dev/null
+++ b/data/maps/events/LittlerootTown.inc
@@ -0,0 +1,35 @@
+LittlerootTown_MapObjects: @ 85276A8
+ object_event 1, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 16, 10, 3, 2, 33, 0, 0, 0, LittlerootTown_EventScript_1E8034, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_FAT_MAN, 0, 0, 12, 13, 3, 2, 18, 0, 0, 0, LittlerootTown_EventScript_1E8022, 868, 0, 0
+ object_event 3, MAP_OBJ_GFX_BOY_2, 0, 0, 14, 17, 3, 2, 18, 0, 0, 0, LittlerootTown_EventScript_1E802B, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MOM, 0, 0, 5, 8, 3, 7, 0, 0, 0, 0, LittlerootTown_EventScript_1E863D, 752, 0, 0
+ object_event 5, MAP_OBJ_GFX_TRUCK, 0, 0, 2, 10, 4, 10, 0, 0, 0, 0, 0x0, 761, 0, 0
+ object_event 6, MAP_OBJ_GFX_TRUCK, 0, 0, 11, 10, 4, 10, 0, 0, 0, 0, 0x0, 762, 0, 0
+ object_event 7, MAP_OBJ_GFX_HIPSTER, 0, 0, 13, 10, 3, 7, 17, 0, 0, 0, 0x0, 794, 0, 0
+ object_event 8, MAP_OBJ_GFX_PROF_BIRCH, 0, 0, 14, 10, 3, 7, 17, 0, 0, 0, 0x0, 795, 0, 0
+
+LittlerootTown_MapWarps: @ 8527768
+ warp_def 14, 8, 0, 1, LITTLEROOT_TOWN_MAYS_HOUSE_1F
+ warp_def 5, 8, 0, 1, LITTLEROOT_TOWN_BRENDANS_HOUSE_1F
+ warp_def 7, 16, 0, 0, LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB
+
+LittlerootTown_MapCoordEvents: @ 8527780
+ coord_event 10, 1, 3, 0, VAR_0x4050, 0, 0, LittlerootTown_EventScript_1E8091
+ coord_event 11, 1, 3, 0, VAR_0x4050, 0, 0, LittlerootTown_EventScript_1E80EF
+ coord_event 11, 1, 3, 0, VAR_0x4050, 1, 0, LittlerootTown_EventScript_1E811F
+ coord_event 8, 9, 3, 0, VAR_0x4050, 3, 0, LittlerootTown_EventScript_1E81F9
+ coord_event 9, 9, 3, 0, VAR_0x4050, 3, 0, LittlerootTown_EventScript_1E8205
+ coord_event 10, 9, 3, 0, VAR_0x4050, 3, 0, LittlerootTown_EventScript_1E81E1
+ coord_event 11, 9, 3, 0, VAR_0x4050, 3, 0, LittlerootTown_EventScript_1E81ED
+ coord_event 10, 2, 3, 0, VAR_0x4050, 3, 0, LittlerootTown_EventScript_1E81BB
+ coord_event 11, 2, 3, 0, VAR_0x4050, 3, 0, LittlerootTown_EventScript_1E81CE
+
+LittlerootTown_MapBGEvents: @ 8527810
+ bg_event 15, 13, 0, 0, 0, LittlerootTown_EventScript_1E8151
+ bg_event 6, 17, 0, 0, 0, LittlerootTown_EventScript_1E815A
+ bg_event 7, 8, 3, 0, 0, LittlerootTown_EventScript_1E8163
+ bg_event 12, 8, 3, 0, 0, LittlerootTown_EventScript_1E818F
+
+LittlerootTown_MapEvents:: @ 8527840
+ map_events LittlerootTown_MapObjects, LittlerootTown_MapWarps, LittlerootTown_MapCoordEvents, LittlerootTown_MapBGEvents
+
diff --git a/data/maps/events/LittlerootTown_BrendansHouse_1F.inc b/data/maps/events/LittlerootTown_BrendansHouse_1F.inc
new file mode 100644
index 000000000..6f6fc9df4
--- /dev/null
+++ b/data/maps/events/LittlerootTown_BrendansHouse_1F.inc
@@ -0,0 +1,23 @@
+LittlerootTown_BrendansHouse_1F_MapObjects: @ 852D08C
+ object_event 1, MAP_OBJ_GFX_MOM, 0, 0, 2, 6, 3, 10, 0, 0, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_2929C5, 758, 0, 0
+ object_event 2, MAP_OBJ_GFX_VIGAROTH_CARRYING_BOX, 0, 0, 1, 3, 3, 28, 3, 0, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_292ACD, 755, 0, 0
+ object_event 3, MAP_OBJ_GFX_VIGAROTH_FACING_AWAY, 0, 0, 4, 5, 3, 65, 0, 0, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_292ABA, 754, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_5, 0, 0, 2, 7, 3, 10, 0, 0, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_1F89F3, 784, 0, 0
+ object_event 5, MAP_OBJ_GFX_NORMAN, 0, 0, 5, 6, 3, 9, 17, 0, 0, 0, 0x0, 734, 0, 0
+ object_event 6, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 1, 5, 3, 5, 17, 0, 0, 0, LittlerootTown_BrendansHouse_1F_EventScript_1F8A3D, 735, 0, 0
+ object_event 7, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 8, 8, 3, 7, 17, 0, 0, 0, 0x0, 745, 0, 0
+
+LittlerootTown_BrendansHouse_1F_MapWarps: @ 852D134
+ warp_def 9, 8, 0, 1, LITTLEROOT_TOWN
+ warp_def 8, 8, 0, 1, LITTLEROOT_TOWN
+ warp_def 8, 2, 0, 0, LITTLEROOT_TOWN_BRENDANS_HOUSE_2F
+
+LittlerootTown_BrendansHouse_1F_MapCoordEvents: @ 852D14C
+ coord_event 8, 8, 0, 0, VAR_0x4092, 4, 0, LittlerootTown_BrendansHouse_1F_EventScript_1F78A3
+ coord_event 7, 3, 0, 0, VAR_0x408D, 2, 0, LittlerootTown_BrendansHouse_1F_EventScript_1F78BE
+ coord_event 8, 4, 0, 0, VAR_0x408D, 2, 0, LittlerootTown_BrendansHouse_1F_EventScript_1F78CA
+ coord_event 9, 3, 0, 0, VAR_0x408D, 2, 0, LittlerootTown_BrendansHouse_1F_EventScript_1F78D6
+
+LittlerootTown_BrendansHouse_1F_MapEvents:: @ 852D18C
+ map_events LittlerootTown_BrendansHouse_1F_MapObjects, LittlerootTown_BrendansHouse_1F_MapWarps, LittlerootTown_BrendansHouse_1F_MapCoordEvents, 0x0
+
diff --git a/data/maps/events/LittlerootTown_BrendansHouse_2F.inc b/data/maps/events/LittlerootTown_BrendansHouse_2F.inc
new file mode 100644
index 000000000..af470cca5
--- /dev/null
+++ b/data/maps/events/LittlerootTown_BrendansHouse_2F.inc
@@ -0,0 +1,30 @@
+LittlerootTown_BrendansHouse_2F_MapObjects: @ 852D1A0
+ object_event 1, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 7, 1, 0, 8, 1, 0, 0, 0, LittlerootTown_BrendansHouse_2F_EventScript_1F94C1, 760, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 1, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 1, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 0, 1, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 4, 1, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 2, 3, 1, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 3, 3, 1, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 4, 3, 1, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 5, 0, 1, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, MAP_OBJ_GFX_MOM, 0, 0, 7, 1, 3, 8, 1, 0, 0, 0, 0x0, 757, 0, 0
+ object_event 15, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 4, 0, 1, 17, 0, 0, 0, LittlerootTown_BrendansHouse_2F_EventScript_1F8481, 817, 0, 0
+ object_event 16, MAP_OBJ_GFX_SWABLU_DOLL, 0, 0, 5, 5, 3, 1, 17, 0, 0, 0, 0x0, 815, 0, 0
+
+LittlerootTown_BrendansHouse_2F_MapWarps: @ 852D320
+ warp_def 7, 1, 0, 2, LITTLEROOT_TOWN_BRENDANS_HOUSE_1F
+
+LittlerootTown_BrendansHouse_2F_MapBGEvents: @ 852D328
+ bg_event 0, 1, 0, 1, 0, gUnknown_081F860D
+ bg_event 1, 1, 0, 0, 0, LittlerootTown_BrendansHouse_2F_EventScript_1F8656
+ bg_event 5, 1, 0, 0, 0, LittlerootTown_BrendansHouse_2F_EventScript_292781
+ bg_event 3, 1, 0, 0, 0, LittlerootTown_BrendansHouse_2F_EventScript_1F865F
+
+LittlerootTown_BrendansHouse_2F_MapEvents:: @ 852D358
+ map_events LittlerootTown_BrendansHouse_2F_MapObjects, LittlerootTown_BrendansHouse_2F_MapWarps, 0x0, LittlerootTown_BrendansHouse_2F_MapBGEvents
+
diff --git a/data/maps/events/LittlerootTown_MaysHouse_1F.inc b/data/maps/events/LittlerootTown_MaysHouse_1F.inc
new file mode 100644
index 000000000..68bf13bcd
--- /dev/null
+++ b/data/maps/events/LittlerootTown_MaysHouse_1F.inc
@@ -0,0 +1,23 @@
+LittlerootTown_MaysHouse_1F_MapObjects: @ 852D36C
+ object_event 1, MAP_OBJ_GFX_MOM, 0, 0, 8, 6, 3, 9, 0, 0, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_2929C5, 759, 0, 0
+ object_event 2, MAP_OBJ_GFX_VIGAROTH_FACING_AWAY, 0, 0, 6, 5, 3, 65, 0, 0, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_292ABA, 754, 0, 0
+ object_event 3, MAP_OBJ_GFX_VIGAROTH_CARRYING_BOX, 0, 0, 9, 3, 3, 27, 3, 0, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_292ACD, 755, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_5, 0, 0, 8, 7, 3, 9, 0, 0, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_1F89F3, 785, 0, 0
+ object_event 5, MAP_OBJ_GFX_NORMAN, 0, 0, 5, 6, 3, 10, 17, 0, 0, 0, 0x0, 734, 0, 0
+ object_event 6, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 9, 5, 3, 5, 17, 0, 0, 0, LittlerootTown_MaysHouse_1F_EventScript_1F8A3D, 736, 0, 0
+ object_event 7, MAP_OBJ_GFX_RIVAL_MAY_NORMAL, 0, 0, 2, 8, 3, 7, 17, 0, 0, 0, 0x0, 746, 0, 0
+
+LittlerootTown_MaysHouse_1F_MapWarps: @ 852D414
+ warp_def 1, 8, 0, 0, LITTLEROOT_TOWN
+ warp_def 2, 8, 0, 0, LITTLEROOT_TOWN
+ warp_def 2, 2, 0, 0, LITTLEROOT_TOWN_MAYS_HOUSE_2F
+
+LittlerootTown_MaysHouse_1F_MapCoordEvents: @ 852D42C
+ coord_event 2, 8, 0, 0, VAR_0x4092, 4, 0, LittlerootTown_MaysHouse_1F_EventScript_1F8A4C
+ coord_event 1, 3, 0, 0, VAR_0x408D, 2, 0, LittlerootTown_MaysHouse_1F_EventScript_1F8A67
+ coord_event 2, 4, 0, 0, VAR_0x408D, 2, 0, LittlerootTown_MaysHouse_1F_EventScript_1F8A73
+ coord_event 3, 3, 0, 0, VAR_0x408D, 2, 0, LittlerootTown_MaysHouse_1F_EventScript_1F8A7F
+
+LittlerootTown_MaysHouse_1F_MapEvents:: @ 852D46C
+ map_events LittlerootTown_MaysHouse_1F_MapObjects, LittlerootTown_MaysHouse_1F_MapWarps, LittlerootTown_MaysHouse_1F_MapCoordEvents, 0x0
+
diff --git a/data/maps/events/LittlerootTown_MaysHouse_2F.inc b/data/maps/events/LittlerootTown_MaysHouse_2F.inc
new file mode 100644
index 000000000..4d26b70d7
--- /dev/null
+++ b/data/maps/events/LittlerootTown_MaysHouse_2F.inc
@@ -0,0 +1,30 @@
+LittlerootTown_MaysHouse_2F_MapObjects: @ 852D480
+ object_event 1, MAP_OBJ_GFX_RIVAL_MAY_NORMAL, 0, 0, 1, 1, 0, 8, 1, 0, 0, 0, LittlerootTown_MaysHouse_2F_EventScript_1F94C1, 722, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 6, 0, 1, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 1, 6, 3, 1, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 2, 6, 0, 1, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 3, 6, 3, 1, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 6, 3, 1, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 6, 3, 1, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 7, 3, 1, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 7, 3, 1, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 2, 7, 3, 1, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 3, 7, 3, 1, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 4, 7, 3, 1, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 5, 7, 3, 1, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, MAP_OBJ_GFX_MOM, 0, 0, 1, 1, 3, 8, 1, 0, 0, 0, 0x0, 757, 0, 0
+ object_event 15, MAP_OBJ_GFX_PICHU_DOLL, 0, 0, 3, 4, 4, 8, 17, 0, 0, 0, 0x0, 849, 0, 0
+ object_event 16, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 5, 4, 0, 1, 17, 0, 0, 0, LittlerootTown_MaysHouse_2F_EventScript_1F9334, 818, 0, 0
+
+LittlerootTown_MaysHouse_2F_MapWarps: @ 852D600
+ warp_def 1, 1, 0, 2, LITTLEROOT_TOWN_MAYS_HOUSE_1F
+
+LittlerootTown_MaysHouse_2F_MapBGEvents: @ 852D608
+ bg_event 5, 1, 0, 0, 0, LittlerootTown_MaysHouse_2F_EventScript_1F865F
+ bg_event 7, 1, 0, 0, 0, LittlerootTown_MaysHouse_2F_EventScript_1F8656
+ bg_event 3, 1, 0, 0, 0, LittlerootTown_MaysHouse_2F_EventScript_29278D
+ bg_event 8, 1, 0, 0, 0, gUnknown_081F9553
+
+LittlerootTown_MaysHouse_2F_MapEvents:: @ 852D638
+ map_events LittlerootTown_MaysHouse_2F_MapObjects, LittlerootTown_MaysHouse_2F_MapWarps, 0x0, LittlerootTown_MaysHouse_2F_MapBGEvents
+
diff --git a/data/maps/events/LittlerootTown_ProfessorBirchsLab.inc b/data/maps/events/LittlerootTown_ProfessorBirchsLab.inc
new file mode 100644
index 000000000..cd004bcb7
--- /dev/null
+++ b/data/maps/events/LittlerootTown_ProfessorBirchsLab.inc
@@ -0,0 +1,32 @@
+LittlerootTown_ProfessorBirchsLab_MapObjects: @ 852D64C
+ object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 9, 8, 3, 2, 17, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1F9F84, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_PROF_BIRCH, 0, 0, 6, 4, 3, 8, 0, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA25A, 721, 0, 0
+ object_event 3, MAP_OBJ_GFX_HIPSTER, 0, 0, 7, 4, 3, 8, 17, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3EC, 889, 0, 0
+ object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 6, 8, 3, 8, 17, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FBB, 811, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 6, 8, 3, 8, 17, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FEF, 812, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 6, 8, 3, 8, 17, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA023, 838, 0, 0
+
+LittlerootTown_ProfessorBirchsLab_MapWarps: @ 852D6DC
+ warp_def 6, 12, 0, 2, LITTLEROOT_TOWN
+ warp_def 7, 12, 0, 2, LITTLEROOT_TOWN
+
+LittlerootTown_ProfessorBirchsLab_MapBGEvents: @ 852D6EC
+ bg_event 10, 7, 0, 1, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3E3
+ bg_event 11, 7, 0, 1, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3E3
+ bg_event 7, 1, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4CD
+ bg_event 8, 1, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4CD
+ bg_event 1, 1, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4
+ bg_event 0, 7, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4
+ bg_event 1, 7, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4
+ bg_event 2, 7, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4
+ bg_event 3, 7, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4
+ bg_event 4, 1, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB
+ bg_event 3, 1, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB
+ bg_event 1, 10, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB
+ bg_event 1, 9, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB
+ bg_event 11, 10, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB
+ bg_event 11, 9, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB
+
+LittlerootTown_ProfessorBirchsLab_MapEvents:: @ 852D7A0
+ map_events LittlerootTown_ProfessorBirchsLab_MapObjects, LittlerootTown_ProfessorBirchsLab_MapWarps, 0x0, LittlerootTown_ProfessorBirchsLab_MapBGEvents
+
diff --git a/data/maps/events/MagmaHideout_1F.inc b/data/maps/events/MagmaHideout_1F.inc
new file mode 100644
index 000000000..33a8a4aa0
--- /dev/null
+++ b/data/maps/events/MagmaHideout_1F.inc
@@ -0,0 +1,17 @@
+MagmaHideout_1F_MapObjects: @ 85371CC
+ object_event 1, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 4, 5, 0, 10, 17, 0, 1, 2, MagmaHideout_1F_EventScript_23988C, 857, 0, 0
+ object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 20, 0, 1, 17, 0, 0, 0, MagmaHideout_1F_EventScript_2914DE, 1151, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 30, 20, 3, 9, 17, 0, 1, 4, MagmaHideout_1F_EventScript_2398A3, 857, 0, 0
+ object_event 4, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 5, 22, 3, 1, 0, 0, 0, 0, MagmaHideout_1F_EventScript_2908BA, 17, 0, 0
+ object_event 5, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 7, 22, 3, 1, 0, 0, 0, 0, MagmaHideout_1F_EventScript_2908BA, 18, 0, 0
+ object_event 6, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 6, 23, 3, 1, 0, 0, 0, 0, MagmaHideout_1F_EventScript_2908BA, 19, 0, 0
+
+MagmaHideout_1F_MapWarps: @ 853725C
+ warp_def 10, 34, 3, 4, JAGGED_PASS
+ warp_def 25, 34, 3, 1, MAGMA_HIDEOUT_2F_1R
+ warp_def 31, 3, 0, 1, MAGMA_HIDEOUT_2F_2R
+ warp_def 20, 22, 0, 0, MAGMA_HIDEOUT_2F_3R
+
+MagmaHideout_1F_MapEvents:: @ 853727C
+ map_events MagmaHideout_1F_MapObjects, MagmaHideout_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MagmaHideout_2F_1R.inc b/data/maps/events/MagmaHideout_2F_1R.inc
new file mode 100644
index 000000000..4ac6e0fde
--- /dev/null
+++ b/data/maps/events/MagmaHideout_2F_1R.inc
@@ -0,0 +1,14 @@
+MagmaHideout_2F_1R_MapObjects: @ 8537290
+ object_event 1, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 18, 19, 3, 51, 69, 0, 1, 1, MagmaHideout_2F_1R_EventScript_239B7F, 857, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 12, 14, 3, 46, 103, 0, 1, 3, MagmaHideout_2F_1R_EventScript_239B96, 857, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAGMA_MEMBER_F, 0, 0, 8, 8, 3, 10, 17, 0, 1, 7, MagmaHideout_2F_1R_EventScript_239B51, 857, 0, 0
+ object_event 4, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 21, 11, 3, 7, 17, 0, 1, 3, MagmaHideout_2F_1R_EventScript_239B68, 857, 0, 0
+
+MagmaHideout_2F_1R_MapWarps: @ 85372F0
+ warp_def 11, 23, 0, 0, MAGMA_HIDEOUT_2F_2R
+ warp_def 8, 2, 0, 1, MAGMA_HIDEOUT_1F
+ warp_def 17, 33, 3, 2, MAGMA_HIDEOUT_3F_1R
+
+MagmaHideout_2F_1R_MapEvents:: @ 8537308
+ map_events MagmaHideout_2F_1R_MapObjects, MagmaHideout_2F_1R_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MagmaHideout_2F_2R.inc b/data/maps/events/MagmaHideout_2F_2R.inc
new file mode 100644
index 000000000..845da88b2
--- /dev/null
+++ b/data/maps/events/MagmaHideout_2F_2R.inc
@@ -0,0 +1,15 @@
+MagmaHideout_2F_2R_MapObjects: @ 853731C
+ object_event 1, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 29, 8, 3, 9, 17, 0, 1, 7, MagmaHideout_2F_2R_EventScript_239E4D, 857, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 25, 11, 3, 10, 17, 0, 1, 2, MagmaHideout_2F_2R_EventScript_239E36, 857, 0, 0
+ object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 21, 7, 3, 1, 17, 0, 0, 0, MagmaHideout_2F_2R_EventScript_2914EB, 1164, 0, 0
+ object_event 4, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 8, 9, 3, 8, 17, 0, 1, 4, MagmaHideout_2F_2R_EventScript_239E1F, 857, 0, 0
+ object_event 5, MAP_OBJ_GFX_MAGMA_MEMBER_F, 0, 0, 7, 13, 3, 10, 17, 0, 1, 1, MagmaHideout_2F_2R_EventScript_239E08, 857, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 14, 6, 3, 1, 17, 0, 0, 0, MagmaHideout_2F_2R_EventScript_2914F8, 1165, 0, 0
+
+MagmaHideout_2F_2R_MapWarps: @ 85373AC
+ warp_def 10, 22, 3, 0, MAGMA_HIDEOUT_2F_1R
+ warp_def 36, 4, 0, 2, MAGMA_HIDEOUT_1F
+
+MagmaHideout_2F_2R_MapEvents:: @ 85373BC
+ map_events MagmaHideout_2F_2R_MapObjects, MagmaHideout_2F_2R_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MagmaHideout_2F_3R.inc b/data/maps/events/MagmaHideout_2F_3R.inc
new file mode 100644
index 000000000..3795ef568
--- /dev/null
+++ b/data/maps/events/MagmaHideout_2F_3R.inc
@@ -0,0 +1,7 @@
+MagmaHideout_2F_3R_MapWarps: @ 85375B0
+ warp_def 16, 1, 0, 3, MAGMA_HIDEOUT_1F
+ warp_def 16, 13, 0, 0, MAGMA_HIDEOUT_3F_3R
+
+MagmaHideout_2F_3R_MapEvents:: @ 85375C0
+ map_events 0x0, MagmaHideout_2F_3R_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MagmaHideout_3F_1R.inc b/data/maps/events/MagmaHideout_3F_1R.inc
new file mode 100644
index 000000000..07a53f4fb
--- /dev/null
+++ b/data/maps/events/MagmaHideout_3F_1R.inc
@@ -0,0 +1,13 @@
+MagmaHideout_3F_1R_MapObjects: @ 85373D0
+ object_event 1, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 2, 7, 4, 10, 17, 0, 1, 5, MagmaHideout_3F_1R_EventScript_23A1B3, 857, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAGMA_MEMBER_F, 0, 0, 21, 21, 0, 9, 17, 0, 1, 4, MagmaHideout_3F_1R_EventScript_23A1CA, 857, 0, 0
+ object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 9, 16, 0, 1, 17, 0, 0, 0, MagmaHideout_3F_1R_EventScript_291505, 1166, 0, 0
+
+MagmaHideout_3F_1R_MapWarps: @ 8537418
+ warp_def 7, 21, 0, 0, MAGMA_HIDEOUT_4F
+ warp_def 21, 9, 0, 0, MAGMA_HIDEOUT_3F_2R
+ warp_def 23, 3, 0, 2, MAGMA_HIDEOUT_2F_1R
+
+MagmaHideout_3F_1R_MapEvents:: @ 8537430
+ map_events MagmaHideout_3F_1R_MapObjects, MagmaHideout_3F_1R_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MagmaHideout_3F_2R.inc b/data/maps/events/MagmaHideout_3F_2R.inc
new file mode 100644
index 000000000..faeacbd12
--- /dev/null
+++ b/data/maps/events/MagmaHideout_3F_2R.inc
@@ -0,0 +1,10 @@
+MagmaHideout_3F_2R_MapObjects: @ 8537444
+ object_event 1, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 16, 3, 0, 17, 17, 0, 1, 3, MagmaHideout_3F_2R_EventScript_23A3D5, 857, 0, 0
+ object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 5, 9, 0, 1, 17, 0, 0, 0, MagmaHideout_3F_2R_EventScript_291512, 1167, 0, 0
+
+MagmaHideout_3F_2R_MapWarps: @ 8537474
+ warp_def 12, 15, 0, 1, MAGMA_HIDEOUT_3F_1R
+
+MagmaHideout_3F_2R_MapEvents:: @ 853747C
+ map_events MagmaHideout_3F_2R_MapObjects, MagmaHideout_3F_2R_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MagmaHideout_3F_3R.inc b/data/maps/events/MagmaHideout_3F_3R.inc
new file mode 100644
index 000000000..386696d9c
--- /dev/null
+++ b/data/maps/events/MagmaHideout_3F_3R.inc
@@ -0,0 +1,10 @@
+MagmaHideout_3F_3R_MapObjects: @ 8537574
+ object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 9, 19, 0, 1, 17, 0, 0, 0, MagmaHideout_3F_3R_EventScript_29152C, 1059, 0, 0
+
+MagmaHideout_3F_3R_MapWarps: @ 853758C
+ warp_def 16, 1, 0, 1, MAGMA_HIDEOUT_2F_3R
+ warp_def 16, 21, 0, 1, MAGMA_HIDEOUT_4F
+
+MagmaHideout_3F_3R_MapEvents:: @ 853759C
+ map_events MagmaHideout_3F_3R_MapObjects, MagmaHideout_3F_3R_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MagmaHideout_4F.inc b/data/maps/events/MagmaHideout_4F.inc
new file mode 100644
index 000000000..545eeea92
--- /dev/null
+++ b/data/maps/events/MagmaHideout_4F.inc
@@ -0,0 +1,17 @@
+MagmaHideout_4F_MapObjects: @ 8537490
+ object_event 1, MAP_OBJ_GFX_GROUDON_1, 0, 0, 16, 17, 0, 8, 17, 0, 0, 0, 0x0, 853, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 31, 22, 0, 10, 17, 0, 1, 3, MagmaHideout_4F_EventScript_23A68C, 857, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 30, 13, 0, 9, 17, 0, 1, 3, MagmaHideout_4F_EventScript_23A6A3, 857, 0, 0
+ object_event 4, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 26, 13, 0, 10, 17, 0, 1, 3, MagmaHideout_4F_EventScript_23A6BA, 857, 0, 0
+ object_event 5, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 22, 4, 0, 8, 17, 0, 1, 4, MagmaHideout_4F_EventScript_23A6D1, 857, 0, 0
+ object_event 6, MAP_OBJ_GFX_MAXIE, 0, 0, 16, 21, 0, 7, 17, 0, 0, 0, MagmaHideout_4F_EventScript_23A560, 857, 0, 0
+ object_event 7, MAP_OBJ_GFX_GROUDON_2, 0, 0, 16, 17, 3, 8, 17, 0, 0, 0, 0x0, 850, 0, 0
+ object_event 8, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 7, 0, 1, 17, 0, 0, 0, MagmaHideout_4F_EventScript_29151F, 1168, 0, 0
+
+MagmaHideout_4F_MapWarps: @ 8537550
+ warp_def 46, 7, 0, 0, MAGMA_HIDEOUT_3F_1R
+ warp_def 20, 21, 0, 1, MAGMA_HIDEOUT_3F_3R
+
+MagmaHideout_4F_MapEvents:: @ 8537560
+ map_events MagmaHideout_4F_MapObjects, MagmaHideout_4F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MarineCave_End.inc b/data/maps/events/MarineCave_End.inc
new file mode 100644
index 000000000..385a05193
--- /dev/null
+++ b/data/maps/events/MarineCave_End.inc
@@ -0,0 +1,12 @@
+MarineCave_End_MapObjects: @ 85377E8
+ object_event 1, MAP_OBJ_GFX_KYOGRE_1, 0, 0, 9, 22, 1, 8, 17, 0, 0, 0, 0x0, 782, 0, 0
+
+MarineCave_End_MapWarps: @ 8537800
+ warp_def 20, 4, 0, 0, MARINE_CAVE_ENTRANCE
+
+MarineCave_End_MapCoordEvents: @ 8537808
+ coord_event 9, 26, 3, 0, VAR_0x4001, 1, 0, MarineCave_End_EventScript_23B01B
+
+MarineCave_End_MapEvents:: @ 8537818
+ map_events MarineCave_End_MapObjects, MarineCave_End_MapWarps, MarineCave_End_MapCoordEvents, 0x0
+
diff --git a/data/maps/events/MarineCave_Entrance.inc b/data/maps/events/MarineCave_Entrance.inc
new file mode 100644
index 000000000..e00290acb
--- /dev/null
+++ b/data/maps/events/MarineCave_Entrance.inc
@@ -0,0 +1,6 @@
+MarineCave_Entrance_MapWarps: @ 85377CC
+ warp_def 14, 1, 3, 0, MARINE_CAVE_END
+
+MarineCave_Entrance_MapEvents:: @ 85377D4
+ map_events 0x0, MarineCave_Entrance_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MauvilleCity.inc b/data/maps/events/MauvilleCity.inc
new file mode 100644
index 000000000..c6da0eb61
--- /dev/null
+++ b/data/maps/events/MauvilleCity.inc
@@ -0,0 +1,35 @@
+MauvilleCity_MapObjects: @ 852662C
+ object_event 1, MAP_OBJ_GFX_BOY_3, 0, 0, 29, 16, 3, 5, 17, 0, 0, 0, MauvilleCity_EventScript_1DF3B3, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BOY_4, 0, 0, 24, 10, 3, 5, 1, 0, 0, 0, MauvilleCity_EventScript_1DF3CE, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MANIAC, 0, 0, 14, 11, 3, 10, 0, 0, 0, 0, MauvilleCity_EventScript_1DF3BC, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_5, 0, 0, 18, 6, 3, 1, 0, 0, 0, 0, MauvilleCity_EventScript_1DF3C5, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 17, 14, 3, 8, 0, 0, 0, 0, MauvilleCity_EventScript_1DF3FB, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_WALLY, 0, 0, 8, 6, 3, 7, 0, 0, 0, 0, MauvilleCity_EventScript_1DF452, 804, 0, 0
+ object_event 7, MAP_OBJ_GFX_MAN_3, 0, 0, 9, 6, 3, 9, 0, 0, 0, 0, MauvilleCity_EventScript_1DF41D, 805, 0, 0
+ object_event 8, MAP_OBJ_GFX_WATTSON, 0, 0, 29, 9, 3, 1, 0, 0, 0, 0, MauvilleCity_EventScript_1DF73A, 912, 0, 0
+ object_event 9, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 28, 19, 3, 1, 17, 0, 0, 0, MauvilleCity_EventScript_2910CE, 1116, 0, 0
+ object_event 10, MAP_OBJ_GFX_FAT_MAN, 0, 0, 13, 7, 3, 9, 0, 0, 0, 0, MauvilleCity_EventScript_2C7F7E, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_SCOTT, 0, 0, 12, 14, 3, 7, 0, 0, 0, 0, 0x0, 765, 0, 0
+
+MauvilleCity_MapWarps: @ 8526734
+ warp_def 8, 5, 0, 0, MAUVILLE_CITY_GYM
+ warp_def 22, 5, 0, 0, MAUVILLE_CITY_POKEMON_CENTER_1F
+ warp_def 35, 5, 0, 0, MAUVILLE_CITY_BIKE_SHOP
+ warp_def 23, 14, 0, 0, MAUVILLE_CITY_MART
+ warp_def 32, 14, 0, 0, MAUVILLE_CITY_HOUSE_1
+ warp_def 8, 13, 0, 0, MAUVILLE_CITY_GAME_CORNER
+ warp_def 19, 14, 0, 0, MAUVILLE_CITY_HOUSE_2
+
+MauvilleCity_MapBGEvents: @ 852676C
+ bg_event 23, 5, 0, 1, 0, MauvilleCity_EventScript_271E73
+ bg_event 11, 6, 3, 0, 0, MauvilleCity_EventScript_1DF3E0
+ bg_event 24, 14, 0, 1, 0, MauvilleCity_EventScript_271E6A
+ bg_event 25, 14, 0, 1, 0, MauvilleCity_EventScript_271E6A
+ bg_event 24, 5, 0, 1, 0, MauvilleCity_EventScript_271E73
+ bg_event 19, 7, 0, 0, 0, MauvilleCity_EventScript_1DF3D7
+ bg_event 33, 6, 0, 0, 0, MauvilleCity_EventScript_1DF3E9
+ bg_event 11, 15, 0, 0, 0, MauvilleCity_EventScript_1DF3F2
+
+MauvilleCity_MapEvents:: @ 85267CC
+ map_events MauvilleCity_MapObjects, MauvilleCity_MapWarps, 0x0, MauvilleCity_MapBGEvents
+
diff --git a/data/maps/events/MauvilleCity_BikeShop.inc b/data/maps/events/MauvilleCity_BikeShop.inc
new file mode 100644
index 000000000..e8e3ef7be
--- /dev/null
+++ b/data/maps/events/MauvilleCity_BikeShop.inc
@@ -0,0 +1,15 @@
+MauvilleCity_BikeShop_MapObjects: @ 852FE80
+ object_event 1, MAP_OBJ_GFX_MAN_2, 0, 0, 2, 5, 3, 9, 0, 0, 0, 0, MauvilleCity_BikeShop_EventScript_20EBBC, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_6, 0, 0, 7, 6, 3, 2, 17, 0, 0, 0, MauvilleCity_BikeShop_EventScript_20ED31, 0, 0, 0
+
+MauvilleCity_BikeShop_MapWarps: @ 852FEB0
+ warp_def 3, 8, 0, 2, MAUVILLE_CITY
+ warp_def 4, 8, 0, 2, MAUVILLE_CITY
+
+MauvilleCity_BikeShop_MapBGEvents: @ 852FEC0
+ bg_event 8, 1, 0, 0, 0, MauvilleCity_BikeShop_EventScript_20ED3A
+ bg_event 11, 1, 0, 0, 0, MauvilleCity_BikeShop_EventScript_20EDAE
+
+MauvilleCity_BikeShop_MapEvents:: @ 852FED8
+ map_events MauvilleCity_BikeShop_MapObjects, MauvilleCity_BikeShop_MapWarps, 0x0, MauvilleCity_BikeShop_MapBGEvents
+
diff --git a/data/maps/events/MauvilleCity_GameCorner.inc b/data/maps/events/MauvilleCity_GameCorner.inc
new file mode 100644
index 000000000..1a84504f5
--- /dev/null
+++ b/data/maps/events/MauvilleCity_GameCorner.inc
@@ -0,0 +1,47 @@
+MauvilleCity_GameCorner_MapObjects: @ 852FF28
+ object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 12, 7, 3, 8, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_210125, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 16, 5, 3, 8, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_21012E, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BEAUTY, 0, 0, 11, 2, 3, 8, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_20FBB9, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BEAUTY, 0, 0, 14, 2, 3, 8, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_20FCF1, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIRL_2, 0, 0, 7, 3, 3, 8, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_210137, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_MAN_3, 0, 0, 19, 4, 3, 8, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_21021D, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 20, 8, 3, 9, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_210279, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_COOK, 0, 0, 6, 8, 3, 10, 0, 0, 0, 0, MauvilleCity_GameCorner_EventScript_210289, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_BEAUTY, 0, 0, 13, 2, 3, 8, 17, 0, 0, 0, MauvilleCity_GameCorner_EventScript_20FE9F, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_MAN_4, 0, 0, 1, 7, 3, 10, 17, 0, 0, 0, MauvilleCity_GameCorner_EventScript_210299, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_MANIAC, 0, 0, 9, 8, 3, 9, 17, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2102B6, 0, 0, 0
+ object_event 12, MAP_OBJ_GFX_WOMAN_7, 0, 0, 4, 6, 3, 9, 17, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2102C6, 0, 0, 0
+
+MauvilleCity_GameCorner_MapWarps: @ 8530048
+ warp_def 11, 10, 3, 5, MAUVILLE_CITY
+ warp_def 12, 10, 3, 5, MAUVILLE_CITY
+
+MauvilleCity_GameCorner_MapBGEvents: @ 8530058
+ bg_event 2, 6, 0, 3, 0, MauvilleCity_GameCorner_EventScript_2102D6
+ bg_event 2, 8, 0, 3, 0, MauvilleCity_GameCorner_EventScript_2102F6
+ bg_event 2, 9, 0, 3, 0, MauvilleCity_GameCorner_EventScript_210316
+ bg_event 3, 7, 0, 4, 0, MauvilleCity_GameCorner_EventScript_210336
+ bg_event 3, 8, 0, 4, 0, MauvilleCity_GameCorner_EventScript_210356
+ bg_event 3, 9, 0, 4, 0, MauvilleCity_GameCorner_EventScript_210376
+ bg_event 7, 6, 0, 3, 0, MauvilleCity_GameCorner_EventScript_210396
+ bg_event 7, 7, 0, 3, 0, MauvilleCity_GameCorner_EventScript_2103B6
+ bg_event 7, 9, 0, 3, 0, MauvilleCity_GameCorner_EventScript_2103D6
+ bg_event 8, 6, 0, 4, 0, MauvilleCity_GameCorner_EventScript_2103F6
+ bg_event 8, 7, 0, 4, 0, MauvilleCity_GameCorner_EventScript_210416
+ bg_event 8, 9, 0, 4, 0, MauvilleCity_GameCorner_EventScript_210436
+ bg_event 14, 6, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5AB1
+ bg_event 15, 6, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5AB1
+ bg_event 14, 7, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5AB1
+ bg_event 15, 7, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5AB1
+ bg_event 14, 8, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5AB1
+ bg_event 15, 8, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5AB1
+ bg_event 18, 6, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5ADF
+ bg_event 19, 6, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5ADF
+ bg_event 18, 7, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5ADF
+ bg_event 19, 7, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5ADF
+ bg_event 18, 8, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5ADF
+ bg_event 19, 8, 0, 0, 0, MauvilleCity_GameCorner_EventScript_2A5ADF
+
+MauvilleCity_GameCorner_MapEvents:: @ 8530178
+ map_events MauvilleCity_GameCorner_MapObjects, MauvilleCity_GameCorner_MapWarps, 0x0, MauvilleCity_GameCorner_MapBGEvents
+
diff --git a/data/maps/events/MauvilleCity_Gym.inc b/data/maps/events/MauvilleCity_Gym.inc
new file mode 100644
index 000000000..acbbeccef
--- /dev/null
+++ b/data/maps/events/MauvilleCity_Gym.inc
@@ -0,0 +1,26 @@
+MauvilleCity_Gym_MapObjects: @ 852FD5C
+ object_event 1, MAP_OBJ_GFX_WATTSON, 0, 0, 5, 2, 0, 8, 0, 0, 0, 0, MauvilleCity_Gym_EventScript_20DEEB, 913, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_6, 0, 0, 7, 8, 3, 8, 0, 0, 1, 1, MauvilleCity_Gym_EventScript_20E0D0, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_GIRL_3, 0, 0, 1, 16, 0, 7, 0, 0, 1, 2, MauvilleCity_Gym_EventScript_20E0FE, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 5, 10, 0, 9, 0, 0, 1, 2, MauvilleCity_Gym_EventScript_20E0E7, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_MAN_6, 0, 0, 1, 13, 0, 8, 0, 0, 1, 2, MauvilleCity_Gym_EventScript_20E0B9, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_MAN_2, 0, 0, 7, 20, 0, 9, 0, 0, 0, 0, MauvilleCity_Gym_EventScript_20E12C, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_MANIAC, 0, 0, 7, 10, 3, 7, 17, 0, 1, 1, MauvilleCity_Gym_EventScript_20E115, 0, 0, 0
+
+MauvilleCity_Gym_MapWarps: @ 852FE04
+ warp_def 4, 20, 0, 0, MAUVILLE_CITY
+ warp_def 5, 20, 0, 0, MAUVILLE_CITY
+
+MauvilleCity_Gym_MapCoordEvents: @ 852FE14
+ coord_event 4, 12, 3, 0, VAR_0x4000, 0, 0, MauvilleCity_Gym_EventScript_20E01E
+ coord_event 3, 9, 3, 0, VAR_0x4000, 0, 0, MauvilleCity_Gym_EventScript_20E043
+ coord_event 0, 15, 3, 0, VAR_0x4000, 0, 0, MauvilleCity_Gym_EventScript_20DFF9
+ coord_event 8, 9, 3, 0, VAR_0x4000, 0, 0, MauvilleCity_Gym_EventScript_20E068
+
+MauvilleCity_Gym_MapBGEvents: @ 852FE54
+ bg_event 3, 18, 0, 1, 0, MauvilleCity_Gym_EventScript_20E14B
+ bg_event 6, 18, 0, 1, 0, MauvilleCity_Gym_EventScript_20E15B
+
+MauvilleCity_Gym_MapEvents:: @ 852FE6C
+ map_events MauvilleCity_Gym_MapObjects, MauvilleCity_Gym_MapWarps, MauvilleCity_Gym_MapCoordEvents, MauvilleCity_Gym_MapBGEvents
+
diff --git a/data/maps/events/MauvilleCity_House1.inc b/data/maps/events/MauvilleCity_House1.inc
new file mode 100644
index 000000000..9b30d3119
--- /dev/null
+++ b/data/maps/events/MauvilleCity_House1.inc
@@ -0,0 +1,10 @@
+MauvilleCity_House1_MapObjects: @ 852FEEC
+ object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 4, 4, 3, 10, 0, 0, 0, 0, MauvilleCity_House1_EventScript_20F976, 0, 0, 0
+
+MauvilleCity_House1_MapWarps: @ 852FF04
+ warp_def 3, 7, 0, 4, MAUVILLE_CITY
+ warp_def 4, 7, 0, 4, MAUVILLE_CITY
+
+MauvilleCity_House1_MapEvents:: @ 852FF14
+ map_events MauvilleCity_House1_MapObjects, MauvilleCity_House1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MauvilleCity_House2.inc b/data/maps/events/MauvilleCity_House2.inc
new file mode 100644
index 000000000..5328de49f
--- /dev/null
+++ b/data/maps/events/MauvilleCity_House2.inc
@@ -0,0 +1,10 @@
+MauvilleCity_House2_MapObjects: @ 853018C
+ object_event 1, MAP_OBJ_GFX_WOMAN_4, 0, 0, 4, 5, 3, 9, 0, 0, 0, 0, MauvilleCity_House2_EventScript_210C5D, 0, 0, 0
+
+MauvilleCity_House2_MapWarps: @ 85301A4
+ warp_def 3, 8, 0, 6, MAUVILLE_CITY
+ warp_def 4, 8, 0, 6, MAUVILLE_CITY
+
+MauvilleCity_House2_MapEvents:: @ 85301B4
+ map_events MauvilleCity_House2_MapObjects, MauvilleCity_House2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MauvilleCity_Mart.inc b/data/maps/events/MauvilleCity_Mart.inc
new file mode 100644
index 000000000..257d047cd
--- /dev/null
+++ b/data/maps/events/MauvilleCity_Mart.inc
@@ -0,0 +1,12 @@
+MauvilleCity_Mart_MapObjects: @ 8530310
+ object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, MauvilleCity_Mart_EventScript_2110E6, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 5, 4, 3, 10, 0, 0, 0, 0, MauvilleCity_Mart_EventScript_21111C, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 5, 5, 3, 10, 0, 0, 0, 0, MauvilleCity_Mart_EventScript_211125, 0, 0, 0
+
+MauvilleCity_Mart_MapWarps: @ 8530358
+ warp_def 3, 7, 0, 3, MAUVILLE_CITY
+ warp_def 4, 7, 0, 3, MAUVILLE_CITY
+
+MauvilleCity_Mart_MapEvents:: @ 8530368
+ map_events MauvilleCity_Mart_MapObjects, MauvilleCity_Mart_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MauvilleCity_PokemonCenter_1F.inc b/data/maps/events/MauvilleCity_PokemonCenter_1F.inc
new file mode 100644
index 000000000..725e52ef3
--- /dev/null
+++ b/data/maps/events/MauvilleCity_PokemonCenter_1F.inc
@@ -0,0 +1,15 @@
+MauvilleCity_PokemonCenter_1F_MapObjects: @ 85301C8
+ object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_210E78, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 2, 3, 3, 9, 1, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_28E066, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_1, 0, 0, 8, 6, 3, 1, 0, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_210E86, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_7, 0, 0, 11, 4, 3, 3, 16, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_210E8F, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 2, 8, 3, 1, 17, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_210E98, 0, 0, 0
+
+MauvilleCity_PokemonCenter_1F_MapWarps: @ 8530240
+ warp_def 7, 8, 3, 1, MAUVILLE_CITY
+ warp_def 6, 8, 3, 1, MAUVILLE_CITY
+ warp_def 1, 6, 4, 0, MAUVILLE_CITY_POKEMON_CENTER_2F
+
+MauvilleCity_PokemonCenter_1F_MapEvents:: @ 8530258
+ map_events MauvilleCity_PokemonCenter_1F_MapObjects, MauvilleCity_PokemonCenter_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MauvilleCity_PokemonCenter_2F.inc b/data/maps/events/MauvilleCity_PokemonCenter_2F.inc
new file mode 100644
index 000000000..9e5cb6e81
--- /dev/null
+++ b/data/maps/events/MauvilleCity_PokemonCenter_2F.inc
@@ -0,0 +1,15 @@
+MauvilleCity_PokemonCenter_2F_MapObjects: @ 853026C
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, MauvilleCity_PokemonCenter_2F_EventScript_27375B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, MauvilleCity_PokemonCenter_2F_EventScript_273761, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, MauvilleCity_PokemonCenter_2F_EventScript_273767, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, MauvilleCity_PokemonCenter_2F_EventScript_276B03, 702, 0, 0
+ object_event 5, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 8, 8, 3, 7, 17, 0, 0, 0, MauvilleCity_PokemonCenter_2F_EventScript_21102F, 0, 0, 0
+
+MauvilleCity_PokemonCenter_2F_MapWarps: @ 85302E4
+ warp_def 1, 6, 4, 2, MAUVILLE_CITY_POKEMON_CENTER_1F
+ warp_def 5, 1, 3, 0, UNION_ROOM
+ warp_def 9, 1, 3, 0, TRADE_CENTER
+
+MauvilleCity_PokemonCenter_2F_MapEvents:: @ 85302FC
+ map_events MauvilleCity_PokemonCenter_2F_MapObjects, MauvilleCity_PokemonCenter_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MeteorFalls_1F_1R.inc b/data/maps/events/MeteorFalls_1F_1R.inc
new file mode 100644
index 000000000..29ecbf043
--- /dev/null
+++ b/data/maps/events/MeteorFalls_1F_1R.inc
@@ -0,0 +1,29 @@
+MeteorFalls_1F_1R_MapObjects: @ 8533F74
+ object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 2, 4, 3, 1, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_2911AB, 1044, 0, 0
+ object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 2, 14, 3, 1, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_2911C5, 1046, 0, 0
+ object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 27, 5, 3, 1, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_2911B8, 1045, 0, 0
+ object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 26, 32, 3, 1, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_2911D2, 1047, 0, 0
+ object_event 5, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 12, 20, 3, 8, 0, 0, 0, 0, 0x0, 939, 0, 0
+ object_event 6, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 14, 21, 3, 9, 0, 0, 0, 0, 0x0, 939, 0, 0
+ object_event 7, MAP_OBJ_GFX_ARCHIE, 0, 0, 6, 20, 3, 10, 0, 0, 0, 0, 0x0, 938, 0, 0
+ object_event 8, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 6, 20, 3, 10, 0, 0, 0, 0, 0x0, 938, 0, 0
+ object_event 9, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 6, 21, 3, 1, 0, 0, 0, 0, 0x0, 938, 0, 0
+ object_event 10, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 13, 23, 3, 21, 0, 0, 0, 0, MeteorFalls_1F_1R_EventScript_22BF25, 942, 0, 0
+
+MeteorFalls_1F_1R_MapWarps: @ 8534064
+ warp_def 27, 18, 4, 0, ROUTE_114
+ warp_def 6, 39, 3, 0, ROUTE_115
+ warp_def 10, 3, 3, 0, METEOR_FALLS_1F_2R
+ warp_def 5, 4, 3, 4, METEOR_FALLS_B1F_1R
+ warp_def 26, 28, 3, 5, METEOR_FALLS_B1F_1R
+ warp_def 4, 2, 0, 0, METEOR_FALLS_STEVENS_CAVE
+
+MeteorFalls_1F_1R_MapCoordEvents: @ 8534094
+ coord_event 14, 18, 4, 0, VAR_0x40BF, 0, 0, MeteorFalls_1F_1R_EventScript_22BD5F
+
+MeteorFalls_1F_1R_MapBGEvents: @ 85340A4
+ bg_event 9, 58, 0, 0, 0, 0x0
+
+MeteorFalls_1F_1R_MapEvents:: @ 85340B0
+ map_events MeteorFalls_1F_1R_MapObjects, MeteorFalls_1F_1R_MapWarps, MeteorFalls_1F_1R_MapCoordEvents, MeteorFalls_1F_1R_MapBGEvents
+
diff --git a/data/maps/events/MeteorFalls_1F_2R.inc b/data/maps/events/MeteorFalls_1F_2R.inc
new file mode 100644
index 000000000..180b4f722
--- /dev/null
+++ b/data/maps/events/MeteorFalls_1F_2R.inc
@@ -0,0 +1,17 @@
+MeteorFalls_1F_2R_MapObjects: @ 85340C4
+ object_event 1, MAP_OBJ_GFX_MAN_4, 0, 0, 13, 2, 3, 8, 0, 0, 1, 1, MeteorFalls_1F_2R_EventScript_22C4DE, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 6, 12, 3, 8, 17, 0, 1, 1, MeteorFalls_1F_2R_EventScript_22C540, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 7, 12, 3, 8, 17, 0, 1, 1, MeteorFalls_1F_2R_EventScript_22C5A4, 0, 0, 0
+
+MeteorFalls_1F_2R_MapWarps: @ 853410C
+ warp_def 10, 29, 3, 2, METEOR_FALLS_1F_1R
+ warp_def 4, 14, 3, 0, METEOR_FALLS_B1F_1R
+ warp_def 7, 20, 3, 1, METEOR_FALLS_B1F_1R
+ warp_def 21, 23, 3, 2, METEOR_FALLS_B1F_1R
+
+MeteorFalls_1F_2R_MapBGEvents: @ 853412C
+ bg_event 9, 58, 0, 0, 0, 0x0
+
+MeteorFalls_1F_2R_MapEvents:: @ 8534138
+ map_events MeteorFalls_1F_2R_MapObjects, MeteorFalls_1F_2R_MapWarps, 0x0, MeteorFalls_1F_2R_MapBGEvents
+
diff --git a/data/maps/events/MeteorFalls_B1F_1R.inc b/data/maps/events/MeteorFalls_B1F_1R.inc
new file mode 100644
index 000000000..410dd90c0
--- /dev/null
+++ b/data/maps/events/MeteorFalls_B1F_1R.inc
@@ -0,0 +1,11 @@
+MeteorFalls_B1F_1R_MapWarps: @ 853414C
+ warp_def 5, 6, 4, 1, METEOR_FALLS_1F_2R
+ warp_def 7, 11, 5, 2, METEOR_FALLS_1F_2R
+ warp_def 18, 15, 4, 3, METEOR_FALLS_1F_2R
+ warp_def 17, 3, 3, 0, METEOR_FALLS_B1F_2R
+ warp_def 3, 23, 5, 3, METEOR_FALLS_1F_1R
+ warp_def 20, 36, 3, 4, METEOR_FALLS_1F_1R
+
+MeteorFalls_B1F_1R_MapEvents:: @ 853417C
+ map_events 0x0, MeteorFalls_B1F_1R_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MeteorFalls_B1F_2R.inc b/data/maps/events/MeteorFalls_B1F_2R.inc
new file mode 100644
index 000000000..e208273cf
--- /dev/null
+++ b/data/maps/events/MeteorFalls_B1F_2R.inc
@@ -0,0 +1,9 @@
+MeteorFalls_B1F_2R_MapObjects: @ 8534190
+ object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 5, 3, 3, 1, 17, 0, 0, 0, MeteorFalls_B1F_2R_EventScript_2911DF, 1080, 0, 0
+
+MeteorFalls_B1F_2R_MapWarps: @ 85341A8
+ warp_def 5, 15, 3, 3, METEOR_FALLS_B1F_1R
+
+MeteorFalls_B1F_2R_MapEvents:: @ 85341B0
+ map_events MeteorFalls_B1F_2R_MapObjects, MeteorFalls_B1F_2R_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MeteorFalls_StevensCave.inc b/data/maps/events/MeteorFalls_StevensCave.inc
new file mode 100644
index 000000000..e9f3d0db6
--- /dev/null
+++ b/data/maps/events/MeteorFalls_StevensCave.inc
@@ -0,0 +1,9 @@
+MeteorFalls_StevensCave_MapObjects: @ 85378B0
+ object_event 1, MAP_OBJ_GFX_STEVEN, 0, 0, 19, 3, 3, 7, 17, 0, 0, 0, MeteorFalls_StevensCave_EventScript_23B182, 0, 0, 0
+
+MeteorFalls_StevensCave_MapWarps: @ 85378C8
+ warp_def 10, 29, 3, 5, METEOR_FALLS_1F_1R
+
+MeteorFalls_StevensCave_MapEvents:: @ 85378D0
+ map_events MeteorFalls_StevensCave_MapObjects, MeteorFalls_StevensCave_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MirageTower_1F.inc b/data/maps/events/MirageTower_1F.inc
new file mode 100644
index 000000000..5bf9568bb
--- /dev/null
+++ b/data/maps/events/MirageTower_1F.inc
@@ -0,0 +1,7 @@
+MirageTower_1F_MapWarps: @ 85375D4
+ warp_def 10, 14, 3, 3, ROUTE_111
+ warp_def 15, 2, 3, 1, MIRAGE_TOWER_2F
+
+MirageTower_1F_MapEvents:: @ 85375E4
+ map_events 0x0, MirageTower_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MirageTower_2F.inc b/data/maps/events/MirageTower_2F.inc
new file mode 100644
index 000000000..07814433a
--- /dev/null
+++ b/data/maps/events/MirageTower_2F.inc
@@ -0,0 +1,7 @@
+MirageTower_2F_MapWarps: @ 85375F8
+ warp_def 18, 12, 3, 0, MIRAGE_TOWER_3F
+ warp_def 15, 2, 3, 1, MIRAGE_TOWER_1F
+
+MirageTower_2F_MapEvents:: @ 8537608
+ map_events 0x0, MirageTower_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MirageTower_3F.inc b/data/maps/events/MirageTower_3F.inc
new file mode 100644
index 000000000..956965d5f
--- /dev/null
+++ b/data/maps/events/MirageTower_3F.inc
@@ -0,0 +1,11 @@
+MirageTower_3F_MapObjects: @ 853761C
+ object_event 1, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 3, 7, 3, 1, 17, 0, 0, 0, MirageTower_3F_EventScript_2907A6, 17, 0, 0
+ object_event 2, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 4, 8, 3, 1, 17, 0, 0, 0, MirageTower_3F_EventScript_2907A6, 18, 0, 0
+
+MirageTower_3F_MapWarps: @ 853764C
+ warp_def 18, 12, 3, 0, MIRAGE_TOWER_2F
+ warp_def 2, 4, 0, 0, MIRAGE_TOWER_4F
+
+MirageTower_3F_MapEvents:: @ 853765C
+ map_events MirageTower_3F_MapObjects, MirageTower_3F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MirageTower_4F.inc b/data/maps/events/MirageTower_4F.inc
new file mode 100644
index 000000000..1042dc803
--- /dev/null
+++ b/data/maps/events/MirageTower_4F.inc
@@ -0,0 +1,11 @@
+MirageTower_4F_MapObjects: @ 8537670
+ object_event 1, MAP_OBJ_GFX_FOSSIL, 0, 0, 5, 4, 4, 8, 17, 0, 0, 0, MirageTower_4F_EventScript_23AD48, 963, 0, 0
+ object_event 2, MAP_OBJ_GFX_FOSSIL, 0, 0, 7, 4, 0, 8, 17, 0, 0, 0, MirageTower_4F_EventScript_23AD89, 964, 0, 0
+ object_event 3, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 6, 7, 3, 1, 17, 0, 0, 0, MirageTower_4F_EventScript_2907A6, 17, 0, 0
+
+MirageTower_4F_MapWarps: @ 85376B8
+ warp_def 1, 4, 3, 1, MIRAGE_TOWER_3F
+
+MirageTower_4F_MapEvents:: @ 85376C0
+ map_events MirageTower_4F_MapObjects, MirageTower_4F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MossdeepCity.inc b/data/maps/events/MossdeepCity.inc
new file mode 100644
index 000000000..5d3717531
--- /dev/null
+++ b/data/maps/events/MossdeepCity.inc
@@ -0,0 +1,56 @@
+MossdeepCity_MapObjects: @ 8527018
+ object_event 1, MAP_OBJ_GFX_SAILOR, 0, 0, 38, 12, 5, 2, 17, 0, 0, 0, MossdeepCity_EventScript_1E4AD1, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 50, 34, 5, 5, 1, 0, 0, 0, MossdeepCity_EventScript_1E4AF9, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_2, 0, 0, 32, 12, 5, 2, 17, 0, 0, 0, MossdeepCity_EventScript_1E4AB2, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 26, 21, 5, 3, 16, 0, 0, 0, MossdeepCity_EventScript_1E4AF0, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIRL_1, 0, 0, 45, 18, 7, 9, 0, 0, 0, 0, MossdeepCity_EventScript_1E4B02, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 62, 35, 5, 1, 0, 0, 0, 0, MossdeepCity_EventScript_2910F5, 1043, 0, 0
+ object_event 7, MAP_OBJ_GFX_MAN_1, 0, 0, 55, 5, 7, 7, 0, 0, 0, 0, MossdeepCity_EventScript_1E4C10, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_WOMAN_1, 0, 0, 56, 21, 7, 10, 17, 0, 0, 0, MossdeepCity_EventScript_1E4B0B, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_BOY_2, 0, 0, 23, 13, 5, 2, 17, 0, 0, 0, MossdeepCity_EventScript_1E4C26, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 44, 23, 5, 8, 17, 0, 0, 0, 0x0, 823, 0, 0
+ object_event 11, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 44, 24, 5, 7, 17, 0, 0, 0, 0x0, 823, 0, 0
+ object_event 12, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 44, 25, 5, 8, 17, 0, 0, 0, 0x0, 823, 0, 0
+ object_event 13, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 44, 26, 5, 7, 17, 0, 0, 0, 0x0, 823, 0, 0
+ object_event 14, MAP_OBJ_GFX_MAXIE, 0, 0, 45, 25, 5, 9, 17, 0, 0, 0, 0x0, 823, 0, 0
+ object_event 15, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 19, 25, 3, 64, 51, 0, 0, 0, MossdeepCity_EventScript_2C81EE, 0, 0, 0
+ object_event 16, MAP_OBJ_GFX_SCOTT, 0, 0, 61, 29, 5, 17, 0, 0, 0, 0, MossdeepCity_EventScript_1E4C85, 788, 0, 0
+ object_event 17, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 31, 29, 3, 64, 51, 0, 0, 0, MossdeepCity_EventScript_1E4C7C, 0, 0, 0
+
+MossdeepCity_MapWarps: @ 85271B0
+ warp_def 28, 9, 0, 0, MOSSDEEP_CITY_HOUSE_1
+ warp_def 38, 9, 0, 0, MOSSDEEP_CITY_GYM
+ warp_def 28, 16, 0, 0, MOSSDEEP_CITY_POKEMON_CENTER_1F
+ warp_def 67, 25, 0, 0, MOSSDEEP_CITY_HOUSE_2
+ warp_def 37, 18, 0, 0, MOSSDEEP_CITY_MART
+ warp_def 49, 6, 0, 0, MOSSDEEP_CITY_HOUSE_3
+ warp_def 19, 10, 0, 0, MOSSDEEP_CITY_STEVENS_HOUSE
+ warp_def 18, 16, 0, 1, MOSSDEEP_CITY_HOUSE_4
+ warp_def 64, 15, 0, 0, MOSSDEEP_CITY_SPACE_CENTER_1F
+ warp_def 36, 24, 0, 0, MOSSDEEP_CITY_GAME_CORNER_1F
+
+MossdeepCity_MapCoordEvents: @ 8527200
+ coord_event 25, 25, 0, 0, VAR_0x4001, 0, 0, MossdeepCity_EventScript_1E4B38
+ coord_event 26, 25, 0, 0, VAR_0x4001, 0, 0, MossdeepCity_EventScript_1E4B38
+ coord_event 32, 27, 0, 0, VAR_0x4001, 0, 0, MossdeepCity_EventScript_1E4B38
+ coord_event 33, 27, 0, 0, VAR_0x4001, 0, 0, MossdeepCity_EventScript_1E4B38
+ coord_event 42, 21, 5, 0, VAR_0x405D, 1, 0, MossdeepCity_EventScript_1E4B41
+ coord_event 41, 22, 5, 0, VAR_0x405D, 1, 0, MossdeepCity_EventScript_1E4B41
+ coord_event 41, 23, 5, 0, VAR_0x405D, 1, 0, MossdeepCity_EventScript_1E4B41
+ coord_event 41, 24, 5, 0, VAR_0x405D, 1, 0, MossdeepCity_EventScript_1E4B41
+ coord_event 40, 25, 5, 0, VAR_0x405D, 1, 0, MossdeepCity_EventScript_1E4B41
+ coord_event 40, 26, 5, 0, VAR_0x405D, 1, 0, MossdeepCity_EventScript_1E4B41
+
+MossdeepCity_MapBGEvents: @ 85272A0
+ bg_event 25, 16, 0, 0, 0, MossdeepCity_EventScript_1E4B26
+ bg_event 34, 9, 0, 0, 0, MossdeepCity_EventScript_1E4B1D
+ bg_event 29, 16, 0, 1, 0, MossdeepCity_EventScript_271E73
+ bg_event 38, 18, 0, 1, 0, MossdeepCity_EventScript_271E6A
+ bg_event 66, 16, 0, 0, 0, MossdeepCity_EventScript_1E4B2F
+ bg_event 30, 16, 0, 1, 0, MossdeepCity_EventScript_271E73
+ bg_event 39, 18, 0, 1, 0, MossdeepCity_EventScript_271E6A
+ bg_event 57, 21, 7, 0, 0, MossdeepCity_EventScript_1E4B14
+
+MossdeepCity_MapEvents:: @ 8527300
+ map_events MossdeepCity_MapObjects, MossdeepCity_MapWarps, MossdeepCity_MapCoordEvents, MossdeepCity_MapBGEvents
+
diff --git a/data/maps/events/MossdeepCity_GameCorner_1F.inc b/data/maps/events/MossdeepCity_GameCorner_1F.inc
new file mode 100644
index 000000000..c4477a44b
--- /dev/null
+++ b/data/maps/events/MossdeepCity_GameCorner_1F.inc
@@ -0,0 +1,17 @@
+MossdeepCity_GameCorner_1F_MapObjects: @ 8532F40
+ object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 6, 2, 0, 8, 0, 0, 0, 0, MossdeepCity_GameCorner_1F_EventScript_224B54, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_5, 0, 0, 4, 2, 0, 8, 0, 0, 0, 0, MossdeepCity_GameCorner_1F_EventScript_224B4B, 0, 0, 0
+
+MossdeepCity_GameCorner_1F_MapWarps: @ 8532F70
+ warp_def 5, 9, 0, 9, MOSSDEEP_CITY
+ warp_def 6, 9, 0, 9, MOSSDEEP_CITY
+ warp_def 2, 0, 0, 0, MOSSDEEP_CITY_GAME_CORNER_B1F
+
+MossdeepCity_GameCorner_1F_MapBGEvents: @ 8532F88
+ bg_event 3, 0, 0, 0, 0, MossdeepCity_GameCorner_1F_EventScript_224B5D
+ bg_event 0, 1, 0, 0, 0, MossdeepCity_GameCorner_1F_EventScript_277E9D
+ bg_event 1, 1, 0, 0, 0, MossdeepCity_GameCorner_1F_EventScript_277E96
+
+MossdeepCity_GameCorner_1F_MapEvents:: @ 8532FAC
+ map_events MossdeepCity_GameCorner_1F_MapObjects, MossdeepCity_GameCorner_1F_MapWarps, 0x0, MossdeepCity_GameCorner_1F_MapBGEvents
+
diff --git a/data/maps/events/MossdeepCity_GameCorner_B1F.inc b/data/maps/events/MossdeepCity_GameCorner_B1F.inc
new file mode 100644
index 000000000..ed9b4f660
--- /dev/null
+++ b/data/maps/events/MossdeepCity_GameCorner_B1F.inc
@@ -0,0 +1,9 @@
+MossdeepCity_GameCorner_B1F_MapObjects: @ 8532FC0
+ object_event 1, MAP_OBJ_GFX_HIPSTER, 0, 0, 6, 5, 3, 9, 0, 0, 0, 0, 0x0, 0, 0, 0
+
+MossdeepCity_GameCorner_B1F_MapWarps: @ 8532FD8
+ warp_def 3, 1, 0, 2, MOSSDEEP_CITY_GAME_CORNER_1F
+
+MossdeepCity_GameCorner_B1F_MapEvents:: @ 8532FE0
+ map_events MossdeepCity_GameCorner_B1F_MapObjects, MossdeepCity_GameCorner_B1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MossdeepCity_Gym.inc b/data/maps/events/MossdeepCity_Gym.inc
new file mode 100644
index 000000000..cf3e42434
--- /dev/null
+++ b/data/maps/events/MossdeepCity_Gym.inc
@@ -0,0 +1,72 @@
+MossdeepCity_Gym_MapObjects: @ 85324EC
+ object_event 1, MAP_OBJ_GFX_TATE, 0, 0, 23, 7, 0, 8, 0, 0, 0, 0, MossdeepCity_Gym_EventScript_220898, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 1, 30, 3, 8, 0, 0, 1, 1, MossdeepCity_Gym_EventScript_220AFD, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 5, 20, 3, 7, 0, 0, 1, 1, MossdeepCity_Gym_EventScript_220B2B, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_LASS, 0, 0, 4, 29, 3, 7, 0, 0, 1, 1, MossdeepCity_Gym_EventScript_220B70, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_LASS, 0, 0, 4, 23, 0, 7, 0, 0, 1, 1, MossdeepCity_Gym_EventScript_220B59, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 6, 9, 3, 8, 0, 0, 1, 1, MossdeepCity_Gym_EventScript_220B14, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_LASS, 0, 0, 6, 3, 0, 8, 0, 0, 1, 1, MossdeepCity_Gym_EventScript_220B42, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_MAN_2, 0, 0, 5, 33, 0, 8, 0, 0, 0, 0, MossdeepCity_Gym_EventScript_220C11, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_LIZA, 0, 0, 24, 7, 0, 8, 0, 0, 0, 0, MossdeepCity_Gym_EventScript_220898, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 2, 30, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 1, 29, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 12, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 4, 30, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 13, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 5, 29, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 14, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 5, 21, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 15, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 7, 9, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 16, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 10, 8, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 17, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 9, 8, 3, 7, 17, 0, 1, 1, MossdeepCity_Gym_EventScript_220B9E, 0, 0, 0
+ object_event 18, MAP_OBJ_GFX_HEX_MANIAC, 0, 0, 7, 5, 3, 10, 17, 0, 1, 1, MossdeepCity_Gym_EventScript_220B87, 0, 0, 0
+ object_event 19, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 6, 6, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 20, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 12, 5, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 21, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 11, 5, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 22, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 11, 34, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 23, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 12, 33, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 24, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 12, 34, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 25, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 22, 25, 3, 7, 17, 0, 1, 1, MossdeepCity_Gym_EventScript_220BCC, 0, 0, 0
+ object_event 26, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 23, 26, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 27, MAP_OBJ_GFX_LASS, 0, 0, 25, 25, 0, 9, 17, 0, 1, 1, MossdeepCity_Gym_EventScript_220BB5, 0, 0, 0
+ object_event 28, MAP_OBJ_GFX_HEX_MANIAC, 0, 0, 22, 23, 3, 8, 17, 0, 1, 1, MossdeepCity_Gym_EventScript_220BFA, 0, 0, 0
+ object_event 29, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 21, 23, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 30, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 21, 22, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 31, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 22, 22, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 32, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 25, 22, 3, 7, 17, 0, 1, 1, MossdeepCity_Gym_EventScript_220BE3, 0, 0, 0
+ object_event 33, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 24, 22, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 34, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 24, 23, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 35, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 6, 5, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 36, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 23, 25, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+MossdeepCity_Gym_MapWarps: @ 853284C
+ warp_def 6, 35, 3, 1, MOSSDEEP_CITY
+ warp_def 7, 35, 3, 1, MOSSDEEP_CITY
+ warp_def 3, 28, 0, 3, MOSSDEEP_CITY_GYM
+ warp_def 1, 23, 3, 2, MOSSDEEP_CITY_GYM
+ warp_def 7, 18, 0, 5, MOSSDEEP_CITY_GYM
+ warp_def 8, 12, 0, 4, MOSSDEEP_CITY_GYM
+ warp_def 9, 18, 0, 7, MOSSDEEP_CITY_GYM
+ warp_def 23, 20, 0, 6, MOSSDEEP_CITY_GYM
+ warp_def 1, 33, 3, 9, MOSSDEEP_CITY_GYM
+ warp_def 20, 24, 0, 8, MOSSDEEP_CITY_GYM
+ warp_def 11, 3, 0, 11, MOSSDEEP_CITY_GYM
+ warp_def 11, 35, 3, 10, MOSSDEEP_CITY_GYM
+ warp_def 13, 32, 0, 13, MOSSDEEP_CITY_GYM
+ warp_def 21, 10, 0, 12, MOSSDEEP_CITY_GYM
+
+MossdeepCity_Gym_MapCoordEvents: @ 85328BC
+ coord_event 2, 21, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220C67
+ coord_event 8, 10, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220C7D
+ coord_event 6, 7, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220C7D
+ coord_event 15, 34, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220C93
+ coord_event 23, 24, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220CA9
+ coord_event 23, 21, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220CA9
+ coord_event 8, 6, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220CBF
+ coord_event 21, 6, 0, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220AF1
+ coord_event 3, 30, 3, 0, VAR_0x4001, 0, 0, MossdeepCity_Gym_EventScript_220C67
+
+MossdeepCity_Gym_MapBGEvents: @ 853294C
+ bg_event 4, 34, 0, 1, 0, MossdeepCity_Gym_EventScript_220C33
+ bg_event 8, 34, 0, 1, 0, MossdeepCity_Gym_EventScript_220C43
+
+MossdeepCity_Gym_MapEvents:: @ 8532964
+ map_events MossdeepCity_Gym_MapObjects, MossdeepCity_Gym_MapWarps, MossdeepCity_Gym_MapCoordEvents, MossdeepCity_Gym_MapBGEvents
+
diff --git a/data/maps/events/MossdeepCity_House1.inc b/data/maps/events/MossdeepCity_House1.inc
new file mode 100644
index 000000000..c83a09c5c
--- /dev/null
+++ b/data/maps/events/MossdeepCity_House1.inc
@@ -0,0 +1,11 @@
+MossdeepCity_House1_MapObjects: @ 8532978
+ object_event 1, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 3, 3, 3, 3, 17, 0, 0, 0, MossdeepCity_House1_EventScript_221FD6, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_3, 0, 0, 7, 4, 3, 9, 0, 0, 0, 0, MossdeepCity_House1_EventScript_222006, 0, 0, 0
+
+MossdeepCity_House1_MapWarps: @ 85329A8
+ warp_def 3, 7, 0, 0, MOSSDEEP_CITY
+ warp_def 4, 7, 0, 0, MOSSDEEP_CITY
+
+MossdeepCity_House1_MapEvents:: @ 85329B8
+ map_events MossdeepCity_House1_MapObjects, MossdeepCity_House1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MossdeepCity_House2.inc b/data/maps/events/MossdeepCity_House2.inc
new file mode 100644
index 000000000..08ab80348
--- /dev/null
+++ b/data/maps/events/MossdeepCity_House2.inc
@@ -0,0 +1,12 @@
+MossdeepCity_House2_MapObjects: @ 85329CC
+ object_event 1, MAP_OBJ_GFX_MAN_5, 0, 0, 6, 6, 3, 9, 0, 0, 0, 0, MossdeepCity_House2_EventScript_2220DF, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 4, 4, 3, 8, 0, 0, 0, 0, MossdeepCity_House2_EventScript_2220E8, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WINGULL, 0, 0, 4, 5, 3, 7, 0, 0, 0, 0, MossdeepCity_House2_EventScript_2220F1, 934, 0, 0
+
+MossdeepCity_House2_MapWarps: @ 8532A14
+ warp_def 3, 8, 0, 3, MOSSDEEP_CITY
+ warp_def 4, 8, 0, 3, MOSSDEEP_CITY
+
+MossdeepCity_House2_MapEvents:: @ 8532A24
+ map_events MossdeepCity_House2_MapObjects, MossdeepCity_House2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MossdeepCity_House3.inc b/data/maps/events/MossdeepCity_House3.inc
new file mode 100644
index 000000000..21c008770
--- /dev/null
+++ b/data/maps/events/MossdeepCity_House3.inc
@@ -0,0 +1,10 @@
+MossdeepCity_House3_MapObjects: @ 8532BD4
+ object_event 1, MAP_OBJ_GFX_FISHERMAN, 0, 0, 4, 4, 3, 10, 0, 0, 0, 0, MossdeepCity_House3_EventScript_2225C3, 0, 0, 0
+
+MossdeepCity_House3_MapWarps: @ 8532BEC
+ warp_def 3, 7, 0, 5, MOSSDEEP_CITY
+ warp_def 4, 7, 0, 5, MOSSDEEP_CITY
+
+MossdeepCity_House3_MapEvents:: @ 8532BFC
+ map_events MossdeepCity_House3_MapObjects, MossdeepCity_House3_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MossdeepCity_House4.inc b/data/maps/events/MossdeepCity_House4.inc
new file mode 100644
index 000000000..76245850f
--- /dev/null
+++ b/data/maps/events/MossdeepCity_House4.inc
@@ -0,0 +1,12 @@
+MossdeepCity_House4_MapObjects: @ 8532CAC
+ object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 3, 4, 3, 9, 0, 0, 0, 0, MossdeepCity_House4_EventScript_222DD8, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 6, 6, 3, 5, 1, 0, 0, 0, MossdeepCity_House4_EventScript_222DF7, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_SKITTY, 0, 0, 2, 4, 3, 1, 17, 0, 0, 0, MossdeepCity_House4_EventScript_222E1E, 0, 0, 0
+
+MossdeepCity_House4_MapWarps: @ 8532CF4
+ warp_def 4, 7, 0, 7, MOSSDEEP_CITY
+ warp_def 3, 7, 0, 7, MOSSDEEP_CITY
+
+MossdeepCity_House4_MapEvents:: @ 8532D04
+ map_events MossdeepCity_House4_MapObjects, MossdeepCity_House4_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MossdeepCity_Mart.inc b/data/maps/events/MossdeepCity_Mart.inc
new file mode 100644
index 000000000..4a49376ba
--- /dev/null
+++ b/data/maps/events/MossdeepCity_Mart.inc
@@ -0,0 +1,13 @@
+MossdeepCity_Mart_MapObjects: @ 8532B50
+ object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, MossdeepCity_Mart_EventScript_2223C8, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_7, 0, 0, 1, 5, 3, 7, 0, 0, 0, 0, MossdeepCity_Mart_EventScript_2223F6, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BOY_2, 0, 0, 8, 3, 3, 3, 16, 0, 0, 0, MossdeepCity_Mart_EventScript_2223FF, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_SAILOR, 0, 0, 5, 3, 3, 2, 17, 0, 0, 0, MossdeepCity_Mart_EventScript_222408, 0, 0, 0
+
+MossdeepCity_Mart_MapWarps: @ 8532BB0
+ warp_def 3, 7, 0, 4, MOSSDEEP_CITY
+ warp_def 4, 7, 0, 4, MOSSDEEP_CITY
+
+MossdeepCity_Mart_MapEvents:: @ 8532BC0
+ map_events MossdeepCity_Mart_MapObjects, MossdeepCity_Mart_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MossdeepCity_PokemonCenter_1F.inc b/data/maps/events/MossdeepCity_PokemonCenter_1F.inc
new file mode 100644
index 000000000..30e5d395c
--- /dev/null
+++ b/data/maps/events/MossdeepCity_PokemonCenter_1F.inc
@@ -0,0 +1,13 @@
+MossdeepCity_PokemonCenter_1F_MapObjects: @ 8532A38
+ object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, MossdeepCity_PokemonCenter_1F_EventScript_22224E, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_3, 0, 0, 8, 4, 3, 7, 0, 0, 0, 0, MossdeepCity_PokemonCenter_1F_EventScript_22225C, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_GIRL_1, 0, 0, 3, 5, 3, 1, 0, 0, 0, 0, MossdeepCity_PokemonCenter_1F_EventScript_222265, 0, 0, 0
+
+MossdeepCity_PokemonCenter_1F_MapWarps: @ 8532A80
+ warp_def 7, 8, 3, 2, MOSSDEEP_CITY
+ warp_def 6, 8, 3, 2, MOSSDEEP_CITY
+ warp_def 1, 6, 4, 0, MOSSDEEP_CITY_POKEMON_CENTER_2F
+
+MossdeepCity_PokemonCenter_1F_MapEvents:: @ 8532A98
+ map_events MossdeepCity_PokemonCenter_1F_MapObjects, MossdeepCity_PokemonCenter_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MossdeepCity_PokemonCenter_2F.inc b/data/maps/events/MossdeepCity_PokemonCenter_2F.inc
new file mode 100644
index 000000000..7eda9d522
--- /dev/null
+++ b/data/maps/events/MossdeepCity_PokemonCenter_2F.inc
@@ -0,0 +1,15 @@
+MossdeepCity_PokemonCenter_2F_MapObjects: @ 8532AAC
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, MossdeepCity_PokemonCenter_2F_EventScript_27375B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, MossdeepCity_PokemonCenter_2F_EventScript_273761, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, MossdeepCity_PokemonCenter_2F_EventScript_273767, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, MossdeepCity_PokemonCenter_2F_EventScript_276B03, 702, 0, 0
+ object_event 5, MAP_OBJ_GFX_WOMAN_7, 0, 0, 11, 7, 3, 5, 17, 0, 0, 0, MossdeepCity_PokemonCenter_2F_EventScript_22235B, 0, 0, 0
+
+MossdeepCity_PokemonCenter_2F_MapWarps: @ 8532B24
+ warp_def 1, 6, 4, 2, MOSSDEEP_CITY_POKEMON_CENTER_1F
+ warp_def 5, 1, 3, 0, UNION_ROOM
+ warp_def 9, 1, 3, 0, TRADE_CENTER
+
+MossdeepCity_PokemonCenter_2F_MapEvents:: @ 8532B3C
+ map_events MossdeepCity_PokemonCenter_2F_MapObjects, MossdeepCity_PokemonCenter_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MossdeepCity_SpaceCenter_1F.inc b/data/maps/events/MossdeepCity_SpaceCenter_1F.inc
new file mode 100644
index 000000000..4e2062365
--- /dev/null
+++ b/data/maps/events/MossdeepCity_SpaceCenter_1F.inc
@@ -0,0 +1,21 @@
+MossdeepCity_SpaceCenter_1F_MapObjects: @ 8532D18
+ object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 7, 2, 3, 7, 0, 0, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_222FD8, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 2, 2, 3, 7, 0, 0, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_223063, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_SAILOR, 0, 0, 6, 6, 3, 9, 0, 0, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_22308E, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 10, 2, 3, 7, 0, 0, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_223168, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_WOMAN_5, 0, 0, 14, 7, 3, 3, 17, 0, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_22312D, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_MAGMA_MEMBER_F, 0, 0, 12, 9, 3, 9, 17, 0, 1, 2, MossdeepCity_SpaceCenter_1F_EventScript_2231DA, 756, 0, 0
+ object_event 7, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 11, 6, 3, 9, 17, 0, 1, 2, MossdeepCity_SpaceCenter_1F_EventScript_2231F1, 756, 0, 0
+ object_event 8, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 10, 2, 3, 8, 17, 0, 1, 2, MossdeepCity_SpaceCenter_1F_EventScript_223208, 756, 0, 0
+ object_event 9, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 13, 2, 3, 8, 17, 0, 1, 0, MossdeepCity_SpaceCenter_1F_EventScript_22321F, 756, 0, 0
+ object_event 10, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 2, 5, 0, 76, 17, 0, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_2231CF, 737, 0, 0
+ object_event 11, MAP_OBJ_GFX_STEVEN, 0, 0, 1, 4, 3, 8, 17, 0, 0, 0, MossdeepCity_SpaceCenter_1F_EventScript_2231B9, 753, 0, 0
+
+MossdeepCity_SpaceCenter_1F_MapWarps: @ 8532E20
+ warp_def 7, 9, 0, 8, MOSSDEEP_CITY
+ warp_def 8, 9, 0, 8, MOSSDEEP_CITY
+ warp_def 13, 1, 0, 0, MOSSDEEP_CITY_SPACE_CENTER_2F
+
+MossdeepCity_SpaceCenter_1F_MapEvents:: @ 8532E38
+ map_events MossdeepCity_SpaceCenter_1F_MapObjects, MossdeepCity_SpaceCenter_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MossdeepCity_SpaceCenter_2F.inc b/data/maps/events/MossdeepCity_SpaceCenter_2F.inc
new file mode 100644
index 000000000..3de11be87
--- /dev/null
+++ b/data/maps/events/MossdeepCity_SpaceCenter_2F.inc
@@ -0,0 +1,17 @@
+MossdeepCity_SpaceCenter_2F_MapObjects: @ 8532E4C
+ object_event 1, MAP_OBJ_GFX_BOY_4, 0, 0, 6, 2, 3, 7, 0, 0, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F03, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 11, 8, 3, 7, 0, 0, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223EC8, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 5, 6, 3, 2, 17, 0, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223E8D, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_STEVEN, 0, 0, 1, 8, 3, 8, 17, 0, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F7A, 863, 0, 0
+ object_event 5, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 12, 2, 3, 10, 17, 0, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F3E, 862, 0, 0
+ object_event 6, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 13, 3, 3, 7, 17, 0, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F50, 862, 0, 0
+ object_event 7, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 14, 2, 3, 9, 17, 0, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F47, 862, 0, 0
+ object_event 8, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 0, 8, 3, 10, 17, 0, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F59, 862, 0, 0
+ object_event 9, MAP_OBJ_GFX_MAXIE, 0, 0, 1, 9, 3, 7, 17, 0, 0, 0, MossdeepCity_SpaceCenter_2F_EventScript_223F6F, 862, 0, 0
+
+MossdeepCity_SpaceCenter_2F_MapWarps: @ 8532F24
+ warp_def 13, 1, 0, 2, MOSSDEEP_CITY_SPACE_CENTER_1F
+
+MossdeepCity_SpaceCenter_2F_MapEvents:: @ 8532F2C
+ map_events MossdeepCity_SpaceCenter_2F_MapObjects, MossdeepCity_SpaceCenter_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MossdeepCity_StevensHouse.inc b/data/maps/events/MossdeepCity_StevensHouse.inc
new file mode 100644
index 000000000..523088c40
--- /dev/null
+++ b/data/maps/events/MossdeepCity_StevensHouse.inc
@@ -0,0 +1,18 @@
+MossdeepCity_StevensHouse_MapObjects: @ 8532C10
+ object_event 1, MAP_OBJ_GFX_STEVEN, 0, 0, 9, 6, 3, 10, 0, 0, 0, 0, MossdeepCity_StevensHouse_EventScript_222912, 967, 0, 0
+ object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 3, 3, 1, 17, 0, 0, 0, MossdeepCity_StevensHouse_EventScript_222841, 968, 0, 0
+ object_event 3, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 6, 4, 3, 76, 17, 0, 0, 0, MossdeepCity_StevensHouse_EventScript_22291B, 727, 0, 0
+
+MossdeepCity_StevensHouse_MapWarps: @ 8532C58
+ warp_def 3, 7, 0, 6, MOSSDEEP_CITY
+ warp_def 4, 7, 0, 6, MOSSDEEP_CITY
+
+MossdeepCity_StevensHouse_MapBGEvents: @ 8532C68
+ bg_event 0, 1, 0, 0, 0, MossdeepCity_StevensHouse_EventScript_222909
+ bg_event 1, 1, 0, 0, 0, MossdeepCity_StevensHouse_EventScript_222909
+ bg_event 10, 4, 3, 0, 0, MossdeepCity_StevensHouse_EventScript_222909
+ bg_event 10, 6, 3, 0, 0, MossdeepCity_StevensHouse_EventScript_222909
+
+MossdeepCity_StevensHouse_MapEvents:: @ 8532C98
+ map_events MossdeepCity_StevensHouse_MapObjects, MossdeepCity_StevensHouse_MapWarps, 0x0, MossdeepCity_StevensHouse_MapBGEvents
+
diff --git a/data/maps/events/MtChimney.inc b/data/maps/events/MtChimney.inc
new file mode 100644
index 000000000..5f026066a
--- /dev/null
+++ b/data/maps/events/MtChimney.inc
@@ -0,0 +1,45 @@
+MtChimney_MapObjects: @ 85347C8
+ object_event 1, MAP_OBJ_GFX_ARCHIE, 0, 0, 24, 19, 3, 9, 0, 0, 0, 0, MtChimney_EventScript_22EDD5, 926, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAXIE, 0, 0, 13, 6, 3, 10, 0, 0, 0, 0, MtChimney_EventScript_22EE0B, 927, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 12, 11, 3, 9, 0, 0, 1, 2, MtChimney_EventScript_22F06E, 927, 0, 0
+ object_event 4, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 32, 5, 3, 9, 0, 0, 0, 0, MtChimney_EventScript_22F0C0, 927, 0, 0
+ object_event 5, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 28, 12, 3, 10, 0, 0, 0, 0, MtChimney_EventScript_22F0B7, 927, 0, 0
+ object_event 6, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 19, 39, 3, 10, 0, 0, 0, 0, MtChimney_EventScript_22F05C, 926, 0, 0
+ object_event 7, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 29, 5, 3, 10, 0, 0, 0, 0, MtChimney_EventScript_22F053, 926, 0, 0
+ object_event 8, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 31, 12, 3, 9, 0, 0, 0, 0, MtChimney_EventScript_22F065, 926, 0, 0
+ object_event 9, MAP_OBJ_GFX_OLD_WOMAN_2, 0, 0, 19, 39, 3, 10, 0, 0, 0, 0, MtChimney_EventScript_22EEF3, 994, 0, 0
+ object_event 10, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 22, 39, 3, 9, 0, 0, 0, 0, MtChimney_EventScript_22F0C9, 927, 0, 0
+ object_event 11, MAP_OBJ_GFX_POOCHYENA, 0, 0, 23, 19, 3, 74, 0, 0, 0, 0, MtChimney_EventScript_22F0DB, 926, 0, 0
+ object_event 12, MAP_OBJ_GFX_POOCHYENA, 0, 0, 23, 18, 3, 64, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, 927, 0, 0
+ object_event 13, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 23, 17, 3, 8, 0, 0, 0, 0, MtChimney_EventScript_22F0A5, 927, 0, 0
+ object_event 14, MAP_OBJ_GFX_POOCHYENA, 0, 0, 23, 20, 3, 65, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, 927, 0, 0
+ object_event 15, MAP_OBJ_GFX_POOCHYENA, 0, 0, 22, 19, 3, 67, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, 927, 0, 0
+ object_event 16, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 23, 21, 3, 7, 0, 0, 0, 0, MtChimney_EventScript_22F0AE, 927, 0, 0
+ object_event 17, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 21, 19, 3, 10, 0, 0, 0, 0, MtChimney_EventScript_22F09C, 927, 0, 0
+ object_event 18, MAP_OBJ_GFX_POOCHYENA, 0, 0, 30, 12, 3, 66, 0, 0, 0, 0, MtChimney_EventScript_22F0DB, 926, 0, 0
+ object_event 19, MAP_OBJ_GFX_POOCHYENA, 0, 0, 29, 12, 3, 67, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, 927, 0, 0
+ object_event 20, MAP_OBJ_GFX_POOCHYENA, 0, 0, 30, 5, 3, 67, 0, 0, 0, 0, MtChimney_EventScript_22F0DB, 926, 0, 0
+ object_event 21, MAP_OBJ_GFX_POOCHYENA, 0, 0, 31, 5, 3, 66, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, 927, 0, 0
+ object_event 22, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 9, 16, 3, 10, 0, 0, 1, 3, MtChimney_EventScript_22F085, 927, 0, 0
+ object_event 23, MAP_OBJ_GFX_POOCHYENA, 0, 0, 20, 39, 3, 67, 0, 0, 0, 0, MtChimney_EventScript_22F0DB, 926, 0, 0
+ object_event 24, MAP_OBJ_GFX_POOCHYENA, 0, 0, 21, 39, 3, 66, 0, 0, 0, 0, MtChimney_EventScript_22F0D2, 927, 0, 0
+ object_event 25, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 16, 18, 3, 13, 0, 0, 1, 3, MtChimney_EventScript_22F14A, 877, 0, 0
+ object_event 26, MAP_OBJ_GFX_BEAUTY, 0, 0, 14, 7, 3, 70, 0, 0, 1, 6, MtChimney_EventScript_22F1AC, 877, 0, 0
+ object_event 27, MAP_OBJ_GFX_BEAUTY, 0, 0, 29, 7, 3, 17, 17, 0, 1, 3, MtChimney_EventScript_22F1C3, 877, 0, 0
+ object_event 28, MAP_OBJ_GFX_BEAUTY, 0, 0, 27, 17, 3, 16, 17, 0, 1, 3, MtChimney_EventScript_22F1DA, 877, 0, 0
+ object_event 29, MAP_OBJ_GFX_MAGMA_MEMBER_F, 0, 0, 13, 16, 3, 9, 17, 0, 1, 3, MtChimney_EventScript_22F1F1, 927, 0, 0
+ object_event 30, MAP_OBJ_GFX_HIKER, 0, 0, 7, 7, 3, 10, 17, 0, 1, 6, MtChimney_EventScript_22F208, 877, 0, 0
+
+MtChimney_MapWarps: @ 8534A98
+ warp_def 17, 36, 0, 0, MT_CHIMNEY_CABLE_CAR_STATION
+ warp_def 18, 36, 0, 1, MT_CHIMNEY_CABLE_CAR_STATION
+ warp_def 20, 41, 3, 2, JAGGED_PASS
+ warp_def 21, 41, 3, 3, JAGGED_PASS
+
+MtChimney_MapBGEvents: @ 8534AB8
+ bg_event 14, 6, 0, 0, 0, MtChimney_EventScript_22F0E4
+ bg_event 24, 37, 3, 0, 0, MtChimney_EventScript_22F141
+
+MtChimney_MapEvents:: @ 8534AD0
+ map_events MtChimney_MapObjects, MtChimney_MapWarps, 0x0, MtChimney_MapBGEvents
+
diff --git a/data/maps/events/MtChimney_CableCarStation.inc b/data/maps/events/MtChimney_CableCarStation.inc
new file mode 100644
index 000000000..deb754157
--- /dev/null
+++ b/data/maps/events/MtChimney_CableCarStation.inc
@@ -0,0 +1,11 @@
+MtChimney_CableCarStation_MapObjects: @ 8533CA8
+ object_event 1, MAP_OBJ_GFX_BEAUTY, 0, 0, 6, 6, 3, 8, 0, 0, 0, 0, MtChimney_CableCarStation_EventScript_22AC4B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_CABLE_CAR, 0, 0, 6, 3, 3, 1, 0, 0, 0, 0, 0x0, 0, 0, 0
+
+MtChimney_CableCarStation_MapWarps: @ 8533CD8
+ warp_def 6, 11, 0, 0, MT_CHIMNEY
+ warp_def 7, 11, 0, 1, MT_CHIMNEY
+
+MtChimney_CableCarStation_MapEvents:: @ 8533CE8
+ map_events MtChimney_CableCarStation_MapObjects, MtChimney_CableCarStation_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MtPyre_1F.inc b/data/maps/events/MtPyre_1F.inc
new file mode 100644
index 000000000..5270f92fd
--- /dev/null
+++ b/data/maps/events/MtPyre_1F.inc
@@ -0,0 +1,16 @@
+MtPyre_1F_MapObjects: @ 8534D64
+ object_event 1, MAP_OBJ_GFX_OLD_WOMAN_2, 0, 0, 21, 2, 3, 8, 17, 0, 0, 0, MtPyre_1F_EventScript_230F3F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_2, 0, 0, 17, 8, 3, 7, 17, 0, 0, 0, MtPyre_1F_EventScript_230F78, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_5, 0, 0, 13, 10, 3, 9, 17, 0, 0, 0, MtPyre_1F_EventScript_230F81, 0, 0, 0
+
+MtPyre_1F_MapWarps: @ 8534DAC
+ warp_def 17, 18, 3, 0, ROUTE_122
+ warp_def 3, 6, 3, 0, MT_PYRE_EXTERIOR
+ warp_def 18, 18, 3, 0, ROUTE_122
+ warp_def 4, 6, 3, 0, MT_PYRE_EXTERIOR
+ warp_def 11, 1, 3, 0, MT_PYRE_2F
+ warp_def 20, 9, 3, 4, MT_PYRE_2F
+
+MtPyre_1F_MapEvents:: @ 8534DDC
+ map_events MtPyre_1F_MapObjects, MtPyre_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MtPyre_2F.inc b/data/maps/events/MtPyre_2F.inc
new file mode 100644
index 000000000..86659ac47
--- /dev/null
+++ b/data/maps/events/MtPyre_2F.inc
@@ -0,0 +1,20 @@
+MtPyre_2F_MapObjects: @ 8534DF0
+ object_event 1, MAP_OBJ_GFX_MANIAC, 0, 0, 3, 6, 3, 10, 17, 0, 1, 2, MtPyre_2F_EventScript_231128, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 10, 3, 1, 17, 0, 0, 0, MtPyre_2F_EventScript_2912FD, 1129, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_1, 0, 0, 9, 3, 3, 10, 17, 0, 0, 0, MtPyre_2F_EventScript_231116, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MAN_3, 0, 0, 12, 10, 3, 8, 17, 0, 0, 0, MtPyre_2F_EventScript_23111F, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_WOMAN_5, 0, 0, 2, 9, 3, 8, 17, 0, 1, 1, MtPyre_2F_EventScript_23115A, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_MAN_5, 0, 0, 3, 9, 3, 8, 17, 0, 1, 1, MtPyre_2F_EventScript_23113F, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 6, 9, 3, 7, 17, 0, 1, 2, MtPyre_2F_EventScript_23118C, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_HEX_MANIAC, 0, 0, 6, 6, 3, 17, 17, 0, 1, 2, MtPyre_2F_EventScript_231175, 0, 0, 0
+
+MtPyre_2F_MapWarps: @ 8534EB0
+ warp_def 2, 1, 3, 4, MT_PYRE_1F
+ warp_def 10, 1, 3, 0, MT_PYRE_3F
+ warp_def 10, 12, 3, 4, MT_PYRE_3F
+ warp_def 6, 12, 3, 5, MT_PYRE_3F
+ warp_def 11, 9, 3, 5, MT_PYRE_1F
+
+MtPyre_2F_MapEvents:: @ 8534ED8
+ map_events MtPyre_2F_MapObjects, MtPyre_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MtPyre_3F.inc b/data/maps/events/MtPyre_3F.inc
new file mode 100644
index 000000000..96dcae630
--- /dev/null
+++ b/data/maps/events/MtPyre_3F.inc
@@ -0,0 +1,17 @@
+MtPyre_3F_MapObjects: @ 8534EEC
+ object_event 1, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 1, 4, 3, 18, 17, 0, 1, 4, MtPyre_3F_EventScript_231753, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_LASS, 0, 0, 11, 4, 3, 17, 17, 0, 1, 4, MtPyre_3F_EventScript_23176A, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 7, 3, 1, 17, 0, 0, 0, MtPyre_3F_EventScript_29130A, 1120, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_3, 0, 0, 6, 4, 3, 14, 17, 0, 1, 4, MtPyre_3F_EventScript_231781, 0, 0, 0
+
+MtPyre_3F_MapWarps: @ 8534F4C
+ warp_def 10, 1, 3, 1, MT_PYRE_2F
+ warp_def 2, 1, 3, 1, MT_PYRE_4F
+ warp_def 9, 10, 3, 4, MT_PYRE_4F
+ warp_def 1, 12, 3, 5, MT_PYRE_4F
+ warp_def 10, 12, 3, 2, MT_PYRE_2F
+ warp_def 6, 12, 3, 3, MT_PYRE_2F
+
+MtPyre_3F_MapEvents:: @ 8534F7C
+ map_events MtPyre_3F_MapObjects, MtPyre_3F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MtPyre_4F.inc b/data/maps/events/MtPyre_4F.inc
new file mode 100644
index 000000000..2792fa422
--- /dev/null
+++ b/data/maps/events/MtPyre_4F.inc
@@ -0,0 +1,15 @@
+MtPyre_4F_MapObjects: @ 8534F90
+ object_event 1, MAP_OBJ_GFX_HEX_MANIAC, 0, 0, 11, 7, 3, 24, 17, 0, 1, 2, MtPyre_4F_EventScript_231C6E, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 11, 3, 1, 17, 0, 0, 0, MtPyre_4F_EventScript_291317, 1130, 0, 0
+
+MtPyre_4F_MapWarps: @ 8534FC0
+ warp_def 10, 1, 3, 1, MT_PYRE_5F
+ warp_def 2, 5, 3, 1, MT_PYRE_3F
+ warp_def 12, 10, 3, 3, MT_PYRE_5F
+ warp_def 12, 12, 3, 4, MT_PYRE_5F
+ warp_def 9, 10, 3, 2, MT_PYRE_3F
+ warp_def 2, 12, 3, 3, MT_PYRE_3F
+
+MtPyre_4F_MapEvents:: @ 8534FF0
+ map_events MtPyre_4F_MapObjects, MtPyre_4F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MtPyre_5F.inc b/data/maps/events/MtPyre_5F.inc
new file mode 100644
index 000000000..f92f77965
--- /dev/null
+++ b/data/maps/events/MtPyre_5F.inc
@@ -0,0 +1,14 @@
+MtPyre_5F_MapObjects: @ 8535004
+ object_event 1, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 3, 7, 3, 17, 17, 0, 1, 2, MtPyre_5F_EventScript_231BC9, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 6, 11, 3, 1, 17, 0, 0, 0, MtPyre_5F_EventScript_291324, 1052, 0, 0
+
+MtPyre_5F_MapWarps: @ 8535034
+ warp_def 2, 1, 3, 0, MT_PYRE_6F
+ warp_def 10, 5, 3, 0, MT_PYRE_4F
+ warp_def 1, 10, 3, 1, MT_PYRE_6F
+ warp_def 12, 10, 3, 2, MT_PYRE_4F
+ warp_def 12, 12, 3, 3, MT_PYRE_4F
+
+MtPyre_5F_MapEvents:: @ 853505C
+ map_events MtPyre_5F_MapObjects, MtPyre_5F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MtPyre_6F.inc b/data/maps/events/MtPyre_6F.inc
new file mode 100644
index 000000000..be6459981
--- /dev/null
+++ b/data/maps/events/MtPyre_6F.inc
@@ -0,0 +1,12 @@
+MtPyre_6F_MapObjects: @ 8535070
+ object_event 1, MAP_OBJ_GFX_HEX_MANIAC, 0, 0, 6, 3, 3, 23, 17, 0, 1, 3, MtPyre_6F_EventScript_231D3B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 6, 9, 3, 1, 17, 0, 0, 0, MtPyre_6F_EventScript_291331, 1089, 0, 0
+ object_event 3, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 10, 3, 3, 24, 17, 0, 1, 3, MtPyre_6F_EventScript_231D9D, 0, 0, 0
+
+MtPyre_6F_MapWarps: @ 85350B8
+ warp_def 2, 1, 3, 0, MT_PYRE_5F
+ warp_def 1, 10, 3, 2, MT_PYRE_5F
+
+MtPyre_6F_MapEvents:: @ 85350C8
+ map_events MtPyre_6F_MapObjects, MtPyre_6F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/MtPyre_Exterior.inc b/data/maps/events/MtPyre_Exterior.inc
new file mode 100644
index 000000000..5a6101968
--- /dev/null
+++ b/data/maps/events/MtPyre_Exterior.inc
@@ -0,0 +1,23 @@
+MtPyre_Exterior_MapObjects: @ 85350DC
+ object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 27, 15, 3, 1, 0, 0, 0, 0, MtPyre_Exterior_EventScript_29133E, 1073, 0, 0
+ object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 19, 40, 3, 1, 0, 0, 0, 0, MtPyre_Exterior_EventScript_29134B, 1074, 0, 0
+
+MtPyre_Exterior_MapWarps: @ 853510C
+ warp_def 10, 42, 3, 1, MT_PYRE_1F
+ warp_def 19, 10, 3, 1, MT_PYRE_SUMMIT
+ warp_def 20, 10, 3, 1, MT_PYRE_SUMMIT
+
+MtPyre_Exterior_MapCoordEvents: @ 8535124
+ coord_event 24, 21, 3, 0, 0, 0, 0, MtPyre_Exterior_EventScript_231FED
+ coord_event 25, 21, 3, 0, 0, 0, 0, MtPyre_Exterior_EventScript_231FED
+ coord_event 22, 27, 3, 0, 0, 0, 0, MtPyre_Exterior_EventScript_231FF2
+ coord_event 23, 28, 3, 0, 0, 0, 0, MtPyre_Exterior_EventScript_231FF2
+ coord_event 26, 21, 3, 0, 0, 0, 0, MtPyre_Exterior_EventScript_231FED
+
+MtPyre_Exterior_MapBGEvents: @ 8535174
+ bg_event 9, 8, 0, 7, 0, ITEM_ULTRA_BALL, 29, 0
+ bg_event 16, 22, 0, 7, 0, ITEM_MAX_ETHER, 78, 0
+
+MtPyre_Exterior_MapEvents:: @ 853518C
+ map_events MtPyre_Exterior_MapObjects, MtPyre_Exterior_MapWarps, MtPyre_Exterior_MapCoordEvents, MtPyre_Exterior_MapBGEvents
+
diff --git a/data/maps/events/MtPyre_Summit.inc b/data/maps/events/MtPyre_Summit.inc
new file mode 100644
index 000000000..261721fb9
--- /dev/null
+++ b/data/maps/events/MtPyre_Summit.inc
@@ -0,0 +1,30 @@
+MtPyre_Summit_MapObjects: @ 85351A0
+ object_event 1, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 22, 5, 3, 8, 0, 0, 0, 0, MtPyre_Summit_EventScript_23213C, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_ARCHIE, 0, 0, 23, 6, 3, 7, 0, 0, 0, 0, 0x0, 916, 0, 0
+ object_event 3, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 23, 5, 3, 8, 0, 0, 0, 0, MtPyre_Summit_EventScript_2321A2, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 21, 15, 3, 10, 0, 0, 1, 3, MtPyre_Summit_EventScript_2323FD, 917, 0, 0
+ object_event 5, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 25, 18, 3, 9, 0, 0, 1, 3, MtPyre_Summit_EventScript_232414, 917, 0, 0
+ object_event 6, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 21, 11, 3, 10, 0, 0, 1, 3, MtPyre_Summit_EventScript_23242B, 917, 0, 0
+ object_event 7, MAP_OBJ_GFX_AQUA_MEMBER_F, 0, 0, 25, 11, 3, 9, 17, 0, 1, 3, MtPyre_Summit_EventScript_232442, 917, 0, 0
+ object_event 8, MAP_OBJ_GFX_MAXIE, 0, 0, 23, 6, 3, 7, 17, 0, 0, 0, 0x0, 856, 0, 0
+
+MtPyre_Summit_MapWarps: @ 8535260
+ warp_def 22, 31, 3, 1, MT_PYRE_EXTERIOR
+ warp_def 23, 31, 3, 1, MT_PYRE_EXTERIOR
+ warp_def 24, 31, 3, 1, MT_PYRE_EXTERIOR
+
+MtPyre_Summit_MapCoordEvents: @ 8535278
+ coord_event 22, 7, 3, 0, VAR_0x40B9, 0, 0, MtPyre_Summit_EventScript_232018
+ coord_event 23, 7, 3, 0, VAR_0x40B9, 0, 0, MtPyre_Summit_EventScript_232024
+ coord_event 24, 7, 3, 0, VAR_0x40B9, 0, 0, MtPyre_Summit_EventScript_232030
+ coord_event 22, 9, 3, 0, VAR_0x40B9, 2, 0, MtPyre_Summit_EventScript_2321EC
+ coord_event 23, 9, 3, 0, VAR_0x40B9, 2, 0, MtPyre_Summit_EventScript_2321F8
+ coord_event 24, 9, 3, 0, VAR_0x40B9, 2, 0, MtPyre_Summit_EventScript_232204
+
+MtPyre_Summit_MapBGEvents: @ 85352D8
+ bg_event 9, 25, 0, 7, 0, ITEM_ZINC, 79, 0
+ bg_event 37, 7, 3, 7, 0, ITEM_RARE_CANDY, 80, 0
+
+MtPyre_Summit_MapEvents:: @ 85352F0
+ map_events MtPyre_Summit_MapObjects, MtPyre_Summit_MapWarps, MtPyre_Summit_MapCoordEvents, MtPyre_Summit_MapBGEvents
+
diff --git a/data/maps/events/NavelRock_B1F.inc b/data/maps/events/NavelRock_B1F.inc
new file mode 100644
index 000000000..541b11fca
--- /dev/null
+++ b/data/maps/events/NavelRock_B1F.inc
@@ -0,0 +1,7 @@
+NavelRock_B1F_MapWarps: @ 853DA94
+ warp_def 4, 3, 3, 0, NAVEL_ROCK_ENTRANCE
+ warp_def 18, 9, 3, 1, NAVEL_ROCK_FORK
+
+NavelRock_B1F_MapEvents:: @ 853DAA4
+ map_events 0x0, NavelRock_B1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/NavelRock_Bottom.inc b/data/maps/events/NavelRock_Bottom.inc
new file mode 100644
index 000000000..6de1313e9
--- /dev/null
+++ b/data/maps/events/NavelRock_Bottom.inc
@@ -0,0 +1,9 @@
+NavelRock_Bottom_MapObjects: @ 853DD50
+ object_event 1, MAP_OBJ_GFX_LUGIA, 0, 0, 11, 13, 0, 8, 17, 0, 0, 0, NavelRock_Bottom_EventScript_2692A2, 800, 0, 0
+
+NavelRock_Bottom_MapWarps: @ 853DD68
+ warp_def 14, 19, 0, 0, NAVEL_ROCK_DOWN_11
+
+NavelRock_Bottom_MapEvents:: @ 853DD70
+ map_events NavelRock_Bottom_MapObjects, NavelRock_Bottom_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/NavelRock_Down01.inc b/data/maps/events/NavelRock_Down01.inc
new file mode 100644
index 000000000..b644f47ad
--- /dev/null
+++ b/data/maps/events/NavelRock_Down01.inc
@@ -0,0 +1,7 @@
+NavelRock_Down01_MapWarps: @ 853DBC4
+ warp_def 3, 3, 3, 2, NAVEL_ROCK_FORK
+ warp_def 5, 5, 3, 0, NAVEL_ROCK_DOWN_02
+
+NavelRock_Down01_MapEvents:: @ 853DBD4
+ map_events 0x0, NavelRock_Down01_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/NavelRock_Down02.inc b/data/maps/events/NavelRock_Down02.inc
new file mode 100644
index 000000000..dfa088f49
--- /dev/null
+++ b/data/maps/events/NavelRock_Down02.inc
@@ -0,0 +1,7 @@
+NavelRock_Down02_MapWarps: @ 853DBE8
+ warp_def 5, 5, 3, 1, NAVEL_ROCK_DOWN_01
+ warp_def 3, 3, 3, 0, NAVEL_ROCK_DOWN_03
+
+NavelRock_Down02_MapEvents:: @ 853DBF8
+ map_events 0x0, NavelRock_Down02_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/NavelRock_Down03.inc b/data/maps/events/NavelRock_Down03.inc
new file mode 100644
index 000000000..723bc8934
--- /dev/null
+++ b/data/maps/events/NavelRock_Down03.inc
@@ -0,0 +1,7 @@
+NavelRock_Down03_MapWarps: @ 853DC0C
+ warp_def 3, 3, 3, 1, NAVEL_ROCK_DOWN_02
+ warp_def 5, 5, 3, 0, NAVEL_ROCK_DOWN_04
+
+NavelRock_Down03_MapEvents:: @ 853DC1C
+ map_events 0x0, NavelRock_Down03_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/NavelRock_Down04.inc b/data/maps/events/NavelRock_Down04.inc
new file mode 100644
index 000000000..9f5148611
--- /dev/null
+++ b/data/maps/events/NavelRock_Down04.inc
@@ -0,0 +1,7 @@
+NavelRock_Down04_MapWarps: @ 853DC30
+ warp_def 5, 5, 3, 1, NAVEL_ROCK_DOWN_03
+ warp_def 3, 3, 3, 0, NAVEL_ROCK_DOWN_05
+
+NavelRock_Down04_MapEvents:: @ 853DC40
+ map_events 0x0, NavelRock_Down04_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/NavelRock_Down05.inc b/data/maps/events/NavelRock_Down05.inc
new file mode 100644
index 000000000..df8981e2a
--- /dev/null
+++ b/data/maps/events/NavelRock_Down05.inc
@@ -0,0 +1,7 @@
+NavelRock_Down05_MapWarps: @ 853DC54
+ warp_def 3, 3, 3, 1, NAVEL_ROCK_DOWN_04
+ warp_def 5, 5, 3, 0, NAVEL_ROCK_DOWN_06
+
+NavelRock_Down05_MapEvents:: @ 853DC64
+ map_events 0x0, NavelRock_Down05_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/NavelRock_Down06.inc b/data/maps/events/NavelRock_Down06.inc
new file mode 100644
index 000000000..c32dc9500
--- /dev/null
+++ b/data/maps/events/NavelRock_Down06.inc
@@ -0,0 +1,7 @@
+NavelRock_Down06_MapWarps: @ 853DC78
+ warp_def 5, 5, 3, 1, NAVEL_ROCK_DOWN_05
+ warp_def 3, 3, 3, 0, NAVEL_ROCK_DOWN_07
+
+NavelRock_Down06_MapEvents:: @ 853DC88
+ map_events 0x0, NavelRock_Down06_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/NavelRock_Down07.inc b/data/maps/events/NavelRock_Down07.inc
new file mode 100644
index 000000000..35191f0ba
--- /dev/null
+++ b/data/maps/events/NavelRock_Down07.inc
@@ -0,0 +1,7 @@
+NavelRock_Down07_MapWarps: @ 853DC9C
+ warp_def 3, 3, 3, 1, NAVEL_ROCK_DOWN_06
+ warp_def 5, 5, 3, 0, NAVEL_ROCK_DOWN_08
+
+NavelRock_Down07_MapEvents:: @ 853DCAC
+ map_events 0x0, NavelRock_Down07_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/NavelRock_Down08.inc b/data/maps/events/NavelRock_Down08.inc
new file mode 100644
index 000000000..a55307cfa
--- /dev/null
+++ b/data/maps/events/NavelRock_Down08.inc
@@ -0,0 +1,7 @@
+NavelRock_Down08_MapWarps: @ 853DCC0
+ warp_def 5, 5, 3, 1, NAVEL_ROCK_DOWN_07
+ warp_def 3, 3, 3, 0, NAVEL_ROCK_DOWN_09
+
+NavelRock_Down08_MapEvents:: @ 853DCD0
+ map_events 0x0, NavelRock_Down08_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/NavelRock_Down09.inc b/data/maps/events/NavelRock_Down09.inc
new file mode 100644
index 000000000..7816eb358
--- /dev/null
+++ b/data/maps/events/NavelRock_Down09.inc
@@ -0,0 +1,7 @@
+NavelRock_Down09_MapWarps: @ 853DCE4
+ warp_def 3, 3, 3, 1, NAVEL_ROCK_DOWN_08
+ warp_def 5, 5, 3, 0, NAVEL_ROCK_DOWN_10
+
+NavelRock_Down09_MapEvents:: @ 853DCF4
+ map_events 0x0, NavelRock_Down09_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/NavelRock_Down10.inc b/data/maps/events/NavelRock_Down10.inc
new file mode 100644
index 000000000..20e7ac6cd
--- /dev/null
+++ b/data/maps/events/NavelRock_Down10.inc
@@ -0,0 +1,7 @@
+NavelRock_Down10_MapWarps: @ 853DD08
+ warp_def 5, 5, 3, 1, NAVEL_ROCK_DOWN_09
+ warp_def 3, 3, 3, 1, NAVEL_ROCK_DOWN_11
+
+NavelRock_Down10_MapEvents:: @ 853DD18
+ map_events 0x0, NavelRock_Down10_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/NavelRock_Down11.inc b/data/maps/events/NavelRock_Down11.inc
new file mode 100644
index 000000000..eea34db90
--- /dev/null
+++ b/data/maps/events/NavelRock_Down11.inc
@@ -0,0 +1,7 @@
+NavelRock_Down11_MapWarps: @ 853DD2C
+ warp_def 5, 5, 3, 0, NAVEL_ROCK_BOTTOM
+ warp_def 3, 3, 3, 1, NAVEL_ROCK_DOWN_10
+
+NavelRock_Down11_MapEvents:: @ 853DD3C
+ map_events 0x0, NavelRock_Down11_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/NavelRock_Entrance.inc b/data/maps/events/NavelRock_Entrance.inc
new file mode 100644
index 000000000..9d470a864
--- /dev/null
+++ b/data/maps/events/NavelRock_Entrance.inc
@@ -0,0 +1,7 @@
+NavelRock_Entrance_MapWarps: @ 853DA70
+ warp_def 10, 5, 3, 0, NAVEL_ROCK_B1F
+ warp_def 10, 26, 3, 1, NAVEL_ROCK_EXTERIOR
+
+NavelRock_Entrance_MapEvents:: @ 853DA80
+ map_events 0x0, NavelRock_Entrance_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/NavelRock_Exterior.inc b/data/maps/events/NavelRock_Exterior.inc
new file mode 100644
index 000000000..57a6d5a6e
--- /dev/null
+++ b/data/maps/events/NavelRock_Exterior.inc
@@ -0,0 +1,7 @@
+NavelRock_Exterior_MapWarps: @ 853DA00
+ warp_def 10, 18, 0, 0, NAVEL_ROCK_HARBOR
+ warp_def 10, 10, 0, 1, NAVEL_ROCK_ENTRANCE
+
+NavelRock_Exterior_MapEvents:: @ 853DA10
+ map_events 0x0, NavelRock_Exterior_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/NavelRock_Fork.inc b/data/maps/events/NavelRock_Fork.inc
new file mode 100644
index 000000000..4e3f5a801
--- /dev/null
+++ b/data/maps/events/NavelRock_Fork.inc
@@ -0,0 +1,8 @@
+NavelRock_Fork_MapWarps: @ 853DAB8
+ warp_def 4, 6, 3, 0, NAVEL_ROCK_UP_1
+ warp_def 11, 79, 3, 1, NAVEL_ROCK_B1F
+ warp_def 22, 6, 3, 0, NAVEL_ROCK_DOWN_01
+
+NavelRock_Fork_MapEvents:: @ 853DAD0
+ map_events 0x0, NavelRock_Fork_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/NavelRock_Harbor.inc b/data/maps/events/NavelRock_Harbor.inc
new file mode 100644
index 000000000..eab9c8fc6
--- /dev/null
+++ b/data/maps/events/NavelRock_Harbor.inc
@@ -0,0 +1,10 @@
+NavelRock_Harbor_MapObjects: @ 853DA24
+ object_event 1, MAP_OBJ_GFX_SAILOR, 0, 0, 8, 5, 0, 7, 17, 0, 0, 0, NavelRock_Harbor_EventScript_2690BD, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SS_TIDAL, 0, 0, 8, 7, 1, 10, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+NavelRock_Harbor_MapWarps: @ 853DA54
+ warp_def 8, 2, 0, 0, NAVEL_ROCK_EXTERIOR
+
+NavelRock_Harbor_MapEvents:: @ 853DA5C
+ map_events NavelRock_Harbor_MapObjects, NavelRock_Harbor_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/NavelRock_Top.inc b/data/maps/events/NavelRock_Top.inc
new file mode 100644
index 000000000..6fb99be16
--- /dev/null
+++ b/data/maps/events/NavelRock_Top.inc
@@ -0,0 +1,15 @@
+NavelRock_Top_MapObjects: @ 853DB74
+ object_event 1, MAP_OBJ_GFX_HOOH, 0, 0, 12, 4, 0, 8, 17, 0, 0, 0, 0x0, 801, 0, 0
+
+NavelRock_Top_MapWarps: @ 853DB8C
+ warp_def 13, 20, 3, 1, NAVEL_ROCK_UP_4
+
+NavelRock_Top_MapCoordEvents: @ 853DB94
+ coord_event 12, 10, 3, 0, VAR_0x4001, 0, 0, NavelRock_Top_EventScript_26916F
+
+NavelRock_Top_MapBGEvents: @ 853DBA4
+ bg_event 12, 9, 3, 7, 0, ITEM_SACRED_ASH, 109, 0
+
+NavelRock_Top_MapEvents:: @ 853DBB0
+ map_events NavelRock_Top_MapObjects, NavelRock_Top_MapWarps, NavelRock_Top_MapCoordEvents, NavelRock_Top_MapBGEvents
+
diff --git a/data/maps/events/NavelRock_Up1.inc b/data/maps/events/NavelRock_Up1.inc
new file mode 100644
index 000000000..292278a85
--- /dev/null
+++ b/data/maps/events/NavelRock_Up1.inc
@@ -0,0 +1,7 @@
+NavelRock_Up1_MapWarps: @ 853DAE4
+ warp_def 5, 5, 3, 0, NAVEL_ROCK_FORK
+ warp_def 3, 3, 3, 0, NAVEL_ROCK_UP_2
+
+NavelRock_Up1_MapEvents:: @ 853DAF4
+ map_events 0x0, NavelRock_Up1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/NavelRock_Up2.inc b/data/maps/events/NavelRock_Up2.inc
new file mode 100644
index 000000000..55c4b4315
--- /dev/null
+++ b/data/maps/events/NavelRock_Up2.inc
@@ -0,0 +1,7 @@
+NavelRock_Up2_MapWarps: @ 853DB08
+ warp_def 3, 3, 3, 1, NAVEL_ROCK_UP_1
+ warp_def 5, 5, 3, 0, NAVEL_ROCK_UP_3
+
+NavelRock_Up2_MapEvents:: @ 853DB18
+ map_events 0x0, NavelRock_Up2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/NavelRock_Up3.inc b/data/maps/events/NavelRock_Up3.inc
new file mode 100644
index 000000000..c67cc7b17
--- /dev/null
+++ b/data/maps/events/NavelRock_Up3.inc
@@ -0,0 +1,7 @@
+NavelRock_Up3_MapWarps: @ 853DB2C
+ warp_def 5, 5, 3, 1, NAVEL_ROCK_UP_2
+ warp_def 3, 3, 3, 0, NAVEL_ROCK_UP_4
+
+NavelRock_Up3_MapEvents:: @ 853DB3C
+ map_events 0x0, NavelRock_Up3_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/NavelRock_Up4.inc b/data/maps/events/NavelRock_Up4.inc
new file mode 100644
index 000000000..c1091ae52
--- /dev/null
+++ b/data/maps/events/NavelRock_Up4.inc
@@ -0,0 +1,7 @@
+NavelRock_Up4_MapWarps: @ 853DB50
+ warp_def 3, 3, 3, 1, NAVEL_ROCK_UP_3
+ warp_def 5, 5, 3, 0, NAVEL_ROCK_TOP
+
+NavelRock_Up4_MapEvents:: @ 853DB60
+ map_events 0x0, NavelRock_Up4_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/NewMauville_Entrance.inc b/data/maps/events/NewMauville_Entrance.inc
new file mode 100644
index 000000000..876841b6d
--- /dev/null
+++ b/data/maps/events/NewMauville_Entrance.inc
@@ -0,0 +1,10 @@
+NewMauville_Entrance_MapWarps: @ 8536474
+ warp_def 4, 6, 3, 0, ROUTE_110
+ warp_def 4, 1, 3, 0, NEW_MAUVILLE_INSIDE
+
+NewMauville_Entrance_MapCoordEvents: @ 8536484
+ coord_event 4, 2, 3, 0, VAR_0x40BA, 0, 0, NewMauville_Entrance_EventScript_2372FF
+
+NewMauville_Entrance_MapEvents:: @ 8536494
+ map_events 0x0, NewMauville_Entrance_MapWarps, NewMauville_Entrance_MapCoordEvents, 0x0
+
diff --git a/data/maps/events/NewMauville_Inside.inc b/data/maps/events/NewMauville_Inside.inc
new file mode 100644
index 000000000..74255c763
--- /dev/null
+++ b/data/maps/events/NewMauville_Inside.inc
@@ -0,0 +1,38 @@
+NewMauville_Inside_MapObjects: @ 85364A8
+ object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 32, 25, 3, 1, 0, 0, 0, 0, NewMauville_Inside_EventScript_2911EC, 1075, 0, 0
+ object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 16, 22, 3, 1, 0, 0, 0, 0, NewMauville_Inside_EventScript_2911F9, 1076, 0, 0
+ object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 39, 4, 3, 1, 17, 0, 0, 0, NewMauville_Inside_EventScript_291206, 1110, 0, 0
+ object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 17, 10, 3, 1, 17, 0, 0, 0, NewMauville_Inside_EventScript_291213, 1122, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 2, 11, 3, 1, 17, 0, 0, 0, NewMauville_Inside_EventScript_291220, 1123, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 25, 18, 3, 1, 17, 0, 0, 0, NewMauville_Inside_EventScript_2377AF, 974, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 6, 11, 3, 1, 17, 0, 0, 0, NewMauville_Inside_EventScript_2377FC, 975, 0, 0
+ object_event 8, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 13, 10, 3, 1, 17, 0, 0, 0, NewMauville_Inside_EventScript_237849, 976, 0, 0
+
+NewMauville_Inside_MapWarps: @ 8536568
+ warp_def 32, 33, 3, 1, NEW_MAUVILLE_ENTRANCE
+
+NewMauville_Inside_MapCoordEvents: @ 8536570
+ coord_event 30, 38, 3, 0, VAR_0x4001, 0, 0, NewMauville_Inside_EventScript_237459
+ coord_event 18, 36, 3, 0, VAR_0x4002, 0, 0, NewMauville_Inside_EventScript_237471
+ coord_event 4, 26, 3, 0, VAR_0x4001, 0, 0, NewMauville_Inside_EventScript_237459
+ coord_event 16, 22, 3, 0, VAR_0x4001, 0, 0, NewMauville_Inside_EventScript_237459
+ coord_event 25, 18, 3, 0, VAR_0x4002, 0, 0, NewMauville_Inside_EventScript_237471
+ coord_event 2, 11, 3, 0, VAR_0x4002, 0, 0, NewMauville_Inside_EventScript_237471
+ coord_event 6, 11, 3, 0, VAR_0x4001, 0, 0, NewMauville_Inside_EventScript_237459
+ coord_event 13, 10, 3, 0, VAR_0x4001, 0, 0, NewMauville_Inside_EventScript_237459
+ coord_event 17, 10, 3, 0, VAR_0x4002, 0, 0, NewMauville_Inside_EventScript_237471
+ coord_event 33, 6, 3, 0, VAR_0x40BA, 1, 0, NewMauville_Inside_EventScript_237725
+
+NewMauville_Inside_MapBGEvents: @ 8536610
+ bg_event 32, 4, 3, 0, 0, NewMauville_Inside_EventScript_23778F
+ bg_event 32, 3, 3, 0, 0, NewMauville_Inside_EventScript_23778F
+ bg_event 32, 2, 0, 0, 0, NewMauville_Inside_EventScript_23778F
+ bg_event 33, 4, 3, 0, 0, NewMauville_Inside_EventScript_23778F
+ bg_event 34, 4, 3, 0, 0, NewMauville_Inside_EventScript_23778F
+ bg_event 35, 4, 3, 0, 0, NewMauville_Inside_EventScript_23778F
+ bg_event 35, 3, 3, 0, 0, NewMauville_Inside_EventScript_23778F
+ bg_event 35, 2, 0, 0, 0, NewMauville_Inside_EventScript_23778F
+
+NewMauville_Inside_MapEvents:: @ 8536670
+ map_events NewMauville_Inside_MapObjects, NewMauville_Inside_MapWarps, NewMauville_Inside_MapCoordEvents, NewMauville_Inside_MapBGEvents
+
diff --git a/data/maps/events/OldaleTown.inc b/data/maps/events/OldaleTown.inc
new file mode 100644
index 000000000..2f2929eb5
--- /dev/null
+++ b/data/maps/events/OldaleTown.inc
@@ -0,0 +1,28 @@
+OldaleTown_MapObjects: @ 8527854
+ object_event 1, MAP_OBJ_GFX_GIRL_3, 0, 0, 16, 11, 3, 9, 0, 0, 0, 0, OldaleTown_EventScript_1E8EF3, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 13, 7, 3, 8, 0, 0, 0, 0, OldaleTown_EventScript_1E8EFC, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MANIAC, 0, 0, 8, 9, 3, 10, 0, 0, 0, 0, OldaleTown_EventScript_1E901F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_HIPSTER, 0, 0, 11, 19, 3, 7, 17, 0, 0, 0, OldaleTown_EventScript_1E9070, 979, 0, 0
+
+OldaleTown_MapWarps: @ 85278B4
+ warp_def 5, 7, 0, 0, OLDALE_TOWN_HOUSE_1
+ warp_def 15, 16, 0, 0, OLDALE_TOWN_HOUSE_2
+ warp_def 6, 16, 0, 0, OLDALE_TOWN_POKEMON_CENTER_1F
+ warp_def 14, 6, 0, 0, OLDALE_TOWN_MART
+
+OldaleTown_MapCoordEvents: @ 85278D4
+ coord_event 0, 10, 3, 0, VAR_0x4051, 0, 0, OldaleTown_EventScript_1E903F
+ coord_event 8, 19, 3, 0, VAR_0x40C7, 1, 0, OldaleTown_EventScript_1E9086
+ coord_event 9, 19, 3, 0, VAR_0x40C7, 1, 0, OldaleTown_EventScript_1E90A6
+ coord_event 10, 19, 3, 0, VAR_0x40C7, 1, 0, OldaleTown_EventScript_1E90C6
+
+OldaleTown_MapBGEvents: @ 8527914
+ bg_event 11, 9, 0, 0, 0, OldaleTown_EventScript_1E8EEA
+ bg_event 7, 16, 0, 1, 0, OldaleTown_EventScript_271E73
+ bg_event 15, 6, 0, 1, 0, OldaleTown_EventScript_271E6A
+ bg_event 8, 16, 0, 1, 0, OldaleTown_EventScript_271E73
+ bg_event 16, 6, 0, 1, 0, OldaleTown_EventScript_271E6A
+
+OldaleTown_MapEvents:: @ 8527950
+ map_events OldaleTown_MapObjects, OldaleTown_MapWarps, OldaleTown_MapCoordEvents, OldaleTown_MapBGEvents
+
diff --git a/data/maps/events/OldaleTown_House1.inc b/data/maps/events/OldaleTown_House1.inc
new file mode 100644
index 000000000..1a8edcbc6
--- /dev/null
+++ b/data/maps/events/OldaleTown_House1.inc
@@ -0,0 +1,10 @@
+OldaleTown_House1_MapObjects: @ 852D7B4
+ object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 6, 4, 3, 2, 17, 0, 0, 0, OldaleTown_House1_EventScript_1FBE86, 0, 0, 0
+
+OldaleTown_House1_MapWarps: @ 852D7CC
+ warp_def 3, 8, 0, 0, OLDALE_TOWN
+ warp_def 4, 8, 0, 0, OLDALE_TOWN
+
+OldaleTown_House1_MapEvents:: @ 852D7DC
+ map_events OldaleTown_House1_MapObjects, OldaleTown_House1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/OldaleTown_House2.inc b/data/maps/events/OldaleTown_House2.inc
new file mode 100644
index 000000000..c86bc109c
--- /dev/null
+++ b/data/maps/events/OldaleTown_House2.inc
@@ -0,0 +1,11 @@
+OldaleTown_House2_MapObjects: @ 852D7F0
+ object_event 1, MAP_OBJ_GFX_WOMAN_2, 0, 0, 4, 4, 3, 10, 0, 0, 0, 0, OldaleTown_House2_EventScript_1FBF5B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 7, 4, 3, 9, 0, 0, 0, 0, OldaleTown_House2_EventScript_1FBF64, 0, 0, 0
+
+OldaleTown_House2_MapWarps: @ 852D820
+ warp_def 3, 7, 0, 1, OLDALE_TOWN
+ warp_def 4, 7, 0, 1, OLDALE_TOWN
+
+OldaleTown_House2_MapEvents:: @ 852D830
+ map_events OldaleTown_House2_MapObjects, OldaleTown_House2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/OldaleTown_Mart.inc b/data/maps/events/OldaleTown_Mart.inc
new file mode 100644
index 000000000..6a58118c8
--- /dev/null
+++ b/data/maps/events/OldaleTown_Mart.inc
@@ -0,0 +1,12 @@
+OldaleTown_Mart_MapObjects: @ 852D95C
+ object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, OldaleTown_Mart_EventScript_1FC240, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_7, 0, 0, 5, 5, 3, 10, 0, 0, 0, 0, OldaleTown_Mart_EventScript_1FC28A, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BOY_1, 0, 0, 9, 4, 3, 3, 16, 0, 0, 0, OldaleTown_Mart_EventScript_1FC2A9, 0, 0, 0
+
+OldaleTown_Mart_MapWarps: @ 852D9A4
+ warp_def 3, 7, 0, 3, OLDALE_TOWN
+ warp_def 4, 7, 0, 3, OLDALE_TOWN
+
+OldaleTown_Mart_MapEvents:: @ 852D9B4
+ map_events OldaleTown_Mart_MapObjects, OldaleTown_Mart_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/OldaleTown_PokemonCenter_1F.inc b/data/maps/events/OldaleTown_PokemonCenter_1F.inc
new file mode 100644
index 000000000..a6e424f27
--- /dev/null
+++ b/data/maps/events/OldaleTown_PokemonCenter_1F.inc
@@ -0,0 +1,14 @@
+OldaleTown_PokemonCenter_1F_MapObjects: @ 852D844
+ object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, OldaleTown_PokemonCenter_1F_EventScript_1FC01A, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 4, 4, 3, 8, 0, 0, 0, 0, OldaleTown_PokemonCenter_1F_EventScript_1FC028, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BOY_1, 0, 0, 10, 6, 3, 10, 0, 0, 0, 0, OldaleTown_PokemonCenter_1F_EventScript_1FC031, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_GIRL_3, 0, 0, 3, 7, 3, 10, 17, 0, 0, 0, OldaleTown_PokemonCenter_1F_EventScript_1FC03A, 0, 0, 0
+
+OldaleTown_PokemonCenter_1F_MapWarps: @ 852D8A4
+ warp_def 7, 8, 3, 2, OLDALE_TOWN
+ warp_def 6, 8, 3, 2, OLDALE_TOWN
+ warp_def 1, 6, 4, 0, OLDALE_TOWN_POKEMON_CENTER_2F
+
+OldaleTown_PokemonCenter_1F_MapEvents:: @ 852D8BC
+ map_events OldaleTown_PokemonCenter_1F_MapObjects, OldaleTown_PokemonCenter_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/OldaleTown_PokemonCenter_2F.inc b/data/maps/events/OldaleTown_PokemonCenter_2F.inc
new file mode 100644
index 000000000..d520c6bcf
--- /dev/null
+++ b/data/maps/events/OldaleTown_PokemonCenter_2F.inc
@@ -0,0 +1,14 @@
+OldaleTown_PokemonCenter_2F_MapObjects: @ 852D8D0
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 3, 8, 17, 0, 0, 0, OldaleTown_PokemonCenter_2F_EventScript_27375B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, OldaleTown_PokemonCenter_2F_EventScript_273761, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 3, 8, 17, 0, 0, 0, OldaleTown_PokemonCenter_2F_EventScript_273767, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, OldaleTown_PokemonCenter_2F_EventScript_276B03, 702, 0, 0
+
+OldaleTown_PokemonCenter_2F_MapWarps: @ 852D930
+ warp_def 1, 6, 4, 2, OLDALE_TOWN_POKEMON_CENTER_1F
+ warp_def 5, 1, 3, 0, UNION_ROOM
+ warp_def 9, 1, 3, 0, TRADE_CENTER
+
+OldaleTown_PokemonCenter_2F_MapEvents:: @ 852D948
+ map_events OldaleTown_PokemonCenter_2F_MapObjects, OldaleTown_PokemonCenter_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/PacifidlogTown.inc b/data/maps/events/PacifidlogTown.inc
new file mode 100644
index 000000000..1667ccc87
--- /dev/null
+++ b/data/maps/events/PacifidlogTown.inc
@@ -0,0 +1,21 @@
+PacifidlogTown_MapObjects: @ 8527DE8
+ object_event 1, MAP_OBJ_GFX_GIRL_1, 0, 0, 10, 23, 3, 9, 0, 0, 0, 0, PacifidlogTown_EventScript_1EBACC, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_FISHERMAN, 0, 0, 11, 14, 3, 10, 0, 0, 0, 0, PacifidlogTown_EventScript_1EBAD5, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 9, 16, 3, 8, 0, 0, 0, 0, PacifidlogTown_EventScript_1EBAC3, 0, 0, 0
+
+PacifidlogTown_MapWarps: @ 8527E30
+ warp_def 8, 15, 0, 0, PACIFIDLOG_TOWN_POKEMON_CENTER_1F
+ warp_def 16, 13, 0, 0, PACIFIDLOG_TOWN_HOUSE_1
+ warp_def 3, 22, 0, 0, PACIFIDLOG_TOWN_HOUSE_2
+ warp_def 12, 24, 0, 0, PACIFIDLOG_TOWN_HOUSE_3
+ warp_def 2, 12, 0, 0, PACIFIDLOG_TOWN_HOUSE_4
+ warp_def 17, 21, 0, 0, PACIFIDLOG_TOWN_HOUSE_5
+
+PacifidlogTown_MapBGEvents: @ 8527E60
+ bg_event 9, 15, 0, 1, 0, PacifidlogTown_EventScript_271E73
+ bg_event 7, 16, 0, 0, 0, PacifidlogTown_EventScript_1EBADE
+ bg_event 10, 15, 0, 1, 0, PacifidlogTown_EventScript_271E73
+
+PacifidlogTown_MapEvents:: @ 8527E84
+ map_events PacifidlogTown_MapObjects, PacifidlogTown_MapWarps, 0x0, PacifidlogTown_MapBGEvents
+
diff --git a/data/maps/events/PacifidlogTown_House1.inc b/data/maps/events/PacifidlogTown_House1.inc
new file mode 100644
index 000000000..5f2c3b905
--- /dev/null
+++ b/data/maps/events/PacifidlogTown_House1.inc
@@ -0,0 +1,11 @@
+PacifidlogTown_House1_MapObjects: @ 852EBA0
+ object_event 1, MAP_OBJ_GFX_MAN_6, 0, 0, 3, 5, 3, 8, 0, 0, 0, 0, PacifidlogTown_House1_EventScript_20365D, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_5, 0, 0, 6, 4, 3, 9, 0, 0, 0, 0, PacifidlogTown_House1_EventScript_203666, 0, 0, 0
+
+PacifidlogTown_House1_MapWarps: @ 852EBD0
+ warp_def 4, 8, 0, 1, PACIFIDLOG_TOWN
+ warp_def 5, 8, 0, 1, PACIFIDLOG_TOWN
+
+PacifidlogTown_House1_MapEvents:: @ 852EBE0
+ map_events PacifidlogTown_House1_MapObjects, PacifidlogTown_House1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/PacifidlogTown_House2.inc b/data/maps/events/PacifidlogTown_House2.inc
new file mode 100644
index 000000000..743395c72
--- /dev/null
+++ b/data/maps/events/PacifidlogTown_House2.inc
@@ -0,0 +1,12 @@
+PacifidlogTown_House2_MapObjects: @ 852EBF4
+ object_event 1, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 3, 5, 3, 8, 17, 0, 0, 0, PacifidlogTown_House2_EventScript_203792, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_AZURILL, 0, 0, 8, 6, 3, 1, 17, 0, 0, 0, PacifidlogTown_House2_EventScript_203891, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_AZURILL, 0, 0, 1, 7, 3, 1, 17, 0, 0, 0, PacifidlogTown_House2_EventScript_2038AC, 0, 0, 0
+
+PacifidlogTown_House2_MapWarps: @ 852EC3C
+ warp_def 4, 8, 0, 2, PACIFIDLOG_TOWN
+ warp_def 5, 8, 0, 2, PACIFIDLOG_TOWN
+
+PacifidlogTown_House2_MapEvents:: @ 852EC4C
+ map_events PacifidlogTown_House2_MapObjects, PacifidlogTown_House2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/PacifidlogTown_House3.inc b/data/maps/events/PacifidlogTown_House3.inc
new file mode 100644
index 000000000..85d7c4f53
--- /dev/null
+++ b/data/maps/events/PacifidlogTown_House3.inc
@@ -0,0 +1,11 @@
+PacifidlogTown_House3_MapObjects: @ 852EC60
+ object_event 1, MAP_OBJ_GFX_GIRL_2, 0, 0, 3, 5, 3, 18, 0, 0, 0, 0, PacifidlogTown_House3_EventScript_203CB5, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_4, 0, 0, 4, 2, 3, 10, 17, 0, 0, 0, PacifidlogTown_House3_EventScript_203C11, 0, 0, 0
+
+PacifidlogTown_House3_MapWarps: @ 852EC90
+ warp_def 4, 8, 0, 3, PACIFIDLOG_TOWN
+ warp_def 5, 8, 0, 3, PACIFIDLOG_TOWN
+
+PacifidlogTown_House3_MapEvents:: @ 852ECA0
+ map_events PacifidlogTown_House3_MapObjects, PacifidlogTown_House3_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/PacifidlogTown_House4.inc b/data/maps/events/PacifidlogTown_House4.inc
new file mode 100644
index 000000000..b552a566c
--- /dev/null
+++ b/data/maps/events/PacifidlogTown_House4.inc
@@ -0,0 +1,12 @@
+PacifidlogTown_House4_MapObjects: @ 852ECB4
+ object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 3, 4, 3, 8, 0, 0, 0, 0, PacifidlogTown_House4_EventScript_203F55, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 7, 5, 3, 2, 17, 0, 0, 0, PacifidlogTown_House4_EventScript_203F4C, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BOY_1, 0, 0, 7, 4, 3, 2, 17, 0, 0, 0, PacifidlogTown_House4_EventScript_203F5E, 0, 0, 0
+
+PacifidlogTown_House4_MapWarps: @ 852ECFC
+ warp_def 4, 8, 0, 4, PACIFIDLOG_TOWN
+ warp_def 5, 8, 0, 4, PACIFIDLOG_TOWN
+
+PacifidlogTown_House4_MapEvents:: @ 852ED0C
+ map_events PacifidlogTown_House4_MapObjects, PacifidlogTown_House4_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/PacifidlogTown_House5.inc b/data/maps/events/PacifidlogTown_House5.inc
new file mode 100644
index 000000000..e078fc612
--- /dev/null
+++ b/data/maps/events/PacifidlogTown_House5.inc
@@ -0,0 +1,11 @@
+PacifidlogTown_House5_MapObjects: @ 852ED20
+ object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 9, 4, 3, 10, 0, 0, 0, 0, PacifidlogTown_House5_EventScript_204111, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 3, 4, 3, 10, 0, 0, 0, 0, PacifidlogTown_House5_EventScript_204137, 0, 0, 0
+
+PacifidlogTown_House5_MapWarps: @ 852ED50
+ warp_def 4, 8, 0, 5, PACIFIDLOG_TOWN
+ warp_def 5, 8, 0, 5, PACIFIDLOG_TOWN
+
+PacifidlogTown_House5_MapEvents:: @ 852ED60
+ map_events PacifidlogTown_House5_MapObjects, PacifidlogTown_House5_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/PacifidlogTown_PokemonCenter_1F.inc b/data/maps/events/PacifidlogTown_PokemonCenter_1F.inc
new file mode 100644
index 000000000..3a28af372
--- /dev/null
+++ b/data/maps/events/PacifidlogTown_PokemonCenter_1F.inc
@@ -0,0 +1,15 @@
+PacifidlogTown_PokemonCenter_1F_MapObjects: @ 852EA70
+ object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, PacifidlogTown_PokemonCenter_1F_EventScript_2034B6, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 10, 6, 3, 9, 0, 0, 0, 0, PacifidlogTown_PokemonCenter_1F_EventScript_2034D6, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_GIRL_2, 0, 0, 2, 2, 3, 7, 0, 0, 0, 0, PacifidlogTown_PokemonCenter_1F_EventScript_2034C4, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_1, 0, 0, 4, 5, 3, 1, 17, 0, 0, 0, PacifidlogTown_PokemonCenter_1F_EventScript_2034CD, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_MAN_6, 0, 0, 12, 8, 3, 7, 0, 0, 0, 0, PacifidlogTown_PokemonCenter_1F_EventScript_2C82BE, 0, 0, 0
+
+PacifidlogTown_PokemonCenter_1F_MapWarps: @ 852EAE8
+ warp_def 7, 8, 3, 0, PACIFIDLOG_TOWN
+ warp_def 6, 8, 3, 0, PACIFIDLOG_TOWN
+ warp_def 1, 6, 4, 0, PACIFIDLOG_TOWN_POKEMON_CENTER_2F
+
+PacifidlogTown_PokemonCenter_1F_MapEvents:: @ 852EB00
+ map_events PacifidlogTown_PokemonCenter_1F_MapObjects, PacifidlogTown_PokemonCenter_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/PacifidlogTown_PokemonCenter_2F.inc b/data/maps/events/PacifidlogTown_PokemonCenter_2F.inc
new file mode 100644
index 000000000..2ae1cc480
--- /dev/null
+++ b/data/maps/events/PacifidlogTown_PokemonCenter_2F.inc
@@ -0,0 +1,14 @@
+PacifidlogTown_PokemonCenter_2F_MapObjects: @ 852EB14
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, PacifidlogTown_PokemonCenter_2F_EventScript_27375B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, PacifidlogTown_PokemonCenter_2F_EventScript_273761, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, PacifidlogTown_PokemonCenter_2F_EventScript_273767, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, PacifidlogTown_PokemonCenter_2F_EventScript_276B03, 702, 0, 0
+
+PacifidlogTown_PokemonCenter_2F_MapWarps: @ 852EB74
+ warp_def 1, 6, 4, 2, PACIFIDLOG_TOWN_POKEMON_CENTER_1F
+ warp_def 5, 1, 3, 0, UNION_ROOM
+ warp_def 9, 1, 3, 0, TRADE_CENTER
+
+PacifidlogTown_PokemonCenter_2F_MapEvents:: @ 852EB8C
+ map_events PacifidlogTown_PokemonCenter_2F_MapObjects, PacifidlogTown_PokemonCenter_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/PetalburgCity.inc b/data/maps/events/PetalburgCity.inc
new file mode 100644
index 000000000..ad696f7ff
--- /dev/null
+++ b/data/maps/events/PetalburgCity.inc
@@ -0,0 +1,42 @@
+PetalburgCity_MapObjects: @ 8525FD0
+ object_event 1, MAP_OBJ_GFX_WOMAN_5, 0, 0, 16, 18, 3, 2, 17, 0, 0, 0, PetalburgCity_EventScript_1DC3FD, 728, 0, 0
+ object_event 2, MAP_OBJ_GFX_WALLY, 0, 0, 15, 10, 3, 7, 0, 0, 0, 0, 0x0, 726, 0, 0
+ object_event 3, MAP_OBJ_GFX_BOY_1, 0, 0, 8, 22, 3, 8, 0, 0, 0, 0, PetalburgCity_EventScript_1DC3E6, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 20, 10, 3, 3, 16, 0, 0, 0, PetalburgCity_EventScript_1DC488, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_MAN_3, 0, 0, 15, 10, 3, 7, 0, 0, 0, 0, 0x0, 830, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 19, 2, 3, 1, 0, 0, 0, 0, PetalburgCity_EventScript_2910B4, 1039, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 28, 3, 1, 0, 0, 0, 0, PetalburgCity_EventScript_2910C1, 1040, 0, 0
+ object_event 8, MAP_OBJ_GFX_BOY_2, 0, 0, 12, 15, 3, 1, 0, 0, 0, 0, PetalburgCity_EventScript_1DC82E, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_SCOTT, 0, 0, 13, 12, 3, 1, 17, 0, 0, 0, 0x0, 995, 0, 0
+
+PetalburgCity_MapWarps: @ 85260A8
+ warp_def 10, 19, 0, 0, PETALBURG_CITY_HOUSE_1
+ warp_def 7, 5, 0, 0, PETALBURG_CITY_WALLYS_HOUSE
+ warp_def 15, 8, 0, 0, PETALBURG_CITY_GYM
+ warp_def 20, 16, 0, 0, PETALBURG_CITY_POKEMON_CENTER_1F
+ warp_def 20, 24, 0, 0, PETALBURG_CITY_HOUSE_2
+ warp_def 25, 12, 0, 0, PETALBURG_CITY_MART
+
+PetalburgCity_MapCoordEvents: @ 85260D8
+ coord_event 8, 10, 3, 0, VAR_0x4057, 0, 0, PetalburgCity_EventScript_1DC49A
+ coord_event 8, 11, 3, 0, VAR_0x4057, 0, 0, PetalburgCity_EventScript_1DC4A6
+ coord_event 8, 12, 3, 0, VAR_0x4057, 0, 0, PetalburgCity_EventScript_1DC4B2
+ coord_event 8, 13, 3, 0, VAR_0x4057, 0, 0, PetalburgCity_EventScript_1DC4BE
+ coord_event 4, 10, 3, 0, VAR_0x40C9, 0, 0, PetalburgCity_EventScript_1DC691
+ coord_event 4, 11, 3, 0, VAR_0x40C9, 0, 0, PetalburgCity_EventScript_1DC6A7
+ coord_event 4, 12, 3, 0, VAR_0x40C9, 0, 0, PetalburgCity_EventScript_1DC6BD
+ coord_event 4, 13, 3, 0, VAR_0x40C9, 0, 0, PetalburgCity_EventScript_1DC6D3
+
+PetalburgCity_MapBGEvents: @ 8526158
+ bg_event 17, 10, 0, 0, 0, PetalburgCity_EventScript_1DC476
+ bg_event 26, 12, 0, 1, 0, PetalburgCity_EventScript_271E6A
+ bg_event 21, 16, 0, 1, 0, PetalburgCity_EventScript_271E73
+ bg_event 17, 16, 0, 0, 0, PetalburgCity_EventScript_1DC47F
+ bg_event 22, 16, 0, 1, 0, PetalburgCity_EventScript_271E73
+ bg_event 27, 12, 0, 1, 0, PetalburgCity_EventScript_271E6A
+ bg_event 8, 9, 0, 0, 0, PetalburgCity_EventScript_1DC491
+ bg_event 11, 29, 3, 7, 0, ITEM_RARE_CANDY, 95, 0
+
+PetalburgCity_MapEvents:: @ 85261B8
+ map_events PetalburgCity_MapObjects, PetalburgCity_MapWarps, PetalburgCity_MapCoordEvents, PetalburgCity_MapBGEvents
+
diff --git a/data/maps/events/PetalburgCity_Gym.inc b/data/maps/events/PetalburgCity_Gym.inc
new file mode 100644
index 000000000..2ee8771a0
--- /dev/null
+++ b/data/maps/events/PetalburgCity_Gym.inc
@@ -0,0 +1,72 @@
+PetalburgCity_Gym_MapObjects: @ 852EDC8
+ object_event 1, MAP_OBJ_GFX_NORMAN, 0, 0, 4, 2, 0, 8, 0, 0, 0, 0, PetalburgCity_Gym_EventScript_2049F1, 772, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_7, 0, 0, 4, 94, 3, 8, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_2054AA, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 4, 81, 3, 8, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_2053BA, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MAN_4, 0, 0, 4, 42, 3, 8, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_2053F6, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_WOMAN_7, 0, 0, 4, 55, 3, 8, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_2054E6, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_MAN_4, 0, 0, 4, 68, 3, 8, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_205432, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_WOMAN_7, 0, 0, 4, 16, 3, 8, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_205522, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_MAN_4, 0, 0, 4, 29, 3, 8, 0, 0, 1, 0, PetalburgCity_Gym_EventScript_20546E, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_MAN_2, 0, 0, 3, 109, 3, 8, 0, 0, 0, 0, PetalburgCity_Gym_EventScript_20574F, 781, 0, 0
+ object_event 10, MAP_OBJ_GFX_WALLY, 0, 0, 4, 111, 3, 7, 0, 0, 0, 0, 0x0, 866, 0, 0
+ object_event 11, MAP_OBJ_GFX_MAN_3, 0, 0, 1, 7, 3, 7, 17, 0, 0, 0, 0x0, 824, 0, 0
+
+PetalburgCity_Gym_MapWarps: @ 852EED0
+ warp_def 4, 111, 3, 2, PETALBURG_CITY
+ warp_def 5, 111, 3, 2, PETALBURG_CITY
+ warp_def 1, 105, 3, 3, PETALBURG_CITY_GYM
+ warp_def 7, 85, 3, 2, PETALBURG_CITY_GYM
+ warp_def 6, 85, 3, 2, PETALBURG_CITY_GYM
+ warp_def 7, 105, 3, 6, PETALBURG_CITY_GYM
+ warp_def 1, 98, 3, 5, PETALBURG_CITY_GYM
+ warp_def 2, 98, 3, 5, PETALBURG_CITY_GYM
+ warp_def 1, 79, 3, 10, PETALBURG_CITY_GYM
+ warp_def 7, 79, 3, 12, PETALBURG_CITY_GYM
+ warp_def 7, 46, 3, 8, PETALBURG_CITY_GYM
+ warp_def 6, 46, 3, 8, PETALBURG_CITY_GYM
+ warp_def 1, 59, 3, 9, PETALBURG_CITY_GYM
+ warp_def 2, 59, 3, 9, PETALBURG_CITY_GYM
+ warp_def 1, 92, 3, 16, PETALBURG_CITY_GYM
+ warp_def 7, 92, 3, 18, PETALBURG_CITY_GYM
+ warp_def 7, 59, 3, 14, PETALBURG_CITY_GYM
+ warp_def 6, 59, 3, 14, PETALBURG_CITY_GYM
+ warp_def 1, 72, 3, 15, PETALBURG_CITY_GYM
+ warp_def 2, 72, 3, 15, PETALBURG_CITY_GYM
+ warp_def 7, 40, 3, 24, PETALBURG_CITY_GYM
+ warp_def 1, 53, 3, 26, PETALBURG_CITY_GYM
+ warp_def 7, 53, 3, 28, PETALBURG_CITY_GYM
+ warp_def 1, 66, 3, 30, PETALBURG_CITY_GYM
+ warp_def 1, 20, 3, 20, PETALBURG_CITY_GYM
+ warp_def 2, 20, 3, 20, PETALBURG_CITY_GYM
+ warp_def 7, 20, 3, 21, PETALBURG_CITY_GYM
+ warp_def 6, 20, 3, 21, PETALBURG_CITY_GYM
+ warp_def 1, 33, 3, 22, PETALBURG_CITY_GYM
+ warp_def 2, 33, 3, 22, PETALBURG_CITY_GYM
+ warp_def 7, 33, 3, 23, PETALBURG_CITY_GYM
+ warp_def 6, 33, 3, 23, PETALBURG_CITY_GYM
+ warp_def 7, 14, 3, 34, PETALBURG_CITY_GYM
+ warp_def 1, 27, 3, 36, PETALBURG_CITY_GYM
+ warp_def 1, 7, 3, 32, PETALBURG_CITY_GYM
+ warp_def 2, 7, 3, 32, PETALBURG_CITY_GYM
+ warp_def 7, 7, 3, 33, PETALBURG_CITY_GYM
+ warp_def 6, 7, 3, 33, PETALBURG_CITY_GYM
+
+PetalburgCity_Gym_MapBGEvents: @ 852F000
+ bg_event 1, 105, 3, 0, 0, PetalburgCity_Gym_EventScript_205137
+ bg_event 7, 105, 3, 0, 0, PetalburgCity_Gym_EventScript_205187
+ bg_event 1, 79, 3, 0, 0, PetalburgCity_Gym_EventScript_2051BC
+ bg_event 7, 79, 3, 0, 0, PetalburgCity_Gym_EventScript_2051EF
+ bg_event 1, 92, 3, 0, 0, PetalburgCity_Gym_EventScript_205222
+ bg_event 7, 92, 3, 0, 0, PetalburgCity_Gym_EventScript_205255
+ bg_event 7, 40, 3, 0, 0, PetalburgCity_Gym_EventScript_205288
+ bg_event 1, 53, 3, 0, 0, PetalburgCity_Gym_EventScript_2052BB
+ bg_event 7, 53, 3, 0, 0, PetalburgCity_Gym_EventScript_2052EE
+ bg_event 1, 66, 3, 0, 0, PetalburgCity_Gym_EventScript_205321
+ bg_event 7, 14, 3, 0, 0, PetalburgCity_Gym_EventScript_205354
+ bg_event 1, 27, 3, 0, 0, PetalburgCity_Gym_EventScript_205387
+ bg_event 1, 110, 3, 1, 0, PetalburgCity_Gym_EventScript_20576E
+ bg_event 7, 110, 3, 1, 0, PetalburgCity_Gym_EventScript_20577E
+
+PetalburgCity_Gym_MapEvents:: @ 852F0A8
+ map_events PetalburgCity_Gym_MapObjects, PetalburgCity_Gym_MapWarps, 0x0, PetalburgCity_Gym_MapBGEvents
+
diff --git a/data/maps/events/PetalburgCity_House1.inc b/data/maps/events/PetalburgCity_House1.inc
new file mode 100644
index 000000000..59ffd7eca
--- /dev/null
+++ b/data/maps/events/PetalburgCity_House1.inc
@@ -0,0 +1,11 @@
+PetalburgCity_House1_MapObjects: @ 852F0BC
+ object_event 1, MAP_OBJ_GFX_GIRL_1, 0, 0, 7, 4, 3, 2, 34, 0, 0, 0, PetalburgCity_House1_EventScript_2077A3, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 4, 4, 3, 8, 0, 0, 0, 0, PetalburgCity_House1_EventScript_20779A, 0, 0, 0
+
+PetalburgCity_House1_MapWarps: @ 852F0EC
+ warp_def 3, 8, 0, 0, PETALBURG_CITY
+ warp_def 4, 8, 0, 0, PETALBURG_CITY
+
+PetalburgCity_House1_MapEvents:: @ 852F0FC
+ map_events PetalburgCity_House1_MapObjects, PetalburgCity_House1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/PetalburgCity_House2.inc b/data/maps/events/PetalburgCity_House2.inc
new file mode 100644
index 000000000..14ca86ab8
--- /dev/null
+++ b/data/maps/events/PetalburgCity_House2.inc
@@ -0,0 +1,11 @@
+PetalburgCity_House2_MapObjects: @ 852F110
+ object_event 1, MAP_OBJ_GFX_WOMAN_2, 0, 0, 2, 5, 3, 2, 17, 0, 0, 0, PetalburgCity_House2_EventScript_2078F3, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 7, 5, 3, 8, 0, 0, 0, 0, PetalburgCity_House2_EventScript_2078FC, 0, 0, 0
+
+PetalburgCity_House2_MapWarps: @ 852F140
+ warp_def 3, 7, 0, 4, PETALBURG_CITY
+ warp_def 4, 7, 0, 4, PETALBURG_CITY
+
+PetalburgCity_House2_MapEvents:: @ 852F150
+ map_events PetalburgCity_House2_MapObjects, PetalburgCity_House2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/PetalburgCity_Mart.inc b/data/maps/events/PetalburgCity_Mart.inc
new file mode 100644
index 000000000..e5f1a1d3d
--- /dev/null
+++ b/data/maps/events/PetalburgCity_Mart.inc
@@ -0,0 +1,13 @@
+PetalburgCity_Mart_MapObjects: @ 852F294
+ object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, PetalburgCity_Mart_EventScript_207D69, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_1, 0, 0, 9, 4, 3, 10, 0, 0, 0, 0, PetalburgCity_Mart_EventScript_207DE8, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BOY_1, 0, 0, 6, 3, 3, 8, 0, 0, 0, 0, PetalburgCity_Mart_EventScript_207DDF, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_3, 0, 0, 5, 5, 3, 10, 0, 0, 0, 0, PetalburgCity_Mart_EventScript_207DD6, 0, 0, 0
+
+PetalburgCity_Mart_MapWarps: @ 852F2F4
+ warp_def 3, 7, 0, 5, PETALBURG_CITY
+ warp_def 4, 7, 0, 5, PETALBURG_CITY
+
+PetalburgCity_Mart_MapEvents:: @ 852F304
+ map_events PetalburgCity_Mart_MapObjects, PetalburgCity_Mart_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/PetalburgCity_PokemonCenter_1F.inc b/data/maps/events/PetalburgCity_PokemonCenter_1F.inc
new file mode 100644
index 000000000..3395f43b4
--- /dev/null
+++ b/data/maps/events/PetalburgCity_PokemonCenter_1F.inc
@@ -0,0 +1,15 @@
+PetalburgCity_PokemonCenter_1F_MapObjects: @ 852F164
+ object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, PetalburgCity_PokemonCenter_1F_EventScript_2079FC, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_5, 0, 0, 11, 2, 3, 8, 0, 0, 0, 0, PetalburgCity_PokemonCenter_1F_EventScript_291539, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_FAT_MAN, 0, 0, 2, 3, 3, 8, 0, 0, 0, 0, PetalburgCity_PokemonCenter_1F_EventScript_207A0A, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 9, 6, 3, 2, 17, 0, 0, 0, PetalburgCity_PokemonCenter_1F_EventScript_207A13, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_WOMAN_7, 0, 0, 5, 4, 3, 1, 17, 0, 0, 0, PetalburgCity_PokemonCenter_1F_EventScript_207A1C, 0, 0, 0
+
+PetalburgCity_PokemonCenter_1F_MapWarps: @ 852F1DC
+ warp_def 7, 8, 3, 3, PETALBURG_CITY
+ warp_def 6, 8, 3, 3, PETALBURG_CITY
+ warp_def 1, 6, 4, 0, PETALBURG_CITY_POKEMON_CENTER_2F
+
+PetalburgCity_PokemonCenter_1F_MapEvents:: @ 852F1F4
+ map_events PetalburgCity_PokemonCenter_1F_MapObjects, PetalburgCity_PokemonCenter_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/PetalburgCity_PokemonCenter_2F.inc b/data/maps/events/PetalburgCity_PokemonCenter_2F.inc
new file mode 100644
index 000000000..5506670c5
--- /dev/null
+++ b/data/maps/events/PetalburgCity_PokemonCenter_2F.inc
@@ -0,0 +1,14 @@
+PetalburgCity_PokemonCenter_2F_MapObjects: @ 852F208
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, PetalburgCity_PokemonCenter_2F_EventScript_27375B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, PetalburgCity_PokemonCenter_2F_EventScript_273761, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, PetalburgCity_PokemonCenter_2F_EventScript_273767, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, PetalburgCity_PokemonCenter_2F_EventScript_276B03, 702, 0, 0
+
+PetalburgCity_PokemonCenter_2F_MapWarps: @ 852F268
+ warp_def 1, 6, 4, 2, PETALBURG_CITY_POKEMON_CENTER_1F
+ warp_def 5, 1, 3, 0, UNION_ROOM
+ warp_def 9, 1, 3, 0, TRADE_CENTER
+
+PetalburgCity_PokemonCenter_2F_MapEvents:: @ 852F280
+ map_events PetalburgCity_PokemonCenter_2F_MapObjects, PetalburgCity_PokemonCenter_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/PetalburgCity_WallysHouse.inc b/data/maps/events/PetalburgCity_WallysHouse.inc
new file mode 100644
index 000000000..df04a0695
--- /dev/null
+++ b/data/maps/events/PetalburgCity_WallysHouse.inc
@@ -0,0 +1,11 @@
+PetalburgCity_WallysHouse_MapObjects: @ 852ED74
+ object_event 1, MAP_OBJ_GFX_MAN_3, 0, 0, 3, 4, 3, 10, 0, 0, 0, 0, PetalburgCity_WallysHouse_EventScript_204278, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_5, 0, 0, 7, 5, 3, 9, 0, 0, 0, 0, PetalburgCity_WallysHouse_EventScript_2042C0, 0, 0, 0
+
+PetalburgCity_WallysHouse_MapWarps: @ 852EDA4
+ warp_def 3, 7, 0, 1, PETALBURG_CITY
+ warp_def 4, 7, 0, 1, PETALBURG_CITY
+
+PetalburgCity_WallysHouse_MapEvents:: @ 852EDB4
+ map_events PetalburgCity_WallysHouse_MapObjects, PetalburgCity_WallysHouse_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/PetalburgWoods.inc b/data/maps/events/PetalburgWoods.inc
new file mode 100644
index 000000000..5d6c10149
--- /dev/null
+++ b/data/maps/events/PetalburgWoods.inc
@@ -0,0 +1,38 @@
+PetalburgWoods_MapObjects: @ 85345E4
+ object_event 1, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 19, 10, 3, 1, 0, 0, 0, 0, PetalburgWoods_EventScript_2906BB, 17, 0, 0
+ object_event 2, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 19, 11, 3, 1, 0, 0, 0, 0, PetalburgWoods_EventScript_2906BB, 18, 0, 0
+ object_event 3, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 26, 17, 3, 10, 0, 0, 0, 0, 0x0, 725, 0, 0
+ object_event 4, MAP_OBJ_GFX_MAN_2, 0, 0, 26, 20, 3, 1, 0, 0, 0, 0, 0x0, 724, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 45, 7, 3, 8, 0, 0, 0, 0, PetalburgWoods_EventScript_29110F, 1056, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 35, 20, 3, 8, 0, 0, 0, 0, PetalburgWoods_EventScript_291102, 1055, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 8, 3, 1, 0, 0, 0, 0, PetalburgWoods_EventScript_29111C, 1058, 0, 0
+ object_event 8, MAP_OBJ_GFX_BOY_2, 0, 0, 15, 19, 3, 3, 33, 0, 0, 0, PetalburgWoods_EventScript_22E210, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_BUG_CATCHER, 0, 0, 7, 32, 3, 22, 0, 0, 1, 3, PetalburgWoods_EventScript_22E26D, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_BUG_CATCHER, 0, 0, 4, 14, 3, 20, 0, 0, 1, 3, PetalburgWoods_EventScript_22E284, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_BOY_3, 0, 0, 30, 34, 3, 2, 18, 0, 0, 0, PetalburgWoods_EventScript_22E219, 0, 0, 0
+ object_event 12, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 26, 3, 1, 17, 0, 0, 0, PetalburgWoods_EventScript_291129, 1117, 0, 0
+ object_event 13, MAP_OBJ_GFX_GIRL_2, 0, 0, 33, 5, 3, 1, 17, 0, 0, 0, PetalburgWoods_EventScript_22E222, 0, 0, 0
+
+PetalburgWoods_MapWarps: @ 853471C
+ warp_def 14, 5, 0, 2, ROUTE_104
+ warp_def 15, 5, 0, 3, ROUTE_104
+ warp_def 16, 38, 0, 4, ROUTE_104
+ warp_def 17, 38, 0, 5, ROUTE_104
+ warp_def 36, 38, 0, 6, ROUTE_104
+ warp_def 37, 38, 0, 7, ROUTE_104
+
+PetalburgWoods_MapCoordEvents: @ 853474C
+ coord_event 26, 23, 3, 0, VAR_0x4098, 0, 0, PetalburgWoods_EventScript_22DFD7
+ coord_event 27, 23, 3, 0, VAR_0x4098, 0, 0, PetalburgWoods_EventScript_22E079
+
+PetalburgWoods_MapBGEvents: @ 853476C
+ bg_event 14, 32, 3, 0, 0, PetalburgWoods_EventScript_22E25B
+ bg_event 39, 35, 3, 7, 0, ITEM_POTION, 58, 0
+ bg_event 26, 6, 3, 7, 0, ITEM_TINY_MUSHROOM, 59, 0
+ bg_event 40, 29, 3, 7, 0, ITEM_TINY_MUSHROOM, 60, 0
+ bg_event 4, 19, 3, 7, 0, ITEM_POKE_BALL, 61, 0
+ bg_event 11, 8, 3, 0, 0, PetalburgWoods_EventScript_22E264
+
+PetalburgWoods_MapEvents:: @ 85347B4
+ map_events PetalburgWoods_MapObjects, PetalburgWoods_MapWarps, PetalburgWoods_MapCoordEvents, PetalburgWoods_MapBGEvents
+
diff --git a/data/maps/events/RecordCorner.inc b/data/maps/events/RecordCorner.inc
new file mode 100644
index 000000000..67c2c56da
--- /dev/null
+++ b/data/maps/events/RecordCorner.inc
@@ -0,0 +1,18 @@
+RecordCorner_MapObjects: @ 8539DFC
+ object_event 1, MAP_OBJ_GFX_WOMAN_6, 0, 0, 10, 5, 3, 8, 0, 0, 0, 0, RecordCorner_EventScript_2774C6, 0, 0, 0
+
+RecordCorner_MapWarps: @ 8539E14
+ warp_def 8, 9, 3, 127, NONE
+ warp_def 9, 9, 3, 127, NONE
+ warp_def 11, 9, 3, 127, NONE
+ warp_def 10, 9, 3, 127, NONE
+
+RecordCorner_MapCoordEvents: @ 8539E34
+ coord_event 6, 4, 3, 0, VAR_0x4000, 0, 0, gUnknown_0827741D
+ coord_event 6, 6, 3, 0, VAR_0x4000, 0, 0, gUnknown_08277447
+ coord_event 13, 4, 3, 0, VAR_0x4000, 0, 0, gUnknown_08277432
+ coord_event 13, 6, 3, 0, VAR_0x4000, 0, 0, gUnknown_0827745C
+
+RecordCorner_MapEvents:: @ 8539E74
+ map_events RecordCorner_MapObjects, RecordCorner_MapWarps, RecordCorner_MapCoordEvents, 0x0
+
diff --git a/data/maps/events/Route101.inc b/data/maps/events/Route101.inc
new file mode 100644
index 000000000..aa8389e29
--- /dev/null
+++ b/data/maps/events/Route101.inc
@@ -0,0 +1,25 @@
+Route101_MapObjects: @ 8527E98
+ object_event 1, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 16, 8, 3, 1, 0, 0, 0, 0, Route101_EventScript_1EBDFB, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_PROF_BIRCH, 0, 0, 9, 13, 0, 71, 0, 0, 0, 0, 0x0, 720, 0, 0
+ object_event 3, MAP_OBJ_GFX_BIRCHS_BAG, 0, 0, 7, 14, 3, 1, 0, 0, 0, 0, Route101_EventScript_1EBE16, 700, 0, 0
+ object_event 4, MAP_OBJ_GFX_ZIGZAGOON_1, 0, 0, 10, 13, 0, 70, 0, 0, 0, 0, 0x0, 750, 0, 0
+ object_event 5, MAP_OBJ_GFX_PROF_BIRCH, 0, 0, 5, 11, 3, 1, 0, 0, 0, 0, Route101_EventScript_272141, 897, 0, 0
+ object_event 6, MAP_OBJ_GFX_BOY_2, 0, 0, 2, 13, 3, 5, 17, 0, 0, 0, Route101_EventScript_1EBE04, 991, 0, 0
+
+Route101_MapCoordEvents: @ 8527F28
+ coord_event 10, 19, 3, 0, VAR_0x4060, 1, 0, Route101_EventScript_1EBCDE
+ coord_event 11, 19, 3, 0, VAR_0x4060, 1, 0, Route101_EventScript_1EBCDE
+ coord_event 10, 18, 3, 0, VAR_0x4060, 2, 0, Route101_EventScript_1EBD4E
+ coord_event 11, 18, 3, 0, VAR_0x4060, 2, 0, Route101_EventScript_1EBD4E
+ coord_event 6, 16, 3, 0, VAR_0x4060, 2, 0, Route101_EventScript_1EBD64
+ coord_event 6, 15, 3, 0, VAR_0x4060, 2, 0, Route101_EventScript_1EBD64
+ coord_event 6, 17, 3, 0, VAR_0x4060, 2, 0, Route101_EventScript_1EBD64
+ coord_event 6, 18, 3, 0, VAR_0x4060, 2, 0, Route101_EventScript_1EBD64
+ coord_event 7, 13, 3, 0, VAR_0x4060, 2, 0, Route101_EventScript_1EBD7A
+
+Route101_MapBGEvents: @ 8527FB8
+ bg_event 5, 9, 0, 0, 0, Route101_EventScript_1EBE0D
+
+Route101_MapEvents:: @ 8527FC4
+ map_events Route101_MapObjects, 0x0, Route101_MapCoordEvents, Route101_MapBGEvents
+
diff --git a/data/maps/events/Route102.inc b/data/maps/events/Route102.inc
new file mode 100644
index 000000000..e128d9652
--- /dev/null
+++ b/data/maps/events/Route102.inc
@@ -0,0 +1,18 @@
+Route102_MapObjects: @ 8527FD8
+ object_event 1, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 18, 11, 3, 1, 0, 0, 0, 0, Route102_EventScript_1EC0E1, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 33, 14, 3, 8, 0, 0, 1, 3, Route102_EventScript_1EC105, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BUG_CATCHER, 0, 0, 25, 15, 3, 7, 0, 0, 1, 2, Route102_EventScript_1EC1B3, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_LASS, 0, 0, 8, 7, 3, 18, 0, 0, 1, 3, Route102_EventScript_1EC1CA, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_BOY_1, 0, 0, 37, 4, 3, 2, 17, 0, 0, 0, Route102_EventScript_1EC0FC, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 11, 15, 3, 8, 0, 0, 0, 0, Route102_EventScript_290CD8, 1000, 0, 0
+ object_event 7, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 24, 2, 3, 12, 0, 0, 0, 2, BerryTreeScript, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 25, 2, 3, 12, 0, 0, 0, 1, BerryTreeScript, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 19, 4, 3, 8, 17, 0, 1, 3, Route102_EventScript_1EC1E1, 0, 0, 0
+
+Route102_MapBGEvents: @ 85280B0
+ bg_event 17, 2, 0, 0, 0, Route102_EventScript_1EC0F3
+ bg_event 40, 9, 0, 0, 0, Route102_EventScript_1EC0EA
+
+Route102_MapEvents:: @ 85280C8
+ map_events Route102_MapObjects, 0x0, 0x0, Route102_MapBGEvents
+
diff --git a/data/maps/events/Route103.inc b/data/maps/events/Route103.inc
new file mode 100644
index 000000000..0b1bae04a
--- /dev/null
+++ b/data/maps/events/Route103.inc
@@ -0,0 +1,31 @@
+Route103_MapObjects: @ 85280DC
+ object_event 1, MAP_OBJ_GFX_MAN_4, 0, 0, 49, 12, 3, 9, 0, 0, 0, 0, Route103_EventScript_1EC5E2, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 10, 3, 3, 10, 0, 0, 0, 0, Route103_EventScript_1EC3C1, 723, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_3, 0, 0, 71, 11, 3, 18, 0, 0, 1, 3, Route103_EventScript_1EC5F4, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 65, 12, 3, 8, 0, 0, 1, 1, Route103_EventScript_1EC66E, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 64, 12, 3, 8, 0, 0, 1, 1, Route103_EventScript_1EC60B, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_FISHERMAN, 0, 0, 50, 8, 3, 26, 16, 0, 1, 3, Route103_EventScript_1EC6D1, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 58, 5, 3, 12, 0, 0, 0, 5, BerryTreeScript, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 59, 5, 3, 12, 0, 0, 0, 6, BerryTreeScript, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 60, 5, 3, 12, 0, 0, 0, 7, BerryTreeScript, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_BOY_1, 0, 0, 20, 10, 3, 2, 33, 0, 0, 0, Route103_EventScript_1EC5D9, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_PROF_BIRCH, 0, 0, 7, 3, 3, 2, 17, 0, 0, 0, Route103_EventScript_272141, 898, 0, 0
+ object_event 12, MAP_OBJ_GFX_MAN_3, 0, 0, 56, 13, 3, 10, 0, 0, 1, 5, Route103_EventScript_1EC6E8, 0, 0, 0
+ object_event 13, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 50, 5, 3, 1, 17, 0, 0, 0, Route103_EventScript_290CE5, 1114, 0, 0
+ object_event 14, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 67, 7, 3, 1, 17, 0, 0, 0, Route103_EventScript_2906BB, 18, 0, 0
+ object_event 15, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 72, 8, 3, 1, 17, 0, 0, 0, Route103_EventScript_2906BB, 19, 0, 0
+ object_event 16, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 67, 5, 3, 8, 17, 0, 1, 2, Route103_EventScript_1EC761, 0, 0, 0
+ object_event 17, MAP_OBJ_GFX_MAN_6, 0, 0, 67, 9, 3, 7, 17, 0, 1, 2, Route103_EventScript_1EC74A, 0, 0, 0
+ object_event 18, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 36, 6, 1, 26, 49, 0, 1, 5, Route103_EventScript_1EC78F, 0, 0, 0
+ object_event 19, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 36, 13, 1, 25, 49, 0, 1, 5, Route103_EventScript_1EC778, 0, 0, 0
+ object_event 20, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 64, 7, 0, 1, 17, 0, 0, 0, Route103_EventScript_290CF2, 1137, 0, 0
+
+Route103_MapWarps: @ 85282BC
+ warp_def 45, 6, 0, 0, ALTERING_CAVE
+
+Route103_MapBGEvents: @ 85282C4
+ bg_event 11, 9, 0, 0, 0, Route103_EventScript_1EC5EB
+
+Route103_MapEvents:: @ 85282D0
+ map_events Route103_MapObjects, Route103_MapWarps, 0x0, Route103_MapBGEvents
+
diff --git a/data/maps/events/Route104.inc b/data/maps/events/Route104.inc
new file mode 100644
index 000000000..2913f96c4
--- /dev/null
+++ b/data/maps/events/Route104.inc
@@ -0,0 +1,64 @@
+Route104_MapObjects: @ 85282E4
+ object_event 1, MAP_OBJ_GFX_BUG_CATCHER, 0, 0, 15, 60, 3, 9, 0, 0, 0, 0, Route104_EventScript_1ED00F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GIRL_2, 0, 0, 25, 49, 3, 2, 17, 0, 0, 0, Route104_EventScript_1ED006, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_LASS, 0, 0, 31, 24, 3, 9, 0, 0, 1, 7, Route104_EventScript_1ED38D, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BOY_1, 0, 0, 27, 63, 3, 3, 16, 0, 0, 0, Route104_EventScript_1ED045, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_WOMAN_3, 0, 0, 30, 50, 3, 2, 17, 0, 0, 0, Route104_EventScript_1ED04E, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_GIRL_3, 0, 0, 28, 74, 3, 7, 0, 0, 0, 0, Route104_EventScript_1ED090, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_MR_BRINEYS_BOAT, 0, 0, 12, 54, 1, 7, 0, 0, 0, 0, 0x0, 742, 0, 0
+ object_event 8, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 12, 51, 4, 10, 0, 0, 0, 0, 0x0, 738, 0, 0
+ object_event 9, MAP_OBJ_GFX_FISHERMAN, 0, 0, 29, 8, 3, 8, 0, 0, 1, 0, Route104_EventScript_1ED35F, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 34, 6, 3, 12, 0, 0, 0, 8, BerryTreeScript, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 35, 6, 3, 12, 0, 0, 0, 9, BerryTreeScript, 0, 0, 0
+ object_event 12, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 36, 6, 3, 12, 0, 0, 0, 10, BerryTreeScript, 0, 0, 0
+ object_event 13, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 22, 41, 3, 12, 0, 0, 0, 11, BerryTreeScript, 0, 0, 0
+ object_event 14, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 23, 41, 3, 12, 0, 0, 0, 12, BerryTreeScript, 0, 0, 0
+ object_event 15, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 24, 41, 3, 12, 0, 0, 0, 13, BerryTreeScript, 0, 0, 0
+ object_event 16, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 37, 8, 3, 9, 17, 0, 0, 0, Route104_EventScript_1ECF8C, 0, 0, 0
+ object_event 17, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 3, 22, 3, 12, 0, 0, 0, 3, BerryTreeScript, 0, 0, 0
+ object_event 18, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 3, 23, 3, 12, 0, 0, 0, 4, BerryTreeScript, 0, 0, 0
+ object_event 19, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 3, 24, 3, 12, 0, 0, 0, 75, BerryTreeScript, 0, 0, 0
+ object_event 20, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 3, 25, 3, 12, 0, 0, 0, 76, BerryTreeScript, 0, 0, 0
+ object_event 21, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 39, 15, 3, 1, 0, 0, 0, 0, Route104_EventScript_290CFF, 1002, 0, 0
+ object_event 22, MAP_OBJ_GFX_WOMAN_7, 0, 0, 8, 19, 3, 5, 1, 0, 0, 0, Route104_EventScript_1ECFCD, 906, 0, 0
+ object_event 23, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 27, 15, 3, 8, 0, 0, 1, 1, Route104_EventScript_1ED597, 0, 0, 0
+ object_event 24, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 28, 15, 3, 8, 0, 0, 1, 1, Route104_EventScript_1ED5B6, 0, 0, 0
+ object_event 25, MAP_OBJ_GFX_BOY_4, 0, 0, 21, 25, 3, 23, 0, 0, 1, 3, Route104_EventScript_1ED43B, 0, 0, 0
+ object_event 26, MAP_OBJ_GFX_WOMAN_3, 0, 0, 11, 44, 3, 16, 0, 0, 1, 3, Route104_EventScript_1ED4E9, 0, 0, 0
+ object_event 27, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 29, 53, 3, 1, 17, 0, 0, 0, Route104_EventScript_290D0C, 1057, 0, 0
+ object_event 28, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 18, 67, 3, 46, 101, 0, 1, 2, Route104_EventScript_1ED376, 0, 0, 0
+ object_event 29, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 37, 22, 3, 1, 17, 0, 0, 0, Route104_EventScript_290D19, 1115, 0, 0
+ object_event 30, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 35, 22, 3, 1, 17, 0, 0, 0, Route104_EventScript_2906BB, 17, 0, 0
+ object_event 31, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 5, 8, 3, 1, 17, 0, 0, 0, Route104_EventScript_290D26, 1135, 0, 0
+ object_event 32, MAP_OBJ_GFX_BOY_2, 0, 0, 5, 26, 3, 1, 17, 0, 0, 0, Route104_EventScript_1ED057, 0, 0, 0
+ object_event 33, MAP_OBJ_GFX_FISHERMAN, 0, 0, 15, 59, 3, 9, 0, 0, 1, 0, Route104_EventScript_1ED5D5, 0, 0, 0
+ object_event 34, MAP_OBJ_GFX_HIPSTER, 0, 0, 17, 50, 0, 1, 17, 0, 0, 0, Route104_EventScript_1ECC9E, 719, 0, 0
+
+Route104_MapWarps: @ 8528614
+ warp_def 17, 50, 0, 0, ROUTE_104_MR_BRINEYS_HOUSE
+ warp_def 5, 18, 0, 0, ROUTE_104_PRETTY_PETAL_FLOWER_SHOP
+ warp_def 10, 30, 3, 0, PETALBURG_WOODS
+ warp_def 11, 30, 3, 1, PETALBURG_WOODS
+ warp_def 10, 38, 3, 2, PETALBURG_WOODS
+ warp_def 11, 38, 3, 3, PETALBURG_WOODS
+ warp_def 32, 42, 3, 4, PETALBURG_WOODS
+ warp_def 33, 42, 3, 5, PETALBURG_WOODS
+
+Route104_MapCoordEvents: @ 8528654
+ coord_event 17, 51, 3, 0, VAR_0x4063, 1, 0, Route104_EventScript_1ECCB3
+
+Route104_MapBGEvents: @ 8528664
+ bg_event 20, 50, 0, 0, 0, Route104_EventScript_1ED018
+ bg_event 27, 66, 0, 0, 0, Route104_EventScript_1ED021
+ bg_event 23, 5, 0, 0, 0, Route104_EventScript_1ED02A
+ bg_event 7, 20, 0, 0, 0, Route104_EventScript_1ED033
+ bg_event 17, 23, 3, 0, 0, Route104_EventScript_1ED03C
+ bg_event 7, 6, 3, 7, 0, ITEM_SUPER_POTION, 44, 0
+ bg_event 3, 9, 3, 7, 0, ITEM_POKE_BALL, 62, 0
+ bg_event 14, 55, 3, 7, 0, ITEM_POTION, 37, 0
+ bg_event 16, 72, 3, 7, 0, ITEM_ANTIDOTE, 85, 0
+ bg_event 16, 64, 3, 7, 0, ITEM_HEART_SCALE, 88, 0
+
+Route104_MapEvents:: @ 85286DC
+ map_events Route104_MapObjects, Route104_MapWarps, Route104_MapCoordEvents, Route104_MapBGEvents
+
diff --git a/data/maps/events/Route104_MrBrineysHouse.inc b/data/maps/events/Route104_MrBrineysHouse.inc
new file mode 100644
index 000000000..c643b364b
--- /dev/null
+++ b/data/maps/events/Route104_MrBrineysHouse.inc
@@ -0,0 +1,11 @@
+Route104_MrBrineysHouse_MapObjects: @ 8533AD4
+ object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 5, 3, 3, 50, 51, 0, 0, 0, Route104_MrBrineysHouse_EventScript_229D67, 739, 0, 0
+ object_event 2, MAP_OBJ_GFX_WINGULL, 0, 0, 6, 3, 3, 8, 51, 0, 0, 0, Route104_MrBrineysHouse_EventScript_229E5D, 881, 0, 0
+
+Route104_MrBrineysHouse_MapWarps: @ 8533B04
+ warp_def 5, 8, 0, 0, ROUTE_104
+ warp_def 6, 8, 0, 0, ROUTE_104
+
+Route104_MrBrineysHouse_MapEvents:: @ 8533B14
+ map_events Route104_MrBrineysHouse_MapObjects, Route104_MrBrineysHouse_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/Route104_PrettyPetalFlowerShop.inc b/data/maps/events/Route104_PrettyPetalFlowerShop.inc
new file mode 100644
index 000000000..08f2390c0
--- /dev/null
+++ b/data/maps/events/Route104_PrettyPetalFlowerShop.inc
@@ -0,0 +1,12 @@
+Route104_PrettyPetalFlowerShop_MapObjects: @ 8533B28
+ object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 0, 3, 3, 10, 0, 0, 0, 0, Route104_PrettyPetalFlowerShop_EventScript_22A373, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GIRL_3, 0, 0, 7, 3, 3, 5, 1, 0, 0, 0, Route104_PrettyPetalFlowerShop_EventScript_22A40C, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_GIRL_1, 0, 0, 11, 6, 4, 2, 34, 0, 0, 0, Route104_PrettyPetalFlowerShop_EventScript_22A442, 0, 0, 0
+
+Route104_PrettyPetalFlowerShop_MapWarps: @ 8533B70
+ warp_def 2, 8, 0, 1, ROUTE_104
+ warp_def 3, 8, 0, 1, ROUTE_104
+
+Route104_PrettyPetalFlowerShop_MapEvents:: @ 8533B80
+ map_events Route104_PrettyPetalFlowerShop_MapObjects, Route104_PrettyPetalFlowerShop_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/Route104_Prototype.inc b/data/maps/events/Route104_Prototype.inc
new file mode 100644
index 000000000..08976e5a8
--- /dev/null
+++ b/data/maps/events/Route104_Prototype.inc
@@ -0,0 +1,3 @@
+Route104_Prototype_MapEvents:: @ 853DDC0
+ map_events 0x0, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/Route104_PrototypePrettyPetalFlowerShop.inc b/data/maps/events/Route104_PrototypePrettyPetalFlowerShop.inc
new file mode 100644
index 000000000..e66b3c841
--- /dev/null
+++ b/data/maps/events/Route104_PrototypePrettyPetalFlowerShop.inc
@@ -0,0 +1,3 @@
+Route104_PrototypePrettyPetalFlowerShop_MapEvents:: @ 853DDD4
+ map_events 0x0, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/Route105.inc b/data/maps/events/Route105.inc
new file mode 100644
index 000000000..c27cff262
--- /dev/null
+++ b/data/maps/events/Route105.inc
@@ -0,0 +1,20 @@
+Route105_MapObjects: @ 85286F0
+ object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 19, 60, 1, 10, 0, 0, 1, 6, Route105_EventScript_1EE261, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 27, 36, 1, 27, 7, 0, 1, 3, Route105_EventScript_1EE278, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 8, 45, 1, 25, 112, 0, 1, 3, Route105_EventScript_1EE28F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 19, 9, 1, 24, 80, 0, 1, 3, Route105_EventScript_1EE2A6, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 8, 73, 3, 1, 0, 0, 0, 0, Route105_EventScript_290D33, 1003, 0, 0
+ object_event 6, MAP_OBJ_GFX_HIKER, 0, 0, 17, 48, 3, 26, 112, 0, 1, 3, Route105_EventScript_1EE24A, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_MAN_6, 0, 0, 4, 54, 3, 8, 32, 0, 1, 2, Route105_EventScript_1EE2BD, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_HIKER, 0, 0, 4, 58, 3, 7, 32, 0, 1, 4, Route105_EventScript_1EE2D4, 0, 0, 0
+
+Route105_MapWarps: @ 85287B0
+ warp_def 9, 20, 0, 0, ISLAND_CAVE
+
+Route105_MapBGEvents: @ 85287B8
+ bg_event 15, 68, 3, 7, 0, ITEM_HEART_SCALE, 89, 0
+ bg_event 5, 56, 3, 7, 0, ITEM_BIG_PEARL, 111, 0
+
+Route105_MapEvents:: @ 85287D0
+ map_events Route105_MapObjects, Route105_MapWarps, 0x0, Route105_MapBGEvents
+
diff --git a/data/maps/events/Route106.inc b/data/maps/events/Route106.inc
new file mode 100644
index 000000000..ee4beeddd
--- /dev/null
+++ b/data/maps/events/Route106.inc
@@ -0,0 +1,19 @@
+Route106_MapObjects: @ 85287E4
+ object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 18, 5, 1, 27, 4, 0, 1, 3, Route106_EventScript_1EE493, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 29, 10, 1, 1, 0, 0, 1, 3, Route106_EventScript_1EE4AA, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_FISHERMAN, 0, 0, 51, 14, 3, 10, 0, 0, 1, 4, Route106_EventScript_1EE4C1, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_FISHERMAN, 0, 0, 65, 14, 3, 1, 0, 0, 1, 3, Route106_EventScript_1EE523, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 29, 14, 3, 1, 0, 0, 0, 0, Route106_EventScript_290D40, 1004, 0, 0
+
+Route106_MapWarps: @ 852885C
+ warp_def 48, 16, 0, 0, GRANITE_CAVE_1F
+
+Route106_MapBGEvents: @ 8528864
+ bg_event 41, 11, 3, 7, 0, ITEM_POKE_BALL, 63, 0
+ bg_event 53, 12, 0, 7, 0, ITEM_STARDUST, 46, 0
+ bg_event 68, 15, 3, 7, 0, ITEM_HEART_SCALE, 47, 0
+ bg_event 59, 13, 3, 0, 0, Route106_EventScript_1EE48A
+
+Route106_MapEvents:: @ 8528894
+ map_events Route106_MapObjects, Route106_MapWarps, 0x0, Route106_MapBGEvents
+
diff --git a/data/maps/events/Route107.inc b/data/maps/events/Route107.inc
new file mode 100644
index 000000000..8498a0f42
--- /dev/null
+++ b/data/maps/events/Route107.inc
@@ -0,0 +1,12 @@
+Route107_MapObjects: @ 85288A8
+ object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 41, 10, 1, 24, 17, 0, 1, 3, Route107_EventScript_1EE595, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 23, 11, 1, 52, 38, 0, 1, 2, Route107_EventScript_1EE5AC, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 16, 7, 1, 13, 0, 0, 1, 5, Route107_EventScript_1EE60E, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 50, 11, 1, 65, 17, 0, 1, 5, Route107_EventScript_1EE625, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 33, 4, 1, 8, 17, 0, 1, 1, Route107_EventScript_1EE63C, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_TUBER_M_SWIMMING, 0, 0, 32, 4, 1, 8, 17, 0, 1, 1, Route107_EventScript_1EE657, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 50, 5, 1, 64, 17, 0, 1, 5, Route107_EventScript_1EE672, 0, 0, 0
+
+Route107_MapEvents:: @ 8528950
+ map_events Route107_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/Route108.inc b/data/maps/events/Route108.inc
new file mode 100644
index 000000000..340a3bd3f
--- /dev/null
+++ b/data/maps/events/Route108.inc
@@ -0,0 +1,18 @@
+Route108_MapObjects: @ 8528964
+ object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 52, 13, 1, 45, 51, 0, 1, 3, Route108_EventScript_1EE68A, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 35, 12, 1, 13, 17, 0, 1, 3, Route108_EventScript_1EE6B8, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 13, 13, 1, 24, 0, 0, 1, 3, Route108_EventScript_1EE6A1, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 8, 7, 1, 20, 6, 0, 1, 3, Route108_EventScript_1EE6CF, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_WOMAN_7, 0, 0, 41, 5, 3, 10, 17, 0, 1, 1, Route108_EventScript_1EE6E6, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_SAILOR, 0, 0, 43, 5, 3, 9, 17, 0, 1, 1, Route108_EventScript_1EE6FD, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 42, 4, 3, 1, 17, 0, 0, 0, Route108_EventScript_290D4D, 1139, 0, 0
+
+Route108_MapWarps: @ 8528A0C
+ warp_def 29, 6, 3, 0, ABANDONED_SHIP_DECK
+
+Route108_MapBGEvents: @ 8528A14
+ bg_event 38, 14, 3, 7, 0, ITEM_RARE_CANDY, 86, 0
+
+Route108_MapEvents:: @ 8528A20
+ map_events Route108_MapObjects, Route108_MapWarps, 0x0, Route108_MapBGEvents
+
diff --git a/data/maps/events/Route109.inc b/data/maps/events/Route109.inc
new file mode 100644
index 000000000..aab8c40c0
--- /dev/null
+++ b/data/maps/events/Route109.inc
@@ -0,0 +1,42 @@
+Route109_MapObjects: @ 8528A34
+ object_event 1, MAP_OBJ_GFX_MR_BRINEYS_BOAT, 0, 0, 21, 26, 1, 7, 0, 0, 0, 0, 0x0, 744, 0, 0
+ object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 21, 24, 3, 7, 0, 0, 0, 0, Route109_EventScript_1EE910, 741, 0, 0
+ object_event 3, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 12, 36, 3, 10, 0, 0, 1, 5, Route109_EventScript_1EEA3D, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 25, 39, 1, 15, 0, 0, 1, 5, Route109_EventScript_1EEA54, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_SAILOR, 0, 0, 15, 17, 4, 8, 0, 0, 1, 1, Route109_EventScript_1EEA6B, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_SAILOR, 0, 0, 24, 13, 3, 9, 0, 0, 1, 6, Route109_EventScript_1EEA82, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_TUBER_M, 0, 0, 19, 10, 3, 8, 0, 0, 1, 3, Route109_EventScript_1EEA99, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_TUBER_F, 0, 0, 22, 7, 3, 80, 0, 0, 1, 4, Route109_EventScript_1EEAFB, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 11, 6, 3, 8, 0, 0, 0, 0, Route109_EventScript_1EE995, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 27, 46, 3, 1, 0, 0, 0, 0, Route109_EventScript_290D5A, 1005, 0, 0
+ object_event 11, MAP_OBJ_GFX_TUBER_F, 0, 0, 29, 32, 3, 13, 0, 0, 1, 3, Route109_EventScript_1EEB74, 0, 0, 0
+ object_event 12, MAP_OBJ_GFX_TUBER_F, 0, 0, 28, 31, 3, 17, 0, 0, 1, 3, Route109_EventScript_1EEB5D, 0, 0, 0
+ object_event 13, MAP_OBJ_GFX_FISHERMAN, 0, 0, 21, 56, 0, 9, 0, 0, 1, 3, Route109_EventScript_1EEB8B, 0, 0, 0
+ object_event 14, MAP_OBJ_GFX_TUBER_M, 0, 0, 24, 18, 3, 10, 17, 0, 0, 0, Route109_EventScript_1EE99E, 0, 0, 0
+ object_event 15, MAP_OBJ_GFX_TUBER_F, 0, 0, 25, 18, 3, 9, 17, 0, 0, 0, Route109_EventScript_1EE9B5, 0, 0, 0
+ object_event 16, MAP_OBJ_GFX_WOMAN_2, 0, 0, 30, 32, 3, 8, 17, 0, 0, 0, Route109_EventScript_1EEA06, 0, 0, 0
+ object_event 17, MAP_OBJ_GFX_WOMAN_5, 0, 0, 8, 41, 3, 8, 17, 0, 1, 1, Route109_EventScript_1EEBBD, 0, 0, 0
+ object_event 18, MAP_OBJ_GFX_MAN_5, 0, 0, 9, 41, 3, 8, 17, 0, 1, 1, Route109_EventScript_1EEBA2, 0, 0, 0
+ object_event 19, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 33, 6, 3, 1, 17, 0, 0, 0, Route109_EventScript_1EEA0F, 0, 0, 0
+ object_event 20, MAP_OBJ_GFX_ZIGZAGOON_2, 0, 0, 32, 6, 3, 1, 17, 0, 0, 0, Route109_EventScript_1EEA18, 0, 0, 0
+ object_event 21, MAP_OBJ_GFX_TUBER_F, 0, 0, 17, 13, 3, 80, 17, 0, 1, 6, Route109_EventScript_1EEBEF, 0, 0, 0
+ object_event 22, MAP_OBJ_GFX_TUBER_M, 0, 0, 27, 7, 3, 79, 17, 0, 1, 4, Route109_EventScript_1EEBD8, 0, 0, 0
+ object_event 23, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 25, 6, 3, 1, 17, 0, 0, 0, Route109_EventScript_290D67, 1140, 0, 0
+ object_event 24, MAP_OBJ_GFX_MAN_6, 0, 0, 17, 56, 3, 80, 17, 0, 1, 3, Route109_EventScript_1EEC06, 0, 0, 0
+
+Route109_MapWarps: @ 8528C74
+ warp_def 12, 5, 0, 0, ROUTE_109_SEASHORE_HOUSE
+
+Route109_MapBGEvents: @ 8528C7C
+ bg_event 15, 5, 0, 0, 0, Route109_EventScript_1EEA2B
+ bg_event 29, 10, 3, 0, 0, Route109_EventScript_1EEA34
+ bg_event 16, 23, 3, 7, 0, ITEM_REVIVE, 50, 0
+ bg_event 33, 5, 3, 7, 0, ITEM_HEART_SCALE, 52, 0
+ bg_event 9, 10, 3, 7, 0, ITEM_GREAT_BALL, 51, 0
+ bg_event 28, 20, 3, 7, 0, ITEM_ETHER, 64, 0
+ bg_event 13, 16, 3, 7, 0, ITEM_HEART_SCALE, 90, 0
+ bg_event 8, 42, 3, 7, 0, ITEM_HEART_SCALE, 91, 0
+
+Route109_MapEvents:: @ 8528CDC
+ map_events Route109_MapObjects, Route109_MapWarps, 0x0, Route109_MapBGEvents
+
diff --git a/data/maps/events/Route109_SeashoreHouse.inc b/data/maps/events/Route109_SeashoreHouse.inc
new file mode 100644
index 000000000..1e2332451
--- /dev/null
+++ b/data/maps/events/Route109_SeashoreHouse.inc
@@ -0,0 +1,13 @@
+Route109_SeashoreHouse_MapObjects: @ 853DDE8
+ object_event 1, MAP_OBJ_GFX_MAN_3, 0, 0, 6, 2, 3, 8, 0, 0, 0, 0, Route109_SeashoreHouse_EventScript_2693FE, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SAILOR, 0, 0, 2, 3, 3, 8, 0, 0, 1, 2, Route109_SeashoreHouse_EventScript_2694E2, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_TUBER_M, 0, 0, 14, 9, 3, 9, 0, 0, 1, 2, Route109_SeashoreHouse_EventScript_269518, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BEAUTY, 0, 0, 10, 5, 3, 14, 0, 0, 1, 2, Route109_SeashoreHouse_EventScript_2694FD, 0, 0, 0
+
+Route109_SeashoreHouse_MapWarps: @ 853DE48
+ warp_def 6, 9, 0, 0, ROUTE_109
+ warp_def 7, 9, 0, 0, ROUTE_109
+
+Route109_SeashoreHouse_MapEvents:: @ 853DE58
+ map_events Route109_SeashoreHouse_MapObjects, Route109_SeashoreHouse_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/Route110.inc b/data/maps/events/Route110.inc
new file mode 100644
index 000000000..2b8e1571d
--- /dev/null
+++ b/data/maps/events/Route110.inc
@@ -0,0 +1,79 @@
+Route110_MapObjects: @ 8528CF0
+ object_event 1, MAP_OBJ_GFX_CAMPER, 0, 0, 17, 90, 3, 8, 0, 0, 0, 0, Route110_EventScript_1EF338, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 0, 29, 79, 4, 8, 0, 0, 0, 0, Route110_EventScript_1EF32F, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 14, 69, 3, 3, 16, 0, 0, 0, Route110_EventScript_1EF326, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 0, 9, 57, 4, 2, 17, 0, 0, 0, Route110_EventScript_1EF314, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 10, 11, 3, 2, 17, 0, 0, 0, Route110_EventScript_1EF31D, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_CYCLING_TRIATHLETE_F, 0, 0, 27, 24, 4, 2, 49, 0, 0, 0, Route110_EventScript_1EF30B, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_BOY_3, 0, 0, 15, 7, 3, 2, 17, 0, 0, 0, Route110_EventScript_1EF302, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_CYCLING_TRIATHLETE_F, 0, 0, 16, 73, 4, 49, 226, 0, 1, 3, Route110_EventScript_1EF529, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 0, 19, 31, 4, 51, 26, 0, 1, 3, Route110_EventScript_1EF4B0, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_CYCLING_TRIATHLETE_F, 0, 0, 30, 31, 4, 9, 17, 0, 1, 4, Route110_EventScript_1EF540, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 0, 16, 55, 4, 45, 68, 0, 1, 3, Route110_EventScript_1EF4C7, 0, 0, 0
+ object_event 12, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 3, 39, 3, 10, 0, 0, 1, 6, Route110_EventScript_1EF3F2, 0, 0, 0
+ object_event 13, MAP_OBJ_GFX_LASS, 0, 0, 33, 15, 3, 9, 0, 0, 1, 1, Route110_EventScript_1EF409, 0, 0, 0
+ object_event 14, MAP_OBJ_GFX_MANIAC, 0, 0, 34, 40, 3, 67, 0, 0, 1, 4, Route110_EventScript_1EF420, 0, 0, 0
+ object_event 15, MAP_OBJ_GFX_FISHERMAN, 0, 0, 10, 19, 3, 8, 0, 0, 1, 1, Route110_EventScript_1EF482, 0, 0, 0
+ object_event 16, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 5, 11, 3, 12, 0, 0, 0, 16, BerryTreeScript, 0, 0, 0
+ object_event 17, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 6, 11, 3, 12, 0, 0, 0, 17, BerryTreeScript, 0, 0, 0
+ object_event 18, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 7, 11, 3, 12, 0, 0, 0, 18, BerryTreeScript, 0, 0, 0
+ object_event 19, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 30, 69, 3, 1, 0, 0, 0, 0, Route110_EventScript_290D81, 1007, 0, 0
+ object_event 20, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 26, 47, 3, 1, 0, 0, 0, 0, Route110_EventScript_290D74, 1006, 0, 0
+ object_event 21, MAP_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 0, 27, 92, 3, 8, 0, 0, 0, 0, Route110_EventScript_1EF3B7, 0, 0, 0
+ object_event 22, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 7, 83, 3, 7, 0, 0, 0, 0, Route110_EventScript_1EF2AA, 900, 0, 0
+ object_event 23, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 8, 83, 3, 7, 0, 0, 0, 0, Route110_EventScript_1EF2C0, 900, 0, 0
+ object_event 24, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 9, 83, 3, 7, 0, 0, 0, 0, Route110_EventScript_1EF2D6, 900, 0, 0
+ object_event 25, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 10, 83, 3, 7, 0, 0, 0, 0, Route110_EventScript_1EF2EC, 900, 0, 0
+ object_event 26, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 8, 82, 3, 8, 0, 0, 0, 0, 0x0, 900, 0, 0
+ object_event 27, MAP_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 0, 21, 78, 4, 51, 23, 0, 1, 2, Route110_EventScript_1EF499, 0, 0, 0
+ object_event 28, MAP_OBJ_GFX_HIPSTER, 0, 0, 34, 54, 3, 14, 0, 0, 0, 0, 0x0, 919, 0, 0
+ object_event 29, MAP_OBJ_GFX_GIDDY, 0, 0, 34, 54, 3, 8, 0, 0, 0, 0, 0x0, 922, 0, 0
+ object_event 30, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 33, 69, 3, 14, 0, 0, 1, 3, Route110_EventScript_1EF604, 0, 0, 0
+ object_event 31, MAP_OBJ_GFX_WOMAN_2, 0, 0, 10, 76, 3, 9, 0, 0, 1, 2, Route110_EventScript_1EF5A2, 0, 0, 0
+ object_event 32, MAP_OBJ_GFX_MAN_3, 0, 0, 7, 76, 3, 10, 17, 0, 1, 2, Route110_EventScript_1EF61C, 0, 0, 0
+ object_event 33, MAP_OBJ_GFX_CYCLING_TRIATHLETE_F, 0, 0, 10, 39, 3, 9, 17, 0, 1, 6, Route110_EventScript_1EF64A, 0, 0, 0
+ object_event 34, MAP_OBJ_GFX_MAN_6, 0, 0, 36, 40, 3, 66, 17, 0, 1, 3, Route110_EventScript_1EF633, 0, 0, 0
+ object_event 35, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 6, 38, 3, 1, 17, 0, 0, 0, Route110_EventScript_290D8E, 1141, 0, 0
+ object_event 36, MAP_OBJ_GFX_PROF_BIRCH, 0, 0, 9, 79, 3, 1, 17, 0, 0, 0, 0x0, 837, 0, 0
+
+Route110_MapWarps: @ 8529050
+ warp_def 35, 24, 3, 0, NEW_MAUVILLE_ENTRANCE
+ warp_def 11, 66, 0, 0, ROUTE_110_TRICK_HOUSE_ENTRANCE
+ warp_def 15, 16, 0, 0, ROUTE_110_SEASIDE_CYCLING_ROAD_ENTRANCE_2
+ warp_def 18, 16, 0, 2, ROUTE_110_SEASIDE_CYCLING_ROAD_ENTRANCE_2
+ warp_def 16, 88, 0, 0, ROUTE_110_SEASIDE_CYCLING_ROAD_ENTRANCE_1
+ warp_def 19, 88, 0, 2, ROUTE_110_SEASIDE_CYCLING_ROAD_ENTRANCE_1
+
+Route110_MapCoordEvents: @ 8529080
+ coord_event 28, 92, 3, 0, VAR_0x40A9, 2, 0, Route110_EventScript_1EF661
+ coord_event 29, 92, 3, 0, VAR_0x40A9, 2, 0, Route110_EventScript_1EF661
+ coord_event 33, 56, 3, 0, VAR_0x4069, 0, 0, Route110_EventScript_1EF74D
+ coord_event 34, 56, 3, 0, VAR_0x4069, 0, 0, Route110_EventScript_1EF758
+ coord_event 35, 56, 3, 0, VAR_0x4069, 0, 0, Route110_EventScript_1EF763
+ coord_event 7, 85, 3, 0, VAR_0x40DA, 1, 0, Route110_EventScript_1EF9CB
+ coord_event 8, 85, 3, 0, VAR_0x40DA, 1, 0, Route110_EventScript_1EF9D6
+ coord_event 9, 85, 3, 0, VAR_0x40DA, 1, 0, Route110_EventScript_1EF9E1
+ coord_event 10, 85, 3, 0, VAR_0x40DA, 1, 0, Route110_EventScript_1EF9EC
+
+Route110_MapBGEvents: @ 8529110
+ bg_event 15, 25, 0, 0, 0, Route110_EventScript_1EF353
+ bg_event 9, 51, 0, 0, 0, Route110_EventScript_1EF365
+ bg_event 14, 88, 0, 0, 0, Route110_EventScript_1EF34A
+ bg_event 20, 94, 0, 0, 0, Route110_EventScript_1EF341
+ bg_event 7, 79, 0, 0, 0, Route110_EventScript_1EF35C
+ bg_event 3, 17, 0, 0, 0, Route110_EventScript_1EF36E
+ bg_event 16, 25, 0, 8, 0, ITEM_MACHO_BRACE, 0, 0
+ bg_event 17, 25, 0, 8, 0, ITEM_SOUL_DEW, 0, 0
+ bg_event 33, 39, 3, 0, 0, Route110_EventScript_1EF377
+ bg_event 37, 70, 3, 0, 0, Route110_EventScript_1EF380
+ bg_event 8, 67, 0, 0, 0, Route110_EventScript_1EF389
+ bg_event 32, 93, 0, 0, 0, Route110_EventScript_1EF392
+ bg_event 35, 39, 3, 7, 0, ITEM_REVIVE, 54, 0
+ bg_event 33, 45, 3, 7, 0, ITEM_GREAT_BALL, 53, 0
+ bg_event 4, 35, 3, 7, 0, ITEM_POKE_BALL, 65, 0
+ bg_event 37, 67, 3, 7, 0, ITEM_FULL_HEAL, 55, 0
+ bg_event 13, 16, 0, 0, 0, Route110_EventScript_1EF34A
+
+Route110_MapEvents:: @ 85291DC
+ map_events Route110_MapObjects, Route110_MapWarps, Route110_MapCoordEvents, Route110_MapBGEvents
+
diff --git a/data/maps/events/Route110_SeasideCyclingRoadEntrance1.inc b/data/maps/events/Route110_SeasideCyclingRoadEntrance1.inc
new file mode 100644
index 000000000..ec107e176
--- /dev/null
+++ b/data/maps/events/Route110_SeasideCyclingRoadEntrance1.inc
@@ -0,0 +1,16 @@
+Route110_SeasideCyclingRoadEntrance1_MapObjects: @ 853E9A0
+ object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, Route110_SeasideCyclingRoadEntrance1_EventScript_26EA78, 0, 0, 0
+
+Route110_SeasideCyclingRoadEntrance1_MapWarps: @ 853E9B8
+ warp_def 1, 5, 0, 4, ROUTE_110
+ warp_def 2, 5, 0, 4, ROUTE_110
+ warp_def 12, 5, 0, 5, ROUTE_110
+ warp_def 13, 5, 0, 5, ROUTE_110
+
+Route110_SeasideCyclingRoadEntrance1_MapCoordEvents: @ 853E9D8
+ coord_event 7, 4, 3, 0, VAR_0x4001, 0, 0, Route110_SeasideCyclingRoadEntrance1_EventScript_26EA84
+ coord_event 5, 4, 3, 0, VAR_0x4001, 1, 0, Route110_SeasideCyclingRoadEntrance1_EventScript_26EAB6
+
+Route110_SeasideCyclingRoadEntrance1_MapEvents:: @ 853E9F8
+ map_events Route110_SeasideCyclingRoadEntrance1_MapObjects, Route110_SeasideCyclingRoadEntrance1_MapWarps, Route110_SeasideCyclingRoadEntrance1_MapCoordEvents, 0x0
+
diff --git a/data/maps/events/Route110_SeasideCyclingRoadEntrance2.inc b/data/maps/events/Route110_SeasideCyclingRoadEntrance2.inc
new file mode 100644
index 000000000..23b8f7253
--- /dev/null
+++ b/data/maps/events/Route110_SeasideCyclingRoadEntrance2.inc
@@ -0,0 +1,16 @@
+Route110_SeasideCyclingRoadEntrance2_MapObjects: @ 853EA0C
+ object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, Route110_SeasideCyclingRoadEntrance2_EventScript_26EBC4, 0, 0, 0
+
+Route110_SeasideCyclingRoadEntrance2_MapWarps: @ 853EA24
+ warp_def 1, 5, 0, 2, ROUTE_110
+ warp_def 2, 5, 0, 2, ROUTE_110
+ warp_def 12, 5, 0, 3, ROUTE_110
+ warp_def 13, 5, 0, 3, ROUTE_110
+
+Route110_SeasideCyclingRoadEntrance2_MapCoordEvents: @ 853EA44
+ coord_event 7, 4, 3, 0, VAR_0x4001, 0, 0, Route110_SeasideCyclingRoadEntrance2_EventScript_26EBD0
+ coord_event 5, 4, 3, 0, VAR_0x4001, 1, 0, Route110_SeasideCyclingRoadEntrance2_EventScript_26EC13
+
+Route110_SeasideCyclingRoadEntrance2_MapEvents:: @ 853EA64
+ map_events Route110_SeasideCyclingRoadEntrance2_MapObjects, Route110_SeasideCyclingRoadEntrance2_MapWarps, Route110_SeasideCyclingRoadEntrance2_MapCoordEvents, 0x0
+
diff --git a/data/maps/events/Route110_TrickHouseCorridor.inc b/data/maps/events/Route110_TrickHouseCorridor.inc
new file mode 100644
index 000000000..eaef9c9a2
--- /dev/null
+++ b/data/maps/events/Route110_TrickHouseCorridor.inc
@@ -0,0 +1,9 @@
+Route110_TrickHouseCorridor_MapWarps: @ 853DF54
+ warp_def 13, 3, 3, 1, ROUTE_110_TRICK_HOUSE_END
+ warp_def 14, 3, 3, 1, ROUTE_110_TRICK_HOUSE_END
+ warp_def 4, 23, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE
+ warp_def 5, 23, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE
+
+Route110_TrickHouseCorridor_MapEvents:: @ 853DF74
+ map_events 0x0, Route110_TrickHouseCorridor_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/Route110_TrickHouseEnd.inc b/data/maps/events/Route110_TrickHouseEnd.inc
new file mode 100644
index 000000000..42ff2196c
--- /dev/null
+++ b/data/maps/events/Route110_TrickHouseEnd.inc
@@ -0,0 +1,16 @@
+Route110_TrickHouseEnd_MapObjects: @ 853DEFC
+ object_event 1, MAP_OBJ_GFX_MAN_1, 0, 0, 4, 5, 3, 10, 0, 0, 0, 0, Route110_TrickHouseEnd_EventScript_26AD17, 899, 0, 0
+
+Route110_TrickHouseEnd_MapWarps: @ 853DF14
+ warp_def 10, 1, 3, 2, ROUTE_110_TRICK_HOUSE_PUZZLE_1
+ warp_def 2, 1, 3, 0, ROUTE_110_TRICK_HOUSE_CORRIDOR
+
+Route110_TrickHouseEnd_MapCoordEvents: @ 853DF24
+ coord_event 2, 2, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHouseEnd_EventScript_26B041
+
+Route110_TrickHouseEnd_MapBGEvents: @ 853DF34
+ bg_event 4, 5, 3, 7, 0, ITEM_NUGGET, 1, 0
+
+Route110_TrickHouseEnd_MapEvents:: @ 853DF40
+ map_events Route110_TrickHouseEnd_MapObjects, Route110_TrickHouseEnd_MapWarps, Route110_TrickHouseEnd_MapCoordEvents, Route110_TrickHouseEnd_MapBGEvents
+
diff --git a/data/maps/events/Route110_TrickHouseEntrance.inc b/data/maps/events/Route110_TrickHouseEntrance.inc
new file mode 100644
index 000000000..a87df306b
--- /dev/null
+++ b/data/maps/events/Route110_TrickHouseEntrance.inc
@@ -0,0 +1,20 @@
+Route110_TrickHouseEntrance_MapObjects: @ 853DE6C
+ object_event 1, MAP_OBJ_GFX_MAN_1, 0, 0, 6, 2, 3, 9, 0, 0, 0, 0, Route110_TrickHouseEntrance_EventScript_269D3B, 872, 0, 0
+
+Route110_TrickHouseEntrance_MapWarps: @ 853DE84
+ warp_def 5, 7, 3, 1, ROUTE_110
+ warp_def 6, 7, 3, 1, ROUTE_110
+ warp_def 5, 2, 3, 0, ROUTE_110_TRICK_HOUSE_PUZZLE_1
+
+Route110_TrickHouseEntrance_MapCoordEvents: @ 853DE9C
+ coord_event 4, 7, 3, 0, VAR_0x40A5, 0, 0, Route110_TrickHouseEntrance_EventScript_26A3F8
+ coord_event 5, 6, 3, 0, VAR_0x40A5, 0, 0, Route110_TrickHouseEntrance_EventScript_26A3F8
+ coord_event 6, 6, 3, 0, VAR_0x40A5, 0, 0, Route110_TrickHouseEntrance_EventScript_26A3F8
+ coord_event 7, 7, 3, 0, VAR_0x40A5, 0, 0, Route110_TrickHouseEntrance_EventScript_26A3F8
+
+Route110_TrickHouseEntrance_MapBGEvents: @ 853DEDC
+ bg_event 5, 1, 0, 1, 0, Route110_TrickHouseEntrance_EventScript_26A0D3
+
+Route110_TrickHouseEntrance_MapEvents:: @ 853DEE8
+ map_events Route110_TrickHouseEntrance_MapObjects, Route110_TrickHouseEntrance_MapWarps, Route110_TrickHouseEntrance_MapCoordEvents, Route110_TrickHouseEntrance_MapBGEvents
+
diff --git a/data/maps/events/Route110_TrickHousePuzzle1.inc b/data/maps/events/Route110_TrickHousePuzzle1.inc
new file mode 100644
index 000000000..002ad0532
--- /dev/null
+++ b/data/maps/events/Route110_TrickHousePuzzle1.inc
@@ -0,0 +1,28 @@
+Route110_TrickHousePuzzle1_MapObjects: @ 853DF88
+ object_event 1, MAP_OBJ_GFX_LASS, 0, 0, 14, 20, 3, 9, 0, 0, 1, 6, Route110_TrickHousePuzzle1_EventScript_26B948, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 14, 8, 3, 9, 0, 0, 1, 2, Route110_TrickHousePuzzle1_EventScript_26B95F, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_LASS, 0, 0, 2, 15, 3, 8, 0, 0, 1, 2, Route110_TrickHousePuzzle1_EventScript_26B976, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 11, 16, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 19, 0, 0
+ object_event 5, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 13, 18, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 18, 0, 0
+ object_event 6, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 14, 14, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 20, 0, 0
+ object_event 7, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 11, 8, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 23, 0, 0
+ object_event 8, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 8, 10, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 22, 0, 0
+ object_event 9, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 11, 12, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 21, 0, 0
+ object_event 10, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 2, 4, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 25, 0, 0
+ object_event 11, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 13, 6, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 24, 0, 0
+ object_event 12, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 0, 6, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 27, 0, 0
+ object_event 13, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 9, 4, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_29140E, 1060, 0, 0
+ object_event 14, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 4, 8, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 28, 0, 0
+ object_event 15, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 2, 12, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_2906BB, 30, 0, 0
+
+Route110_TrickHousePuzzle1_MapWarps: @ 853E0F0
+ warp_def 0, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE
+ warp_def 1, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE
+ warp_def 13, 1, 3, 0, ROUTE_110_TRICK_HOUSE_END
+
+Route110_TrickHousePuzzle1_MapBGEvents: @ 853E108
+ bg_event 3, 16, 0, 0, 0, Route110_TrickHousePuzzle1_EventScript_26B92B
+
+Route110_TrickHousePuzzle1_MapEvents:: @ 853E114
+ map_events Route110_TrickHousePuzzle1_MapObjects, Route110_TrickHousePuzzle1_MapWarps, 0x0, Route110_TrickHousePuzzle1_MapBGEvents
+
diff --git a/data/maps/events/Route110_TrickHousePuzzle2.inc b/data/maps/events/Route110_TrickHousePuzzle2.inc
new file mode 100644
index 000000000..007be3861
--- /dev/null
+++ b/data/maps/events/Route110_TrickHousePuzzle2.inc
@@ -0,0 +1,24 @@
+Route110_TrickHousePuzzle2_MapObjects: @ 853E128
+ object_event 1, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 13, 10, 3, 10, 0, 0, 1, 1, Route110_TrickHousePuzzle2_EventScript_26BC75, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 10, 17, 3, 8, 0, 0, 1, 4, Route110_TrickHousePuzzle2_EventScript_26BC8C, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_GIRL_3, 0, 0, 11, 9, 3, 9, 0, 0, 1, 2, Route110_TrickHousePuzzle2_EventScript_26BCA3, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 8, 17, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle2_EventScript_291428, 1062, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 13, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle2_EventScript_29141B, 1061, 0, 0
+
+Route110_TrickHousePuzzle2_MapWarps: @ 853E1A0
+ warp_def 0, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE
+ warp_def 1, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE
+ warp_def 13, 1, 3, 0, ROUTE_110_TRICK_HOUSE_END
+
+Route110_TrickHousePuzzle2_MapCoordEvents: @ 853E1B8
+ coord_event 11, 12, 3, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle2_EventScript_26BBDD
+ coord_event 0, 4, 0, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle2_EventScript_26BBF0
+ coord_event 14, 5, 3, 0, VAR_0x4003, 0, 0, Route110_TrickHousePuzzle2_EventScript_26BC03
+ coord_event 7, 11, 3, 0, VAR_0x4004, 0, 0, Route110_TrickHousePuzzle2_EventScript_26BC16
+
+Route110_TrickHousePuzzle2_MapBGEvents: @ 853E1F8
+ bg_event 14, 14, 0, 0, 0, Route110_TrickHousePuzzle2_EventScript_26BBC0
+
+Route110_TrickHousePuzzle2_MapEvents:: @ 853E204
+ map_events Route110_TrickHousePuzzle2_MapObjects, Route110_TrickHousePuzzle2_MapWarps, Route110_TrickHousePuzzle2_MapCoordEvents, Route110_TrickHousePuzzle2_MapBGEvents
+
diff --git a/data/maps/events/Route110_TrickHousePuzzle3.inc b/data/maps/events/Route110_TrickHousePuzzle3.inc
new file mode 100644
index 000000000..88aedca9f
--- /dev/null
+++ b/data/maps/events/Route110_TrickHousePuzzle3.inc
@@ -0,0 +1,26 @@
+Route110_TrickHousePuzzle3_MapObjects: @ 853E218
+ object_event 1, MAP_OBJ_GFX_CAMPER, 0, 0, 7, 19, 3, 8, 0, 0, 1, 2, Route110_TrickHousePuzzle3_EventScript_26C5C4, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_PICNICKER, 0, 0, 4, 4, 3, 10, 0, 0, 1, 1, Route110_TrickHousePuzzle3_EventScript_26C5DB, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_HIKER, 0, 0, 10, 10, 3, 8, 0, 0, 1, 1, Route110_TrickHousePuzzle3_EventScript_26C5F2, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 1, 2, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle3_EventScript_291442, 1064, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 2, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle3_EventScript_291435, 1063, 0, 0
+ object_event 6, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 1, 20, 3, 1, 17, 0, 0, 0, Route110_TrickHousePuzzle3_EventScript_2907A6, 21, 0, 0
+ object_event 7, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 2, 21, 3, 1, 17, 0, 0, 0, Route110_TrickHousePuzzle3_EventScript_2907A6, 22, 0, 0
+
+Route110_TrickHousePuzzle3_MapWarps: @ 853E2C0
+ warp_def 0, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE
+ warp_def 1, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE
+ warp_def 13, 1, 3, 0, ROUTE_110_TRICK_HOUSE_END
+
+Route110_TrickHousePuzzle3_MapCoordEvents: @ 853E2D8
+ coord_event 4, 14, 3, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle3_EventScript_26C4CD
+ coord_event 3, 11, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle3_EventScript_26C4D9
+ coord_event 12, 5, 3, 0, VAR_0x4003, 0, 0, Route110_TrickHousePuzzle3_EventScript_26C4E5
+ coord_event 8, 2, 3, 0, VAR_0x4004, 0, 0, Route110_TrickHousePuzzle3_EventScript_26C4F1
+
+Route110_TrickHousePuzzle3_MapBGEvents: @ 853E318
+ bg_event 0, 14, 0, 0, 0, Route110_TrickHousePuzzle3_EventScript_26C5A7
+
+Route110_TrickHousePuzzle3_MapEvents:: @ 853E324
+ map_events Route110_TrickHousePuzzle3_MapObjects, Route110_TrickHousePuzzle3_MapWarps, Route110_TrickHousePuzzle3_MapCoordEvents, Route110_TrickHousePuzzle3_MapBGEvents
+
diff --git a/data/maps/events/Route110_TrickHousePuzzle4.inc b/data/maps/events/Route110_TrickHousePuzzle4.inc
new file mode 100644
index 000000000..79731353c
--- /dev/null
+++ b/data/maps/events/Route110_TrickHousePuzzle4.inc
@@ -0,0 +1,27 @@
+Route110_TrickHousePuzzle4_MapObjects: @ 853E338
+ object_event 1, MAP_OBJ_GFX_GIRL_3, 0, 0, 2, 2, 3, 8, 0, 0, 1, 1, Route110_TrickHousePuzzle4_EventScript_26C87E, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GIRL_3, 0, 0, 14, 7, 3, 9, 0, 0, 1, 2, Route110_TrickHousePuzzle4_EventScript_26C8AC, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 2, 14, 3, 10, 0, 0, 1, 2, Route110_TrickHousePuzzle4_EventScript_26C895, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 2, 5, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_29144F, 1065, 0, 0
+ object_event 5, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 13, 3, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 17, 0, 0
+ object_event 6, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 12, 5, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 18, 0, 0
+ object_event 7, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 5, 16, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 19, 0, 0
+ object_event 8, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 4, 6, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 20, 0, 0
+ object_event 9, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 12, 2, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 21, 0, 0
+ object_event 10, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 5, 7, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 22, 0, 0
+ object_event 11, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 9, 3, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 23, 0, 0
+ object_event 12, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 10, 12, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 24, 0, 0
+ object_event 13, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 14, 2, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 25, 0, 0
+ object_event 14, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 10, 15, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_2908BA, 26, 0, 0
+
+Route110_TrickHousePuzzle4_MapWarps: @ 853E488
+ warp_def 0, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE
+ warp_def 1, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE
+ warp_def 13, 1, 3, 0, ROUTE_110_TRICK_HOUSE_END
+
+Route110_TrickHousePuzzle4_MapBGEvents: @ 853E4A0
+ bg_event 14, 13, 0, 0, 0, Route110_TrickHousePuzzle4_EventScript_26C861
+
+Route110_TrickHousePuzzle4_MapEvents:: @ 853E4AC
+ map_events Route110_TrickHousePuzzle4_MapObjects, Route110_TrickHousePuzzle4_MapWarps, 0x0, Route110_TrickHousePuzzle4_MapBGEvents
+
diff --git a/data/maps/events/Route110_TrickHousePuzzle5.inc b/data/maps/events/Route110_TrickHousePuzzle5.inc
new file mode 100644
index 000000000..7d15de921
--- /dev/null
+++ b/data/maps/events/Route110_TrickHousePuzzle5.inc
@@ -0,0 +1,42 @@
+Route110_TrickHousePuzzle5_MapObjects: @ 853E4C0
+ object_event 1, MAP_OBJ_GFX_MAN_1, 0, 0, 6, 17, 3, 9, 0, 0, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CB32, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_1, 0, 0, 0, 7, 3, 10, 0, 0, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CB53, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_1, 0, 0, 14, 10, 3, 9, 0, 0, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CB74, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MAN_1, 0, 0, 14, 19, 3, 9, 0, 0, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CB95, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_MAN_1, 0, 0, 10, 4, 3, 10, 0, 0, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CBB6, 0, 0, 0
+
+Route110_TrickHousePuzzle5_MapWarps: @ 853E538
+ warp_def 0, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE
+ warp_def 1, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE
+ warp_def 13, 1, 3, 0, ROUTE_110_TRICK_HOUSE_END
+
+Route110_TrickHousePuzzle5_MapCoordEvents: @ 853E550
+ coord_event 5, 17, 3, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CBD7
+ coord_event 4, 17, 3, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CBE3
+ coord_event 3, 17, 3, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CBEF
+ coord_event 2, 17, 3, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CBFB
+ coord_event 1, 7, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC13
+ coord_event 2, 7, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC1F
+ coord_event 13, 10, 3, 0, VAR_0x4003, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC5B
+ coord_event 12, 10, 3, 0, VAR_0x4003, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC67
+ coord_event 11, 10, 3, 0, VAR_0x4003, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC73
+ coord_event 13, 19, 3, 0, VAR_0x4004, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC97
+ coord_event 12, 19, 3, 0, VAR_0x4004, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CCA3
+ coord_event 11, 4, 3, 0, VAR_0x4005, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CCDF
+ coord_event 1, 17, 3, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC07
+ coord_event 3, 7, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC2B
+ coord_event 4, 7, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC37
+ coord_event 5, 7, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC43
+ coord_event 6, 7, 3, 0, VAR_0x4002, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC4F
+ coord_event 10, 10, 3, 0, VAR_0x4003, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC7F
+ coord_event 9, 10, 3, 0, VAR_0x4003, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CC8B
+ coord_event 11, 19, 3, 0, VAR_0x4004, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CCAF
+ coord_event 10, 19, 3, 0, VAR_0x4004, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CCBB
+ coord_event 9, 19, 3, 0, VAR_0x4004, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CCC7
+
+Route110_TrickHousePuzzle5_MapBGEvents: @ 853E6B0
+ bg_event 11, 21, 0, 0, 0, Route110_TrickHousePuzzle5_EventScript_26CB15
+
+Route110_TrickHousePuzzle5_MapEvents:: @ 853E6BC
+ map_events Route110_TrickHousePuzzle5_MapObjects, Route110_TrickHousePuzzle5_MapWarps, Route110_TrickHousePuzzle5_MapCoordEvents, Route110_TrickHousePuzzle5_MapBGEvents
+
diff --git a/data/maps/events/Route110_TrickHousePuzzle6.inc b/data/maps/events/Route110_TrickHousePuzzle6.inc
new file mode 100644
index 000000000..d08169a76
--- /dev/null
+++ b/data/maps/events/Route110_TrickHousePuzzle6.inc
@@ -0,0 +1,17 @@
+Route110_TrickHousePuzzle6_MapObjects: @ 853E6D0
+ object_event 1, MAP_OBJ_GFX_PICNICKER, 0, 0, 7, 9, 3, 10, 0, 0, 1, 1, Route110_TrickHousePuzzle6_EventScript_26DDE1, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_6, 0, 0, 11, 10, 3, 10, 0, 0, 1, 3, Route110_TrickHousePuzzle6_EventScript_26DDF8, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_CAMPER, 0, 0, 4, 5, 3, 7, 0, 0, 1, 1, Route110_TrickHousePuzzle6_EventScript_26DE0F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 11, 21, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle6_EventScript_29145C, 1067, 0, 0
+
+Route110_TrickHousePuzzle6_MapWarps: @ 853E730
+ warp_def 0, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE
+ warp_def 1, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE
+ warp_def 13, 1, 3, 0, ROUTE_110_TRICK_HOUSE_END
+
+Route110_TrickHousePuzzle6_MapBGEvents: @ 853E748
+ bg_event 0, 10, 3, 0, 0, Route110_TrickHousePuzzle6_EventScript_26DDC4
+
+Route110_TrickHousePuzzle6_MapEvents:: @ 853E754
+ map_events Route110_TrickHousePuzzle6_MapObjects, Route110_TrickHousePuzzle6_MapWarps, 0x0, Route110_TrickHousePuzzle6_MapBGEvents
+
diff --git a/data/maps/events/Route110_TrickHousePuzzle7.inc b/data/maps/events/Route110_TrickHousePuzzle7.inc
new file mode 100644
index 000000000..49003a63e
--- /dev/null
+++ b/data/maps/events/Route110_TrickHousePuzzle7.inc
@@ -0,0 +1,38 @@
+Route110_TrickHousePuzzle7_MapObjects: @ 853E768
+ object_event 1, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 9, 20, 0, 10, 0, 0, 1, 1, Route110_TrickHousePuzzle7_EventScript_26E389, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_LASS, 0, 0, 10, 2, 0, 7, 0, 0, 1, 1, Route110_TrickHousePuzzle7_EventScript_26E3B7, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_HEX_MANIAC, 0, 0, 8, 17, 0, 9, 0, 0, 1, 1, Route110_TrickHousePuzzle7_EventScript_26E3A0, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 5, 12, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle7_EventScript_291469, 1068, 0, 0
+ object_event 5, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 9, 2, 3, 8, 17, 0, 1, 1, Route110_TrickHousePuzzle7_EventScript_26E3E5, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_LASS, 0, 0, 8, 13, 3, 7, 17, 0, 1, 1, Route110_TrickHousePuzzle7_EventScript_26E3CE, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 9, 12, 3, 9, 17, 0, 1, 1, Route110_TrickHousePuzzle7_EventScript_26E3FC, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 4, 17, 0, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_TRICK_HOUSE_STATUE, 0, 0, 4, 6, 0, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+Route110_TrickHousePuzzle7_MapWarps: @ 853E840
+ warp_def 0, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE
+ warp_def 1, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE
+ warp_def 13, 1, 3, 0, ROUTE_110_TRICK_HOUSE_END
+ warp_def 13, 4, 0, 4, ROUTE_110_TRICK_HOUSE_PUZZLE_7
+ warp_def 7, 3, 0, 3, ROUTE_110_TRICK_HOUSE_PUZZLE_7
+ warp_def 13, 11, 0, 6, ROUTE_110_TRICK_HOUSE_PUZZLE_7
+ warp_def 4, 3, 0, 5, ROUTE_110_TRICK_HOUSE_PUZZLE_7
+ warp_def 1, 17, 0, 8, ROUTE_110_TRICK_HOUSE_PUZZLE_7
+ warp_def 0, 11, 0, 7, ROUTE_110_TRICK_HOUSE_PUZZLE_7
+ warp_def 2, 3, 0, 10, ROUTE_110_TRICK_HOUSE_PUZZLE_7
+ warp_def 4, 13, 0, 9, ROUTE_110_TRICK_HOUSE_PUZZLE_7
+ warp_def 1, 3, 0, 12, ROUTE_110_TRICK_HOUSE_PUZZLE_7
+ warp_def 8, 12, 0, 11, ROUTE_110_TRICK_HOUSE_PUZZLE_7
+
+Route110_TrickHousePuzzle7_MapCoordEvents: @ 853E8A8
+ coord_event 8, 19, 0, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle7_EventScript_26E31B
+ coord_event 0, 14, 0, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle7_EventScript_26E331
+ coord_event 6, 6, 0, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle7_EventScript_26E347
+ coord_event 9, 7, 0, 0, VAR_0x4001, 0, 0, Route110_TrickHousePuzzle7_EventScript_26E35D
+
+Route110_TrickHousePuzzle7_MapBGEvents: @ 853E8E8
+ bg_event 6, 17, 0, 0, 0, Route110_TrickHousePuzzle7_EventScript_26E1D0
+
+Route110_TrickHousePuzzle7_MapEvents:: @ 853E8F4
+ map_events Route110_TrickHousePuzzle7_MapObjects, Route110_TrickHousePuzzle7_MapWarps, Route110_TrickHousePuzzle7_MapCoordEvents, Route110_TrickHousePuzzle7_MapBGEvents
+
diff --git a/data/maps/events/Route110_TrickHousePuzzle8.inc b/data/maps/events/Route110_TrickHousePuzzle8.inc
new file mode 100644
index 000000000..5d942affa
--- /dev/null
+++ b/data/maps/events/Route110_TrickHousePuzzle8.inc
@@ -0,0 +1,17 @@
+Route110_TrickHousePuzzle8_MapObjects: @ 853E908
+ object_event 1, MAP_OBJ_GFX_MAN_4, 0, 0, 1, 10, 3, 7, 0, 0, 1, 1, Route110_TrickHousePuzzle8_EventScript_26E81F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_4, 0, 0, 4, 2, 3, 10, 0, 0, 1, 1, Route110_TrickHousePuzzle8_EventScript_26E84D, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_7, 0, 0, 8, 17, 3, 9, 0, 0, 1, 1, Route110_TrickHousePuzzle8_EventScript_26E836, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 2, 2, 3, 1, 0, 0, 0, 0, Route110_TrickHousePuzzle8_EventScript_291476, 1069, 0, 0
+
+Route110_TrickHousePuzzle8_MapWarps: @ 853E968
+ warp_def 0, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE
+ warp_def 1, 21, 3, 2, ROUTE_110_TRICK_HOUSE_ENTRANCE
+ warp_def 13, 1, 0, 0, ROUTE_110_TRICK_HOUSE_END
+
+Route110_TrickHousePuzzle8_MapBGEvents: @ 853E980
+ bg_event 3, 21, 3, 0, 0, Route110_TrickHousePuzzle8_EventScript_26E802
+
+Route110_TrickHousePuzzle8_MapEvents:: @ 853E98C
+ map_events Route110_TrickHousePuzzle8_MapObjects, Route110_TrickHousePuzzle8_MapWarps, 0x0, Route110_TrickHousePuzzle8_MapBGEvents
+
diff --git a/data/maps/events/Route111.inc b/data/maps/events/Route111.inc
new file mode 100644
index 000000000..564b94797
--- /dev/null
+++ b/data/maps/events/Route111.inc
@@ -0,0 +1,114 @@
+Route111_MapObjects: @ 85291F0
+ object_event 1, MAP_OBJ_GFX_MAN_1, 0, 0, 13, 114, 3, 8, 0, 0, 0, 0, Route111_EventScript_1F0FC5, 768, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_2, 0, 0, 13, 113, 0, 8, 0, 0, 0, 0, 0x0, 769, 0, 0
+ object_event 3, MAP_OBJ_GFX_LASS, 0, 0, 13, 113, 0, 8, 1, 0, 0, 0, 0x0, 770, 0, 0
+ object_event 4, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 13, 113, 0, 8, 0, 0, 0, 0, 0x0, 771, 0, 0
+ object_event 5, MAP_OBJ_GFX_PICNICKER, 0, 0, 28, 51, 3, 17, 0, 0, 1, 3, Route111_EventScript_1F121B, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 22, 5, 3, 12, 0, 0, 0, 19, BerryTreeScript, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 23, 5, 3, 12, 0, 0, 0, 20, BerryTreeScript, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_MAN_4, 0, 0, 8, 91, 3, 2, 17, 0, 0, 0, Route111_EventScript_1F1189, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_CAMPER, 0, 0, 29, 37, 3, 17, 0, 0, 1, 3, Route111_EventScript_1F1204, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_HIKER, 0, 0, 27, 69, 3, 50, 34, 0, 1, 2, Route111_EventScript_1F1260, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_CAMPER, 0, 0, 21, 47, 3, 9, 0, 0, 1, 4, Route111_EventScript_1F1232, 0, 0, 0
+ object_event 12, MAP_OBJ_GFX_PICNICKER, 0, 0, 32, 66, 3, 24, 0, 0, 1, 3, Route111_EventScript_1F1249, 0, 0, 0
+ object_event 13, MAP_OBJ_GFX_CAMERAMAN, 0, 0, 14, 86, 3, 8, 0, 0, 0, 0, Route111_EventScript_28CDF6, 796, 0, 0
+ object_event 14, MAP_OBJ_GFX_REPORTER_F, 0, 0, 13, 86, 3, 8, 0, 0, 0, 0, Route111_EventScript_28CDD6, 796, 0, 0
+ object_event 15, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 18, 101, 3, 1, 0, 0, 0, 0, Route111_EventScript_2907A6, 17, 0, 0
+ object_event 16, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 19, 100, 3, 1, 0, 0, 0, 0, Route111_EventScript_2907A6, 18, 0, 0
+ object_event 17, MAP_OBJ_GFX_GIRL_1, 0, 0, 23, 8, 3, 5, 1, 0, 0, 0, Route111_EventScript_1F0EB9, 0, 0, 0
+ object_event 18, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 33, 104, 3, 1, 0, 0, 0, 0, Route111_EventScript_290D9B, 1008, 0, 0
+ object_event 19, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 18, 5, 3, 12, 0, 0, 0, 80, BerryTreeScript, 0, 0, 0
+ object_event 20, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 19, 5, 3, 12, 0, 0, 0, 81, BerryTreeScript, 0, 0, 0
+ object_event 21, MAP_OBJ_GFX_REPORTER_F, 0, 0, 13, 86, 3, 8, 0, 0, 0, 0, Route111_EventScript_28CE96, 799, 0, 0
+ object_event 22, MAP_OBJ_GFX_CAMERAMAN, 0, 0, 14, 86, 3, 8, 0, 0, 0, 0, Route111_EventScript_28CEB6, 799, 0, 0
+ object_event 23, MAP_OBJ_GFX_REPORTER_F, 0, 0, 13, 86, 3, 8, 0, 0, 0, 0, Route111_EventScript_28CF16, 903, 0, 0
+ object_event 24, MAP_OBJ_GFX_CAMERAMAN, 0, 0, 14, 86, 3, 8, 0, 0, 0, 0, Route111_EventScript_28CF36, 903, 0, 0
+ object_event 25, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 12, 54, 3, 1, 0, 0, 0, 0, Route111_EventScript_290DA8, 1009, 0, 0
+ object_event 26, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 114, 3, 1, 0, 0, 0, 0, Route111_EventScript_290DB5, 1010, 0, 0
+ object_event 27, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 22, 21, 3, 1, 0, 0, 0, 0, Route111_EventScript_2906BB, 19, 0, 0
+ object_event 28, MAP_OBJ_GFX_PICNICKER, 0, 0, 10, 82, 3, 14, 0, 0, 1, 2, Route111_EventScript_1F12D9, 0, 0, 0
+ object_event 29, MAP_OBJ_GFX_CAMPER, 0, 0, 11, 71, 3, 22, 0, 0, 1, 3, Route111_EventScript_1F12C2, 0, 0, 0
+ object_event 30, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 32, 29, 3, 28, 1, 0, 1, 2, Route111_EventScript_1F12F0, 0, 0, 0
+ object_event 31, MAP_OBJ_GFX_WOMAN_7, 0, 0, 11, 11, 3, 7, 4, 0, 1, 4, Route111_EventScript_1F1369, 0, 0, 0
+ object_event 32, MAP_OBJ_GFX_MAN_4, 0, 0, 9, 27, 3, 17, 0, 0, 1, 3, Route111_EventScript_1F1307, 0, 0, 0
+ object_event 33, MAP_OBJ_GFX_BOY_1, 0, 0, 13, 20, 3, 7, 17, 0, 0, 0, Route111_EventScript_2765FF, 960, 0, 0
+ object_event 34, MAP_OBJ_GFX_MAN_5, 0, 0, 20, 114, 3, 2, 17, 0, 0, 0, Route111_EventScript_1F1192, 0, 0, 0
+ object_event 35, MAP_OBJ_GFX_CAMPER, 0, 0, 26, 132, 3, 9, 17, 0, 1, 5, Route111_EventScript_1F13F9, 0, 0, 0
+ object_event 36, MAP_OBJ_GFX_WOMAN_3, 0, 0, 20, 132, 3, 10, 17, 0, 1, 5, Route111_EventScript_1F1410, 0, 0, 0
+ object_event 37, MAP_OBJ_GFX_PICNICKER, 0, 0, 19, 121, 3, 7, 17, 0, 1, 2, Route111_EventScript_1F13E2, 0, 0, 0
+ object_event 38, MAP_OBJ_GFX_MAN_6, 0, 0, 16, 119, 3, 10, 17, 0, 1, 3, Route111_EventScript_1F13CB, 0, 0, 0
+ object_event 39, MAP_OBJ_GFX_HIKER, 0, 0, 29, 77, 3, 14, 17, 0, 1, 7, Route111_EventScript_1F143E, 0, 0, 0
+ object_event 40, MAP_OBJ_GFX_PICNICKER, 0, 0, 22, 77, 3, 10, 17, 0, 1, 6, Route111_EventScript_1F1427, 0, 0, 0
+ object_event 41, MAP_OBJ_GFX_CAMPER, 0, 0, 37, 77, 3, 9, 17, 0, 1, 7, Route111_EventScript_1F1455, 0, 0, 0
+ object_event 42, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 19, 118, 3, 1, 17, 0, 0, 0, Route111_EventScript_290DC2, 1142, 0, 0
+ object_event 43, MAP_OBJ_GFX_HIKER, 0, 0, 14, 56, 3, 16, 17, 0, 0, 0, Route111_EventScript_1F119B, 0, 0, 0
+ object_event 44, MAP_OBJ_GFX_FOSSIL, 0, 0, 20, 53, 3, 8, 17, 0, 0, 0, 0x0, 876, 0, 0
+ object_event 45, MAP_OBJ_GFX_HIPSTER, 0, 0, 19, 53, 3, 8, 17, 0, 0, 0, 0x0, 875, 0, 0
+ object_event 46, MAP_OBJ_GFX_FAT_MAN, 0, 0, 19, 101, 3, 7, 17, 0, 0, 0, Route111_EventScript_1F11E4, 843, 0, 0
+
+Route111_MapWarps: @ 8529640
+ warp_def 13, 113, 0, 0, ROUTE_111_WINSTRATE_FAMILYS_HOUSE
+ warp_def 29, 87, 0, 0, DESERT_RUINS
+ warp_def 26, 18, 0, 0, ROUTE_111_OLD_LADYS_REST_STOP
+ warp_def 19, 58, 0, 0, MIRAGE_TOWER_1F
+ warp_def 31, 113, 0, 0, TRAINER_HILL_ENTRANCE
+
+Route111_MapCoordEvents: @ 8529668
+ coord_event 12, 62, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD
+ coord_event 11, 61, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F0A
+ coord_event 12, 61, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F0A
+ coord_event 13, 61, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F0A
+ coord_event 7, 63, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0
+ coord_event 12, 44, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F16
+ coord_event 13, 43, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F16
+ coord_event 14, 42, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F16
+ coord_event 16, 40, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F16
+ coord_event 14, 61, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F0A
+ coord_event 18, 32, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0
+ coord_event 17, 31, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0
+ coord_event 9, 37, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0
+ coord_event 10, 36, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0
+ coord_event 17, 39, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F16
+ coord_event 18, 38, 3, 0, VAR_0x4003, 0, 0, Route111_EventScript_1F0F16
+ coord_event 8, 64, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0
+ coord_event 9, 65, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0
+ coord_event 10, 65, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0
+ coord_event 11, 66, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0
+ coord_event 12, 67, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0
+ coord_event 13, 68, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0
+ coord_event 14, 69, 3, 0, 0, 0, 0, Route111_EventScript_1F0FB0
+ coord_event 10, 61, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD
+ coord_event 11, 62, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD
+ coord_event 13, 62, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD
+ coord_event 14, 62, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD
+ coord_event 17, 38, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD
+ coord_event 16, 39, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD
+ coord_event 15, 40, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD
+ coord_event 14, 41, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD
+ coord_event 13, 42, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD
+ coord_event 12, 43, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD
+ coord_event 11, 44, 3, 0, 0, 0, 0, Route111_EventScript_1F0FBD
+
+Route111_MapBGEvents: @ 8529888
+ bg_event 16, 114, 0, 0, 0, Route111_EventScript_1F115C
+ bg_event 24, 126, 0, 0, 0, Route111_EventScript_1F1153
+ bg_event 7, 66, 0, 0, 0, Route111_EventScript_1F1165
+ bg_event 13, 6, 0, 0, 0, Route111_EventScript_1F116E
+ bg_event 24, 36, 0, 8, 0, ITEM_FAB_MAIL, 0, 0
+ bg_event 34, 50, 0, 8, 0, ITEM_LUM_BERRY, 0, 0
+ bg_event 33, 34, 0, 8, 0, ITEM_ORANGE_MAIL, 0, 0
+ bg_event 25, 19, 0, 0, 0, Route111_EventScript_1F1177
+ bg_event 35, 1, 0, 8, 0, ITEM_POTION, 0, 0
+ bg_event 35, 31, 0, 8, 0, ITEM_POMEG_BERRY, 0, 0
+ bg_event 26, 70, 0, 7, 0, ITEM_STARDUST, 2, 0
+ bg_event 27, 27, 3, 8, 0, ITEM_REVIVAL_HERB, 0, 0
+ bg_event 7, 84, 3, 0, 0, Route111_EventScript_1F1180
+ bg_event 14, 19, 0, 8, 0, ITEM_PAMTRE_BERRY, 0, 0
+ bg_event 13, 19, 0, 8, 0, ITEM_RABUTA_BERRY, 0, 0
+ bg_event 19, 55, 0, 7, 0, ITEM_PROTEIN, 56, 0
+ bg_event 35, 66, 0, 7, 0, ITEM_RARE_CANDY, 57, 0
+ bg_event 24, 116, 0, 0, 0, Route111_EventScript_1F146C
+
+Route111_MapEvents:: @ 8529960
+ map_events Route111_MapObjects, Route111_MapWarps, Route111_MapCoordEvents, Route111_MapBGEvents
+
diff --git a/data/maps/events/Route111_OldLadysRestStop.inc b/data/maps/events/Route111_OldLadysRestStop.inc
new file mode 100644
index 000000000..05510b62d
--- /dev/null
+++ b/data/maps/events/Route111_OldLadysRestStop.inc
@@ -0,0 +1,10 @@
+Route111_OldLadysRestStop_MapObjects: @ 8533C18
+ object_event 1, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 6, 3, 3, 9, 0, 0, 0, 0, Route111_OldLadysRestStop_EventScript_22A920, 0, 0, 0
+
+Route111_OldLadysRestStop_MapWarps: @ 8533C30
+ warp_def 3, 7, 0, 2, ROUTE_111
+ warp_def 4, 7, 0, 2, ROUTE_111
+
+Route111_OldLadysRestStop_MapEvents:: @ 8533C40
+ map_events Route111_OldLadysRestStop_MapObjects, Route111_OldLadysRestStop_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/Route111_WinstrateFamilysHouse.inc b/data/maps/events/Route111_WinstrateFamilysHouse.inc
new file mode 100644
index 000000000..402b6e180
--- /dev/null
+++ b/data/maps/events/Route111_WinstrateFamilysHouse.inc
@@ -0,0 +1,13 @@
+Route111_WinstrateFamilysHouse_MapObjects: @ 8533B94
+ object_event 1, MAP_OBJ_GFX_LASS, 0, 0, 7, 5, 3, 9, 0, 0, 0, 0, Route111_WinstrateFamilysHouse_EventScript_22A4E8, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_1, 0, 0, 4, 5, 3, 10, 0, 0, 0, 0, Route111_WinstrateFamilysHouse_EventScript_22A48D, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_2, 0, 0, 7, 4, 3, 9, 1, 0, 0, 0, Route111_WinstrateFamilysHouse_EventScript_22A4A2, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 4, 4, 3, 10, 0, 0, 0, 0, Route111_WinstrateFamilysHouse_EventScript_22A4FD, 0, 0, 0
+
+Route111_WinstrateFamilysHouse_MapWarps: @ 8533BF4
+ warp_def 3, 7, 0, 0, ROUTE_111
+ warp_def 4, 7, 0, 0, ROUTE_111
+
+Route111_WinstrateFamilysHouse_MapEvents:: @ 8533C04
+ map_events Route111_WinstrateFamilysHouse_MapObjects, Route111_WinstrateFamilysHouse_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/Route112.inc b/data/maps/events/Route112.inc
new file mode 100644
index 000000000..56bd16935
--- /dev/null
+++ b/data/maps/events/Route112.inc
@@ -0,0 +1,32 @@
+Route112_MapObjects: @ 8529974
+ object_event 1, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 26, 30, 3, 7, 17, 0, 0, 0, Route112_EventScript_1F1DB7, 819, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIKER, 0, 0, 24, 34, 3, 14, 0, 0, 1, 2, Route112_EventScript_1F1E6A, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_CAMPER, 0, 0, 29, 49, 3, 8, 0, 0, 1, 3, Route112_EventScript_1F1EE3, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_PICNICKER, 0, 0, 22, 46, 3, 23, 0, 0, 1, 3, Route112_EventScript_1F1EFA, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_HIKER, 0, 0, 15, 40, 3, 16, 0, 0, 1, 3, Route112_EventScript_1F1E81, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 27, 30, 3, 7, 0, 0, 0, 0, Route112_EventScript_1F1DB7, 819, 0, 0
+ object_event 7, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 27, 6, 0, 12, 0, 0, 0, 24, BerryTreeScript, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 28, 6, 0, 12, 0, 0, 0, 23, BerryTreeScript, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 29, 6, 0, 12, 0, 0, 0, 22, BerryTreeScript, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 30, 6, 3, 12, 0, 0, 0, 21, BerryTreeScript, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_HIKER, 0, 0, 8, 50, 3, 26, 48, 0, 0, 0, Route112_EventScript_1F1E61, 0, 0, 0
+ object_event 12, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 14, 43, 3, 1, 0, 0, 0, 0, Route112_EventScript_290DCF, 1011, 0, 0
+ object_event 13, MAP_OBJ_GFX_MAN_6, 0, 0, 31, 7, 3, 18, 17, 0, 1, 3, Route112_EventScript_1F1F11, 0, 0, 0
+ object_event 14, MAP_OBJ_GFX_WOMAN_3, 0, 0, 31, 11, 3, 15, 17, 0, 1, 3, Route112_EventScript_1F1F28, 0, 0, 0
+
+Route112_MapWarps: @ 8529AC4
+ warp_def 28, 27, 0, 0, ROUTE_112_CABLE_CAR_STATION
+ warp_def 29, 27, 0, 1, ROUTE_112_CABLE_CAR_STATION
+ warp_def 6, 46, 3, 0, JAGGED_PASS
+ warp_def 7, 46, 3, 1, JAGGED_PASS
+ warp_def 11, 36, 0, 0, FIERY_PATH
+ warp_def 22, 10, 0, 1, FIERY_PATH
+
+Route112_MapBGEvents: @ 8529AF4
+ bg_event 19, 44, 3, 0, 0, Route112_EventScript_1F1E4F
+ bg_event 22, 37, 0, 0, 0, Route112_EventScript_1F1E46
+ bg_event 4, 49, 0, 0, 0, Route112_EventScript_1F1E58
+
+Route112_MapEvents:: @ 8529B18
+ map_events Route112_MapObjects, Route112_MapWarps, 0x0, Route112_MapBGEvents
+
diff --git a/data/maps/events/Route112_CableCarStation.inc b/data/maps/events/Route112_CableCarStation.inc
new file mode 100644
index 000000000..e1f001aad
--- /dev/null
+++ b/data/maps/events/Route112_CableCarStation.inc
@@ -0,0 +1,11 @@
+Route112_CableCarStation_MapObjects: @ 8533C54
+ object_event 1, MAP_OBJ_GFX_BEAUTY, 0, 0, 6, 6, 3, 8, 0, 0, 0, 0, Route112_CableCarStation_EventScript_22AB17, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_CABLE_CAR, 0, 0, 6, 3, 3, 1, 0, 0, 0, 0, 0x0, 0, 0, 0
+
+Route112_CableCarStation_MapWarps: @ 8533C84
+ warp_def 6, 11, 0, 0, ROUTE_112
+ warp_def 7, 11, 0, 1, ROUTE_112
+
+Route112_CableCarStation_MapEvents:: @ 8533C94
+ map_events Route112_CableCarStation_MapObjects, Route112_CableCarStation_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/Route113.inc b/data/maps/events/Route113.inc
new file mode 100644
index 000000000..f1d07a671
--- /dev/null
+++ b/data/maps/events/Route113.inc
@@ -0,0 +1,57 @@
+Route113_MapObjects: @ 8529B2C
+ object_event 1, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 66, 12, 3, 5, 1, 0, 0, 0, Route113_EventScript_1F2193, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 36, 10, 3, 3, 16, 0, 0, 0, Route113_EventScript_1F218A, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 62, 8, 3, 8, 0, 0, 1, 3, Route113_EventScript_1F21C0, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 21, 11, 3, 17, 0, 0, 1, 3, Route113_EventScript_1F21D7, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_WOMAN_7, 0, 0, 51, 11, 3, 23, 0, 0, 1, 2, Route113_EventScript_1F21EE, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 53, 7, 3, 1, 0, 0, 0, 0, Route113_EventScript_290DDC, 1012, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 79, 5, 3, 1, 0, 0, 0, 0, Route113_EventScript_290DE9, 1013, 0, 0
+ object_event 8, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 29, 6, 3, 63, 0, 0, 3, 1, Route113_EventScript_1F2250, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 71, 2, 3, 63, 0, 0, 3, 1, Route113_EventScript_1F22B2, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 45, 6, 3, 8, 17, 0, 1, 1, Route113_EventScript_1F22C9, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 46, 6, 3, 8, 17, 0, 1, 1, Route113_EventScript_1F22E4, 0, 0, 0
+ object_event 12, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 15, 15, 3, 1, 17, 0, 0, 0, Route113_EventScript_290DF6, 1143, 0, 0
+ object_event 13, MAP_OBJ_GFX_MANIAC, 0, 0, 75, 3, 3, 9, 17, 0, 1, 4, Route113_EventScript_1F2344, 0, 0, 0
+ object_event 14, MAP_OBJ_GFX_CAMPER, 0, 0, 71, 4, 3, 7, 17, 0, 1, 1, Route113_EventScript_1F232D, 0, 0, 0
+ object_event 15, MAP_OBJ_GFX_PICNICKER, 0, 0, 7, 6, 3, 26, 49, 0, 1, 6, Route113_EventScript_1F22FF, 0, 0, 0
+ object_event 16, MAP_OBJ_GFX_MAN_6, 0, 0, 7, 13, 3, 25, 49, 0, 1, 6, Route113_EventScript_1F2316, 0, 0, 0
+
+Route113_MapWarps: @ 8529CAC
+ warp_def 33, 5, 0, 0, ROUTE_113_GLASS_WORKSHOP
+ warp_def 41, 12, 0, 0, TERRA_CAVE_ENTRANCE
+ warp_def 88, 5, 0, 0, TERRA_CAVE_ENTRANCE
+
+Route113_MapCoordEvents: @ 8529CC4
+ coord_event 19, 11, 3, 0, 8, 0, 0, 0x0
+ coord_event 19, 10, 3, 0, 8, 0, 0, 0x0
+ coord_event 19, 12, 3, 0, 8, 0, 0, 0x0
+ coord_event 19, 13, 3, 0, 8, 0, 0, 0x0
+ coord_event 86, 9, 3, 0, 8, 0, 0, 0x0
+ coord_event 85, 10, 3, 0, 8, 0, 0, 0x0
+ coord_event 85, 11, 3, 0, 8, 0, 0, 0x0
+ coord_event 14, 10, 3, 0, 2, 0, 0, 0x0
+ coord_event 14, 11, 3, 0, 2, 0, 0, 0x0
+ coord_event 14, 12, 3, 0, 2, 0, 0, 0x0
+ coord_event 14, 13, 3, 0, 2, 0, 0, 0x0
+ coord_event 94, 8, 3, 0, 2, 0, 0, 0x0
+ coord_event 94, 9, 3, 0, 2, 0, 0, 0x0
+ coord_event 94, 10, 3, 0, 2, 0, 0, 0x0
+ coord_event 94, 11, 0, 0, 2, 0, 0, 0x0
+ coord_event 19, 14, 3, 0, 8, 0, 0, 0x0
+ coord_event 87, 8, 3, 0, 8, 0, 0, 0x0
+ coord_event 87, 6, 3, 0, 8, 0, 0, 0x0
+ coord_event 87, 7, 3, 0, 8, 0, 0, 0x0
+
+Route113_MapBGEvents: @ 8529DF4
+ bg_event 85, 6, 0, 0, 0, Route113_EventScript_1F219C
+ bg_event 12, 9, 0, 0, 0, Route113_EventScript_1F21A5
+ bg_event 58, 4, 3, 0, 0, Route113_EventScript_1F21B7
+ bg_event 31, 5, 0, 0, 0, Route113_EventScript_1F21AE
+ bg_event 49, 8, 3, 8, 0, ITEM_GREAT_BALL, 0, 0
+ bg_event 66, 3, 3, 7, 0, ITEM_ETHER, 3, 0
+ bg_event 22, 5, 3, 7, 0, ITEM_TM32, 30, 0
+ bg_event 73, 3, 3, 7, 0, ITEM_NUGGET, 98, 0
+
+Route113_MapEvents:: @ 8529E54
+ map_events Route113_MapObjects, Route113_MapWarps, Route113_MapCoordEvents, Route113_MapBGEvents
+
diff --git a/data/maps/events/Route113_GlassWorkshop.inc b/data/maps/events/Route113_GlassWorkshop.inc
new file mode 100644
index 000000000..0191f8578
--- /dev/null
+++ b/data/maps/events/Route113_GlassWorkshop.inc
@@ -0,0 +1,11 @@
+Route113_GlassWorkshop_MapObjects: @ 853EA78
+ object_event 1, MAP_OBJ_GFX_MAN_1, 0, 0, 2, 3, 3, 8, 0, 0, 0, 0, Route113_GlassWorkshop_EventScript_26ED1E, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 5, 4, 3, 2, 17, 0, 0, 0, Route113_GlassWorkshop_EventScript_26F194, 0, 0, 0
+
+Route113_GlassWorkshop_MapWarps: @ 853EAA8
+ warp_def 3, 8, 0, 0, ROUTE_113
+ warp_def 4, 8, 0, 0, ROUTE_113
+
+Route113_GlassWorkshop_MapEvents:: @ 853EAB8
+ map_events Route113_GlassWorkshop_MapObjects, Route113_GlassWorkshop_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/Route114.inc b/data/maps/events/Route114.inc
new file mode 100644
index 000000000..800af012c
--- /dev/null
+++ b/data/maps/events/Route114.inc
@@ -0,0 +1,53 @@
+Route114_MapObjects: @ 8529E68
+ object_event 1, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 31, 43, 3, 12, 0, 0, 0, 77, BerryTreeScript, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 31, 44, 3, 12, 0, 0, 0, 78, BerryTreeScript, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_HIKER, 0, 0, 15, 65, 7, 10, 0, 0, 1, 6, Route114_EventScript_1F2640, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_HIKER, 0, 0, 30, 72, 5, 9, 0, 0, 1, 4, Route114_EventScript_1F2657, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_CAMPER, 0, 0, 22, 50, 3, 10, 0, 0, 1, 3, Route114_EventScript_1F266E, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_PICNICKER, 0, 0, 19, 35, 3, 1, 0, 0, 1, 3, Route114_EventScript_1F2685, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_MANIAC, 0, 0, 20, 56, 3, 7, 0, 0, 1, 3, Route114_EventScript_1F269C, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 31, 45, 3, 12, 0, 0, 0, 68, BerryTreeScript, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 6, 3, 1, 0, 0, 0, 0, Route114_EventScript_290E03, 1014, 0, 0
+ object_event 10, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 11, 37, 4, 1, 0, 0, 0, 0, Route114_EventScript_290E10, 1015, 0, 0
+ object_event 11, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 12, 43, 4, 1, 0, 0, 0, 0, Route114_EventScript_2907A6, 17, 0, 0
+ object_event 12, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 19, 11, 3, 10, 0, 0, 0, 0, Route114_EventScript_1F25D1, 0, 0, 0
+ object_event 13, MAP_OBJ_GFX_POOCHYENA, 0, 0, 19, 12, 3, 10, 0, 0, 0, 0, Route114_EventScript_1F2612, 0, 0, 0
+ object_event 14, MAP_OBJ_GFX_MAN_5, 0, 0, 27, 42, 3, 3, 16, 0, 0, 0, Route114_EventScript_1F2582, 0, 0, 0
+ object_event 15, MAP_OBJ_GFX_FISHERMAN, 0, 0, 25, 6, 3, 8, 0, 0, 1, 0, Route114_EventScript_1F2777, 0, 0, 0
+ object_event 16, MAP_OBJ_GFX_FISHERMAN, 0, 0, 19, 26, 3, 9, 0, 0, 1, 0, Route114_EventScript_1F2760, 0, 0, 0
+ object_event 17, MAP_OBJ_GFX_MAN_6, 0, 0, 30, 58, 5, 23, 0, 0, 1, 3, Route114_EventScript_1F26FE, 0, 0, 0
+ object_event 18, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 29, 53, 5, 1, 17, 0, 0, 0, Route114_EventScript_2907A6, 18, 0, 0
+ object_event 19, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 30, 54, 5, 1, 17, 0, 0, 0, Route114_EventScript_2907A6, 19, 0, 0
+ object_event 20, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 22, 69, 7, 1, 17, 0, 0, 0, Route114_EventScript_2907A6, 20, 0, 0
+ object_event 21, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 11, 64, 5, 1, 17, 0, 0, 0, Route114_EventScript_2907A6, 21, 0, 0
+ object_event 22, MAP_OBJ_GFX_LASS, 0, 0, 24, 44, 3, 8, 17, 0, 1, 1, Route114_EventScript_1F27A9, 0, 0, 0
+ object_event 23, MAP_OBJ_GFX_LASS, 0, 0, 23, 44, 3, 8, 17, 0, 1, 1, Route114_EventScript_1F278E, 0, 0, 0
+ object_event 24, MAP_OBJ_GFX_PICNICKER, 0, 0, 28, 20, 3, 7, 17, 0, 1, 3, Route114_EventScript_1F27DB, 0, 0, 0
+ object_event 25, MAP_OBJ_GFX_PICNICKER, 0, 0, 26, 72, 5, 18, 17, 0, 1, 4, Route114_EventScript_1F27C4, 0, 0, 0
+ object_event 26, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 31, 19, 3, 1, 17, 0, 0, 0, Route114_EventScript_290E1D, 1160, 0, 0
+ object_event 27, MAP_OBJ_GFX_FISHERMAN, 0, 0, 28, 16, 3, 17, 17, 0, 1, 3, Route114_EventScript_1F27F2, 0, 0, 0
+
+Route114_MapWarps: @ 852A0F0
+ warp_def 8, 63, 0, 0, METEOR_FALLS_1F_1R
+ warp_def 29, 5, 0, 0, ROUTE_114_FOSSIL_MANIACS_HOUSE
+ warp_def 27, 36, 0, 0, ROUTE_114_LANETTES_HOUSE
+ warp_def 6, 46, 0, 0, TERRA_CAVE_ENTRANCE
+ warp_def 7, 4, 0, 0, TERRA_CAVE_ENTRANCE
+
+Route114_MapBGEvents: @ 852A118
+ bg_event 7, 64, 0, 0, 0, Route114_EventScript_1F2625
+ bg_event 31, 7, 0, 0, 0, Route114_EventScript_1F262E
+ bg_event 9, 47, 0, 8, 0, ITEM_RED_FLUTE, 0, 0
+ bg_event 30, 51, 0, 8, 0, ITEM_GREEN_SHARD, 0, 0
+ bg_event 11, 62, 0, 8, 0, 61, 0, 0
+ bg_event 19, 70, 0, 8, 0, ITEM_PP_MAX, 0, 0
+ bg_event 11, 27, 0, 8, 0, ITEM_EXP_SHARE, 0, 0
+ bg_event 12, 27, 0, 8, 0, ITEM_DEEP_SEA_TOOTH, 0, 0
+ bg_event 25, 38, 3, 0, 0, Route114_EventScript_1F2637
+ bg_event 20, 57, 3, 7, 0, ITEM_CARBOS, 4, 0
+ bg_event 32, 57, 0, 8, 0, ITEM_GUARD_SPEC, 0, 0
+ bg_event 7, 30, 3, 7, 0, ITEM_REVIVE, 42, 0
+
+Route114_MapEvents:: @ 852A1A8
+ map_events Route114_MapObjects, Route114_MapWarps, 0x0, Route114_MapBGEvents
+
diff --git a/data/maps/events/Route114_FossilManiacsHouse.inc b/data/maps/events/Route114_FossilManiacsHouse.inc
new file mode 100644
index 000000000..e20e9c54c
--- /dev/null
+++ b/data/maps/events/Route114_FossilManiacsHouse.inc
@@ -0,0 +1,17 @@
+Route114_FossilManiacsHouse_MapObjects: @ 8533CFC
+ object_event 1, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 3, 2, 3, 8, 17, 0, 0, 0, Route114_FossilManiacsHouse_EventScript_22AD3A, 0, 0, 0
+
+Route114_FossilManiacsHouse_MapWarps: @ 8533D14
+ warp_def 4, 7, 0, 1, ROUTE_114
+ warp_def 5, 7, 0, 1, ROUTE_114
+ warp_def 4, 1, 0, 0, ROUTE_114_FOSSIL_MANIACS_TUNNEL
+
+Route114_FossilManiacsHouse_MapBGEvents: @ 8533D2C
+ bg_event 5, 3, 0, 1, 0, Route114_FossilManiacsHouse_EventScript_22AD73
+ bg_event 6, 3, 0, 1, 0, Route114_FossilManiacsHouse_EventScript_22AD73
+ bg_event 7, 2, 0, 1, 0, Route114_FossilManiacsHouse_EventScript_22AD7C
+ bg_event 8, 2, 0, 1, 0, Route114_FossilManiacsHouse_EventScript_22AD7C
+
+Route114_FossilManiacsHouse_MapEvents:: @ 8533D5C
+ map_events Route114_FossilManiacsHouse_MapObjects, Route114_FossilManiacsHouse_MapWarps, 0x0, Route114_FossilManiacsHouse_MapBGEvents
+
diff --git a/data/maps/events/Route114_FossilManiacsTunnel.inc b/data/maps/events/Route114_FossilManiacsTunnel.inc
new file mode 100644
index 000000000..3fb19d06e
--- /dev/null
+++ b/data/maps/events/Route114_FossilManiacsTunnel.inc
@@ -0,0 +1,15 @@
+Route114_FossilManiacsTunnel_MapObjects: @ 8533D70
+ object_event 1, MAP_OBJ_GFX_MANIAC, 0, 0, 5, 3, 3, 7, 17, 0, 0, 0, Route114_FossilManiacsTunnel_EventScript_22AF87, 0, 0, 0
+
+Route114_FossilManiacsTunnel_MapWarps: @ 8533D88
+ warp_def 6, 25, 3, 2, ROUTE_114_FOSSIL_MANIACS_HOUSE
+ warp_def 7, 25, 3, 2, ROUTE_114_FOSSIL_MANIACS_HOUSE
+ warp_def 6, 2, 0, 0, DESERT_UNDERPASS
+
+Route114_FossilManiacsTunnel_MapCoordEvents: @ 8533DA0
+ coord_event 5, 4, 3, 0, VAR_0x40CC, 1, 0, Route114_FossilManiacsTunnel_EventScript_22AF66
+ coord_event 6, 4, 3, 0, VAR_0x40CC, 1, 0, Route114_FossilManiacsTunnel_EventScript_22AF66
+
+Route114_FossilManiacsTunnel_MapEvents:: @ 8533DC0
+ map_events Route114_FossilManiacsTunnel_MapObjects, Route114_FossilManiacsTunnel_MapWarps, Route114_FossilManiacsTunnel_MapCoordEvents, 0x0
+
diff --git a/data/maps/events/Route114_LanettesHouse.inc b/data/maps/events/Route114_LanettesHouse.inc
new file mode 100644
index 000000000..c6e493c73
--- /dev/null
+++ b/data/maps/events/Route114_LanettesHouse.inc
@@ -0,0 +1,15 @@
+Route114_LanettesHouse_MapObjects: @ 8533DD4
+ object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 5, 4, 3, 1, 0, 0, 0, 0, Route114_LanettesHouse_EventScript_22B2D2, 870, 0, 0
+
+Route114_LanettesHouse_MapWarps: @ 8533DEC
+ warp_def 5, 7, 0, 2, ROUTE_114
+ warp_def 6, 7, 0, 2, ROUTE_114
+
+Route114_LanettesHouse_MapBGEvents: @ 8533DFC
+ bg_event 5, 1, 0, 0, 0, Route114_LanettesHouse_EventScript_22B309
+ bg_event 8, 1, 0, 0, 0, Route114_LanettesHouse_EventScript_22B345
+ bg_event 7, 1, 0, 0, 0, Route114_LanettesHouse_EventScript_22B345
+
+Route114_LanettesHouse_MapEvents:: @ 8533E20
+ map_events Route114_LanettesHouse_MapObjects, Route114_LanettesHouse_MapWarps, 0x0, Route114_LanettesHouse_MapBGEvents
+
diff --git a/data/maps/events/Route115.inc b/data/maps/events/Route115.inc
new file mode 100644
index 000000000..e59081620
--- /dev/null
+++ b/data/maps/events/Route115.inc
@@ -0,0 +1,49 @@
+Route115_MapObjects: @ 852A1BC
+ object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 18, 68, 3, 2, 17, 0, 0, 0, Route115_EventScript_1F2973, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 5, 15, 3, 10, 0, 0, 1, 6, Route115_EventScript_1F298E, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 27, 53, 3, 15, 17, 0, 1, 4, Route115_EventScript_1F2A07, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 12, 5, 3, 12, 0, 0, 0, 69, BerryTreeScript, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 13, 5, 3, 12, 0, 0, 0, 70, BerryTreeScript, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 14, 5, 3, 12, 0, 0, 0, 71, BerryTreeScript, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_GIRL_3, 0, 0, 15, 50, 3, 64, 0, 0, 1, 3, Route115_EventScript_1F2A69, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 19, 15, 3, 27, 5, 0, 1, 2, Route115_EventScript_1F29F0, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_MANIAC, 0, 0, 24, 62, 3, 18, 0, 0, 1, 4, Route115_EventScript_1F2ACB, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 20, 60, 3, 1, 0, 0, 0, 0, Route115_EventScript_290E2A, 1016, 0, 0
+ object_event 11, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 18, 7, 3, 1, 0, 0, 0, 0, Route115_EventScript_290E37, 1017, 0, 0
+ object_event 12, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 23, 29, 3, 1, 0, 0, 0, 0, Route115_EventScript_290E44, 1018, 0, 0
+ object_event 13, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 31, 64, 3, 12, 0, 0, 0, 55, BerryTreeScript, 0, 0, 0
+ object_event 14, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 31, 65, 3, 12, 0, 0, 0, 56, BerryTreeScript, 0, 0, 0
+ object_event 15, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 29, 50, 3, 1, 17, 0, 0, 0, Route115_EventScript_2907A6, 17, 0, 0
+ object_event 16, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 31, 56, 3, 1, 17, 0, 0, 0, Route115_EventScript_290E51, 1118, 0, 0
+ object_event 17, MAP_OBJ_GFX_RUNNING_TRIATHLETE_F, 0, 0, 10, 15, 3, 46, 51, 0, 1, 2, Route115_EventScript_1F2AE2, 0, 0, 0
+ object_event 18, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 11, 12, 3, 57, 17, 0, 1, 3, Route115_EventScript_1F2AF9, 0, 0, 0
+ object_event 19, MAP_OBJ_GFX_GIRL_3, 0, 0, 15, 7, 3, 9, 17, 0, 1, 4, Route115_EventScript_1F2B27, 0, 0, 0
+ object_event 20, MAP_OBJ_GFX_LASS, 0, 0, 10, 7, 3, 10, 17, 0, 1, 4, Route115_EventScript_1F2B10, 0, 0, 0
+ object_event 21, MAP_OBJ_GFX_LASS, 0, 0, 28, 62, 3, 9, 17, 0, 1, 4, Route115_EventScript_1F2B3E, 0, 0, 0
+ object_event 22, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 26, 67, 3, 1, 17, 0, 0, 0, Route115_EventScript_290E6B, 1161, 0, 0
+ object_event 23, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 12, 14, 3, 1, 17, 0, 0, 0, Route115_EventScript_290E5E, 1144, 0, 0
+
+Route115_MapWarps: @ 852A3E4
+ warp_def 27, 37, 0, 1, METEOR_FALLS_1F_1R
+ warp_def 21, 6, 0, 0, TERRA_CAVE_ENTRANCE
+ warp_def 36, 10, 0, 0, TERRA_CAVE_ENTRANCE
+
+Route115_MapBGEvents: @ 852A3FC
+ bg_event 32, 6, 0, 8, 0, 72, 0, 0
+ bg_event 21, 18, 0, 8, 0, 62, 0, 0
+ bg_event 16, 64, 0, 0, 0, Route115_EventScript_1F297C
+ bg_event 25, 38, 3, 0, 0, Route115_EventScript_1F2985
+ bg_event 8, 30, 0, 8, 0, ITEM_CHERI_BERRY, 0, 0
+ bg_event 32, 39, 0, 8, 0, ITEM_BLACK_FLUTE, 0, 0
+ bg_event 26, 15, 0, 8, 0, 52, 0, 0
+ bg_event 23, 8, 0, 8, 0, ITEM_WHITE_FLUTE, 0, 0
+ bg_event 32, 46, 0, 8, 0, 53, 0, 0
+ bg_event 7, 20, 0, 8, 0, ITEM_STARF_BERRY, 0, 0
+ bg_event 8, 20, 0, 8, 0, ITEM_QUICK_CLAW, 0, 0
+ bg_event 25, 24, 0, 8, 0, ITEM_HP_UP, 0, 0
+ bg_event 20, 53, 0, 8, 0, ITEM_HYPER_POTION, 0, 0
+ bg_event 15, 49, 3, 7, 0, ITEM_HEART_SCALE, 97, 0
+
+Route115_MapEvents:: @ 852A4A4
+ map_events Route115_MapObjects, Route115_MapWarps, 0x0, Route115_MapBGEvents
+
diff --git a/data/maps/events/Route116.inc b/data/maps/events/Route116.inc
new file mode 100644
index 000000000..a28f44e92
--- /dev/null
+++ b/data/maps/events/Route116.inc
@@ -0,0 +1,56 @@
+Route116_MapObjects: @ 852A4B8
+ object_event 1, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 18, 2, 3, 12, 0, 0, 0, 25, BerryTreeScript, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 19, 2, 3, 12, 0, 0, 0, 26, BerryTreeScript, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 12, 7, 3, 16, 0, 0, 1, 3, Route116_EventScript_1F2E89, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 21, 6, 3, 1, 0, 0, 0, 0, Route116_EventScript_2906BB, 17, 0, 0
+ object_event 5, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 32, 10, 3, 1, 0, 0, 0, 0, Route116_EventScript_2906BB, 18, 0, 0
+ object_event 6, MAP_OBJ_GFX_BUG_CATCHER, 0, 0, 13, 17, 3, 24, 0, 0, 1, 2, Route116_EventScript_1F2EA0, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 19, 6, 3, 1, 0, 0, 0, 0, Route116_EventScript_290E85, 1019, 0, 0
+ object_event 8, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 10, 17, 3, 1, 0, 0, 0, 0, Route116_EventScript_290E92, 1020, 0, 0
+ object_event 9, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 20, 2, 3, 12, 0, 0, 0, 66, BerryTreeScript, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 21, 2, 3, 12, 0, 0, 0, 67, BerryTreeScript, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 46, 9, 3, 1, 0, 0, 0, 0, Route116_EventScript_1F2D84, 891, 0, 0
+ object_event 12, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 28, 11, 3, 1, 0, 0, 0, 0, Route116_EventScript_2906BB, 19, 0, 0
+ object_event 13, MAP_OBJ_GFX_HIKER, 0, 0, 36, 17, 3, 15, 0, 0, 1, 3, Route116_EventScript_1F2F65, 0, 0, 0
+ object_event 14, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 24, 9, 3, 1, 0, 0, 0, 0, Route116_EventScript_2906BB, 20, 0, 0
+ object_event 15, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 80, 8, 3, 1, 0, 0, 0, 0, Route116_EventScript_290E9F, 1021, 0, 0
+ object_event 16, MAP_OBJ_GFX_LASS, 0, 0, 26, 6, 3, 10, 0, 0, 1, 2, Route116_EventScript_1F2F7C, 0, 0, 0
+ object_event 17, MAP_OBJ_GFX_GIRL_3, 0, 0, 22, 16, 3, 13, 0, 0, 1, 3, Route116_EventScript_1F2F93, 0, 0, 0
+ object_event 18, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 28, 8, 3, 7, 0, 0, 1, 4, Route116_EventScript_1F2EB7, 0, 0, 0
+ object_event 19, MAP_OBJ_GFX_MAN_2, 0, 0, 46, 11, 3, 1, 17, 0, 0, 0, Route116_EventScript_1F2CA2, 947, 0, 0
+ object_event 20, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 55, 12, 4, 1, 17, 0, 0, 0, Route116_EventScript_290E78, 1001, 0, 0
+ object_event 21, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 38, 9, 3, 10, 17, 0, 0, 0, Route116_EventScript_1F2C70, 894, 0, 0
+ object_event 22, MAP_OBJ_GFX_MANIAC, 0, 0, 74, 13, 3, 1, 17, 0, 0, 0, Route116_EventScript_1F2DB6, 813, 0, 0
+ object_event 23, MAP_OBJ_GFX_WOMAN_3, 0, 0, 33, 8, 3, 7, 0, 0, 1, 1, Route116_EventScript_1F3041, 0, 0, 0
+ object_event 24, MAP_OBJ_GFX_BOY_2, 0, 0, 33, 5, 3, 8, 0, 0, 1, 2, Route116_EventScript_1F3058, 0, 0, 0
+ object_event 25, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 34, 7, 0, 1, 17, 0, 0, 0, Route116_EventScript_290EAC, 1146, 0, 0
+ object_event 26, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 30, 5, 3, 1, 17, 0, 0, 0, Route116_EventScript_2906BB, 21, 0, 0
+ object_event 27, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 36, 13, 3, 18, 17, 0, 1, 5, Route116_EventScript_1F3086, 0, 0, 0
+ object_event 28, MAP_OBJ_GFX_HIKER, 0, 0, 42, 13, 3, 9, 17, 0, 1, 5, Route116_EventScript_1F306F, 0, 0, 0
+
+Route116_MapWarps: @ 852A758
+ warp_def 47, 8, 0, 0, RUSTURF_TUNNEL
+ warp_def 38, 8, 0, 0, ROUTE_116_TUNNELERS_REST_HOUSE
+ warp_def 65, 10, 0, 2, RUSTURF_TUNNEL
+ warp_def 59, 13, 0, 0, TERRA_CAVE_ENTRANCE
+ warp_def 79, 6, 0, 0, TERRA_CAVE_ENTRANCE
+
+Route116_MapCoordEvents: @ 852A780
+ coord_event 47, 9, 3, 0, VAR_0x406F, 1, 0, Route116_EventScript_1F2D95
+
+Route116_MapBGEvents: @ 852A790
+ bg_event 5, 10, 0, 0, 0, Route116_EventScript_1F2D57
+ bg_event 48, 9, 0, 0, 0, Route116_EventScript_1F2D60
+ bg_event 40, 9, 0, 0, 0, Route116_EventScript_1F2D69
+ bg_event 71, 4, 0, 8, 0, ITEM_FLUFFY_TAIL, 0, 0
+ bg_event 79, 11, 0, 8, 0, 91, 0, 0
+ bg_event 16, 12, 0, 0, 0, Route116_EventScript_1F2D72
+ bg_event 29, 10, 0, 0, 0, Route116_EventScript_1F2D7B
+ bg_event 56, 6, 0, 8, 0, 102, 0, 0
+ bg_event 55, 15, 0, 8, 0, 112, 0, 0
+ bg_event 22, 9, 3, 7, 0, ITEM_SUPER_POTION, 45, 0
+ bg_event 70, 13, 3, 7, 0, ITEM_BLACK_GLASSES, 96, 0
+
+Route116_MapEvents:: @ 852A814
+ map_events Route116_MapObjects, Route116_MapWarps, Route116_MapCoordEvents, Route116_MapBGEvents
+
diff --git a/data/maps/events/Route116_TunnelersRestHouse.inc b/data/maps/events/Route116_TunnelersRestHouse.inc
new file mode 100644
index 000000000..bc159312e
--- /dev/null
+++ b/data/maps/events/Route116_TunnelersRestHouse.inc
@@ -0,0 +1,12 @@
+Route116_TunnelersRestHouse_MapObjects: @ 8533E34
+ object_event 1, MAP_OBJ_GFX_MAN_3, 0, 0, 6, 5, 3, 10, 0, 0, 0, 0, Route116_TunnelersRestHouse_EventScript_22B85A, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_3, 0, 0, 3, 6, 3, 1, 17, 0, 0, 0, Route116_TunnelersRestHouse_EventScript_22B86C, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_3, 0, 0, 7, 2, 3, 7, 1, 0, 0, 0, Route116_TunnelersRestHouse_EventScript_22B863, 0, 0, 0
+
+Route116_TunnelersRestHouse_MapWarps: @ 8533E7C
+ warp_def 4, 8, 0, 1, ROUTE_116
+ warp_def 5, 8, 0, 1, ROUTE_116
+
+Route116_TunnelersRestHouse_MapEvents:: @ 8533E8C
+ map_events Route116_TunnelersRestHouse_MapObjects, Route116_TunnelersRestHouse_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/Route117.inc b/data/maps/events/Route117.inc
new file mode 100644
index 000000000..5b0e89239
--- /dev/null
+++ b/data/maps/events/Route117.inc
@@ -0,0 +1,38 @@
+Route117_MapObjects: @ 852A828
+ object_event 1, MAP_OBJ_GFX_WOMAN_1, 0, 0, 13, 13, 3, 8, 0, 0, 0, 0, Route117_EventScript_1F399A, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 25, 5, 3, 40, 34, 0, 0, 0, Route117_EventScript_1F39A3, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 47, 4, 3, 8, 0, 0, 0, 0, Route117_EventScript_291C18, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_ZIGZAGOON_2, 0, 0, 33, 3, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_KECLEON_1, 0, 0, 39, 4, 3, 1, 0, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_AZUMARILL, 0, 0, 42, 2, 3, 1, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_PIKACHU, 0, 0, 49, 2, 3, 1, 0, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_RUNNING_TRIATHLETE_M, 0, 0, 38, 16, 3, 28, 8, 0, 1, 4, Route117_EventScript_1F3A94, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_WOMAN_3, 0, 0, 8, 10, 3, 23, 0, 0, 1, 3, Route117_EventScript_1F3A32, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_MAN_5, 0, 0, 33, 11, 3, 16, 0, 0, 1, 4, Route117_EventScript_1F39D0, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 41, 13, 3, 12, 0, 0, 0, 29, BerryTreeScript, 0, 0, 0
+ object_event 12, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 42, 13, 3, 12, 0, 0, 0, 28, BerryTreeScript, 0, 0, 0
+ object_event 13, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 43, 13, 3, 12, 0, 0, 0, 27, BerryTreeScript, 0, 0, 0
+ object_event 14, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 16, 18, 3, 1, 0, 0, 0, 0, Route117_EventScript_290EB9, 1022, 0, 0
+ object_event 15, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 15, 2, 3, 1, 0, 0, 0, 0, Route117_EventScript_2906BB, 17, 0, 0
+ object_event 16, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 9, 1, 3, 1, 0, 0, 0, 0, Route117_EventScript_290EC6, 1023, 0, 0
+ object_event 17, MAP_OBJ_GFX_RUNNING_TRIATHLETE_F, 0, 0, 26, 13, 3, 33, 34, 0, 1, 5, Route117_EventScript_1F3AF6, 0, 0, 0
+ object_event 18, MAP_OBJ_GFX_MANIAC, 0, 0, 17, 12, 3, 7, 17, 0, 1, 4, Route117_EventScript_1F3B58, 0, 0, 0
+ object_event 19, MAP_OBJ_GFX_LASS, 0, 0, 43, 6, 3, 8, 0, 0, 1, 1, Route117_EventScript_1F3BD3, 0, 0, 0
+ object_event 20, MAP_OBJ_GFX_LASS, 0, 0, 42, 6, 3, 8, 0, 0, 1, 1, Route117_EventScript_1F3B6F, 0, 0, 0
+ object_event 21, MAP_OBJ_GFX_GIRL_2, 0, 0, 48, 10, 3, 2, 17, 0, 0, 0, Route117_EventScript_1F39AC, 0, 0, 0
+ object_event 22, MAP_OBJ_GFX_LASS, 0, 0, 15, 4, 3, 10, 17, 0, 1, 4, Route117_EventScript_1F3C4E, 0, 0, 0
+ object_event 23, MAP_OBJ_GFX_GIRL_3, 0, 0, 21, 4, 3, 9, 17, 0, 1, 4, Route117_EventScript_1F3C65, 0, 0, 0
+ object_event 24, MAP_OBJ_GFX_RUNNING_TRIATHLETE_F, 0, 0, 16, 4, 3, 28, 20, 0, 1, 4, Route117_EventScript_1F3C37, 0, 0, 0
+
+Route117_MapWarps: @ 852AA68
+ warp_def 51, 5, 0, 0, ROUTE_117_POKEMON_DAY_CARE
+
+Route117_MapBGEvents: @ 852AA70
+ bg_event 16, 6, 0, 0, 0, Route117_EventScript_1F39B5
+ bg_event 49, 12, 0, 0, 0, Route117_EventScript_1F39BE
+ bg_event 49, 5, 0, 0, 0, Route117_EventScript_1F39C7
+ bg_event 3, 18, 3, 7, 0, ITEM_REPEL, 72, 0
+
+Route117_MapEvents:: @ 852AAA0
+ map_events Route117_MapObjects, Route117_MapWarps, 0x0, Route117_MapBGEvents
+
diff --git a/data/maps/events/Route117_PokemonDayCare.inc b/data/maps/events/Route117_PokemonDayCare.inc
new file mode 100644
index 000000000..e9625991f
--- /dev/null
+++ b/data/maps/events/Route117_PokemonDayCare.inc
@@ -0,0 +1,10 @@
+Route117_PokemonDayCare_MapObjects: @ 8533EA0
+ object_event 1, MAP_OBJ_GFX_OLD_WOMAN_2, 0, 0, 2, 2, 3, 8, 0, 0, 0, 0, Route117_PokemonDayCare_EventScript_291D11, 0, 0, 0
+
+Route117_PokemonDayCare_MapWarps: @ 8533EB8
+ warp_def 2, 8, 0, 0, ROUTE_117
+ warp_def 3, 8, 0, 0, ROUTE_117
+
+Route117_PokemonDayCare_MapEvents:: @ 8533EC8
+ map_events Route117_PokemonDayCare_MapObjects, Route117_PokemonDayCare_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/Route118.inc b/data/maps/events/Route118.inc
new file mode 100644
index 000000000..40e1e4b70
--- /dev/null
+++ b/data/maps/events/Route118.inc
@@ -0,0 +1,46 @@
+Route118_MapObjects: @ 852AAB4
+ object_event 1, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 35, 5, 3, 12, 0, 0, 0, 31, BerryTreeScript, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 36, 5, 3, 12, 0, 0, 0, 32, BerryTreeScript, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 37, 5, 3, 12, 0, 0, 0, 33, BerryTreeScript, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MAN_6, 0, 0, 64, 10, 3, 8, 0, 0, 1, 3, Route118_EventScript_1F4079, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_REPORTER_F, 0, 0, 33, 8, 3, 8, 0, 0, 0, 0, Route118_EventScript_28CE16, 797, 0, 0
+ object_event 6, MAP_OBJ_GFX_CAMERAMAN, 0, 0, 34, 8, 3, 8, 0, 0, 0, 0, Route118_EventScript_28CE36, 797, 0, 0
+ object_event 7, MAP_OBJ_GFX_GIRL_2, 0, 0, 12, 10, 3, 2, 17, 0, 0, 0, Route118_EventScript_1F3E73, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_REPORTER_F, 0, 0, 33, 8, 3, 8, 0, 0, 0, 0, Route118_EventScript_28CED6, 901, 0, 0
+ object_event 9, MAP_OBJ_GFX_CAMERAMAN, 0, 0, 34, 8, 3, 8, 0, 0, 0, 0, Route118_EventScript_28CEF6, 901, 0, 0
+ object_event 10, MAP_OBJ_GFX_REPORTER_F, 0, 0, 33, 8, 3, 8, 0, 0, 0, 0, Route118_EventScript_28CF16, 904, 0, 0
+ object_event 11, MAP_OBJ_GFX_CAMERAMAN, 0, 0, 34, 8, 3, 8, 0, 0, 0, 0, Route118_EventScript_28CF36, 904, 0, 0
+ object_event 12, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 38, 8, 3, 1, 0, 0, 0, 0, Route118_EventScript_2906BB, 17, 0, 0
+ object_event 13, MAP_OBJ_GFX_FISHERMAN, 0, 0, 28, 8, 3, 9, 0, 0, 0, 0, Route118_EventScript_1F3E14, 0, 0, 0
+ object_event 14, MAP_OBJ_GFX_WOMAN_3, 0, 0, 7, 12, 3, 7, 0, 0, 1, 4, Route118_EventScript_1F3F87, 0, 0, 0
+ object_event 15, MAP_OBJ_GFX_FISHERMAN, 0, 0, 14, 14, 3, 8, 0, 0, 1, 0, Route118_EventScript_1F4000, 0, 0, 0
+ object_event 16, MAP_OBJ_GFX_MAN_6, 0, 0, 56, 7, 3, 16, 0, 0, 1, 3, Route118_EventScript_1F4090, 0, 0, 0
+ object_event 17, MAP_OBJ_GFX_FISHERMAN, 0, 0, 39, 15, 3, 1, 0, 0, 1, 2, Route118_EventScript_1F3FE9, 0, 0, 0
+ object_event 18, MAP_OBJ_GFX_MAN_6, 0, 0, 17, 11, 3, 15, 17, 0, 1, 3, Route118_EventScript_1F4017, 0, 0, 0
+ object_event 19, MAP_OBJ_GFX_STEVEN, 0, 0, 44, 7, 3, 8, 17, 0, 0, 0, 0x0, 966, 0, 0
+ object_event 20, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 69, 7, 3, 1, 17, 0, 0, 0, Route118_EventScript_290ED3, 1121, 0, 0
+ object_event 21, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 7, 7, 3, 8, 17, 0, 1, 4, Route118_EventScript_1F40A7, 0, 0, 0
+
+Route118_MapWarps: @ 852ACAC
+ warp_def 42, 6, 0, 0, TERRA_CAVE_ENTRANCE
+ warp_def 9, 6, 0, 0, TERRA_CAVE_ENTRANCE
+
+Route118_MapCoordEvents: @ 852ACBC
+ coord_event 43, 11, 3, 0, VAR_0x4071, 0, 0, Route118_EventScript_1F3E8E
+ coord_event 44, 11, 3, 0, VAR_0x4071, 0, 0, Route118_EventScript_1F3EAE
+ coord_event 45, 11, 3, 0, VAR_0x4071, 0, 0, Route118_EventScript_1F3EC4
+
+Route118_MapBGEvents: @ 852ACEC
+ bg_event 47, 14, 0, 8, 0, ITEM_MASTER_BALL, 0, 0
+ bg_event 13, 6, 0, 0, 0, Route118_EventScript_1F3E7C
+ bg_event 56, 8, 0, 0, 0, Route118_EventScript_1F3E85
+ bg_event 67, 6, 0, 8, 0, ITEM_LUXURY_BALL, 0, 0
+ bg_event 29, 5, 0, 8, 0, ITEM_HARBOR_MAIL, 0, 0
+ bg_event 47, 5, 0, 8, 0, ITEM_SPELON_BERRY, 0, 0
+ bg_event 46, 5, 0, 8, 0, ITEM_PETAYA_BERRY, 0, 0
+ bg_event 31, 13, 3, 7, 0, ITEM_IRON, 67, 0
+ bg_event 12, 14, 3, 7, 0, ITEM_HEART_SCALE, 66, 0
+
+Route118_MapEvents:: @ 852AD58
+ map_events Route118_MapObjects, Route118_MapWarps, Route118_MapCoordEvents, Route118_MapBGEvents
+
diff --git a/data/maps/events/Route119.inc b/data/maps/events/Route119.inc
new file mode 100644
index 000000000..e78006b3c
--- /dev/null
+++ b/data/maps/events/Route119.inc
@@ -0,0 +1,99 @@
+Route119_MapObjects: @ 852AD6C
+ object_event 1, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 24, 5, 3, 12, 0, 0, 0, 34, BerryTreeScript, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 25, 5, 3, 12, 0, 0, 0, 35, BerryTreeScript, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 26, 5, 3, 12, 0, 0, 0, 36, BerryTreeScript, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BUG_CATCHER, 0, 0, 12, 123, 3, 59, 0, 0, 1, 1, Route119_EventScript_1F47E2, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_MANIAC, 0, 0, 26, 123, 3, 60, 0, 0, 1, 1, Route119_EventScript_1F47B4, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_MANIAC, 0, 0, 5, 125, 3, 62, 0, 0, 1, 1, Route119_EventScript_1F479D, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_CAMPER, 0, 0, 7, 74, 3, 18, 0, 0, 1, 3, Route119_EventScript_1F4810, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_MANIAC, 0, 0, 28, 116, 3, 60, 0, 0, 1, 1, Route119_EventScript_1F4786, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_PICNICKER, 0, 0, 35, 83, 4, 8, 0, 0, 1, 2, Route119_EventScript_1F4872, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_BUG_CATCHER, 0, 0, 34, 122, 3, 61, 0, 0, 1, 1, Route119_EventScript_1F47CB, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_BUG_CATCHER, 0, 0, 17, 128, 3, 61, 0, 0, 1, 1, Route119_EventScript_1F47F9, 0, 0, 0
+ object_event 12, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 28, 14, 3, 57, 0, 0, 1, 1, Route119_EventScript_1F4902, 0, 0, 0
+ object_event 13, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 19, 49, 3, 58, 0, 0, 1, 3, Route119_EventScript_1F4919, 0, 0, 0
+ object_event 14, MAP_OBJ_GFX_MAN_6, 0, 0, 10, 50, 4, 10, 0, 0, 1, 3, Route119_EventScript_1F48D4, 0, 0, 0
+ object_event 15, MAP_OBJ_GFX_MAN_6, 0, 0, 8, 63, 3, 8, 0, 0, 1, 5, Route119_EventScript_1F48EB, 0, 0, 0
+ object_event 16, MAP_OBJ_GFX_HIPSTER, 0, 0, 25, 32, 3, 7, 0, 0, 0, 0, 0x0, 851, 0, 0
+ object_event 17, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 12, 121, 3, 1, 0, 0, 0, 0, Route119_EventScript_290EE0, 1024, 0, 0
+ object_event 18, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 4, 96, 3, 1, 0, 0, 0, 0, Route119_EventScript_290EED, 1025, 0, 0
+ object_event 19, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 29, 53, 3, 1, 0, 0, 0, 0, Route119_EventScript_290EFA, 1026, 0, 0
+ object_event 20, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 25, 76, 3, 1, 0, 0, 0, 0, Route119_EventScript_290F07, 1027, 0, 0
+ object_event 21, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 8, 18, 3, 1, 0, 0, 0, 0, Route119_EventScript_290F14, 1028, 0, 0
+ object_event 22, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 33, 117, 3, 1, 0, 0, 0, 0, Route119_EventScript_290F21, 1029, 0, 0
+ object_event 23, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 13, 33, 4, 10, 0, 0, 0, 0, Route119_EventScript_1F49A3, 890, 0, 0
+ object_event 24, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 13, 34, 4, 10, 0, 0, 0, 0, Route119_EventScript_1F49BA, 890, 0, 0
+ object_event 25, MAP_OBJ_GFX_GIDDY, 0, 0, 17, 33, 4, 7, 0, 0, 0, 0, 0x0, 923, 0, 0
+ object_event 26, MAP_OBJ_GFX_BOY_3, 0, 0, 31, 109, 3, 8, 17, 0, 0, 0, Route119_EventScript_1F49D1, 0, 0, 0
+ object_event 27, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 8, 23, 3, 12, 0, 0, 0, 83, BerryTreeScript, 0, 0, 0
+ object_event 28, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 9, 23, 3, 12, 0, 0, 0, 84, BerryTreeScript, 0, 0, 0
+ object_event 29, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 29, 90, 3, 12, 0, 0, 0, 85, BerryTreeScript, 0, 0, 0
+ object_event 30, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 30, 90, 3, 12, 0, 0, 0, 86, BerryTreeScript, 0, 0, 0
+ object_event 31, MAP_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 0, 19, 133, 3, 5, 18, 0, 0, 0, Route119_EventScript_1F476B, 0, 0, 0
+ object_event 32, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 56, 3, 1, 17, 0, 0, 0, Route119_EventScript_290F2E, 1106, 0, 0
+ object_event 33, MAP_OBJ_GFX_BOY_2, 0, 0, 35, 93, 4, 2, 17, 0, 0, 0, Route119_EventScript_1F49DA, 0, 0, 0
+ object_event 34, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 29, 6, 3, 57, 17, 0, 1, 3, Route119_EventScript_1F4930, 0, 0, 0
+ object_event 35, MAP_OBJ_GFX_KECLEON_1, 0, 0, 31, 6, 3, 76, 17, 0, 0, 0, Route119_EventScript_27231C, 989, 0, 0
+ object_event 36, MAP_OBJ_GFX_KECLEON_1, 0, 0, 25, 15, 3, 76, 17, 0, 0, 0, Route119_EventScript_272329, 990, 0, 0
+ object_event 37, MAP_OBJ_GFX_FISHERMAN, 0, 0, 13, 104, 3, 10, 17, 0, 1, 0, Route119_EventScript_1F4947, 0, 0, 0
+ object_event 38, MAP_OBJ_GFX_WOMAN_3, 0, 0, 8, 68, 3, 7, 17, 0, 1, 5, Route119_EventScript_1F498C, 0, 0, 0
+ object_event 39, MAP_OBJ_GFX_MAN_6, 0, 0, 16, 52, 3, 10, 17, 0, 1, 3, Route119_EventScript_1F4975, 0, 0, 0
+ object_event 40, MAP_OBJ_GFX_MAN_6, 0, 0, 32, 15, 3, 9, 17, 0, 1, 4, Route119_EventScript_1F495E, 0, 0, 0
+ object_event 41, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 19, 5, 4, 1, 17, 0, 0, 0, Route119_EventScript_291399, 1134, 0, 0
+ object_event 42, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 24, 42, 3, 1, 17, 0, 0, 0, Route119_EventScript_290F3B, 1147, 0, 0
+ object_event 43, MAP_OBJ_GFX_SCOTT, 0, 0, 28, 25, 3, 8, 0, 0, 0, 0, 0x0, 786, 0, 0
+
+Route119_MapWarps: @ 852B174
+ warp_def 6, 32, 0, 0, ROUTE_119_WEATHER_INSTITUTE_1F
+ warp_def 33, 109, 0, 0, ROUTE_119_HOUSE
+
+Route119_MapCoordEvents: @ 852B184
+ coord_event 25, 31, 0, 0, VAR_0x4072, 0, 0, Route119_EventScript_1F4472
+ coord_event 26, 31, 0, 0, VAR_0x4072, 0, 0, Route119_EventScript_1F447D
+ coord_event 29, 13, 3, 0, 20, 0, 0, 0x0
+ coord_event 30, 13, 3, 0, 20, 0, 0, 0x0
+ coord_event 31, 13, 3, 0, 20, 0, 0, 0x0
+ coord_event 32, 13, 3, 0, 20, 0, 0, 0x0
+ coord_event 15, 133, 3, 0, 20, 0, 0, 0x0
+ coord_event 16, 132, 3, 0, 20, 0, 0, 0x0
+ coord_event 17, 131, 3, 0, 20, 0, 0, 0x0
+ coord_event 18, 130, 3, 0, 20, 0, 0, 0x0
+ coord_event 19, 131, 3, 0, 20, 0, 0, 0x0
+ coord_event 20, 132, 3, 0, 20, 0, 0, 0x0
+ coord_event 21, 133, 3, 0, 20, 0, 0, 0x0
+ coord_event 36, 6, 3, 0, 2, 0, 0, 0x0
+ coord_event 36, 7, 3, 0, 2, 0, 0, 0x0
+ coord_event 35, 8, 3, 0, 2, 0, 0, 0x0
+ coord_event 35, 9, 3, 0, 2, 0, 0, 0x0
+ coord_event 16, 137, 3, 0, 2, 0, 0, 0x0
+ coord_event 17, 137, 3, 0, 2, 0, 0, 0x0
+ coord_event 18, 137, 3, 0, 2, 0, 0, 0x0
+ coord_event 19, 137, 3, 0, 2, 0, 0, 0x0
+ coord_event 20, 137, 3, 0, 2, 0, 0, 0x0
+ coord_event 34, 13, 3, 0, 20, 0, 0, 0x0
+
+Route119_MapBGEvents: @ 852B2F4
+ bg_event 9, 33, 0, 0, 0, Route119_EventScript_1F477D
+ bg_event 27, 19, 0, 0, 0, Route119_EventScript_1F4774
+ bg_event 5, 2, 0, 8, 0, ITEM_DRAGON_SCALE, 0, 0
+ bg_event 4, 89, 0, 8, 0, ITEM_LIGHT_BALL, 0, 0
+ bg_event 5, 15, 0, 8, 0, ITEM_POISON_BARB, 0, 0
+ bg_event 7, 101, 3, 8, 0, ITEM_NEVER_MELT_ICE, 0, 0
+ bg_event 34, 24, 3, 8, 0, ITEM_LAX_INCENSE, 0, 0
+ bg_event 31, 73, 3, 8, 0, 231, 0, 0
+ bg_event 16, 81, 0, 8, 0, ITEM_TINY_MUSHROOM, 0, 0
+ bg_event 16, 28, 0, 8, 0, 113, 0, 0
+ bg_event 17, 82, 3, 7, 0, ITEM_CALCIUM, 5, 0
+ bg_event 38, 63, 3, 7, 0, ITEM_ULTRA_BALL, 6, 0
+ bg_event 26, 81, 0, 8, 0, ITEM_FULL_HEAL, 0, 0
+ bg_event 19, 76, 0, 8, 0, ITEM_LANSAT_BERRY, 0, 0
+ bg_event 18, 76, 0, 8, 0, ITEM_DEEP_SEA_SCALE, 0, 0
+ bg_event 4, 15, 0, 8, 0, ITEM_METAL_POWDER, 0, 0
+ bg_event 6, 2, 0, 8, 0, 233, 0, 0
+ bg_event 26, 120, 3, 7, 0, ITEM_FULL_HEAL, 68, 0
+ bg_event 20, 29, 3, 7, 0, ITEM_MAX_ETHER, 87, 0
+ bg_event 28, 9, 0, 0, 0, Route119_EventScript_1F49E3
+
+Route119_MapEvents:: @ 852B3E4
+ map_events Route119_MapObjects, Route119_MapWarps, Route119_MapCoordEvents, Route119_MapBGEvents
+
diff --git a/data/maps/events/Route119_House.inc b/data/maps/events/Route119_House.inc
new file mode 100644
index 000000000..7033c505a
--- /dev/null
+++ b/data/maps/events/Route119_House.inc
@@ -0,0 +1,16 @@
+Route119_House_MapObjects: @ 853ECD0
+ object_event 1, MAP_OBJ_GFX_WOMAN_5, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, Route119_House_EventScript_270966, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WINGULL, 0, 0, 1, 6, 3, 2, 34, 0, 0, 0, Route119_House_EventScript_27096F, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WINGULL, 0, 0, 0, 4, 3, 2, 19, 0, 0, 0, Route119_House_EventScript_27096F, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_WINGULL, 0, 0, 2, 2, 3, 2, 17, 0, 0, 0, Route119_House_EventScript_27096F, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_WINGULL, 0, 0, 8, 5, 3, 2, 35, 0, 0, 0, Route119_House_EventScript_27096F, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_WINGULL, 0, 0, 6, 6, 3, 2, 34, 0, 0, 0, Route119_House_EventScript_27096F, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_WINGULL, 0, 0, 5, 3, 3, 2, 49, 0, 0, 0, Route119_House_EventScript_27096F, 0, 0, 0
+
+Route119_House_MapWarps: @ 853ED78
+ warp_def 3, 8, 0, 1, ROUTE_119
+ warp_def 4, 8, 0, 1, ROUTE_119
+
+Route119_House_MapEvents:: @ 853ED88
+ map_events Route119_House_MapObjects, Route119_House_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/Route119_WeatherInstitute_1F.inc b/data/maps/events/Route119_WeatherInstitute_1F.inc
new file mode 100644
index 000000000..01a53d75a
--- /dev/null
+++ b/data/maps/events/Route119_WeatherInstitute_1F.inc
@@ -0,0 +1,21 @@
+Route119_WeatherInstitute_1F_MapObjects: @ 853EB20
+ object_event 1, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 15, 3, 3, 9, 0, 0, 1, 3, Route119_WeatherInstitute_1F_EventScript_26FB29, 890, 0, 0
+ object_event 2, MAP_OBJ_GFX_AQUA_MEMBER_F, 0, 0, 10, 5, 3, 8, 0, 0, 1, 2, Route119_WeatherInstitute_1F_EventScript_26FB40, 890, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_5, 0, 0, 5, 4, 3, 8, 0, 0, 0, 0, Route119_WeatherInstitute_1F_EventScript_26FB0F, 892, 0, 0
+ object_event 4, MAP_OBJ_GFX_MAN_5, 0, 0, 2, 11, 3, 1, 1, 0, 0, 0, Route119_WeatherInstitute_1F_EventScript_26FAC8, 892, 0, 0
+ object_event 5, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 14, 11, 3, 2, 17, 0, 0, 0, Route119_WeatherInstitute_1F_EventScript_26FAA4, 0, 0, 0
+
+Route119_WeatherInstitute_1F_MapWarps: @ 853EB98
+ warp_def 9, 12, 0, 0, ROUTE_119
+ warp_def 10, 12, 0, 0, ROUTE_119
+ warp_def 17, 1, 0, 0, ROUTE_119_WEATHER_INSTITUTE_2F
+
+Route119_WeatherInstitute_1F_MapBGEvents: @ 853EBB0
+ bg_event 1, 2, 0, 0, 0, Route119_WeatherInstitute_1F_EventScript_26FB18
+ bg_event 1, 3, 0, 0, 0, Route119_WeatherInstitute_1F_EventScript_26FB18
+ bg_event 0, 2, 0, 0, 0, Route119_WeatherInstitute_1F_EventScript_26FB18
+ bg_event 0, 3, 0, 0, 0, Route119_WeatherInstitute_1F_EventScript_26FB18
+
+Route119_WeatherInstitute_1F_MapEvents:: @ 853EBE0
+ map_events Route119_WeatherInstitute_1F_MapObjects, Route119_WeatherInstitute_1F_MapWarps, 0x0, Route119_WeatherInstitute_1F_MapBGEvents
+
diff --git a/data/maps/events/Route119_WeatherInstitute_2F.inc b/data/maps/events/Route119_WeatherInstitute_2F.inc
new file mode 100644
index 000000000..3a68ca865
--- /dev/null
+++ b/data/maps/events/Route119_WeatherInstitute_2F.inc
@@ -0,0 +1,16 @@
+Route119_WeatherInstitute_2F_MapObjects: @ 853EBF4
+ object_event 1, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 15, 6, 3, 10, 0, 0, 1, 4, Route119_WeatherInstitute_2F_EventScript_26FF7F, 890, 0, 0
+ object_event 2, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 10, 8, 3, 13, 0, 0, 1, 2, Route119_WeatherInstitute_2F_EventScript_26FF96, 890, 0, 0
+ object_event 3, MAP_OBJ_GFX_AQUA_MEMBER_F, 0, 0, 4, 6, 3, 10, 0, 0, 1, 0, Route119_WeatherInstitute_2F_EventScript_26FFAD, 890, 0, 0
+ object_event 4, MAP_OBJ_GFX_MAN_5, 0, 0, 0, 6, 3, 10, 0, 0, 0, 0, 0x0, 893, 0, 0
+ object_event 5, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 18, 6, 3, 1, 18, 0, 0, 0, Route119_WeatherInstitute_2F_EventScript_27018B, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_MAN_5, 0, 0, 1, 7, 3, 10, 0, 0, 0, 0, 0x0, 893, 0, 0
+ object_event 7, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 16, 6, 3, 9, 17, 0, 0, 0, 0x0, 992, 0, 0
+ object_event 8, MAP_OBJ_GFX_AQUA_MEMBER_F, 0, 0, 19, 6, 3, 9, 17, 0, 1, 3, Route119_WeatherInstitute_2F_EventScript_26FF68, 890, 0, 0
+
+Route119_WeatherInstitute_2F_MapWarps: @ 853ECB4
+ warp_def 17, 1, 0, 2, ROUTE_119_WEATHER_INSTITUTE_1F
+
+Route119_WeatherInstitute_2F_MapEvents:: @ 853ECBC
+ map_events Route119_WeatherInstitute_2F_MapObjects, Route119_WeatherInstitute_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/Route120.inc b/data/maps/events/Route120.inc
new file mode 100644
index 000000000..6206e713f
--- /dev/null
+++ b/data/maps/events/Route120.inc
@@ -0,0 +1,90 @@
+Route120_MapObjects: @ 852B3F8
+ object_event 1, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 4, 79, 3, 12, 0, 0, 0, 46, BerryTreeScript, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 5, 79, 3, 12, 0, 0, 0, 45, BerryTreeScript, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 6, 79, 3, 12, 0, 0, 0, 44, BerryTreeScript, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 7, 79, 3, 12, 0, 0, 0, 43, BerryTreeScript, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 34, 24, 3, 12, 0, 0, 0, 37, BerryTreeScript, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 35, 24, 3, 12, 0, 0, 0, 38, BerryTreeScript, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 36, 24, 3, 12, 0, 0, 0, 39, BerryTreeScript, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 9, 92, 5, 12, 0, 0, 0, 40, BerryTreeScript, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 10, 92, 5, 12, 0, 0, 0, 41, BerryTreeScript, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 11, 92, 5, 12, 0, 0, 0, 42, BerryTreeScript, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_MAN_6, 0, 0, 5, 22, 3, 14, 0, 0, 1, 3, Route120_EventScript_1F57D7, 0, 0, 0
+ object_event 12, MAP_OBJ_GFX_MAN_6, 0, 0, 32, 14, 3, 10, 0, 0, 1, 3, Route120_EventScript_1F57EE, 0, 0, 0
+ object_event 13, MAP_OBJ_GFX_CAMPER, 0, 0, 27, 51, 3, 9, 0, 0, 1, 7, Route120_EventScript_1F5850, 0, 0, 0
+ object_event 14, MAP_OBJ_GFX_PICNICKER, 0, 0, 36, 45, 3, 9, 0, 0, 1, 2, Route120_EventScript_1F5867, 0, 0, 0
+ object_event 15, MAP_OBJ_GFX_MANIAC, 0, 0, 19, 80, 5, 15, 0, 0, 1, 3, Route120_EventScript_1F587E, 0, 0, 0
+ object_event 16, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 20, 55, 3, 1, 0, 0, 0, 0, Route120_EventScript_290F48, 1030, 0, 0
+ object_event 17, MAP_OBJ_GFX_CAMERAMAN, 0, 0, 37, 5, 3, 8, 0, 0, 0, 0, Route120_EventScript_28CE76, 798, 0, 0
+ object_event 18, MAP_OBJ_GFX_REPORTER_F, 0, 0, 36, 5, 3, 8, 0, 0, 0, 0, Route120_EventScript_28CE56, 798, 0, 0
+ object_event 19, MAP_OBJ_GFX_REPORTER_F, 0, 0, 36, 5, 3, 8, 0, 0, 0, 0, Route120_EventScript_28CF16, 902, 0, 0
+ object_event 20, MAP_OBJ_GFX_CAMERAMAN, 0, 0, 37, 5, 3, 8, 0, 0, 0, 0, Route120_EventScript_28CF36, 902, 0, 0
+ object_event 21, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 35, 32, 3, 1, 0, 0, 0, 0, Route120_EventScript_2906BB, 17, 0, 0
+ object_event 22, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 89, 3, 1, 0, 0, 0, 0, Route120_EventScript_290F55, 1031, 0, 0
+ object_event 23, MAP_OBJ_GFX_BEAUTY, 0, 0, 14, 92, 5, 5, 1, 0, 0, 0, Route120_EventScript_1F5527, 0, 0, 0
+ object_event 24, MAP_OBJ_GFX_WOMAN_7, 0, 0, 31, 37, 3, 15, 0, 0, 1, 4, Route120_EventScript_1F58E0, 0, 0, 0
+ object_event 25, MAP_OBJ_GFX_HIKER, 0, 0, 9, 60, 3, 21, 0, 0, 1, 4, Route120_EventScript_1F58F7, 0, 0, 0
+ object_event 26, MAP_OBJ_GFX_WOMAN_7, 0, 0, 16, 6, 3, 23, 0, 0, 1, 4, Route120_EventScript_1F590E, 0, 0, 0
+ object_event 27, MAP_OBJ_GFX_WOMAN_7, 0, 0, 18, 34, 3, 9, 0, 0, 1, 3, Route120_EventScript_1F5925, 0, 0, 0
+ object_event 28, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 22, 13, 3, 1, 17, 0, 0, 0, Route120_EventScript_290F6F, 1108, 0, 0
+ object_event 29, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 23, 82, 5, 1, 17, 0, 0, 0, Route120_EventScript_290F62, 1107, 0, 0
+ object_event 30, MAP_OBJ_GFX_KECLEON_1, 0, 0, 12, 16, 4, 76, 17, 0, 0, 0, Route120_EventScript_1F57BC, 970, 0, 0
+ object_event 31, MAP_OBJ_GFX_STEVEN, 0, 0, 13, 15, 4, 8, 17, 0, 0, 0, Route120_EventScript_1F5641, 972, 0, 0
+ object_event 32, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 20, 1, 3, 1, 17, 0, 0, 0, Route120_EventScript_2906BB, 20, 0, 0
+ object_event 33, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 15, 1, 3, 1, 17, 0, 0, 0, Route120_EventScript_2906BB, 18, 0, 0
+ object_event 34, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 10, 72, 3, 58, 17, 0, 1, 3, Route120_EventScript_1F593C, 0, 0, 0
+ object_event 35, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 19, 28, 3, 57, 17, 0, 1, 3, Route120_EventScript_1F5953, 0, 0, 0
+ object_event 36, MAP_OBJ_GFX_KECLEON_2, 0, 0, 12, 16, 3, 8, 17, 0, 0, 0, 0x0, 981, 0, 0
+ object_event 37, MAP_OBJ_GFX_KECLEON_1, 0, 0, 20, 11, 3, 76, 17, 0, 0, 0, Route120_EventScript_2722DB, 982, 0, 0
+ object_event 38, MAP_OBJ_GFX_KECLEON_1, 0, 0, 27, 2, 3, 76, 17, 0, 0, 0, Route120_EventScript_2722E8, 985, 0, 0
+ object_event 39, MAP_OBJ_GFX_KECLEON_1, 0, 0, 4, 77, 3, 76, 17, 0, 0, 0, Route120_EventScript_2722F5, 986, 0, 0
+ object_event 40, MAP_OBJ_GFX_KECLEON_1, 0, 0, 7, 51, 3, 76, 17, 0, 0, 0, Route120_EventScript_27230F, 988, 0, 0
+ object_event 41, MAP_OBJ_GFX_KECLEON_1, 0, 0, 19, 48, 3, 76, 17, 0, 0, 0, Route120_EventScript_272302, 987, 0, 0
+ object_event 42, MAP_OBJ_GFX_GIRL_3, 0, 0, 19, 32, 3, 7, 17, 0, 1, 3, Route120_EventScript_1F5981, 0, 0, 0
+ object_event 43, MAP_OBJ_GFX_MAN_4, 0, 0, 14, 34, 3, 10, 17, 0, 1, 3, Route120_EventScript_1F596A, 0, 0, 0
+ object_event 44, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 24, 33, 3, 1, 17, 0, 0, 0, Route120_EventScript_290F7C, 1148, 0, 0
+
+Route120_MapWarps: @ 852B818
+ warp_def 7, 55, 0, 0, ANCIENT_TOMB
+ warp_def 19, 23, 1, 0, SCORCHED_SLAB
+
+Route120_MapCoordEvents: @ 852B828
+ coord_event 7, 15, 0, 0, 3, 0, 0, 0x0
+ coord_event 7, 16, 0, 0, 3, 0, 0, 0x0
+ coord_event 22, 61, 3, 0, 3, 0, 0, 0x0
+ coord_event 12, 64, 3, 0, 3, 0, 0, 0x0
+ coord_event 35, 63, 3, 0, 1, 0, 0, 0x0
+ coord_event 36, 63, 3, 0, 1, 0, 0, 0x0
+ coord_event 37, 63, 3, 0, 1, 0, 0, 0x0
+ coord_event 38, 63, 3, 0, 1, 0, 0, 0x0
+ coord_event 32, 88, 5, 0, 1, 0, 0, 0x0
+ coord_event 28, 15, 0, 0, 2, 0, 0, 0x0
+ coord_event 28, 16, 0, 0, 2, 0, 0, 0x0
+ coord_event 28, 17, 3, 0, 2, 0, 0, 0x0
+ coord_event 32, 89, 5, 0, 1, 0, 0, 0x0
+ coord_event 32, 90, 5, 0, 1, 0, 0, 0x0
+ coord_event 32, 91, 5, 0, 1, 0, 0, 0x0
+ coord_event 10, 75, 3, 0, 1, 0, 0, 0x0
+ coord_event 11, 75, 3, 0, 1, 0, 0, 0x0
+ coord_event 12, 75, 3, 0, 1, 0, 0, 0x0
+ coord_event 13, 75, 3, 0, 1, 0, 0, 0x0
+
+Route120_MapBGEvents: @ 852B958
+ bg_event 27, 3, 3, 0, 0, Route120_EventScript_1F57C5
+ bg_event 38, 88, 3, 0, 0, Route120_EventScript_1F57CE
+ bg_event 28, 62, 0, 8, 0, 101, 0, 0
+ bg_event 30, 62, 0, 8, 0, ITEM_HEART_SCALE, 0, 0
+ bg_event 26, 10, 0, 8, 0, ITEM_LUCKY_PUNCH, 0, 0
+ bg_event 29, 85, 5, 8, 0, 232, 0, 0
+ bg_event 18, 12, 0, 8, 0, ITEM_SUN_STONE, 0, 0
+ bg_event 38, 54, 0, 8, 0, ITEM_SOFT_SAND, 0, 0
+ bg_event 31, 23, 0, 8, 0, ITEM_SPELL_TAG, 0, 0
+ bg_event 9, 1, 3, 7, 0, ITEM_RARE_CANDY, 71, 0
+ bg_event 31, 11, 3, 7, 0, ITEM_REVIVE, 84, 0
+ bg_event 0, 86, 3, 7, 0, ITEM_RARE_CANDY, 69, 0
+ bg_event 24, 42, 3, 7, 0, ITEM_ZINC, 70, 0
+ bg_event 5, 76, 0, 8, 0, ITEM_HARD_STONE, 0, 0
+
+Route120_MapEvents:: @ 852BA00
+ map_events Route120_MapObjects, Route120_MapWarps, Route120_MapCoordEvents, Route120_MapBGEvents
+
diff --git a/data/maps/events/Route121.inc b/data/maps/events/Route121.inc
new file mode 100644
index 000000000..b58fe4858
--- /dev/null
+++ b/data/maps/events/Route121.inc
@@ -0,0 +1,55 @@
+Route121_MapObjects: @ 852BA14
+ object_event 1, MAP_OBJ_GFX_WOMAN_4, 0, 0, 29, 14, 3, 10, 17, 0, 0, 0, Route121_EventScript_1F5DFD, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 14, 2, 3, 12, 0, 0, 0, 47, BerryTreeScript, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 15, 2, 3, 12, 0, 0, 0, 48, BerryTreeScript, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 16, 2, 3, 12, 0, 0, 0, 49, BerryTreeScript, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 17, 2, 3, 12, 0, 0, 0, 50, BerryTreeScript, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 64, 14, 3, 12, 0, 0, 0, 51, BerryTreeScript, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 65, 14, 3, 12, 0, 0, 0, 52, BerryTreeScript, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 66, 14, 3, 12, 0, 0, 0, 53, BerryTreeScript, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 67, 14, 3, 12, 0, 0, 0, 54, BerryTreeScript, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_LASS, 0, 0, 39, 9, 3, 8, 0, 0, 1, 1, Route121_EventScript_1F5F04, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_LASS, 0, 0, 40, 9, 3, 8, 0, 0, 1, 1, Route121_EventScript_1F5F1F, 0, 0, 0
+ object_event 12, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 30, 8, 3, 7, 0, 0, 0, 0, 0x0, 914, 0, 0
+ object_event 13, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 30, 7, 3, 10, 0, 0, 0, 0, 0x0, 914, 0, 0
+ object_event 14, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 31, 7, 3, 9, 0, 0, 0, 0, 0x0, 914, 0, 0
+ object_event 15, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 32, 5, 3, 1, 0, 0, 0, 0, Route121_EventScript_2906BB, 17, 0, 0
+ object_event 16, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 65, 4, 3, 1, 0, 0, 0, 0, Route121_EventScript_2906BB, 18, 0, 0
+ object_event 17, MAP_OBJ_GFX_WOMAN_2, 0, 0, 63, 5, 3, 9, 0, 0, 1, 4, Route121_EventScript_1F5E74, 0, 0, 0
+ object_event 18, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 55, 8, 3, 9, 0, 0, 1, 3, Route121_EventScript_1F5E8B, 0, 0, 0
+ object_event 19, MAP_OBJ_GFX_HEX_MANIAC, 0, 0, 11, 11, 3, 7, 0, 0, 1, 4, Route121_EventScript_1F5EED, 0, 0, 0
+ object_event 20, MAP_OBJ_GFX_BEAUTY, 0, 0, 22, 5, 3, 17, 0, 0, 1, 4, Route121_EventScript_1F5F3A, 0, 0, 0
+ object_event 21, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 55, 10, 3, 1, 17, 0, 0, 0, Route121_EventScript_290F89, 1103, 0, 0
+ object_event 22, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 26, 12, 3, 1, 17, 0, 0, 0, Route121_EventScript_2906BB, 19, 0, 0
+ object_event 23, MAP_OBJ_GFX_MANIAC, 0, 0, 11, 6, 3, 26, 65, 0, 1, 3, Route121_EventScript_1F5F9C, 0, 0, 0
+ object_event 24, MAP_OBJ_GFX_MAN_5, 0, 0, 59, 8, 3, 8, 17, 0, 1, 4, Route121_EventScript_1F5FB3, 0, 0, 0
+ object_event 25, MAP_OBJ_GFX_WOMAN_3, 0, 0, 59, 13, 3, 7, 17, 0, 1, 4, Route121_EventScript_1F5FCA, 0, 0, 0
+ object_event 26, MAP_OBJ_GFX_MAN_4, 0, 0, 65, 9, 3, 18, 17, 0, 1, 6, Route121_EventScript_1F5FE1, 0, 0, 0
+ object_event 27, MAP_OBJ_GFX_WOMAN_7, 0, 0, 72, 9, 3, 17, 17, 0, 1, 6, Route121_EventScript_1F5FF8, 0, 0, 0
+ object_event 28, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 60, 10, 3, 1, 17, 0, 0, 0, Route121_EventScript_290F96, 1149, 0, 0
+ object_event 29, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 38, 13, 3, 1, 17, 0, 0, 0, Route121_EventScript_290FA3, 1150, 0, 0
+
+Route121_MapWarps: @ 852BCCC
+ warp_def 37, 5, 0, 2, ROUTE_121_SAFARI_ZONE_ENTRANCE
+
+Route121_MapCoordEvents: @ 852BCD4
+ coord_event 25, 5, 3, 0, VAR_0x4074, 0, 0, Route121_EventScript_1F5E18
+ coord_event 25, 6, 3, 0, VAR_0x4074, 0, 0, Route121_EventScript_1F5E18
+ coord_event 25, 7, 3, 0, VAR_0x4074, 0, 0, Route121_EventScript_1F5E18
+ coord_event 25, 8, 3, 0, VAR_0x4074, 0, 0, Route121_EventScript_1F5E18
+
+Route121_MapBGEvents: @ 852BD14
+ bg_event 32, 14, 0, 0, 0, Route121_EventScript_1F5E06
+ bg_event 40, 11, 0, 8, 0, ITEM_PREMIER_BALL, 0, 0
+ bg_event 18, 13, 0, 8, 0, ITEM_SUPER_POTION, 0, 0
+ bg_event 43, 7, 0, 8, 0, ITEM_NOMEL_BERRY, 0, 0
+ bg_event 42, 7, 0, 8, 0, ITEM_APICOT_BERRY, 0, 0
+ bg_event 39, 6, 0, 0, 0, Route121_EventScript_1F5E0F
+ bg_event 23, 10, 3, 7, 0, ITEM_HP_UP, 39, 0
+ bg_event 58, 3, 3, 7, 0, ITEM_NUGGET, 40, 0
+ bg_event 72, 5, 3, 7, 0, ITEM_FULL_HEAL, 73, 0
+ bg_event 68, 8, 3, 7, 0, ITEM_MAX_REVIVE, 100, 0
+
+Route121_MapEvents:: @ 852BD8C
+ map_events Route121_MapObjects, Route121_MapWarps, Route121_MapCoordEvents, Route121_MapBGEvents
+
diff --git a/data/maps/events/Route121_SafariZoneEntrance.inc b/data/maps/events/Route121_SafariZoneEntrance.inc
new file mode 100644
index 000000000..cad82a51a
--- /dev/null
+++ b/data/maps/events/Route121_SafariZoneEntrance.inc
@@ -0,0 +1,20 @@
+Route121_SafariZoneEntrance_MapObjects: @ 8533EDC
+ object_event 1, MAP_OBJ_GFX_PICNICKER, 0, 0, 17, 9, 3, 9, 0, 0, 0, 0, Route121_SafariZoneEntrance_EventScript_22BBE6, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_CAMPER, 0, 0, 10, 2, 3, 8, 0, 0, 0, 0, Route121_SafariZoneEntrance_EventScript_22BBEF, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_CAMPER, 0, 0, 8, 2, 3, 8, 0, 0, 0, 0, 0x0, 0, 0, 0
+
+Route121_SafariZoneEntrance_MapWarps: @ 8533F24
+ warp_def 2, 5, 0, 0, SAFARI_ZONE_SOUTH
+ warp_def 3, 5, 0, 0, SAFARI_ZONE_SOUTH
+ warp_def 14, 13, 0, 0, ROUTE_121
+ warp_def 15, 13, 0, 0, ROUTE_121
+
+Route121_SafariZoneEntrance_MapCoordEvents: @ 8533F44
+ coord_event 8, 4, 3, 0, VAR_0x4001, 0, 0, Route121_SafariZoneEntrance_EventScript_22BC18
+
+Route121_SafariZoneEntrance_MapBGEvents: @ 8533F54
+ bg_event 15, 1, 0, 0, 0, Route121_SafariZoneEntrance_EventScript_22BD21
+
+Route121_SafariZoneEntrance_MapEvents:: @ 8533F60
+ map_events Route121_SafariZoneEntrance_MapObjects, Route121_SafariZoneEntrance_MapWarps, Route121_SafariZoneEntrance_MapCoordEvents, Route121_SafariZoneEntrance_MapBGEvents
+
diff --git a/data/maps/events/Route122.inc b/data/maps/events/Route122.inc
new file mode 100644
index 000000000..10330d8e3
--- /dev/null
+++ b/data/maps/events/Route122.inc
@@ -0,0 +1,6 @@
+Route122_MapWarps: @ 852BDA0
+ warp_def 22, 29, 0, 0, MT_PYRE_1F
+
+Route122_MapEvents:: @ 852BDA8
+ map_events 0x0, Route122_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/Route123.inc b/data/maps/events/Route123.inc
new file mode 100644
index 000000000..cb60786c0
--- /dev/null
+++ b/data/maps/events/Route123.inc
@@ -0,0 +1,88 @@
+Route123_MapObjects: @ 852BDBC
+ object_event 1, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 11, 3, 3, 12, 0, 0, 0, 58, BerryTreeScript, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 12, 3, 3, 12, 0, 0, 0, 59, BerryTreeScript, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 14, 3, 3, 12, 0, 0, 0, 60, BerryTreeScript, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 15, 3, 3, 12, 0, 0, 0, 61, BerryTreeScript, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 81, 1, 3, 12, 0, 0, 0, 62, BerryTreeScript, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 82, 1, 3, 12, 0, 0, 0, 63, BerryTreeScript, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 83, 1, 3, 12, 0, 0, 0, 64, BerryTreeScript, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_WOMAN_7, 0, 0, 70, 12, 3, 24, 0, 0, 1, 1, Route123_EventScript_1F61C5, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_MAN_4, 0, 0, 58, 7, 3, 17, 0, 0, 1, 2, Route123_EventScript_1F61DC, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 14, 5, 3, 12, 0, 0, 0, 65, BerryTreeScript, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 15, 5, 3, 12, 0, 0, 0, 72, BerryTreeScript, 0, 0, 0
+ object_event 12, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 17, 5, 3, 12, 0, 0, 0, 73, BerryTreeScript, 0, 0, 0
+ object_event 13, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 18, 5, 3, 12, 0, 0, 0, 74, BerryTreeScript, 0, 0, 0
+ object_event 14, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 17, 3, 3, 12, 0, 0, 0, 79, BerryTreeScript, 0, 0, 0
+ object_event 15, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 18, 3, 3, 12, 0, 0, 0, 14, BerryTreeScript, 0, 0, 0
+ object_event 16, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 11, 5, 3, 12, 0, 0, 0, 15, BerryTreeScript, 0, 0, 0
+ object_event 17, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 12, 5, 3, 12, 0, 0, 0, 30, BerryTreeScript, 0, 0, 0
+ object_event 18, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 101, 13, 3, 1, 0, 0, 0, 0, Route123_EventScript_2906BB, 17, 0, 0
+ object_event 19, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 129, 14, 3, 1, 0, 0, 0, 0, Route123_EventScript_2906BB, 18, 0, 0
+ object_event 20, MAP_OBJ_GFX_CUTTABLE_TREE, 0, 0, 92, 9, 3, 1, 0, 0, 0, 0, Route123_EventScript_2906BB, 19, 0, 0
+ object_event 21, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 31, 8, 3, 1, 0, 0, 0, 0, Route123_EventScript_290FB0, 1032, 0, 0
+ object_event 22, MAP_OBJ_GFX_GIRL_3, 0, 0, 108, 13, 3, 15, 0, 0, 0, 0, Route123_EventScript_1F6151, 0, 0, 0
+ object_event 23, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 109, 13, 3, 12, 0, 0, 0, 87, BerryTreeScript, 0, 0, 0
+ object_event 24, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 110, 13, 3, 12, 0, 0, 0, 88, BerryTreeScript, 0, 0, 0
+ object_event 25, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 111, 13, 3, 12, 0, 0, 0, 89, BerryTreeScript, 0, 0, 0
+ object_event 26, MAP_OBJ_GFX_WOMAN_3, 0, 0, 18, 9, 3, 23, 0, 0, 1, 2, Route123_EventScript_1F61F3, 0, 0, 0
+ object_event 27, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 38, 13, 3, 8, 0, 0, 1, 1, Route123_EventScript_1F62E9, 0, 0, 0
+ object_event 28, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 37, 13, 3, 8, 0, 0, 1, 1, Route123_EventScript_1F62CE, 0, 0, 0
+ object_event 29, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 138, 12, 3, 9, 0, 0, 1, 7, Route123_EventScript_1F620A, 0, 0, 0
+ object_event 30, MAP_OBJ_GFX_LASS, 0, 0, 49, 16, 3, 8, 0, 0, 1, 1, Route123_EventScript_1F626C, 0, 0, 0
+ object_event 31, MAP_OBJ_GFX_HEX_MANIAC, 0, 0, 87, 12, 3, 8, 0, 0, 1, 4, Route123_EventScript_1F6304, 0, 0, 0
+ object_event 32, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 27, 18, 3, 1, 17, 0, 0, 0, Route123_EventScript_290FBD, 1104, 0, 0
+ object_event 33, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 75, 9, 3, 1, 17, 0, 0, 0, Route123_EventScript_290FCA, 1109, 0, 0
+ object_event 34, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 138, 14, 3, 57, 17, 0, 1, 1, Route123_EventScript_1F6377, 0, 0, 0
+ object_event 35, MAP_OBJ_GFX_WOMAN_3, 0, 0, 138, 16, 3, 7, 17, 0, 1, 1, Route123_EventScript_1F6360, 0, 0, 0
+ object_event 36, MAP_OBJ_GFX_MANIAC, 0, 0, 87, 17, 3, 7, 17, 0, 1, 4, Route123_EventScript_1F6349, 0, 0, 0
+ object_event 37, MAP_OBJ_GFX_MAN_6, 0, 0, 66, 16, 3, 8, 17, 0, 1, 2, Route123_EventScript_1F63BC, 0, 0, 0
+ object_event 38, MAP_OBJ_GFX_MAN_6, 0, 0, 66, 19, 3, 7, 17, 0, 1, 2, Route123_EventScript_1F6332, 0, 0, 0
+ object_event 39, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 49, 19, 3, 7, 17, 0, 1, 2, Route123_EventScript_1F631B, 0, 0, 0
+ object_event 40, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 43, 15, 3, 1, 17, 0, 0, 0, Route123_EventScript_290FD7, 1152, 0, 0
+ object_event 41, MAP_OBJ_GFX_WOMAN_7, 0, 0, 14, 16, 3, 7, 17, 0, 1, 3, Route123_EventScript_1F638E, 0, 0, 0
+ object_event 42, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 14, 12, 3, 26, 49, 0, 1, 3, Route123_EventScript_1F63A5, 0, 0, 0
+ object_event 43, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 57, 16, 3, 1, 17, 0, 0, 0, Route123_EventScript_290FE4, 1153, 0, 0
+
+Route123_MapWarps: @ 852C1C4
+ warp_def 22, 6, 0, 0, ROUTE_123_BERRY_MASTERS_HOUSE
+
+Route123_MapCoordEvents: @ 852C1CC
+ coord_event 90, 16, 3, 0, 21, 0, 0, 0x0
+ coord_event 92, 9, 3, 0, 21, 0, 0, 0x0
+ coord_event 93, 12, 3, 0, 21, 0, 0, 0x0
+ coord_event 92, 13, 3, 0, 21, 0, 0, 0x0
+ coord_event 91, 14, 3, 0, 21, 0, 0, 0x0
+ coord_event 19, 13, 3, 0, 21, 0, 0, 0x0
+ coord_event 19, 12, 3, 0, 21, 0, 0, 0x0
+ coord_event 34, 13, 3, 0, 21, 0, 0, 0x0
+ coord_event 19, 14, 3, 0, 21, 0, 0, 0x0
+ coord_event 19, 15, 3, 0, 21, 0, 0, 0x0
+ coord_event 19, 16, 3, 0, 21, 0, 0, 0x0
+ coord_event 108, 14, 3, 0, 2, 0, 0, 0x0
+ coord_event 109, 15, 3, 0, 2, 0, 0, 0x0
+ coord_event 110, 16, 3, 0, 2, 0, 0, 0x0
+ coord_event 111, 17, 3, 0, 2, 0, 0, 0x0
+ coord_event 112, 18, 3, 0, 2, 0, 0, 0x0
+ coord_event 9, 12, 3, 0, 2, 0, 0, 0x0
+ coord_event 9, 13, 3, 0, 2, 0, 0, 0x0
+ coord_event 9, 14, 3, 0, 2, 0, 0, 0x0
+ coord_event 9, 15, 3, 0, 2, 0, 0, 0x0
+ coord_event 9, 16, 3, 0, 2, 0, 0, 0x0
+ coord_event 94, 10, 3, 0, 21, 0, 0, 0x0
+
+Route123_MapBGEvents: @ 852C32C
+ bg_event 117, 10, 0, 0, 0, Route123_EventScript_1F61B3
+ bg_event 47, 3, 0, 8, 0, 82, 0, 0
+ bg_event 49, 3, 0, 8, 0, 92, 0, 0
+ bg_event 10, 12, 3, 0, 0, Route123_EventScript_1F61AA
+ bg_event 75, 1, 3, 7, 0, ITEM_SUPER_REPEL, 7, 0
+ bg_event 20, 7, 3, 0, 0, Route123_EventScript_1F61BC
+ bg_event 57, 5, 0, 8, 0, ITEM_SUPER_REPEL, 0, 0
+ bg_event 12, 1, 3, 7, 0, ITEM_REVIVE, 41, 0
+ bg_event 91, 15, 3, 7, 0, ITEM_HYPER_POTION, 74, 0
+ bg_event 139, 15, 3, 7, 0, ITEM_PP_UP, 99, 0
+ bg_event 138, 18, 3, 7, 0, ITEM_RARE_CANDY, 110, 0
+
+Route123_MapEvents:: @ 852C3B0
+ map_events Route123_MapObjects, Route123_MapWarps, Route123_MapCoordEvents, Route123_MapBGEvents
+
diff --git a/data/maps/events/Route123_BerryMastersHouse.inc b/data/maps/events/Route123_BerryMastersHouse.inc
new file mode 100644
index 000000000..cbe15cac1
--- /dev/null
+++ b/data/maps/events/Route123_BerryMastersHouse.inc
@@ -0,0 +1,11 @@
+Route123_BerryMastersHouse_MapObjects: @ 853EACC
+ object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 4, 4, 3, 8, 0, 0, 0, 0, Route123_BerryMastersHouse_EventScript_26F845, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_OLD_WOMAN_2, 0, 0, 7, 4, 3, 8, 0, 0, 0, 0, Route123_BerryMastersHouse_EventScript_26F8C0, 0, 0, 0
+
+Route123_BerryMastersHouse_MapWarps: @ 853EAFC
+ warp_def 3, 7, 0, 0, ROUTE_123
+ warp_def 4, 7, 0, 0, ROUTE_123
+
+Route123_BerryMastersHouse_MapEvents:: @ 853EB0C
+ map_events Route123_BerryMastersHouse_MapObjects, Route123_BerryMastersHouse_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/Route124.inc b/data/maps/events/Route124.inc
new file mode 100644
index 000000000..6f40347e9
--- /dev/null
+++ b/data/maps/events/Route124.inc
@@ -0,0 +1,23 @@
+Route124_MapObjects: @ 852C3C4
+ object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 34, 25, 1, 1, 5, 0, 1, 3, Route124_EventScript_1F6585, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 61, 74, 1, 67, 53, 0, 1, 7, Route124_EventScript_1F659C, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 49, 45, 1, 24, 0, 0, 1, 3, Route124_EventScript_1F65B3, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 7, 23, 1, 18, 134, 0, 1, 5, Route124_EventScript_1F6615, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 58, 58, 1, 28, 7, 0, 1, 2, Route124_EventScript_1F662C, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 28, 12, 3, 1, 17, 0, 0, 0, Route124_EventScript_290FF1, 1092, 0, 0
+ object_event 7, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 31, 53, 3, 1, 17, 0, 0, 0, Route124_EventScript_290FFE, 1093, 0, 0
+ object_event 8, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 58, 11, 3, 1, 17, 0, 0, 0, Route124_EventScript_29100B, 1066, 0, 0
+ object_event 9, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 18, 44, 1, 8, 17, 0, 1, 1, Route124_EventScript_1F6643, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_TUBER_M_SWIMMING, 0, 0, 17, 44, 1, 8, 17, 0, 1, 1, Route124_EventScript_1F66A7, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 7, 29, 1, 7, 17, 0, 1, 5, Route124_EventScript_1F670B, 0, 0, 0
+ object_event 12, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 69, 74, 1, 66, 17, 0, 1, 7, Route124_EventScript_1F6722, 0, 0, 0
+
+Route124_MapWarps: @ 852C4E4
+ warp_def 70, 48, 3, 0, ROUTE_124_DIVING_TREASURE_HUNTERS_HOUSE
+
+Route124_MapBGEvents: @ 852C4EC
+ bg_event 73, 48, 3, 0, 0, Route124_EventScript_1F657C
+
+Route124_MapEvents:: @ 852C4F8
+ map_events Route124_MapObjects, Route124_MapWarps, 0x0, Route124_MapBGEvents
+
diff --git a/data/maps/events/Route124_DivingTreasureHuntersHouse.inc b/data/maps/events/Route124_DivingTreasureHuntersHouse.inc
new file mode 100644
index 000000000..43c364e8d
--- /dev/null
+++ b/data/maps/events/Route124_DivingTreasureHuntersHouse.inc
@@ -0,0 +1,12 @@
+Route124_DivingTreasureHuntersHouse_MapObjects: @ 853ED9C
+ object_event 1, MAP_OBJ_GFX_MAN_6, 0, 0, 5, 4, 0, 9, 0, 0, 0, 0, Route124_DivingTreasureHuntersHouse_EventScript_270A32, 0, 0, 0
+
+Route124_DivingTreasureHuntersHouse_MapWarps: @ 853EDB4
+ warp_def 3, 8, 0, 0, ROUTE_124
+ warp_def 4, 8, 0, 0, ROUTE_124
+
+Route124_DivingTreasureHuntersHouse_MapBGEvents: @ 853EDC4
+ bg_event 7, 1, 0, 0, 0, Route124_DivingTreasureHuntersHouse_EventScript_270F63
+
+Route124_DivingTreasureHuntersHouse_MapEvents:: @ 853EDD0
+ map_events Route124_DivingTreasureHuntersHouse_MapObjects, Route124_DivingTreasureHuntersHouse_MapWarps, 0x0, Route124_DivingTreasureHuntersHouse_MapBGEvents
diff --git a/data/maps/events/Route125.inc b/data/maps/events/Route125.inc
new file mode 100644
index 000000000..1211044f2
--- /dev/null
+++ b/data/maps/events/Route125.inc
@@ -0,0 +1,24 @@
+Route125_MapObjects: @ 852C50C
+ object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 7, 31, 1, 28, 0, 0, 1, 2, Route125_EventScript_1F67A4, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 45, 9, 1, 10, 82, 0, 1, 2, Route125_EventScript_1F67BB, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 38, 24, 1, 28, 6, 0, 1, 3, Route125_EventScript_1F67D2, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 30, 28, 1, 52, 153, 0, 1, 3, Route125_EventScript_1F67E9, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_SAILOR, 0, 0, 21, 30, 3, 13, 0, 0, 1, 2, Route125_EventScript_1F6800, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_LASS, 0, 0, 17, 19, 3, 8, 17, 0, 1, 1, Route125_EventScript_1F6862, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_LASS, 0, 0, 18, 19, 3, 8, 17, 0, 1, 1, Route125_EventScript_1F687D, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_MAN_6, 0, 0, 43, 19, 3, 28, 18, 0, 1, 3, Route125_EventScript_1F6898, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 48, 19, 3, 27, 18, 0, 1, 3, Route125_EventScript_1F68AF, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 46, 17, 3, 1, 17, 0, 0, 0, Route125_EventScript_291018, 1154, 0, 0
+
+Route125_MapWarps: @ 852C5FC
+ warp_def 22, 19, 0, 0, SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM
+
+Route125_MapBGEvents: @ 852C604
+ bg_event 53, 10, 0, 8, 0, ITEM_ULTRA_BALL, 0, 0
+ bg_event 55, 11, 0, 8, 0, ITEM_HEAL_POWDER, 0, 0
+ bg_event 7, 25, 0, 8, 0, ITEM_RETRO_MAIL, 0, 0
+ bg_event 24, 32, 0, 8, 0, ITEM_PINAP_BERRY, 0, 0
+
+Route125_MapEvents:: @ 852C634
+ map_events Route125_MapObjects, Route125_MapWarps, 0x0, Route125_MapBGEvents
+
diff --git a/data/maps/events/Route126.inc b/data/maps/events/Route126.inc
new file mode 100644
index 000000000..e8bfd1a5f
--- /dev/null
+++ b/data/maps/events/Route126.inc
@@ -0,0 +1,14 @@
+Route126_MapObjects: @ 852C648
+ object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 51, 65, 1, 51, 58, 0, 1, 3, Route126_EventScript_1F68D6, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 56, 22, 1, 28, 9, 0, 1, 3, Route126_EventScript_1F68ED, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 63, 43, 1, 24, 0, 0, 1, 3, Route126_EventScript_1F6904, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 9, 48, 1, 7, 0, 0, 1, 3, Route126_EventScript_1F691B, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 14, 1, 3, 1, 17, 0, 0, 0, Route126_EventScript_291025, 1105, 0, 0
+ object_event 6, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 15, 66, 1, 66, 17, 0, 1, 7, Route126_EventScript_1F6960, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 7, 66, 1, 67, 17, 0, 1, 7, Route126_EventScript_1F6977, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 64, 5, 1, 66, 17, 0, 1, 7, Route126_EventScript_1F6949, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 56, 5, 1, 67, 17, 0, 1, 7, Route126_EventScript_1F6932, 0, 0, 0
+
+Route126_MapEvents:: @ 852C720
+ map_events Route126_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/Route127.inc b/data/maps/events/Route127.inc
new file mode 100644
index 000000000..7a486263e
--- /dev/null
+++ b/data/maps/events/Route127.inc
@@ -0,0 +1,23 @@
+Route127_MapObjects: @ 852C734
+ object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 45, 42, 1, 14, 0, 0, 1, 2, Route127_EventScript_1F6A35, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 18, 68, 1, 21, 0, 0, 1, 4, Route127_EventScript_1F6A4C, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 14, 6, 3, 1, 0, 0, 0, 0, Route127_EventScript_291032, 1034, 0, 0
+ object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 64, 39, 3, 1, 0, 0, 0, 0, Route127_EventScript_29103F, 1035, 0, 0
+ object_event 5, MAP_OBJ_GFX_FISHERMAN, 0, 0, 42, 21, 3, 9, 17, 0, 1, 0, Route127_EventScript_1F6A63, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_FISHERMAN, 0, 0, 64, 19, 3, 10, 17, 0, 1, 0, Route127_EventScript_1F6A91, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_FISHERMAN, 0, 0, 54, 14, 3, 7, 17, 0, 1, 0, Route127_EventScript_1F6A7A, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_MAN_6, 0, 0, 15, 23, 3, 9, 17, 0, 1, 2, Route127_EventScript_1F6AA8, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 63, 63, 3, 1, 17, 0, 1, 3, Route127_EventScript_1F6AD6, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_WOMAN_7, 0, 0, 12, 23, 3, 10, 17, 0, 1, 2, Route127_EventScript_1F6ABF, 0, 0, 0
+ object_event 11, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 13, 20, 3, 1, 0, 0, 0, 0, Route127_EventScript_29104C, 1155, 0, 0
+
+Route127_MapBGEvents: @ 852C83C
+ bg_event 59, 67, 0, 8, 0, ITEM_ENERGY_ROOT, 0, 0
+ bg_event 59, 72, 0, 8, 0, ITEM_SITRUS_BERRY, 0, 0
+ bg_event 67, 63, 0, 8, 0, ITEM_WEPEAR_BERRY, 0, 0
+ bg_event 61, 21, 0, 8, 0, ITEM_FIGY_BERRY, 0, 0
+ bg_event 45, 24, 0, 8, 0, ITEM_GLITTER_MAIL, 0, 0
+
+Route127_MapEvents:: @ 852C878
+ map_events Route127_MapObjects, 0x0, 0x0, Route127_MapBGEvents
+
diff --git a/data/maps/events/Route128.inc b/data/maps/events/Route128.inc
new file mode 100644
index 000000000..b48c8c4a2
--- /dev/null
+++ b/data/maps/events/Route128.inc
@@ -0,0 +1,20 @@
+Route128_MapObjects: @ 852C88C
+ object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 35, 33, 1, 48, 85, 0, 1, 3, Route128_EventScript_1F6CBE, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 78, 24, 1, 28, 5, 0, 1, 7, Route128_EventScript_1F6D20, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_STEVEN, 0, 0, 40, 22, 3, 8, 0, 0, 0, 0, 0x0, 834, 0, 0
+ object_event 4, MAP_OBJ_GFX_ARCHIE, 0, 0, 37, 22, 3, 9, 17, 0, 0, 0, 0x0, 944, 0, 0
+ object_event 5, MAP_OBJ_GFX_MAXIE, 0, 0, 38, 21, 3, 7, 17, 0, 0, 0, 0x0, 945, 0, 0
+ object_event 6, MAP_OBJ_GFX_FISHERMAN, 0, 0, 63, 28, 3, 7, 17, 0, 1, 0, Route128_EventScript_1F6DB0, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_MAN_4, 0, 0, 47, 9, 3, 10, 17, 0, 1, 3, Route128_EventScript_1F6D99, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_WOMAN_7, 0, 0, 24, 8, 3, 17, 17, 0, 1, 3, Route128_EventScript_1F6D82, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 101, 29, 1, 25, 49, 0, 1, 4, Route128_EventScript_1F6DDE, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 101, 22, 1, 26, 49, 0, 1, 4, Route128_EventScript_1F6DC7, 0, 0, 0
+
+Route128_MapBGEvents: @ 852C97C
+ bg_event 49, 9, 3, 7, 0, ITEM_HEART_SCALE, 92, 0
+ bg_event 57, 21, 3, 7, 0, ITEM_HEART_SCALE, 93, 0
+ bg_event 31, 33, 3, 7, 0, ITEM_HEART_SCALE, 94, 0
+
+Route128_MapEvents:: @ 852C9A0
+ map_events Route128_MapObjects, 0x0, 0x0, Route128_MapBGEvents
+
diff --git a/data/maps/events/Route129.inc b/data/maps/events/Route129.inc
new file mode 100644
index 000000000..38ac3513c
--- /dev/null
+++ b/data/maps/events/Route129.inc
@@ -0,0 +1,10 @@
+Route129_MapObjects: @ 852C9B4
+ object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 28, 16, 1, 50, 67, 0, 1, 3, Route129_EventScript_1F72EC, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 10, 14, 1, 52, 37, 0, 1, 2, Route129_EventScript_1F7303, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 13, 22, 1, 64, 17, 0, 1, 5, Route129_EventScript_1F7331, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 35, 9, 1, 24, 17, 0, 1, 2, Route129_EventScript_1F731A, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 13, 27, 1, 65, 17, 0, 1, 5, Route129_EventScript_1F7348, 0, 0, 0
+
+Route129_MapEvents:: @ 852CA2C
+ map_events Route129_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/Route130.inc b/data/maps/events/Route130.inc
new file mode 100644
index 000000000..d5bd41cbd
--- /dev/null
+++ b/data/maps/events/Route130.inc
@@ -0,0 +1,9 @@
+Route130_MapObjects: @ 852CA40
+ object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 70, 21, 1, 51, 99, 0, 1, 3, Route130_EventScript_1F73BF, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 7, 21, 1, 26, 65, 0, 1, 5, Route130_EventScript_1F73D6, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BERRY_TREE, 0, 0, 52, 9, 3, 12, 0, 0, 0, 82, BerryTreeScript, 17, 0, 0
+ object_event 4, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 7, 30, 1, 25, 65, 0, 1, 5, Route130_EventScript_1F73ED, 0, 0, 0
+
+Route130_MapEvents:: @ 852CAA0
+ map_events Route130_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/Route131.inc b/data/maps/events/Route131.inc
new file mode 100644
index 000000000..0f37a4c70
--- /dev/null
+++ b/data/maps/events/Route131.inc
@@ -0,0 +1,16 @@
+Route131_MapObjects: @ 852CAB4
+ object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 41, 32, 1, 29, 117, 0, 1, 3, Route131_EventScript_1F7429, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 18, 19, 1, 22, 112, 0, 1, 4, Route131_EventScript_1F7440, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 10, 22, 1, 20, 6, 0, 1, 4, Route131_EventScript_1F7457, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 31, 25, 1, 47, 83, 0, 1, 3, Route131_EventScript_1F746E, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 9, 16, 1, 8, 17, 0, 1, 1, Route131_EventScript_1F7485, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_TUBER_M_SWIMMING, 0, 0, 8, 16, 1, 8, 17, 0, 1, 1, Route131_EventScript_1F74A0, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 52, 20, 1, 26, 49, 0, 1, 5, Route131_EventScript_1F74D2, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 52, 27, 1, 25, 49, 0, 1, 5, Route131_EventScript_1F74BB, 0, 0, 0
+
+Route131_MapWarps: @ 852CB74
+ warp_def 36, 6, 3, 0, SKY_PILLAR_ENTRANCE
+
+Route131_MapEvents:: @ 852CB7C
+ map_events Route131_MapObjects, Route131_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/Route132.inc b/data/maps/events/Route132.inc
new file mode 100644
index 000000000..3e1287b7d
--- /dev/null
+++ b/data/maps/events/Route132.inc
@@ -0,0 +1,15 @@
+Route132_MapObjects: @ 852CB90
+ object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 40, 13, 1, 46, 51, 0, 1, 2, Route132_EventScript_1F74EA, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 10, 6, 1, 45, 51, 0, 1, 2, Route132_EventScript_1F7501, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 10, 11, 3, 1, 0, 0, 0, 0, Route132_EventScript_291059, 1036, 0, 0
+ object_event 4, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 9, 15, 3, 8, 0, 0, 1, 4, Route132_EventScript_1F752F, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_FISHERMAN, 0, 0, 49, 28, 3, 10, 0, 0, 1, 1, Route132_EventScript_1F7518, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 33, 26, 3, 8, 17, 0, 1, 4, Route132_EventScript_1F7546, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_WOMAN_7, 0, 0, 33, 31, 3, 25, 65, 0, 1, 4, Route132_EventScript_1F755D, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 21, 30, 3, 7, 17, 0, 1, 4, Route132_EventScript_1F758B, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_MAN_4, 0, 0, 21, 25, 3, 26, 65, 0, 1, 4, Route132_EventScript_1F7574, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 20, 27, 3, 1, 17, 0, 0, 0, Route132_EventScript_291066, 1156, 0, 0
+
+Route132_MapEvents:: @ 852CC80
+ map_events Route132_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/Route133.inc b/data/maps/events/Route133.inc
new file mode 100644
index 000000000..c6cb4ac3b
--- /dev/null
+++ b/data/maps/events/Route133.inc
@@ -0,0 +1,15 @@
+Route133_MapObjects: @ 852CC94
+ object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 68, 27, 1, 25, 32, 0, 1, 3, Route133_EventScript_1F75A3, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 13, 3, 1, 8, 0, 0, 1, 3, Route133_EventScript_1F75D1, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 68, 28, 1, 26, 32, 0, 1, 3, Route133_EventScript_1F75BA, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 53, 12, 3, 1, 0, 0, 0, 0, Route133_EventScript_291073, 1037, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 8, 10, 3, 1, 0, 0, 0, 0, Route133_EventScript_291080, 1038, 0, 0
+ object_event 6, MAP_OBJ_GFX_MAN_6, 0, 0, 7, 14, 3, 18, 17, 0, 1, 2, Route133_EventScript_1F75FF, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_MAN_4, 0, 0, 37, 15, 3, 18, 0, 0, 1, 4, Route133_EventScript_1F75E8, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 56, 11, 3, 8, 17, 0, 1, 3, Route133_EventScript_1F7616, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 56, 15, 3, 16, 17, 0, 1, 3, Route133_EventScript_1F762D, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 48, 28, 3, 1, 17, 0, 0, 0, Route133_EventScript_29108D, 1157, 0, 0
+
+Route133_MapEvents:: @ 852CD84
+ map_events Route133_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/Route134.inc b/data/maps/events/Route134.inc
new file mode 100644
index 000000000..6905f533f
--- /dev/null
+++ b/data/maps/events/Route134.inc
@@ -0,0 +1,16 @@
+Route134_MapObjects: @ 852CD98
+ object_event 1, MAP_OBJ_GFX_SWIMMER_M, 0, 0, 49, 9, 1, 49, 83, 0, 1, 2, Route134_EventScript_1F7653, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SWIMMER_F, 0, 0, 58, 7, 1, 1, 0, 0, 1, 3, Route134_EventScript_1F766A, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 41, 23, 3, 10, 0, 0, 1, 2, Route134_EventScript_1F7698, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MAN_6, 0, 0, 24, 23, 3, 26, 48, 0, 1, 6, Route134_EventScript_1F7681, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 49, 16, 3, 27, 6, 0, 1, 5, Route134_EventScript_1F76AF, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_WOMAN_7, 0, 0, 43, 23, 1, 9, 17, 0, 1, 2, Route134_EventScript_1F76F4, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_SAILOR, 0, 0, 24, 30, 3, 25, 48, 0, 1, 6, Route134_EventScript_1F770B, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_GIRL_3, 0, 0, 50, 16, 3, 28, 6, 0, 1, 5, Route134_EventScript_1F76DD, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_SAILOR, 0, 0, 63, 14, 3, 18, 17, 0, 1, 3, Route134_EventScript_1F76C6, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 50, 17, 3, 1, 17, 0, 0, 0, Route134_EventScript_29109A, 1158, 0, 0
+ object_event 11, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 22, 27, 3, 1, 17, 0, 0, 0, Route134_EventScript_2910A7, 1159, 0, 0
+
+Route134_MapEvents:: @ 852CEA0
+ map_events Route134_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/RustboroCity.inc b/data/maps/events/RustboroCity.inc
new file mode 100644
index 000000000..26a0c1a11
--- /dev/null
+++ b/data/maps/events/RustboroCity.inc
@@ -0,0 +1,70 @@
+RustboroCity_MapObjects: @ 85267E0
+ object_event 1, MAP_OBJ_GFX_WOMAN_7, 0, 0, 22, 34, 3, 3, 16, 0, 0, 0, RustboroCity_EventScript_1E088A, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_FAT_MAN, 0, 0, 19, 13, 3, 1, 17, 0, 0, 0, RustboroCity_EventScript_1E085F, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 25, 37, 3, 7, 0, 0, 0, 0, RustboroCity_EventScript_1E08DA, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 21, 46, 3, 3, 16, 0, 0, 0, RustboroCity_EventScript_1E08D1, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_BOY_2, 0, 0, 12, 45, 3, 1, 0, 0, 0, 0, RustboroCity_EventScript_1E08B2, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_MAN_4, 0, 0, 26, 23, 3, 1, 17, 0, 0, 0, RustboroCity_EventScript_1E0893, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 24, 51, 3, 10, 0, 0, 0, 0, RustboroCity_EventScript_1E0922, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 25, 51, 3, 9, 0, 0, 0, 0, RustboroCity_EventScript_1E0938, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_MAN_2, 0, 0, 30, 10, 3, 10, 17, 0, 0, 0, RustboroCity_EventScript_1E0ADD, 732, 0, 0
+ object_event 10, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 13, 21, 3, 10, 0, 0, 0, 0, 0x0, 731, 0, 0
+ object_event 11, MAP_OBJ_GFX_MAN_7, 0, 0, 13, 34, 3, 2, 17, 0, 0, 0, RustboroCity_EventScript_1E087E, 0, 0, 0
+ object_event 12, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 36, 51, 3, 1, 0, 0, 0, 0, RustboroCity_EventScript_2910DB, 1041, 0, 0
+ object_event 13, MAP_OBJ_GFX_MAN_5, 0, 0, 19, 27, 3, 8, 16, 0, 0, 0, RustboroCity_EventScript_1E094E, 0, 0, 0
+ object_event 14, MAP_OBJ_GFX_HIPSTER, 0, 0, 16, 50, 3, 1, 17, 0, 0, 0, RustboroCity_EventScript_1E0DB8, 814, 0, 0
+ object_event 15, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 11, 15, 0, 1, 17, 0, 0, 0, 0x0, 844, 0, 0
+ object_event 16, MAP_OBJ_GFX_BOY_1, 0, 0, 31, 36, 3, 1, 16, 0, 0, 0, RustboroCity_EventScript_1E1236, 0, 0, 0
+
+RustboroCity_MapWarps: @ 8526960
+ warp_def 27, 19, 0, 0, RUSTBORO_CITY_GYM
+ warp_def 13, 30, 0, 0, RUSTBORO_CITY_FLAT_1_1F
+ warp_def 16, 45, 0, 0, RUSTBORO_CITY_MART
+ warp_def 16, 38, 0, 0, RUSTBORO_CITY_POKEMON_CENTER_1F
+ warp_def 27, 34, 0, 0, RUSTBORO_CITY_POKEMON_SCHOOL
+ warp_def 11, 15, 0, 0, RUSTBORO_CITY_DEVON_CORP_1F
+ warp_def 12, 15, 0, 1, RUSTBORO_CITY_DEVON_CORP_1F
+ warp_def 33, 19, 0, 0, RUSTBORO_CITY_HOUSE_1
+ warp_def 9, 38, 0, 0, RUSTBORO_CITY_CUTTERS_HOUSE
+ warp_def 30, 28, 0, 0, RUSTBORO_CITY_HOUSE_2
+ warp_def 5, 51, 0, 0, RUSTBORO_CITY_FLAT_2_1F
+ warp_def 26, 46, 0, 0, RUSTBORO_CITY_HOUSE_3
+
+RustboroCity_MapCoordEvents: @ 85269C0
+ coord_event 23, 20, 3, 0, VAR_0x405A, 1, 0, RustboroCity_EventScript_1E095A
+ coord_event 23, 21, 3, 0, VAR_0x405A, 1, 0, RustboroCity_EventScript_1E0971
+ coord_event 23, 22, 3, 0, VAR_0x405A, 1, 0, RustboroCity_EventScript_1E0988
+ coord_event 23, 23, 3, 0, VAR_0x405A, 1, 0, RustboroCity_EventScript_1E099F
+ coord_event 23, 24, 3, 0, VAR_0x405A, 1, 0, RustboroCity_EventScript_1E09B6
+ coord_event 30, 9, 3, 0, VAR_0x405A, 2, 0, RustboroCity_EventScript_1E0AFE
+ coord_event 29, 10, 3, 0, VAR_0x405A, 2, 0, RustboroCity_EventScript_1E0B0A
+ coord_event 30, 11, 3, 0, VAR_0x405A, 2, 0, RustboroCity_EventScript_1E0B16
+ coord_event 30, 12, 3, 0, VAR_0x405A, 2, 0, RustboroCity_EventScript_1E0B22
+ coord_event 30, 9, 3, 0, VAR_0x405A, 4, 0, RustboroCity_EventScript_1E0C2B
+ coord_event 31, 10, 3, 0, VAR_0x405A, 4, 0, RustboroCity_EventScript_1E0C37
+ coord_event 30, 11, 3, 0, VAR_0x405A, 4, 0, RustboroCity_EventScript_1E0C43
+ coord_event 30, 12, 3, 0, VAR_0x405A, 4, 0, RustboroCity_EventScript_1E0C4F
+ coord_event 12, 53, 3, 0, VAR_0x405A, 7, 0, RustboroCity_EventScript_1E0DF3
+ coord_event 13, 53, 3, 0, VAR_0x405A, 7, 0, RustboroCity_EventScript_1E0E33
+ coord_event 14, 53, 3, 0, VAR_0x405A, 7, 0, RustboroCity_EventScript_1E0E73
+ coord_event 15, 53, 3, 0, VAR_0x405A, 7, 0, RustboroCity_EventScript_1E0EB3
+ coord_event 16, 53, 3, 0, VAR_0x405A, 7, 0, RustboroCity_EventScript_1E0EF3
+ coord_event 17, 53, 3, 0, VAR_0x405A, 7, 0, RustboroCity_EventScript_1E0F33
+ coord_event 18, 53, 3, 0, VAR_0x405A, 7, 0, RustboroCity_EventScript_1E0F73
+ coord_event 19, 53, 3, 0, VAR_0x405A, 7, 0, RustboroCity_EventScript_1E0FB3
+
+RustboroCity_MapBGEvents: @ 8526B10
+ bg_event 23, 19, 0, 0, 0, RustboroCity_EventScript_1E08F5
+ bg_event 25, 35, 0, 0, 0, RustboroCity_EventScript_1E0910
+ bg_event 17, 45, 0, 1, 0, RustboroCity_EventScript_271E6A
+ bg_event 18, 38, 0, 1, 0, RustboroCity_EventScript_271E73
+ bg_event 19, 49, 0, 0, 0, RustboroCity_EventScript_1E0907
+ bg_event 18, 45, 0, 1, 0, RustboroCity_EventScript_271E6A
+ bg_event 17, 38, 0, 1, 0, RustboroCity_EventScript_271E73
+ bg_event 17, 20, 0, 0, 0, RustboroCity_EventScript_1E08EC
+ bg_event 30, 8, 0, 0, 0, RustboroCity_EventScript_1E08E3
+ bg_event 12, 38, 3, 0, 0, RustboroCity_EventScript_1E0919
+
+RustboroCity_MapEvents:: @ 8526B88
+ map_events RustboroCity_MapObjects, RustboroCity_MapWarps, RustboroCity_MapCoordEvents, RustboroCity_MapBGEvents
+
diff --git a/data/maps/events/RustboroCity_CuttersHouse.inc b/data/maps/events/RustboroCity_CuttersHouse.inc
new file mode 100644
index 000000000..1e779cb1e
--- /dev/null
+++ b/data/maps/events/RustboroCity_CuttersHouse.inc
@@ -0,0 +1,11 @@
+RustboroCity_CuttersHouse_MapObjects: @ 8530A1C
+ object_event 1, MAP_OBJ_GFX_MAN_3, 0, 0, 7, 5, 3, 10, 0, 0, 0, 0, RustboroCity_CuttersHouse_EventScript_215BD4, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_LASS, 0, 0, 9, 2, 3, 5, 1, 0, 0, 0, RustboroCity_CuttersHouse_EventScript_215C0A, 0, 0, 0
+
+RustboroCity_CuttersHouse_MapWarps: @ 8530A4C
+ warp_def 5, 8, 0, 8, RUSTBORO_CITY
+ warp_def 6, 8, 0, 8, RUSTBORO_CITY
+
+RustboroCity_CuttersHouse_MapEvents:: @ 8530A5C
+ map_events RustboroCity_CuttersHouse_MapObjects, RustboroCity_CuttersHouse_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/RustboroCity_DevonCorp_1F.inc b/data/maps/events/RustboroCity_DevonCorp_1F.inc
new file mode 100644
index 000000000..5a92ba2fc
--- /dev/null
+++ b/data/maps/events/RustboroCity_DevonCorp_1F.inc
@@ -0,0 +1,17 @@
+RustboroCity_DevonCorp_1F_MapObjects: @ 853037C
+ object_event 1, MAP_OBJ_GFX_MAN_7, 0, 0, 2, 6, 3, 2, 17, 0, 0, 0, RustboroCity_DevonCorp_1F_EventScript_211261, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_7, 0, 0, 15, 5, 3, 2, 18, 0, 0, 0, RustboroCity_DevonCorp_1F_EventScript_211293, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_4, 0, 0, 5, 3, 3, 8, 0, 0, 0, 0, RustboroCity_DevonCorp_1F_EventScript_2112CE, 0, 0, 0
+
+RustboroCity_DevonCorp_1F_MapWarps: @ 85303C4
+ warp_def 5, 8, 0, 5, RUSTBORO_CITY
+ warp_def 6, 8, 0, 6, RUSTBORO_CITY
+ warp_def 14, 1, 0, 0, RUSTBORO_CITY_DEVON_CORP_2F
+
+RustboroCity_DevonCorp_1F_MapBGEvents: @ 85303DC
+ bg_event 3, 2, 0, 0, 0, RustboroCity_DevonCorp_1F_EventScript_211312
+ bg_event 8, 2, 0, 0, 0, RustboroCity_DevonCorp_1F_EventScript_211309
+
+RustboroCity_DevonCorp_1F_MapEvents:: @ 85303F4
+ map_events RustboroCity_DevonCorp_1F_MapObjects, RustboroCity_DevonCorp_1F_MapWarps, 0x0, RustboroCity_DevonCorp_1F_MapBGEvents
+
diff --git a/data/maps/events/RustboroCity_DevonCorp_2F.inc b/data/maps/events/RustboroCity_DevonCorp_2F.inc
new file mode 100644
index 000000000..a84456e44
--- /dev/null
+++ b/data/maps/events/RustboroCity_DevonCorp_2F.inc
@@ -0,0 +1,15 @@
+RustboroCity_DevonCorp_2F_MapObjects: @ 8530408
+ object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 6, 5, 3, 7, 0, 0, 0, 0, RustboroCity_DevonCorp_2F_EventScript_21186F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 1, 5, 3, 10, 0, 0, 0, 0, RustboroCity_DevonCorp_2F_EventScript_211886, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 2, 6, 3, 15, 0, 0, 0, 0, RustboroCity_DevonCorp_2F_EventScript_2118B0, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 10, 5, 3, 7, 160, 0, 0, 0, RustboroCity_DevonCorp_2F_EventScript_2118DA, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 14, 8, 3, 7, 17, 0, 0, 0, RustboroCity_DevonCorp_2F_EventScript_2118F1, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 14, 5, 3, 7, 17, 0, 0, 0, RustboroCity_DevonCorp_2F_EventScript_211BCF, 0, 0, 0
+
+RustboroCity_DevonCorp_2F_MapWarps: @ 8530498
+ warp_def 14, 1, 0, 2, RUSTBORO_CITY_DEVON_CORP_1F
+ warp_def 2, 1, 0, 0, RUSTBORO_CITY_DEVON_CORP_3F
+
+RustboroCity_DevonCorp_2F_MapEvents:: @ 85304A8
+ map_events RustboroCity_DevonCorp_2F_MapObjects, RustboroCity_DevonCorp_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/RustboroCity_DevonCorp_3F.inc b/data/maps/events/RustboroCity_DevonCorp_3F.inc
new file mode 100644
index 000000000..ec2d22707
--- /dev/null
+++ b/data/maps/events/RustboroCity_DevonCorp_3F.inc
@@ -0,0 +1,15 @@
+RustboroCity_DevonCorp_3F_MapObjects: @ 85304BC
+ object_event 1, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 17, 5, 3, 9, 0, 0, 0, 0, RustboroCity_DevonCorp_3F_EventScript_21256C, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_2, 0, 0, 3, 5, 3, 10, 0, 0, 0, 0, RustboroCity_DevonCorp_3F_EventScript_2125E1, 949, 0, 0
+ object_event 3, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 15, 5, 3, 76, 17, 0, 0, 0, RustboroCity_DevonCorp_3F_EventScript_21256C, 0, 0, 0
+
+RustboroCity_DevonCorp_3F_MapWarps: @ 8530504
+ warp_def 2, 1, 0, 1, RUSTBORO_CITY_DEVON_CORP_2F
+
+RustboroCity_DevonCorp_3F_MapBGEvents: @ 853050C
+ bg_event 1, 5, 3, 0, 0, RustboroCity_DevonCorp_3F_EventScript_212600
+ bg_event 1, 7, 3, 0, 0, RustboroCity_DevonCorp_3F_EventScript_212600
+
+RustboroCity_DevonCorp_3F_MapEvents:: @ 8530524
+ map_events RustboroCity_DevonCorp_3F_MapObjects, RustboroCity_DevonCorp_3F_MapWarps, 0x0, RustboroCity_DevonCorp_3F_MapBGEvents
+
diff --git a/data/maps/events/RustboroCity_Flat1_1F.inc b/data/maps/events/RustboroCity_Flat1_1F.inc
new file mode 100644
index 000000000..93185e0fd
--- /dev/null
+++ b/data/maps/events/RustboroCity_Flat1_1F.inc
@@ -0,0 +1,12 @@
+RustboroCity_Flat1_1F_MapObjects: @ 8530890
+ object_event 1, MAP_OBJ_GFX_MAN_4, 0, 0, 9, 4, 3, 10, 0, 0, 0, 0, RustboroCity_Flat1_1F_EventScript_2150CE, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_7, 0, 0, 12, 4, 3, 9, 0, 0, 0, 0, RustboroCity_Flat1_1F_EventScript_2150D7, 0, 0, 0
+
+RustboroCity_Flat1_1F_MapWarps: @ 85308C0
+ warp_def 6, 7, 0, 1, RUSTBORO_CITY
+ warp_def 7, 7, 0, 1, RUSTBORO_CITY
+ warp_def 2, 1, 0, 0, RUSTBORO_CITY_FLAT_1_2F
+
+RustboroCity_Flat1_1F_MapEvents:: @ 85308D8
+ map_events RustboroCity_Flat1_1F_MapObjects, RustboroCity_Flat1_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/RustboroCity_Flat1_2F.inc b/data/maps/events/RustboroCity_Flat1_2F.inc
new file mode 100644
index 000000000..0fa012eda
--- /dev/null
+++ b/data/maps/events/RustboroCity_Flat1_2F.inc
@@ -0,0 +1,16 @@
+RustboroCity_Flat1_2F_MapObjects: @ 85308EC
+ object_event 1, MAP_OBJ_GFX_WOMAN_2, 0, 0, 4, 6, 3, 5, 19, 0, 0, 0, RustboroCity_Flat1_2F_EventScript_21523D, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 9, 5, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_SKITTY_DOLL, 0, 0, 9, 4, 3, 1, 17, 0, 0, 0, RustboroCity_Flat1_2F_EventScript_215246, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_TREECKO_DOLL, 0, 0, 10, 5, 3, 1, 17, 0, 0, 0, RustboroCity_Flat1_2F_EventScript_215246, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_TORCHIC_DOLL, 0, 0, 10, 6, 3, 1, 17, 0, 0, 0, RustboroCity_Flat1_2F_EventScript_215246, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_MAN_1, 0, 0, 8, 5, 3, 10, 17, 0, 0, 0, RustboroCity_Flat1_2F_EventScript_21513A, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_MUDKIP_DOLL, 0, 0, 8, 6, 3, 1, 17, 0, 0, 0, RustboroCity_Flat1_2F_EventScript_215246, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_PIKACHU_DOLL, 0, 0, 9, 7, 3, 1, 17, 0, 0, 0, RustboroCity_Flat1_2F_EventScript_215246, 0, 0, 0
+
+RustboroCity_Flat1_2F_MapWarps: @ 85309AC
+ warp_def 2, 1, 0, 2, RUSTBORO_CITY_FLAT_1_1F
+
+RustboroCity_Flat1_2F_MapEvents:: @ 85309B4
+ map_events RustboroCity_Flat1_2F_MapObjects, RustboroCity_Flat1_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/RustboroCity_Flat2_1F.inc b/data/maps/events/RustboroCity_Flat2_1F.inc
new file mode 100644
index 000000000..937d1afb9
--- /dev/null
+++ b/data/maps/events/RustboroCity_Flat2_1F.inc
@@ -0,0 +1,12 @@
+RustboroCity_Flat2_1F_MapObjects: @ 8530AC4
+ object_event 1, MAP_OBJ_GFX_SKITTY, 0, 0, 11, 4, 3, 9, 0, 0, 0, 0, RustboroCity_Flat2_1F_EventScript_215F80, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_OLD_WOMAN_2, 0, 0, 8, 4, 3, 10, 0, 0, 0, 0, RustboroCity_Flat2_1F_EventScript_215F77, 0, 0, 0
+
+RustboroCity_Flat2_1F_MapWarps: @ 8530AF4
+ warp_def 2, 8, 0, 10, RUSTBORO_CITY
+ warp_def 3, 8, 0, 10, RUSTBORO_CITY
+ warp_def 3, 1, 0, 0, RUSTBORO_CITY_FLAT_2_2F
+
+RustboroCity_Flat2_1F_MapEvents:: @ 8530B0C
+ map_events RustboroCity_Flat2_1F_MapObjects, RustboroCity_Flat2_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/RustboroCity_Flat2_2F.inc b/data/maps/events/RustboroCity_Flat2_2F.inc
new file mode 100644
index 000000000..2ea886e54
--- /dev/null
+++ b/data/maps/events/RustboroCity_Flat2_2F.inc
@@ -0,0 +1,11 @@
+RustboroCity_Flat2_2F_MapObjects: @ 8530B20
+ object_event 1, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 11, 4, 3, 10, 0, 0, 0, 0, RustboroCity_Flat2_2F_EventScript_215FD8, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 7, 3, 3, 5, 2, 0, 0, 0, RustboroCity_Flat2_2F_EventScript_215FE1, 0, 0, 0
+
+RustboroCity_Flat2_2F_MapWarps: @ 8530B50
+ warp_def 3, 1, 0, 2, RUSTBORO_CITY_FLAT_2_1F
+ warp_def 1, 1, 0, 0, RUSTBORO_CITY_FLAT_2_3F
+
+RustboroCity_Flat2_2F_MapEvents:: @ 8530B60
+ map_events RustboroCity_Flat2_2F_MapObjects, RustboroCity_Flat2_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/RustboroCity_Flat2_3F.inc b/data/maps/events/RustboroCity_Flat2_3F.inc
new file mode 100644
index 000000000..44c5bc37a
--- /dev/null
+++ b/data/maps/events/RustboroCity_Flat2_3F.inc
@@ -0,0 +1,10 @@
+RustboroCity_Flat2_3F_MapObjects: @ 8530B74
+ object_event 1, MAP_OBJ_GFX_MAN_7, 0, 0, 7, 3, 3, 5, 2, 0, 0, 0, RustboroCity_Flat2_3F_EventScript_216117, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_1, 0, 0, 12, 2, 3, 8, 0, 0, 0, 0, RustboroCity_Flat2_3F_EventScript_216120, 0, 0, 0
+
+RustboroCity_Flat2_3F_MapWarps: @ 8530BA4
+ warp_def 1, 1, 0, 1, RUSTBORO_CITY_FLAT_2_2F
+
+RustboroCity_Flat2_3F_MapEvents:: @ 8530BAC
+ map_events RustboroCity_Flat2_3F_MapObjects, RustboroCity_Flat2_3F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/RustboroCity_Gym.inc b/data/maps/events/RustboroCity_Gym.inc
new file mode 100644
index 000000000..dc395c064
--- /dev/null
+++ b/data/maps/events/RustboroCity_Gym.inc
@@ -0,0 +1,18 @@
+RustboroCity_Gym_MapObjects: @ 8530538
+ object_event 1, MAP_OBJ_GFX_ROXANNE, 0, 0, 5, 2, 3, 8, 0, 0, 0, 0, RustboroCity_Gym_EventScript_212F31, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 5, 13, 3, 8, 0, 0, 1, 2, RustboroCity_Gym_EventScript_212FE3, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 3, 9, 3, 9, 0, 0, 1, 3, RustboroCity_Gym_EventScript_212FFA, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MAN_2, 0, 0, 3, 18, 3, 8, 0, 0, 0, 0, RustboroCity_Gym_EventScript_213028, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_HIKER, 0, 0, 1, 6, 3, 8, 17, 0, 1, 3, RustboroCity_Gym_EventScript_213011, 0, 0, 0
+
+RustboroCity_Gym_MapWarps: @ 85305B0
+ warp_def 5, 19, 0, 0, RUSTBORO_CITY
+ warp_def 6, 19, 0, 0, RUSTBORO_CITY
+
+RustboroCity_Gym_MapBGEvents: @ 85305C0
+ bg_event 2, 18, 0, 1, 0, RustboroCity_Gym_EventScript_213047
+ bg_event 8, 18, 0, 1, 0, RustboroCity_Gym_EventScript_213057
+
+RustboroCity_Gym_MapEvents:: @ 85305D8
+ map_events RustboroCity_Gym_MapObjects, RustboroCity_Gym_MapWarps, 0x0, RustboroCity_Gym_MapBGEvents
+
diff --git a/data/maps/events/RustboroCity_House1.inc b/data/maps/events/RustboroCity_House1.inc
new file mode 100644
index 000000000..eee616f8a
--- /dev/null
+++ b/data/maps/events/RustboroCity_House1.inc
@@ -0,0 +1,11 @@
+RustboroCity_House1_MapObjects: @ 85309C8
+ object_event 1, MAP_OBJ_GFX_CAMPER, 0, 0, 6, 4, 3, 9, 0, 0, 0, 0, RustboroCity_House1_EventScript_21593F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIKER, 0, 0, 9, 2, 3, 8, 0, 0, 0, 0, RustboroCity_House1_EventScript_2159DF, 0, 0, 0
+
+RustboroCity_House1_MapWarps: @ 85309F8
+ warp_def 5, 7, 0, 7, RUSTBORO_CITY
+ warp_def 6, 7, 0, 7, RUSTBORO_CITY
+
+RustboroCity_House1_MapEvents:: @ 8530A08
+ map_events RustboroCity_House1_MapObjects, RustboroCity_House1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/RustboroCity_House2.inc b/data/maps/events/RustboroCity_House2.inc
new file mode 100644
index 000000000..b4a00970f
--- /dev/null
+++ b/data/maps/events/RustboroCity_House2.inc
@@ -0,0 +1,11 @@
+RustboroCity_House2_MapObjects: @ 8530A70
+ object_event 1, MAP_OBJ_GFX_WOMAN_2, 0, 0, 4, 4, 3, 8, 0, 0, 0, 0, RustboroCity_House2_EventScript_215EB4, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 4, 5, 3, 7, 0, 0, 0, 0, RustboroCity_House2_EventScript_215EBD, 0, 0, 0
+
+RustboroCity_House2_MapWarps: @ 8530AA0
+ warp_def 5, 8, 0, 9, RUSTBORO_CITY
+ warp_def 6, 8, 0, 9, RUSTBORO_CITY
+
+RustboroCity_House2_MapEvents:: @ 8530AB0
+ map_events RustboroCity_House2_MapObjects, RustboroCity_House2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/RustboroCity_House3.inc b/data/maps/events/RustboroCity_House3.inc
new file mode 100644
index 000000000..09cf245e0
--- /dev/null
+++ b/data/maps/events/RustboroCity_House3.inc
@@ -0,0 +1,12 @@
+RustboroCity_House3_MapObjects: @ 8530BC0
+ object_event 1, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 4, 5, 3, 10, 0, 0, 0, 0, RustboroCity_House3_EventScript_216191, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_OLD_WOMAN_2, 0, 0, 7, 5, 3, 9, 0, 0, 0, 0, RustboroCity_House3_EventScript_21619A, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_PIKACHU, 0, 0, 4, 4, 3, 8, 0, 0, 0, 0, RustboroCity_House3_EventScript_2161A3, 0, 0, 0
+
+RustboroCity_House3_MapWarps: @ 8530C08
+ warp_def 5, 8, 0, 11, RUSTBORO_CITY
+ warp_def 6, 8, 0, 11, RUSTBORO_CITY
+
+RustboroCity_House3_MapEvents:: @ 8530C18
+ map_events RustboroCity_House3_MapObjects, RustboroCity_House3_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/RustboroCity_Mart.inc b/data/maps/events/RustboroCity_Mart.inc
new file mode 100644
index 000000000..28b614d47
--- /dev/null
+++ b/data/maps/events/RustboroCity_Mart.inc
@@ -0,0 +1,13 @@
+RustboroCity_Mart_MapObjects: @ 853080C
+ object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, RustboroCity_Mart_EventScript_214F06, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BOY_1, 0, 0, 2, 5, 3, 7, 0, 0, 0, 0, RustboroCity_Mart_EventScript_214F7D, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_2, 0, 0, 8, 4, 3, 3, 16, 0, 0, 0, RustboroCity_Mart_EventScript_214F74, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BUG_CATCHER, 0, 0, 8, 2, 3, 7, 17, 0, 0, 0, RustboroCity_Mart_EventScript_214F86, 0, 0, 0
+
+RustboroCity_Mart_MapWarps: @ 853086C
+ warp_def 3, 7, 0, 2, RUSTBORO_CITY
+ warp_def 4, 7, 0, 2, RUSTBORO_CITY
+
+RustboroCity_Mart_MapEvents:: @ 853087C
+ map_events RustboroCity_Mart_MapObjects, RustboroCity_Mart_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/RustboroCity_PokemonCenter_1F.inc b/data/maps/events/RustboroCity_PokemonCenter_1F.inc
new file mode 100644
index 000000000..9c44870ad
--- /dev/null
+++ b/data/maps/events/RustboroCity_PokemonCenter_1F.inc
@@ -0,0 +1,14 @@
+RustboroCity_PokemonCenter_1F_MapObjects: @ 85306F4
+ object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, RustboroCity_PokemonCenter_1F_EventScript_214D76, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_1, 0, 0, 11, 2, 3, 9, 0, 0, 0, 0, RustboroCity_PokemonCenter_1F_EventScript_214D84, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BOY_1, 0, 0, 3, 4, 3, 2, 17, 0, 0, 0, RustboroCity_PokemonCenter_1F_EventScript_214D8D, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_GIRL_3, 0, 0, 10, 6, 3, 10, 0, 0, 0, 0, RustboroCity_PokemonCenter_1F_EventScript_214D96, 0, 0, 0
+
+RustboroCity_PokemonCenter_1F_MapWarps: @ 8530754
+ warp_def 7, 8, 3, 3, RUSTBORO_CITY
+ warp_def 6, 8, 3, 3, RUSTBORO_CITY
+ warp_def 1, 6, 4, 0, RUSTBORO_CITY_POKEMON_CENTER_2F
+
+RustboroCity_PokemonCenter_1F_MapEvents:: @ 853076C
+ map_events RustboroCity_PokemonCenter_1F_MapObjects, RustboroCity_PokemonCenter_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/RustboroCity_PokemonCenter_2F.inc b/data/maps/events/RustboroCity_PokemonCenter_2F.inc
new file mode 100644
index 000000000..71defda3d
--- /dev/null
+++ b/data/maps/events/RustboroCity_PokemonCenter_2F.inc
@@ -0,0 +1,14 @@
+RustboroCity_PokemonCenter_2F_MapObjects: @ 8530780
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, RustboroCity_PokemonCenter_2F_EventScript_27375B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, RustboroCity_PokemonCenter_2F_EventScript_273761, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, RustboroCity_PokemonCenter_2F_EventScript_273767, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, RustboroCity_PokemonCenter_2F_EventScript_276B03, 702, 0, 0
+
+RustboroCity_PokemonCenter_2F_MapWarps: @ 85307E0
+ warp_def 1, 6, 4, 2, RUSTBORO_CITY_POKEMON_CENTER_1F
+ warp_def 5, 1, 3, 0, UNION_ROOM
+ warp_def 9, 1, 3, 0, TRADE_CENTER
+
+RustboroCity_PokemonCenter_2F_MapEvents:: @ 85307F8
+ map_events RustboroCity_PokemonCenter_2F_MapObjects, RustboroCity_PokemonCenter_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/RustboroCity_PokemonSchool.inc b/data/maps/events/RustboroCity_PokemonSchool.inc
new file mode 100644
index 000000000..3facee89a
--- /dev/null
+++ b/data/maps/events/RustboroCity_PokemonSchool.inc
@@ -0,0 +1,23 @@
+RustboroCity_PokemonSchool_MapObjects: @ 85305EC
+ object_event 1, MAP_OBJ_GFX_BOY_5, 0, 0, 8, 6, 3, 10, 0, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213F5F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BOY_5, 0, 0, 9, 6, 3, 9, 0, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213F68, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BOY_4, 0, 0, 3, 8, 3, 7, 0, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213F71, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_LASS, 0, 0, 10, 8, 3, 7, 0, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213F7A, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_SCHOOL_KID_M, 0, 0, 3, 6, 3, 8, 0, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213F83, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 5, 3, 3, 8, 17, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213F95, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_SCOTT, 0, 0, 0, 10, 0, 7, 17, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_214040, 999, 0, 0
+
+RustboroCity_PokemonSchool_MapWarps: @ 8530694
+ warp_def 5, 10, 0, 4, RUSTBORO_CITY
+ warp_def 6, 10, 0, 4, RUSTBORO_CITY
+
+RustboroCity_PokemonSchool_MapBGEvents: @ 85306A4
+ bg_event 5, 2, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213EA9
+ bg_event 4, 2, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213EA9
+ bg_event 6, 2, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213EA9
+ bg_event 7, 2, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213EA9
+ bg_event 3, 5, 0, 0, 0, RustboroCity_PokemonSchool_EventScript_213F8C
+
+RustboroCity_PokemonSchool_MapEvents:: @ 85306E0
+ map_events RustboroCity_PokemonSchool_MapObjects, RustboroCity_PokemonSchool_MapWarps, 0x0, RustboroCity_PokemonSchool_MapBGEvents
+
diff --git a/data/maps/events/RusturfTunnel.inc b/data/maps/events/RusturfTunnel.inc
new file mode 100644
index 000000000..94846323a
--- /dev/null
+++ b/data/maps/events/RusturfTunnel.inc
@@ -0,0 +1,27 @@
+RusturfTunnel_MapObjects: @ 85341C4
+ object_event 1, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 23, 5, 3, 10, 0, 0, 0, 0, RusturfTunnel_EventScript_22CE76, 807, 0, 0
+ object_event 2, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 24, 5, 3, 1, 0, 0, 0, 0, RusturfTunnel_EventScript_2907A6, 931, 0, 0
+ object_event 3, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 3, 1, 3, 1, 0, 0, 0, 0, RusturfTunnel_EventScript_291136, 1048, 0, 0
+ object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 30, 2, 3, 1, 0, 0, 0, 0, RusturfTunnel_EventScript_291143, 1049, 0, 0
+ object_event 5, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 5, 4, 3, 10, 0, 0, 0, 0, 0x0, 879, 0, 0
+ object_event 6, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 14, 5, 3, 9, 0, 0, 0, 0, RusturfTunnel_EventScript_22D0C2, 878, 0, 0
+ object_event 7, MAP_OBJ_GFX_WINGULL, 0, 0, 14, 4, 3, 9, 0, 0, 0, 0, RusturfTunnel_EventScript_22D0AF, 880, 0, 0
+ object_event 8, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 24, 4, 3, 8, 0, 0, 0, 0, RusturfTunnel_EventScript_2907A6, 932, 0, 0
+ object_event 9, MAP_OBJ_GFX_HIKER, 0, 0, 32, 13, 3, 9, 17, 0, 1, 3, RusturfTunnel_EventScript_22D1B1, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_WOMAN_3, 0, 0, 25, 4, 3, 9, 17, 0, 0, 0, RusturfTunnel_EventScript_22CE5F, 983, 0, 0
+
+RusturfTunnel_MapWarps: @ 85342B4
+ warp_def 4, 10, 3, 0, ROUTE_116
+ warp_def 29, 16, 3, 4, VERDANTURF_TOWN
+ warp_def 18, 20, 3, 2, ROUTE_116
+
+RusturfTunnel_MapCoordEvents: @ 85342CC
+ coord_event 23, 4, 3, 0, 0, 0, 0, RusturfTunnel_EventScript_22D071
+ coord_event 9, 4, 3, 0, VAR_0x409A, 2, 0, RusturfTunnel_EventScript_22D083
+ coord_event 9, 5, 3, 0, VAR_0x409A, 2, 0, RusturfTunnel_EventScript_22D083
+ coord_event 25, 4, 3, 0, 0, 0, 0, RusturfTunnel_EventScript_22D077
+ coord_event 25, 5, 3, 0, 0, 0, 0, RusturfTunnel_EventScript_22D07D
+
+RusturfTunnel_MapEvents:: @ 853431C
+ map_events RusturfTunnel_MapObjects, RusturfTunnel_MapWarps, RusturfTunnel_MapCoordEvents, 0x0
+
diff --git a/data/maps/events/SSTidalCorridor.inc b/data/maps/events/SSTidalCorridor.inc
new file mode 100644
index 000000000..5d6d73288
--- /dev/null
+++ b/data/maps/events/SSTidalCorridor.inc
@@ -0,0 +1,35 @@
+SSTidalCorridor_MapObjects: @ 853A158
+ object_event 1, MAP_OBJ_GFX_SAILOR, 0, 0, 1, 11, 3, 7, 0, 0, 0, 0, SSTidalCorridor_EventScript_23C119, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SAILOR, 0, 0, 16, 7, 3, 3, 32, 0, 0, 0, SSTidalCorridor_EventScript_23C1A3, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 9, 2, 3, 8, 17, 0, 0, 0, SSTidalCorridor_EventScript_23C0D9, 950, 0, 0
+ object_event 4, MAP_OBJ_GFX_WINGULL, 0, 0, 7, 2, 3, 1, 17, 0, 0, 0, SSTidalCorridor_EventScript_23C0E2, 950, 0, 0
+ object_event 5, MAP_OBJ_GFX_SCOTT, 0, 0, 9, 10, 3, 9, 0, 0, 0, 0, 0x0, 810, 0, 0
+
+SSTidalCorridor_MapWarps: @ 853A1D0
+ warp_def 4, 9, 3, 0, SS_TIDAL_ROOMS
+ warp_def 7, 9, 3, 2, SS_TIDAL_ROOMS
+ warp_def 10, 9, 3, 4, SS_TIDAL_ROOMS
+ warp_def 13, 9, 3, 6, SS_TIDAL_ROOMS
+ warp_def 4, 3, 3, 8, SS_TIDAL_ROOMS
+ warp_def 7, 3, 3, 9, SS_TIDAL_ROOMS
+ warp_def 10, 3, 3, 10, SS_TIDAL_ROOMS
+ warp_def 13, 3, 3, 11, SS_TIDAL_ROOMS
+ warp_def 16, 2, 3, 0, SS_TIDAL_LOWER_DECK
+
+SSTidalCorridor_MapBGEvents: @ 853A218
+ bg_event 2, 1, 0, 0, 0, SSTidalCorridor_EventScript_23C17D
+ bg_event 4, 1, 0, 0, 0, SSTidalCorridor_EventScript_23C17D
+ bg_event 6, 1, 0, 0, 0, SSTidalCorridor_EventScript_23C17D
+ bg_event 8, 1, 0, 0, 0, SSTidalCorridor_EventScript_23C17D
+ bg_event 10, 1, 0, 0, 0, SSTidalCorridor_EventScript_23C17D
+ bg_event 12, 1, 0, 0, 0, SSTidalCorridor_EventScript_23C17D
+ bg_event 14, 1, 0, 0, 0, SSTidalCorridor_EventScript_23C17D
+ bg_event 16, 1, 0, 0, 0, SSTidalCorridor_EventScript_23C17D
+ bg_event 5, 9, 0, 1, 0, SSTidalCorridor_EventScript_23C0F5
+ bg_event 8, 9, 0, 1, 0, SSTidalCorridor_EventScript_23C0FE
+ bg_event 11, 9, 0, 1, 0, SSTidalCorridor_EventScript_23C107
+ bg_event 14, 9, 0, 1, 0, SSTidalCorridor_EventScript_23C110
+
+SSTidalCorridor_MapEvents:: @ 853A2A8
+ map_events SSTidalCorridor_MapObjects, SSTidalCorridor_MapWarps, 0x0, SSTidalCorridor_MapBGEvents
+
diff --git a/data/maps/events/SSTidalLowerDeck.inc b/data/maps/events/SSTidalLowerDeck.inc
new file mode 100644
index 000000000..0ce76cf29
--- /dev/null
+++ b/data/maps/events/SSTidalLowerDeck.inc
@@ -0,0 +1,13 @@
+SSTidalLowerDeck_MapObjects: @ 853A2BC
+ object_event 1, MAP_OBJ_GFX_SAILOR, 0, 0, 10, 4, 3, 46, 68, 0, 1, 3, SSTidalLowerDeck_EventScript_23C819, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SAILOR, 0, 0, 7, 4, 3, 50, 71, 0, 1, 3, SSTidalLowerDeck_EventScript_23C830, 0, 0, 0
+
+SSTidalLowerDeck_MapWarps: @ 853A2EC
+ warp_def 15, 2, 3, 8, SS_TIDAL_CORRIDOR
+
+SSTidalLowerDeck_MapBGEvents: @ 853A2F4
+ bg_event 0, 2, 0, 7, 0, ITEM_LEFTOVERS, 35, 0
+
+SSTidalLowerDeck_MapEvents:: @ 853A300
+ map_events SSTidalLowerDeck_MapObjects, SSTidalLowerDeck_MapWarps, 0x0, SSTidalLowerDeck_MapBGEvents
+
diff --git a/data/maps/events/SSTidalRooms.inc b/data/maps/events/SSTidalRooms.inc
new file mode 100644
index 000000000..81648162b
--- /dev/null
+++ b/data/maps/events/SSTidalRooms.inc
@@ -0,0 +1,31 @@
+SSTidalRooms_MapObjects: @ 853A314
+ object_event 1, MAP_OBJ_GFX_MAN_3, 0, 0, 4, 7, 3, 10, 0, 0, 1, 0, SSTidalRooms_EventScript_23CA49, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 34, 11, 3, 9, 0, 0, 1, 3, SSTidalRooms_EventScript_23CA60, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 21, 5, 3, 10, 0, 0, 1, 0, SSTidalRooms_EventScript_23CA77, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MAN_5, 0, 0, 5, 14, 3, 8, 0, 0, 1, 1, SSTidalRooms_EventScript_23CA8E, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_WOMAN_5, 0, 0, 4, 14, 3, 8, 0, 0, 1, 1, SSTidalRooms_EventScript_23CAA9, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_BOY_4, 0, 0, 22, 11, 3, 8, 17, 0, 1, 3, SSTidalRooms_EventScript_23CAC4, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_WOMAN_3, 0, 0, 15, 6, 3, 9, 0, 0, 1, 0, SSTidalRooms_EventScript_23CADB, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_MANIAC, 0, 0, 28, 5, 3, 7, 17, 0, 0, 0, SSTidalRooms_EventScript_23C9F2, 951, 0, 0
+
+SSTidalRooms_MapWarps: @ 853A3D4
+ warp_def 4, 16, 0, 0, SS_TIDAL_CORRIDOR
+ warp_def 5, 16, 0, 0, SS_TIDAL_CORRIDOR
+ warp_def 13, 16, 0, 1, SS_TIDAL_CORRIDOR
+ warp_def 14, 16, 0, 1, SS_TIDAL_CORRIDOR
+ warp_def 22, 16, 0, 2, SS_TIDAL_CORRIDOR
+ warp_def 23, 16, 0, 2, SS_TIDAL_CORRIDOR
+ warp_def 31, 16, 0, 3, SS_TIDAL_CORRIDOR
+ warp_def 32, 16, 0, 3, SS_TIDAL_CORRIDOR
+ warp_def 4, 1, 0, 4, SS_TIDAL_CORRIDOR
+ warp_def 13, 1, 0, 5, SS_TIDAL_CORRIDOR
+ warp_def 22, 1, 0, 6, SS_TIDAL_CORRIDOR
+ warp_def 31, 1, 0, 7, SS_TIDAL_CORRIDOR
+
+SSTidalRooms_MapBGEvents: @ 853A434
+ bg_event 15, 11, 0, 0, 0, SSTidalRooms_EventScript_23CA33
+ bg_event 15, 12, 0, 0, 0, SSTidalRooms_EventScript_23CA33
+
+SSTidalRooms_MapEvents:: @ 853A44C
+ map_events SSTidalRooms_MapObjects, SSTidalRooms_MapWarps, 0x0, SSTidalRooms_MapBGEvents
+
diff --git a/data/maps/events/SafariZone_North.inc b/data/maps/events/SafariZone_North.inc
new file mode 100644
index 000000000..e8ace6482
--- /dev/null
+++ b/data/maps/events/SafariZone_North.inc
@@ -0,0 +1,14 @@
+SafariZone_North_MapObjects: @ 853B160
+ object_event 1, MAP_OBJ_GFX_FISHERMAN, 0, 0, 22, 9, 3, 2, 17, 0, 0, 0, SafariZone_North_EventScript_23D254, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_5, 0, 0, 6, 29, 3, 2, 17, 0, 0, 0, SafariZone_North_EventScript_23D25D, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 25, 10, 3, 1, 17, 0, 0, 0, SafariZone_North_EventScript_2907A6, 17, 0, 0
+ object_event 4, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 25, 13, 3, 1, 17, 0, 0, 0, SafariZone_North_EventScript_2907A6, 18, 0, 0
+ object_event 5, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 28, 14, 3, 1, 17, 0, 0, 0, SafariZone_North_EventScript_2907A6, 19, 0, 0
+ object_event 6, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 23, 6, 3, 1, 17, 0, 0, 0, SafariZone_North_EventScript_2907A6, 20, 0, 0
+ object_event 7, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 20, 7, 3, 1, 17, 0, 0, 0, SafariZone_North_EventScript_2907A6, 21, 0, 0
+ object_event 8, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 27, 7, 3, 1, 17, 0, 0, 0, SafariZone_North_EventScript_2907A6, 22, 0, 0
+ object_event 9, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 6, 3, 1, 17, 0, 0, 0, SafariZone_North_EventScript_2912C9, 1119, 0, 0
+
+SafariZone_North_MapEvents:: @ 853B238
+ map_events SafariZone_North_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/SafariZone_Northeast.inc b/data/maps/events/SafariZone_Northeast.inc
new file mode 100644
index 000000000..84505d6e6
--- /dev/null
+++ b/data/maps/events/SafariZone_Northeast.inc
@@ -0,0 +1,18 @@
+SafariZone_Northeast_MapObjects: @ 853B968
+ object_event 1, MAP_OBJ_GFX_BOY_3, 0, 0, 8, 20, 3, 1, 17, 0, 0, 0, SafariZone_Northeast_EventScript_23D3C6, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GIRL_3, 0, 0, 30, 22, 3, 1, 17, 0, 0, 0, SafariZone_Northeast_EventScript_23D3D8, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 11, 11, 3, 1, 17, 0, 0, 0, SafariZone_Northeast_EventScript_2907A6, 21, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_1, 0, 0, 13, 35, 0, 1, 17, 0, 0, 0, SafariZone_Northeast_EventScript_23D3CF, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 8, 13, 3, 1, 17, 0, 0, 0, SafariZone_Northeast_EventScript_2907A6, 19, 0, 0
+ object_event 6, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 9, 7, 3, 1, 17, 0, 0, 0, SafariZone_Northeast_EventScript_2907A6, 17, 0, 0
+ object_event 7, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 8, 10, 3, 1, 17, 0, 0, 0, SafariZone_Northeast_EventScript_2907A6, 20, 0, 0
+ object_event 8, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 12, 8, 3, 1, 17, 0, 0, 0, SafariZone_Northeast_EventScript_2907A6, 18, 0, 0
+ object_event 9, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 8, 17, 3, 1, 17, 0, 0, 0, SafariZone_Northeast_EventScript_2912E3, 1169, 0, 0
+
+SafariZone_Northeast_MapBGEvents: @ 853BA40
+ bg_event 31, 35, 3, 7, 0, ITEM_RARE_CANDY, 106, 0
+ bg_event 21, 5, 3, 7, 0, ITEM_ZINC, 107, 0
+
+SafariZone_Northeast_MapEvents:: @ 853BA58
+ map_events SafariZone_Northeast_MapObjects, 0x0, 0x0, SafariZone_Northeast_MapBGEvents
+
diff --git a/data/maps/events/SafariZone_Northwest.inc b/data/maps/events/SafariZone_Northwest.inc
new file mode 100644
index 000000000..64152d008
--- /dev/null
+++ b/data/maps/events/SafariZone_Northwest.inc
@@ -0,0 +1,7 @@
+SafariZone_Northwest_MapObjects: @ 853B11C
+ object_event 1, MAP_OBJ_GFX_MAN_1, 0, 0, 8, 8, 5, 8, 0, 0, 0, 0, SafariZone_Northwest_EventScript_23D24A, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 33, 7, 3, 1, 17, 0, 0, 0, SafariZone_Northwest_EventScript_2912BC, 1094, 0, 0
+
+SafariZone_Northwest_MapEvents:: @ 853B14C
+ map_events SafariZone_Northwest_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/SafariZone_RestHouse.inc b/data/maps/events/SafariZone_RestHouse.inc
new file mode 100644
index 000000000..863c3113a
--- /dev/null
+++ b/data/maps/events/SafariZone_RestHouse.inc
@@ -0,0 +1,12 @@
+SafariZone_RestHouse_MapObjects: @ 853B8FC
+ object_event 1, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 7, 4, 0, 10, 17, 0, 0, 0, SafariZone_RestHouse_EventScript_242BE7, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_PSYCHIC_M, 0, 0, 8, 4, 0, 9, 17, 0, 0, 0, SafariZone_RestHouse_EventScript_242BF0, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_FAT_MAN, 0, 0, 2, 5, 3, 10, 17, 0, 0, 0, SafariZone_RestHouse_EventScript_242BF9, 0, 0, 0
+
+SafariZone_RestHouse_MapWarps: @ 853B944
+ warp_def 3, 8, 0, 0, SAFARI_ZONE_SOUTHWEST
+ warp_def 4, 8, 0, 0, SAFARI_ZONE_SOUTHWEST
+
+SafariZone_RestHouse_MapEvents:: @ 853B954
+ map_events SafariZone_RestHouse_MapObjects, SafariZone_RestHouse_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SafariZone_South.inc b/data/maps/events/SafariZone_South.inc
new file mode 100644
index 000000000..4a0ead84c
--- /dev/null
+++ b/data/maps/events/SafariZone_South.inc
@@ -0,0 +1,14 @@
+SafariZone_South_MapObjects: @ 853B2A4
+ object_event 1, MAP_OBJ_GFX_CAMPER, 0, 0, 32, 34, 4, 8, 0, 0, 0, 0, SafariZone_South_EventScript_23D2E5, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BOY_1, 0, 0, 26, 28, 3, 2, 17, 0, 0, 0, SafariZone_South_EventScript_23D2CA, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_5, 0, 0, 16, 6, 5, 8, 0, 0, 0, 0, SafariZone_South_EventScript_23D2D3, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_YOUNGSTER, 0, 0, 15, 31, 3, 2, 17, 0, 0, 0, SafariZone_South_EventScript_23D2DC, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_CAMPER, 0, 0, 36, 16, 3, 9, 17, 0, 0, 0, SafariZone_South_EventScript_23D390, 717, 0, 0
+ object_event 6, MAP_OBJ_GFX_CAMPER, 0, 0, 36, 17, 3, 9, 17, 0, 0, 0, SafariZone_South_EventScript_23D3A2, 717, 0, 0
+
+SafariZone_South_MapWarps: @ 853B334
+ warp_def 32, 33, 0, 0, ROUTE_121_SAFARI_ZONE_ENTRANCE
+
+SafariZone_South_MapEvents:: @ 853B33C
+ map_events SafariZone_South_MapObjects, SafariZone_South_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SafariZone_Southeast.inc b/data/maps/events/SafariZone_Southeast.inc
new file mode 100644
index 000000000..3970e6eb0
--- /dev/null
+++ b/data/maps/events/SafariZone_Southeast.inc
@@ -0,0 +1,14 @@
+SafariZone_Southeast_MapObjects: @ 853BA6C
+ object_event 1, MAP_OBJ_GFX_BOY_4, 0, 0, 7, 7, 3, 1, 17, 0, 0, 0, SafariZone_Southeast_EventScript_23D3BD, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_FAT_MAN, 0, 0, 20, 30, 3, 2, 17, 0, 0, 0, SafariZone_Southeast_EventScript_23D3B4, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 8, 26, 3, 2, 17, 0, 0, 0, SafariZone_Southeast_EventScript_23D3AB, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 31, 15, 3, 1, 17, 0, 0, 0, SafariZone_Southeast_EventScript_2912F0, 1170, 0, 0
+ object_event 5, MAP_OBJ_GFX_CAMPER, 0, 0, 12, 16, 3, 9, 17, 0, 0, 0, SafariZone_Southeast_EventScript_23D399, 747, 0, 0
+
+SafariZone_Southeast_MapBGEvents: @ 853BAE4
+ bg_event 19, 36, 3, 7, 0, ITEM_PP_UP, 108, 0
+ bg_event 32, 33, 0, 7, 0, ITEM_FULL_RESTORE, 105, 0
+
+SafariZone_Southeast_MapEvents:: @ 853BAFC
+ map_events SafariZone_Southeast_MapObjects, 0x0, 0x0, SafariZone_Southeast_MapBGEvents
+
diff --git a/data/maps/events/SafariZone_Southwest.inc b/data/maps/events/SafariZone_Southwest.inc
new file mode 100644
index 000000000..9edb33ddb
--- /dev/null
+++ b/data/maps/events/SafariZone_Southwest.inc
@@ -0,0 +1,13 @@
+SafariZone_Southwest_MapObjects: @ 853B24C
+ object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 22, 9, 3, 8, 0, 0, 0, 0, SafariZone_Southwest_EventScript_23D267, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 0, 37, 3, 1, 17, 0, 0, 0, SafariZone_Southwest_EventScript_2912D6, 1131, 0, 0
+
+SafariZone_Southwest_MapWarps: @ 853B27C
+ warp_def 29, 7, 3, 0, SAFARI_ZONE_REST_HOUSE
+
+SafariZone_Southwest_MapBGEvents: @ 853B284
+ bg_event 32, 7, 3, 0, 0, SafariZone_Southwest_EventScript_23D270
+
+SafariZone_Southwest_MapEvents:: @ 853B290
+ map_events SafariZone_Southwest_MapObjects, SafariZone_Southwest_MapWarps, 0x0, SafariZone_Southwest_MapBGEvents
+
diff --git a/data/maps/events/ScorchedSlab.inc b/data/maps/events/ScorchedSlab.inc
new file mode 100644
index 000000000..f5c878466
--- /dev/null
+++ b/data/maps/events/ScorchedSlab.inc
@@ -0,0 +1,9 @@
+ScorchedSlab_MapObjects: @ 8536F88
+ object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 7, 5, 3, 1, 0, 0, 0, 0, ScorchedSlab_EventScript_2912AF, 1079, 0, 0
+
+ScorchedSlab_MapWarps: @ 8536FA0
+ warp_def 7, 16, 1, 1, ROUTE_120
+
+ScorchedSlab_MapEvents:: @ 8536FA8
+ map_events ScorchedSlab_MapObjects, ScorchedSlab_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SeafloorCavern_Entrance.inc b/data/maps/events/SeafloorCavern_Entrance.inc
new file mode 100644
index 000000000..3a41757e2
--- /dev/null
+++ b/data/maps/events/SeafloorCavern_Entrance.inc
@@ -0,0 +1,10 @@
+SeafloorCavern_Entrance_MapObjects: @ 85356BC
+ object_event 1, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 10, 2, 3, 7, 17, 0, 0, 0, SeafloorCavern_Entrance_EventScript_234485, 941, 0, 0
+
+SeafloorCavern_Entrance_MapWarps: @ 85356D4
+ warp_def 10, 18, 3, 0, UNDERWATER_4
+ warp_def 10, 1, 3, 0, SEAFLOOR_CAVERN_ROOM_1
+
+SeafloorCavern_Entrance_MapEvents:: @ 85356E4
+ map_events SeafloorCavern_Entrance_MapObjects, SeafloorCavern_Entrance_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SeafloorCavern_Room1.inc b/data/maps/events/SeafloorCavern_Room1.inc
new file mode 100644
index 000000000..4a219357c
--- /dev/null
+++ b/data/maps/events/SeafloorCavern_Room1.inc
@@ -0,0 +1,15 @@
+SeafloorCavern_Room1_MapObjects: @ 85356F8
+ object_event 1, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 5, 11, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room1_EventScript_2908BA, 17, 0, 0
+ object_event 2, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 12, 11, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room1_EventScript_2908BA, 18, 0, 0
+ object_event 3, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 5, 10, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room1_EventScript_2907A6, 19, 0, 0
+ object_event 4, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 8, 6, 3, 1, 17, 0, 1, 2, SeafloorCavern_Room1_EventScript_2347EC, 946, 0, 0
+ object_event 5, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 15, 10, 3, 16, 17, 0, 1, 3, SeafloorCavern_Room1_EventScript_234803, 946, 0, 0
+
+SeafloorCavern_Room1_MapWarps: @ 8535770
+ warp_def 5, 18, 3, 1, SEAFLOOR_CAVERN_ENTRANCE
+ warp_def 17, 13, 3, 0, SEAFLOOR_CAVERN_ROOM_5
+ warp_def 6, 2, 3, 0, SEAFLOOR_CAVERN_ROOM_2
+
+SeafloorCavern_Room1_MapEvents:: @ 8535788
+ map_events SeafloorCavern_Room1_MapObjects, SeafloorCavern_Room1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SeafloorCavern_Room2.inc b/data/maps/events/SeafloorCavern_Room2.inc
new file mode 100644
index 000000000..cf0c2dfad
--- /dev/null
+++ b/data/maps/events/SeafloorCavern_Room2.inc
@@ -0,0 +1,19 @@
+SeafloorCavern_Room2_MapObjects: @ 853579C
+ object_event 1, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 13, 3, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, 18, 0, 0
+ object_event 2, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 10, 3, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, 19, 0, 0
+ object_event 3, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 13, 5, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, 17, 0, 0
+ object_event 4, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 4, 5, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, 21, 0, 0
+ object_event 5, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 7, 4, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, 22, 0, 0
+ object_event 6, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 8, 7, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2907A6, 24, 0, 0
+ object_event 7, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 9, 3, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2907A6, 25, 0, 0
+ object_event 8, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 4, 8, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room2_EventScript_2908BA, 23, 0, 0
+
+SeafloorCavern_Room2_MapWarps: @ 853585C
+ warp_def 10, 7, 3, 2, SEAFLOOR_CAVERN_ROOM_1
+ warp_def 4, 10, 3, 0, SEAFLOOR_CAVERN_ROOM_4
+ warp_def 6, 1, 3, 0, SEAFLOOR_CAVERN_ROOM_6
+ warp_def 11, 1, 3, 0, SEAFLOOR_CAVERN_ROOM_7
+
+SeafloorCavern_Room2_MapEvents:: @ 853587C
+ map_events SeafloorCavern_Room2_MapObjects, SeafloorCavern_Room2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SeafloorCavern_Room3.inc b/data/maps/events/SeafloorCavern_Room3.inc
new file mode 100644
index 000000000..964b45a6d
--- /dev/null
+++ b/data/maps/events/SeafloorCavern_Room3.inc
@@ -0,0 +1,19 @@
+SeafloorCavern_Room3_MapObjects: @ 8535890
+ object_event 1, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 13, 10, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, 18, 0, 0
+ object_event 2, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 11, 10, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, 20, 0, 0
+ object_event 3, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 12, 9, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, 21, 0, 0
+ object_event 4, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 12, 7, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, 22, 0, 0
+ object_event 5, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 11, 8, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, 23, 0, 0
+ object_event 6, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 12, 11, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, 24, 0, 0
+ object_event 7, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 13, 8, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room3_EventScript_2908BA, 25, 0, 0
+ object_event 8, MAP_OBJ_GFX_AQUA_MEMBER_F, 0, 0, 9, 5, 3, 9, 17, 0, 1, 6, SeafloorCavern_Room3_EventScript_234938, 946, 0, 0
+ object_event 9, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 5, 5, 3, 10, 17, 0, 1, 4, SeafloorCavern_Room3_EventScript_23494F, 946, 0, 0
+
+SeafloorCavern_Room3_MapWarps: @ 8535968
+ warp_def 8, 1, 3, 1, SEAFLOOR_CAVERN_ROOM_8
+ warp_def 9, 13, 3, 1, SEAFLOOR_CAVERN_ROOM_7
+ warp_def 4, 15, 3, 1, SEAFLOOR_CAVERN_ROOM_6
+
+SeafloorCavern_Room3_MapEvents:: @ 8535980
+ map_events SeafloorCavern_Room3_MapObjects, SeafloorCavern_Room3_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SeafloorCavern_Room4.inc b/data/maps/events/SeafloorCavern_Room4.inc
new file mode 100644
index 000000000..79d57dd72
--- /dev/null
+++ b/data/maps/events/SeafloorCavern_Room4.inc
@@ -0,0 +1,13 @@
+SeafloorCavern_Room4_MapObjects: @ 8535994
+ object_event 1, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 5, 8, 3, 17, 17, 0, 1, 3, SeafloorCavern_Room4_EventScript_234C9C, 946, 0, 0
+ object_event 2, MAP_OBJ_GFX_AQUA_MEMBER_F, 0, 0, 5, 12, 3, 7, 17, 0, 1, 3, SeafloorCavern_Room4_EventScript_234CB3, 946, 0, 0
+
+SeafloorCavern_Room4_MapWarps: @ 85359C4
+ warp_def 13, 1, 3, 1, SEAFLOOR_CAVERN_ROOM_2
+ warp_def 4, 1, 3, 1, SEAFLOOR_CAVERN_ROOM_5
+ warp_def 9, 10, 3, 2, SEAFLOOR_CAVERN_ROOM_5
+ warp_def 10, 15, 3, 1, SEAFLOOR_CAVERN_ENTRANCE
+
+SeafloorCavern_Room4_MapEvents:: @ 85359E4
+ map_events SeafloorCavern_Room4_MapObjects, SeafloorCavern_Room4_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SeafloorCavern_Room5.inc b/data/maps/events/SeafloorCavern_Room5.inc
new file mode 100644
index 000000000..b88a862ab
--- /dev/null
+++ b/data/maps/events/SeafloorCavern_Room5.inc
@@ -0,0 +1,16 @@
+SeafloorCavern_Room5_MapObjects: @ 85359F8
+ object_event 1, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 3, 11, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2908BA, 17, 0, 0
+ object_event 2, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 4, 11, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2908BA, 18, 0, 0
+ object_event 3, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 11, 7, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2908BA, 19, 0, 0
+ object_event 4, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 3, 13, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2907A6, 21, 0, 0
+ object_event 5, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 13, 8, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2907A6, 22, 0, 0
+ object_event 6, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 12, 8, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room5_EventScript_2908BA, 20, 0, 0
+
+SeafloorCavern_Room5_MapWarps: @ 8535A88
+ warp_def 4, 1, 3, 1, SEAFLOOR_CAVERN_ROOM_1
+ warp_def 15, 12, 3, 1, SEAFLOOR_CAVERN_ROOM_4
+ warp_def 7, 17, 3, 2, SEAFLOOR_CAVERN_ROOM_4
+
+SeafloorCavern_Room5_MapEvents:: @ 8535AA0
+ map_events SeafloorCavern_Room5_MapObjects, SeafloorCavern_Room5_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SeafloorCavern_Room6.inc b/data/maps/events/SeafloorCavern_Room6.inc
new file mode 100644
index 000000000..2293f359d
--- /dev/null
+++ b/data/maps/events/SeafloorCavern_Room6.inc
@@ -0,0 +1,8 @@
+SeafloorCavern_Room6_MapWarps: @ 8535AB4
+ warp_def 11, 21, 3, 2, SEAFLOOR_CAVERN_ROOM_2
+ warp_def 4, 1, 3, 2, SEAFLOOR_CAVERN_ROOM_3
+ warp_def 14, 8, 1, 1, SEAFLOOR_CAVERN_ENTRANCE
+
+SeafloorCavern_Room6_MapEvents:: @ 8535ACC
+ map_events 0x0, SeafloorCavern_Room6_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SeafloorCavern_Room7.inc b/data/maps/events/SeafloorCavern_Room7.inc
new file mode 100644
index 000000000..002154473
--- /dev/null
+++ b/data/maps/events/SeafloorCavern_Room7.inc
@@ -0,0 +1,7 @@
+SeafloorCavern_Room7_MapWarps: @ 8535AE0
+ warp_def 3, 23, 3, 3, SEAFLOOR_CAVERN_ROOM_2
+ warp_def 5, 1, 3, 1, SEAFLOOR_CAVERN_ROOM_3
+
+SeafloorCavern_Room7_MapEvents:: @ 8535AF0
+ map_events 0x0, SeafloorCavern_Room7_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SeafloorCavern_Room8.inc b/data/maps/events/SeafloorCavern_Room8.inc
new file mode 100644
index 000000000..7fd65fc08
--- /dev/null
+++ b/data/maps/events/SeafloorCavern_Room8.inc
@@ -0,0 +1,21 @@
+SeafloorCavern_Room8_MapObjects: @ 8535B04
+ object_event 1, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 4, 7, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 17, 0, 0
+ object_event 2, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 5, 7, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 18, 0, 0
+ object_event 3, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 6, 7, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 19, 0, 0
+ object_event 4, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 3, 6, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 20, 0, 0
+ object_event 5, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 7, 6, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 21, 0, 0
+ object_event 6, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 4, 5, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 22, 0, 0
+ object_event 7, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 5, 5, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 23, 0, 0
+ object_event 8, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 6, 5, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 24, 0, 0
+ object_event 9, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 3, 4, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 25, 0, 0
+ object_event 10, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 4, 4, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 26, 0, 0
+ object_event 11, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 6, 4, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 27, 0, 0
+ object_event 12, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 7, 4, 3, 1, 0, 0, 0, 0, SeafloorCavern_Room8_EventScript_2908BA, 28, 0, 0
+
+SeafloorCavern_Room8_MapWarps: @ 8535C24
+ warp_def 5, 2, 3, 0, SEAFLOOR_CAVERN_ROOM_9
+ warp_def 5, 12, 3, 0, SEAFLOOR_CAVERN_ROOM_3
+
+SeafloorCavern_Room8_MapEvents:: @ 8535C34
+ map_events SeafloorCavern_Room8_MapObjects, SeafloorCavern_Room8_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SeafloorCavern_Room9.inc b/data/maps/events/SeafloorCavern_Room9.inc
new file mode 100644
index 000000000..bcd27d030
--- /dev/null
+++ b/data/maps/events/SeafloorCavern_Room9.inc
@@ -0,0 +1,18 @@
+SeafloorCavern_Room9_MapObjects: @ 8535C48
+ object_event 1, MAP_OBJ_GFX_KYOGRE_1, 0, 0, 17, 38, 3, 8, 0, 0, 0, 0, 0x0, 859, 0, 0
+ object_event 2, MAP_OBJ_GFX_ARCHIE, 0, 0, 9, 42, 3, 10, 0, 0, 0, 0, 0x0, 828, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAXIE, 0, 0, 9, 42, 3, 10, 0, 0, 0, 0, 0x0, 829, 0, 0
+ object_event 4, MAP_OBJ_GFX_MAGMA_MEMBER_M, 0, 0, 8, 41, 3, 10, 0, 0, 0, 0, 0x0, 831, 0, 0
+ object_event 5, MAP_OBJ_GFX_MAGMA_MEMBER_F, 0, 0, 8, 42, 3, 10, 0, 0, 0, 0, 0x0, 831, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 14, 5, 3, 1, 17, 0, 0, 0, SeafloorCavern_Room9_EventScript_291401, 1090, 0, 0
+ object_event 7, MAP_OBJ_GFX_KYOGRE_2, 0, 0, 17, 38, 3, 8, 17, 0, 0, 0, 0x0, 733, 0, 0
+
+SeafloorCavern_Room9_MapWarps: @ 8535CF0
+ warp_def 5, 4, 3, 0, SEAFLOOR_CAVERN_ROOM_8
+
+SeafloorCavern_Room9_MapCoordEvents: @ 8535CF8
+ coord_event 17, 42, 3, 0, VAR_0x40A2, 0, 0, SeafloorCavern_Room9_EventScript_234DC9
+
+SeafloorCavern_Room9_MapEvents:: @ 8535D08
+ map_events SeafloorCavern_Room9_MapObjects, SeafloorCavern_Room9_MapWarps, SeafloorCavern_Room9_MapCoordEvents, 0x0
+
diff --git a/data/maps/events/SealedChamber_InnerRoom.inc b/data/maps/events/SealedChamber_InnerRoom.inc
new file mode 100644
index 000000000..753d6dbfb
--- /dev/null
+++ b/data/maps/events/SealedChamber_InnerRoom.inc
@@ -0,0 +1,17 @@
+SealedChamber_InnerRoom_MapWarps: @ 8536F00
+ warp_def 10, 19, 3, 0, SEALED_CHAMBER_OUTER_ROOM
+
+SealedChamber_InnerRoom_MapBGEvents: @ 8536F08
+ bg_event 10, 4, 0, 0, 0, SealedChamber_InnerRoom_EventScript_2391F8
+ bg_event 6, 8, 0, 0, 0, SealedChamber_InnerRoom_EventScript_239255
+ bg_event 14, 8, 0, 0, 0, SealedChamber_InnerRoom_EventScript_23925F
+ bg_event 4, 13, 0, 0, 0, SealedChamber_InnerRoom_EventScript_239269
+ bg_event 16, 13, 0, 0, 0, SealedChamber_InnerRoom_EventScript_239273
+ bg_event 6, 18, 0, 0, 0, SealedChamber_InnerRoom_EventScript_23927D
+ bg_event 14, 18, 0, 0, 0, SealedChamber_InnerRoom_EventScript_239287
+ bg_event 9, 4, 0, 0, 0, SealedChamber_InnerRoom_EventScript_2391F8
+ bg_event 11, 4, 0, 0, 0, SealedChamber_InnerRoom_EventScript_2391F8
+
+SealedChamber_InnerRoom_MapEvents:: @ 8536F74
+ map_events 0x0, SealedChamber_InnerRoom_MapWarps, 0x0, SealedChamber_InnerRoom_MapBGEvents
+
diff --git a/data/maps/events/SealedChamber_OuterRoom.inc b/data/maps/events/SealedChamber_OuterRoom.inc
new file mode 100644
index 000000000..21be37675
--- /dev/null
+++ b/data/maps/events/SealedChamber_OuterRoom.inc
@@ -0,0 +1,37 @@
+SealedChamber_OuterRoom_MapWarps: @ 8536D88
+ warp_def 10, 2, 3, 0, SEALED_CHAMBER_INNER_ROOM
+
+SealedChamber_OuterRoom_MapBGEvents: @ 8536D90
+ bg_event 5, 6, 0, 0, 0, SealedChamber_OuterRoom_EventScript_23916C
+ bg_event 5, 9, 0, 0, 0, SealedChamber_OuterRoom_EventScript_239176
+ bg_event 5, 12, 0, 0, 0, SealedChamber_OuterRoom_EventScript_239180
+ bg_event 5, 15, 0, 0, 0, SealedChamber_OuterRoom_EventScript_23918A
+ bg_event 11, 6, 0, 0, 0, SealedChamber_OuterRoom_EventScript_239194
+ bg_event 11, 9, 0, 0, 0, SealedChamber_OuterRoom_EventScript_23919E
+ bg_event 11, 12, 0, 0, 0, SealedChamber_OuterRoom_EventScript_2391A8
+ bg_event 11, 15, 0, 0, 0, SealedChamber_OuterRoom_EventScript_2391BC
+ bg_event 16, 6, 0, 0, 0, SealedChamber_OuterRoom_EventScript_2391B2
+ bg_event 16, 9, 0, 0, 0, SealedChamber_OuterRoom_EventScript_2391C6
+ bg_event 10, 2, 0, 0, 0, SealedChamber_OuterRoom_EventScript_2391D0
+ bg_event 6, 6, 0, 0, 0, SealedChamber_OuterRoom_EventScript_23916C
+ bg_event 4, 6, 0, 0, 0, SealedChamber_OuterRoom_EventScript_23916C
+ bg_event 4, 9, 0, 0, 0, SealedChamber_OuterRoom_EventScript_239176
+ bg_event 6, 9, 0, 0, 0, SealedChamber_OuterRoom_EventScript_239176
+ bg_event 4, 12, 0, 0, 0, SealedChamber_OuterRoom_EventScript_239180
+ bg_event 6, 12, 0, 0, 0, SealedChamber_OuterRoom_EventScript_239180
+ bg_event 4, 15, 0, 0, 0, SealedChamber_OuterRoom_EventScript_23918A
+ bg_event 6, 15, 0, 0, 0, SealedChamber_OuterRoom_EventScript_23918A
+ bg_event 10, 6, 0, 0, 0, SealedChamber_OuterRoom_EventScript_239194
+ bg_event 12, 6, 0, 0, 0, SealedChamber_OuterRoom_EventScript_239194
+ bg_event 10, 9, 0, 0, 0, SealedChamber_OuterRoom_EventScript_23919E
+ bg_event 12, 9, 0, 0, 0, SealedChamber_OuterRoom_EventScript_23919E
+ bg_event 10, 12, 0, 0, 0, SealedChamber_OuterRoom_EventScript_2391A8
+ bg_event 12, 12, 0, 0, 0, SealedChamber_OuterRoom_EventScript_2391A8
+ bg_event 10, 15, 0, 0, 0, SealedChamber_OuterRoom_EventScript_2391BC
+ bg_event 12, 15, 0, 0, 0, SealedChamber_OuterRoom_EventScript_2391BC
+ bg_event 9, 2, 0, 0, 0, SealedChamber_OuterRoom_EventScript_2391ED
+ bg_event 11, 2, 0, 0, 0, SealedChamber_OuterRoom_EventScript_2391ED
+
+SealedChamber_OuterRoom_MapEvents:: @ 8536EEC
+ map_events 0x0, SealedChamber_OuterRoom_MapWarps, 0x0, SealedChamber_OuterRoom_MapBGEvents
+
diff --git a/data/maps/events/SecretBase_BlueCave1.inc b/data/maps/events/SecretBase_BlueCave1.inc
new file mode 100644
index 000000000..eb92a3851
--- /dev/null
+++ b/data/maps/events/SecretBase_BlueCave1.inc
@@ -0,0 +1,23 @@
+SecretBase_BlueCave1_MapObjects: @ 8537BEC
+ object_event 1, 255, 0, 0, 4, 2, 3, 8, 0, 0, 0, 0, SecretBase_BlueCave1_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_BlueCave1_MapWarps: @ 8537D54
+ warp_def 5, 7, 0, 126, NONE
+
+SecretBase_BlueCave1_MapEvents:: @ 8537D5C
+ map_events SecretBase_BlueCave1_MapObjects, SecretBase_BlueCave1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_BlueCave2.inc b/data/maps/events/SecretBase_BlueCave2.inc
new file mode 100644
index 000000000..e2db7471f
--- /dev/null
+++ b/data/maps/events/SecretBase_BlueCave2.inc
@@ -0,0 +1,23 @@
+SecretBase_BlueCave2_MapObjects: @ 8538504
+ object_event 1, 255, 0, 0, 2, 1, 3, 8, 0, 0, 0, 0, SecretBase_BlueCave2_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_BlueCave2_MapWarps: @ 853866C
+ warp_def 7, 5, 0, 126, NONE
+
+SecretBase_BlueCave2_MapEvents:: @ 8538674
+ map_events SecretBase_BlueCave2_MapObjects, SecretBase_BlueCave2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_BlueCave3.inc b/data/maps/events/SecretBase_BlueCave3.inc
new file mode 100644
index 000000000..cc5606ac4
--- /dev/null
+++ b/data/maps/events/SecretBase_BlueCave3.inc
@@ -0,0 +1,23 @@
+SecretBase_BlueCave3_MapObjects: @ 8538E1C
+ object_event 1, 255, 0, 0, 5, 1, 3, 8, 0, 0, 0, 0, SecretBase_BlueCave3_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_BlueCave3_MapWarps: @ 8538F84
+ warp_def 4, 15, 0, 126, NONE
+
+SecretBase_BlueCave3_MapEvents:: @ 8538F8C
+ map_events SecretBase_BlueCave3_MapObjects, SecretBase_BlueCave3_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_BlueCave4.inc b/data/maps/events/SecretBase_BlueCave4.inc
new file mode 100644
index 000000000..0efdf765d
--- /dev/null
+++ b/data/maps/events/SecretBase_BlueCave4.inc
@@ -0,0 +1,23 @@
+SecretBase_BlueCave4_MapObjects: @ 8539734
+ object_event 1, 255, 0, 0, 5, 13, 3, 8, 0, 0, 0, 0, SecretBase_BlueCave4_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_BlueCave4_MapWarps: @ 853989C
+ warp_def 4, 15, 0, 126, NONE
+
+SecretBase_BlueCave4_MapEvents:: @ 85398A4
+ map_events SecretBase_BlueCave4_MapObjects, SecretBase_BlueCave4_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_BrownCave1.inc b/data/maps/events/SecretBase_BrownCave1.inc
new file mode 100644
index 000000000..7755a5a09
--- /dev/null
+++ b/data/maps/events/SecretBase_BrownCave1.inc
@@ -0,0 +1,23 @@
+SecretBase_BrownCave1_MapObjects: @ 8537A68
+ object_event 1, 255, 0, 0, 5, 2, 3, 8, 0, 0, 0, 0, SecretBase_BrownCave1_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_BrownCave1_MapWarps: @ 8537BD0
+ warp_def 5, 7, 0, 126, NONE
+
+SecretBase_BrownCave1_MapEvents:: @ 8537BD8
+ map_events SecretBase_BrownCave1_MapObjects, SecretBase_BrownCave1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_BrownCave2.inc b/data/maps/events/SecretBase_BrownCave2.inc
new file mode 100644
index 000000000..37a1387bf
--- /dev/null
+++ b/data/maps/events/SecretBase_BrownCave2.inc
@@ -0,0 +1,23 @@
+SecretBase_BrownCave2_MapObjects: @ 8538380
+ object_event 1, 255, 0, 0, 11, 2, 3, 8, 0, 0, 0, 0, SecretBase_BrownCave2_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_BrownCave2_MapWarps: @ 85384E8
+ warp_def 1, 7, 0, 126, NONE
+
+SecretBase_BrownCave2_MapEvents:: @ 85384F0
+ map_events SecretBase_BrownCave2_MapObjects, SecretBase_BrownCave2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_BrownCave3.inc b/data/maps/events/SecretBase_BrownCave3.inc
new file mode 100644
index 000000000..14c9905a2
--- /dev/null
+++ b/data/maps/events/SecretBase_BrownCave3.inc
@@ -0,0 +1,23 @@
+SecretBase_BrownCave3_MapObjects: @ 8538C98
+ object_event 1, 255, 0, 0, 1, 7, 3, 8, 0, 0, 0, 0, SecretBase_BrownCave3_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_BrownCave3_MapWarps: @ 8538E00
+ warp_def 11, 9, 0, 126, NONE
+
+SecretBase_BrownCave3_MapEvents:: @ 8538E08
+ map_events SecretBase_BrownCave3_MapObjects, SecretBase_BrownCave3_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_BrownCave4.inc b/data/maps/events/SecretBase_BrownCave4.inc
new file mode 100644
index 000000000..543cb0072
--- /dev/null
+++ b/data/maps/events/SecretBase_BrownCave4.inc
@@ -0,0 +1,23 @@
+SecretBase_BrownCave4_MapObjects: @ 85395B0
+ object_event 1, 255, 0, 0, 2, 1, 3, 8, 0, 0, 0, 0, SecretBase_BrownCave4_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_BrownCave4_MapWarps: @ 8539718
+ warp_def 2, 8, 0, 126, NONE
+
+SecretBase_BrownCave4_MapEvents:: @ 8539720
+ map_events SecretBase_BrownCave4_MapObjects, SecretBase_BrownCave4_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_RedCave1.inc b/data/maps/events/SecretBase_RedCave1.inc
new file mode 100644
index 000000000..ebc15ecd7
--- /dev/null
+++ b/data/maps/events/SecretBase_RedCave1.inc
@@ -0,0 +1,23 @@
+SecretBase_RedCave1_MapObjects: @ 85378E4
+ object_event 1, 255, 0, 0, 7, 4, 3, 8, 0, 0, 0, 0, SecretBase_RedCave1_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_RedCave1_MapWarps: @ 8537A4C
+ warp_def 5, 7, 0, 126, NONE
+
+SecretBase_RedCave1_MapEvents:: @ 8537A54
+ map_events SecretBase_RedCave1_MapObjects, SecretBase_RedCave1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_RedCave2.inc b/data/maps/events/SecretBase_RedCave2.inc
new file mode 100644
index 000000000..ef7958e9a
--- /dev/null
+++ b/data/maps/events/SecretBase_RedCave2.inc
@@ -0,0 +1,23 @@
+SecretBase_RedCave2_MapObjects: @ 85381FC
+ object_event 1, 255, 0, 0, 3, 1, 3, 8, 0, 0, 0, 0, SecretBase_RedCave2_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_RedCave2_MapWarps: @ 8538364
+ warp_def 3, 14, 0, 126, NONE
+
+SecretBase_RedCave2_MapEvents:: @ 853836C
+ map_events SecretBase_RedCave2_MapObjects, SecretBase_RedCave2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_RedCave3.inc b/data/maps/events/SecretBase_RedCave3.inc
new file mode 100644
index 000000000..65dc43026
--- /dev/null
+++ b/data/maps/events/SecretBase_RedCave3.inc
@@ -0,0 +1,23 @@
+SecretBase_RedCave3_MapObjects: @ 8538B14
+ object_event 1, 255, 0, 0, 12, 1, 3, 8, 0, 0, 0, 0, SecretBase_RedCave3_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_RedCave3_MapWarps: @ 8538C7C
+ warp_def 3, 6, 0, 126, NONE
+
+SecretBase_RedCave3_MapEvents:: @ 8538C84
+ map_events SecretBase_RedCave3_MapObjects, SecretBase_RedCave3_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_RedCave4.inc b/data/maps/events/SecretBase_RedCave4.inc
new file mode 100644
index 000000000..274a459cd
--- /dev/null
+++ b/data/maps/events/SecretBase_RedCave4.inc
@@ -0,0 +1,23 @@
+SecretBase_RedCave4_MapObjects: @ 853942C
+ object_event 1, 255, 0, 0, 5, 8, 3, 8, 0, 0, 0, 0, SecretBase_RedCave4_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_RedCave4_MapWarps: @ 8539594
+ warp_def 2, 12, 0, 126, NONE
+
+SecretBase_RedCave4_MapEvents:: @ 853959C
+ map_events SecretBase_RedCave4_MapObjects, SecretBase_RedCave4_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_Shrub1.inc b/data/maps/events/SecretBase_Shrub1.inc
new file mode 100644
index 000000000..e20d76bc2
--- /dev/null
+++ b/data/maps/events/SecretBase_Shrub1.inc
@@ -0,0 +1,23 @@
+SecretBase_Shrub1_MapObjects: @ 8538078
+ object_event 1, 255, 0, 0, 5, 2, 3, 8, 0, 0, 0, 0, SecretBase_Shrub1_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_Shrub1_MapWarps: @ 85381E0
+ warp_def 5, 7, 0, 126, NONE
+
+SecretBase_Shrub1_MapEvents:: @ 85381E8
+ map_events SecretBase_Shrub1_MapObjects, SecretBase_Shrub1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_Shrub2.inc b/data/maps/events/SecretBase_Shrub2.inc
new file mode 100644
index 000000000..23d023b31
--- /dev/null
+++ b/data/maps/events/SecretBase_Shrub2.inc
@@ -0,0 +1,23 @@
+SecretBase_Shrub2_MapObjects: @ 8538990
+ object_event 1, 255, 0, 0, 13, 2, 3, 8, 0, 0, 0, 0, SecretBase_Shrub2_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_Shrub2_MapWarps: @ 8538AF8
+ warp_def 7, 5, 0, 126, NONE
+
+SecretBase_Shrub2_MapEvents:: @ 8538B00
+ map_events SecretBase_Shrub2_MapObjects, SecretBase_Shrub2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_Shrub3.inc b/data/maps/events/SecretBase_Shrub3.inc
new file mode 100644
index 000000000..5fe624dc3
--- /dev/null
+++ b/data/maps/events/SecretBase_Shrub3.inc
@@ -0,0 +1,23 @@
+SecretBase_Shrub3_MapObjects: @ 85392A8
+ object_event 1, 255, 0, 0, 5, 7, 3, 8, 0, 0, 0, 0, SecretBase_Shrub3_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_Shrub3_MapWarps: @ 8539410
+ warp_def 6, 9, 0, 126, NONE
+
+SecretBase_Shrub3_MapEvents:: @ 8539418
+ map_events SecretBase_Shrub3_MapObjects, SecretBase_Shrub3_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_Shrub4.inc b/data/maps/events/SecretBase_Shrub4.inc
new file mode 100644
index 000000000..ad432f6ff
--- /dev/null
+++ b/data/maps/events/SecretBase_Shrub4.inc
@@ -0,0 +1,23 @@
+SecretBase_Shrub4_MapObjects: @ 8539BC0
+ object_event 1, 255, 0, 0, 9, 7, 3, 8, 0, 0, 0, 0, SecretBase_Shrub4_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_Shrub4_MapWarps: @ 8539D28
+ warp_def 11, 8, 0, 126, NONE
+
+SecretBase_Shrub4_MapEvents:: @ 8539D30
+ map_events SecretBase_Shrub4_MapObjects, SecretBase_Shrub4_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_Tree1.inc b/data/maps/events/SecretBase_Tree1.inc
new file mode 100644
index 000000000..149d5dea3
--- /dev/null
+++ b/data/maps/events/SecretBase_Tree1.inc
@@ -0,0 +1,23 @@
+SecretBase_Tree1_MapObjects: @ 8537EF4
+ object_event 1, 255, 0, 0, 5, 1, 3, 8, 0, 0, 0, 0, SecretBase_Tree1_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_Tree1_MapWarps: @ 853805C
+ warp_def 5, 7, 0, 126, NONE
+
+SecretBase_Tree1_MapEvents:: @ 8538064
+ map_events SecretBase_Tree1_MapObjects, SecretBase_Tree1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_Tree2.inc b/data/maps/events/SecretBase_Tree2.inc
new file mode 100644
index 000000000..16037e22f
--- /dev/null
+++ b/data/maps/events/SecretBase_Tree2.inc
@@ -0,0 +1,23 @@
+SecretBase_Tree2_MapObjects: @ 853880C
+ object_event 1, 255, 0, 0, 3, 1, 3, 8, 0, 0, 0, 0, SecretBase_Tree2_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_Tree2_MapWarps: @ 8538974
+ warp_def 3, 14, 0, 126, NONE
+
+SecretBase_Tree2_MapEvents:: @ 853897C
+ map_events SecretBase_Tree2_MapObjects, SecretBase_Tree2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_Tree3.inc b/data/maps/events/SecretBase_Tree3.inc
new file mode 100644
index 000000000..6fbd60683
--- /dev/null
+++ b/data/maps/events/SecretBase_Tree3.inc
@@ -0,0 +1,23 @@
+SecretBase_Tree3_MapObjects: @ 8539124
+ object_event 1, 255, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, SecretBase_Tree3_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_Tree3_MapWarps: @ 853928C
+ warp_def 8, 6, 0, 126, NONE
+
+SecretBase_Tree3_MapEvents:: @ 8539294
+ map_events SecretBase_Tree3_MapObjects, SecretBase_Tree3_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_Tree4.inc b/data/maps/events/SecretBase_Tree4.inc
new file mode 100644
index 000000000..4032d668a
--- /dev/null
+++ b/data/maps/events/SecretBase_Tree4.inc
@@ -0,0 +1,23 @@
+SecretBase_Tree4_MapObjects: @ 8539A3C
+ object_event 1, 255, 0, 0, 10, 9, 3, 8, 0, 0, 0, 0, SecretBase_Tree4_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_Tree4_MapWarps: @ 8539BA4
+ warp_def 7, 12, 0, 126, NONE
+
+SecretBase_Tree4_MapEvents:: @ 8539BAC
+ map_events SecretBase_Tree4_MapObjects, SecretBase_Tree4_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_YellowCave1.inc b/data/maps/events/SecretBase_YellowCave1.inc
new file mode 100644
index 000000000..7d604b093
--- /dev/null
+++ b/data/maps/events/SecretBase_YellowCave1.inc
@@ -0,0 +1,23 @@
+SecretBase_YellowCave1_MapObjects: @ 8537D70
+ object_event 1, 255, 0, 0, 3, 1, 3, 8, 0, 0, 0, 0, SecretBase_YellowCave1_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_YellowCave1_MapWarps: @ 8537ED8
+ warp_def 5, 7, 0, 126, NONE
+
+SecretBase_YellowCave1_MapEvents:: @ 8537EE0
+ map_events SecretBase_YellowCave1_MapObjects, SecretBase_YellowCave1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_YellowCave2.inc b/data/maps/events/SecretBase_YellowCave2.inc
new file mode 100644
index 000000000..592595aa8
--- /dev/null
+++ b/data/maps/events/SecretBase_YellowCave2.inc
@@ -0,0 +1,23 @@
+SecretBase_YellowCave2_MapObjects: @ 8538688
+ object_event 1, 255, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, SecretBase_YellowCave2_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_YellowCave2_MapWarps: @ 85387F0
+ warp_def 12, 7, 0, 126, NONE
+
+SecretBase_YellowCave2_MapEvents:: @ 85387F8
+ map_events SecretBase_YellowCave2_MapObjects, SecretBase_YellowCave2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_YellowCave3.inc b/data/maps/events/SecretBase_YellowCave3.inc
new file mode 100644
index 000000000..bd1f69b1a
--- /dev/null
+++ b/data/maps/events/SecretBase_YellowCave3.inc
@@ -0,0 +1,23 @@
+SecretBase_YellowCave3_MapObjects: @ 8538FA0
+ object_event 1, 255, 0, 0, 7, 5, 3, 8, 0, 0, 0, 0, SecretBase_YellowCave3_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_YellowCave3_MapWarps: @ 8539108
+ warp_def 5, 9, 0, 126, NONE
+
+SecretBase_YellowCave3_MapEvents:: @ 8539110
+ map_events SecretBase_YellowCave3_MapObjects, SecretBase_YellowCave3_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SecretBase_YellowCave4.inc b/data/maps/events/SecretBase_YellowCave4.inc
new file mode 100644
index 000000000..fe52f12bb
--- /dev/null
+++ b/data/maps/events/SecretBase_YellowCave4.inc
@@ -0,0 +1,23 @@
+SecretBase_YellowCave4_MapObjects: @ 85398B8
+ object_event 1, 255, 0, 0, 9, 8, 3, 8, 0, 0, 0, 0, SecretBase_YellowCave4_EventScript_275D64, 173, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 0, 0, 3, 8, 0, 0, 0, 0, 0x0, 174, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0x0, 175, 0, 0
+ object_event 4, MAP_OBJ_GFX_STORYTELLER, 0, 0, 0, 2, 3, 8, 0, 0, 0, 0, 0x0, 176, 0, 0
+ object_event 5, MAP_OBJ_GFX_GIDDY, 0, 0, 0, 3, 3, 8, 0, 0, 0, 0, 0x0, 177, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 0, 4, 3, 8, 0, 0, 0, 0, 0x0, 178, 0, 0
+ object_event 7, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 0, 5, 3, 8, 0, 0, 0, 0, 0x0, 179, 0, 0
+ object_event 8, 246, 0, 0, 0, 6, 3, 8, 0, 0, 0, 0, 0x0, 180, 0, 0
+ object_event 9, 247, 0, 0, 1, 0, 3, 8, 0, 0, 0, 0, 0x0, 181, 0, 0
+ object_event 10, 248, 0, 0, 1, 1, 3, 8, 0, 0, 0, 0, 0x0, 182, 0, 0
+ object_event 11, 249, 0, 0, 1, 2, 3, 8, 0, 0, 0, 0, 0x0, 183, 0, 0
+ object_event 12, 250, 0, 0, 1, 3, 3, 8, 0, 0, 0, 0, 0x0, 184, 0, 0
+ object_event 13, 251, 0, 0, 1, 4, 3, 8, 0, 0, 0, 0, 0x0, 185, 0, 0
+ object_event 14, 252, 0, 0, 1, 5, 3, 8, 0, 0, 0, 0, 0x0, 186, 0, 0
+ object_event 15, 253, 0, 0, 1, 6, 3, 8, 0, 0, 0, 0, 0x0, 187, 0, 0
+
+SecretBase_YellowCave4_MapWarps: @ 8539A20
+ warp_def 6, 12, 0, 126, NONE
+
+SecretBase_YellowCave4_MapEvents:: @ 8539A28
+ map_events SecretBase_YellowCave4_MapObjects, SecretBase_YellowCave4_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/ShoalCave_HighTideEntranceRoom.inc b/data/maps/events/ShoalCave_HighTideEntranceRoom.inc
new file mode 100644
index 000000000..e04abe693
--- /dev/null
+++ b/data/maps/events/ShoalCave_HighTideEntranceRoom.inc
@@ -0,0 +1,3 @@
+ShoalCave_HighTideEntranceRoom_MapEvents:: @ 853644C
+ map_events 0x0, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/ShoalCave_HighTideInnerRoom.inc b/data/maps/events/ShoalCave_HighTideInnerRoom.inc
new file mode 100644
index 000000000..20d59a56f
--- /dev/null
+++ b/data/maps/events/ShoalCave_HighTideInnerRoom.inc
@@ -0,0 +1,3 @@
+ShoalCave_HighTideInnerRoom_MapEvents:: @ 8536460
+ map_events 0x0, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/ShoalCave_LowTideEntranceRoom.inc b/data/maps/events/ShoalCave_LowTideEntranceRoom.inc
new file mode 100644
index 000000000..b19a293ef
--- /dev/null
+++ b/data/maps/events/ShoalCave_LowTideEntranceRoom.inc
@@ -0,0 +1,13 @@
+ShoalCave_LowTideEntranceRoom_MapObjects: @ 853627C
+ object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 30, 3, 3, 1, 17, 0, 0, 0, ShoalCave_LowTideEntranceRoom_EventScript_2913C0, 1081, 0, 0
+ object_event 2, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 18, 15, 3, 9, 17, 0, 0, 0, ShoalCave_LowTideEntranceRoom_EventScript_236DD9, 0, 0, 0
+
+ShoalCave_LowTideEntranceRoom_MapWarps: @ 85362AC
+ warp_def 20, 30, 3, 0, ROUTE_125
+ warp_def 19, 5, 3, 0, SHOAL_CAVE_LOW_TIDE_INNER_ROOM
+ warp_def 6, 2, 3, 6, SHOAL_CAVE_LOW_TIDE_INNER_ROOM
+ warp_def 27, 2, 3, 7, SHOAL_CAVE_LOW_TIDE_INNER_ROOM
+
+ShoalCave_LowTideEntranceRoom_MapEvents:: @ 85362CC
+ map_events ShoalCave_LowTideEntranceRoom_MapObjects, ShoalCave_LowTideEntranceRoom_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/ShoalCave_LowTideIceRoom.inc b/data/maps/events/ShoalCave_LowTideIceRoom.inc
new file mode 100644
index 000000000..a02a20864
--- /dev/null
+++ b/data/maps/events/ShoalCave_LowTideIceRoom.inc
@@ -0,0 +1,10 @@
+ShoalCave_LowTideIceRoom_MapObjects: @ 8537100
+ object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 12, 8, 3, 1, 17, 0, 0, 0, ShoalCave_LowTideIceRoom_EventScript_2913E7, 1112, 0, 0
+ object_event 2, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 12, 21, 4, 1, 17, 0, 0, 0, ShoalCave_LowTideIceRoom_EventScript_2913F4, 1113, 0, 0
+
+ShoalCave_LowTideIceRoom_MapWarps: @ 8537130
+ warp_def 17, 10, 3, 3, SHOAL_CAVE_LOW_TIDE_LOWER_ROOM
+
+ShoalCave_LowTideIceRoom_MapEvents:: @ 8537138
+ map_events ShoalCave_LowTideIceRoom_MapObjects, ShoalCave_LowTideIceRoom_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/ShoalCave_LowTideInnerRoom.inc b/data/maps/events/ShoalCave_LowTideInnerRoom.inc
new file mode 100644
index 000000000..8fe34709b
--- /dev/null
+++ b/data/maps/events/ShoalCave_LowTideInnerRoom.inc
@@ -0,0 +1,24 @@
+ShoalCave_LowTideInnerRoom_MapObjects: @ 85362E0
+ object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 26, 14, 5, 1, 17, 0, 0, 0, ShoalCave_LowTideInnerRoom_EventScript_2913CD, 1082, 0, 0
+
+ShoalCave_LowTideInnerRoom_MapWarps: @ 85362F8
+ warp_def 34, 29, 3, 1, SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM
+ warp_def 38, 15, 3, 0, SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM
+ warp_def 42, 4, 3, 1, SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM
+ warp_def 19, 14, 4, 0, SHOAL_CAVE_LOW_TIDE_LOWER_ROOM
+ warp_def 15, 19, 3, 1, SHOAL_CAVE_LOW_TIDE_LOWER_ROOM
+ warp_def 30, 25, 3, 2, SHOAL_CAVE_LOW_TIDE_LOWER_ROOM
+ warp_def 14, 33, 5, 2, SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM
+ warp_def 40, 33, 5, 3, SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM
+
+ShoalCave_LowTideInnerRoom_MapBGEvents: @ 8536338
+ bg_event 31, 8, 5, 0, 0, ShoalCave_LowTideInnerRoom_EventScript_23708C
+ bg_event 14, 26, 3, 0, 0, ShoalCave_LowTideInnerRoom_EventScript_2370C8
+ bg_event 41, 20, 5, 0, 0, ShoalCave_LowTideInnerRoom_EventScript_236FBA
+ bg_event 41, 10, 5, 0, 0, ShoalCave_LowTideInnerRoom_EventScript_236FF6
+ bg_event 6, 9, 3, 0, 0, ShoalCave_LowTideInnerRoom_EventScript_237028
+ bg_event 16, 13, 5, 0, 0, ShoalCave_LowTideInnerRoom_EventScript_23705A
+
+ShoalCave_LowTideInnerRoom_MapEvents:: @ 8536380
+ map_events ShoalCave_LowTideInnerRoom_MapObjects, ShoalCave_LowTideInnerRoom_MapWarps, 0x0, ShoalCave_LowTideInnerRoom_MapBGEvents
+
diff --git a/data/maps/events/ShoalCave_LowTideLowerRoom.inc b/data/maps/events/ShoalCave_LowTideLowerRoom.inc
new file mode 100644
index 000000000..384b6570f
--- /dev/null
+++ b/data/maps/events/ShoalCave_LowTideLowerRoom.inc
@@ -0,0 +1,16 @@
+ShoalCave_LowTideLowerRoom_MapObjects: @ 85363DC
+ object_event 1, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 25, 3, 3, 1, 0, 0, 0, 0, ShoalCave_LowTideLowerRoom_EventScript_2908BA, 17, 0, 0
+ object_event 2, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 11, 4, 3, 2, 17, 0, 0, 0, ShoalCave_LowTideLowerRoom_EventScript_2371B2, 0, 0, 0
+
+ShoalCave_LowTideLowerRoom_MapWarps: @ 853640C
+ warp_def 7, 2, 3, 3, SHOAL_CAVE_LOW_TIDE_INNER_ROOM
+ warp_def 2, 6, 3, 4, SHOAL_CAVE_LOW_TIDE_INNER_ROOM
+ warp_def 19, 11, 3, 5, SHOAL_CAVE_LOW_TIDE_INNER_ROOM
+ warp_def 28, 11, 3, 0, SHOAL_CAVE_LOW_TIDE_ICE_ROOM
+
+ShoalCave_LowTideLowerRoom_MapBGEvents: @ 853642C
+ bg_event 18, 2, 3, 0, 0, ShoalCave_LowTideLowerRoom_EventScript_237176
+
+ShoalCave_LowTideLowerRoom_MapEvents:: @ 8536438
+ map_events ShoalCave_LowTideLowerRoom_MapObjects, ShoalCave_LowTideLowerRoom_MapWarps, 0x0, ShoalCave_LowTideLowerRoom_MapBGEvents
+
diff --git a/data/maps/events/ShoalCave_LowTideStairsRoom.inc b/data/maps/events/ShoalCave_LowTideStairsRoom.inc
new file mode 100644
index 000000000..6592f68d7
--- /dev/null
+++ b/data/maps/events/ShoalCave_LowTideStairsRoom.inc
@@ -0,0 +1,13 @@
+ShoalCave_LowTideStairsRoom_MapObjects: @ 8536394
+ object_event 1, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 13, 12, 3, 1, 17, 0, 0, 0, ShoalCave_LowTideStairsRoom_EventScript_2913DA, 1083, 0, 0
+
+ShoalCave_LowTideStairsRoom_MapWarps: @ 85363AC
+ warp_def 3, 12, 3, 1, SHOAL_CAVE_LOW_TIDE_INNER_ROOM
+ warp_def 7, 4, 3, 2, SHOAL_CAVE_LOW_TIDE_INNER_ROOM
+
+ShoalCave_LowTideStairsRoom_MapBGEvents: @ 85363BC
+ bg_event 11, 11, 3, 0, 0, ShoalCave_LowTideStairsRoom_EventScript_23711A
+
+ShoalCave_LowTideStairsRoom_MapEvents:: @ 85363C8
+ map_events ShoalCave_LowTideStairsRoom_MapObjects, ShoalCave_LowTideStairsRoom_MapWarps, 0x0, ShoalCave_LowTideStairsRoom_MapBGEvents
+
diff --git a/data/maps/events/SingleBattleColosseum.inc b/data/maps/events/SingleBattleColosseum.inc
new file mode 100644
index 000000000..6672b1221
--- /dev/null
+++ b/data/maps/events/SingleBattleColosseum.inc
@@ -0,0 +1,14 @@
+SingleBattleColosseum_MapObjects: @ 8539D44
+ object_event 1, MAP_OBJ_GFX_WOMAN_6, 0, 0, 9, 3, 3, 9, 0, 0, 0, 0, SingleBattleColosseum_EventScript_2774A6, 0, 0, 0
+
+SingleBattleColosseum_MapWarps: @ 8539D5C
+ warp_def 6, 8, 3, 127, NONE
+ warp_def 7, 8, 3, 127, NONE
+
+SingleBattleColosseum_MapCoordEvents: @ 8539D6C
+ coord_event 3, 5, 3, 0, VAR_0x4000, 0, 0, gUnknown_08277374
+ coord_event 10, 5, 3, 0, VAR_0x4000, 0, 0, gUnknown_0827737E
+
+SingleBattleColosseum_MapEvents:: @ 8539D8C
+ map_events SingleBattleColosseum_MapObjects, SingleBattleColosseum_MapWarps, SingleBattleColosseum_MapCoordEvents, 0x0
+
diff --git a/data/maps/events/SkyPillar_1F.inc b/data/maps/events/SkyPillar_1F.inc
new file mode 100644
index 000000000..c9eda68b0
--- /dev/null
+++ b/data/maps/events/SkyPillar_1F.inc
@@ -0,0 +1,8 @@
+SkyPillar_1F_MapWarps: @ 8537058
+ warp_def 6, 13, 3, 1, SKY_PILLAR_OUTSIDE
+ warp_def 7, 13, 3, 1, SKY_PILLAR_OUTSIDE
+ warp_def 10, 1, 3, 0, SKY_PILLAR_2F
+
+SkyPillar_1F_MapEvents:: @ 8537070
+ map_events 0x0, SkyPillar_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SkyPillar_2F.inc b/data/maps/events/SkyPillar_2F.inc
new file mode 100644
index 000000000..1c81f7838
--- /dev/null
+++ b/data/maps/events/SkyPillar_2F.inc
@@ -0,0 +1,7 @@
+SkyPillar_2F_MapWarps: @ 8537084
+ warp_def 10, 1, 3, 2, SKY_PILLAR_1F
+ warp_def 3, 1, 3, 0, SKY_PILLAR_3F
+
+SkyPillar_2F_MapEvents:: @ 8537094
+ map_events 0x0, SkyPillar_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SkyPillar_3F.inc b/data/maps/events/SkyPillar_3F.inc
new file mode 100644
index 000000000..c8a97565b
--- /dev/null
+++ b/data/maps/events/SkyPillar_3F.inc
@@ -0,0 +1,8 @@
+SkyPillar_3F_MapWarps: @ 85370A8
+ warp_def 3, 1, 3, 1, SKY_PILLAR_2F
+ warp_def 11, 1, 3, 0, SKY_PILLAR_4F
+ warp_def 7, 1, 3, 1, SKY_PILLAR_4F
+
+SkyPillar_3F_MapEvents:: @ 85370C0
+ map_events 0x0, SkyPillar_3F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SkyPillar_4F.inc b/data/maps/events/SkyPillar_4F.inc
new file mode 100644
index 000000000..a399d1364
--- /dev/null
+++ b/data/maps/events/SkyPillar_4F.inc
@@ -0,0 +1,8 @@
+SkyPillar_4F_MapWarps: @ 85370D4
+ warp_def 11, 1, 3, 1, SKY_PILLAR_3F
+ warp_def 7, 1, 3, 2, SKY_PILLAR_3F
+ warp_def 3, 1, 3, 0, SKY_PILLAR_5F
+
+SkyPillar_4F_MapEvents:: @ 85370EC
+ map_events 0x0, SkyPillar_4F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SkyPillar_5F.inc b/data/maps/events/SkyPillar_5F.inc
new file mode 100644
index 000000000..d6ce944cb
--- /dev/null
+++ b/data/maps/events/SkyPillar_5F.inc
@@ -0,0 +1,7 @@
+SkyPillar_5F_MapWarps: @ 853714C
+ warp_def 3, 1, 3, 2, SKY_PILLAR_4F
+ warp_def 10, 1, 3, 0, SKY_PILLAR_TOP
+
+SkyPillar_5F_MapEvents:: @ 853715C
+ map_events 0x0, SkyPillar_5F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SkyPillar_Entrance.inc b/data/maps/events/SkyPillar_Entrance.inc
new file mode 100644
index 000000000..5a63e2496
--- /dev/null
+++ b/data/maps/events/SkyPillar_Entrance.inc
@@ -0,0 +1,7 @@
+SkyPillar_Entrance_MapWarps: @ 8536FF8
+ warp_def 6, 16, 3, 0, ROUTE_131
+ warp_def 14, 4, 3, 0, SKY_PILLAR_OUTSIDE
+
+SkyPillar_Entrance_MapEvents:: @ 8537008
+ map_events 0x0, SkyPillar_Entrance_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SkyPillar_Outside.inc b/data/maps/events/SkyPillar_Outside.inc
new file mode 100644
index 000000000..70a9c5c21
--- /dev/null
+++ b/data/maps/events/SkyPillar_Outside.inc
@@ -0,0 +1,10 @@
+SkyPillar_Outside_MapObjects: @ 853701C
+ object_event 1, MAP_OBJ_GFX_WALLACE, 0, 0, 13, 7, 3, 8, 17, 0, 0, 0, SkyPillar_Outside_EventScript_2393F8, 855, 0, 0
+
+SkyPillar_Outside_MapWarps: @ 8537034
+ warp_def 17, 13, 3, 1, SKY_PILLAR_ENTRANCE
+ warp_def 14, 5, 0, 0, SKY_PILLAR_1F
+
+SkyPillar_Outside_MapEvents:: @ 8537044
+ map_events SkyPillar_Outside_MapObjects, SkyPillar_Outside_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SkyPillar_Top.inc b/data/maps/events/SkyPillar_Top.inc
new file mode 100644
index 000000000..8abe8401f
--- /dev/null
+++ b/data/maps/events/SkyPillar_Top.inc
@@ -0,0 +1,13 @@
+SkyPillar_Top_MapObjects: @ 8537170
+ object_event 1, MAP_OBJ_GFX_RAYQUAZA_2, 0, 0, 14, 7, 3, 8, 17, 0, 0, 0, 0x0, 773, 0, 0
+ object_event 2, MAP_OBJ_GFX_RAYQUAZA_1, 0, 0, 14, 6, 3, 8, 17, 0, 0, 0, SkyPillar_Top_EventScript_239722, 80, 0, 0
+
+SkyPillar_Top_MapWarps: @ 85371A0
+ warp_def 16, 14, 3, 1, SKY_PILLAR_5F
+
+SkyPillar_Top_MapCoordEvents: @ 85371A8
+ coord_event 14, 9, 3, 0, VAR_0x40D7, 0, 0, SkyPillar_Top_EventScript_23979A
+
+SkyPillar_Top_MapEvents:: @ 85371B8
+ map_events SkyPillar_Top_MapObjects, SkyPillar_Top_MapWarps, SkyPillar_Top_MapCoordEvents, 0x0
+
diff --git a/data/maps/events/SlateportCity.inc b/data/maps/events/SlateportCity.inc
new file mode 100644
index 000000000..a187aaf1f
--- /dev/null
+++ b/data/maps/events/SlateportCity.inc
@@ -0,0 +1,71 @@
+SlateportCity_MapObjects: @ 85261CC
+ object_event 1, MAP_OBJ_GFX_FAT_MAN, 0, 0, 21, 11, 3, 2, 17, 0, 0, 0, SlateportCity_EventScript_1DCED9, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_1, 0, 0, 34, 29, 3, 5, 1, 0, 0, 0, SlateportCity_EventScript_1DCEF6, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BOY_4, 0, 0, 5, 13, 3, 2, 33, 0, 0, 0, SlateportCity_EventScript_1DCEB8, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_5, 0, 0, 26, 29, 3, 1, 0, 0, 0, 0, SlateportCity_EventScript_1DCF17, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_AQUA_MEMBER_F, 0, 0, 31, 27, 3, 7, 0, 0, 0, 0, SlateportCity_EventScript_1DD009, 882, 0, 0
+ object_event 6, MAP_OBJ_GFX_COOK, 0, 0, 5, 43, 3, 8, 0, 0, 0, 0, SlateportCity_EventScript_1DCE42, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_OLD_WOMAN_2, 0, 0, 20, 37, 3, 1, 17, 0, 0, 0, SlateportCity_EventScript_1DCE63, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_GIRL_1, 0, 0, 8, 42, 3, 2, 17, 0, 0, 0, SlateportCity_EventScript_1DCE84, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_CAMERAMAN, 0, 0, 29, 13, 3, 9, 0, 0, 0, 0, SlateportCity_EventScript_1DD353, 835, 0, 0
+ object_event 10, MAP_OBJ_GFX_REPORTER_F, 0, 0, 28, 14, 3, 7, 0, 0, 0, 0, SlateportCity_EventScript_1DD35C, 835, 0, 0
+ object_event 11, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 28, 13, 3, 10, 0, 0, 0, 0, SlateportCity_EventScript_1DD1F8, 840, 0, 0
+ object_event 12, MAP_OBJ_GFX_SAILOR, 0, 0, 37, 41, 3, 10, 0, 0, 0, 0, SlateportCity_EventScript_1DCFE5, 0, 0, 0
+ object_event 13, MAP_OBJ_GFX_SAILOR, 0, 0, 28, 46, 3, 5, 1, 0, 0, 0, SlateportCity_EventScript_1DCFEE, 0, 0, 0
+ object_event 14, MAP_OBJ_GFX_WOMAN_2, 0, 0, 9, 50, 3, 3, 16, 0, 0, 0, SlateportCity_EventScript_1DCFF7, 0, 0, 0
+ object_event 15, MAP_OBJ_GFX_MAN_4, 0, 0, 16, 46, 3, 2, 17, 0, 0, 0, SlateportCity_EventScript_1DD000, 0, 0, 0
+ object_event 16, MAP_OBJ_GFX_MANIAC, 0, 0, 8, 24, 3, 3, 16, 0, 0, 0, SlateportCity_EventScript_1DCFBB, 0, 0, 0
+ object_event 17, MAP_OBJ_GFX_WOMAN_7, 0, 0, 15, 31, 3, 1, 0, 0, 0, 0, SlateportCity_EventScript_1DCFDC, 0, 0, 0
+ object_event 18, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 30, 27, 3, 10, 0, 0, 0, 0, SlateportCity_EventScript_1DD020, 882, 0, 0
+ object_event 19, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 29, 27, 3, 10, 0, 0, 0, 0, SlateportCity_EventScript_1DD037, 882, 0, 0
+ object_event 20, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 6, 38, 3, 10, 0, 0, 0, 0, SlateportCity_EventScript_1DD198, 0, 0, 0
+ object_event 21, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 5, 51, 3, 8, 0, 0, 0, 0, SlateportCity_EventScript_1DD16A, 0, 0, 0
+ object_event 22, MAP_OBJ_GFX_MAN_6, 0, 0, 34, 51, 3, 8, 0, 0, 0, 0, SlateportCity_EventScript_1DD365, 0, 0, 0
+ object_event 23, MAP_OBJ_GFX_WOMAN_7, 0, 0, 4, 47, 3, 8, 0, 0, 0, 0, SlateportCity_EventScript_1DCDE4, 0, 0, 0
+ object_event 24, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 11, 47, 3, 8, 17, 0, 0, 0, SlateportCity_EventScript_1DD1D8, 948, 0, 0
+ object_event 25, MAP_OBJ_GFX_MAN_3, 0, 0, 5, 47, 3, 8, 17, 0, 0, 0, SlateportCity_EventScript_1DCDBD, 0, 0, 0
+ object_event 26, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 22, 27, 3, 10, 17, 0, 0, 0, SlateportCity_EventScript_1DD04E, 882, 0, 0
+ object_event 27, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 23, 27, 3, 7, 17, 0, 0, 0, SlateportCity_EventScript_1DD065, 882, 0, 0
+ object_event 28, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 24, 27, 3, 10, 17, 0, 0, 0, SlateportCity_EventScript_1DD07C, 882, 0, 0
+ object_event 29, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 21, 26, 3, 10, 17, 0, 0, 0, SlateportCity_EventScript_1DD093, 882, 0, 0
+ object_event 30, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 20, 26, 3, 10, 17, 0, 0, 0, SlateportCity_EventScript_1DD0AA, 882, 0, 0
+ object_event 31, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 26, 27, 3, 7, 17, 0, 0, 0, SlateportCity_EventScript_1DD0C1, 882, 0, 0
+ object_event 32, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 28, 27, 3, 7, 17, 0, 0, 0, SlateportCity_EventScript_1DD14A, 882, 0, 0
+ object_event 33, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 25, 27, 3, 7, 17, 0, 0, 0, SlateportCity_EventScript_1DD153, 882, 0, 0
+ object_event 34, MAP_OBJ_GFX_WOMAN_2, 0, 0, 11, 37, 3, 9, 33, 0, 0, 0, SlateportCity_EventScript_1DD36E, 0, 0, 0
+ object_event 35, MAP_OBJ_GFX_SCOTT, 0, 0, 10, 12, 0, 8, 33, 0, 0, 0, 0x0, 749, 0, 0
+
+SlateportCity_MapWarps: @ 8526514
+ warp_def 19, 19, 0, 0, SLATEPORT_CITY_POKEMON_CENTER_1F
+ warp_def 13, 26, 0, 0, SLATEPORT_CITY_MART
+ warp_def 26, 38, 0, 0, SLATEPORT_CITY_STERNS_SHIPYARD_1F
+ warp_def 10, 12, 0, 0, SLATEPORT_CITY_BATTLE_TENT_LOBBY
+ warp_def 4, 26, 0, 0, SLATEPORT_CITY_POKEMON_FAN_CLUB
+ warp_def 30, 26, 0, 0, SLATEPORT_CITY_OCEANIC_MUSEUM_1F
+ warp_def 5, 19, 0, 0, SLATEPORT_CITY_HOUSE_1
+ warp_def 31, 26, 0, 1, SLATEPORT_CITY_OCEANIC_MUSEUM_1F
+ warp_def 28, 12, 0, 0, SLATEPORT_CITY_HARBOR
+ warp_def 40, 7, 0, 2, SLATEPORT_CITY_HARBOR
+ warp_def 21, 44, 0, 0, SLATEPORT_CITY_HOUSE_2
+
+SlateportCity_MapCoordEvents: @ 852656C
+ coord_event 10, 13, 3, 0, VAR_0x40D2, 2, 0, SlateportCity_EventScript_1DD5DC
+
+SlateportCity_MapBGEvents: @ 852657C
+ bg_event 8, 19, 0, 0, 0, SlateportCity_EventScript_1DCFB2
+ bg_event 20, 19, 0, 1, 0, SlateportCity_EventScript_271E73
+ bg_event 21, 19, 0, 1, 0, SlateportCity_EventScript_271E73
+ bg_event 14, 26, 0, 1, 0, SlateportCity_EventScript_271E6A
+ bg_event 24, 12, 0, 0, 0, SlateportCity_EventScript_1DCF94
+ bg_event 15, 26, 0, 1, 0, SlateportCity_EventScript_271E6A
+ bg_event 14, 51, 0, 0, 0, SlateportCity_EventScript_1DCF8B
+ bg_event 26, 26, 0, 0, 0, SlateportCity_EventScript_1DCF79
+ bg_event 16, 22, 0, 0, 0, SlateportCity_EventScript_1DCF82
+ bg_event 8, 26, 0, 0, 0, SlateportCity_EventScript_1DCF70
+ bg_event 7, 13, 0, 0, 0, SlateportCity_EventScript_1DCF36
+ bg_event 23, 38, 0, 0, 0, SlateportCity_EventScript_1DCF3F
+ bg_event 10, 36, 0, 1, 0, SlateportCity_EventScript_1DD643
+
+SlateportCity_MapEvents:: @ 8526618
+ map_events SlateportCity_MapObjects, SlateportCity_MapWarps, SlateportCity_MapCoordEvents, SlateportCity_MapBGEvents
+
diff --git a/data/maps/events/SlateportCity_BattleTentBattleRoom.inc b/data/maps/events/SlateportCity_BattleTentBattleRoom.inc
new file mode 100644
index 000000000..8c13a223a
--- /dev/null
+++ b/data/maps/events/SlateportCity_BattleTentBattleRoom.inc
@@ -0,0 +1,8 @@
+SlateportCity_BattleTentBattleRoom_MapObjects: @ 852F4DC
+ object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 1, 4, 0, 10, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 5, 1, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_TRADER, 0, 0, 4, 8, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+SlateportCity_BattleTentBattleRoom_MapEvents:: @ 852F524
+ map_events SlateportCity_BattleTentBattleRoom_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/SlateportCity_BattleTentCorridor.inc b/data/maps/events/SlateportCity_BattleTentCorridor.inc
new file mode 100644
index 000000000..acd0f732c
--- /dev/null
+++ b/data/maps/events/SlateportCity_BattleTentCorridor.inc
@@ -0,0 +1,6 @@
+SlateportCity_BattleTentCorridor_MapObjects: @ 852F4B0
+ object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 2, 6, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+SlateportCity_BattleTentCorridor_MapEvents:: @ 852F4C8
+ map_events SlateportCity_BattleTentCorridor_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/SlateportCity_BattleTentLobby.inc b/data/maps/events/SlateportCity_BattleTentLobby.inc
new file mode 100644
index 000000000..7b0f10331
--- /dev/null
+++ b/data/maps/events/SlateportCity_BattleTentLobby.inc
@@ -0,0 +1,17 @@
+SlateportCity_BattleTentLobby_MapObjects: @ 852F408
+ object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 6, 5, 3, 8, 17, 0, 0, 0, SlateportCity_BattleTentLobby_EventScript_2088AA, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SAILOR, 0, 0, 1, 5, 3, 2, 17, 0, 0, 0, SlateportCity_BattleTentLobby_EventScript_208A3D, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 3, 7, 3, 7, 17, 0, 0, 0, SlateportCity_BattleTentLobby_EventScript_208A7E, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_GIRL_1, 0, 0, 1, 8, 3, 1, 17, 0, 0, 0, SlateportCity_BattleTentLobby_EventScript_208A87, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_WOMAN_3, 0, 0, 11, 8, 3, 9, 17, 0, 0, 0, SlateportCity_BattleTentLobby_EventScript_208A90, 0, 0, 0
+
+SlateportCity_BattleTentLobby_MapWarps: @ 852F480
+ warp_def 6, 9, 0, 3, SLATEPORT_CITY
+ warp_def 7, 9, 0, 3, SLATEPORT_CITY
+
+SlateportCity_BattleTentLobby_MapBGEvents: @ 852F490
+ bg_event 4, 5, 0, 0, 0, SlateportCity_BattleTentLobby_EventScript_208A99
+
+SlateportCity_BattleTentLobby_MapEvents:: @ 852F49C
+ map_events SlateportCity_BattleTentLobby_MapObjects, SlateportCity_BattleTentLobby_MapWarps, 0x0, SlateportCity_BattleTentLobby_MapBGEvents
+
diff --git a/data/maps/events/SlateportCity_Harbor.inc b/data/maps/events/SlateportCity_Harbor.inc
new file mode 100644
index 000000000..307cfd1c2
--- /dev/null
+++ b/data/maps/events/SlateportCity_Harbor.inc
@@ -0,0 +1,25 @@
+SlateportCity_Harbor_MapObjects: @ 852FA68
+ object_event 1, MAP_OBJ_GFX_BEAUTY, 0, 0, 8, 10, 3, 8, 0, 0, 0, 0, SlateportCity_Harbor_EventScript_20CAF1, 905, 0, 0
+ object_event 2, MAP_OBJ_GFX_SAILOR, 0, 0, 4, 12, 3, 9, 0, 0, 0, 0, SlateportCity_Harbor_EventScript_20CC52, 905, 0, 0
+ object_event 3, MAP_OBJ_GFX_FAT_MAN, 0, 0, 1, 12, 3, 10, 0, 0, 0, 0, SlateportCity_Harbor_EventScript_20CC99, 905, 0, 0
+ object_event 4, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 6, 13, 3, 1, 0, 0, 0, 0, SlateportCity_Harbor_EventScript_20CCA2, 841, 0, 0
+ object_event 5, MAP_OBJ_GFX_SS_TIDAL, 0, 0, 8, 9, 1, 10, 0, 0, 0, 0, 0x0, 860, 0, 0
+ object_event 6, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 7, 10, 3, 10, 0, 0, 0, 0, 0x0, 845, 0, 0
+ object_event 7, MAP_OBJ_GFX_ARCHIE, 0, 0, 8, 10, 3, 9, 0, 0, 0, 0, 0x0, 846, 0, 0
+ object_event 8, MAP_OBJ_GFX_SUBMARINE_SHADOW, 0, 0, 7, 9, 1, 10, 0, 0, 0, 0, 0x0, 848, 0, 0
+
+SlateportCity_Harbor_MapWarps: @ 852FB28
+ warp_def 11, 14, 0, 8, SLATEPORT_CITY
+ warp_def 12, 14, 0, 8, SLATEPORT_CITY
+ warp_def 19, 15, 0, 9, SLATEPORT_CITY
+ warp_def 20, 15, 0, 9, SLATEPORT_CITY
+
+SlateportCity_Harbor_MapCoordEvents: @ 852FB48
+ coord_event 8, 11, 3, 0, VAR_0x40A0, 1, 0, SlateportCity_Harbor_EventScript_20C9BB
+ coord_event 8, 12, 3, 0, VAR_0x40A0, 1, 0, SlateportCity_Harbor_EventScript_20C9C7
+ coord_event 8, 13, 3, 0, VAR_0x40A0, 1, 0, SlateportCity_Harbor_EventScript_20C9D3
+ coord_event 8, 14, 3, 0, VAR_0x40A0, 1, 0, SlateportCity_Harbor_EventScript_20C9DF
+
+SlateportCity_Harbor_MapEvents:: @ 852FB88
+ map_events SlateportCity_Harbor_MapObjects, SlateportCity_Harbor_MapWarps, SlateportCity_Harbor_MapCoordEvents, 0x0
+
diff --git a/data/maps/events/SlateportCity_House1.inc b/data/maps/events/SlateportCity_House1.inc
new file mode 100644
index 000000000..d5151a0a1
--- /dev/null
+++ b/data/maps/events/SlateportCity_House1.inc
@@ -0,0 +1,10 @@
+SlateportCity_House1_MapObjects: @ 852F538
+ object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 7, 5, 3, 8, 0, 0, 0, 0, SlateportCity_House1_EventScript_209AA5, 0, 0, 0
+
+SlateportCity_House1_MapWarps: @ 852F550
+ warp_def 3, 7, 0, 6, SLATEPORT_CITY
+ warp_def 4, 7, 0, 6, SLATEPORT_CITY
+
+SlateportCity_House1_MapEvents:: @ 852F560
+ map_events SlateportCity_House1_MapObjects, SlateportCity_House1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SlateportCity_House2.inc b/data/maps/events/SlateportCity_House2.inc
new file mode 100644
index 000000000..f77f34456
--- /dev/null
+++ b/data/maps/events/SlateportCity_House2.inc
@@ -0,0 +1,11 @@
+SlateportCity_House2_MapObjects: @ 852FB9C
+ object_event 1, MAP_OBJ_GFX_MAN_3, 0, 0, 4, 4, 3, 10, 0, 0, 0, 0, SlateportCity_House2_EventScript_20D9AF, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GIRL_3, 0, 0, 7, 4, 3, 9, 0, 0, 0, 0, SlateportCity_House2_EventScript_20D9B8, 0, 0, 0
+
+SlateportCity_House2_MapWarps: @ 852FBCC
+ warp_def 3, 7, 0, 10, SLATEPORT_CITY
+ warp_def 4, 7, 0, 10, SLATEPORT_CITY
+
+SlateportCity_House2_MapEvents:: @ 852FBDC
+ map_events SlateportCity_House2_MapObjects, SlateportCity_House2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SlateportCity_Mart.inc b/data/maps/events/SlateportCity_Mart.inc
new file mode 100644
index 000000000..bab6768de
--- /dev/null
+++ b/data/maps/events/SlateportCity_Mart.inc
@@ -0,0 +1,12 @@
+SlateportCity_Mart_MapObjects: @ 852FCF0
+ object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, SlateportCity_Mart_EventScript_20DC49, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 4, 2, 3, 7, 0, 0, 0, 0, SlateportCity_Mart_EventScript_20DC76, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 5, 5, 3, 1, 0, 0, 0, 0, SlateportCity_Mart_EventScript_20DC7F, 0, 0, 0
+
+SlateportCity_Mart_MapWarps: @ 852FD38
+ warp_def 3, 7, 0, 1, SLATEPORT_CITY
+ warp_def 4, 7, 0, 1, SLATEPORT_CITY
+
+SlateportCity_Mart_MapEvents:: @ 852FD48
+ map_events SlateportCity_Mart_MapObjects, SlateportCity_Mart_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SlateportCity_OceanicMuseum_1F.inc b/data/maps/events/SlateportCity_OceanicMuseum_1F.inc
new file mode 100644
index 000000000..1ae29ed6f
--- /dev/null
+++ b/data/maps/events/SlateportCity_OceanicMuseum_1F.inc
@@ -0,0 +1,43 @@
+SlateportCity_OceanicMuseum_1F_MapObjects: @ 852F670
+ object_event 1, MAP_OBJ_GFX_BEAUTY, 0, 0, 7, 7, 3, 10, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AD96, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 18, 5, 3, 7, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE5F, 883, 0, 0
+ object_event 3, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 12, 2, 3, 7, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE68, 883, 0, 0
+ object_event 4, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 2, 8, 3, 7, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE56, 883, 0, 0
+ object_event 5, MAP_OBJ_GFX_AQUA_MEMBER_F, 0, 0, 3, 4, 3, 9, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE4D, 883, 0, 0
+ object_event 6, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 14, 4, 3, 10, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE71, 883, 0, 0
+ object_event 7, MAP_OBJ_GFX_BEAUTY, 0, 0, 12, 7, 3, 9, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AD96, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 8, 3, 3, 8, 0, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE7A, 883, 0, 0
+ object_event 9, MAP_OBJ_GFX_WOMAN_7, 0, 0, 4, 2, 3, 1, 17, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AED4, 961, 0, 0
+ object_event 10, MAP_OBJ_GFX_MANIAC, 0, 0, 10, 2, 3, 7, 17, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEDD, 961, 0, 0
+ object_event 11, MAP_OBJ_GFX_MAN_3, 0, 0, 17, 7, 3, 10, 17, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEE6, 961, 0, 0
+ object_event 12, MAP_OBJ_GFX_LITTLE_GIRL_2, 0, 0, 18, 8, 3, 7, 17, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEEF, 961, 0, 0
+ object_event 13, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 9, 4, 3, 21, 17, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEF8, 965, 0, 0
+ object_event 14, MAP_OBJ_GFX_REPORTER_M, 0, 0, 7, 4, 3, 1, 17, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_28C883, 961, 0, 0
+
+SlateportCity_OceanicMuseum_1F_MapWarps: @ 852F7C0
+ warp_def 9, 8, 0, 5, SLATEPORT_CITY
+ warp_def 10, 8, 0, 7, SLATEPORT_CITY
+ warp_def 6, 1, 0, 0, SLATEPORT_CITY_OCEANIC_MUSEUM_2F
+
+SlateportCity_OceanicMuseum_1F_MapCoordEvents: @ 852F7D8
+ coord_event 9, 7, 3, 0, VAR_0x40AA, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AD9F
+ coord_event 10, 7, 3, 0, VAR_0x40AA, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20ADB0
+
+SlateportCity_OceanicMuseum_1F_MapBGEvents: @ 852F7F8
+ bg_event 2, 7, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE83
+ bg_event 2, 4, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE8C
+ bg_event 9, 1, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE95
+ bg_event 12, 1, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE9E
+ bg_event 10, 1, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE95
+ bg_event 13, 1, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE9E
+ bg_event 15, 4, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEA7
+ bg_event 18, 4, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEB0
+ bg_event 18, 7, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEB9
+ bg_event 2, 1, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEC2
+ bg_event 3, 1, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AEC2
+ bg_event 16, 1, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AECB
+ bg_event 17, 1, 0, 0, 0, SlateportCity_OceanicMuseum_1F_EventScript_20AECB
+
+SlateportCity_OceanicMuseum_1F_MapEvents:: @ 852F894
+ map_events SlateportCity_OceanicMuseum_1F_MapObjects, SlateportCity_OceanicMuseum_1F_MapWarps, SlateportCity_OceanicMuseum_1F_MapCoordEvents, SlateportCity_OceanicMuseum_1F_MapBGEvents
+
diff --git a/data/maps/events/SlateportCity_OceanicMuseum_2F.inc b/data/maps/events/SlateportCity_OceanicMuseum_2F.inc
new file mode 100644
index 000000000..5c3f7108d
--- /dev/null
+++ b/data/maps/events/SlateportCity_OceanicMuseum_2F.inc
@@ -0,0 +1,38 @@
+SlateportCity_OceanicMuseum_2F_MapObjects: @ 852F8A8
+ object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 13, 6, 3, 8, 0, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BB00, 887, 0, 0
+ object_event 2, MAP_OBJ_GFX_ARCHIE, 0, 0, 6, 1, 3, 8, 0, 0, 0, 0, 0x0, 886, 0, 0
+ object_event 3, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 6, 1, 3, 8, 0, 0, 0, 0, 0x0, 884, 0, 0
+ object_event 4, MAP_OBJ_GFX_AQUA_MEMBER_M, 0, 0, 6, 1, 3, 8, 0, 0, 0, 0, 0x0, 885, 0, 0
+ object_event 5, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 12, 7, 3, 10, 17, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD64, 961, 0, 0
+ object_event 6, MAP_OBJ_GFX_WOMAN_2, 0, 0, 9, 6, 3, 1, 17, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD6D, 961, 0, 0
+ object_event 7, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 1, 3, 3, 10, 17, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD76, 961, 0, 0
+
+SlateportCity_OceanicMuseum_2F_MapWarps: @ 852F950
+ warp_def 6, 1, 0, 2, SLATEPORT_CITY_OCEANIC_MUSEUM_1F
+
+SlateportCity_OceanicMuseum_2F_MapBGEvents: @ 852F958
+ bg_event 18, 4, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD0A
+ bg_event 18, 7, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD13
+ bg_event 4, 3, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD52
+ bg_event 4, 4, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD52
+ bg_event 3, 3, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD49
+ bg_event 2, 3, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD49
+ bg_event 3, 4, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD49
+ bg_event 3, 6, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD40
+ bg_event 4, 6, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD40
+ bg_event 13, 7, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD5B
+ bg_event 14, 7, 3, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD5B
+ bg_event 18, 1, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD37
+ bg_event 19, 1, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD37
+ bg_event 15, 1, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD2E
+ bg_event 16, 1, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD2E
+ bg_event 8, 1, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD25
+ bg_event 9, 1, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD25
+ bg_event 12, 1, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD1C
+ bg_event 13, 1, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD1C
+ bg_event 3, 7, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD40
+ bg_event 4, 7, 0, 0, 0, SlateportCity_OceanicMuseum_2F_EventScript_20BD40
+
+SlateportCity_OceanicMuseum_2F_MapEvents:: @ 852FA54
+ map_events SlateportCity_OceanicMuseum_2F_MapObjects, SlateportCity_OceanicMuseum_2F_MapWarps, 0x0, SlateportCity_OceanicMuseum_2F_MapBGEvents
+
diff --git a/data/maps/events/SlateportCity_PokemonCenter_1F.inc b/data/maps/events/SlateportCity_PokemonCenter_1F.inc
new file mode 100644
index 000000000..52f406b71
--- /dev/null
+++ b/data/maps/events/SlateportCity_PokemonCenter_1F.inc
@@ -0,0 +1,13 @@
+SlateportCity_PokemonCenter_1F_MapObjects: @ 852FBF0
+ object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, SlateportCity_PokemonCenter_1F_EventScript_20DAD3, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SAILOR, 0, 0, 2, 3, 3, 8, 0, 0, 0, 0, SlateportCity_PokemonCenter_1F_EventScript_20DAE1, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_7, 0, 0, 10, 7, 3, 10, 0, 0, 0, 0, SlateportCity_PokemonCenter_1F_EventScript_20DAEA, 0, 0, 0
+
+SlateportCity_PokemonCenter_1F_MapWarps: @ 852FC38
+ warp_def 7, 8, 3, 0, SLATEPORT_CITY
+ warp_def 6, 8, 3, 0, SLATEPORT_CITY
+ warp_def 1, 6, 4, 0, SLATEPORT_CITY_POKEMON_CENTER_2F
+
+SlateportCity_PokemonCenter_1F_MapEvents:: @ 852FC50
+ map_events SlateportCity_PokemonCenter_1F_MapObjects, SlateportCity_PokemonCenter_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SlateportCity_PokemonCenter_2F.inc b/data/maps/events/SlateportCity_PokemonCenter_2F.inc
new file mode 100644
index 000000000..cd9f74d39
--- /dev/null
+++ b/data/maps/events/SlateportCity_PokemonCenter_2F.inc
@@ -0,0 +1,14 @@
+SlateportCity_PokemonCenter_2F_MapObjects: @ 852FC64
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, SlateportCity_PokemonCenter_2F_EventScript_27375B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, SlateportCity_PokemonCenter_2F_EventScript_273761, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, SlateportCity_PokemonCenter_2F_EventScript_273767, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, SlateportCity_PokemonCenter_2F_EventScript_276B03, 702, 0, 0
+
+SlateportCity_PokemonCenter_2F_MapWarps: @ 852FCC4
+ warp_def 1, 6, 4, 2, SLATEPORT_CITY_POKEMON_CENTER_1F
+ warp_def 5, 1, 3, 0, UNION_ROOM
+ warp_def 9, 1, 3, 0, TRADE_CENTER
+
+SlateportCity_PokemonCenter_2F_MapEvents:: @ 852FCDC
+ map_events SlateportCity_PokemonCenter_2F_MapObjects, SlateportCity_PokemonCenter_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SlateportCity_PokemonFanClub.inc b/data/maps/events/SlateportCity_PokemonFanClub.inc
new file mode 100644
index 000000000..ba18519ef
--- /dev/null
+++ b/data/maps/events/SlateportCity_PokemonFanClub.inc
@@ -0,0 +1,18 @@
+SlateportCity_PokemonFanClub_MapObjects: @ 852F574
+ object_event 1, MAP_OBJ_GFX_MAN_1, 0, 0, 11, 4, 0, 8, 0, 0, 0, 0, SlateportCity_PokemonFanClub_EventScript_20A1E8, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 1, 5, 0, 3, 16, 0, 0, 0, SlateportCity_PokemonFanClub_EventScript_20A1F1, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_REPORTER_F, 0, 0, 11, 5, 0, 7, 0, 0, 0, 0, SlateportCity_PokemonFanClub_EventScript_28C943, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_5, 0, 0, 6, 2, 3, 1, 0, 0, 0, 0, SlateportCity_PokemonFanClub_EventScript_20A17E, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 6, 5, 4, 8, 0, 0, 0, 0, SlateportCity_PokemonFanClub_EventScript_209E96, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_ZIGZAGOON_2, 0, 0, 3, 9, 3, 1, 17, 0, 0, 0, SlateportCity_PokemonFanClub_EventScript_20A20D, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_SKITTY, 0, 0, 8, 3, 3, 1, 17, 0, 0, 0, SlateportCity_PokemonFanClub_EventScript_20A1FA, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_AZUMARILL, 0, 0, 10, 8, 3, 1, 17, 0, 0, 0, SlateportCity_PokemonFanClub_EventScript_20A220, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_MAN_5, 0, 0, 11, 8, 0, 9, 16, 0, 0, 0, SlateportCity_PokemonFanClub_EventScript_2C7F16, 0, 0, 0
+
+SlateportCity_PokemonFanClub_MapWarps: @ 852F64C
+ warp_def 6, 10, 0, 4, SLATEPORT_CITY
+ warp_def 7, 10, 0, 4, SLATEPORT_CITY
+
+SlateportCity_PokemonFanClub_MapEvents:: @ 852F65C
+ map_events SlateportCity_PokemonFanClub_MapObjects, SlateportCity_PokemonFanClub_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SlateportCity_SternsShipyard_1F.inc b/data/maps/events/SlateportCity_SternsShipyard_1F.inc
new file mode 100644
index 000000000..07e93e516
--- /dev/null
+++ b/data/maps/events/SlateportCity_SternsShipyard_1F.inc
@@ -0,0 +1,14 @@
+SlateportCity_SternsShipyard_1F_MapObjects: @ 852F318
+ object_event 1, MAP_OBJ_GFX_MAN_1, 0, 0, 5, 5, 3, 8, 0, 0, 0, 0, SlateportCity_SternsShipyard_1F_EventScript_207F40, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 10, 7, 3, 7, 0, 0, 0, 0, SlateportCity_SternsShipyard_1F_EventScript_207FED, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 18, 8, 3, 5, 1, 0, 0, 0, SlateportCity_SternsShipyard_1F_EventScript_207FF6, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 12, 11, 3, 2, 33, 0, 0, 0, SlateportCity_SternsShipyard_1F_EventScript_207FFF, 869, 0, 0
+
+SlateportCity_SternsShipyard_1F_MapWarps: @ 852F378
+ warp_def 2, 14, 0, 2, SLATEPORT_CITY
+ warp_def 3, 14, 0, 2, SLATEPORT_CITY
+ warp_def 3, 1, 0, 0, SLATEPORT_CITY_STERNS_SHIPYARD_2F
+
+SlateportCity_SternsShipyard_1F_MapEvents:: @ 852F390
+ map_events SlateportCity_SternsShipyard_1F_MapObjects, SlateportCity_SternsShipyard_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SlateportCity_SternsShipyard_2F.inc b/data/maps/events/SlateportCity_SternsShipyard_2F.inc
new file mode 100644
index 000000000..d43e45568
--- /dev/null
+++ b/data/maps/events/SlateportCity_SternsShipyard_2F.inc
@@ -0,0 +1,11 @@
+SlateportCity_SternsShipyard_2F_MapObjects: @ 852F3A4
+ object_event 1, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 10, 7, 3, 7, 0, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 8, 4, 3, 10, 0, 0, 0, 0, SlateportCity_SternsShipyard_2F_EventScript_20863E, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_SCIENTIST_1, 0, 0, 0, 9, 3, 7, 0, 0, 0, 0, SlateportCity_SternsShipyard_2F_EventScript_208647, 0, 0, 0
+
+SlateportCity_SternsShipyard_2F_MapWarps: @ 852F3EC
+ warp_def 3, 1, 0, 2, SLATEPORT_CITY_STERNS_SHIPYARD_1F
+
+SlateportCity_SternsShipyard_2F_MapEvents:: @ 852F3F4
+ map_events SlateportCity_SternsShipyard_2F_MapObjects, SlateportCity_SternsShipyard_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SootopolisCity.inc b/data/maps/events/SootopolisCity.inc
new file mode 100644
index 000000000..6f3bb0111
--- /dev/null
+++ b/data/maps/events/SootopolisCity.inc
@@ -0,0 +1,46 @@
+SootopolisCity_MapObjects: @ 8527314
+ object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 31, 18, 3, 8, 0, 0, 0, 0, SootopolisCity_EventScript_1E5E8D, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_5, 0, 0, 47, 33, 0, 9, 0, 0, 0, 0, SootopolisCity_EventScript_1E5FE2, 854, 0, 0
+ object_event 3, MAP_OBJ_GFX_GIRL_2, 0, 0, 9, 43, 3, 5, 1, 0, 0, 0, SootopolisCity_EventScript_1E5ED8, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_LITTLE_BOY_1, 0, 0, 51, 14, 3, 8, 0, 0, 0, 0, SootopolisCity_EventScript_1E608E, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_BOY_1, 0, 0, 43, 26, 3, 1, 0, 0, 0, 0, SootopolisCity_EventScript_1E60E3, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_MAN_1, 0, 0, 26, 4, 3, 5, 1, 0, 0, 0, SootopolisCity_EventScript_1E6017, 839, 0, 0
+ object_event 7, MAP_OBJ_GFX_STEVEN, 0, 0, 20, 36, 3, 8, 17, 0, 0, 0, SootopolisCity_EventScript_1E6166, 973, 0, 0
+ object_event 8, MAP_OBJ_GFX_WOMAN_7, 0, 0, 49, 34, 3, 3, 17, 0, 0, 0, SootopolisCity_EventScript_1E6038, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_GROUDON_3, 0, 0, 28, 44, 0, 80, 17, 0, 0, 0, 0x0, 998, 0, 0
+ object_event 10, MAP_OBJ_GFX_KYOGRE_3, 0, 0, 34, 44, 1, 79, 17, 0, 0, 0, 0x0, 997, 0, 0
+ object_event 11, MAP_OBJ_GFX_RAYQUAZA_2, 0, 0, 31, 41, 1, 10, 17, 0, 0, 0, 0x0, 996, 0, 0
+ object_event 12, MAP_OBJ_GFX_MANIAC, 0, 0, 17, 44, 3, 10, 17, 0, 0, 0, SootopolisCity_EventScript_1E6411, 854, 0, 0
+ object_event 13, MAP_OBJ_GFX_GIRL_3, 0, 0, 14, 42, 3, 10, 17, 0, 0, 0, SootopolisCity_EventScript_1E63DB, 854, 0, 0
+ object_event 14, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 17, 40, 3, 10, 17, 0, 0, 0, SootopolisCity_EventScript_1E6393, 854, 0, 0
+ object_event 15, MAP_OBJ_GFX_BOY_2, 0, 0, 19, 37, 3, 8, 17, 0, 0, 0, SootopolisCity_EventScript_1E635D, 854, 0, 0
+ object_event 16, MAP_OBJ_GFX_MAXIE, 0, 0, 29, 33, 3, 8, 17, 0, 0, 0, SootopolisCity_EventScript_1E64F2, 827, 0, 0
+ object_event 17, MAP_OBJ_GFX_ARCHIE, 0, 0, 31, 33, 3, 8, 17, 0, 0, 0, SootopolisCity_EventScript_1E651F, 826, 0, 0
+ object_event 18, MAP_OBJ_GFX_WALLACE, 0, 0, 31, 18, 3, 8, 17, 0, 0, 0, SootopolisCity_EventScript_1E6446, 816, 0, 0
+
+SootopolisCity_MapWarps: @ 85274C4
+ warp_def 43, 31, 0, 0, SOOTOPOLIS_CITY_POKEMON_CENTER_1F
+ warp_def 17, 29, 0, 0, SOOTOPOLIS_CITY_MART
+ warp_def 31, 32, 0, 0, SOOTOPOLIS_CITY_GYM_1F
+ warp_def 31, 16, 3, 0, CAVE_OF_ORIGIN_ENTRANCE
+ warp_def 9, 6, 0, 0, SOOTOPOLIS_CITY_HOUSE_1
+ warp_def 45, 6, 0, 0, SOOTOPOLIS_CITY_HOUSE_2
+ warp_def 9, 17, 0, 0, SOOTOPOLIS_CITY_HOUSE_3
+ warp_def 44, 17, 0, 0, SOOTOPOLIS_CITY_HOUSE_4
+ warp_def 9, 26, 0, 0, SOOTOPOLIS_CITY_HOUSE_5
+ warp_def 53, 28, 0, 0, SOOTOPOLIS_CITY_HOUSE_6
+ warp_def 8, 35, 0, 0, SOOTOPOLIS_CITY_HOUSE_7
+ warp_def 48, 25, 0, 0, SOOTOPOLIS_CITY_LOTAD_AND_SEEDOT_HOUSE
+ warp_def 51, 36, 0, 0, SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F
+
+SootopolisCity_MapBGEvents: @ 852752C
+ bg_event 33, 34, 3, 0, 0, SootopolisCity_EventScript_1E614B
+ bg_event 19, 29, 0, 1, 0, SootopolisCity_EventScript_271E6A
+ bg_event 44, 31, 0, 1, 0, SootopolisCity_EventScript_271E73
+ bg_event 45, 31, 0, 1, 0, SootopolisCity_EventScript_271E73
+ bg_event 18, 29, 0, 1, 0, SootopolisCity_EventScript_271E6A
+ bg_event 41, 37, 0, 0, 0, SootopolisCity_EventScript_1E6154
+
+SootopolisCity_MapEvents:: @ 8527574
+ map_events SootopolisCity_MapObjects, SootopolisCity_MapWarps, 0x0, SootopolisCity_MapBGEvents
+
diff --git a/data/maps/events/SootopolisCity_Gym_1F.inc b/data/maps/events/SootopolisCity_Gym_1F.inc
new file mode 100644
index 000000000..b348cebcf
--- /dev/null
+++ b/data/maps/events/SootopolisCity_Gym_1F.inc
@@ -0,0 +1,16 @@
+SootopolisCity_Gym_1F_MapObjects: @ 8532FF4
+ object_event 1, MAP_OBJ_GFX_JUAN, 0, 0, 8, 2, 0, 8, 0, 0, 0, 0, SootopolisCity_Gym_1F_EventScript_224F44, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_2, 0, 0, 7, 24, 3, 8, 0, 0, 0, 0, SootopolisCity_Gym_1F_EventScript_225040, 0, 0, 0
+
+SootopolisCity_Gym_1F_MapWarps: @ 8533024
+ warp_def 8, 25, 0, 2, SOOTOPOLIS_CITY
+ warp_def 9, 25, 0, 2, SOOTOPOLIS_CITY
+ warp_def 11, 22, 3, 0, SOOTOPOLIS_CITY_GYM_B1F
+
+SootopolisCity_Gym_1F_MapBGEvents: @ 853303C
+ bg_event 6, 24, 0, 0, 0, SootopolisCity_Gym_1F_EventScript_22505F
+ bg_event 10, 24, 0, 1, 0, SootopolisCity_Gym_1F_EventScript_22506F
+
+SootopolisCity_Gym_1F_MapEvents:: @ 8533054
+ map_events SootopolisCity_Gym_1F_MapObjects, SootopolisCity_Gym_1F_MapWarps, 0x0, SootopolisCity_Gym_1F_MapBGEvents
+
diff --git a/data/maps/events/SootopolisCity_Gym_B1F.inc b/data/maps/events/SootopolisCity_Gym_B1F.inc
new file mode 100644
index 000000000..9e0dcbadd
--- /dev/null
+++ b/data/maps/events/SootopolisCity_Gym_B1F.inc
@@ -0,0 +1,18 @@
+SootopolisCity_Gym_B1F_MapObjects: @ 8533068
+ object_event 1, MAP_OBJ_GFX_LASS, 0, 0, 7, 17, 3, 10, 0, 0, 1, 1, SootopolisCity_Gym_B1F_EventScript_225C8B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BEAUTY, 0, 0, 9, 19, 3, 9, 0, 0, 1, 1, SootopolisCity_Gym_B1F_EventScript_225CD0, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_3, 0, 0, 12, 7, 3, 9, 0, 0, 1, 1, SootopolisCity_Gym_B1F_EventScript_225CB9, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BEAUTY, 0, 0, 11, 9, 0, 7, 0, 0, 1, 5, SootopolisCity_Gym_B1F_EventScript_225CE7, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_BEAUTY, 0, 0, 5, 6, 3, 8, 0, 0, 1, 4, SootopolisCity_Gym_B1F_EventScript_225D15, 0, 0, 0
+ object_event 6, MAP_OBJ_GFX_WOMAN_2, 0, 0, 7, 8, 3, 10, 0, 0, 1, 2, SootopolisCity_Gym_B1F_EventScript_225D2C, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_LASS, 0, 0, 4, 8, 3, 10, 0, 0, 1, 2, SootopolisCity_Gym_B1F_EventScript_225CA2, 0, 0, 0
+ object_event 8, MAP_OBJ_GFX_BEAUTY, 0, 0, 9, 7, 3, 8, 0, 0, 1, 3, SootopolisCity_Gym_B1F_EventScript_225CFE, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_WOMAN_3, 0, 0, 6, 13, 3, 10, 17, 0, 1, 3, SootopolisCity_Gym_B1F_EventScript_225D5A, 0, 0, 0
+ object_event 10, MAP_OBJ_GFX_WOMAN_2, 0, 0, 10, 13, 3, 9, 17, 0, 1, 3, SootopolisCity_Gym_B1F_EventScript_225D43, 0, 0, 0
+
+SootopolisCity_Gym_B1F_MapWarps: @ 8533158
+ warp_def 11, 22, 3, 2, SOOTOPOLIS_CITY_GYM_1F
+
+SootopolisCity_Gym_B1F_MapEvents:: @ 8533160
+ map_events SootopolisCity_Gym_B1F_MapObjects, SootopolisCity_Gym_B1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SootopolisCity_House1.inc b/data/maps/events/SootopolisCity_House1.inc
new file mode 100644
index 000000000..b7eb626e0
--- /dev/null
+++ b/data/maps/events/SootopolisCity_House1.inc
@@ -0,0 +1,11 @@
+SootopolisCity_House1_MapObjects: @ 85332F8
+ object_event 1, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 2, 4, 3, 10, 0, 0, 0, 0, SootopolisCity_House1_EventScript_22694D, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_KECLEON_1, 0, 0, 2, 3, 3, 8, 0, 0, 0, 0, SootopolisCity_House1_EventScript_22698E, 0, 0, 0
+
+SootopolisCity_House1_MapWarps: @ 8533328
+ warp_def 3, 6, 0, 4, SOOTOPOLIS_CITY
+ warp_def 4, 6, 0, 4, SOOTOPOLIS_CITY
+
+SootopolisCity_House1_MapEvents:: @ 8533338
+ map_events SootopolisCity_House1_MapObjects, SootopolisCity_House1_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SootopolisCity_House2.inc b/data/maps/events/SootopolisCity_House2.inc
new file mode 100644
index 000000000..98b1b6712
--- /dev/null
+++ b/data/maps/events/SootopolisCity_House2.inc
@@ -0,0 +1,10 @@
+SootopolisCity_House2_MapObjects: @ 853334C
+ object_event 1, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 3, 3, 3, 10, 0, 0, 0, 0, SootopolisCity_House2_EventScript_226A77, 0, 0, 0
+
+SootopolisCity_House2_MapWarps: @ 8533364
+ warp_def 3, 6, 0, 5, SOOTOPOLIS_CITY
+ warp_def 4, 6, 0, 5, SOOTOPOLIS_CITY
+
+SootopolisCity_House2_MapEvents:: @ 8533374
+ map_events SootopolisCity_House2_MapObjects, SootopolisCity_House2_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SootopolisCity_House3.inc b/data/maps/events/SootopolisCity_House3.inc
new file mode 100644
index 000000000..eaf48fd6e
--- /dev/null
+++ b/data/maps/events/SootopolisCity_House3.inc
@@ -0,0 +1,11 @@
+SootopolisCity_House3_MapObjects: @ 8533388
+ object_event 1, MAP_OBJ_GFX_WOMAN_5, 0, 0, 2, 4, 3, 8, 0, 0, 0, 0, SootopolisCity_House3_EventScript_226B72, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GIRL_2, 0, 0, 6, 4, 3, 2, 17, 0, 0, 0, SootopolisCity_House3_EventScript_226B9B, 0, 0, 0
+
+SootopolisCity_House3_MapWarps: @ 85333B8
+ warp_def 3, 6, 0, 6, SOOTOPOLIS_CITY
+ warp_def 4, 6, 0, 6, SOOTOPOLIS_CITY
+
+SootopolisCity_House3_MapEvents:: @ 85333C8
+ map_events SootopolisCity_House3_MapObjects, SootopolisCity_House3_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SootopolisCity_House4.inc b/data/maps/events/SootopolisCity_House4.inc
new file mode 100644
index 000000000..eb41cbafb
--- /dev/null
+++ b/data/maps/events/SootopolisCity_House4.inc
@@ -0,0 +1,12 @@
+SootopolisCity_House4_MapObjects: @ 85333DC
+ object_event 1, MAP_OBJ_GFX_MAN_1, 0, 0, 2, 4, 3, 10, 0, 0, 0, 0, SootopolisCity_House4_EventScript_226D16, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_5, 0, 0, 5, 2, 3, 7, 33, 0, 0, 0, SootopolisCity_House4_EventScript_226D1F, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_AZUMARILL, 0, 0, 2, 3, 3, 1, 17, 0, 0, 0, SootopolisCity_House4_EventScript_226D28, 0, 0, 0
+
+SootopolisCity_House4_MapWarps: @ 8533424
+ warp_def 3, 6, 0, 7, SOOTOPOLIS_CITY
+ warp_def 4, 6, 0, 7, SOOTOPOLIS_CITY
+
+SootopolisCity_House4_MapEvents:: @ 8533434
+ map_events SootopolisCity_House4_MapObjects, SootopolisCity_House4_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SootopolisCity_House5.inc b/data/maps/events/SootopolisCity_House5.inc
new file mode 100644
index 000000000..5bffec912
--- /dev/null
+++ b/data/maps/events/SootopolisCity_House5.inc
@@ -0,0 +1,11 @@
+SootopolisCity_House5_MapObjects: @ 8533448
+ object_event 1, MAP_OBJ_GFX_MANIAC, 0, 0, 3, 3, 3, 10, 0, 0, 0, 0, SootopolisCity_House5_EventScript_226E94, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GIRL_3, 0, 0, 6, 3, 3, 9, 0, 0, 0, 0, SootopolisCity_House5_EventScript_226E9D, 0, 0, 0
+
+SootopolisCity_House5_MapWarps: @ 8533478
+ warp_def 3, 6, 0, 8, SOOTOPOLIS_CITY
+ warp_def 4, 6, 0, 8, SOOTOPOLIS_CITY
+
+SootopolisCity_House5_MapEvents:: @ 8533488
+ map_events SootopolisCity_House5_MapObjects, SootopolisCity_House5_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SootopolisCity_House6.inc b/data/maps/events/SootopolisCity_House6.inc
new file mode 100644
index 000000000..5f0f5d430
--- /dev/null
+++ b/data/maps/events/SootopolisCity_House6.inc
@@ -0,0 +1,10 @@
+SootopolisCity_House6_MapObjects: @ 853349C
+ object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 4, 3, 3, 2, 17, 0, 0, 0, SootopolisCity_House6_EventScript_226F5C, 0, 0, 0
+
+SootopolisCity_House6_MapWarps: @ 85334B4
+ warp_def 3, 6, 0, 9, SOOTOPOLIS_CITY
+ warp_def 4, 6, 0, 9, SOOTOPOLIS_CITY
+
+SootopolisCity_House6_MapEvents:: @ 85334C4
+ map_events SootopolisCity_House6_MapObjects, SootopolisCity_House6_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SootopolisCity_House7.inc b/data/maps/events/SootopolisCity_House7.inc
new file mode 100644
index 000000000..3a18508a2
--- /dev/null
+++ b/data/maps/events/SootopolisCity_House7.inc
@@ -0,0 +1,11 @@
+SootopolisCity_House7_MapObjects: @ 85334D8
+ object_event 1, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 5, 3, 3, 9, 0, 0, 0, 0, SootopolisCity_House7_EventScript_2270CC, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_2, 0, 0, 1, 4, 3, 2, 17, 0, 0, 0, SootopolisCity_House7_EventScript_2270D5, 0, 0, 0
+
+SootopolisCity_House7_MapWarps: @ 8533508
+ warp_def 3, 6, 0, 10, SOOTOPOLIS_CITY
+ warp_def 4, 6, 0, 10, SOOTOPOLIS_CITY
+
+SootopolisCity_House7_MapEvents:: @ 8533518
+ map_events SootopolisCity_House7_MapObjects, SootopolisCity_House7_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SootopolisCity_LotadAndSeedotHouse.inc b/data/maps/events/SootopolisCity_LotadAndSeedotHouse.inc
new file mode 100644
index 000000000..0dcb79d1b
--- /dev/null
+++ b/data/maps/events/SootopolisCity_LotadAndSeedotHouse.inc
@@ -0,0 +1,15 @@
+SootopolisCity_LotadAndSeedotHouse_MapObjects: @ 853352C
+ object_event 1, MAP_OBJ_GFX_FISHERMAN, 0, 0, 2, 4, 3, 10, 0, 0, 0, 0, SootopolisCity_LotadAndSeedotHouse_EventScript_2272BC, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIKER, 0, 0, 5, 4, 3, 9, 0, 0, 0, 0, SootopolisCity_LotadAndSeedotHouse_EventScript_22722B, 0, 0, 0
+
+SootopolisCity_LotadAndSeedotHouse_MapWarps: @ 853355C
+ warp_def 3, 6, 0, 11, SOOTOPOLIS_CITY
+ warp_def 4, 6, 0, 11, SOOTOPOLIS_CITY
+
+SootopolisCity_LotadAndSeedotHouse_MapBGEvents: @ 853356C
+ bg_event 5, 1, 0, 0, 0, SootopolisCity_LotadAndSeedotHouse_EventScript_22734D
+ bg_event 2, 1, 0, 0, 0, SootopolisCity_LotadAndSeedotHouse_EventScript_22735B
+
+SootopolisCity_LotadAndSeedotHouse_MapEvents:: @ 8533584
+ map_events SootopolisCity_LotadAndSeedotHouse_MapObjects, SootopolisCity_LotadAndSeedotHouse_MapWarps, 0x0, SootopolisCity_LotadAndSeedotHouse_MapBGEvents
+
diff --git a/data/maps/events/SootopolisCity_Mart.inc b/data/maps/events/SootopolisCity_Mart.inc
new file mode 100644
index 000000000..de29f556b
--- /dev/null
+++ b/data/maps/events/SootopolisCity_Mart.inc
@@ -0,0 +1,12 @@
+SootopolisCity_Mart_MapObjects: @ 853328C
+ object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, SootopolisCity_Mart_EventScript_226795, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_FAT_MAN, 0, 0, 5, 5, 3, 10, 0, 0, 0, 0, SootopolisCity_Mart_EventScript_2267C2, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 9, 5, 3, 10, 0, 0, 0, 0, SootopolisCity_Mart_EventScript_2267EC, 0, 0, 0
+
+SootopolisCity_Mart_MapWarps: @ 85332D4
+ warp_def 3, 7, 0, 1, SOOTOPOLIS_CITY
+ warp_def 4, 7, 0, 1, SOOTOPOLIS_CITY
+
+SootopolisCity_Mart_MapEvents:: @ 85332E4
+ map_events SootopolisCity_Mart_MapObjects, SootopolisCity_Mart_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SootopolisCity_MysteryEventsHouse_1F.inc b/data/maps/events/SootopolisCity_MysteryEventsHouse_1F.inc
new file mode 100644
index 000000000..69865a2aa
--- /dev/null
+++ b/data/maps/events/SootopolisCity_MysteryEventsHouse_1F.inc
@@ -0,0 +1,11 @@
+SootopolisCity_MysteryEventsHouse_1F_MapObjects: @ 8533598
+ object_event 1, MAP_OBJ_GFX_OLD_MAN_2, 0, 0, 6, 4, 0, 10, 0, 0, 0, 0, SootopolisCity_MysteryEventsHouse_1F_EventScript_227A24, 0, 0, 0
+
+SootopolisCity_MysteryEventsHouse_1F_MapWarps: @ 85335B0
+ warp_def 3, 7, 0, 12, SOOTOPOLIS_CITY
+ warp_def 4, 7, 0, 12, SOOTOPOLIS_CITY
+ warp_def 3, 1, 3, 0, SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_B1F
+
+SootopolisCity_MysteryEventsHouse_1F_MapEvents:: @ 85335C8
+ map_events SootopolisCity_MysteryEventsHouse_1F_MapObjects, SootopolisCity_MysteryEventsHouse_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SootopolisCity_MysteryEventsHouse_B1F.inc b/data/maps/events/SootopolisCity_MysteryEventsHouse_B1F.inc
new file mode 100644
index 000000000..2a02e72f2
--- /dev/null
+++ b/data/maps/events/SootopolisCity_MysteryEventsHouse_B1F.inc
@@ -0,0 +1,9 @@
+SootopolisCity_MysteryEventsHouse_B1F_MapObjects: @ 85335DC
+ object_event 1, MAP_OBJ_GFX_HIPSTER, 0, 0, 6, 5, 0, 9, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+SootopolisCity_MysteryEventsHouse_B1F_MapWarps: @ 85335F4
+ warp_def 3, 1, 0, 2, SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F
+
+SootopolisCity_MysteryEventsHouse_B1F_MapEvents:: @ 85335FC
+ map_events SootopolisCity_MysteryEventsHouse_B1F_MapObjects, SootopolisCity_MysteryEventsHouse_B1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SootopolisCity_PokemonCenter_1F.inc b/data/maps/events/SootopolisCity_PokemonCenter_1F.inc
new file mode 100644
index 000000000..669ce88ae
--- /dev/null
+++ b/data/maps/events/SootopolisCity_PokemonCenter_1F.inc
@@ -0,0 +1,14 @@
+SootopolisCity_PokemonCenter_1F_MapObjects: @ 8533174
+ object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, SootopolisCity_PokemonCenter_1F_EventScript_226500, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 12, 4, 3, 2, 17, 0, 0, 0, SootopolisCity_PokemonCenter_1F_EventScript_22650E, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_7, 0, 0, 4, 7, 3, 5, 1, 0, 0, 0, SootopolisCity_PokemonCenter_1F_EventScript_226538, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_1, 0, 0, 2, 3, 3, 2, 17, 0, 0, 0, SootopolisCity_PokemonCenter_1F_EventScript_2C8256, 0, 0, 0
+
+SootopolisCity_PokemonCenter_1F_MapWarps: @ 85331D4
+ warp_def 7, 8, 3, 0, SOOTOPOLIS_CITY
+ warp_def 6, 8, 3, 0, SOOTOPOLIS_CITY
+ warp_def 1, 6, 4, 0, SOOTOPOLIS_CITY_POKEMON_CENTER_2F
+
+SootopolisCity_PokemonCenter_1F_MapEvents:: @ 85331EC
+ map_events SootopolisCity_PokemonCenter_1F_MapObjects, SootopolisCity_PokemonCenter_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SootopolisCity_PokemonCenter_2F.inc b/data/maps/events/SootopolisCity_PokemonCenter_2F.inc
new file mode 100644
index 000000000..d063a7666
--- /dev/null
+++ b/data/maps/events/SootopolisCity_PokemonCenter_2F.inc
@@ -0,0 +1,14 @@
+SootopolisCity_PokemonCenter_2F_MapObjects: @ 8533200
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, SootopolisCity_PokemonCenter_2F_EventScript_27375B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, SootopolisCity_PokemonCenter_2F_EventScript_273761, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, SootopolisCity_PokemonCenter_2F_EventScript_273767, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, SootopolisCity_PokemonCenter_2F_EventScript_276B03, 702, 0, 0
+
+SootopolisCity_PokemonCenter_2F_MapWarps: @ 8533260
+ warp_def 1, 6, 4, 2, SOOTOPOLIS_CITY_POKEMON_CENTER_1F
+ warp_def 5, 1, 3, 0, UNION_ROOM
+ warp_def 9, 1, 3, 0, TRADE_CENTER
+
+SootopolisCity_PokemonCenter_2F_MapEvents:: @ 8533278
+ map_events SootopolisCity_PokemonCenter_2F_MapObjects, SootopolisCity_PokemonCenter_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/SouthernIsland_Exterior.inc b/data/maps/events/SouthernIsland_Exterior.inc
new file mode 100644
index 000000000..7c6bc4128
--- /dev/null
+++ b/data/maps/events/SouthernIsland_Exterior.inc
@@ -0,0 +1,14 @@
+SouthernIsland_Exterior_MapObjects: @ 853B83C
+ object_event 1, MAP_OBJ_GFX_SAILOR, 0, 0, 13, 23, 3, 7, 0, 0, 0, 0, SouthernIsland_Exterior_EventScript_2429D2, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_SS_TIDAL, 0, 0, 13, 25, 1, 10, 0, 0, 0, 0, 0x0, 0, 0, 0
+
+SouthernIsland_Exterior_MapWarps: @ 853B86C
+ warp_def 14, 5, 3, 0, SOUTHERN_ISLAND_INTERIOR
+ warp_def 15, 5, 3, 1, SOUTHERN_ISLAND_INTERIOR
+
+SouthernIsland_Exterior_MapBGEvents: @ 853B87C
+ bg_event 16, 7, 3, 0, 0, SouthernIsland_Exterior_EventScript_242A3C
+
+SouthernIsland_Exterior_MapEvents:: @ 853B888
+ map_events SouthernIsland_Exterior_MapObjects, SouthernIsland_Exterior_MapWarps, 0x0, SouthernIsland_Exterior_MapBGEvents
+
diff --git a/data/maps/events/SouthernIsland_Interior.inc b/data/maps/events/SouthernIsland_Interior.inc
new file mode 100644
index 000000000..a304f1832
--- /dev/null
+++ b/data/maps/events/SouthernIsland_Interior.inc
@@ -0,0 +1,14 @@
+SouthernIsland_Interior_MapObjects: @ 853B89C
+ object_event 1, MAP_OBJ_GFX_HIPSTER, 0, 0, 13, 12, 3, 7, 0, 0, 0, 0, 0x0, 910, 0, 0
+ object_event 2, MAP_OBJ_GFX_TRADER, 0, 0, 13, 2, 0, 8, 0, 0, 0, 0, 0x0, 911, 0, 0
+
+SouthernIsland_Interior_MapWarps: @ 853B8CC
+ warp_def 13, 18, 3, 0, SOUTHERN_ISLAND_EXTERIOR
+ warp_def 14, 18, 3, 1, SOUTHERN_ISLAND_EXTERIOR
+
+SouthernIsland_Interior_MapBGEvents: @ 853B8DC
+ bg_event 13, 11, 3, 1, 0, SouthernIsland_Interior_EventScript_242AC4
+
+SouthernIsland_Interior_MapEvents:: @ 853B8E8
+ map_events SouthernIsland_Interior_MapObjects, SouthernIsland_Interior_MapWarps, 0x0, SouthernIsland_Interior_MapBGEvents
+
diff --git a/data/maps/events/TerraCave_End.inc b/data/maps/events/TerraCave_End.inc
new file mode 100644
index 000000000..2421cba40
--- /dev/null
+++ b/data/maps/events/TerraCave_End.inc
@@ -0,0 +1,12 @@
+TerraCave_End_MapObjects: @ 8537850
+ object_event 1, MAP_OBJ_GFX_GROUDON_1, 0, 0, 17, 22, 1, 8, 17, 0, 0, 0, 0x0, 783, 0, 0
+
+TerraCave_End_MapWarps: @ 8537868
+ warp_def 5, 4, 3, 1, TERRA_CAVE_ENTRANCE
+
+TerraCave_End_MapCoordEvents: @ 8537870
+ coord_event 17, 26, 3, 0, VAR_0x4001, 1, 0, TerraCave_End_EventScript_23B0EC
+
+TerraCave_End_MapEvents:: @ 8537880
+ map_events TerraCave_End_MapObjects, TerraCave_End_MapWarps, TerraCave_End_MapCoordEvents, 0x0
+
diff --git a/data/maps/events/TerraCave_Entrance.inc b/data/maps/events/TerraCave_Entrance.inc
new file mode 100644
index 000000000..3cea5a7c6
--- /dev/null
+++ b/data/maps/events/TerraCave_Entrance.inc
@@ -0,0 +1,7 @@
+TerraCave_Entrance_MapWarps: @ 853782C
+ warp_def 8, 18, 0, 127, NONE
+ warp_def 14, 1, 3, 0, TERRA_CAVE_END
+
+TerraCave_Entrance_MapEvents:: @ 853783C
+ map_events 0x0, TerraCave_Entrance_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/TradeCenter.inc b/data/maps/events/TradeCenter.inc
new file mode 100644
index 000000000..ffb999b22
--- /dev/null
+++ b/data/maps/events/TradeCenter.inc
@@ -0,0 +1,14 @@
+TradeCenter_MapObjects: @ 8539DA0
+ object_event 1, MAP_OBJ_GFX_WOMAN_6, 0, 0, 9, 6, 3, 9, 0, 0, 0, 0, TradeCenter_EventScript_2774B6, 0, 0, 0
+
+TradeCenter_MapWarps: @ 8539DB8
+ warp_def 5, 8, 3, 127, NONE
+ warp_def 6, 8, 3, 127, NONE
+
+TradeCenter_MapCoordEvents: @ 8539DC8
+ coord_event 4, 5, 3, 0, VAR_0x4000, 0, 0, gUnknown_082773F5
+ coord_event 7, 5, 3, 0, VAR_0x4000, 0, 0, gUnknown_082773FF
+
+TradeCenter_MapEvents:: @ 8539DE8
+ map_events TradeCenter_MapObjects, TradeCenter_MapWarps, TradeCenter_MapCoordEvents, 0x0
+
diff --git a/data/maps/events/TrainerHill_1F.inc b/data/maps/events/TrainerHill_1F.inc
new file mode 100644
index 000000000..ae8fecee7
--- /dev/null
+++ b/data/maps/events/TrainerHill_1F.inc
@@ -0,0 +1,7 @@
+TrainerHill_1F_MapWarps: @ 853D934
+ warp_def 2, 1, 3, 2, TRAINER_HILL_ENTRANCE
+ warp_def 12, 1, 3, 0, TRAINER_HILL_2F
+
+TrainerHill_1F_MapEvents:: @ 853D944
+ map_events 0x0, TrainerHill_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/TrainerHill_2F.inc b/data/maps/events/TrainerHill_2F.inc
new file mode 100644
index 000000000..dc0e071a2
--- /dev/null
+++ b/data/maps/events/TrainerHill_2F.inc
@@ -0,0 +1,7 @@
+TrainerHill_2F_MapWarps: @ 853D958
+ warp_def 2, 1, 3, 1, TRAINER_HILL_1F
+ warp_def 12, 1, 3, 0, TRAINER_HILL_3F
+
+TrainerHill_2F_MapEvents:: @ 853D968
+ map_events 0x0, TrainerHill_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/TrainerHill_3F.inc b/data/maps/events/TrainerHill_3F.inc
new file mode 100644
index 000000000..c022f16d2
--- /dev/null
+++ b/data/maps/events/TrainerHill_3F.inc
@@ -0,0 +1,7 @@
+TrainerHill_3F_MapWarps: @ 853D97C
+ warp_def 2, 1, 3, 1, TRAINER_HILL_2F
+ warp_def 12, 1, 3, 0, TRAINER_HILL_4F
+
+TrainerHill_3F_MapEvents:: @ 853D98C
+ map_events 0x0, TrainerHill_3F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/TrainerHill_4F.inc b/data/maps/events/TrainerHill_4F.inc
new file mode 100644
index 000000000..7007a69a7
--- /dev/null
+++ b/data/maps/events/TrainerHill_4F.inc
@@ -0,0 +1,7 @@
+TrainerHill_4F_MapWarps: @ 853D9A0
+ warp_def 2, 1, 3, 1, TRAINER_HILL_3F
+ warp_def 12, 1, 3, 0, TRAINER_HILL_ROOF
+
+TrainerHill_4F_MapEvents:: @ 853D9B0
+ map_events 0x0, TrainerHill_4F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/TrainerHill_Elevator.inc b/data/maps/events/TrainerHill_Elevator.inc
new file mode 100644
index 000000000..873495876
--- /dev/null
+++ b/data/maps/events/TrainerHill_Elevator.inc
@@ -0,0 +1,10 @@
+TrainerHill_Elevator_MapObjects: @ 853DD84
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 0, 6, 3, 8, 17, 0, 0, 0, TrainerHill_Elevator_EventScript_26935F, 0, 0, 0
+
+TrainerHill_Elevator_MapWarps: @ 853DD9C
+ warp_def 1, 6, 3, 1, TRAINER_HILL_ROOF
+ warp_def 2, 6, 3, 1, TRAINER_HILL_ROOF
+
+TrainerHill_Elevator_MapEvents:: @ 853DDAC
+ map_events TrainerHill_Elevator_MapObjects, TrainerHill_Elevator_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/TrainerHill_Entrance.inc b/data/maps/events/TrainerHill_Entrance.inc
new file mode 100644
index 000000000..a5574755b
--- /dev/null
+++ b/data/maps/events/TrainerHill_Entrance.inc
@@ -0,0 +1,21 @@
+TrainerHill_Entrance_MapObjects: @ 853D874
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 11, 6, 3, 9, 17, 0, 0, 0, TrainerHill_Entrance_EventScript_2681FD, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_NURSE, 0, 0, 4, 9, 3, 8, 17, 0, 0, 0, TrainerHill_Entrance_EventScript_2681EF, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 14, 9, 3, 8, 17, 0, 0, 0, TrainerHill_Entrance_EventScript_2683C7, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_GIRL_3, 0, 0, 5, 14, 3, 2, 17, 0, 0, 0, TrainerHill_Entrance_EventScript_2683AC, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_MAN_4, 0, 0, 14, 15, 3, 2, 17, 0, 0, 0, TrainerHill_Entrance_EventScript_268391, 0, 0, 0
+
+TrainerHill_Entrance_MapWarps: @ 853D8EC
+ warp_def 9, 16, 3, 4, ROUTE_111
+ warp_def 10, 16, 3, 4, ROUTE_111
+ warp_def 9, 1, 3, 0, TRAINER_HILL_1F
+
+TrainerHill_Entrance_MapCoordEvents: @ 853D904
+ coord_event 9, 6, 3, 0, VAR_0x40D6, 0, 0, TrainerHill_Entrance_EventScript_268229
+
+TrainerHill_Entrance_MapBGEvents: @ 853D914
+ bg_event 8, 10, 0, 1, 0, TrainerHill_Entrance_EventScript_268388
+
+TrainerHill_Entrance_MapEvents:: @ 853D920
+ map_events TrainerHill_Entrance_MapObjects, TrainerHill_Entrance_MapWarps, TrainerHill_Entrance_MapCoordEvents, TrainerHill_Entrance_MapBGEvents
+
diff --git a/data/maps/events/TrainerHill_Roof.inc b/data/maps/events/TrainerHill_Roof.inc
new file mode 100644
index 000000000..4f48ef724
--- /dev/null
+++ b/data/maps/events/TrainerHill_Roof.inc
@@ -0,0 +1,10 @@
+TrainerHill_Roof_MapObjects: @ 853D9C4
+ object_event 1, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 12, 7, 3, 8, 17, 0, 0, 0, TrainerHill_Roof_EventScript_268FB2, 0, 0, 0
+
+TrainerHill_Roof_MapWarps: @ 853D9DC
+ warp_def 9, 5, 3, 1, TRAINER_HILL_4F
+ warp_def 15, 5, 0, 1, TRAINER_HILL_ELEVATOR
+
+TrainerHill_Roof_MapEvents:: @ 853D9EC
+ map_events TrainerHill_Roof_MapObjects, TrainerHill_Roof_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/Underwater1.inc b/data/maps/events/Underwater1.inc
new file mode 100644
index 000000000..08cf19a4c
--- /dev/null
+++ b/data/maps/events/Underwater1.inc
@@ -0,0 +1,12 @@
+Underwater1_MapBGEvents: @ 852CEB4
+ bg_event 42, 51, 0, 7, 0, ITEM_CARBOS, 8, 0
+ bg_event 14, 40, 0, 7, 0, ITEM_GREEN_SHARD, 9, 0
+ bg_event 66, 34, 3, 7, 0, ITEM_PEARL, 10, 0
+ bg_event 64, 54, 3, 7, 0, ITEM_BIG_PEARL, 11, 0
+ bg_event 70, 64, 3, 7, 0, ITEM_HEART_SCALE, 13, 0
+ bg_event 42, 5, 3, 7, 0, ITEM_CALCIUM, 36, 0
+ bg_event 45, 36, 3, 7, 0, ITEM_HEART_SCALE, 38, 0
+
+Underwater1_MapEvents:: @ 852CF08
+ map_events 0x0, 0x0, 0x0, Underwater1_MapBGEvents
+
diff --git a/data/maps/events/Underwater2.inc b/data/maps/events/Underwater2.inc
new file mode 100644
index 000000000..097dbdc65
--- /dev/null
+++ b/data/maps/events/Underwater2.inc
@@ -0,0 +1,16 @@
+Underwater2_MapWarps: @ 852CF1C
+ warp_def 45, 65, 0, 0, UNDERWATER_SOOTOPOLIS_CITY
+
+Underwater2_MapBGEvents: @ 852CF24
+ bg_event 30, 17, 3, 7, 0, ITEM_HEART_SCALE, 14, 0
+ bg_event 41, 19, 3, 7, 0, ITEM_ULTRA_BALL, 15, 0
+ bg_event 63, 19, 3, 7, 0, ITEM_STARDUST, 16, 0
+ bg_event 10, 36, 3, 7, 0, ITEM_PEARL, 17, 0
+ bg_event 11, 39, 3, 7, 0, ITEM_IRON, 19, 0
+ bg_event 12, 35, 3, 7, 0, ITEM_YELLOW_SHARD, 18, 0
+ bg_event 65, 60, 3, 7, 0, ITEM_BIG_PEARL, 20, 0
+ bg_event 9, 77, 3, 7, 0, ITEM_BLUE_SHARD, 12, 0
+
+Underwater2_MapEvents:: @ 852CF84
+ map_events 0x0, Underwater2_MapWarps, 0x0, Underwater2_MapBGEvents
+
diff --git a/data/maps/events/Underwater3.inc b/data/maps/events/Underwater3.inc
new file mode 100644
index 000000000..66b7b8758
--- /dev/null
+++ b/data/maps/events/Underwater3.inc
@@ -0,0 +1,13 @@
+Underwater3_MapWarps: @ 852CF98
+ warp_def 57, 5, 0, 0, UNDERWATER_MARINE_CAVE
+ warp_def 67, 38, 0, 0, UNDERWATER_MARINE_CAVE
+
+Underwater3_MapBGEvents: @ 852CFA8
+ bg_event 12, 42, 3, 7, 0, ITEM_STAR_PIECE, 21, 0
+ bg_event 50, 36, 3, 7, 0, ITEM_HP_UP, 22, 0
+ bg_event 34, 72, 3, 7, 0, ITEM_HEART_SCALE, 23, 0
+ bg_event 72, 20, 3, 7, 0, ITEM_RED_SHARD, 24, 0
+
+Underwater3_MapEvents:: @ 852CFD8
+ map_events 0x0, Underwater3_MapWarps, 0x0, Underwater3_MapBGEvents
+
diff --git a/data/maps/events/Underwater4.inc b/data/maps/events/Underwater4.inc
new file mode 100644
index 000000000..b1846f1aa
--- /dev/null
+++ b/data/maps/events/Underwater4.inc
@@ -0,0 +1,10 @@
+Underwater4_MapWarps: @ 852CFEC
+ warp_def 38, 26, 3, 0, UNDERWATER_SEAFLOOR_CAVERN
+
+Underwater4_MapBGEvents: @ 852CFF4
+ bg_event 38, 19, 3, 7, 0, ITEM_PROTEIN, 25, 0
+ bg_event 69, 18, 3, 7, 0, ITEM_PEARL, 26, 0
+
+Underwater4_MapEvents:: @ 852D00C
+ map_events 0x0, Underwater4_MapWarps, 0x0, Underwater4_MapBGEvents
+
diff --git a/data/maps/events/Underwater5.inc b/data/maps/events/Underwater5.inc
new file mode 100644
index 000000000..7f72f3771
--- /dev/null
+++ b/data/maps/events/Underwater5.inc
@@ -0,0 +1,7 @@
+Underwater5_MapWarps: @ 852D020
+ warp_def 26, 3, 0, 0, UNDERWATER_MARINE_CAVE
+ warp_def 32, 21, 0, 0, UNDERWATER_MARINE_CAVE
+
+Underwater5_MapEvents:: @ 852D030
+ map_events 0x0, Underwater5_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/Underwater6.inc b/data/maps/events/Underwater6.inc
new file mode 100644
index 000000000..ba5883d7c
--- /dev/null
+++ b/data/maps/events/Underwater6.inc
@@ -0,0 +1,7 @@
+Underwater6_MapWarps: @ 852D044
+ warp_def 13, 4, 0, 0, UNDERWATER_MARINE_CAVE
+ warp_def 17, 66, 0, 0, UNDERWATER_MARINE_CAVE
+
+Underwater6_MapEvents:: @ 852D054
+ map_events 0x0, Underwater6_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/Underwater7.inc b/data/maps/events/Underwater7.inc
new file mode 100644
index 000000000..0841a343e
--- /dev/null
+++ b/data/maps/events/Underwater7.inc
@@ -0,0 +1,7 @@
+Underwater7_MapWarps: @ 852D068
+ warp_def 22, 10, 0, 0, UNDERWATER_MARINE_CAVE
+ warp_def 45, 30, 0, 0, UNDERWATER_MARINE_CAVE
+
+Underwater7_MapEvents:: @ 852D078
+ map_events 0x0, Underwater7_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/Underwater_MarineCave.inc b/data/maps/events/Underwater_MarineCave.inc
new file mode 100644
index 000000000..9266cc5c3
--- /dev/null
+++ b/data/maps/events/Underwater_MarineCave.inc
@@ -0,0 +1,6 @@
+Underwater_MarineCave_MapWarps: @ 85377B0
+ warp_def 9, 8, 0, 127, NONE
+
+Underwater_MarineCave_MapEvents:: @ 85377B8
+ map_events 0x0, Underwater_MarineCave_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/Underwater_Route134.inc b/data/maps/events/Underwater_Route134.inc
new file mode 100644
index 000000000..03ed08535
--- /dev/null
+++ b/data/maps/events/Underwater_Route134.inc
@@ -0,0 +1,6 @@
+Underwater_Route134_MapWarps: @ 8536D44
+ warp_def 8, 8, 0, 0, UNDERWATER_SEALED_CHAMBER
+
+Underwater_Route134_MapEvents:: @ 8536D4C
+ map_events 0x0, Underwater_Route134_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/Underwater_SeafloorCavern.inc b/data/maps/events/Underwater_SeafloorCavern.inc
new file mode 100644
index 000000000..b284db78f
--- /dev/null
+++ b/data/maps/events/Underwater_SeafloorCavern.inc
@@ -0,0 +1,12 @@
+Underwater_SeafloorCavern_MapObjects: @ 8535640
+ object_event 1, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 5, 4, 3, 76, 17, 0, 0, 0, Underwater_SeafloorCavern_EventScript_2343DC, 980, 0, 0
+ object_event 2, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 6, 4, 3, 76, 17, 0, 0, 0, Underwater_SeafloorCavern_EventScript_2343DC, 980, 0, 0
+ object_event 3, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 7, 4, 3, 76, 17, 0, 0, 0, Underwater_SeafloorCavern_EventScript_2343DC, 980, 0, 0
+ object_event 4, MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 0, 8, 4, 3, 76, 17, 0, 0, 0, Underwater_SeafloorCavern_EventScript_2343DC, 980, 0, 0
+
+Underwater_SeafloorCavern_MapWarps: @ 85356A0
+ warp_def 6, 7, 0, 0, UNDERWATER_4
+
+Underwater_SeafloorCavern_MapEvents:: @ 85356A8
+ map_events Underwater_SeafloorCavern_MapObjects, Underwater_SeafloorCavern_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/Underwater_SealedChamber.inc b/data/maps/events/Underwater_SealedChamber.inc
new file mode 100644
index 000000000..9ef7be29e
--- /dev/null
+++ b/data/maps/events/Underwater_SealedChamber.inc
@@ -0,0 +1,9 @@
+Underwater_SealedChamber_MapWarps: @ 8536D60
+ warp_def 7, 1, 0, 0, UNDERWATER_ROUTE_134
+
+Underwater_SealedChamber_MapBGEvents: @ 8536D68
+ bg_event 12, 43, 0, 0, 0, Underwater_SealedChamber_EventScript_2390FC
+
+Underwater_SealedChamber_MapEvents:: @ 8536D74
+ map_events 0x0, Underwater_SealedChamber_MapWarps, 0x0, Underwater_SealedChamber_MapBGEvents
+
diff --git a/data/maps/events/Underwater_SootopolisCity.inc b/data/maps/events/Underwater_SootopolisCity.inc
new file mode 100644
index 000000000..4b0cda4eb
--- /dev/null
+++ b/data/maps/events/Underwater_SootopolisCity.inc
@@ -0,0 +1,7 @@
+Underwater_SootopolisCity_MapWarps: @ 8534330
+ warp_def 9, 8, 0, 0, UNDERWATER_2
+ warp_def 10, 8, 0, 0, UNDERWATER_2
+
+Underwater_SootopolisCity_MapEvents:: @ 8534340
+ map_events 0x0, Underwater_SootopolisCity_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/UnionRoom.inc b/data/maps/events/UnionRoom.inc
new file mode 100644
index 000000000..be9b40243
--- /dev/null
+++ b/data/maps/events/UnionRoom.inc
@@ -0,0 +1,18 @@
+UnionRoom_MapObjects: @ 853B020
+ object_event 1, MAP_OBJ_GFX_UNION_ROOM_NURSE, 0, 0, 3, 2, 3, 8, 0, 0, 0, 0, UnionRoom_EventScript_23D236, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GIDDY, 0, 0, 1, 8, 3, 2, 17, 0, 0, 0, UnionRoom_EventScript_23D204, 706, 0, 0
+ object_event 3, 247, 0, 0, 7, 8, 3, 2, 17, 0, 0, 0, UnionRoom_EventScript_23D22C, 710, 0, 0
+ object_event 4, 246, 0, 0, 1, 4, 3, 2, 17, 0, 0, 0, UnionRoom_EventScript_23D222, 709, 0, 0
+ object_event 5, MAP_OBJ_GFX_PLACEHOLDER_2, 0, 0, 7, 4, 3, 2, 17, 0, 0, 0, UnionRoom_EventScript_23D218, 708, 0, 0
+ object_event 6, MAP_OBJ_GFX_PLACEHOLDER_1, 0, 0, 13, 4, 3, 2, 17, 0, 0, 0, UnionRoom_EventScript_23D20E, 707, 0, 0
+ object_event 7, MAP_OBJ_GFX_STORYTELLER, 0, 0, 10, 6, 3, 2, 17, 0, 0, 0, UnionRoom_EventScript_23D1FA, 705, 0, 0
+ object_event 8, MAP_OBJ_GFX_TRADER, 0, 0, 13, 8, 3, 2, 17, 0, 0, 0, UnionRoom_EventScript_23D1F0, 704, 0, 0
+ object_event 9, MAP_OBJ_GFX_HIPSTER, 0, 0, 4, 6, 3, 2, 17, 0, 0, 0, UnionRoom_EventScript_23D1E6, 703, 0, 0
+
+UnionRoom_MapWarps: @ 853B0F8
+ warp_def 7, 11, 3, 127, NONE
+ warp_def 8, 11, 3, 127, NONE
+
+UnionRoom_MapEvents:: @ 853B108
+ map_events UnionRoom_MapObjects, UnionRoom_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/UnknownMap_25_29.inc b/data/maps/events/UnknownMap_25_29.inc
new file mode 100644
index 000000000..13ea1b8b9
--- /dev/null
+++ b/data/maps/events/UnknownMap_25_29.inc
@@ -0,0 +1 @@
+UnknownMap_25_29_MapEvents:: @ 853A064
diff --git a/data/maps/events/UnknownMap_25_30.inc b/data/maps/events/UnknownMap_25_30.inc
new file mode 100644
index 000000000..0e221e240
--- /dev/null
+++ b/data/maps/events/UnknownMap_25_30.inc
@@ -0,0 +1 @@
+UnknownMap_25_30_MapEvents:: @ 853A064
diff --git a/data/maps/events/UnknownMap_25_31.inc b/data/maps/events/UnknownMap_25_31.inc
new file mode 100644
index 000000000..99e450de5
--- /dev/null
+++ b/data/maps/events/UnknownMap_25_31.inc
@@ -0,0 +1 @@
+UnknownMap_25_31_MapEvents:: @ 853A064
diff --git a/data/maps/events/UnknownMap_25_32.inc b/data/maps/events/UnknownMap_25_32.inc
new file mode 100644
index 000000000..c48eedb17
--- /dev/null
+++ b/data/maps/events/UnknownMap_25_32.inc
@@ -0,0 +1 @@
+UnknownMap_25_32_MapEvents:: @ 853A064
diff --git a/data/maps/events/UnknownMap_25_33.inc b/data/maps/events/UnknownMap_25_33.inc
new file mode 100644
index 000000000..14f4571d2
--- /dev/null
+++ b/data/maps/events/UnknownMap_25_33.inc
@@ -0,0 +1 @@
+UnknownMap_25_33_MapEvents:: @ 853A064
diff --git a/data/maps/events/UnknownMap_25_34.inc b/data/maps/events/UnknownMap_25_34.inc
new file mode 100644
index 000000000..0fcbef3a3
--- /dev/null
+++ b/data/maps/events/UnknownMap_25_34.inc
@@ -0,0 +1,3 @@
+UnknownMap_25_34_MapEvents:: @ 853A064
+ map_events LinkContestRoom1_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/VerdanturfTown.inc b/data/maps/events/VerdanturfTown.inc
new file mode 100644
index 000000000..7738701b2
--- /dev/null
+++ b/data/maps/events/VerdanturfTown.inc
@@ -0,0 +1,28 @@
+VerdanturfTown_MapObjects: @ 8527CDC
+ object_event 1, MAP_OBJ_GFX_MAN_2, 0, 0, 4, 17, 3, 5, 1, 0, 0, 0, VerdanturfTown_EventScript_1EB5A8, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_LITTLE_GIRL_1, 0, 0, 9, 2, 3, 9, 1, 0, 0, 0, VerdanturfTown_EventScript_1EB575, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BOY_1, 0, 0, 7, 11, 3, 3, 16, 0, 0, 0, VerdanturfTown_EventScript_1EB5BA, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_CAMPER, 0, 0, 7, 6, 3, 5, 1, 0, 0, 0, VerdanturfTown_EventScript_1EB5B1, 0, 0, 0
+
+VerdanturfTown_MapWarps: @ 8527D3C
+ warp_def 3, 7, 0, 0, VERDANTURF_TOWN_BATTLE_TENT_LOBBY
+ warp_def 12, 3, 0, 0, VERDANTURF_TOWN_MART
+ warp_def 16, 3, 0, 0, VERDANTURF_TOWN_POKEMON_CENTER_1F
+ warp_def 10, 14, 0, 0, VERDANTURF_TOWN_WANDAS_HOUSE
+ warp_def 8, 1, 0, 1, RUSTURF_TUNNEL
+ warp_def 1, 14, 0, 0, VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE
+ warp_def 17, 15, 0, 0, VERDANTURF_TOWN_HOUSE
+
+VerdanturfTown_MapBGEvents: @ 8527D74
+ bg_event 14, 3, 0, 1, 0, VerdanturfTown_EventScript_271E6A
+ bg_event 14, 6, 0, 0, 0, VerdanturfTown_EventScript_1EB5D9
+ bg_event 17, 3, 0, 1, 0, VerdanturfTown_EventScript_271E73
+ bg_event 7, 14, 0, 0, 0, VerdanturfTown_EventScript_1EB5E2
+ bg_event 13, 3, 0, 1, 0, VerdanturfTown_EventScript_271E6A
+ bg_event 18, 3, 0, 1, 0, VerdanturfTown_EventScript_271E73
+ bg_event 1, 8, 0, 0, 0, VerdanturfTown_EventScript_1EB5EB
+ bg_event 7, 3, 0, 0, 0, VerdanturfTown_EventScript_1EB5F4
+
+VerdanturfTown_MapEvents:: @ 8527DD4
+ map_events VerdanturfTown_MapObjects, VerdanturfTown_MapWarps, 0x0, VerdanturfTown_MapBGEvents
+
diff --git a/data/maps/events/VerdanturfTown_BattleTentBattleRoom.inc b/data/maps/events/VerdanturfTown_BattleTentBattleRoom.inc
new file mode 100644
index 000000000..0db3fc920
--- /dev/null
+++ b/data/maps/events/VerdanturfTown_BattleTentBattleRoom.inc
@@ -0,0 +1,8 @@
+VerdanturfTown_BattleTentBattleRoom_MapObjects: @ 852E734
+ object_event 1, MAP_OBJ_GFX_TRADER, 0, 0, 2, 8, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_HIPSTER, 0, 0, 11, 1, 3, 8, 17, 0, 0, 0, 0x0, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 2, 4, 0, 10, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+VerdanturfTown_BattleTentBattleRoom_MapEvents:: @ 852E77C
+ map_events VerdanturfTown_BattleTentBattleRoom_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/VerdanturfTown_BattleTentCorridor.inc b/data/maps/events/VerdanturfTown_BattleTentCorridor.inc
new file mode 100644
index 000000000..7ec4cee10
--- /dev/null
+++ b/data/maps/events/VerdanturfTown_BattleTentCorridor.inc
@@ -0,0 +1,6 @@
+VerdanturfTown_BattleTentCorridor_MapObjects: @ 852E708
+ object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 2, 6, 3, 7, 17, 0, 0, 0, 0x0, 0, 0, 0
+
+VerdanturfTown_BattleTentCorridor_MapEvents:: @ 852E720
+ map_events VerdanturfTown_BattleTentCorridor_MapObjects, 0x0, 0x0, 0x0
+
diff --git a/data/maps/events/VerdanturfTown_BattleTentLobby.inc b/data/maps/events/VerdanturfTown_BattleTentLobby.inc
new file mode 100644
index 000000000..d6b5818da
--- /dev/null
+++ b/data/maps/events/VerdanturfTown_BattleTentLobby.inc
@@ -0,0 +1,18 @@
+VerdanturfTown_BattleTentLobby_MapObjects: @ 852E648
+ object_event 1, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 6, 5, 3, 8, 17, 0, 0, 0, VerdanturfTown_BattleTentLobby_EventScript_201873, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GIRL_1, 0, 0, 0, 5, 3, 2, 17, 0, 0, 0, VerdanturfTown_BattleTentLobby_EventScript_201A7B, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_BOY_3, 0, 0, 9, 7, 3, 2, 17, 0, 0, 0, VerdanturfTown_BattleTentLobby_EventScript_201ABC, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_BOY_2, 0, 0, 1, 8, 3, 10, 17, 0, 0, 0, VerdanturfTown_BattleTentLobby_EventScript_201AC5, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_SCOTT, 0, 0, 12, 6, 3, 9, 17, 0, 0, 0, VerdanturfTown_BattleTentLobby_EventScript_201AD0, 766, 0, 0
+ object_event 6, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 2, 8, 3, 9, 17, 0, 0, 0, VerdanturfTown_BattleTentLobby_EventScript_201AF7, 0, 0, 0
+
+VerdanturfTown_BattleTentLobby_MapWarps: @ 852E6D8
+ warp_def 6, 9, 0, 0, VERDANTURF_TOWN
+ warp_def 7, 9, 0, 0, VERDANTURF_TOWN
+
+VerdanturfTown_BattleTentLobby_MapBGEvents: @ 852E6E8
+ bg_event 4, 5, 0, 0, 0, VerdanturfTown_BattleTentLobby_EventScript_201B02
+
+VerdanturfTown_BattleTentLobby_MapEvents:: @ 852E6F4
+ map_events VerdanturfTown_BattleTentLobby_MapObjects, VerdanturfTown_BattleTentLobby_MapWarps, 0x0, VerdanturfTown_BattleTentLobby_MapBGEvents
+
diff --git a/data/maps/events/VerdanturfTown_FriendshipRatersHouse.inc b/data/maps/events/VerdanturfTown_FriendshipRatersHouse.inc
new file mode 100644
index 000000000..2441d8d41
--- /dev/null
+++ b/data/maps/events/VerdanturfTown_FriendshipRatersHouse.inc
@@ -0,0 +1,11 @@
+VerdanturfTown_FriendshipRatersHouse_MapObjects: @ 852E9C8
+ object_event 1, MAP_OBJ_GFX_WOMAN_3, 0, 0, 3, 4, 3, 8, 0, 0, 0, 0, VerdanturfTown_FriendshipRatersHouse_EventScript_203031, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_PIKACHU, 0, 0, 4, 4, 3, 8, 0, 0, 0, 0, VerdanturfTown_FriendshipRatersHouse_EventScript_2030DA, 0, 0, 0
+
+VerdanturfTown_FriendshipRatersHouse_MapWarps: @ 852E9F8
+ warp_def 3, 7, 0, 5, VERDANTURF_TOWN
+ warp_def 4, 7, 0, 5, VERDANTURF_TOWN
+
+VerdanturfTown_FriendshipRatersHouse_MapEvents:: @ 852EA08
+ map_events VerdanturfTown_FriendshipRatersHouse_MapObjects, VerdanturfTown_FriendshipRatersHouse_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/VerdanturfTown_House.inc b/data/maps/events/VerdanturfTown_House.inc
new file mode 100644
index 000000000..803f9f666
--- /dev/null
+++ b/data/maps/events/VerdanturfTown_House.inc
@@ -0,0 +1,11 @@
+VerdanturfTown_House_MapObjects: @ 852EA1C
+ object_event 1, MAP_OBJ_GFX_WOMAN_7, 0, 0, 4, 5, 3, 7, 0, 0, 0, 0, VerdanturfTown_House_EventScript_20335F, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_7, 0, 0, 4, 4, 3, 8, 0, 0, 0, 0, VerdanturfTown_House_EventScript_203368, 0, 0, 0
+
+VerdanturfTown_House_MapWarps: @ 852EA4C
+ warp_def 3, 8, 0, 6, VERDANTURF_TOWN
+ warp_def 4, 8, 0, 6, VERDANTURF_TOWN
+
+VerdanturfTown_House_MapEvents:: @ 852EA5C
+ map_events VerdanturfTown_House_MapObjects, VerdanturfTown_House_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/VerdanturfTown_Mart.inc b/data/maps/events/VerdanturfTown_Mart.inc
new file mode 100644
index 000000000..6d6ca6a5d
--- /dev/null
+++ b/data/maps/events/VerdanturfTown_Mart.inc
@@ -0,0 +1,13 @@
+VerdanturfTown_Mart_MapObjects: @ 852E790
+ object_event 1, MAP_OBJ_GFX_MART_EMPLOYEE, 0, 0, 1, 3, 3, 10, 0, 0, 0, 0, VerdanturfTown_Mart_EventScript_202587, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_BOY_2, 0, 0, 5, 4, 3, 10, 0, 0, 0, 0, VerdanturfTown_Mart_EventScript_2025BA, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_OLD_WOMAN_1, 0, 0, 8, 5, 3, 9, 0, 0, 0, 0, VerdanturfTown_Mart_EventScript_2025C3, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_LASS, 0, 0, 3, 2, 3, 9, 17, 0, 0, 0, VerdanturfTown_Mart_EventScript_2025CC, 0, 0, 0
+
+VerdanturfTown_Mart_MapWarps: @ 852E7F0
+ warp_def 3, 7, 0, 1, VERDANTURF_TOWN
+ warp_def 4, 7, 0, 1, VERDANTURF_TOWN
+
+VerdanturfTown_Mart_MapEvents:: @ 852E800
+ map_events VerdanturfTown_Mart_MapObjects, VerdanturfTown_Mart_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/VerdanturfTown_PokemonCenter_1F.inc b/data/maps/events/VerdanturfTown_PokemonCenter_1F.inc
new file mode 100644
index 000000000..9534ca9c7
--- /dev/null
+++ b/data/maps/events/VerdanturfTown_PokemonCenter_1F.inc
@@ -0,0 +1,14 @@
+VerdanturfTown_PokemonCenter_1F_MapObjects: @ 852E814
+ object_event 1, MAP_OBJ_GFX_NURSE, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, VerdanturfTown_PokemonCenter_1F_EventScript_20273A, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_GENTLEMAN, 0, 0, 4, 5, 3, 5, 1, 0, 0, 0, VerdanturfTown_PokemonCenter_1F_EventScript_202748, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_OLD_MAN_1, 0, 0, 12, 2, 3, 7, 0, 0, 0, 0, VerdanturfTown_PokemonCenter_1F_EventScript_202751, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_LITTLE_BOY_2, 0, 0, 10, 6, 3, 9, 1, 0, 0, 0, VerdanturfTown_PokemonCenter_1F_EventScript_2C7FE6, 0, 0, 0
+
+VerdanturfTown_PokemonCenter_1F_MapWarps: @ 852E874
+ warp_def 7, 8, 3, 2, VERDANTURF_TOWN
+ warp_def 6, 8, 3, 2, VERDANTURF_TOWN
+ warp_def 1, 6, 4, 0, VERDANTURF_TOWN_POKEMON_CENTER_2F
+
+VerdanturfTown_PokemonCenter_1F_MapEvents:: @ 852E88C
+ map_events VerdanturfTown_PokemonCenter_1F_MapObjects, VerdanturfTown_PokemonCenter_1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/VerdanturfTown_PokemonCenter_2F.inc b/data/maps/events/VerdanturfTown_PokemonCenter_2F.inc
new file mode 100644
index 000000000..2649066d8
--- /dev/null
+++ b/data/maps/events/VerdanturfTown_PokemonCenter_2F.inc
@@ -0,0 +1,14 @@
+VerdanturfTown_PokemonCenter_2F_MapObjects: @ 852E8A0
+ object_event 1, MAP_OBJ_GFX_TEALA, 0, 0, 6, 2, 0, 8, 17, 0, 0, 0, VerdanturfTown_PokemonCenter_2F_EventScript_27375B, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_TEALA, 0, 0, 2, 2, 3, 8, 17, 0, 0, 0, VerdanturfTown_PokemonCenter_2F_EventScript_273761, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_TEALA, 0, 0, 10, 2, 0, 8, 17, 0, 0, 0, VerdanturfTown_PokemonCenter_2F_EventScript_273767, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_MYSTERY_GIFT_MAN, 0, 0, 1, 2, 0, 8, 17, 0, 0, 0, VerdanturfTown_PokemonCenter_2F_EventScript_276B03, 702, 0, 0
+
+VerdanturfTown_PokemonCenter_2F_MapWarps: @ 852E900
+ warp_def 1, 6, 4, 2, VERDANTURF_TOWN_POKEMON_CENTER_1F
+ warp_def 5, 1, 3, 0, UNION_ROOM
+ warp_def 9, 1, 3, 0, TRADE_CENTER
+
+VerdanturfTown_PokemonCenter_2F_MapEvents:: @ 852E918
+ map_events VerdanturfTown_PokemonCenter_2F_MapObjects, VerdanturfTown_PokemonCenter_2F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/VerdanturfTown_WandasHouse.inc b/data/maps/events/VerdanturfTown_WandasHouse.inc
new file mode 100644
index 000000000..2089da649
--- /dev/null
+++ b/data/maps/events/VerdanturfTown_WandasHouse.inc
@@ -0,0 +1,14 @@
+VerdanturfTown_WandasHouse_MapObjects: @ 852E92C
+ object_event 1, MAP_OBJ_GFX_WALLY, 0, 0, 14, 5, 3, 2, 17, 0, 0, 0, VerdanturfTown_WandasHouse_EventScript_2028BF, 806, 0, 0
+ object_event 2, MAP_OBJ_GFX_BLACK_BELT, 0, 0, 5, 4, 3, 8, 0, 0, 0, 0, VerdanturfTown_WandasHouse_EventScript_202913, 808, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_3, 0, 0, 7, 2, 3, 8, 0, 0, 0, 0, VerdanturfTown_WandasHouse_EventScript_2028E1, 809, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_2, 0, 0, 2, 4, 3, 10, 0, 0, 0, 0, VerdanturfTown_WandasHouse_EventScript_20294E, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_WOMAN_3, 0, 0, 5, 5, 3, 9, 0, 0, 0, 0, VerdanturfTown_WandasHouse_EventScript_20291C, 984, 0, 0
+
+VerdanturfTown_WandasHouse_MapWarps: @ 852E9A4
+ warp_def 7, 7, 0, 3, VERDANTURF_TOWN
+ warp_def 8, 7, 0, 3, VERDANTURF_TOWN
+
+VerdanturfTown_WandasHouse_MapEvents:: @ 852E9B4
+ map_events VerdanturfTown_WandasHouse_MapObjects, VerdanturfTown_WandasHouse_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/VictoryRoad_1F.inc b/data/maps/events/VictoryRoad_1F.inc
new file mode 100644
index 000000000..db3554ed4
--- /dev/null
+++ b/data/maps/events/VictoryRoad_1F.inc
@@ -0,0 +1,28 @@
+VictoryRoad_1F_MapObjects: @ 8535E04
+ object_event 1, MAP_OBJ_GFX_MAN_4, 0, 0, 33, 22, 3, 8, 0, 0, 1, 3, VictoryRoad_1F_EventScript_235E73, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_WOMAN_7, 0, 0, 6, 15, 4, 9, 0, 0, 1, 4, VictoryRoad_1F_EventScript_235EA1, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_MAN_4, 0, 0, 27, 34, 3, 18, 0, 0, 1, 3, VictoryRoad_1F_EventScript_235E8A, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_WALLY, 0, 0, 12, 25, 4, 8, 17, 0, 0, 0, VictoryRoad_1F_EventScript_235E2C, 858, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 40, 26, 3, 1, 17, 0, 0, 0, VictoryRoad_1F_EventScript_291483, 1084, 0, 0
+ object_event 6, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 37, 39, 4, 1, 17, 0, 0, 0, VictoryRoad_1F_EventScript_291490, 1085, 0, 0
+ object_event 7, MAP_OBJ_GFX_WALLY, 0, 0, 31, 9, 3, 1, 17, 0, 0, 0, VictoryRoad_1F_EventScript_235E35, 751, 0, 0
+ object_event 8, MAP_OBJ_GFX_WOMAN_7, 0, 0, 29, 17, 3, 10, 17, 0, 1, 2, VictoryRoad_1F_EventScript_235ECF, 0, 0, 0
+ object_event 9, MAP_OBJ_GFX_MAN_4, 0, 0, 32, 17, 3, 9, 17, 0, 1, 2, VictoryRoad_1F_EventScript_235EB8, 0, 0, 0
+
+VictoryRoad_1F_MapWarps: @ 8535EDC
+ warp_def 15, 40, 3, 2, EVER_GRANDE_CITY
+ warp_def 39, 5, 3, 3, EVER_GRANDE_CITY
+ warp_def 21, 32, 3, 5, VICTORY_ROAD_B1F
+ warp_def 42, 38, 4, 2, VICTORY_ROAD_B1F
+ warp_def 9, 14, 4, 4, VICTORY_ROAD_B1F
+
+VictoryRoad_1F_MapCoordEvents: @ 8535F04
+ coord_event 2, 23, 4, 0, VAR_0x40C3, 0, 0, VictoryRoad_1F_EventScript_235DAF
+ coord_event 3, 23, 4, 0, VAR_0x40C3, 0, 0, VictoryRoad_1F_EventScript_235DC8
+
+VictoryRoad_1F_MapBGEvents: @ 8535F24
+ bg_event 30, 39, 4, 7, 0, ITEM_ULTRA_BALL, 81, 0
+
+VictoryRoad_1F_MapEvents:: @ 8535F30
+ map_events VictoryRoad_1F_MapObjects, VictoryRoad_1F_MapWarps, VictoryRoad_1F_MapCoordEvents, VictoryRoad_1F_MapBGEvents
+
diff --git a/data/maps/events/VictoryRoad_B1F.inc b/data/maps/events/VictoryRoad_B1F.inc
new file mode 100644
index 000000000..6c57f0662
--- /dev/null
+++ b/data/maps/events/VictoryRoad_B1F.inc
@@ -0,0 +1,35 @@
+VictoryRoad_B1F_MapObjects: @ 8535F44
+ object_event 1, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 20, 5, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 19, 0, 0
+ object_event 2, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 21, 4, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 20, 0, 0
+ object_event 3, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 4, 7, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 17, 0, 0
+ object_event 4, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 9, 10, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 18, 0, 0
+ object_event 5, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 20, 26, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 23, 0, 0
+ object_event 6, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 21, 25, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 22, 0, 0
+ object_event 7, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 35, 6, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 30, 0, 0
+ object_event 8, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 19, 5, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2907A6, 25, 0, 0
+ object_event 9, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 20, 4, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2907A6, 26, 0, 0
+ object_event 10, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 18, 12, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2907A6, 27, 0, 0
+ object_event 11, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 20, 25, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2907A6, 28, 0, 0
+ object_event 12, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 21, 26, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2907A6, 29, 0, 0
+ object_event 13, MAP_OBJ_GFX_PUSHABLE_BOULDER, 0, 0, 34, 4, 3, 1, 0, 0, 0, 0, VictoryRoad_B1F_EventScript_2908BA, 31, 0, 0
+ object_event 14, MAP_OBJ_GFX_MAN_4, 0, 0, 37, 12, 3, 9, 0, 0, 1, 3, VictoryRoad_B1F_EventScript_2364E5, 0, 0, 0
+ object_event 15, MAP_OBJ_GFX_WOMAN_7, 0, 0, 26, 16, 3, 7, 0, 0, 1, 4, VictoryRoad_B1F_EventScript_2364FC, 0, 0, 0
+ object_event 16, MAP_OBJ_GFX_WOMAN_7, 0, 0, 5, 21, 3, 9, 0, 0, 1, 2, VictoryRoad_B1F_EventScript_236513, 0, 0, 0
+ object_event 17, MAP_OBJ_GFX_BREAKABLE_ROCK, 0, 0, 34, 3, 3, 1, 17, 0, 0, 0, VictoryRoad_B1F_EventScript_2907A6, 21, 0, 0
+ object_event 18, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 42, 8, 4, 1, 17, 0, 0, 0, VictoryRoad_B1F_EventScript_29149D, 1086, 0, 0
+ object_event 19, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 32, 3, 3, 1, 17, 0, 0, 0, VictoryRoad_B1F_EventScript_2914AA, 1087, 0, 0
+ object_event 20, MAP_OBJ_GFX_MAN_4, 0, 0, 14, 16, 3, 8, 17, 0, 1, 4, VictoryRoad_B1F_EventScript_23652A, 0, 0, 0
+ object_event 21, MAP_OBJ_GFX_WOMAN_7, 0, 0, 14, 20, 3, 16, 17, 0, 1, 3, VictoryRoad_B1F_EventScript_236541, 0, 0, 0
+
+VictoryRoad_B1F_MapWarps: @ 853613C
+ warp_def 30, 25, 3, 0, VICTORY_ROAD_B2F
+ warp_def 17, 16, 3, 2, VICTORY_ROAD_B2F
+ warp_def 42, 25, 3, 3, VICTORY_ROAD_1F
+ warp_def 42, 2, 4, 1, VICTORY_ROAD_B2F
+ warp_def 8, 3, 3, 4, VICTORY_ROAD_1F
+ warp_def 20, 21, 3, 2, VICTORY_ROAD_1F
+ warp_def 5, 26, 3, 3, VICTORY_ROAD_B2F
+
+VictoryRoad_B1F_MapEvents:: @ 8536174
+ map_events VictoryRoad_B1F_MapObjects, VictoryRoad_B1F_MapWarps, 0x0, 0x0
+
diff --git a/data/maps/events/VictoryRoad_B2F.inc b/data/maps/events/VictoryRoad_B2F.inc
new file mode 100644
index 000000000..09fdb466f
--- /dev/null
+++ b/data/maps/events/VictoryRoad_B2F.inc
@@ -0,0 +1,22 @@
+VictoryRoad_B2F_MapObjects: @ 8536188
+ object_event 1, MAP_OBJ_GFX_MAN_4, 0, 0, 15, 6, 3, 8, 17, 0, 1, 2, VictoryRoad_B2F_EventScript_2368D5, 0, 0, 0
+ object_event 2, MAP_OBJ_GFX_MAN_4, 0, 0, 43, 14, 3, 7, 17, 0, 1, 4, VictoryRoad_B2F_EventScript_2368EC, 0, 0, 0
+ object_event 3, MAP_OBJ_GFX_WOMAN_7, 0, 0, 2, 17, 3, 8, 17, 0, 1, 2, VictoryRoad_B2F_EventScript_236903, 0, 0, 0
+ object_event 4, MAP_OBJ_GFX_WOMAN_7, 0, 0, 35, 22, 3, 9, 17, 0, 1, 2, VictoryRoad_B2F_EventScript_23691A, 0, 0, 0
+ object_event 5, MAP_OBJ_GFX_ITEM_BALL, 0, 0, 13, 8, 3, 1, 17, 0, 0, 0, VictoryRoad_B2F_EventScript_2914B7, 1088, 0, 0
+ object_event 6, MAP_OBJ_GFX_WOMAN_7, 0, 0, 25, 18, 4, 8, 17, 0, 1, 2, VictoryRoad_B2F_EventScript_236948, 0, 0, 0
+ object_event 7, MAP_OBJ_GFX_MAN_4, 0, 0, 25, 21, 4, 7, 17, 0, 1, 2, VictoryRoad_B2F_EventScript_236931, 0, 0, 0
+
+VictoryRoad_B2F_MapWarps: @ 8536230
+ warp_def 30, 25, 3, 0, VICTORY_ROAD_B1F
+ warp_def 43, 2, 3, 3, VICTORY_ROAD_B1F
+ warp_def 19, 12, 3, 1, VICTORY_ROAD_B1F
+ warp_def 5, 26, 3, 6, VICTORY_ROAD_B1F
+
+VictoryRoad_B2F_MapBGEvents: @ 8536250
+ bg_event 28, 5, 3, 7, 0, ITEM_ELIXIR, 82, 0
+ bg_event 37, 1, 3, 7, 0, ITEM_MAX_REPEL, 83, 0
+
+VictoryRoad_B2F_MapEvents:: @ 8536268
+ map_events VictoryRoad_B2F_MapObjects, VictoryRoad_B2F_MapWarps, 0x0, VictoryRoad_B2F_MapBGEvents
+
diff --git a/data/maps/headers.inc b/data/maps/headers.inc
new file mode 100644
index 000000000..58d2cc66c
--- /dev/null
+++ b/data/maps/headers.inc
@@ -0,0 +1,518 @@
+ .include "data/maps/PetalburgCity/header.inc"
+ .include "data/maps/SlateportCity/header.inc"
+ .include "data/maps/MauvilleCity/header.inc"
+ .include "data/maps/RustboroCity/header.inc"
+ .include "data/maps/FortreeCity/header.inc"
+ .include "data/maps/LilycoveCity/header.inc"
+ .include "data/maps/MossdeepCity/header.inc"
+ .include "data/maps/SootopolisCity/header.inc"
+ .include "data/maps/EverGrandeCity/header.inc"
+ .include "data/maps/LittlerootTown/header.inc"
+ .include "data/maps/OldaleTown/header.inc"
+ .include "data/maps/DewfordTown/header.inc"
+ .include "data/maps/LavaridgeTown/header.inc"
+ .include "data/maps/FallarborTown/header.inc"
+ .include "data/maps/VerdanturfTown/header.inc"
+ .include "data/maps/PacifidlogTown/header.inc"
+ .include "data/maps/Route101/header.inc"
+ .include "data/maps/Route102/header.inc"
+ .include "data/maps/Route103/header.inc"
+ .include "data/maps/Route104/header.inc"
+ .include "data/maps/Route105/header.inc"
+ .include "data/maps/Route106/header.inc"
+ .include "data/maps/Route107/header.inc"
+ .include "data/maps/Route108/header.inc"
+ .include "data/maps/Route109/header.inc"
+ .include "data/maps/Route110/header.inc"
+ .include "data/maps/Route111/header.inc"
+ .include "data/maps/Route112/header.inc"
+ .include "data/maps/Route113/header.inc"
+ .include "data/maps/Route114/header.inc"
+ .include "data/maps/Route115/header.inc"
+ .include "data/maps/Route116/header.inc"
+ .include "data/maps/Route117/header.inc"
+ .include "data/maps/Route118/header.inc"
+ .include "data/maps/Route119/header.inc"
+ .include "data/maps/Route120/header.inc"
+ .include "data/maps/Route121/header.inc"
+ .include "data/maps/Route122/header.inc"
+ .include "data/maps/Route123/header.inc"
+ .include "data/maps/Route124/header.inc"
+ .include "data/maps/Route125/header.inc"
+ .include "data/maps/Route126/header.inc"
+ .include "data/maps/Route127/header.inc"
+ .include "data/maps/Route128/header.inc"
+ .include "data/maps/Route129/header.inc"
+ .include "data/maps/Route130/header.inc"
+ .include "data/maps/Route131/header.inc"
+ .include "data/maps/Route132/header.inc"
+ .include "data/maps/Route133/header.inc"
+ .include "data/maps/Route134/header.inc"
+ .include "data/maps/Underwater1/header.inc"
+ .include "data/maps/Underwater2/header.inc"
+ .include "data/maps/Underwater3/header.inc"
+ .include "data/maps/Underwater4/header.inc"
+ .include "data/maps/Underwater5/header.inc"
+ .include "data/maps/Underwater6/header.inc"
+ .include "data/maps/Underwater7/header.inc"
+ .include "data/maps/LittlerootTown_BrendansHouse_1F/header.inc"
+ .include "data/maps/LittlerootTown_BrendansHouse_2F/header.inc"
+ .include "data/maps/LittlerootTown_MaysHouse_1F/header.inc"
+ .include "data/maps/LittlerootTown_MaysHouse_2F/header.inc"
+ .include "data/maps/LittlerootTown_ProfessorBirchsLab/header.inc"
+ .include "data/maps/OldaleTown_House1/header.inc"
+ .include "data/maps/OldaleTown_House2/header.inc"
+ .include "data/maps/OldaleTown_PokemonCenter_1F/header.inc"
+ .include "data/maps/OldaleTown_PokemonCenter_2F/header.inc"
+ .include "data/maps/OldaleTown_Mart/header.inc"
+ .include "data/maps/DewfordTown_House1/header.inc"
+ .include "data/maps/DewfordTown_PokemonCenter_1F/header.inc"
+ .include "data/maps/DewfordTown_PokemonCenter_2F/header.inc"
+ .include "data/maps/DewfordTown_Gym/header.inc"
+ .include "data/maps/DewfordTown_Hall/header.inc"
+ .include "data/maps/DewfordTown_House2/header.inc"
+ .include "data/maps/LavaridgeTown_HerbShop/header.inc"
+ .include "data/maps/LavaridgeTown_Gym_1F/header.inc"
+ .include "data/maps/LavaridgeTown_Gym_B1F/header.inc"
+ .include "data/maps/LavaridgeTown_House/header.inc"
+ .include "data/maps/LavaridgeTown_Mart/header.inc"
+ .include "data/maps/LavaridgeTown_PokemonCenter_1F/header.inc"
+ .include "data/maps/LavaridgeTown_PokemonCenter_2F/header.inc"
+ .include "data/maps/FallarborTown_Mart/header.inc"
+ .include "data/maps/FallarborTown_BattleTentLobby/header.inc"
+ .include "data/maps/FallarborTown_BattleTentCorridor/header.inc"
+ .include "data/maps/FallarborTown_BattleTentBattleRoom/header.inc"
+ .include "data/maps/FallarborTown_PokemonCenter_1F/header.inc"
+ .include "data/maps/FallarborTown_PokemonCenter_2F/header.inc"
+ .include "data/maps/FallarborTown_House1/header.inc"
+ .include "data/maps/FallarborTown_House2/header.inc"
+ .include "data/maps/VerdanturfTown_BattleTentLobby/header.inc"
+ .include "data/maps/VerdanturfTown_BattleTentCorridor/header.inc"
+ .include "data/maps/VerdanturfTown_BattleTentBattleRoom/header.inc"
+ .include "data/maps/VerdanturfTown_Mart/header.inc"
+ .include "data/maps/VerdanturfTown_PokemonCenter_1F/header.inc"
+ .include "data/maps/VerdanturfTown_PokemonCenter_2F/header.inc"
+ .include "data/maps/VerdanturfTown_WandasHouse/header.inc"
+ .include "data/maps/VerdanturfTown_FriendshipRatersHouse/header.inc"
+ .include "data/maps/VerdanturfTown_House/header.inc"
+ .include "data/maps/PacifidlogTown_PokemonCenter_1F/header.inc"
+ .include "data/maps/PacifidlogTown_PokemonCenter_2F/header.inc"
+ .include "data/maps/PacifidlogTown_House1/header.inc"
+ .include "data/maps/PacifidlogTown_House2/header.inc"
+ .include "data/maps/PacifidlogTown_House3/header.inc"
+ .include "data/maps/PacifidlogTown_House4/header.inc"
+ .include "data/maps/PacifidlogTown_House5/header.inc"
+ .include "data/maps/PetalburgCity_WallysHouse/header.inc"
+ .include "data/maps/PetalburgCity_Gym/header.inc"
+ .include "data/maps/PetalburgCity_House1/header.inc"
+ .include "data/maps/PetalburgCity_House2/header.inc"
+ .include "data/maps/PetalburgCity_PokemonCenter_1F/header.inc"
+ .include "data/maps/PetalburgCity_PokemonCenter_2F/header.inc"
+ .include "data/maps/PetalburgCity_Mart/header.inc"
+ .include "data/maps/SlateportCity_SternsShipyard_1F/header.inc"
+ .include "data/maps/SlateportCity_SternsShipyard_2F/header.inc"
+ .include "data/maps/SlateportCity_BattleTentLobby/header.inc"
+ .include "data/maps/SlateportCity_BattleTentCorridor/header.inc"
+ .include "data/maps/SlateportCity_BattleTentBattleRoom/header.inc"
+ .include "data/maps/SlateportCity_House1/header.inc"
+ .include "data/maps/SlateportCity_PokemonFanClub/header.inc"
+ .include "data/maps/SlateportCity_OceanicMuseum_1F/header.inc"
+ .include "data/maps/SlateportCity_OceanicMuseum_2F/header.inc"
+ .include "data/maps/SlateportCity_Harbor/header.inc"
+ .include "data/maps/SlateportCity_House2/header.inc"
+ .include "data/maps/SlateportCity_PokemonCenter_1F/header.inc"
+ .include "data/maps/SlateportCity_PokemonCenter_2F/header.inc"
+ .include "data/maps/SlateportCity_Mart/header.inc"
+ .include "data/maps/MauvilleCity_Gym/header.inc"
+ .include "data/maps/MauvilleCity_BikeShop/header.inc"
+ .include "data/maps/MauvilleCity_House1/header.inc"
+ .include "data/maps/MauvilleCity_GameCorner/header.inc"
+ .include "data/maps/MauvilleCity_House2/header.inc"
+ .include "data/maps/MauvilleCity_PokemonCenter_1F/header.inc"
+ .include "data/maps/MauvilleCity_PokemonCenter_2F/header.inc"
+ .include "data/maps/MauvilleCity_Mart/header.inc"
+ .include "data/maps/RustboroCity_DevonCorp_1F/header.inc"
+ .include "data/maps/RustboroCity_DevonCorp_2F/header.inc"
+ .include "data/maps/RustboroCity_DevonCorp_3F/header.inc"
+ .include "data/maps/RustboroCity_Gym/header.inc"
+ .include "data/maps/RustboroCity_PokemonSchool/header.inc"
+ .include "data/maps/RustboroCity_PokemonCenter_1F/header.inc"
+ .include "data/maps/RustboroCity_PokemonCenter_2F/header.inc"
+ .include "data/maps/RustboroCity_Mart/header.inc"
+ .include "data/maps/RustboroCity_Flat1_1F/header.inc"
+ .include "data/maps/RustboroCity_Flat1_2F/header.inc"
+ .include "data/maps/RustboroCity_House1/header.inc"
+ .include "data/maps/RustboroCity_CuttersHouse/header.inc"
+ .include "data/maps/RustboroCity_House2/header.inc"
+ .include "data/maps/RustboroCity_Flat2_1F/header.inc"
+ .include "data/maps/RustboroCity_Flat2_2F/header.inc"
+ .include "data/maps/RustboroCity_Flat2_3F/header.inc"
+ .include "data/maps/RustboroCity_House3/header.inc"
+ .include "data/maps/FortreeCity_House1/header.inc"
+ .include "data/maps/FortreeCity_Gym/header.inc"
+ .include "data/maps/FortreeCity_PokemonCenter_1F/header.inc"
+ .include "data/maps/FortreeCity_PokemonCenter_2F/header.inc"
+ .include "data/maps/FortreeCity_Mart/header.inc"
+ .include "data/maps/FortreeCity_House2/header.inc"
+ .include "data/maps/FortreeCity_House3/header.inc"
+ .include "data/maps/FortreeCity_House4/header.inc"
+ .include "data/maps/FortreeCity_House5/header.inc"
+ .include "data/maps/FortreeCity_DecorationShop/header.inc"
+ .include "data/maps/LilycoveCity_CoveLilyMotel_1F/header.inc"
+ .include "data/maps/LilycoveCity_CoveLilyMotel_2F/header.inc"
+ .include "data/maps/LilycoveCity_LilycoveMuseum_1F/header.inc"
+ .include "data/maps/LilycoveCity_LilycoveMuseum_2F/header.inc"
+ .include "data/maps/LilycoveCity_ContestLobby/header.inc"
+ .include "data/maps/LilycoveCity_ContestHall/header.inc"
+ .include "data/maps/LilycoveCity_PokemonCenter_1F/header.inc"
+ .include "data/maps/LilycoveCity_PokemonCenter_2F/header.inc"
+ .include "data/maps/LilycoveCity_UnusedMart/header.inc"
+ .include "data/maps/LilycoveCity_PokemonTrainerFanClub/header.inc"
+ .include "data/maps/LilycoveCity_Harbor/header.inc"
+ .include "data/maps/LilycoveCity_MoveDeletersHouse/header.inc"
+ .include "data/maps/LilycoveCity_House1/header.inc"
+ .include "data/maps/LilycoveCity_House2/header.inc"
+ .include "data/maps/LilycoveCity_House3/header.inc"
+ .include "data/maps/LilycoveCity_House4/header.inc"
+ .include "data/maps/LilycoveCity_DepartmentStore_1F/header.inc"
+ .include "data/maps/LilycoveCity_DepartmentStore_2F/header.inc"
+ .include "data/maps/LilycoveCity_DepartmentStore_3F/header.inc"
+ .include "data/maps/LilycoveCity_DepartmentStore_4F/header.inc"
+ .include "data/maps/LilycoveCity_DepartmentStore_5F/header.inc"
+ .include "data/maps/LilycoveCity_DepartmentStoreRooftop/header.inc"
+ .include "data/maps/LilycoveCity_DepartmentStoreElevator/header.inc"
+ .include "data/maps/MossdeepCity_Gym/header.inc"
+ .include "data/maps/MossdeepCity_House1/header.inc"
+ .include "data/maps/MossdeepCity_House2/header.inc"
+ .include "data/maps/MossdeepCity_PokemonCenter_1F/header.inc"
+ .include "data/maps/MossdeepCity_PokemonCenter_2F/header.inc"
+ .include "data/maps/MossdeepCity_Mart/header.inc"
+ .include "data/maps/MossdeepCity_House3/header.inc"
+ .include "data/maps/MossdeepCity_StevensHouse/header.inc"
+ .include "data/maps/MossdeepCity_House4/header.inc"
+ .include "data/maps/MossdeepCity_SpaceCenter_1F/header.inc"
+ .include "data/maps/MossdeepCity_SpaceCenter_2F/header.inc"
+ .include "data/maps/MossdeepCity_GameCorner_1F/header.inc"
+ .include "data/maps/MossdeepCity_GameCorner_B1F/header.inc"
+ .include "data/maps/SootopolisCity_Gym_1F/header.inc"
+ .include "data/maps/SootopolisCity_Gym_B1F/header.inc"
+ .include "data/maps/SootopolisCity_PokemonCenter_1F/header.inc"
+ .include "data/maps/SootopolisCity_PokemonCenter_2F/header.inc"
+ .include "data/maps/SootopolisCity_Mart/header.inc"
+ .include "data/maps/SootopolisCity_House1/header.inc"
+ .include "data/maps/SootopolisCity_House2/header.inc"
+ .include "data/maps/SootopolisCity_House3/header.inc"
+ .include "data/maps/SootopolisCity_House4/header.inc"
+ .include "data/maps/SootopolisCity_House5/header.inc"
+ .include "data/maps/SootopolisCity_House6/header.inc"
+ .include "data/maps/SootopolisCity_House7/header.inc"
+ .include "data/maps/SootopolisCity_LotadAndSeedotHouse/header.inc"
+ .include "data/maps/SootopolisCity_MysteryEventsHouse_1F/header.inc"
+ .include "data/maps/SootopolisCity_MysteryEventsHouse_B1F/header.inc"
+ .include "data/maps/EverGrandeCity_SidneysRoom/header.inc"
+ .include "data/maps/EverGrandeCity_PhoebesRoom/header.inc"
+ .include "data/maps/EverGrandeCity_GlaciasRoom/header.inc"
+ .include "data/maps/EverGrandeCity_DrakesRoom/header.inc"
+ .include "data/maps/EverGrandeCity_ChampionsRoom/header.inc"
+ .include "data/maps/EverGrandeCity_Hall1/header.inc"
+ .include "data/maps/EverGrandeCity_Hall2/header.inc"
+ .include "data/maps/EverGrandeCity_Hall3/header.inc"
+ .include "data/maps/EverGrandeCity_Hall4/header.inc"
+ .include "data/maps/EverGrandeCity_Hall5/header.inc"
+ .include "data/maps/EverGrandeCity_PokemonLeague_1F/header.inc"
+ .include "data/maps/EverGrandeCity_HallOfFame/header.inc"
+ .include "data/maps/EverGrandeCity_PokemonCenter_1F/header.inc"
+ .include "data/maps/EverGrandeCity_PokemonCenter_2F/header.inc"
+ .include "data/maps/EverGrandeCity_PokemonLeague_2F/header.inc"
+ .include "data/maps/Route104_MrBrineysHouse/header.inc"
+ .include "data/maps/Route104_PrettyPetalFlowerShop/header.inc"
+ .include "data/maps/Route111_WinstrateFamilysHouse/header.inc"
+ .include "data/maps/Route111_OldLadysRestStop/header.inc"
+ .include "data/maps/Route112_CableCarStation/header.inc"
+ .include "data/maps/MtChimney_CableCarStation/header.inc"
+ .include "data/maps/Route114_FossilManiacsHouse/header.inc"
+ .include "data/maps/Route114_FossilManiacsTunnel/header.inc"
+ .include "data/maps/Route114_LanettesHouse/header.inc"
+ .include "data/maps/Route116_TunnelersRestHouse/header.inc"
+ .include "data/maps/Route117_PokemonDayCare/header.inc"
+ .include "data/maps/Route121_SafariZoneEntrance/header.inc"
+ .include "data/maps/MeteorFalls_1F_1R/header.inc"
+ .include "data/maps/MeteorFalls_1F_2R/header.inc"
+ .include "data/maps/MeteorFalls_B1F_1R/header.inc"
+ .include "data/maps/MeteorFalls_B1F_2R/header.inc"
+ .include "data/maps/RusturfTunnel/header.inc"
+ .include "data/maps/Underwater_SootopolisCity/header.inc"
+ .include "data/maps/DesertRuins/header.inc"
+ .include "data/maps/GraniteCave_1F/header.inc"
+ .include "data/maps/GraniteCave_B1F/header.inc"
+ .include "data/maps/GraniteCave_B2F/header.inc"
+ .include "data/maps/GraniteCave_StevensRoom/header.inc"
+ .include "data/maps/PetalburgWoods/header.inc"
+ .include "data/maps/MtChimney/header.inc"
+ .include "data/maps/JaggedPass/header.inc"
+ .include "data/maps/FieryPath/header.inc"
+ .include "data/maps/MtPyre_1F/header.inc"
+ .include "data/maps/MtPyre_2F/header.inc"
+ .include "data/maps/MtPyre_3F/header.inc"
+ .include "data/maps/MtPyre_4F/header.inc"
+ .include "data/maps/MtPyre_5F/header.inc"
+ .include "data/maps/MtPyre_6F/header.inc"
+ .include "data/maps/MtPyre_Exterior/header.inc"
+ .include "data/maps/MtPyre_Summit/header.inc"
+ .include "data/maps/AquaHideout_1F/header.inc"
+ .include "data/maps/AquaHideout_B1F/header.inc"
+ .include "data/maps/AquaHideout_B2F/header.inc"
+ .include "data/maps/Underwater_SeafloorCavern/header.inc"
+ .include "data/maps/SeafloorCavern_Entrance/header.inc"
+ .include "data/maps/SeafloorCavern_Room1/header.inc"
+ .include "data/maps/SeafloorCavern_Room2/header.inc"
+ .include "data/maps/SeafloorCavern_Room3/header.inc"
+ .include "data/maps/SeafloorCavern_Room4/header.inc"
+ .include "data/maps/SeafloorCavern_Room5/header.inc"
+ .include "data/maps/SeafloorCavern_Room6/header.inc"
+ .include "data/maps/SeafloorCavern_Room7/header.inc"
+ .include "data/maps/SeafloorCavern_Room8/header.inc"
+ .include "data/maps/SeafloorCavern_Room9/header.inc"
+ .include "data/maps/CaveOfOrigin_Entrance/header.inc"
+ .include "data/maps/CaveOfOrigin_1F/header.inc"
+ .include "data/maps/CaveOfOrigin_UnusedRubySapphireMap1/header.inc"
+ .include "data/maps/CaveOfOrigin_UnusedRubySapphireMap2/header.inc"
+ .include "data/maps/CaveOfOrigin_UnusedRubySapphireMap3/header.inc"
+ .include "data/maps/CaveOfOrigin_B1F/header.inc"
+ .include "data/maps/VictoryRoad_1F/header.inc"
+ .include "data/maps/VictoryRoad_B1F/header.inc"
+ .include "data/maps/VictoryRoad_B2F/header.inc"
+ .include "data/maps/ShoalCave_LowTideEntranceRoom/header.inc"
+ .include "data/maps/ShoalCave_LowTideInnerRoom/header.inc"
+ .include "data/maps/ShoalCave_LowTideStairsRoom/header.inc"
+ .include "data/maps/ShoalCave_LowTideLowerRoom/header.inc"
+ .include "data/maps/ShoalCave_HighTideEntranceRoom/header.inc"
+ .include "data/maps/ShoalCave_HighTideInnerRoom/header.inc"
+ .include "data/maps/NewMauville_Entrance/header.inc"
+ .include "data/maps/NewMauville_Inside/header.inc"
+ .include "data/maps/AbandonedShip_Deck/header.inc"
+ .include "data/maps/AbandonedShip_Corridors_1F/header.inc"
+ .include "data/maps/AbandonedShip_Rooms_1F/header.inc"
+ .include "data/maps/AbandonedShip_Corridors_B1F/header.inc"
+ .include "data/maps/AbandonedShip_Rooms_B1F/header.inc"
+ .include "data/maps/AbandonedShip_Rooms2_B1F/header.inc"
+ .include "data/maps/AbandonedShip_Underwater1/header.inc"
+ .include "data/maps/AbandonedShip_Room_B1F/header.inc"
+ .include "data/maps/AbandonedShip_Rooms2_1F/header.inc"
+ .include "data/maps/AbandonedShip_CaptainsOffice/header.inc"
+ .include "data/maps/AbandonedShip_Underwater2/header.inc"
+ .include "data/maps/AbandonedShip_HiddenFloorCorridors/header.inc"
+ .include "data/maps/AbandonedShip_HiddenFloorRooms/header.inc"
+ .include "data/maps/IslandCave/header.inc"
+ .include "data/maps/AncientTomb/header.inc"
+ .include "data/maps/Underwater_Route134/header.inc"
+ .include "data/maps/Underwater_SealedChamber/header.inc"
+ .include "data/maps/SealedChamber_OuterRoom/header.inc"
+ .include "data/maps/SealedChamber_InnerRoom/header.inc"
+ .include "data/maps/ScorchedSlab/header.inc"
+ .include "data/maps/AquaHideout_UnusedRubyMap1/header.inc"
+ .include "data/maps/AquaHideout_UnusedRubyMap2/header.inc"
+ .include "data/maps/AquaHideout_UnusedRubyMap3/header.inc"
+ .include "data/maps/SkyPillar_Entrance/header.inc"
+ .include "data/maps/SkyPillar_Outside/header.inc"
+ .include "data/maps/SkyPillar_1F/header.inc"
+ .include "data/maps/SkyPillar_2F/header.inc"
+ .include "data/maps/SkyPillar_3F/header.inc"
+ .include "data/maps/SkyPillar_4F/header.inc"
+ .include "data/maps/ShoalCave_LowTideIceRoom/header.inc"
+ .include "data/maps/SkyPillar_5F/header.inc"
+ .include "data/maps/SkyPillar_Top/header.inc"
+ .include "data/maps/MagmaHideout_1F/header.inc"
+ .include "data/maps/MagmaHideout_2F_1R/header.inc"
+ .include "data/maps/MagmaHideout_2F_2R/header.inc"
+ .include "data/maps/MagmaHideout_3F_1R/header.inc"
+ .include "data/maps/MagmaHideout_3F_2R/header.inc"
+ .include "data/maps/MagmaHideout_4F/header.inc"
+ .include "data/maps/MagmaHideout_3F_3R/header.inc"
+ .include "data/maps/MagmaHideout_2F_3R/header.inc"
+ .include "data/maps/MirageTower_1F/header.inc"
+ .include "data/maps/MirageTower_2F/header.inc"
+ .include "data/maps/MirageTower_3F/header.inc"
+ .include "data/maps/MirageTower_4F/header.inc"
+ .include "data/maps/DesertUnderpass/header.inc"
+ .include "data/maps/ArtisanCave_B1F/header.inc"
+ .include "data/maps/ArtisanCave_1F/header.inc"
+ .include "data/maps/Underwater_MarineCave/header.inc"
+ .include "data/maps/MarineCave_Entrance/header.inc"
+ .include "data/maps/MarineCave_End/header.inc"
+ .include "data/maps/TerraCave_Entrance/header.inc"
+ .include "data/maps/TerraCave_End/header.inc"
+ .include "data/maps/AlteringCave/header.inc"
+ .include "data/maps/MeteorFalls_StevensCave/header.inc"
+ .include "data/maps/SecretBase_RedCave1/header.inc"
+ .include "data/maps/SecretBase_BrownCave1/header.inc"
+ .include "data/maps/SecretBase_BlueCave1/header.inc"
+ .include "data/maps/SecretBase_YellowCave1/header.inc"
+ .include "data/maps/SecretBase_Tree1/header.inc"
+ .include "data/maps/SecretBase_Shrub1/header.inc"
+ .include "data/maps/SecretBase_RedCave2/header.inc"
+ .include "data/maps/SecretBase_BrownCave2/header.inc"
+ .include "data/maps/SecretBase_BlueCave2/header.inc"
+ .include "data/maps/SecretBase_YellowCave2/header.inc"
+ .include "data/maps/SecretBase_Tree2/header.inc"
+ .include "data/maps/SecretBase_Shrub2/header.inc"
+ .include "data/maps/SecretBase_RedCave3/header.inc"
+ .include "data/maps/SecretBase_BrownCave3/header.inc"
+ .include "data/maps/SecretBase_BlueCave3/header.inc"
+ .include "data/maps/SecretBase_YellowCave3/header.inc"
+ .include "data/maps/SecretBase_Tree3/header.inc"
+ .include "data/maps/SecretBase_Shrub3/header.inc"
+ .include "data/maps/SecretBase_RedCave4/header.inc"
+ .include "data/maps/SecretBase_BrownCave4/header.inc"
+ .include "data/maps/SecretBase_BlueCave4/header.inc"
+ .include "data/maps/SecretBase_YellowCave4/header.inc"
+ .include "data/maps/SecretBase_Tree4/header.inc"
+ .include "data/maps/SecretBase_Shrub4/header.inc"
+ .include "data/maps/SingleBattleColosseum/header.inc"
+ .include "data/maps/TradeCenter/header.inc"
+ .include "data/maps/RecordCorner/header.inc"
+ .include "data/maps/DoubleBattleColosseum/header.inc"
+ .include "data/maps/LinkContestRoom1/header.inc"
+ .include "data/maps/UnknownMap_25_29/header.inc"
+ .include "data/maps/UnknownMap_25_30/header.inc"
+ .include "data/maps/UnknownMap_25_31/header.inc"
+ .include "data/maps/UnknownMap_25_32/header.inc"
+ .include "data/maps/UnknownMap_25_33/header.inc"
+ .include "data/maps/UnknownMap_25_34/header.inc"
+ .include "data/maps/LinkContestRoom2/header.inc"
+ .include "data/maps/LinkContestRoom3/header.inc"
+ .include "data/maps/LinkContestRoom4/header.inc"
+ .include "data/maps/LinkContestRoom5/header.inc"
+ .include "data/maps/LinkContestRoom6/header.inc"
+ .include "data/maps/InsideOfTruck/header.inc"
+ .include "data/maps/SSTidalCorridor/header.inc"
+ .include "data/maps/SSTidalLowerDeck/header.inc"
+ .include "data/maps/SSTidalRooms/header.inc"
+ .include "data/maps/BattlePyramidSquare01/header.inc"
+ .include "data/maps/BattlePyramidSquare02/header.inc"
+ .include "data/maps/BattlePyramidSquare03/header.inc"
+ .include "data/maps/BattlePyramidSquare04/header.inc"
+ .include "data/maps/BattlePyramidSquare05/header.inc"
+ .include "data/maps/BattlePyramidSquare06/header.inc"
+ .include "data/maps/BattlePyramidSquare07/header.inc"
+ .include "data/maps/BattlePyramidSquare08/header.inc"
+ .include "data/maps/BattlePyramidSquare09/header.inc"
+ .include "data/maps/BattlePyramidSquare10/header.inc"
+ .include "data/maps/BattlePyramidSquare11/header.inc"
+ .include "data/maps/BattlePyramidSquare12/header.inc"
+ .include "data/maps/BattlePyramidSquare13/header.inc"
+ .include "data/maps/BattlePyramidSquare14/header.inc"
+ .include "data/maps/BattlePyramidSquare15/header.inc"
+ .include "data/maps/BattlePyramidSquare16/header.inc"
+ .include "data/maps/UnionRoom/header.inc"
+ .include "data/maps/SafariZone_Northwest/header.inc"
+ .include "data/maps/SafariZone_North/header.inc"
+ .include "data/maps/SafariZone_Southwest/header.inc"
+ .include "data/maps/SafariZone_South/header.inc"
+ .include "data/maps/BattleFrontier_OutsideWest/header.inc"
+ .include "data/maps/BattleFrontier_BattleTowerLobby/header.inc"
+ .include "data/maps/BattleFrontier_BattleTowerElevator/header.inc"
+ .include "data/maps/BattleFrontier_BattleTowerCorridor/header.inc"
+ .include "data/maps/BattleFrontier_BattleTowerBattleRoom/header.inc"
+ .include "data/maps/SouthernIsland_Exterior/header.inc"
+ .include "data/maps/SouthernIsland_Interior/header.inc"
+ .include "data/maps/SafariZone_RestHouse/header.inc"
+ .include "data/maps/SafariZone_Northeast/header.inc"
+ .include "data/maps/SafariZone_Southeast/header.inc"
+ .include "data/maps/BattleFrontier_OutsideEast/header.inc"
+ .include "data/maps/BattleFrontier_BattleTowerMultiBattleRoom/header.inc"
+ .include "data/maps/BattleFrontier_BattleTowerCorridor2/header.inc"
+ .include "data/maps/BattleFrontier_BattleTowerBattleRoom2/header.inc"
+ .include "data/maps/BattleFrontier_BattleDomeLobby/header.inc"
+ .include "data/maps/BattleFrontier_BattleDomeCorridor/header.inc"
+ .include "data/maps/BattleFrontier_BattleDomePreBattleRoom/header.inc"
+ .include "data/maps/BattleFrontier_BattleDomeBattleRoom/header.inc"
+ .include "data/maps/BattleFrontier_BattlePalaceLobby/header.inc"
+ .include "data/maps/BattleFrontier_BattlePalaceCorridor/header.inc"
+ .include "data/maps/BattleFrontier_BattlePalaceBattleRoom/header.inc"
+ .include "data/maps/BattleFrontier_BattlePyramidLobby/header.inc"
+ .include "data/maps/BattleFrontier_BattlePyramidEmptySquare/header.inc"
+ .include "data/maps/BattleFrontier_BattlePyramidTop/header.inc"
+ .include "data/maps/BattleFrontier_BattleArenaLobby/header.inc"
+ .include "data/maps/BattleFrontier_BattleArenaCorridor/header.inc"
+ .include "data/maps/BattleFrontier_BattleArenaBattleRoom/header.inc"
+ .include "data/maps/BattleFrontier_BattleFactoryLobby/header.inc"
+ .include "data/maps/BattleFrontier_BattleFactoryPreBattleRoom/header.inc"
+ .include "data/maps/BattleFrontier_BattleFactoryBattleRoom/header.inc"
+ .include "data/maps/BattleFrontier_BattlePikeLobby/header.inc"
+ .include "data/maps/BattleFrontier_BattlePikeCorridor/header.inc"
+ .include "data/maps/BattleFrontier_BattlePikeThreePathRoom/header.inc"
+ .include "data/maps/BattleFrontier_BattlePikeRandomRoom1/header.inc"
+ .include "data/maps/BattleFrontier_BattlePikeRandomRoom2/header.inc"
+ .include "data/maps/BattleFrontier_BattlePikeRandomRoom3/header.inc"
+ .include "data/maps/BattleFrontier_RankingHall/header.inc"
+ .include "data/maps/BattleFrontier_Lounge1/header.inc"
+ .include "data/maps/BattleFrontier_BattlePointExchangeServiceCorner/header.inc"
+ .include "data/maps/BattleFrontier_Lounge2/header.inc"
+ .include "data/maps/BattleFrontier_Lounge3/header.inc"
+ .include "data/maps/BattleFrontier_Lounge4/header.inc"
+ .include "data/maps/BattleFrontier_ScottsHouse/header.inc"
+ .include "data/maps/BattleFrontier_Lounge5/header.inc"
+ .include "data/maps/BattleFrontier_Lounge6/header.inc"
+ .include "data/maps/BattleFrontier_Lounge7/header.inc"
+ .include "data/maps/BattleFrontier_ReceptionGate/header.inc"
+ .include "data/maps/BattleFrontier_Lounge8/header.inc"
+ .include "data/maps/BattleFrontier_Lounge9/header.inc"
+ .include "data/maps/BattleFrontier_PokemonCenter_1F/header.inc"
+ .include "data/maps/BattleFrontier_PokemonCenter_2F/header.inc"
+ .include "data/maps/BattleFrontier_Mart/header.inc"
+ .include "data/maps/FarawayIsland_Entrance/header.inc"
+ .include "data/maps/FarawayIsland_Interior/header.inc"
+ .include "data/maps/BirthIsland_Exterior/header.inc"
+ .include "data/maps/BirthIsland_Harbor/header.inc"
+ .include "data/maps/TrainerHill_Entrance/header.inc"
+ .include "data/maps/TrainerHill_1F/header.inc"
+ .include "data/maps/TrainerHill_2F/header.inc"
+ .include "data/maps/TrainerHill_3F/header.inc"
+ .include "data/maps/TrainerHill_4F/header.inc"
+ .include "data/maps/TrainerHill_Roof/header.inc"
+ .include "data/maps/NavelRock_Exterior/header.inc"
+ .include "data/maps/NavelRock_Harbor/header.inc"
+ .include "data/maps/NavelRock_Entrance/header.inc"
+ .include "data/maps/NavelRock_B1F/header.inc"
+ .include "data/maps/NavelRock_Fork/header.inc"
+ .include "data/maps/NavelRock_Up1/header.inc"
+ .include "data/maps/NavelRock_Up2/header.inc"
+ .include "data/maps/NavelRock_Up3/header.inc"
+ .include "data/maps/NavelRock_Up4/header.inc"
+ .include "data/maps/NavelRock_Top/header.inc"
+ .include "data/maps/NavelRock_Down01/header.inc"
+ .include "data/maps/NavelRock_Down02/header.inc"
+ .include "data/maps/NavelRock_Down03/header.inc"
+ .include "data/maps/NavelRock_Down04/header.inc"
+ .include "data/maps/NavelRock_Down05/header.inc"
+ .include "data/maps/NavelRock_Down06/header.inc"
+ .include "data/maps/NavelRock_Down07/header.inc"
+ .include "data/maps/NavelRock_Down08/header.inc"
+ .include "data/maps/NavelRock_Down09/header.inc"
+ .include "data/maps/NavelRock_Down10/header.inc"
+ .include "data/maps/NavelRock_Down11/header.inc"
+ .include "data/maps/NavelRock_Bottom/header.inc"
+ .include "data/maps/TrainerHill_Elevator/header.inc"
+ .include "data/maps/Route104_Prototype/header.inc"
+ .include "data/maps/Route104_PrototypePrettyPetalFlowerShop/header.inc"
+ .include "data/maps/Route109_SeashoreHouse/header.inc"
+ .include "data/maps/Route110_TrickHouseEntrance/header.inc"
+ .include "data/maps/Route110_TrickHouseEnd/header.inc"
+ .include "data/maps/Route110_TrickHouseCorridor/header.inc"
+ .include "data/maps/Route110_TrickHousePuzzle1/header.inc"
+ .include "data/maps/Route110_TrickHousePuzzle2/header.inc"
+ .include "data/maps/Route110_TrickHousePuzzle3/header.inc"
+ .include "data/maps/Route110_TrickHousePuzzle4/header.inc"
+ .include "data/maps/Route110_TrickHousePuzzle5/header.inc"
+ .include "data/maps/Route110_TrickHousePuzzle6/header.inc"
+ .include "data/maps/Route110_TrickHousePuzzle7/header.inc"
+ .include "data/maps/Route110_TrickHousePuzzle8/header.inc"
+ .include "data/maps/Route110_SeasideCyclingRoadEntrance1/header.inc"
+ .include "data/maps/Route110_SeasideCyclingRoadEntrance2/header.inc"
+ .include "data/maps/Route113_GlassWorkshop/header.inc"
+ .include "data/maps/Route123_BerryMastersHouse/header.inc"
+ .include "data/maps/Route119_WeatherInstitute_1F/header.inc"
+ .include "data/maps/Route119_WeatherInstitute_2F/header.inc"
+ .include "data/maps/Route119_House/header.inc"
+ .include "data/maps/Route124_DivingTreasureHuntersHouse/header.inc"
diff --git a/data/rom4.s b/data/rom4.s
index aa57174d9..890829cd9 100644
--- a/data/rom4.s
+++ b/data/rom4.s
@@ -23,21 +23,3 @@ gUnknown_08339DD4:: @ 8339DD4
gUnknown_08339E00:: @ 8339E00
.incbin "baserom.gba", 0x339e00, 0x8
-
-@ 8339E08
- .include "data/tilesets/tileset_graphics.inc"
-
-@ 83960F0
- .include "data/tilesets/metatiles.inc"
-
-@ 83DF704
- .include "data/tilesets/tilesets.inc"
-
-@ 83DFE14
- .incbin "baserom.gba", 0x3dfe14, 0xa1fc0
-
-gUnknown_08481DD4:: @ 8481DD4
- .incbin "baserom.gba", 0x481dd4, 0x47a4
-
-gUnknown_08486578:: @ 8486578
- .incbin "baserom.gba", 0x486578, 0x980
diff --git a/data/rom_8525F58.s b/data/rom_8525F58.s
index 1cee7112a..808300deb 100644
--- a/data/rom_8525F58.s
+++ b/data/rom_8525F58.s
@@ -4,8 +4,6 @@
.section .rodata
.align 2
-
-
gUnknown_08525F58:: @ 8525F58
.byte 0x48, 0x50, 0x00, 0x00, 0xb0, 0x28, 0x00, 0x00
.byte 0x30, 0x28, 0x00, 0x00, 0x70, 0x50, 0x00, 0x00
@@ -34,24 +32,3 @@ gUnknown_08525F90:: @ 8525F90
gUnknown_08525FC0:: @ 8525FC0
obj_tiles gMiscBlank_Gfx, 0x0800, 0xd755
obj_tiles gMiscBlank_Gfx, 0x0800, 0xd756
-
- .align 2
-@ the mother of all baserom includes
- .incbin "baserom.gba", 0x525fd0, 0x18f60
-
- .align 2
-gUnknown_0853EF30:: @ 853EF30
- .byte 0xf0, 0xf0, 0x0c, 0x80, 0xf0, 0x30, 0x0d, 0x84, 0x30, 0xf0, 0x0e, 0x86, 0x30, 0x30, 0x08, 0x88
-
- .align 2
-gUnknown_0853EF40:: @ 853EF40
- .4byte 0x00000004, gUnknown_0853EF30
-
- .align 2
-gUnknown_0853EF48:: @ 853EF48
- spr_template 0x271a, 0x271a, gUnknown_08524A3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_0853EF60:: @ 853EF60
- spr_template 0x2798, 0x2798, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A9E44
-
diff --git a/data/event_script_command_function_table.inc b/data/script_cmd_table.inc
index 7cd00c37d..b33db9218 100644
--- a/data/event_script_command_function_table.inc
+++ b/data/script_cmd_table.inc
@@ -67,18 +67,18 @@ gScriptCmdTable:: @ 81DB67C
.4byte ScrCmd_setdivewarp
.4byte ScrCmd_setholewarp
.4byte ScrCmd_getplayerxy
- .4byte ScrCmd_countpokemon
- .4byte ScrCmd_additem
- .4byte ScrCmd_removeitem
+ .4byte ScrCmd_getpartysize
+ .4byte ScrCmd_giveitem
+ .4byte ScrCmd_takeitem
.4byte ScrCmd_checkitemspace
.4byte ScrCmd_checkitem
.4byte ScrCmd_checkitemtype
- .4byte ScrCmd_addpcitem
+ .4byte ScrCmd_givepcitem
.4byte ScrCmd_checkpcitem
- .4byte ScrCmd_adddecor
- .4byte ScrCmd_removedecor
- .4byte ScrCmd_hasdecor
+ .4byte ScrCmd_givedecoration
+ .4byte ScrCmd_takedecoration
.4byte ScrCmd_checkdecor
+ .4byte ScrCmd_checkdecorspace
.4byte ScrCmd_applymovement
.4byte ScrCmd_applymovement_at
.4byte ScrCmd_waitmovement
@@ -88,12 +88,12 @@ gScriptCmdTable:: @ 81DB67C
.4byte ScrCmd_addobject
.4byte ScrCmd_addobject_at
.4byte ScrCmd_setobjectxy
- .4byte ScrCmd_showobject
- .4byte ScrCmd_hideobject
+ .4byte ScrCmd_showobject_at
+ .4byte ScrCmd_hideobject_at
.4byte ScrCmd_faceplayer
.4byte ScrCmd_turnobject
.4byte ScrCmd_trainerbattle
- .4byte ScrCmd_battlebegin
+ .4byte ScrCmd_dotrainerbattle
.4byte ScrCmd_ontrainerbattleend
.4byte ScrCmd_ontrainerbattleendgoto
.4byte ScrCmd_checktrainerflag
@@ -109,7 +109,7 @@ gScriptCmdTable:: @ 81DB67C
.4byte ScrCmd_lock
.4byte ScrCmd_releaseall
.4byte ScrCmd_release
- .4byte ScrCmd_waitbutton
+ .4byte ScrCmd_waitbuttonpress
.4byte ScrCmd_yesnobox
.4byte ScrCmd_multichoice
.4byte ScrCmd_multichoicedefault
@@ -117,28 +117,28 @@ gScriptCmdTable:: @ 81DB67C
.4byte ScrCmd_drawbox
.4byte ScrCmd_erasebox
.4byte ScrCmd_drawboxtext
- .4byte ScrCmd_drawpokepic
- .4byte ScrCmd_erasepokepic
- .4byte ScrCmd_drawcontestwinner
+ .4byte ScrCmd_showmonpic
+ .4byte ScrCmd_hidemonpic
+ .4byte ScrCmd_showcontestwinner
.4byte ScrCmd_braillemessage
- .4byte ScrCmd_givepoke
+ .4byte ScrCmd_givemon
.4byte ScrCmd_giveegg
- .4byte ScrCmd_setpokemove
- .4byte ScrCmd_checkpokemove
- .4byte ScrCmd_getspeciesname
- .4byte ScrCmd_getfirstpartypokename
- .4byte ScrCmd_getpartypokename
- .4byte ScrCmd_getitemname
- .4byte ScrCmd_getdecorname
- .4byte ScrCmd_getmovename
- .4byte ScrCmd_getnumberstring
- .4byte ScrCmd_getstdstring
- .4byte ScrCmd_getstring
+ .4byte ScrCmd_setmonmove
+ .4byte ScrCmd_checkpartymove
+ .4byte ScrCmd_bufferspeciesname
+ .4byte ScrCmd_bufferleadmonspeciesname
+ .4byte ScrCmd_bufferpartymonnick
+ .4byte ScrCmd_bufferitemname
+ .4byte ScrCmd_bufferdecorationname
+ .4byte ScrCmd_buffermovename
+ .4byte ScrCmd_buffernumberstring
+ .4byte ScrCmd_bufferstdstring
+ .4byte ScrCmd_bufferstring
.4byte ScrCmd_pokemart
- .4byte ScrCmd_pokemartdecor
- .4byte ScrCmd_pokemartbp
+ .4byte ScrCmd_pokemartdecoration
+ .4byte ScrCmd_pokemartdecoration2
.4byte ScrCmd_playslotmachine
- .4byte ScrCmd_plantberrytree
+ .4byte ScrCmd_setberrytree
.4byte ScrCmd_choosecontestpkmn
.4byte ScrCmd_startcontest
.4byte ScrCmd_showcontestresults
@@ -152,21 +152,21 @@ gScriptCmdTable:: @ 81DB67C
.4byte ScrCmd_updatemoneybox
.4byte ScrCmd_getpricereduction
.4byte ScrCmd_fadescreen
- .4byte ScrCmd_fadescreendelay
- .4byte ScrCmd_setdarklevel
- .4byte ScrCmd_animdarklevel
+ .4byte ScrCmd_fadescreenspeed
+ .4byte ScrCmd_setflashradius
+ .4byte ScrCmd_animateflash
.4byte ScrCmd_messageautoscroll
.4byte ScrCmd_dofieldeffect
- .4byte ScrCmd_setfieldeffect
+ .4byte ScrCmd_setfieldeffectarg
.4byte ScrCmd_waitfieldeffect
- .4byte ScrCmd_sethealplace
+ .4byte ScrCmd_setrespawn
.4byte ScrCmd_checkplayergender
- .4byte ScrCmd_playpokecry
- .4byte ScrCmd_setmaptile
+ .4byte ScrCmd_playmoncry
+ .4byte ScrCmd_setmetatile
.4byte ScrCmd_resetweather
.4byte ScrCmd_setweather
.4byte ScrCmd_doweather
- .4byte ScrCmd_tileeffect
+ .4byte ScrCmd_setstepcallback
.4byte ScrCmd_setmaplayoutindex
.4byte ScrCmd_setobjectpriority
.4byte ScrCmd_resetobjectpriority
@@ -191,26 +191,26 @@ gScriptCmdTable:: @ 81DB67C
.4byte ScrCmd_vcall_if
.4byte ScrCmd_vmessage
.4byte ScrCmd_vloadword
- .4byte ScrCmd_vgetstring
+ .4byte ScrCmd_vbufferstring
.4byte ScrCmd_showcoinsbox
.4byte ScrCmd_hidecoinsbox
.4byte ScrCmd_updatecoinsbox
.4byte ScrCmd_incrementgamestat
.4byte ScrCmd_setescapewarp
- .4byte ScrCmd_waitpokecry
- .4byte ScrCmd_getboxname
+ .4byte ScrCmd_waitmoncry
+ .4byte ScrCmd_bufferboxname
.4byte ScrCmd_nop1
.4byte ScrCmd_nop1
.4byte ScrCmd_nop1
.4byte ScrCmd_nop1
.4byte ScrCmd_nop1
.4byte ScrCmd_nop1
- .4byte ScrCmd_setpokeobedient
- .4byte ScrCmd_checkpokeobedience
+ .4byte ScrCmd_setmonobedient
+ .4byte ScrCmd_checkmonobedience
.4byte ScrCmd_cmdCF
.4byte ScrCmd_nop1
.4byte ScrCmd_warpD1
- .4byte ScrCmd_setpokemetlocation
+ .4byte ScrCmd_setmonmetlocation
.4byte ScrCmd_mossdeepgym1
.4byte ScrCmd_mossdeepgym2
.4byte ScrCmd_mossdeepgym3
@@ -221,9 +221,12 @@ gScriptCmdTable:: @ 81DB67C
.4byte ScrCmd_cmdDA
.4byte ScrCmd_cmdDB
.4byte ScrCmd_fadescreenswapbuffers
- .4byte ScrCmd_gettrainerclass
- .4byte ScrCmd_gettrainername
+ .4byte ScrCmd_buffertrainerclassname
+ .4byte ScrCmd_buffertrainername
.4byte ScrCmd_pokenavcall
.4byte ScrCmd_warpE0
- .4byte ScrCmd_getcontesttype
- .4byte ScrCmd_getitemnameplural
+ .4byte ScrCmd_buffercontesttype
+ .4byte ScrCmd_bufferitemnameplural
+
+gScriptCmdTableEnd:: @ 81DBA08
+ .4byte ScrCmd_nop
diff --git a/data/scripts/berry_tree.inc b/data/scripts/berry_tree.inc
new file mode 100644
index 000000000..d11b7df20
--- /dev/null
+++ b/data/scripts/berry_tree.inc
@@ -0,0 +1,261 @@
+BerryTreeScript:: @ 82742F9
+ special FieldObjectInteractionGetBerryTreeData
+ switch VAR_0x8004
+ case 255, Route102_EventScript_27434F
+ case 0, Route102_EventScript_274359
+ case 1, Route102_EventScript_2743B1
+ case 2, Route102_EventScript_2743C1
+ case 3, Route102_EventScript_2743D1
+ case 4, Route102_EventScript_2743E1
+ case 5, Route102_EventScript_274421
+ end
+
+Route102_EventScript_27434F:: @ 827434F
+ lockall
+ message Route102_Text_274744
+ waitmessage
+ waitbuttonpress
+ releaseall
+ end
+
+Route102_EventScript_274359:: @ 8274359
+ lock
+ faceplayer
+ specialvar VAR_RESULT, PlayerHasBerries
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route102_EventScript_274374
+ message Route102_Text_2744F0
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+Route102_EventScript_274374:: @ 8274374
+ msgbox Route102_Text_274507, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route102_EventScript_274393
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route102_EventScript_2743AF
+ end
+
+Route102_EventScript_274393:: @ 8274393
+ fadescreen 1
+ closemessage
+ special Bag_ChooseBerry
+ waitstate
+ compare_var_to_value VAR_ITEM_ID, 0
+ goto_eq Route102_EventScript_2743AF
+ takeitem VAR_ITEM_ID, 1
+ call Route102_EventScript_2744DD
+
+Route102_EventScript_2743AF:: @ 82743AF
+ release
+ end
+
+Route102_EventScript_2743B1:: @ 82743B1
+ lockall
+ special FieldObjectInteractionGetBerryCountString
+ message Route102_Text_274560
+ waitmessage
+ waitbuttonpress
+ goto Route102_EventScript_27448D
+
+Route102_EventScript_2743C1:: @ 82743C1
+ lockall
+ special FieldObjectInteractionGetBerryName
+ message Route102_Text_274579
+ waitmessage
+ waitbuttonpress
+ goto Route102_EventScript_27448D
+
+Route102_EventScript_2743D1:: @ 82743D1
+ lockall
+ special FieldObjectInteractionGetBerryName
+ message Route102_Text_27458A
+ waitmessage
+ waitbuttonpress
+ goto Route102_EventScript_27448D
+
+Route102_EventScript_2743E1:: @ 82743E1
+ call Route102_EventScript_2743F6
+ lockall
+ special FieldObjectInteractionGetBerryName
+ message Route102_Text_2745AB
+ waitmessage
+ waitbuttonpress
+ goto Route102_EventScript_27448D
+
+Route102_EventScript_2743F6:: @ 82743F6
+ compare_var_to_value VAR_0x8005, 0
+ goto_eq Route102_EventScript_27441A
+ compare_var_to_value VAR_0x8005, 4
+ goto_eq Route102_EventScript_274413
+ bufferstring 1, Route102_Text_2745E5
+ return
+
+Route102_EventScript_274413:: @ 8274413
+ bufferstring 1, Route102_Text_2745CD
+ return
+
+Route102_EventScript_27441A:: @ 827441A
+ bufferstring 1, Route102_Text_2745DE
+ return
+
+Route102_EventScript_274421:: @ 8274421
+ buffernumberstring 1, VAR_0x8006
+ lock
+ faceplayer
+ special FieldObjectInteractionGetBerryCountString
+ msgbox Route102_Text_2745EE, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route102_EventScript_274448
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route102_EventScript_274479
+
+Route102_EventScript_274448:: @ 8274448
+ special FieldObjectInteractionPickBerryTree
+ compare_var_to_value VAR_0x8004, 0
+ goto_eq Route102_EventScript_274470
+ special sub_80EED34
+ special FieldObjectInteractionRemoveBerryTree
+ message Route102_Text_27461B
+ playfanfare BGM_ME_KINOMI
+ waitmessage
+ waitfanfare
+ waitbuttonpress
+ message Route102_Text_274630
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+Route102_EventScript_274470:: @ 8274470
+ message Route102_Text_27468F
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+Route102_EventScript_274479:: @ 8274479
+ message Route102_Text_2746CB
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+Route102_EventScript_274482:: @ 8274482
+ lockall
+ special FieldObjectInteractionGetBerryTreeData
+ call Route102_EventScript_2744DD
+ releaseall
+ end
+
+Route102_EventScript_27448D:: @ 827448D
+ checkitem ITEM_WAILMER_PAIL, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route102_EventScript_2744BE
+ special FieldObjectInteractionGetBerryName
+ msgbox Route102_Text_2746E4, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route102_EventScript_2744C4
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route102_EventScript_2744BE
+
+Route102_EventScript_2744BE:: @ 82744BE
+ releaseall
+ end
+
+Route102_EventScript_2744C0:: @ 82744C0
+ special FieldObjectInteractionGetBerryTreeData
+ lockall
+
+Route102_EventScript_2744C4:: @ 82744C4
+ special FieldObjectInteractionGetBerryName
+ message Route102_Text_274710
+ waitmessage
+ special FieldObjectInteractionWaterBerryTree
+ special sub_80FAFF8
+ waitstate
+ message Route102_Text_274723
+ waitmessage
+ waitbuttonpress
+ releaseall
+ end
+
+Route102_EventScript_2744DD:: @ 82744DD
+ special FieldObjectInteractionPlantBerryTree
+ incrementgamestat 3
+ special sub_80EED10
+ special FieldObjectInteractionGetBerryCountString
+ message Route102_Text_274535
+ waitmessage
+ waitbuttonpress
+ return
+
+Route102_Text_2744F0: @ 82744F0
+ .string "It’s soft, loamy soil.$"
+
+Route102_Text_274507: @ 8274507
+ .string "It’s soft, loamy soil.\n"
+ .string "Want to plant a BERRY?$"
+
+Route102_Text_274535: @ 8274535
+ .string "{PLAYER} planted one {STR_VAR_1} in\n"
+ .string "the soft, loamy soil.$"
+
+Route102_Text_274560: @ 8274560
+ .string "One {STR_VAR_1} was planted here.$"
+
+Route102_Text_274579: @ 8274579
+ .string "{STR_VAR_1} has sprouted.$"
+
+Route102_Text_27458A: @ 827458A
+ .string "This {STR_VAR_1} plant is growing taller.$"
+
+Route102_Text_2745AB: @ 82745AB
+ .string "These {STR_VAR_1} flowers are blooming\n"
+ .string "{STR_VAR_2}.$"
+
+Route102_Text_2745CD: @ 82745CD
+ .string "very beautifully$"
+
+Route102_Text_2745DE: @ 82745DE
+ .string "cutely$"
+
+Route102_Text_2745E5: @ 82745E5
+ .string "prettily$"
+
+Route102_Text_2745EE: @ 82745EE
+ .string "You found {STR_VAR_2} {STR_VAR_1}!\p"
+ .string "Do you want to pick the\n"
+ .string "{STR_VAR_1}?$"
+
+Route102_Text_27461B: @ 827461B
+ .string "{PLAYER} picked the {STR_VAR_2} {STR_VAR_1}.$"
+
+Route102_Text_274630: @ 8274630
+ .string "{PLAYER} put away the {STR_VAR_1}\n"
+ .string "in the BAG’s BERRIES POCKET.\p"
+ .string "The soil returned to its soft and\n"
+ .string "loamy state.$"
+
+Route102_Text_27468F: @ 827468F
+ .string "The BAG’s BERRIES POCKET is full.\p"
+ .string "The {STR_VAR_1} couldn’t be taken.$"
+
+Route102_Text_2746CB: @ 82746CB
+ .string "{PLAYER} left the {STR_VAR_1}\n"
+ .string "unpicked.$"
+
+Route102_Text_2746E4: @ 82746E4
+ .string "Want to water the {STR_VAR_1} with the\n"
+ .string "WAILMER PAIL?$"
+
+Route102_Text_274710: @ 8274710
+ .string "{PLAYER} watered the {STR_VAR_1}.$"
+
+Route102_Text_274723: @ 8274723
+ .string "The plant seems to be delighted.$"
+
+Route102_Text_274744: @ 8274744
+ .string "!$"
diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc
new file mode 100644
index 000000000..c38305f20
--- /dev/null
+++ b/data/scripts/cable_club.inc
@@ -0,0 +1,2124 @@
+BattleFrontier_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF
+DewfordTown_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF
+EverGrandeCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF
+EverGrandeCity_PokemonLeague_2F_MapScript1_276ACF: @ 8276ACF
+FallarborTown_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF
+FortreeCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF
+LavaridgeTown_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF
+LilycoveCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF
+MauvilleCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF
+MossdeepCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF
+OldaleTown_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF
+PacifidlogTown_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF
+PetalburgCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF
+RustboroCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF
+SlateportCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF
+SootopolisCity_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF
+VerdanturfTown_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF
+ call OldaleTown_PokemonCenter_2F_EventScript_276AD5
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276AD5:: @ 8276AD5
+ specialvar VAR_RESULT, sub_813B514
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_276AFB
+ specialvar VAR_RESULT, sub_801B27C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_276AFF
+ goto OldaleTown_PokemonCenter_2F_EventScript_276AFB
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276AFB:: @ 8276AFB
+ clearflag FLAG_0x2BE
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_276AFF:: @ 8276AFF
+ setflag FLAG_0x2BE
+ return
+
+BattleFrontier_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
+DewfordTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
+EverGrandeCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
+EverGrandeCity_PokemonLeague_2F_EventScript_276B03:: @ 8276B03
+FallarborTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
+FortreeCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
+LavaridgeTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
+LilycoveCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
+MauvilleCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
+MossdeepCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
+OldaleTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
+PacifidlogTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
+PetalburgCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
+RustboroCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
+SlateportCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
+SootopolisCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
+VerdanturfTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
+ specialvar VAR_RESULT, sub_813B514
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_276B23
+ goto OldaleTown_PokemonCenter_2F_EventScript_276B19
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276B19:: @ 8276B19
+ execram
+
+OldaleTown_PokemonCenter_2F_EventScript_276B1A:: @ 8276B1A
+ msgbox gUnknown_08273178, 2
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276B23:: @ 8276B23
+ checkitem ITEM_EON_TICKET, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_276B19
+ checkflag FLAG_SYS_HAS_EON_TICKET
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_276B19
+ msgbox gUnknown_08273594, 4
+ giveitem_std ITEM_EON_TICKET
+ setflag FLAG_SYS_HAS_EON_TICKET
+ setvar VAR_0x403F, 0
+ msgbox gUnknown_082735F2, 4
+ release
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276B62:: @ 8276B62
+ msgbox gUnknown_08273178, 4
+ release
+ end
+
+BattleFrontier_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
+DewfordTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
+EverGrandeCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
+EverGrandeCity_PokemonLeague_2F_MapScript2_276B6C: @ 8276B6C
+FallarborTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
+FortreeCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
+LavaridgeTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
+LilycoveCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
+MauvilleCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
+MossdeepCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
+OldaleTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
+PacifidlogTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
+PetalburgCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
+RustboroCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
+SlateportCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
+SootopolisCity_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
+VerdanturfTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
+ map_script_2 VAR_0x4087, 1, OldaleTown_PokemonCenter_2F_EventScript_276BAE
+ map_script_2 VAR_0x4087, 2, OldaleTown_PokemonCenter_2F_EventScript_276BAE
+ map_script_2 VAR_0x4087, 5, OldaleTown_PokemonCenter_2F_EventScript_276BAE
+ map_script_2 VAR_0x4087, 3, OldaleTown_PokemonCenter_2F_EventScript_276BAE
+ map_script_2 VAR_0x4087, 4, OldaleTown_PokemonCenter_2F_EventScript_276BAE
+ map_script_2 VAR_0x4087, 6, OldaleTown_PokemonCenter_2F_EventScript_276BAE
+ map_script_2 VAR_0x4087, 7, OldaleTown_PokemonCenter_2F_EventScript_276BAE
+ map_script_2 VAR_0x4087, 8, OldaleTown_PokemonCenter_2F_EventScript_276BAE
+ .2byte 0
+
+MossdeepCity_GameCorner_1F_EventScript_276BAE:: @ 8276BAE
+OldaleTown_PokemonCenter_2F_EventScript_276BAE:: @ 8276BAE
+ compare_var_to_value VAR_0x8007, 0
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_276BBD
+ turnobject VAR_0x8007, 3
+
+OldaleTown_PokemonCenter_2F_EventScript_276BBD:: @ 8276BBD
+ end
+
+BattleFrontier_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
+DewfordTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
+EverGrandeCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
+EverGrandeCity_PokemonLeague_2F_MapScript1_276BBE: @ 8276BBE
+FallarborTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
+FortreeCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
+LavaridgeTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
+LilycoveCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
+MauvilleCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
+MossdeepCity_GameCorner_1F_MapScript1_276BBE: @ 8276BBE
+MossdeepCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
+OldaleTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
+PacifidlogTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
+PetalburgCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
+RustboroCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
+SlateportCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
+SootopolisCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
+VerdanturfTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
+ compare_var_to_value VAR_0x4087, 1
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C17
+ compare_var_to_value VAR_0x4087, 2
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C17
+ compare_var_to_value VAR_0x4087, 5
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C17
+ compare_var_to_value VAR_0x4087, 3
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C1D
+ compare_var_to_value VAR_0x4087, 4
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C23
+ compare_var_to_value VAR_0x4087, 6
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C29
+ compare_var_to_value VAR_0x4087, 7
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C2F
+ compare_var_to_value VAR_0x4087, 8
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C35
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276C17:: @ 8276C17
+ call OldaleTown_PokemonCenter_2F_EventScript_277BE4
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276C1D:: @ 8276C1D
+ call OldaleTown_PokemonCenter_2F_EventScript_277BE4
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276C23:: @ 8276C23
+ call OldaleTown_PokemonCenter_2F_EventScript_277BE4
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276C29:: @ 8276C29
+ call OldaleTown_PokemonCenter_2F_EventScript_277BBE
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276C2F:: @ 8276C2F
+ call OldaleTown_PokemonCenter_2F_EventScript_277BE4
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276C35:: @ 8276C35
+ call OldaleTown_PokemonCenter_2F_EventScript_277C0A
+ end
+
+BattleFrontier_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
+DewfordTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
+EverGrandeCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
+EverGrandeCity_PokemonLeague_2F_MapScript2_276C3B: @ 8276C3B
+FallarborTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
+FortreeCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
+LavaridgeTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
+LilycoveCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
+MauvilleCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
+MossdeepCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
+OldaleTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
+PacifidlogTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
+PetalburgCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
+RustboroCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
+SlateportCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
+SootopolisCity_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
+VerdanturfTown_PokemonCenter_2F_MapScript2_276C3B: @ 8276C3B
+ map_script_2 VAR_0x40CD, 1, OldaleTown_PokemonCenter_2F_EventScript_276DE0
+ map_script_2 VAR_0x4087, 1, OldaleTown_PokemonCenter_2F_EventScript_276C85
+ map_script_2 VAR_0x4087, 2, OldaleTown_PokemonCenter_2F_EventScript_276C85
+ map_script_2 VAR_0x4087, 5, OldaleTown_PokemonCenter_2F_EventScript_276C85
+ map_script_2 VAR_0x4087, 3, OldaleTown_PokemonCenter_2F_EventScript_276CE7
+ map_script_2 VAR_0x4087, 4, OldaleTown_PokemonCenter_2F_EventScript_276D2C
+ map_script_2 VAR_0x4087, 6, OldaleTown_PokemonCenter_2F_EventScript_276D6C
+ map_script_2 VAR_0x4087, 7, OldaleTown_PokemonCenter_2F_EventScript_276C85
+ map_script_2 VAR_0x4087, 8, OldaleTown_PokemonCenter_2F_EventScript_276C9D
+ .2byte 0
+
+OldaleTown_PokemonCenter_2F_EventScript_276C85:: @ 8276C85
+ lockall
+ call OldaleTown_PokemonCenter_2F_EventScript_276CB5
+ call OldaleTown_PokemonCenter_2F_EventScript_277BF7
+ special DrawWholeMapView
+ playse SE_TK_KASYA
+ erasebox 0, 0, 29, 19
+ releaseall
+ end
+
+MossdeepCity_GameCorner_1F_EventScript_276C9D:: @ 8276C9D
+OldaleTown_PokemonCenter_2F_EventScript_276C9D:: @ 8276C9D
+ lockall
+ call OldaleTown_PokemonCenter_2F_EventScript_276CB5
+ call OldaleTown_PokemonCenter_2F_EventScript_277C1D
+ special DrawWholeMapView
+ playse SE_TK_KASYA
+ erasebox 0, 0, 29, 19
+ releaseall
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276CB5:: @ 8276CB5
+ special sub_80097E8
+ setvar VAR_0x4087, 0
+ compare_var_to_value VAR_0x8007, 0
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5
+ applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D
+ waitmovement 0
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27734F
+ waitmovement 0
+ applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349
+ waitmovement 0
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_276CE7:: @ 8276CE7
+ lockall
+ call OldaleTown_PokemonCenter_2F_EventScript_276CFF
+ call OldaleTown_PokemonCenter_2F_EventScript_277BF7
+ special DrawWholeMapView
+ playse SE_TK_KASYA
+ erasebox 0, 0, 29, 19
+ releaseall
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276CFF:: @ 8276CFF
+ special sub_80097E8
+ setvar VAR_0x4087, 0
+ compare_var_to_value VAR_0x8007, 0
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735E
+ waitmovement 0
+ applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D
+ waitmovement 0
+ call OldaleTown_PokemonCenter_2F_EventScript_276DAE
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_276D2C:: @ 8276D2C
+ lockall
+ call OldaleTown_PokemonCenter_2F_EventScript_276D44
+ call OldaleTown_PokemonCenter_2F_EventScript_277BF7
+ special DrawWholeMapView
+ playse SE_TK_KASYA
+ erasebox 0, 0, 29, 19
+ releaseall
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276D44:: @ 8276D44
+ special sub_80097E8
+ setvar VAR_0x4087, 0
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27734F
+ waitmovement 0
+ compare_var_to_value VAR_0x8007, 0
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_276D6B
+ applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349
+ waitmovement 0
+
+OldaleTown_PokemonCenter_2F_EventScript_276D6B:: @ 8276D6B
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_276D6C:: @ 8276D6C
+ lockall
+ call OldaleTown_PokemonCenter_2F_EventScript_276D84
+ call OldaleTown_PokemonCenter_2F_EventScript_277BD1
+ special DrawWholeMapView
+ playse SE_TK_KASYA
+ erasebox 0, 0, 29, 19
+ releaseall
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276D84:: @ 8276D84
+ setvar VAR_0x4087, 0
+ compare_var_to_value VAR_0x8007, 0
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735E
+ waitmovement 0
+ applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D
+ waitmovement 0
+ call OldaleTown_PokemonCenter_2F_EventScript_276DAE
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_276DAE:: @ 8276DAE
+ message OldaleTown_PokemonCenter_2F_Text_278521
+ waitmessage
+ playse SE_PIN
+ delay 60
+ message OldaleTown_PokemonCenter_2F_Text_27854C
+ waitmessage
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27734F
+ waitmovement 0
+ applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349
+ waitmovement 0
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_276DD5:: @ 8276DD5
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27734F
+ waitmovement 0
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_276DE0:: @ 8276DE0
+ lockall
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_2725A6
+ waitmovement 0
+ msgbox OldaleTown_PokemonCenter_2F_Text_27964A, 4
+ closemessage
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_276E10
+ waitmovement 0
+ delay 30
+ msgbox OldaleTown_PokemonCenter_2F_Text_279718, 4
+ setvar VAR_0x40CD, 2
+ releaseall
+ end
+
+OldaleTown_PokemonCenter_2F_Movement_276E10: @ 8276E10
+ step_up
+ step_up
+ step_end
+
+OldaleTown_PokemonCenter_2F_EventScript_276E13:: @ 8276E13
+ message OldaleTown_PokemonCenter_2F_Text_277EA4
+ waitmessage
+ delay 28
+ goto OldaleTown_PokemonCenter_2F_EventScript_276E30
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276E22:: @ 8276E22
+ msgbox OldaleTown_PokemonCenter_2F_Text_277EF1, 4
+ goto OldaleTown_PokemonCenter_2F_EventScript_276E30
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276E30:: @ 8276E30
+ setvar VAR_0x8004, 0
+ checkflag FLAG_VISITED_MAUVILLE_CITY
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_276E75
+ multichoice 0, 0, 74, 0
+ switch VAR_RESULT
+ case 0, OldaleTown_PokemonCenter_2F_EventScript_2770B2
+ case 1, OldaleTown_PokemonCenter_2F_EventScript_276EB7
+ case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276E75:: @ 8276E75
+ multichoice 0, 0, 76, 0
+ switch VAR_RESULT
+ case 0, OldaleTown_PokemonCenter_2F_EventScript_2770B2
+ case 1, OldaleTown_PokemonCenter_2F_EventScript_276EB7
+ case 2, OldaleTown_PokemonCenter_2F_EventScript_2771DB
+ case 3, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276EB7:: @ 8276EB7
+ copyvar VAR_0x8007, VAR_LAST_TALKED
+ goto OldaleTown_PokemonCenter_2F_EventScript_276EC2
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276EC2:: @ 8276EC2
+ message OldaleTown_PokemonCenter_2F_Text_2790BE
+ waitmessage
+ multichoice 0, 0, 18, 0
+ switch VAR_RESULT
+ case 0, OldaleTown_PokemonCenter_2F_EventScript_276F23
+ case 1, OldaleTown_PokemonCenter_2F_EventScript_276F2E
+ case 2, OldaleTown_PokemonCenter_2F_EventScript_276F55
+ case 3, OldaleTown_PokemonCenter_2F_EventScript_276F15
+ case 4, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276F15:: @ 8276F15
+ msgbox OldaleTown_PokemonCenter_2F_Text_279142, 4
+ goto OldaleTown_PokemonCenter_2F_EventScript_276EC2
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276F23:: @ 8276F23
+ setvar VAR_0x8004, 1
+ goto OldaleTown_PokemonCenter_2F_EventScript_276F60
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276F2E:: @ 8276F2E
+ special sub_80F92F8
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, OldaleTown_PokemonCenter_2F_EventScript_276F47
+ setvar VAR_0x8004, 2
+ goto OldaleTown_PokemonCenter_2F_EventScript_276F60
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276F47:: @ 8276F47
+ msgbox OldaleTown_PokemonCenter_2F_Text_277FEE, 4
+ goto OldaleTown_PokemonCenter_2F_EventScript_276EC2
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276F55:: @ 8276F55
+ setvar VAR_0x8004, 5
+ goto OldaleTown_PokemonCenter_2F_EventScript_276F60
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276F60:: @ 8276F60
+ call OldaleTown_PokemonCenter_2F_EventScript_27134F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ message OldaleTown_PokemonCenter_2F_Text_278091
+ waitmessage
+ special sub_80B2DA4
+ waitstate
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_276FBD
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2
+ compare_var_to_value VAR_RESULT, 3
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_277046
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ compare_var_to_value VAR_RESULT, 6
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_276FBD:: @ 8276FBD
+ special sp000_heal_pokemon
+ special copy_player_party_to_sav1
+ special copy_bags_and_unk_data_from_save_blocks
+ copyvar VAR_0x4087, VAR_0x8004
+ messageautoscroll OldaleTown_PokemonCenter_2F_Text_278197
+ waitmessage
+ call OldaleTown_PokemonCenter_2F_EventScript_277BE4
+ special DrawWholeMapView
+ playse SE_TK_KASYA
+ delay 60
+ applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D
+ waitmovement 0
+ closemessage
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356
+ waitmovement 0
+ opendoor 9, 1
+ waitdooranim
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A
+ waitmovement 0
+ hideobjectat 255, PETALBURG_CITY
+ closedoor 9, 1
+ waitdooranim
+ release
+ compare_var_to_value VAR_0x8004, 5
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_277036
+ special sub_809D2BC
+ warp SINGLE_BATTLE_COLOSSEUM, 255, 6, 8
+ special sub_80AF948
+ waitstate
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_27702B:: @ 827702B
+ applymovement 255, Movement_277352
+ waitmovement 0
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_277036:: @ 8277036
+ special sub_809D2BC
+ warp DOUBLE_BATTLE_COLOSSEUM, 255, 5, 8
+ special sub_80AF948
+ waitstate
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_277046:: @ 8277046
+ switch VAR_0x8004
+ case 1, OldaleTown_PokemonCenter_2F_EventScript_277094
+ case 2, OldaleTown_PokemonCenter_2F_EventScript_277083
+ case 5, OldaleTown_PokemonCenter_2F_EventScript_277072
+ goto OldaleTown_PokemonCenter_2F_EventScript_27730E
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_277072:: @ 8277072
+ special sub_80097E8
+ msgbox OldaleTown_PokemonCenter_2F_Text_27833D, 4
+ goto OldaleTown_PokemonCenter_2F_EventScript_2770A5
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_277083:: @ 8277083
+ special sub_80097E8
+ msgbox OldaleTown_PokemonCenter_2F_Text_278307, 4
+ goto OldaleTown_PokemonCenter_2F_EventScript_2770A5
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_277094:: @ 8277094
+ special sub_80097E8
+ msgbox OldaleTown_PokemonCenter_2F_Text_2782D1, 4
+ goto OldaleTown_PokemonCenter_2F_EventScript_2770A5
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_2770A5:: @ 82770A5
+ special sub_80097E8
+ msgbox OldaleTown_PokemonCenter_2F_Text_278372, 4
+ release
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_2770B2:: @ 82770B2
+ copyvar VAR_0x8007, VAR_LAST_TALKED
+ call OldaleTown_PokemonCenter_2F_EventScript_277199
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ call OldaleTown_PokemonCenter_2F_EventScript_27134F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ message OldaleTown_PokemonCenter_2F_Text_278091
+ waitmessage
+ special sub_80B2E4C
+ waitstate
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_27713A
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2
+ compare_var_to_value VAR_RESULT, 3
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_27730E
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ compare_var_to_value VAR_RESULT, 6
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5
+ compare_var_to_value VAR_RESULT, 7
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772AB
+ compare_var_to_value VAR_RESULT, 9
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772B8
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_27713A:: @ 827713A
+ setvar VAR_0x8004, 3
+ copyvar VAR_0x4087, VAR_0x8004
+ messageautoscroll OldaleTown_PokemonCenter_2F_Text_278197
+ waitmessage
+ call OldaleTown_PokemonCenter_2F_EventScript_277BE4
+ special DrawWholeMapView
+ playse SE_TK_KASYA
+ delay 60
+ applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D
+ waitmovement 0
+ closemessage
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356
+ waitmovement 0
+ opendoor 9, 1
+ waitdooranim
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A
+ waitmovement 0
+ hideobjectat 255, PETALBURG_CITY
+ closedoor 9, 1
+ waitdooranim
+ release
+ special sub_809D2BC
+ setwarp TRADE_CENTER, 255, 5, 8
+ special sub_80AF948
+ waitstate
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_277199:: @ 8277199
+ specialvar VAR_RESULT, CalculatePlayerPartyCount
+ compare_var_to_value VAR_RESULT, 2
+ goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_2771BF
+ specialvar VAR_RESULT, sub_80F9370
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2771CD
+ setvar VAR_RESULT, 1
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_2771BF:: @ 82771BF
+ msgbox OldaleTown_PokemonCenter_2F_Text_278027, 4
+ setvar VAR_RESULT, 0
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_2771CD:: @ 82771CD
+ msgbox OldaleTown_PokemonCenter_2F_Text_278061, 4
+ setvar VAR_RESULT, 0
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_2771DB:: @ 82771DB
+ copyvar VAR_0x8007, VAR_LAST_TALKED
+ call OldaleTown_PokemonCenter_2F_EventScript_27134F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ message OldaleTown_PokemonCenter_2F_Text_278091
+ waitmessage
+ special sub_80B2E74
+ waitstate
+ special sub_80B2EA8
+ waitstate
+ compare_var_to_value VAR_RESULT, 12
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_277328
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_27724C
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2
+ compare_var_to_value VAR_RESULT, 3
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_27730E
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ compare_var_to_value VAR_RESULT, 6
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_27724C:: @ 827724C
+ setvar VAR_0x8004, 4
+ copyvar VAR_0x4087, VAR_0x8004
+ messageautoscroll OldaleTown_PokemonCenter_2F_Text_278197
+ waitmessage
+ call OldaleTown_PokemonCenter_2F_EventScript_277BE4
+ special DrawWholeMapView
+ playse SE_TK_KASYA
+ delay 60
+ applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D
+ waitmovement 0
+ closemessage
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356
+ waitmovement 0
+ opendoor 9, 1
+ waitdooranim
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A
+ waitmovement 0
+ hideobjectat 255, PETALBURG_CITY
+ closedoor 9, 1
+ waitdooranim
+ release
+ special sub_809D2BC
+ setwarp RECORD_CORNER, 255, 8, 9
+ special sub_80AF948
+ waitstate
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_2772AB:: @ 82772AB
+ special sub_80097E8
+ msgbox OldaleTown_PokemonCenter_2F_Text_278565, 4
+ release
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_2772B8:: @ 82772B8
+ special sub_80097E8
+ msgbox OldaleTown_PokemonCenter_2F_Text_2785C9, 4
+ release
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2772C5:: @ 82772C5
+OldaleTown_PokemonCenter_2F_EventScript_2772C5:: @ 82772C5
+ special sub_80097E8
+ msgbox OldaleTown_PokemonCenter_2F_Text_27821C, 4
+ release
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_2772D2:: @ 82772D2
+OldaleTown_PokemonCenter_2F_EventScript_2772D2:: @ 82772D2
+ special sub_80097E8
+ msgbox OldaleTown_PokemonCenter_2F_Text_2781C7, 4
+ release
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_2772DF:: @ 82772DF
+ special sub_80097E8
+ msgbox OldaleTown_PokemonCenter_2F_Text_278255, 4
+ release
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_2772EC:: @ 82772EC
+ special sub_80097E8
+ msgbox OldaleTown_PokemonCenter_2F_Text_278291, 4
+ release
+ end
+
+MossdeepCity_GameCorner_1F_EventScript_2772F9:: @ 82772F9
+ special sub_80097E8
+ msgbox MossdeepCity_GameCorner_1F_Text_278D51, 4
+ release
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_277306:: @ 8277306
+ special sub_809D2BC
+ special sub_80AF948
+ waitstate
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_27730E:: @ 827730E
+ special sub_80097E8
+ msgbox OldaleTown_PokemonCenter_2F_Text_2782A8, 4
+ release
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_27731B:: @ 827731B
+ special sub_80097E8
+ msgbox OldaleTown_PokemonCenter_2F_Text_2785E9, 4
+ release
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_277328:: @ 8277328
+ special sub_80097E8
+ msgbox OldaleTown_PokemonCenter_2F_Text_278651, 4
+ release
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_277335:: @ 8277335
+ msgbox gUnknown_0827306F, 4
+ release
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_27733F:: @ 827733F
+ msgbox gUnknown_082730BC, 4
+ releaseall
+ end
+
+OldaleTown_PokemonCenter_2F_Movement_277349: @ 8277349
+ step_00
+ step_end
+
+OldaleTown_PokemonCenter_2F_Movement_27734B: @ 827734B
+ step_03
+ step_end
+
+MossdeepCity_GameCorner_1F_Movement_27734D: @ 827734D
+OldaleTown_PokemonCenter_2F_Movement_27734D: @ 827734D
+ step_02
+ step_end
+
+OldaleTown_PokemonCenter_2F_Movement_27734F: @ 827734F
+ step_down
+ step_down
+ step_end
+
+Movement_277352: @ 8277352
+ step_right
+ step_up
+ step_up
+ step_end
+
+OldaleTown_PokemonCenter_2F_Movement_277356: @ 8277356
+ step_left
+ step_up
+ step_up
+ step_end
+
+OldaleTown_PokemonCenter_2F_Movement_27735A: @ 827735A
+ step_up
+ step_end
+
+OldaleTown_PokemonCenter_2F_Movement_27735C: @ 827735C
+ step_02
+ step_end
+
+OldaleTown_PokemonCenter_2F_Movement_27735E: @ 827735E
+ step_03
+ step_end
+
+MossdeepCity_GameCorner_1F_Movement_277360: @ 8277360
+ step_left
+ step_up
+ step_up
+ step_up
+ step_end
+
+gUnknown_08277365:: @ 8277365
+ lockall
+ setvar VAR_0x8004, 0
+ special sub_813C4BC
+ waitbuttonpress
+ special sub_813C5A0
+ releaseall
+ end
+
+gUnknown_08277374:: @ 8277374
+ setvar VAR_0x8005, 0
+ special sub_80B3968
+ waitstate
+ end
+
+gUnknown_0827737E:: @ 827737E
+ setvar VAR_0x8005, 1
+ special sub_80B3968
+ waitstate
+ end
+
+gUnknown_08277388:: @ 8277388
+ fadescreen 1
+ special sub_80F9438
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq DoubleBattleColosseum_EventScript_2773F4
+ setvar VAR_0x8005, 0
+ special sub_80B3968
+ waitstate
+ end
+
+gUnknown_082773A3:: @ 82773A3
+ fadescreen 1
+ special sub_80F9438
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq DoubleBattleColosseum_EventScript_2773F4
+ setvar VAR_0x8005, 1
+ special sub_80B3968
+ waitstate
+ end
+
+gUnknown_082773BE:: @ 82773BE
+ fadescreen 1
+ special sub_80F9438
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq DoubleBattleColosseum_EventScript_2773F4
+ setvar VAR_0x8005, 2
+ special sub_80B3968
+ waitstate
+ end
+
+gUnknown_082773D9:: @ 82773D9
+ fadescreen 1
+ special sub_80F9438
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq DoubleBattleColosseum_EventScript_2773F4
+ setvar VAR_0x8005, 3
+ special sub_80B3968
+ waitstate
+ end
+
+DoubleBattleColosseum_EventScript_2773F4:: @ 82773F4
+ end
+
+gUnknown_082773F5:: @ 82773F5
+ setvar VAR_0x8005, 0
+ special sub_80B3924
+ waitstate
+ end
+
+gUnknown_082773FF:: @ 82773FF
+ setvar VAR_0x8005, 1
+ special sub_80B3924
+ waitstate
+ end
+
+gUnknown_08277409:: @ 8277409
+ setvar VAR_0x8005, 2
+ special sub_80B3924
+ waitstate
+ end
+
+gUnknown_08277413:: @ 8277413
+ setvar VAR_0x8005, 3
+ special sub_80B3924
+ waitstate
+ end
+
+gUnknown_0827741D:: @ 827741D
+ setvar VAR_0x8005, 0
+ special sub_80E6BE8
+ waitstate
+ compare_var_to_value VAR_0x4001, 0
+ goto_if 5, RecordCorner_EventScript_277471
+ end
+
+gUnknown_08277432:: @ 8277432
+ setvar VAR_0x8005, 1
+ special sub_80E6BE8
+ waitstate
+ compare_var_to_value VAR_0x4001, 0
+ goto_if 5, RecordCorner_EventScript_277471
+ end
+
+gUnknown_08277447:: @ 8277447
+ setvar VAR_0x8005, 2
+ special sub_80E6BE8
+ waitstate
+ compare_var_to_value VAR_0x4001, 0
+ goto_if 5, RecordCorner_EventScript_277471
+ end
+
+gUnknown_0827745C:: @ 827745C
+ setvar VAR_0x8005, 3
+ special sub_80E6BE8
+ waitstate
+ compare_var_to_value VAR_0x4001, 0
+ goto_if 5, RecordCorner_EventScript_277471
+ end
+
+RecordCorner_EventScript_277471:: @ 8277471
+ bufferitemname 1, VAR_0x4001
+ message RecordCorner_Text_27863C
+ waitmessage
+ waitbuttonpress
+ releaseall
+ end
+
+gUnknown_0827747E:: @ 827747E
+ msgbox Text_278452, 4
+ fadescreen 1
+ special sp02A_crash_sound
+ waitstate
+ end
+
+gUnknown_0827748D:: @ 827748D
+ msgbox Text_27847B, 4
+ fadescreen 1
+ special sp02A_crash_sound
+ waitstate
+ end
+
+gUnknown_0827749C:: @ 827749C
+ msgbox Text_27842E, 4
+ closemessage
+ end
+
+SingleBattleColosseum_EventScript_2774A6:: @ 82774A6
+ special sub_8098574
+ msgbox SingleBattleColosseum_Text_2784B4, 4
+ special sub_809859C
+ closemessage
+ end
+
+TradeCenter_EventScript_2774B6:: @ 82774B6
+ special sub_8098574
+ msgbox TradeCenter_Text_2784E2, 4
+ special sub_809859C
+ closemessage
+ end
+
+RecordCorner_EventScript_2774C6:: @ 82774C6
+ compare_var_to_value VAR_0x4000, 0
+ goto_if 5, RecordCorner_EventScript_2774E0
+ special sub_8098574
+ message RecordCorner_Text_27861C
+ waitmessage
+ waitbuttonpress
+ special sub_809859C
+ closemessage
+ end
+
+RecordCorner_EventScript_2774E0:: @ 82774E0
+ special sub_8098574
+ message RecordCorner_Text_27850E
+ waitmessage
+ waitbuttonpress
+ special sub_809859C
+ closemessage
+ end
+
+gUnknown_082774EF:: @ 82774EF
+ msgbox Text_2783A8, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq gUnknown_08277509
+ erasebox 0, 0, 29, 19
+ releaseall
+ end
+
+gUnknown_08277509:: @ 8277509
+ messageautoscroll Text_2783E9
+ waitmessage
+ special sub_80B371C
+ end
+
+gUnknown_08277513:: @ 8277513
+ special sub_80B36EC
+ special sub_80AF9F8
+ waitstate
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_27751B:: @ 827751B
+ lock
+ faceplayer
+ setvar VAR_FRONTIER_FACILITY, 8
+ checkflag FLAG_SYS_POKEDEX_GET
+ goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_277335
+ specialvar VAR_RESULT, sub_813990C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_27731B
+ copyvar VAR_0x8007, VAR_LAST_TALKED
+ specialvar VAR_RESULT, sub_80093CC
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_277668
+ message OldaleTown_PokemonCenter_2F_Text_27940D
+ waitmessage
+ goto OldaleTown_PokemonCenter_2F_EventScript_27755C
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_27755C:: @ 827755C
+ multichoice 17, 6, 17, 0
+ switch VAR_RESULT
+ case 0, OldaleTown_PokemonCenter_2F_EventScript_27759F
+ case 1, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 2, OldaleTown_PokemonCenter_2F_EventScript_277593
+ case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_277593:: @ 8277593
+ message OldaleTown_PokemonCenter_2F_Text_2794B8
+ waitmessage
+ goto OldaleTown_PokemonCenter_2F_EventScript_27755C
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_27759F:: @ 827759F
+ call OldaleTown_PokemonCenter_2F_EventScript_277626
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ call OldaleTown_PokemonCenter_2F_EventScript_27134F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ msgbox OldaleTown_PokemonCenter_2F_Text_27961C, 4
+ closemessage
+ special sp000_heal_pokemon
+ setvar VAR_0x8004, 6
+ copyvar VAR_0x4087, VAR_0x8004
+ call OldaleTown_PokemonCenter_2F_EventScript_277BBE
+ special DrawWholeMapView
+ playse SE_TK_KASYA
+ delay 60
+ applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D
+ waitmovement 0
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356
+ waitmovement 0
+ opendoor 5, 1
+ waitdooranim
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A
+ waitmovement 0
+ hideobjectat 255, PETALBURG_CITY
+ closedoor 5, 1
+ waitdooranim
+ special sub_8018090
+ special sub_809D2BC
+ warpteleport2 UNION_ROOM, 255, 7, 11
+ waitstate
+ special UnionRoomSpecial
+ waitstate
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_277626:: @ 8277626
+ specialvar VAR_RESULT, sub_80C7008
+ compare_var_to_value VAR_RESULT, 2
+ goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_27764C
+ specialvar VAR_RESULT, sub_80F9370
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_27765A
+ setvar VAR_RESULT, 1
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_27764C:: @ 827764C
+ msgbox OldaleTown_PokemonCenter_2F_Text_27893E, 4
+ goto OldaleTown_PokemonCenter_2F_EventScript_273755
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_27765A:: @ 827765A
+ msgbox OldaleTown_PokemonCenter_2F_Text_27897B, 4
+ goto OldaleTown_PokemonCenter_2F_EventScript_273755
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_277668:: @ 8277668
+ msgbox OldaleTown_PokemonCenter_2F_Text_2789B5, 4
+ release
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_277672:: @ 8277672
+ lock
+ faceplayer
+ checkflag FLAG_SYS_POKEDEX_GET
+ goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_277335
+ msgbox OldaleTown_PokemonCenter_2F_Text_279937, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_27769A
+ msgbox OldaleTown_PokemonCenter_2F_Text_2799AA, 4
+ release
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_27769A:: @ 827769A
+ msgbox OldaleTown_PokemonCenter_2F_Text_279C91, 4
+ release
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_2776A4:: @ 82776A4
+ lock
+ faceplayer
+ setvar VAR_FRONTIER_FACILITY, 9
+ checkflag FLAG_SYS_POKEDEX_GET
+ goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_277335
+ specialvar VAR_RESULT, sub_813990C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_27731B
+ specialvar VAR_RESULT, sub_80093CC
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_276E13
+ message OldaleTown_PokemonCenter_2F_Text_279013
+ waitmessage
+ delay 28
+ goto OldaleTown_PokemonCenter_2F_EventScript_2776E3
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_2776E3:: @ 82776E3
+ checkitem ITEM_POWDER_JAR, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_27778B
+ checkflag FLAG_VISITED_MAUVILLE_CITY
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_27773E
+ multichoice 0, 0, 78, 0
+ switch VAR_RESULT
+ case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D
+ case 1, OldaleTown_PokemonCenter_2F_EventScript_27783B
+ case 2, OldaleTown_PokemonCenter_2F_EventScript_2778F7
+ case 3, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_27773E:: @ 827773E
+ multichoice 0, 0, 79, 0
+ switch VAR_RESULT
+ case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D
+ case 1, OldaleTown_PokemonCenter_2F_EventScript_27783B
+ case 2, OldaleTown_PokemonCenter_2F_EventScript_2778D9
+ case 3, OldaleTown_PokemonCenter_2F_EventScript_2778F7
+ case 4, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_27778B:: @ 827778B
+ checkflag FLAG_VISITED_MAUVILLE_CITY
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2777CB
+ multichoice 0, 0, 75, 0
+ switch VAR_RESULT
+ case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D
+ case 1, OldaleTown_PokemonCenter_2F_EventScript_27783B
+ case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_2777CB:: @ 82777CB
+ multichoice 0, 0, 77, 0
+ switch VAR_RESULT
+ case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D
+ case 1, OldaleTown_PokemonCenter_2F_EventScript_27783B
+ case 2, OldaleTown_PokemonCenter_2F_EventScript_2778D9
+ case 3, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_27780D:: @ 827780D
+ msgbox OldaleTown_PokemonCenter_2F_Text_27909D, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ call OldaleTown_PokemonCenter_2F_EventScript_277199
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ setvar VAR_0x8004, 3
+ goto OldaleTown_PokemonCenter_2F_EventScript_277931
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_27783B:: @ 827783B
+ message OldaleTown_PokemonCenter_2F_Text_2790BE
+ waitmessage
+ multichoice 0, 0, 18, 0
+ switch VAR_RESULT
+ case 0, OldaleTown_PokemonCenter_2F_EventScript_27788E
+ case 1, OldaleTown_PokemonCenter_2F_EventScript_277899
+ case 2, OldaleTown_PokemonCenter_2F_EventScript_2778C0
+ case 3, OldaleTown_PokemonCenter_2F_EventScript_2778CB
+ case 4, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_27788E:: @ 827788E
+ setvar VAR_0x8004, 0
+ goto OldaleTown_PokemonCenter_2F_EventScript_277931
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_277899:: @ 8277899
+ special sub_80F92F8
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, OldaleTown_PokemonCenter_2F_EventScript_2778B2
+ setvar VAR_0x8004, 1
+ goto OldaleTown_PokemonCenter_2F_EventScript_277931
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_2778B2:: @ 82778B2
+ msgbox OldaleTown_PokemonCenter_2F_Text_277FEE, 4
+ goto OldaleTown_PokemonCenter_2F_EventScript_27783B
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_2778C0:: @ 82778C0
+ setvar VAR_0x8004, 2
+ goto OldaleTown_PokemonCenter_2F_EventScript_277931
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_2778CB:: @ 82778CB
+ msgbox OldaleTown_PokemonCenter_2F_Text_279142, 4
+ goto OldaleTown_PokemonCenter_2F_EventScript_27783B
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_2778D9:: @ 82778D9
+ msgbox OldaleTown_PokemonCenter_2F_Text_2790E8, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ setvar VAR_0x8004, 12
+ goto OldaleTown_PokemonCenter_2F_EventScript_277931
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_2778F7:: @ 82778F7
+ msgbox OldaleTown_PokemonCenter_2F_Text_279114, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ special HasAtLeastOneBerry
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_277923
+ setvar VAR_0x8004, 5
+ goto OldaleTown_PokemonCenter_2F_EventScript_277931
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_277923:: @ 8277923
+ msgbox OldaleTown_PokemonCenter_2F_Text_2788FC, 4
+ goto OldaleTown_PokemonCenter_2F_EventScript_2776E3
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_277931:: @ 8277931
+ call OldaleTown_PokemonCenter_2F_EventScript_27134F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ switch VAR_0x8004
+ case 3, OldaleTown_PokemonCenter_2F_EventScript_277989
+ case 0, OldaleTown_PokemonCenter_2F_EventScript_277989
+ case 1, OldaleTown_PokemonCenter_2F_EventScript_277989
+ case 2, OldaleTown_PokemonCenter_2F_EventScript_277A16
+ case 5, OldaleTown_PokemonCenter_2F_EventScript_277AA3
+ case 12, OldaleTown_PokemonCenter_2F_EventScript_277AA3
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_277989:: @ 8277989
+ message OldaleTown_PokemonCenter_2F_Text_2792CD
+ waitmessage
+ multichoice 16, 6, 81, 0
+ switch VAR_RESULT
+ case 0, OldaleTown_PokemonCenter_2F_EventScript_2779EE
+ case 1, OldaleTown_PokemonCenter_2F_EventScript_2779C6
+ case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_2779C6:: @ 82779C6
+ call OldaleTown_PokemonCenter_2F_EventScript_277B30
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_277989
+ compare_var_to_value VAR_RESULT, 8
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2779C6
+ release
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_2779EE:: @ 82779EE
+ call OldaleTown_PokemonCenter_2F_EventScript_277B35
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_277989
+ compare_var_to_value VAR_RESULT, 8
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_2779EE
+ release
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_277A16:: @ 8277A16
+ message OldaleTown_PokemonCenter_2F_Text_279334
+ waitmessage
+ multichoice 16, 6, 81, 0
+ switch VAR_RESULT
+ case 0, OldaleTown_PokemonCenter_2F_EventScript_277A7B
+ case 1, OldaleTown_PokemonCenter_2F_EventScript_277A53
+ case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_277A53:: @ 8277A53
+ call OldaleTown_PokemonCenter_2F_EventScript_277B30
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_277A16
+ compare_var_to_value VAR_RESULT, 8
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_277A53
+ release
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_277A7B:: @ 8277A7B
+ call OldaleTown_PokemonCenter_2F_EventScript_277B35
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_277A16
+ compare_var_to_value VAR_RESULT, 8
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_277A7B
+ release
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_277AA3:: @ 8277AA3
+ message OldaleTown_PokemonCenter_2F_Text_2793A3
+ waitmessage
+ multichoice 16, 6, 81, 0
+ switch VAR_RESULT
+ case 0, OldaleTown_PokemonCenter_2F_EventScript_277B08
+ case 1, OldaleTown_PokemonCenter_2F_EventScript_277AE0
+ case 2, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ case 127, OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_277AE0:: @ 8277AE0
+ call OldaleTown_PokemonCenter_2F_EventScript_277B30
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_277AA3
+ compare_var_to_value VAR_RESULT, 8
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_277AE0
+ release
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_277B08:: @ 8277B08
+ call OldaleTown_PokemonCenter_2F_EventScript_277B35
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_277AA3
+ compare_var_to_value VAR_RESULT, 8
+ goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B08
+ release
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_277B30:: @ 8277B30
+MossdeepCity_GameCorner_1F_EventScript_277B30:: @ 8277B30
+OldaleTown_PokemonCenter_2F_EventScript_277B30:: @ 8277B30
+ special BerryBlenderLinkBecomeLeader
+ waitstate
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_277B35:: @ 8277B35
+MossdeepCity_GameCorner_1F_EventScript_277B35:: @ 8277B35
+OldaleTown_PokemonCenter_2F_EventScript_277B35:: @ 8277B35
+ special BerryBlenderLinkJoinGroup
+ waitstate
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_277B3A:: @ 8277B3A
+ messageautoscroll OldaleTown_PokemonCenter_2F_Text_2781A5
+ waitmessage
+ delay 60
+ closemessage
+ copyvar VAR_0x8007, VAR_LAST_TALKED
+ call OldaleTown_PokemonCenter_2F_EventScript_277BE4
+ special DrawWholeMapView
+ playse SE_TK_KASYA
+ delay 60
+ applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D
+ waitmovement 0
+ closemessage
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356
+ waitmovement 0
+ opendoor 9, 1
+ waitdooranim
+ applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A
+ waitmovement 0
+ hideobjectat 255, PETALBURG_CITY
+ closedoor 9, 1
+ waitdooranim
+ release
+ waitstate
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_277B8A:: @ 8277B8A
+ lockall
+ checkflag FLAG_SYS_POKEDEX_GET
+ goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_27733F
+ specialvar VAR_RESULT, sub_80093CC
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_277BB4
+ fadescreen 1
+ special sub_801A42C
+ waitstate
+ msgbox OldaleTown_PokemonCenter_2F_Text_27874F, 4
+ releaseall
+ end
+
+EventScript_277BB4:: @ 8277BB4
+ msgbox OldaleTown_PokemonCenter_2F_Text_27871F, 4
+ releaseall
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_277BBE:: @ 8277BBE
+ setmetatile 5, 2, 732, 0
+ setmetatile 5, 3, 740, 0
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_277BD1:: @ 8277BD1
+ setmetatile 5, 2, 542, 1
+ setmetatile 5, 3, 605, 1
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_277BE4:: @ 8277BE4
+ setmetatile 9, 2, 732, 0
+ setmetatile 9, 3, 740, 0
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_277BF7:: @ 8277BF7
+ setmetatile 9, 2, 542, 1
+ setmetatile 9, 3, 605, 1
+ return
+
+MossdeepCity_GameCorner_1F_EventScript_277C0A:: @ 8277C0A
+OldaleTown_PokemonCenter_2F_EventScript_277C0A:: @ 8277C0A
+ setmetatile 5, 2, 556, 0
+ setmetatile 5, 3, 564, 0
+ return
+
+OldaleTown_PokemonCenter_2F_EventScript_277C1D:: @ 8277C1D
+ setmetatile 5, 2, 554, 1
+ setmetatile 5, 3, 562, 1
+ return
+
+BattleFrontier_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
+DewfordTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
+EverGrandeCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
+EverGrandeCity_PokemonLeague_1F_MapScript1_277C30: @ 8277C30
+FallarborTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
+FortreeCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
+LavaridgeTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
+LilycoveCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
+MauvilleCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
+MossdeepCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
+OldaleTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
+PacifidlogTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
+PetalburgCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
+RustboroCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
+SlateportCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
+SootopolisCity_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
+VerdanturfTown_PokemonCenter_1F_MapScript1_277C30: @ 8277C30
+ special sub_8016934
+ end
+
+MossdeepCity_GameCorner_1F_EventScript_277C34:: @ 8277C34
+ lock
+ faceplayer
+ message MossdeepCity_GameCorner_1F_Text_278A7D
+ waitmessage
+ multichoice 0, 0, 80, 0
+ switch VAR_RESULT
+ case 0, MossdeepCity_GameCorner_1F_EventScript_277C73
+ case 1, MossdeepCity_GameCorner_1F_EventScript_277C7D
+ case 2, MossdeepCity_GameCorner_1F_EventScript_277C87
+ case 127, MossdeepCity_GameCorner_1F_EventScript_277C87
+ end
+
+MossdeepCity_GameCorner_1F_EventScript_277C73:: @ 8277C73
+ msgbox MossdeepCity_GameCorner_1F_Text_278ACB, 4
+ release
+ end
+
+MossdeepCity_GameCorner_1F_EventScript_277C7D:: @ 8277C7D
+ msgbox MossdeepCity_GameCorner_1F_Text_278BF1, 4
+ release
+ end
+
+MossdeepCity_GameCorner_1F_EventScript_277C87:: @ 8277C87
+ msgbox MossdeepCity_GameCorner_1F_Text_278CAC, 4
+ release
+ end
+
+MossdeepCity_GameCorner_1F_EventScript_277C91:: @ 8277C91
+ lock
+ faceplayer
+ message MossdeepCity_GameCorner_1F_Text_278CEB
+ waitmessage
+ specialvar VAR_RESULT, sub_80093CC
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MossdeepCity_GameCorner_1F_EventScript_277E48
+ delay 60
+ message MossdeepCity_GameCorner_1F_Text_278DAD
+ waitmessage
+ multichoice 0, 0, 80, 0
+ switch VAR_RESULT
+ case 0, MossdeepCity_GameCorner_1F_EventScript_277CE9
+ case 1, MossdeepCity_GameCorner_1F_EventScript_277D35
+ case 2, MossdeepCity_GameCorner_1F_EventScript_2772F9
+ case 127, MossdeepCity_GameCorner_1F_EventScript_2772F9
+ end
+
+MossdeepCity_GameCorner_1F_EventScript_277CE9:: @ 8277CE9
+ setvar VAR_0x8005, 0
+ special sub_802C920
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MossdeepCity_GameCorner_1F_EventScript_277E55
+ msgbox MossdeepCity_GameCorner_1F_Text_278DD9, 4
+ fadescreen 1
+ setvar VAR_0x8005, 0
+ special sub_81B8958
+ waitstate
+ compare_var_to_value VAR_0x8004, 6
+ goto_if 4, MossdeepCity_GameCorner_1F_EventScript_2772F9
+ call MossdeepCity_GameCorner_1F_EventScript_27134F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MossdeepCity_GameCorner_1F_EventScript_2772F9
+ setvar VAR_0x8004, 4
+ goto MossdeepCity_GameCorner_1F_EventScript_277D81
+ end
+
+MossdeepCity_GameCorner_1F_EventScript_277D35:: @ 8277D35
+ setvar VAR_0x8005, 1
+ special sub_8027A5C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MossdeepCity_GameCorner_1F_EventScript_277E55
+ msgbox MossdeepCity_GameCorner_1F_Text_278DD9, 4
+ fadescreen 1
+ setvar VAR_0x8005, 1
+ special sub_81B8958
+ waitstate
+ compare_var_to_value VAR_0x8004, 6
+ goto_if 4, MossdeepCity_GameCorner_1F_EventScript_2772F9
+ call MossdeepCity_GameCorner_1F_EventScript_27134F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MossdeepCity_GameCorner_1F_EventScript_2772F9
+ setvar VAR_0x8004, 6
+ goto MossdeepCity_GameCorner_1F_EventScript_277D81
+ end
+
+MossdeepCity_GameCorner_1F_EventScript_277D81:: @ 8277D81
+ message MossdeepCity_GameCorner_1F_Text_2793A3
+ waitmessage
+ multichoice 16, 6, 81, 0
+ switch VAR_RESULT
+ case 0, MossdeepCity_GameCorner_1F_EventScript_277DE6
+ case 1, MossdeepCity_GameCorner_1F_EventScript_277DBE
+ case 2, MossdeepCity_GameCorner_1F_EventScript_2772F9
+ case 127, MossdeepCity_GameCorner_1F_EventScript_2772F9
+ end
+
+MossdeepCity_GameCorner_1F_EventScript_277DBE:: @ 8277DBE
+ call MossdeepCity_GameCorner_1F_EventScript_277B30
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MossdeepCity_GameCorner_1F_EventScript_277E0E
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq MossdeepCity_GameCorner_1F_EventScript_277D81
+ compare_var_to_value VAR_RESULT, 8
+ goto_eq MossdeepCity_GameCorner_1F_EventScript_277DBE
+ release
+ return
+
+MossdeepCity_GameCorner_1F_EventScript_277DE6:: @ 8277DE6
+ call MossdeepCity_GameCorner_1F_EventScript_277B35
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MossdeepCity_GameCorner_1F_EventScript_277E0E
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq MossdeepCity_GameCorner_1F_EventScript_277D81
+ compare_var_to_value VAR_RESULT, 8
+ goto_eq MossdeepCity_GameCorner_1F_EventScript_277DE6
+ release
+ return
+
+MossdeepCity_GameCorner_1F_EventScript_277E0E:: @ 8277E0E
+ messageautoscroll MossdeepCity_GameCorner_1F_Text_278E00
+ waitmessage
+ delay 60
+ closemessage
+ copyvar VAR_0x8007, VAR_LAST_TALKED
+ call MossdeepCity_GameCorner_1F_EventScript_277C0A
+ special DrawWholeMapView
+ playse SE_TK_KASYA
+ delay 60
+ applymovement VAR_LAST_TALKED, MossdeepCity_GameCorner_1F_Movement_27734D
+ waitmovement 0
+ closemessage
+ applymovement 255, MossdeepCity_GameCorner_1F_Movement_277360
+ waitmovement 0
+ hideobjectat 255, PETALBURG_CITY
+ release
+ waitstate
+ end
+
+MossdeepCity_GameCorner_1F_EventScript_277E48:: @ 8277E48
+ delay 60
+ msgbox MossdeepCity_GameCorner_1F_Text_278D68, 4
+ release
+ end
+
+MossdeepCity_GameCorner_1F_EventScript_277E55:: @ 8277E55
+ msgbox MossdeepCity_GameCorner_1F_Text_278E60, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MossdeepCity_GameCorner_1F_EventScript_2772F9
+ compare_var_to_value VAR_0x8005, 0
+ call_if 1, MossdeepCity_GameCorner_1F_EventScript_277E84
+ compare_var_to_value VAR_0x8005, 1
+ call_if 1, MossdeepCity_GameCorner_1F_EventScript_277E8D
+ goto MossdeepCity_GameCorner_1F_EventScript_2772F9
+ end
+
+MossdeepCity_GameCorner_1F_EventScript_277E84:: @ 8277E84
+ msgbox MossdeepCity_GameCorner_1F_Text_278EDC, 4
+ return
+
+MossdeepCity_GameCorner_1F_EventScript_277E8D:: @ 8277E8D
+ msgbox MossdeepCity_GameCorner_1F_Text_278FA4, 4
+ return
+
+MossdeepCity_GameCorner_1F_EventScript_277E96:: @ 8277E96
+ lockall
+ special sub_802E3C4
+ waitstate
+ releaseall
+ end
+
+MossdeepCity_GameCorner_1F_EventScript_277E9D:: @ 8277E9D
+ lockall
+ special sub_8027AAC
+ waitstate
+ releaseall
+ end
+OldaleTown_PokemonCenter_2F_Text_277EA4: @ 8277EA4
+ .string "Welcome to the POKéMON CABLE\n"
+ .string "CLUB.\p"
+ .string "Which of our services do you wish\n"
+ .string "to use?$"
+
+OldaleTown_PokemonCenter_2F_Text_277EF1: @ 8277EF1
+ .string "Which of our services do you wish\n"
+ .string "to use?$"
+
+OldaleTown_PokemonCenter_2F_Text_277F1B: @ 8277F1B
+ .string "Trade POKéMON with another player\n"
+ .string "using a GBA Game Link cable.$"
+
+OldaleTown_PokemonCenter_2F_Text_277F5A: @ 8277F5A
+ .string "You may battle another TRAINER\n"
+ .string "using a GBA Game Link cable.$"
+
+OldaleTown_PokemonCenter_2F_Text_277F96: @ 8277F96
+ .string "You can use the RECORD CORNER with\n"
+ .string "others using a GBA Game Link cable.$"
+
+OldaleTown_PokemonCenter_2F_Text_277FDD: @ 8277FDD
+ .string "Close this menu.$"
+
+OldaleTown_PokemonCenter_2F_Text_277FEE: @ 8277FEE
+ .string "For a DOUBLE BATTLE, you must\n"
+ .string "have at least two POKéMON.$"
+
+OldaleTown_PokemonCenter_2F_Text_278027: @ 8278027
+ .string "For trading, you must have at\n"
+ .string "least two POKéMON with you.$"
+
+OldaleTown_PokemonCenter_2F_Text_278061: @ 8278061
+ .string "A POKéMON holding the {STR_VAR_1}\n"
+ .string "BERRY can’t be traded.$"
+
+OldaleTown_PokemonCenter_2F_Text_278091:: @ 8278091
+ .string "Please wait.\n"
+ .string "… … B Button: Cancel$"
+
+OldaleTown_PokemonCenter_2F_Text_2780B3:: @ 82780B3
+ .string "When all players are ready…\n"
+ .string "A Button: Confirm\l"
+ .string "B Button: Cancel$"
+
+OldaleTown_PokemonCenter_2F_Text_2780F2:: @ 82780F2
+ .string "Start link with {STR_VAR_1} players.\n"
+ .string "A Button: Confirm\l"
+ .string "B Button: Cancel$"
+
+OldaleTown_PokemonCenter_2F_Text_278131:: @ 8278131
+ .string "Awaiting linkup…\n"
+ .string "… … B Button: Cancel$"
+
+OldaleTown_PokemonCenter_2F_Text_278157:: @ 8278157
+ .string "Your progress must be saved before\n"
+ .string "linking. Is it okay to save?$"
+
+OldaleTown_PokemonCenter_2F_Text_278197: @ 8278197
+ .string "Please enter.$"
+
+OldaleTown_PokemonCenter_2F_Text_2781A5: @ 82781A5
+ .string "I’ll direct you to your room now.$"
+
+LilycoveCity_ContestLobby_Text_2781C7: @ 82781C7
+OldaleTown_PokemonCenter_2F_Text_2781C7: @ 82781C7
+ .string "Someone is not ready to link.\p"
+ .string "Please come back after everyone\n"
+ .string "has made preparations.$"
+
+LilycoveCity_ContestLobby_Text_27821C: @ 827821C
+OldaleTown_PokemonCenter_2F_Text_27821C: @ 827821C
+ .string "Sorry, we have a link error…\n"
+ .string "Please reset and try again.$"
+
+BattleFrontier_BattleTowerLobby_Text_278255: @ 8278255
+LilycoveCity_ContestLobby_Text_278255: @ 8278255
+OldaleTown_PokemonCenter_2F_Text_278255: @ 8278255
+ .string "The link partners appear to have\n"
+ .string "made different selections.$"
+
+OldaleTown_PokemonCenter_2F_Text_278291: @ 8278291
+ .string "Please do visit again.$"
+
+BattleFrontier_BattleTowerLobby_Text_2782A8: @ 82782A8
+OldaleTown_PokemonCenter_2F_Text_2782A8: @ 82782A8
+ .string "The number of participants is\n"
+ .string "incorrect.$"
+
+OldaleTown_PokemonCenter_2F_Text_2782D1: @ 82782D1
+ .string "The SINGLE BATTLE Mode can’t be\n"
+ .string "played by {STR_VAR_1} players.$"
+
+OldaleTown_PokemonCenter_2F_Text_278307: @ 8278307
+ .string "The DOUBLE BATTLE Mode can’t be\n"
+ .string "played by {STR_VAR_1} players.$"
+
+OldaleTown_PokemonCenter_2F_Text_27833D: @ 827833D
+ .string "There must be four players to play\n"
+ .string "this Battle Mode.$"
+
+OldaleTown_PokemonCenter_2F_Text_278372: @ 8278372
+ .string "Please confirm the number of\n"
+ .string "players and start again.$"
+
+Text_2783A8: @ 82783A8
+ .string "The link will be terminated if you\n"
+ .string "leave the room. Is that okay?$"
+
+Text_2783E9: @ 82783E9
+ .string "Terminating link…\n"
+ .string "You will be escorted out of\l"
+ .string "the room. Please wait.$"
+
+Text_27842E: @ 827842E
+ .string "This TRAINER is too busy to\n"
+ .string "notice…$"
+
+Text_278452: @ 8278452
+ .string "Score! Got to look at {STR_VAR_1}’s\n"
+ .string "TRAINER CARD!$"
+
+Text_27847B: @ 827847B
+ .string "Score! Got to look at {STR_VAR_1}’s\n"
+ .string "TRAINER CARD!\p"
+ .string "It’s a {STR_VAR_2} card!$"
+
+SingleBattleColosseum_Text_2784B4: @ 82784B4
+ .string "Please take your place and start\n"
+ .string "your battle.$"
+
+TradeCenter_Text_2784E2: @ 82784E2
+ .string "Please take your seat and start\n"
+ .string "your trade.$"
+
+RecordCorner_Text_27850E: @ 827850E
+ .string "Thanks for coming.$"
+
+OldaleTown_PokemonCenter_2F_Text_278521: @ 8278521
+ .string "The TRAINER CARD data will\n"
+ .string "be overwritten.$"
+
+OldaleTown_PokemonCenter_2F_Text_27854C: @ 827854C
+ .string "I hope to see you again!$"
+
+OldaleTown_PokemonCenter_2F_Text_278565: @ 8278565
+ .string "I’m awfully sorry.\p"
+ .string "We’re not set up to conduct trades\n"
+ .string "with TRAINERS far away in another\l"
+ .string "region yet…$"
+
+OldaleTown_PokemonCenter_2F_Text_2785C9: @ 82785C9
+ .string "The other TRAINER is not ready.$"
+
+OldaleTown_PokemonCenter_2F_Text_2785E9: @ 82785E9
+ .string "You have at least one POKéMON\n"
+ .string "that can’t be taken.$"
+
+RecordCorner_Text_27861C: @ 827861C
+ .string "Please take your seat and wait.$"
+
+RecordCorner_Text_27863C: @ 827863C
+ .string "{STR_VAR_1} sent over one\n"
+ .string "{STR_VAR_2}.$"
+
+OldaleTown_PokemonCenter_2F_Text_278651: @ 8278651
+ .string "Sorry, there is a transmission error.\p"
+ .string "You may not mix records with \n"
+ .string "Japanese Ruby or Sapphire games.\p"
+ .string "Also, you can’t mix records with\n"
+ .string "Japanese Emerald and overseas Ruby\l"
+ .string "or Sapphire games at the same time.$"
+
+OldaleTown_PokemonCenter_2F_Text_27871F: @ 827871F
+ .string "The Wireless Adapter is not\n"
+ .string "connected properly.$"
+
+OldaleTown_PokemonCenter_2F_Text_27874F: @ 827874F
+ .string "Participants are asked to step up\n"
+ .string "to the reception counter.$"
+
+OldaleTown_PokemonCenter_2F_Text_27878B: @ 827878B
+ .string "Hello!$"
+
+OldaleTown_PokemonCenter_2F_Text_278792: @ 8278792
+ .string "Please wait.$"
+
+OldaleTown_PokemonCenter_2F_Text_27879F: @ 827879F
+ .string "You may trade your POKéMON here\n"
+ .string "with another TRAINER.$"
+
+OldaleTown_PokemonCenter_2F_Text_2787D5: @ 82787D5
+ .string "You may battle with your friends\n"
+ .string "here.$"
+
+OldaleTown_PokemonCenter_2F_Text_2787FC: @ 82787FC
+ .string "Two to five TRAINERS can make\n"
+ .string "BERRY POWDER together.$"
+
+OldaleTown_PokemonCenter_2F_Text_278831: @ 8278831
+ .string "The records of two to four players\n"
+ .string "can be mixed together.$"
+
+OldaleTown_PokemonCenter_2F_Text_27886B: @ 827886B
+ .string "A guide to the WIRELESS CLUB’s\n"
+ .string "various services.$"
+
+OldaleTown_PokemonCenter_2F_Text_27889C: @ 827889C
+ .string "Cancels the selected MENU item.$"
+
+OldaleTown_PokemonCenter_2F_Text_2788BC: @ 82788BC
+ .string "Which battle mode would you like?$"
+
+OldaleTown_PokemonCenter_2F_Text_2788DE: @ 82788DE
+ .string "Returns to the previous step.$"
+
+OldaleTown_PokemonCenter_2F_Text_2788FC: @ 82788FC
+ .string "To use the BERRY CRUSH service,\n"
+ .string "you must have at least one BERRY.$"
+
+OldaleTown_PokemonCenter_2F_Text_27893E: @ 827893E
+ .string "To enter the UNION ROOM, you must\n"
+ .string "have at least two POKéMON.$"
+
+OldaleTown_PokemonCenter_2F_Text_27897B: @ 827897B
+ .string "No POKéMON holding the {STR_VAR_1}\n"
+ .string "BERRY may enter the UNION ROOM.$"
+
+OldaleTown_PokemonCenter_2F_Text_2789B5: @ 82789B5
+ .string "This is the POKéMON WIRELESS CLUB\n"
+ .string "UNION ROOM.\p"
+ .string "Unfortunately, your Wireless\n"
+ .string "Adapter is not connected properly.\p"
+ .string "Please do come again.$"
+
+OldaleTown_PokemonCenter_2F_Text_278A39: @ 8278A39
+ .string "Oh…\n"
+ .string "Excuse me!$"
+
+OldaleTown_PokemonCenter_1F_Text_278A48: @ 8278A48
+ .string "It appears as if {STR_VAR_1} is playing\n"
+ .string "right now.\l"
+ .string "Go for it!$"
+
+MossdeepCity_GameCorner_1F_Text_278A7D: @ 8278A7D
+ .string "I can explain game rules to you,\n"
+ .string "if you’d like.\p"
+ .string "Which game should I describe?$"
+
+MossdeepCity_GameCorner_1F_Text_278ACB: @ 8278ACB
+ .string "“POKéMON JUMP”\p"
+ .string "Make your POKéMON skip the VINE WHIP\n"
+ .string "rope with the A Button.\p"
+ .string "Only mini POKéMON around 28 inches\n"
+ .string "or less may participate.\p"
+ .string "POKéMON that only swim, burrow,\n"
+ .string "or fly are not good at jumping.\p"
+ .string "As a result, those POKéMON may not\n"
+ .string "participate.\p"
+ .string "Good things happen if everyone\n"
+ .string "jumps in time.$"
+
+MossdeepCity_GameCorner_1F_Text_278BF1: @ 8278BF1
+ .string "“DODRIO BERRY-PICKING”\p"
+ .string "Command DODRIO’s three heads to\n"
+ .string "catch falling BERRIES.\p"
+ .string "Press right, up, or left on the\n"
+ .string "{0xF9}Ç Control Pad to move the heads.\p"
+ .string "To play this game, you must have\n"
+ .string "a DODRIO.$"
+
+MossdeepCity_GameCorner_1F_Text_278CAC: @ 8278CAC
+ .string "If you want to play a game,\n"
+ .string "please tell the old man beside me.$"
+
+MossdeepCity_GameCorner_1F_Text_278CEB: @ 8278CEB
+ .string "Hi, welcome!\n"
+ .string "Are you here to play games using\l"
+ .string "Wireless Communication?\p"
+ .string "Can you wait just a little bit?$"
+
+MossdeepCity_GameCorner_1F_Text_278D51: @ 8278D51
+ .string "All right, come again!$"
+
+MossdeepCity_GameCorner_1F_Text_278D68: @ 8278D68
+ .string "The Wireless Adapter isn’t connected.\n"
+ .string "Come back when it’s hooked up!$"
+
+MossdeepCity_GameCorner_1F_Text_278DAD: @ 8278DAD
+ .string "All right, which game did you want\n"
+ .string "to play?$"
+
+MossdeepCity_GameCorner_1F_Text_278DD9: @ 8278DD9
+ .string "Which POKéMON would you like to\n"
+ .string "enter?$"
+
+MossdeepCity_GameCorner_1F_Text_278E00: @ 8278E00
+ .string "Okay, you’re all good to go.\n"
+ .string "Don’t let the others beat you!$"
+
+MossdeepCity_GameCorner_1F_Text_278E3C: @ 8278E3C
+ .string "Are you leaving now?\n"
+ .string "Do come again!$"
+
+MossdeepCity_GameCorner_1F_Text_278E60: @ 8278E60
+ .string "It doesn’t look like you have any\n"
+ .string "POKéMON that you can enter…\p"
+ .string "Would you like me to explain what\n"
+ .string "kinds of POKéMON can enter?$"
+
+MossdeepCity_GameCorner_1F_Text_278EDC: @ 8278EDC
+ .string "“POKéMON JUMP” is open to POKéMON\n"
+ .string "around 28 inches or less.\p"
+ .string "What you can’t enter are those\n"
+ .string "POKéMON that can’t jump.\p"
+ .string "You know, like POKéMON that only\n"
+ .string "swim, burrow, or fly.\p"
+ .string "That’s all you need to know.$"
+
+MossdeepCity_GameCorner_1F_Text_278FA4: @ 8278FA4
+ .string "DODRIO BERRY-PICKING is a game that \n"
+ .string "only DODRIO may enter.$"
+
+MossdeepCity_GameCorner_1F_Text_278FE0: @ 8278FE0
+ .string "Could you retry this from the start\n"
+ .string "again, please?$"
+
+OldaleTown_PokemonCenter_2F_Text_279013: @ 8279013
+ .string "Welcome to the POKéMON WIRELESS\n"
+ .string "CLUB DIRECT CORNER.\p"
+ .string "You may interact directly with\n"
+ .string "your friends here.\p"
+ .string "Which room would you like to\n"
+ .string "enter?$"
+
+OldaleTown_PokemonCenter_2F_Text_27909D: @ 827909D
+ .string "Would you like to trade POKéMON?$"
+
+OldaleTown_PokemonCenter_2F_Text_2790BE: @ 82790BE
+ .string "Which Battle Mode would you like\n"
+ .string "to play?$"
+
+OldaleTown_PokemonCenter_2F_Text_2790E8: @ 82790E8
+ .string "Would you like to access\n"
+ .string "the RECORD CORNER?$"
+
+OldaleTown_PokemonCenter_2F_Text_279114: @ 8279114
+ .string "Would you like to use the\n"
+ .string "BERRY CRUSH System?$"
+
+OldaleTown_PokemonCenter_2F_Text_279142: @ 8279142
+ .string "There are three Battle Modes.\p"
+ .string "SINGLE BATTLE is for two TRAINERS\n"
+ .string "with one or more POKéMON each.\p"
+ .string "Each TRAINER can have one POKéMON\n"
+ .string "in battle at a time.\p"
+ .string "DOUBLE BATTLE is for two TRAINERS\n"
+ .string "with two or more POKéMON each.\p"
+ .string "Each TRAINER will send out two\n"
+ .string "POKéMON in battle at a time.\p"
+ .string "MULTI BATTLE is for four TRAINERS\n"
+ .string "with one or more POKéMON each.\p"
+ .string "Each TRAINER can have one POKéMON\n"
+ .string "in battle at a time.$"
+
+BattleFrontier_BattleTowerLobby_Text_2792CD: @ 82792CD
+OldaleTown_PokemonCenter_2F_Text_2792CD: @ 82792CD
+ .string "Please decide which of you two\n"
+ .string "will become the LEADER.\p"
+ .string "The other player must then choose\n"
+ .string "“JOIN GROUP.”$"
+
+OldaleTown_PokemonCenter_2F_Text_279334: @ 8279334
+ .string "Please decide which of you four\n"
+ .string "will become the GROUP LEADER.\p"
+ .string "The other players must then choose\n"
+ .string "“JOIN GROUP.”$"
+
+MossdeepCity_GameCorner_1F_Text_2793A3: @ 82793A3
+OldaleTown_PokemonCenter_2F_Text_2793A3: @ 82793A3
+ .string "Please decide which of you will\n"
+ .string "become the GROUP LEADER.\p"
+ .string "The other players must then choose\n"
+ .string "“JOIN GROUP.”$"
+
+OldaleTown_PokemonCenter_2F_Text_27940D: @ 827940D
+ .string "Welcome to the POKéMON WIRELESS\n"
+ .string "CLUB UNION ROOM.\p"
+ .string "You may interact directly with\n"
+ .string "other TRAINERS here, some of\l"
+ .string "whom you may not even know.\p"
+ .string "Would you like to enter the ROOM?$"
+
+OldaleTown_PokemonCenter_2F_Text_2794B8: @ 82794B8
+ .string "The TRAINERS in the UNION ROOM\n"
+ .string "will be those players around you\l"
+ .string "who have also entered the ROOM.\p"
+ .string "You may do all sorts of things\n"
+ .string "here, such as exchanging greetings.\p"
+ .string "You may enter two POKéMON up to\n"
+ .string "Lv. 30 for a one-on-one battle.\p"
+ .string "You may take part in a chat with\n"
+ .string "two to five people.\p"
+ .string "Or, you may register a POKéMON for\n"
+ .string "trade.\p"
+ .string "Would you like to enter the ROOM?$"
+
+OldaleTown_PokemonCenter_2F_Text_27961C: @ 827961C
+ .string "I hope you enjoy your time in\n"
+ .string "the UNION ROOM.$"
+
+OldaleTown_PokemonCenter_2F_Text_27964A: @ 827964A
+ .string "Hello!\n"
+ .string "My name is TEALA.\p"
+ .string "This must be your first time\n"
+ .string "up here.\p"
+ .string "I’ll show you how the Wireless\n"
+ .string "Communication System works.\p"
+ .string "First, I need to show you this\n"
+ .string "floor of our POKéMON CENTER.\p"
+ .string "Right this way, please.$"
+
+OldaleTown_PokemonCenter_2F_Text_279718: @ 8279718
+ .string "On the top floor, there are two\n"
+ .string "rooms.\p"
+ .string "First, the room on the left.\n"
+ .string "It’s the UNION ROOM.\p"
+ .string "You may link up with TRAINERS\n"
+ .string "around you who have also entered\l"
+ .string "the UNION ROOM.\p"
+ .string "With them, you may do things like\n"
+ .string "chat, battle, and trade.\p"
+ .string "Second, the room on the right is\n"
+ .string "the DIRECT CORNER.\p"
+ .string "You may trade or battle POKéMON\n"
+ .string "with your friends in this room.\p"
+ .string "If the Wireless Adapter isn’t\n"
+ .string "connected, you may still link up\l"
+ .string "using a GBA Game Link cable.\p"
+ .string "If that is the case, you must go\n"
+ .string "to the DIRECT CORNER.\p"
+ .string "I hope you enjoy the Wireless \n"
+ .string "Communication System.$"
+
+OldaleTown_PokemonCenter_2F_Text_279937: @ 8279937
+ .string "Hello, {PLAYER}!\p"
+ .string "It’s me, TEALA, the POKéMON\n"
+ .string "CENTER 2F attendant.\p"
+ .string "Is there something you needed to\n"
+ .string "ask me about linking?$"
+
+OldaleTown_PokemonCenter_2F_Text_2799AA: @ 82799AA
+ .string "Let me explain how the POKéMON\n"
+ .string "WIRELESS CLUB works.\p"
+ .string "On this, the top floor, there are\n"
+ .string "two rooms.\p"
+ .string "First, the room on the left.\n"
+ .string "It’s the UNION ROOM.\p"
+ .string "You may link up with TRAINERS\n"
+ .string "around you who have also entered\l"
+ .string "the UNION ROOM.\p"
+ .string "With them, you may do things like\n"
+ .string "chat, battle, and trade.\p"
+ .string "Second, the room on the right is\n"
+ .string "the DIRECT CORNER.\p"
+ .string "You may trade or battle POKéMON\n"
+ .string "with your friends in this room.\p"
+ .string "Sometimes, you may not be able to\n"
+ .string "find your friends in the UNION ROOM\l"
+ .string "or the DIRECT CORNER.\p"
+ .string "In that case, please move closer\n"
+ .string "to your friends.\p"
+ .string "If the Wireless Adapter isn’t\n"
+ .string "connected, you may still link up\l"
+ .string "using a GBA Game Link cable.\p"
+ .string "If that is the case, you must go\n"
+ .string "to the DIRECT CORNER.\p"
+ .string "I hope you enjoy the Wireless \n"
+ .string "Communication System.$"
+
+OldaleTown_PokemonCenter_2F_Text_279C91: @ 8279C91
+ .string "I hope you enjoy the Wireless\n"
+ .string "Communication System.$"
diff --git a/data/scripts/contest_hall.inc b/data/scripts/contest_hall.inc
new file mode 100644
index 000000000..ad828d7e0
--- /dev/null
+++ b/data/scripts/contest_hall.inc
@@ -0,0 +1,1871 @@
+LilycoveCity_ContestLobby_EventScript_279CC5:: @ 8279CC5
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x408A, 0
+ goto_if 5, LilycoveCity_ContestLobby_EventScript_279D13
+ checkflag FLAG_0x05F
+ call_if 1, LilycoveCity_ContestLobby_EventScript_279CEA
+ checkflag FLAG_0x05F
+ call_if 0, LilycoveCity_ContestLobby_EventScript_279CF3
+ goto LilycoveCity_ContestLobby_EventScript_279D5A
+ end
+
+LilycoveCity_ContestLobby_EventScript_279CEA:: @ 8279CEA
+ msgbox LilycoveCity_ContestLobby_Text_27AEA8, 4
+ return
+
+LilycoveCity_ContestLobby_EventScript_279CF3:: @ 8279CF3
+ msgbox LilycoveCity_ContestLobby_Text_27ADA7, 4
+ giveitem_std ITEM_POKEBLOCK_CASE
+ setflag FLAG_0x05F
+ msgbox LilycoveCity_ContestLobby_Text_27AE47, 4
+ return
+
+LilycoveCity_ContestLobby_EventScript_279D13:: @ 8279D13
+ msgbox LilycoveCity_ContestLobby_Text_27B67B, 4
+ switch VAR_0x408A
+ case 4, LilycoveCity_ContestLobby_EventScript_279D2C
+ end
+
+LilycoveCity_ContestLobby_EventScript_279D2C:: @ 8279D2C
+ giveitem_std ITEM_LUXURY_BALL
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_279D4B
+ setvar VAR_0x408A, 0
+ closemessage
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_279D4B:: @ 8279D4B
+ call LilycoveCity_ContestLobby_EventScript_27205E
+ msgbox LilycoveCity_ContestLobby_Text_27B6E7, 4
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_279D5A:: @ 8279D5A
+ message LilycoveCity_ContestLobby_Text_27AF28
+ waitmessage
+ multichoice 0, 0, 2, 0
+ switch VAR_RESULT
+ case 0, LilycoveCity_ContestLobby_EventScript_279E62
+ case 1, LilycoveCity_ContestLobby_EventScript_279D97
+ case 2, LilycoveCity_ContestLobby_EventScript_279E09
+ case 127, LilycoveCity_ContestLobby_EventScript_279E09
+ end
+
+LilycoveCity_ContestLobby_EventScript_279D97:: @ 8279D97
+ message LilycoveCity_ContestLobby_Text_27AF5E
+ waitmessage
+ multichoice 0, 0, 3, 0
+ switch VAR_RESULT
+ case 0, LilycoveCity_ContestLobby_EventScript_279DDF
+ case 1, LilycoveCity_ContestLobby_EventScript_279DED
+ case 2, LilycoveCity_ContestLobby_EventScript_279DFB
+ case 3, LilycoveCity_ContestLobby_EventScript_279D5A
+ case 127, LilycoveCity_ContestLobby_EventScript_279D5A
+ end
+
+LilycoveCity_ContestLobby_EventScript_279DDF:: @ 8279DDF
+ msgbox LilycoveCity_ContestLobby_Text_27AF7A, 4
+ goto LilycoveCity_ContestLobby_EventScript_279D97
+ end
+
+LilycoveCity_ContestLobby_EventScript_279DED:: @ 8279DED
+ msgbox LilycoveCity_ContestLobby_Text_27B17D, 4
+ goto LilycoveCity_ContestLobby_EventScript_279D97
+ end
+
+LilycoveCity_ContestLobby_EventScript_279DFB:: @ 8279DFB
+ msgbox LilycoveCity_ContestLobby_Text_27B221, 4
+ goto LilycoveCity_ContestLobby_EventScript_279D97
+ end
+
+LilycoveCity_ContestLobby_EventScript_279E09:: @ 8279E09
+ msgbox LilycoveCity_ContestLobby_Text_27BD4F, 4
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_279E13:: @ 8279E13
+ msgbox LilycoveCity_ContestLobby_Text_27B44A, 4
+ choosecontestpkmn
+ compare_var_to_value VAR_0x8004, 255
+ goto_eq LilycoveCity_ContestLobby_EventScript_279E09
+ special sub_80F7F30
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_279F12
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_279F87
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq LilycoveCity_ContestLobby_EventScript_279F45
+ compare_var_to_value VAR_RESULT, 3
+ goto_eq LilycoveCity_ContestLobby_EventScript_279F69
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq LilycoveCity_ContestLobby_EventScript_279F78
+ end
+
+LilycoveCity_ContestLobby_EventScript_279E62:: @ 8279E62
+ message LilycoveCity_ContestLobby_Text_27B3FF
+ waitmessage
+ multichoice 0, 0, 82, 0
+ switch VAR_RESULT
+ case 0, LilycoveCity_ContestLobby_EventScript_279EB5
+ case 1, LilycoveCity_ContestLobby_EventScript_279EC0
+ case 2, LilycoveCity_ContestLobby_EventScript_279ECB
+ case 3, LilycoveCity_ContestLobby_EventScript_279ED6
+ case 4, LilycoveCity_ContestLobby_EventScript_279E09
+ case 127, LilycoveCity_ContestLobby_EventScript_279E09
+ end
+
+LilycoveCity_ContestLobby_EventScript_279EB5:: @ 8279EB5
+ setvar VAR_CONTEST_RANK, 0
+ goto LilycoveCity_ContestLobby_EventScript_279EE1
+ end
+
+LilycoveCity_ContestLobby_EventScript_279EC0:: @ 8279EC0
+ setvar VAR_CONTEST_RANK, 1
+ goto LilycoveCity_ContestLobby_EventScript_279EE1
+ end
+
+LilycoveCity_ContestLobby_EventScript_279ECB:: @ 8279ECB
+ setvar VAR_CONTEST_RANK, 2
+ goto LilycoveCity_ContestLobby_EventScript_279EE1
+ end
+
+LilycoveCity_ContestLobby_EventScript_279ED6:: @ 8279ED6
+ setvar VAR_CONTEST_RANK, 3
+ goto LilycoveCity_ContestLobby_EventScript_279EE1
+ end
+
+LilycoveCity_ContestLobby_EventScript_279EE1:: @ 8279EE1
+ message LilycoveCity_ContestLobby_Text_27B423
+ waitmessage
+ multichoice 0, 0, 4, 0
+ switch VAR_RESULT
+ case 5, LilycoveCity_ContestLobby_EventScript_279E09
+ case 127, LilycoveCity_ContestLobby_EventScript_279E09
+ copyvar VAR_CONTEST_CATEGORY, VAR_RESULT
+ goto LilycoveCity_ContestLobby_EventScript_279E13
+ end
+
+LilycoveCity_ContestLobby_EventScript_279F12:: @ 8279F12
+ msgbox LilycoveCity_ContestLobby_Text_27B471, 4
+ goto LilycoveCity_ContestLobby_EventScript_279E13
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_279F21:: @ 8279F21
+ msgbox LilycoveCity_ContestLobby_Text_27B5C4, 5
+ switch VAR_RESULT
+ case 0, LilycoveCity_ContestLobby_EventScript_279E13
+ case 1, LilycoveCity_ContestLobby_EventScript_279F87
+ end
+
+LilycoveCity_ContestLobby_EventScript_279F45:: @ 8279F45
+ msgbox LilycoveCity_ContestLobby_Text_27B547, 5
+ switch VAR_RESULT
+ case 0, LilycoveCity_ContestLobby_EventScript_279E13
+ case 1, LilycoveCity_ContestLobby_EventScript_279F87
+ end
+
+LilycoveCity_ContestLobby_EventScript_279F69:: @ 8279F69
+ msgbox LilycoveCity_ContestLobby_Text_27B4C4, 4
+ goto LilycoveCity_ContestLobby_EventScript_279E13
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_279F78:: @ 8279F78
+ msgbox LilycoveCity_ContestLobby_Text_27B501, 4
+ goto LilycoveCity_ContestLobby_EventScript_279E13
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_279F87:: @ 8279F87
+ msgbox LilycoveCity_ContestLobby_Text_27B5E2, 4
+ closemessage
+ releaseall
+ setvar VAR_0x4086, 1
+ return
+
+LinkContestRoom1_EventScript_279F97:: @ 8279F97
+ special sub_80F90DC
+ setvar VAR_0x8006, 0
+ lockall
+ applymovement 14, LinkContestRoom1_Movement_27AD43
+ waitmovement 0
+ applymovement 1, LinkContestRoom1_Movement_27AD09
+ waitmovement 0
+ releaseall
+ call LinkContestRoom1_EventScript_27A133
+ call LinkContestRoom1_EventScript_279FF2
+ call LinkContestRoom1_EventScript_27A03C
+ call LinkContestRoom1_EventScript_27A097
+ call LinkContestRoom1_EventScript_27A0F5
+ call LinkContestRoom1_EventScript_27A801
+ call LinkContestRoom1_EventScript_27A8A5
+ call LinkContestRoom1_EventScript_27A987
+ call LinkContestRoom1_EventScript_27A9D4
+ call LinkContestRoom1_EventScript_27AA1B
+ call LinkContestRoom1_EventScript_27AB36
+ setvar VAR_0x4086, 2
+ return
+
+LinkContestRoom1_EventScript_279FF2:: @ 8279FF2
+ switch VAR_CONTEST_RANK
+ case 0, LinkContestRoom1_EventScript_27A024
+ case 1, LinkContestRoom1_EventScript_27A02A
+ case 2, LinkContestRoom1_EventScript_27A030
+ case 3, LinkContestRoom1_EventScript_27A036
+ return
+
+LinkContestRoom1_EventScript_27A024:: @ 827A024
+ setvar VAR_0x8009, 5
+ return
+
+LinkContestRoom1_EventScript_27A02A:: @ 827A02A
+ setvar VAR_0x8009, 6
+ return
+
+LinkContestRoom1_EventScript_27A030:: @ 827A030
+ setvar VAR_0x8009, 7
+ return
+
+LinkContestRoom1_EventScript_27A036:: @ 827A036
+ setvar VAR_0x8009, 8
+ return
+
+LinkContestRoom1_EventScript_27A03C:: @ 827A03C
+ switch VAR_CONTEST_CATEGORY
+ case 0, LinkContestRoom1_EventScript_27A079
+ case 1, LinkContestRoom1_EventScript_27A07F
+ case 2, LinkContestRoom1_EventScript_27A085
+ case 3, LinkContestRoom1_EventScript_27A08B
+ case 4, LinkContestRoom1_EventScript_27A091
+ return
+
+LinkContestRoom1_EventScript_27A079:: @ 827A079
+ setvar VAR_0x8008, 0
+ return
+
+LinkContestRoom1_EventScript_27A07F:: @ 827A07F
+ setvar VAR_0x8008, 1
+ return
+
+LinkContestRoom1_EventScript_27A085:: @ 827A085
+ setvar VAR_0x8008, 2
+ return
+
+LinkContestRoom1_EventScript_27A08B:: @ 827A08B
+ setvar VAR_0x8008, 3
+ return
+
+LinkContestRoom1_EventScript_27A091:: @ 827A091
+ setvar VAR_0x8008, 4
+ return
+
+LinkContestRoom1_EventScript_27A097:: @ 827A097
+ buffercontesttypestring 1, 32776
+ bufferstdstring 2, VAR_0x8009
+ call LinkContestRoom1_EventScript_27A0B1
+ lockall
+ applymovement 1, LinkContestRoom1_Movement_27AD0B
+ waitmovement 0
+ releaseall
+ return
+
+LinkContestRoom1_EventScript_27A0B1:: @ 827A0B1
+ compare_var_to_value VAR_0x4088, 5
+ goto_eq LinkContestRoom1_EventScript_27A0C7
+ lockall
+ msgbox LinkContestRoom1_Text_27B711, 4
+ releaseall
+ return
+
+LinkContestRoom1_EventScript_27A0C7:: @ 827A0C7
+ specialvar VAR_RESULT, sub_80F9160
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LinkContestRoom1_EventScript_27A0DE
+ messageautoscroll LinkContestRoom1_Text_27B78F
+ waitmessage
+ return
+
+LinkContestRoom1_EventScript_27A0DE:: @ 827A0DE
+ messageautoscroll LinkContestRoom1_Text_27C929
+ waitmessage
+ call LinkContestRoom1_EventScript_27A133
+ messageautoscroll LinkContestRoom1_Text_27C972
+ waitmessage
+ call LinkContestRoom1_EventScript_27A133
+ return
+
+LinkContestRoom1_EventScript_27A0F5:: @ 827A0F5
+ call LinkContestRoom1_EventScript_27A149
+ call LinkContestRoom1_EventScript_27A1D2
+ call LinkContestRoom1_EventScript_27A34F
+ call LinkContestRoom1_EventScript_27A2D5
+ call LinkContestRoom1_EventScript_27A77A
+ call LinkContestRoom1_EventScript_27A133
+ call LinkContestRoom1_EventScript_27A133
+ addvar VAR_0x8006, 1
+ compare_var_to_value VAR_0x8006, 4
+ goto_if 5, LinkContestRoom1_EventScript_27A0F5
+ call LinkContestRoom1_EventScript_27A230
+ setvar VAR_0x4001, 6
+ return
+
+LinkContestRoom1_EventScript_27A133:: @ 827A133
+ specialvar VAR_RESULT, sub_80F9160
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LinkContestRoom1_EventScript_27A144
+ return
+
+LinkContestRoom1_EventScript_27A144:: @ 827A144
+ special sub_80F905C
+ waitstate
+ return
+
+LinkContestRoom1_EventScript_27A149:: @ 827A149
+ compare_var_to_value VAR_0x8006, 0
+ goto_eq LinkContestRoom1_EventScript_27A176
+ compare_var_to_value VAR_0x8006, 1
+ goto_eq LinkContestRoom1_EventScript_27A18D
+ compare_var_to_value VAR_0x8006, 2
+ goto_eq LinkContestRoom1_EventScript_27A1A4
+ compare_var_to_value VAR_0x8006, 3
+ goto_eq LinkContestRoom1_EventScript_27A1BB
+ return
+
+LinkContestRoom1_EventScript_27A176:: @ 827A176
+ call LinkContestRoom1_EventScript_27A133
+ lockall
+ applymovement 3, LinkContestRoom1_Movement_27AD52
+ waitmovement 0
+ releaseall
+ setvar VAR_0x800B, 3
+ return
+
+LinkContestRoom1_EventScript_27A18D:: @ 827A18D
+ call LinkContestRoom1_EventScript_27A133
+ lockall
+ applymovement 4, LinkContestRoom1_Movement_27AD5E
+ waitmovement 0
+ releaseall
+ setvar VAR_0x800B, 4
+ return
+
+LinkContestRoom1_EventScript_27A1A4:: @ 827A1A4
+ call LinkContestRoom1_EventScript_27A133
+ lockall
+ applymovement 5, LinkContestRoom1_Movement_27AD66
+ waitmovement 0
+ releaseall
+ setvar VAR_0x800B, 5
+ return
+
+LinkContestRoom1_EventScript_27A1BB:: @ 827A1BB
+ call LinkContestRoom1_EventScript_27A133
+ lockall
+ applymovement 14, LinkContestRoom1_Movement_27AD6E
+ waitmovement 0
+ releaseall
+ setvar VAR_0x800B, 14
+ return
+
+LinkContestRoom1_EventScript_27A1D2:: @ 827A1D2
+ special sub_80F8850
+ addvar VAR_0x8006, 1
+ buffernumberstring 1, VAR_0x8006
+ lockall
+ applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD20
+ waitmovement 0
+ releaseall
+ call LinkContestRoom1_EventScript_27A133
+ call LinkContestRoom1_EventScript_27AD80
+ addobject 13
+ playse SE_DANSA
+ lockall
+ applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD20
+ waitmovement 0
+ releaseall
+ addvar VAR_0x8006, 65535
+ playse SE_BOWA2
+ special sub_80F8D28
+ call LinkContestRoom1_EventScript_27A217
+ return
+
+LinkContestRoom1_EventScript_27A217:: @ 827A217
+ compare_var_to_value VAR_0x4088, 5
+ goto_eq LinkContestRoom1_EventScript_27A229
+ message LinkContestRoom1_Text_27B815
+ waitmessage
+ return
+
+LinkContestRoom1_EventScript_27A229:: @ 827A229
+ messageautoscroll LinkContestRoom1_Text_27B815
+ waitmessage
+ return
+
+LinkContestRoom1_EventScript_27A230:: @ 827A230
+ call LinkContestRoom1_EventScript_27A26C
+ call LinkContestRoom1_EventScript_27A2B9
+ playse SE_W227B
+ waitmessage
+ call LinkContestRoom1_EventScript_27AA1B
+ applymovement 1, LinkContestRoom1_Movement_27AD23
+ waitmovement 0
+ applymovement 2, LinkContestRoom1_Movement_27AD25
+ waitmovement 0
+ delay 20
+ applymovement 1, LinkContestRoom1_Movement_27AD13
+ applymovement 2, LinkContestRoom1_Movement_27AD13
+ waitmovement 0
+ return
+
+LinkContestRoom1_EventScript_27A26C:: @ 827A26C
+ compare_var_to_value VAR_0x4088, 5
+ goto_eq LinkContestRoom1_EventScript_27A280
+ msgbox LinkContestRoom1_Text_27B830, 4
+ return
+
+LinkContestRoom1_EventScript_27A280:: @ 827A280
+ specialvar VAR_RESULT, sub_80F9160
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LinkContestRoom1_EventScript_27A297
+ messageautoscroll LinkContestRoom1_Text_27B830
+ waitmessage
+ return
+
+LinkContestRoom1_EventScript_27A297:: @ 827A297
+ messageautoscroll LinkContestRoom1_Text_27C9AF
+ waitmessage
+ call LinkContestRoom1_EventScript_27A133
+ messageautoscroll LinkContestRoom1_Text_27CA04
+ waitmessage
+ call LinkContestRoom1_EventScript_27A133
+ messageautoscroll LinkContestRoom1_Text_27CA42
+ waitmessage
+ call LinkContestRoom1_EventScript_27A133
+ return
+
+LinkContestRoom1_EventScript_27A2B9:: @ 827A2B9
+ compare_var_to_value VAR_0x4088, 5
+ goto_eq LinkContestRoom1_EventScript_27A2CA
+ message LinkContestRoom1_Text_27B8F2
+ return
+
+LinkContestRoom1_EventScript_27A2CA:: @ 827A2CA
+ messageautoscroll LinkContestRoom1_Text_27B8F2
+ call LinkContestRoom1_EventScript_27A133
+ return
+
+LinkContestRoom1_EventScript_27A2D5:: @ 827A2D5
+ call LinkContestRoom1_EventScript_27A133
+ applymovement 1, LinkContestRoom1_Movement_27AD33
+ waitmovement 0
+ playse SE_W227B
+ call LinkContestRoom1_EventScript_27AA6F
+ applymovement 9, LinkContestRoom1_Movement_27AD3B
+ applymovement 12, LinkContestRoom1_Movement_27AD3F
+ applymovement 7, LinkContestRoom1_Movement_27AD3B
+ waitmovement 0
+ applymovement 1, LinkContestRoom1_Movement_27AD3B
+ waitmovement 0
+ applymovement 10, LinkContestRoom1_Movement_27AD33
+ applymovement 11, LinkContestRoom1_Movement_27AD3F
+ applymovement 6, LinkContestRoom1_Movement_27AD37
+ applymovement 8, LinkContestRoom1_Movement_27AD33
+ waitmovement 0
+ applymovement 1, LinkContestRoom1_Movement_27AD45
+ waitmovement 0
+ applymovement 1, LinkContestRoom1_Movement_27AD4E
+ applymovement 2, LinkContestRoom1_Movement_27AD49
+ waitmovement 0
+ releaseall
+ call LinkContestRoom1_EventScript_27A133
+ return
+
+LinkContestRoom1_EventScript_27A34F:: @ 827A34F
+ special sub_80F82FC
+ compare_var_to_value VAR_0x4088, 1
+ call_if 1, LinkContestRoom1_EventScript_27A454
+ compare_var_to_value VAR_0x4088, 2
+ call_if 1, LinkContestRoom1_EventScript_27A4B2
+ compare_var_to_value VAR_0x4088, 3
+ call_if 1, LinkContestRoom1_EventScript_27A510
+ compare_var_to_value VAR_0x4088, 4
+ call_if 1, LinkContestRoom1_EventScript_27A56E
+ compare_var_to_value VAR_0x4088, 5
+ call_if 1, LinkContestRoom1_EventScript_27A5CC
+ setvar VAR_0x4001, 9
+ setvar VAR_0x4002, 9
+ setvar VAR_0x4003, 9
+ setvar VAR_0x4004, 9
+ setvar VAR_0x4005, 9
+ setvar VAR_0x4006, 9
+ setvar VAR_0x4007, 9
+ setvar VAR_0x4008, 9
+ compare_var_to_value VAR_0x4000, 0
+ call_if 2, LinkContestRoom1_EventScript_27A3E5
+ setvar VAR_0x4001, 0
+ setvar VAR_0x4002, 0
+ setvar VAR_0x4003, 0
+ setvar VAR_0x4004, 0
+ setvar VAR_0x4005, 0
+ setvar VAR_0x4006, 0
+ setvar VAR_0x4007, 0
+ setvar VAR_0x4008, 0
+ return
+
+LinkContestRoom1_EventScript_27A3E5:: @ 827A3E5
+ setvar VAR_RESULT, 8
+ special sub_80F8FE8
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LinkContestRoom1_EventScript_27A65A
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LinkContestRoom1_EventScript_27A67E
+ compare_var_to_value VAR_RESULT, 2
+ call_if 1, LinkContestRoom1_EventScript_27A6A2
+ compare_var_to_value VAR_RESULT, 3
+ call_if 1, LinkContestRoom1_EventScript_27A6C6
+ compare_var_to_value VAR_RESULT, 4
+ call_if 1, LinkContestRoom1_EventScript_27A6EA
+ compare_var_to_value VAR_RESULT, 5
+ call_if 1, LinkContestRoom1_EventScript_27A70E
+ compare_var_to_value VAR_RESULT, 6
+ call_if 1, LinkContestRoom1_EventScript_27A732
+ compare_var_to_value VAR_RESULT, 7
+ call_if 1, LinkContestRoom1_EventScript_27A756
+ compare_var_to_value VAR_0x4000, 0
+ goto_if 2, LinkContestRoom1_EventScript_27A3E5
+ waitmovement 0
+ return
+
+LinkContestRoom1_EventScript_27A454:: @ 827A454
+ compare_var_to_value VAR_0x8004, 80
+ goto_if 2, LinkContestRoom1_EventScript_27A654
+ compare_var_to_value VAR_0x8004, 70
+ goto_if 2, LinkContestRoom1_EventScript_27A64E
+ compare_var_to_value VAR_0x8004, 60
+ goto_if 2, LinkContestRoom1_EventScript_27A648
+ compare_var_to_value VAR_0x8004, 50
+ goto_if 2, LinkContestRoom1_EventScript_27A642
+ compare_var_to_value VAR_0x8004, 40
+ goto_if 2, LinkContestRoom1_EventScript_27A63C
+ compare_var_to_value VAR_0x8004, 30
+ goto_if 2, LinkContestRoom1_EventScript_27A636
+ compare_var_to_value VAR_0x8004, 20
+ goto_if 2, LinkContestRoom1_EventScript_27A630
+ compare_var_to_value VAR_0x8004, 10
+ goto_if 2, LinkContestRoom1_EventScript_27A62A
+ setvar VAR_0x4000, 0
+ return
+
+LinkContestRoom1_EventScript_27A4B2:: @ 827A4B2
+ compare_var_to_value VAR_0x8004, 230
+ goto_if 2, LinkContestRoom1_EventScript_27A654
+ compare_var_to_value VAR_0x8004, 210
+ goto_if 2, LinkContestRoom1_EventScript_27A64E
+ compare_var_to_value VAR_0x8004, 190
+ goto_if 2, LinkContestRoom1_EventScript_27A648
+ compare_var_to_value VAR_0x8004, 170
+ goto_if 2, LinkContestRoom1_EventScript_27A642
+ compare_var_to_value VAR_0x8004, 150
+ goto_if 2, LinkContestRoom1_EventScript_27A63C
+ compare_var_to_value VAR_0x8004, 130
+ goto_if 2, LinkContestRoom1_EventScript_27A636
+ compare_var_to_value VAR_0x8004, 110
+ goto_if 2, LinkContestRoom1_EventScript_27A630
+ compare_var_to_value VAR_0x8004, 90
+ goto_if 2, LinkContestRoom1_EventScript_27A62A
+ setvar VAR_0x4000, 0
+ return
+
+LinkContestRoom1_EventScript_27A510:: @ 827A510
+ compare_var_to_value VAR_0x8004, 380
+ goto_if 2, LinkContestRoom1_EventScript_27A654
+ compare_var_to_value VAR_0x8004, 350
+ goto_if 2, LinkContestRoom1_EventScript_27A64E
+ compare_var_to_value VAR_0x8004, 320
+ goto_if 2, LinkContestRoom1_EventScript_27A648
+ compare_var_to_value VAR_0x8004, 290
+ goto_if 2, LinkContestRoom1_EventScript_27A642
+ compare_var_to_value VAR_0x8004, 260
+ goto_if 2, LinkContestRoom1_EventScript_27A63C
+ compare_var_to_value VAR_0x8004, 230
+ goto_if 2, LinkContestRoom1_EventScript_27A636
+ compare_var_to_value VAR_0x8004, 200
+ goto_if 2, LinkContestRoom1_EventScript_27A630
+ compare_var_to_value VAR_0x8004, 170
+ goto_if 2, LinkContestRoom1_EventScript_27A62A
+ setvar VAR_0x4000, 0
+ return
+
+LinkContestRoom1_EventScript_27A56E:: @ 827A56E
+ compare_var_to_value VAR_0x8004, 600
+ goto_if 2, LinkContestRoom1_EventScript_27A654
+ compare_var_to_value VAR_0x8004, 560
+ goto_if 2, LinkContestRoom1_EventScript_27A64E
+ compare_var_to_value VAR_0x8004, 520
+ goto_if 2, LinkContestRoom1_EventScript_27A648
+ compare_var_to_value VAR_0x8004, 480
+ goto_if 2, LinkContestRoom1_EventScript_27A642
+ compare_var_to_value VAR_0x8004, 440
+ goto_if 2, LinkContestRoom1_EventScript_27A63C
+ compare_var_to_value VAR_0x8004, 400
+ goto_if 2, LinkContestRoom1_EventScript_27A636
+ compare_var_to_value VAR_0x8004, 360
+ goto_if 2, LinkContestRoom1_EventScript_27A630
+ compare_var_to_value VAR_0x8004, 320
+ goto_if 2, LinkContestRoom1_EventScript_27A62A
+ setvar VAR_0x4000, 0
+ return
+
+LinkContestRoom1_EventScript_27A5CC:: @ 827A5CC
+ compare_var_to_value VAR_0x8004, 600
+ goto_if 2, LinkContestRoom1_EventScript_27A654
+ compare_var_to_value VAR_0x8004, 550
+ goto_if 2, LinkContestRoom1_EventScript_27A64E
+ compare_var_to_value VAR_0x8004, 500
+ goto_if 2, LinkContestRoom1_EventScript_27A648
+ compare_var_to_value VAR_0x8004, 450
+ goto_if 2, LinkContestRoom1_EventScript_27A642
+ compare_var_to_value VAR_0x8004, 400
+ goto_if 2, LinkContestRoom1_EventScript_27A63C
+ compare_var_to_value VAR_0x8004, 300
+ goto_if 2, LinkContestRoom1_EventScript_27A636
+ compare_var_to_value VAR_0x8004, 200
+ goto_if 2, LinkContestRoom1_EventScript_27A630
+ compare_var_to_value VAR_0x8004, 100
+ goto_if 2, LinkContestRoom1_EventScript_27A62A
+ setvar VAR_0x4000, 0
+ return
+
+LinkContestRoom1_EventScript_27A62A:: @ 827A62A
+ setvar VAR_0x4000, 1
+ return
+
+LinkContestRoom1_EventScript_27A630:: @ 827A630
+ setvar VAR_0x4000, 2
+ return
+
+LinkContestRoom1_EventScript_27A636:: @ 827A636
+ setvar VAR_0x4000, 3
+ return
+
+LinkContestRoom1_EventScript_27A63C:: @ 827A63C
+ setvar VAR_0x4000, 4
+ return
+
+LinkContestRoom1_EventScript_27A642:: @ 827A642
+ setvar VAR_0x4000, 5
+ return
+
+LinkContestRoom1_EventScript_27A648:: @ 827A648
+ setvar VAR_0x4000, 6
+ return
+
+LinkContestRoom1_EventScript_27A64E:: @ 827A64E
+ setvar VAR_0x4000, 7
+ return
+
+LinkContestRoom1_EventScript_27A654:: @ 827A654
+ setvar VAR_0x4000, 8
+ return
+
+LinkContestRoom1_EventScript_27A65A:: @ 827A65A
+ compare_var_to_value VAR_0x4001, 1
+ goto_eq LinkContestRoom1_EventScript_27A67D
+ applymovement 6, LinkContestRoom1_Movement_27AD11
+ playse SE_PIN
+ delay 14
+ setvar VAR_0x4001, 1
+ addvar VAR_0x4000, 65535
+ return
+
+LinkContestRoom1_EventScript_27A67D:: @ 827A67D
+ return
+
+LinkContestRoom1_EventScript_27A67E:: @ 827A67E
+ compare_var_to_value VAR_0x4002, 1
+ goto_eq LinkContestRoom1_EventScript_27A6A1
+ applymovement 12, LinkContestRoom1_Movement_27AD11
+ playse SE_PIN
+ delay 14
+ setvar VAR_0x4002, 1
+ addvar VAR_0x4000, 65535
+ return
+
+LinkContestRoom1_EventScript_27A6A1:: @ 827A6A1
+ return
+
+LinkContestRoom1_EventScript_27A6A2:: @ 827A6A2
+ compare_var_to_value VAR_0x4003, 1
+ goto_eq LinkContestRoom1_EventScript_27A6C5
+ applymovement 7, LinkContestRoom1_Movement_27AD11
+ playse SE_PIN
+ delay 14
+ setvar VAR_0x4003, 1
+ addvar VAR_0x4000, 65535
+ return
+
+LinkContestRoom1_EventScript_27A6C5:: @ 827A6C5
+ return
+
+LinkContestRoom1_EventScript_27A6C6:: @ 827A6C6
+ compare_var_to_value VAR_0x4004, 1
+ goto_eq LinkContestRoom1_EventScript_27A6E9
+ applymovement 8, LinkContestRoom1_Movement_27AD11
+ playse SE_PIN
+ delay 14
+ setvar VAR_0x4004, 1
+ addvar VAR_0x4000, 65535
+ return
+
+LinkContestRoom1_EventScript_27A6E9:: @ 827A6E9
+ return
+
+LinkContestRoom1_EventScript_27A6EA:: @ 827A6EA
+ compare_var_to_value VAR_0x4005, 1
+ goto_eq LinkContestRoom1_EventScript_27A70D
+ applymovement 9, LinkContestRoom1_Movement_27AD11
+ playse SE_PIN
+ delay 14
+ setvar VAR_0x4005, 1
+ addvar VAR_0x4000, 65535
+ return
+
+LinkContestRoom1_EventScript_27A70D:: @ 827A70D
+ return
+
+LinkContestRoom1_EventScript_27A70E:: @ 827A70E
+ compare_var_to_value VAR_0x4006, 1
+ goto_eq LinkContestRoom1_EventScript_27A731
+ applymovement 10, LinkContestRoom1_Movement_27AD11
+ playse SE_PIN
+ delay 14
+ setvar VAR_0x4006, 1
+ addvar VAR_0x4000, 65535
+ return
+
+LinkContestRoom1_EventScript_27A731:: @ 827A731
+ return
+
+LinkContestRoom1_EventScript_27A732:: @ 827A732
+ compare_var_to_value VAR_0x4007, 1
+ goto_eq LinkContestRoom1_EventScript_27A755
+ applymovement 11, LinkContestRoom1_Movement_27AD11
+ playse SE_PIN
+ delay 14
+ setvar VAR_0x4007, 1
+ addvar VAR_0x4000, 65535
+ return
+
+LinkContestRoom1_EventScript_27A755:: @ 827A755
+ return
+
+LinkContestRoom1_EventScript_27A756:: @ 827A756
+ compare_var_to_value VAR_0x4008, 1
+ goto_eq LinkContestRoom1_EventScript_27A779
+ applymovement 15, LinkContestRoom1_Movement_27AD11
+ playse SE_PIN
+ delay 14
+ setvar VAR_0x4008, 1
+ addvar VAR_0x4000, 65535
+ return
+
+LinkContestRoom1_EventScript_27A779:: @ 827A779
+ return
+
+LinkContestRoom1_EventScript_27A77A:: @ 827A77A
+ closemessage
+ release
+ removeobject 13
+ special sub_80F8EB8
+ call LinkContestRoom1_EventScript_27A133
+ switch VAR_0x8006
+ case 0, LinkContestRoom1_EventScript_27A7B9
+ case 1, LinkContestRoom1_EventScript_27A7CB
+ case 2, LinkContestRoom1_EventScript_27A7DD
+ case 3, LinkContestRoom1_EventScript_27A7EF
+ return
+
+LinkContestRoom1_EventScript_27A7B9:: @ 827A7B9
+ call LinkContestRoom1_EventScript_27A133
+ lockall
+ applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD58
+ waitmovement 0
+ releaseall
+ return
+
+LinkContestRoom1_EventScript_27A7CB:: @ 827A7CB
+ call LinkContestRoom1_EventScript_27A133
+ lockall
+ applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD62
+ waitmovement 0
+ releaseall
+ return
+
+LinkContestRoom1_EventScript_27A7DD:: @ 827A7DD
+ call LinkContestRoom1_EventScript_27A133
+ lockall
+ applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD6A
+ waitmovement 0
+ releaseall
+ return
+
+LinkContestRoom1_EventScript_27A7EF:: @ 827A7EF
+ call LinkContestRoom1_EventScript_27A133
+ lockall
+ applymovement VAR_0x800B, LinkContestRoom1_Movement_27AD74
+ waitmovement 0
+ releaseall
+ return
+
+LinkContestRoom1_EventScript_27A801:: @ 827A801
+ lockall
+ applymovement 1, LinkContestRoom1_Movement_27AD27
+ waitmovement 0
+ call LinkContestRoom1_EventScript_27A133
+ call LinkContestRoom1_EventScript_27A853
+ waitmessage
+ applymovement 1, LinkContestRoom1_Movement_27AD15
+ applymovement 2, LinkContestRoom1_Movement_27AD19
+ waitmovement 0
+ releaseall
+ call LinkContestRoom1_EventScript_27A133
+ setvar VAR_0x4009, 1
+ special sub_80F910C
+ startcontest
+ special sub_80F90DC
+ setvar VAR_0x4009, 0
+ lockall
+ applymovement 1, LinkContestRoom1_Movement_27AD19
+ applymovement 2, LinkContestRoom1_Movement_27AD15
+ waitmovement 0
+ releaseall
+ return
+
+LinkContestRoom1_EventScript_27A853:: @ 827A853
+ compare_var_to_value VAR_0x4088, 5
+ goto_eq LinkContestRoom1_EventScript_27A867
+ msgbox LinkContestRoom1_Text_27B904, 4
+ return
+
+LinkContestRoom1_EventScript_27A867:: @ 827A867
+ specialvar VAR_RESULT, sub_80F9160
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LinkContestRoom1_EventScript_27A87E
+ messageautoscroll LinkContestRoom1_Text_27B904
+ waitmessage
+ return
+
+LinkContestRoom1_EventScript_27A87E:: @ 827A87E
+ call LinkContestRoom1_EventScript_27A133
+ messageautoscroll LinkContestRoom1_Text_27CA71
+ waitmessage
+ call LinkContestRoom1_EventScript_27A133
+ messageautoscroll LinkContestRoom1_Text_27CAD0
+ waitmessage
+ call LinkContestRoom1_EventScript_27A133
+ messageautoscroll LinkContestRoom1_Text_27CB55
+ waitmessage
+ call LinkContestRoom1_EventScript_27A133
+ return
+
+LinkContestRoom1_EventScript_27A8A5:: @ 827A8A5
+ call LinkContestRoom1_EventScript_27A133
+ call LinkContestRoom1_EventScript_27A8FB
+ call LinkContestRoom1_EventScript_27A133
+ call LinkContestRoom1_EventScript_27A91E
+ call LinkContestRoom1_EventScript_27A133
+ applymovement 1, LinkContestRoom1_Movement_27AD0F
+ waitmovement 0
+ call LinkContestRoom1_EventScript_27A941
+ call LinkContestRoom1_EventScript_27A133
+ call LinkContestRoom1_EventScript_27A964
+ call LinkContestRoom1_EventScript_27A133
+ applymovement 1, LinkContestRoom1_Movement_27AD13
+ waitmovement 0
+ closemessage
+ releaseall
+ special sub_80F910C
+ setvar VAR_0x4009, 1
+ showcontestresults
+ setvar VAR_0x4009, 0
+ playbgm BGM_CON_FAN, 0
+ return
+
+LinkContestRoom1_EventScript_27A8FB:: @ 827A8FB
+ compare_var_to_value VAR_0x4088, 5
+ goto_eq LinkContestRoom1_EventScript_27A90F
+ msgbox LinkContestRoom1_Text_27BA15, 4
+ return
+
+LinkContestRoom1_EventScript_27A90F:: @ 827A90F
+ call LinkContestRoom1_EventScript_27A133
+ messageautoscroll LinkContestRoom1_Text_27BA15
+ waitmessage
+ delay 30
+ return
+
+LinkContestRoom1_EventScript_27A91E:: @ 827A91E
+ compare_var_to_value VAR_0x4088, 5
+ goto_eq LinkContestRoom1_EventScript_27A932
+ msgbox LinkContestRoom1_Text_27BA30, 4
+ return
+
+LinkContestRoom1_EventScript_27A932:: @ 827A932
+ call LinkContestRoom1_EventScript_27A133
+ messageautoscroll LinkContestRoom1_Text_27BA30
+ waitmessage
+ delay 30
+ return
+
+LinkContestRoom1_EventScript_27A941:: @ 827A941
+ compare_var_to_value VAR_0x4088, 5
+ goto_eq LinkContestRoom1_EventScript_27A955
+ msgbox LinkContestRoom1_Text_27BAAC, 4
+ return
+
+LinkContestRoom1_EventScript_27A955:: @ 827A955
+ call LinkContestRoom1_EventScript_27A133
+ messageautoscroll LinkContestRoom1_Text_27BAAC
+ waitmessage
+ delay 30
+ return
+
+LinkContestRoom1_EventScript_27A964:: @ 827A964
+ compare_var_to_value VAR_0x4088, 5
+ goto_eq LinkContestRoom1_EventScript_27A978
+ msgbox LinkContestRoom1_Text_27BB25, 4
+ return
+
+LinkContestRoom1_EventScript_27A978:: @ 827A978
+ call LinkContestRoom1_EventScript_27A133
+ messageautoscroll LinkContestRoom1_Text_27BB25
+ waitmessage
+ delay 30
+ return
+
+LinkContestRoom1_EventScript_27A987:: @ 827A987
+ special sub_80F831C
+ switch VAR_0x8005
+ case 0, LinkContestRoom1_EventScript_27A9BC
+ case 1, LinkContestRoom1_EventScript_27A9C2
+ case 2, LinkContestRoom1_EventScript_27A9C8
+ case 3, LinkContestRoom1_EventScript_27A9CE
+ return
+
+LinkContestRoom1_EventScript_27A9BC:: @ 827A9BC
+ setvar VAR_0x4003, 3
+ return
+
+LinkContestRoom1_EventScript_27A9C2:: @ 827A9C2
+ setvar VAR_0x4003, 4
+ return
+
+LinkContestRoom1_EventScript_27A9C8:: @ 827A9C8
+ setvar VAR_0x4003, 5
+ return
+
+LinkContestRoom1_EventScript_27A9CE:: @ 827A9CE
+ setvar VAR_0x4003, 14
+ return
+
+LinkContestRoom1_EventScript_27A9D4:: @ 827A9D4
+ special sub_80F834C
+ special sub_80F8390
+ addvar VAR_0x8005, 1
+ buffernumberstring 1, VAR_0x8005
+ addvar VAR_0x8005, 65535
+ call LinkContestRoom1_EventScript_27AA00
+ applymovement VAR_0x4003, LinkContestRoom1_Movement_27AD1D
+ waitmovement 0
+ playse SE_W227B
+ setvar VAR_0x4001, 0
+ return
+
+LinkContestRoom1_EventScript_27AA00:: @ 827AA00
+ compare_var_to_value VAR_0x4088, 5
+ goto_eq LinkContestRoom1_EventScript_27AA14
+ msgbox LinkContestRoom1_Text_27BB4C, 4
+ return
+
+LinkContestRoom1_EventScript_27AA14:: @ 827AA14
+ messageautoscroll LinkContestRoom1_Text_27BB4C
+ waitmessage
+ return
+
+LinkContestRoom1_EventScript_27AA1B:: @ 827AA1B
+ addvar VAR_0x4001, 1
+ lockall
+ compare_var_to_value VAR_0x4088, 1
+ call_if 2, LinkContestRoom1_EventScript_27AA6F
+ applymovement 9, LinkContestRoom1_Movement_27AD3B
+ applymovement 12, LinkContestRoom1_Movement_27AD3F
+ applymovement 7, LinkContestRoom1_Movement_27AD3B
+ delay 30
+ applymovement 10, LinkContestRoom1_Movement_27AD33
+ applymovement 11, LinkContestRoom1_Movement_27AD3F
+ applymovement 6, LinkContestRoom1_Movement_27AD37
+ applymovement 8, LinkContestRoom1_Movement_27AD33
+ compare_var_to_value VAR_0x4001, 4
+ goto_if 5, LinkContestRoom1_EventScript_27AA1B
+ delay 30
+ return
+
+LinkContestRoom1_EventScript_27AA6F:: @ 827AA6F
+ turnvobject 0, 1
+ turnvobject 2, 1
+ turnvobject 4, 4
+ turnvobject 6, 1
+ turnvobject 8, 1
+ turnvobject 10, 1
+ turnvobject 12, 1
+ turnvobject 14, 1
+ turnvobject 16, 1
+ turnvobject 18, 1
+ turnvobject 20, 4
+ turnvobject 22, 4
+ turnvobject 25, 4
+ turnvobject 27, 3
+ turnvobject 28, 4
+ delay 10
+ turnvobject 0, 4
+ turnvobject 2, 4
+ turnvobject 4, 4
+ turnvobject 6, 4
+ turnvobject 8, 4
+ turnvobject 10, 3
+ turnvobject 12, 3
+ turnvobject 14, 3
+ turnvobject 16, 3
+ turnvobject 18, 3
+ turnvobject 20, 1
+ turnvobject 22, 1
+ turnvobject 25, 2
+ turnvobject 27, 2
+ turnvobject 28, 2
+ delay 10
+ turnvobject 1, 2
+ turnvobject 3, 2
+ turnvobject 5, 2
+ turnvobject 7, 2
+ turnvobject 9, 4
+ turnvobject 11, 2
+ turnvobject 15, 2
+ turnvobject 13, 2
+ turnvobject 17, 2
+ turnvobject 19, 2
+ turnvobject 21, 3
+ turnvobject 23, 3
+ turnvobject 24, 3
+ turnvobject 26, 4
+ turnvobject 29, 3
+ turnvobject 30, 3
+ delay 10
+ turnvobject 1, 4
+ turnvobject 3, 4
+ turnvobject 5, 4
+ turnvobject 7, 4
+ turnvobject 9, 4
+ turnvobject 11, 3
+ turnvobject 15, 3
+ turnvobject 13, 3
+ turnvobject 17, 3
+ turnvobject 19, 3
+ turnvobject 21, 1
+ turnvobject 23, 1
+ turnvobject 24, 1
+ turnvobject 26, 2
+ turnvobject 29, 2
+ turnvobject 30, 2
+ delay 10
+ return
+
+LinkContestRoom1_EventScript_27AB36:: @ 827AB36
+ compare_var_to_value VAR_0x4088, 5
+ goto_eq LinkContestRoom1_EventScript_27ABD8
+ call LinkContestRoom1_EventScript_27AB9E
+ checkflag FLAG_0x002
+ goto_eq LinkContestRoom1_EventScript_27AB82
+ lockall
+ msgbox LinkContestRoom1_Text_27BBA8, 4
+ releaseall
+ call LinkContestRoom1_EventScript_27ABF8
+ call LinkContestRoom1_EventScript_27AC5E
+ playse SE_W227B
+ setvar VAR_0x4001, 0
+ call LinkContestRoom1_EventScript_27AA1B
+ delay 30
+ special sub_80F88E8
+ compare_var_to_value VAR_0x8004, 1
+ goto_eq LinkContestRoom1_EventScript_27ABD2
+ return
+
+LinkContestRoom1_EventScript_27AB82:: @ 827AB82
+ lockall
+ msgbox LinkContestRoom1_Text_27BB7A, 4
+ releaseall
+ delay 90
+ special sub_80F88E8
+ compare_var_to_value VAR_0x8004, 1
+ goto_eq LinkContestRoom1_EventScript_27ABD2
+ return
+
+LinkContestRoom1_EventScript_27AB9E:: @ 827AB9E
+ specialvar VAR_RESULT, sub_80F7F7C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LinkContestRoom1_EventScript_27ABAF
+ return
+
+LinkContestRoom1_EventScript_27ABAF:: @ 827ABAF
+ special sub_80F831C
+ compare_var_to_value VAR_0x8005, 3
+ goto_eq LinkContestRoom1_EventScript_27ABBE
+ return
+
+LinkContestRoom1_EventScript_27ABBE:: @ 827ABBE
+ compare_var_to_value VAR_CONTEST_RANK, 3
+ goto_eq LinkContestRoom1_EventScript_27ABCD
+ setflag FLAG_0x002
+ return
+
+LinkContestRoom1_EventScript_27ABCD:: @ 827ABCD
+ return
+
+LinkContestRoom1_EventScript_27ABCE:: @ 827ABCE
+ setflag FLAG_0x10E
+ return
+
+LinkContestRoom1_EventScript_27ABD2:: @ 827ABD2
+ setvar VAR_0x4099, 1
+ return
+
+LinkContestRoom1_EventScript_27ABD8:: @ 827ABD8
+ delay 60
+ special sub_80F84B0
+ special sub_80F831C
+ special sub_80F88E8
+ compare_var_to_value VAR_0x8004, 1
+ goto_eq LinkContestRoom1_EventScript_27ABF1
+ closemessage
+ return
+
+LinkContestRoom1_EventScript_27ABF1:: @ 827ABF1
+ setvar VAR_0x4099, 2
+ return
+
+LinkContestRoom1_EventScript_27ABF7:: @ 827ABF7
+ return
+
+LinkContestRoom1_EventScript_27ABF8:: @ 827ABF8
+ switch VAR_0x8005
+ case 0, LinkContestRoom1_EventScript_27AC2A
+ case 1, LinkContestRoom1_EventScript_27AC37
+ case 2, LinkContestRoom1_EventScript_27AC44
+ case 3, LinkContestRoom1_EventScript_27AC51
+ return
+
+LinkContestRoom1_EventScript_27AC2A:: @ 827AC2A
+ lockall
+ applymovement VAR_0x4003, LinkContestRoom1_Movement_27AD7A
+ waitmovement 0
+ releaseall
+ return
+
+LinkContestRoom1_EventScript_27AC37:: @ 827AC37
+ lockall
+ applymovement VAR_0x4003, LinkContestRoom1_Movement_27AD7E
+ waitmovement 0
+ releaseall
+ return
+
+LinkContestRoom1_EventScript_27AC44:: @ 827AC44
+ lockall
+ applymovement VAR_0x4003, LinkContestRoom1_Movement_27AD29
+ waitmovement 0
+ releaseall
+ return
+
+LinkContestRoom1_EventScript_27AC51:: @ 827AC51
+ lockall
+ applymovement VAR_0x4003, LinkContestRoom1_Movement_27AD2D
+ waitmovement 0
+ releaseall
+ return
+
+LinkContestRoom1_EventScript_27AC5E:: @ 827AC5E
+ special sub_80F831C
+ compare_var_to_value VAR_0x8005, 3
+ goto_eq LinkContestRoom1_EventScript_27AC77
+ lockall
+ msgbox LinkContestRoom1_Text_27BB7A, 4
+ releaseall
+ return
+
+LinkContestRoom1_EventScript_27AC77:: @ 827AC77
+ compare_var_to_value VAR_0x4088, 2
+ call_if 1, LinkContestRoom1_EventScript_27ABCE
+ specialvar VAR_RESULT, sub_80F7F7C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LinkContestRoom1_EventScript_27ACDF
+ compare_var_to_value VAR_CONTEST_RANK, 3
+ goto_eq LinkContestRoom1_EventScript_27ACBD
+ lockall
+ msgbox LinkContestRoom1_Text_27BB7A, 4
+ releaseall
+ return
+
+LinkContestRoom1_EventScript_27ACA8:: @ 827ACA8
+ lockall
+ call LinkContestRoom1_EventScript_27205E
+ msgbox LinkContestRoom1_Text_27BC2F, 4
+ releaseall
+ setvar VAR_0x408A, 4
+ return
+
+LinkContestRoom1_EventScript_27ACBD:: @ 827ACBD
+ giveitem_std ITEM_LUXURY_BALL
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LinkContestRoom1_EventScript_27ACA8
+ lockall
+ msgbox LinkContestRoom1_Text_27BB7A, 4
+ releaseall
+ return
+
+LinkContestRoom1_EventScript_27ACDF:: @ 827ACDF
+ special sub_80F7FFC
+ incrementgamestat 42
+ setflag FLAG_SYS_RIBBON_GET
+ lockall
+ msgbox LinkContestRoom1_Text_27BBD4, 4
+ playfanfare BGM_FANFA4
+ msgbox LinkContestRoom1_Text_27BC00, 4
+ waitfanfare
+ special sub_80F8390
+ msgbox LinkContestRoom1_Text_27BC16, 4
+ releaseall
+ return
+
+LinkContestRoom1_Movement_27AD09: @ 827AD09
+ step_down
+ step_end
+
+LinkContestRoom1_Movement_27AD0B: @ 827AD0B
+ step_40
+ step_up
+ step_41
+ step_end
+
+LinkContestRoom1_Movement_27AD0F: @ 827AD0F
+ step_28
+ step_end
+
+LinkContestRoom1_Movement_27AD11: @ 827AD11
+ step_58
+ step_end
+
+LinkContestRoom1_Movement_27AD13: @ 827AD13
+ step_25
+ step_end
+
+LinkContestRoom1_Movement_27AD15: @ 827AD15
+ step_left
+ step_left
+ step_25
+ step_end
+
+LinkContestRoom1_Movement_27AD19: @ 827AD19
+ step_right
+ step_right
+ step_25
+ step_end
+
+LinkContestRoom1_Movement_27AD1D: @ 827AD1D
+ step_up
+ step_25
+ step_end
+
+LinkContestRoom1_Movement_27AD20: @ 827AD20
+ step_14
+ step_14
+ step_end
+
+LinkContestRoom1_Movement_27AD23: @ 827AD23
+ step_28
+ step_end
+
+LinkContestRoom1_Movement_27AD25: @ 827AD25
+ step_27
+ step_end
+
+LinkContestRoom1_Movement_27AD27: @ 827AD27
+ step_25
+ step_end
+
+LinkContestRoom1_Movement_27AD29: @ 827AD29
+ step_left
+ step_left
+ step_up
+ step_end
+
+LinkContestRoom1_Movement_27AD2D: @ 827AD2D
+ step_left
+ step_left
+ step_left
+ step_left
+ step_up
+ step_end
+
+LinkContestRoom1_Movement_27AD33: @ 827AD33
+ step_02
+ step_14
+ step_4e
+ step_end
+
+LinkContestRoom1_Movement_27AD37: @ 827AD37
+ step_01
+ step_14
+ step_4e
+ step_end
+
+LinkContestRoom1_Movement_27AD3B: @ 827AD3B
+ step_03
+ step_14
+ step_4e
+ step_end
+
+LinkContestRoom1_Movement_27AD3F: @ 827AD3F
+ step_00
+ step_14
+ step_4e
+ step_end
+
+LinkContestRoom1_Movement_27AD43: @ 827AD43
+ step_01
+ step_end
+
+LinkContestRoom1_Movement_27AD45: @ 827AD45
+ step_01
+ step_14
+ step_28
+ step_end
+
+LinkContestRoom1_Movement_27AD49: @ 827AD49
+ step_27
+ step_14
+ step_14
+ step_25
+ step_end
+
+LinkContestRoom1_Movement_27AD4E: @ 827AD4E
+ step_14
+ step_14
+ step_25
+ step_end
+
+LinkContestRoom1_Movement_27AD52: @ 827AD52
+ step_up
+ step_right
+ step_right
+ step_right
+ step_26
+ step_end
+
+LinkContestRoom1_Movement_27AD58: @ 827AD58
+ step_17
+ step_17
+ step_17
+ step_15
+ step_26
+ step_end
+
+LinkContestRoom1_Movement_27AD5E: @ 827AD5E
+ step_up
+ step_right
+ step_26
+ step_end
+
+LinkContestRoom1_Movement_27AD62: @ 827AD62
+ step_17
+ step_15
+ step_26
+ step_end
+
+LinkContestRoom1_Movement_27AD66: @ 827AD66
+ step_up
+ step_left
+ step_26
+ step_end
+
+LinkContestRoom1_Movement_27AD6A: @ 827AD6A
+ step_18
+ step_15
+ step_26
+ step_end
+
+LinkContestRoom1_Movement_27AD6E: @ 827AD6E
+ step_up
+ step_left
+ step_left
+ step_left
+ step_26
+ step_end
+
+LinkContestRoom1_Movement_27AD74: @ 827AD74
+ step_18
+ step_18
+ step_18
+ step_15
+ step_26
+ step_end
+
+LinkContestRoom1_Movement_27AD7A: @ 827AD7A
+ step_right
+ step_right
+ step_up
+ step_end
+
+LinkContestRoom1_Movement_27AD7E: @ 827AD7E
+ step_up
+ step_end
+
+LinkContestRoom1_EventScript_27AD80:: @ 827AD80
+ specialvar VAR_RESULT, sub_80F9134
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LinkContestRoom1_EventScript_27AD91
+ return
+
+LinkContestRoom1_EventScript_27AD91:: @ 827AD91
+ return
+
+LilycoveCity_ContestLobby_EventScript_27AD92:: @ 827AD92
+ specialvar VAR_RESULT, sub_80F9134
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_27ADA3
+ return
+
+LilycoveCity_ContestLobby_EventScript_27ADA3:: @ 827ADA3
+ delay 9
+ return
+
+LilycoveCity_ContestLobby_Text_27ADA7: @ 827ADA7
+ .string "Hello!\p"
+ .string "This is the reception counter for\n"
+ .string "POKéMON CONTESTS.\p"
+ .string "Oh? It appears that you don’t have\n"
+ .string "a {POKEBLOCK} CASE yet.\p"
+ .string "In that case, we need to provide you\n"
+ .string "with this!$"
+
+LilycoveCity_ContestLobby_Text_27AE47: @ 827AE47
+ .string "Okay, now that we’ve cleared that\n"
+ .string "up…\p"
+ .string "Hello!\p"
+ .string "This is the reception counter for\n"
+ .string "POKéMON CONTESTS.$"
+
+LilycoveCity_ContestLobby_Text_27AEA8: @ 827AEA8
+ .string "Hello!\p"
+ .string "This is the reception counter for\n"
+ .string "POKéMON CONTESTS.$"
+
+LilycoveCity_ContestLobby_Text_27AEE3: @ 827AEE3
+ .string "Hello!\p"
+ .string "This reception counter is only\n"
+ .string "for 4-player POKéMON CONTESTS.$"
+
+LilycoveCity_ContestLobby_Text_27AF28: @ 827AF28
+ .string "Would you like to enter your POKéMON\n"
+ .string "in our CONTESTS?$"
+
+LilycoveCity_ContestLobby_Text_27AF5E: @ 827AF5E
+ .string "Which topic would you like?$"
+
+LilycoveCity_ContestLobby_Text_27AF7A: @ 827AF7A
+ .string "A POKéMON CONTEST involves four\n"
+ .string "TRAINERS entering one POKéMON each\l"
+ .string "in competitive judging.\p"
+ .string "A CONTEST has two stages of judging,\n"
+ .string "primary and secondary.\p"
+ .string "Primary judging is a popularity poll\n"
+ .string "involving the audience.\p"
+ .string "Secondary judging features appeals\n"
+ .string "by the POKéMON using their moves.\p"
+ .string "Plan appeals carefully to earn the\n"
+ .string "most attention of the JUDGE and\l"
+ .string "excite the audience.\l"
+ .string "Do your best to stand out.\p"
+ .string "The primary and secondary scores are\n"
+ .string "added at the end.\p"
+ .string "The POKéMON garnering the highest\n"
+ .string "score is declared the winner.$"
+
+LilycoveCity_ContestLobby_Text_27B17D: @ 827B17D
+ .string "There are five kinds of CONTESTS.\p"
+ .string "COOL, BEAUTY, CUTE, SMART, and\n"
+ .string "TOUGH are the five categories.\p"
+ .string "Choose the CONTEST that is right for\n"
+ .string "the POKéMON you plan to enter.$"
+
+LilycoveCity_ContestLobby_Text_27B221: @ 827B221
+ .string "There are four ranks of POKéMON\n"
+ .string "CONTESTS.\p"
+ .string "NORMAL, SUPER, HYPER, and MASTER\n"
+ .string "are the four ranks.\p"
+ .string "In the NORMAL Rank, any POKéMON may\n"
+ .string "enter.\p"
+ .string "Any POKéMON that won a NORMAL Rank\n"
+ .string "CONTEST may move up to the SUPER Rank\l"
+ .string "in the same category.\p"
+ .string "In the same way, a SUPER Rank winner\n"
+ .string "can move up to the HYPER Rank, and\l"
+ .string "a HYPER Rank winner can advance to\l"
+ .string "the MASTER Rank in the same category.\p"
+ .string "A POKéMON that won in the MASTER Rank\n"
+ .string "may compete in the MASTER Rank as\l"
+ .string "often as its TRAINER wants.$"
+
+LilycoveCity_ContestLobby_Text_27B3FF: @ 827B3FF
+ .string "Which Rank would you like to enter?$"
+
+LilycoveCity_ContestLobby_Text_27B423: @ 827B423
+ .string "Which CONTEST would you like to enter?$"
+
+LilycoveCity_ContestLobby_Text_27B44A: @ 827B44A
+ .string "Which POKéMON would you like to enter?$"
+
+LilycoveCity_ContestLobby_Text_27B471: @ 827B471
+ .string "I’m terribly sorry, but your POKéMON\n"
+ .string "is not qualified to compete at this\l"
+ .string "Rank yet…$"
+
+LilycoveCity_ContestLobby_Text_27B4C4: @ 827B4C4
+ .string "I’m sorry, but an EGG cannot take part\n"
+ .string "in a POKéMON CONTEST.$"
+
+LilycoveCity_ContestLobby_Text_27B501: @ 827B501
+ .string "Your POKéMON appears to be in no\n"
+ .string "condition to take part in a CONTEST…$"
+
+LilycoveCity_ContestLobby_Text_27B547: @ 827B547
+ .string "Oh, but that RIBBON…\p"
+ .string "Your POKéMON has won this CONTEST\n"
+ .string "before, hasn’t it?\p"
+ .string "Would you like to enter it in this\n"
+ .string "CONTEST anyway?$"
+
+LilycoveCity_ContestLobby_Text_27B5C4: @ 827B5C4
+ .string "Is that your CONTEST POKéMON?$"
+
+LilycoveCity_ContestLobby_Text_27B5E2: @ 827B5E2
+ .string "Okay, your POKéMON will be entered\n"
+ .string "in this CONTEST.\p"
+ .string "Your POKéMON is Entry No. 4.\n"
+ .string "The CONTEST will begin shortly.$"
+
+LilycoveCity_ContestLobby_Text_27B653: @ 827B653
+ .string "Please come in through here.\n"
+ .string "Good luck!$"
+
+LilycoveCity_ContestLobby_Text_27B67B: @ 827B67B
+ .string "Congratulations! Your POKéMON is the\n"
+ .string "CONTEST winner!\p"
+ .string "We have your prize right here.\n"
+ .string "Please, right this way!$"
+
+LilycoveCity_ContestLobby_Text_27B6E7: @ 827B6E7
+ .string "Please come back for your prize\n"
+ .string "later on.$"
+
+LinkContestRoom1_Text_27B711: @ 827B711
+ .string "MC: Hello! We’re just getting started\n"
+ .string "with a {STR_VAR_3} Rank POKéMON\l"
+ .string "{STR_VAR_2}!\p"
+ .string "The participating TRAINERS and their\n"
+ .string "POKéMON are as follows:$"
+
+LinkContestRoom1_Text_27B78F: @ 827B78F
+ .string "MC: Hello! We’re just getting started\n"
+ .string "with a 4-player linked POKéMON\l"
+ .string "{STR_VAR_2}!\p"
+ .string "The participating TRAINERS and their\n"
+ .string "POKéMON are as follows:$"
+
+LinkContestRoom1_Text_27B815: @ 827B815
+ .string "MC: Entry No. {STR_VAR_2}!\n"
+ .string "{STR_VAR_1}’s {STR_VAR_3}!$"
+
+LinkContestRoom1_Text_27B830: @ 827B830
+ .string "MC: We’ve just seen the four POKéMON\n"
+ .string "contestants.\p"
+ .string "Now it’s time for primary judging!\p"
+ .string "The audience will vote on their\n"
+ .string "favorite POKéMON contestants.\p"
+ .string "Without any further ado, let the\n"
+ .string "voting begin!$"
+
+LinkContestRoom1_Text_27B8F2: @ 827B8F2
+ .string "Voting under way…$"
+
+LinkContestRoom1_Text_27B904: @ 827B904
+ .string "Voting is now complete!\p"
+ .string "While the votes are being tallied,\n"
+ .string "let’s move on to secondary judging!\p"
+ .string "The second stage of judging is the\n"
+ .string "much anticipated appeal time!\p"
+ .string "May the contestants amaze us with\n"
+ .string "superb appeals of dazzling moves!\p"
+ .string "Let’s see a little enthusiasm!\n"
+ .string "Let’s appeal!$"
+
+LinkContestRoom1_Text_27BA15: @ 827BA15
+ .string "MC: That’s it for judging!$"
+
+LinkContestRoom1_Text_27BA30: @ 827BA30
+ .string "Thank you all for a most wonderful\n"
+ .string "display of quality appeals!\p"
+ .string "This concludes all judging!\n"
+ .string "Thank you for your fine efforts!$"
+
+LinkContestRoom1_Text_27BAAC: @ 827BAAC
+ .string "Now, all that remains is the pulse-\n"
+ .string "pounding proclamation of the winner.\p"
+ .string "The JUDGE looks ready to make\n"
+ .string "the announcement!$"
+
+LinkContestRoom1_Text_27BB25: @ 827BB25
+ .string "JUDGE: We will now declare the winner!$"
+
+LinkContestRoom1_Text_27BB4C: @ 827BB4C
+ .string "MC: Entry No. {STR_VAR_2}!\p"
+ .string "{STR_VAR_3} and {STR_VAR_1},\n"
+ .string "congratulations!$"
+
+LinkContestRoom1_Text_27BB7A: @ 827BB7A
+ .string "MC: Congratulations!\n"
+ .string "Please do compete again!$"
+
+LinkContestRoom1_Text_27BBA8: @ 827BBA8
+ .string "MC: Here you are!\n"
+ .string "Please accept your prize!$"
+
+LinkContestRoom1_Text_27BBD4: @ 827BBD4
+ .string "We confer on you this RIBBON\n"
+ .string "as your prize!$"
+
+LinkContestRoom1_Text_27BC00: @ 827BC00
+ .string "{PLAYER} received a RIBBON.$"
+
+LinkContestRoom1_Text_27BC16: @ 827BC16
+ .string "{PLAYER} put the RIBBON on\n"
+ .string "{STR_VAR_1}.$"
+
+LinkContestRoom1_Text_27BC2F: @ 827BC2F
+ .string "Please pick up your prize at\n"
+ .string "the reception counter later.\l"
+ .string "Please do compete again!$"
+
+LinkContestRoom1_Text_27BC82: @ 827BC82
+ .string "I only register four players for\n"
+ .string "POKéMON CONTESTS.\p"
+ .string "If three other players link up, all\n"
+ .string "four may enter the same CONTEST.\p"
+ .string "Would you like to take part?$"
+
+LilycoveCity_ContestLobby_Text_27BD17: @ 827BD17
+ .string "Before entering a CONTEST, your\n"
+ .string "progress will be saved.$"
+
+LilycoveCity_ContestLobby_Text_27BD4F: @ 827BD4F
+ .string "We hope you will participate another\n"
+ .string "time.$"
+
+LilycoveCity_ContestLobby_Text_27BD7A: @ 827BD7A
+ .string "Would you like to enter a CONTEST?$"
+
+LilycoveCity_ContestLobby_Text_27BD9D: @ 827BD9D
+ .string "When four players are ready, connect\n"
+ .string "over a Game Link cable, and register\l"
+ .string "with me, please.\p"
+ .string "Please choose the same CONTEST\n"
+ .string "as your fellow contestants.\p"
+ .string "The CONTEST begins as soon as all\n"
+ .string "players register their entry.\p"
+ .string "After that, the usual CONTEST rules\n"
+ .string "apply.$"
+
+LilycoveCity_ContestLobby_Text_27BE9E: @ 827BE9E
+ .string "Which CONTEST would you like to enter?$"
+
+LilycoveCity_ContestLobby_Text_27BEC5: @ 827BEC5
+ .string "Which POKéMON would you like to enter?$"
+
+LilycoveCity_ContestLobby_Text_27BEEC: @ 827BEEC
+ .string "Transmitting…$"
+
+LilycoveCity_ContestLobby_Text_27BEFA: @ 827BEFA
+ .string "Transmission error…$"
+
+LilycoveCity_ContestLobby_Text_27BF0E: @ 827BF0E
+ .string "You may have chosen a different\n"
+ .string "CONTEST than another player.$"
+
+LilycoveCity_ContestLobby_Text_27BF4B: @ 827BF4B
+ .string "You may have made a different\n"
+ .string "choice than another player.$"
+
+LilycoveCity_ContestLobby_Text_27BF85: @ 827BF85
+ .string "Please wait.\n"
+ .string "… … B Button: Cancel$"
+
+LilycoveCity_ContestLobby_Text_27BFA7: @ 827BFA7
+ .string "We hope you will participate another\n"
+ .string "time.$"
+
+LilycoveCity_ContestLobby_Text_27BFD2: @ 827BFD2
+ .string "Transmission error.\n"
+ .string "Please try again.$"
+
+LilycoveCity_ContestLobby_Text_27BFF8: @ 827BFF8
+ .string "Your POKéMON will be entered in\n"
+ .string "the CONTEST.\p"
+ .string "Your POKéMON is Entry No. {STR_VAR_2}.$"
+
+LilycoveCity_ContestLobby_Text_27C043: @ 827C043
+ .string "The CONTEST will begin shortly.$"
+
+LilycoveCity_ContestLobby_Text_27C063: @ 827C063
+ .string "Welcome! This is the POKéMON CONTEST\n"
+ .string "link reception counter.\p"
+ .string "You may enter CONTESTS together with\n"
+ .string "one or more friends.$"
+
+LilycoveCity_ContestLobby_Text_27C0DA: @ 827C0DA
+ .string "Which topic would you like?$"
+
+LilycoveCity_ContestLobby_Text_27C0F6: @ 827C0F6
+ .string "Would you like to enter a CONTEST?$"
+
+LilycoveCity_ContestLobby_Text_27C119: @ 827C119
+ .string "Which CONTEST would you like to enter?$"
+
+LilycoveCity_ContestLobby_Text_27C140: @ 827C140
+ .string "Your POKéMON appears to be in no\n"
+ .string "condition to take part in a CONTEST…$"
+
+LilycoveCity_ContestLobby_Text_27C186: @ 827C186
+ .string "I’m sorry, but an EGG cannot take part\n"
+ .string "in a POKéMON CONTEST.$"
+
+LilycoveCity_ContestLobby_Text_27C1C3: @ 827C1C3
+ .string "Which POKéMON would you like to enter?$"
+
+LilycoveCity_ContestLobby_Text_27C1EA: @ 827C1EA
+ .string "Please decide which of you will\n"
+ .string "become the GROUP LEADER.\p"
+ .string "The other players must then choose\n"
+ .string "“JOIN GROUP.”$"
+
+LilycoveCity_ContestLobby_Text_27C254: @ 827C254
+ .string "At least one player has entered using\n"
+ .string "the 4-player reception counter.\p"
+ .string "There must be four players connected\n"
+ .string "using a GBA Game Link cable.\p"
+ .string "When the four players are ready,\n"
+ .string "select G-MODE (GLOBAL MODE),\l"
+ .string "then register to enter again, please.$"
+
+LilycoveCity_ContestLobby_Text_27C340: @ 827C340
+ .string "This is a CONTEST for two to four\n"
+ .string "players linked using a Wireless\l"
+ .string "Adapter or a GBA Game Link cable.\p"
+ .string "Participants are first asked to choose\n"
+ .string "the mode they wish to enter.\p"
+ .string "There are two different modes.\p"
+ .string "E-MODE (EMERALD MODE) is for\n"
+ .string "two to four players, each with a\l"
+ .string "POKéMON Emerald Game Pak.\p"
+ .string "G-MODE (GLOBAL MODE) is only for\n"
+ .string "four players, each with a POKéMON\l"
+ .string "Emerald, Ruby, or Sapphire Game Pak.\p"
+ .string "The players should discuss which mode\n"
+ .string "they want, then choose the same mode.\p"
+ .string "Once all the players have chosen\n"
+ .string "the same CONTEST in the same mode,\l"
+ .string "the entry registration is complete.\p"
+ .string "After that, a CONTEST will start in\n"
+ .string "the usual manner.$"
+
+LilycoveCity_ContestLobby_Text_27C5B1: @ 827C5B1
+ .string "In E-MODE (EMERALD MODE),\n"
+ .string "a LINK CONTEST can be held with\l"
+ .string "two to four players. Each player must\l"
+ .string "have a POKéMON Emerald Game Pak.\p"
+ .string "The players must be linked with each\n"
+ .string "other using Wireless Adapters or\l"
+ .string "GBA Game Link cables.\p"
+ .string "If there are fewer than four players,\n"
+ .string "TRAINERS in the hall will join to fill\l"
+ .string "the 4-player CONTEST lineup.\p"
+ .string "Please be aware that E-MODE is not\n"
+ .string "available in POKéMON Ruby or Sapphire.$"
+
+LilycoveCity_ContestLobby_Text_27C742: @ 827C742
+ .string "G-MODE (GLOBAL MODE) is specifically\n"
+ .string "for four players who are linked using\l"
+ .string "GBA Game Link cables.\p"
+ .string "Each player must have a POKéMON\n"
+ .string "Emerald, Ruby, or Sapphire Game Pak.\p"
+ .string "The CONTEST starts after all players\n"
+ .string "choose G-MODE (POKéMON Emerald) or\l"
+ .string "enter through the 4-player reception\l"
+ .string "counter (POKéMON Ruby or Sapphire).$"
+
+LilycoveCity_ContestLobby_Text_27C879: @ 827C879
+ .string "I’m terribly sorry.\p"
+ .string "G-MODE does not function\n"
+ .string "with Wireless Adapters.\p"
+ .string "Please select E-MODE or try\n"
+ .string "again using a GBA Game Link cable.$"
+
+LilycoveCity_ContestLobby_Text_27C8FD: @ 827C8FD
+ .string "Which CONTEST MODE would you like\n"
+ .string "to enter?$"
+
+LinkContestRoom1_Text_27C929: @ 827C929
+ .string "MC: Hello! We’re just getting started\n"
+ .string "with a 4-player linked POKéMON\l"
+ .string "{STR_VAR_2}!$"
+
+LinkContestRoom1_Text_27C972: @ 827C972
+ .string "The participating TRAINERS and their\n"
+ .string "POKéMON are as follows:$"
+
+LinkContestRoom1_Text_27C9AF: @ 827C9AF
+ .string "MC: We’ve just seen the four POKéMON\n"
+ .string "contestants.\p"
+ .string "Now it’s time for primary judging!$"
+
+LinkContestRoom1_Text_27CA04: @ 827CA04
+ .string "The audience will vote on their\n"
+ .string "favorite POKéMON contestants.$"
+
+LinkContestRoom1_Text_27CA42: @ 827CA42
+ .string "Without any further ado,\n"
+ .string "let the voting begin!$"
+
+LinkContestRoom1_Text_27CA71: @ 827CA71
+ .string "Voting is now complete!\p"
+ .string "While the votes are being tallied,\n"
+ .string "let’s move on to secondary judging!$"
+
+LinkContestRoom1_Text_27CAD0: @ 827CAD0
+ .string "The second stage of judging is\n"
+ .string "the much-anticipated appeal time!\p"
+ .string "May the contestants amaze us with\n"
+ .string "superb appeals of dazzling moves!$"
+
+LinkContestRoom1_Text_27CB55: @ 827CB55
+ .string "Let’s see a little enthusiasm!\n"
+ .string "Let’s appeal!$"
diff --git a/data/scripts/day_care.inc b/data/scripts/day_care.inc
new file mode 100644
index 000000000..8c538f7aa
--- /dev/null
+++ b/data/scripts/day_care.inc
@@ -0,0 +1,439 @@
+Route117_EventScript_291C18:: @ 8291C18
+ lock
+ faceplayer
+ special sp0B5_daycare
+ specialvar VAR_RESULT, sp0B6_daycare
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route117_EventScript_291C4D
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq Route117_EventScript_291CD1
+ compare_var_to_value VAR_RESULT, 3
+ goto_eq Route117_EventScript_291CE8
+ msgbox Route117_Text_291FCF, 4
+ release
+ end
+
+Route117_EventScript_291C4D:: @ 8291C4D
+ msgbox Route117_Text_29205D, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route117_EventScript_291C83
+ msgbox Route117_Text_2922C6, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route117_EventScript_291C83
+ msgbox Route117_Text_292149, 4
+ clearflag FLAG_0x086
+ special RejectEggFromDayCare
+ release
+ end
+
+Route117_EventScript_291C83:: @ 8291C83
+ specialvar VAR_RESULT, CalculatePlayerPartyCount
+ compare_var_to_value VAR_RESULT, 6
+ goto_if 5, Route117_EventScript_291C9D
+ msgbox Route117_Text_29216A, 4
+ release
+ end
+
+Route117_EventScript_291C9D:: @ 8291C9D
+ message Route117_Text_2921A4
+ playfanfare BGM_FANFA1
+ waitfanfare
+ waitbuttonpress
+ msgbox Route117_Text_2921CF, 4
+ special GiveEggFromDaycare
+ clearflag FLAG_0x086
+ release
+ end
+
+Route117_EventScript_291CB7:: @ 8291CB7
+ specialvar VAR_RESULT, sub_8071614
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, Route117_EventScript_291CC8
+ return
+
+Route117_EventScript_291CC8:: @ 8291CC8
+ msgbox Route117_Text_2921E5, 4
+ return
+
+Route117_EventScript_291CD1:: @ 8291CD1
+ special sp0B5_daycare
+ msgbox Route117_Text_292114, 4
+ setvar VAR_0x8004, 0
+ call Route117_EventScript_291CB7
+ release
+ end
+
+Route117_EventScript_291CE8:: @ 8291CE8
+ special sp0B5_daycare
+ msgbox Route117_Text_292299, 4
+ special sp0B9_daycare_relationship_comment
+ special sub_8138AC0
+ waitmessage
+ waitbuttonpress
+ setvar VAR_0x8004, 0
+ call Route117_EventScript_291CB7
+ setvar VAR_0x8004, 1
+ call Route117_EventScript_291CB7
+ release
+ end
+
+Route117_PokemonDayCare_EventScript_291D11:: @ 8291D11
+ lock
+ faceplayer
+ specialvar VAR_RESULT, sp0B6_daycare
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route117_PokemonDayCare_EventScript_291E0B
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq Route117_PokemonDayCare_EventScript_291E2F
+ compare_var_to_value VAR_RESULT, 3
+ goto_eq Route117_PokemonDayCare_EventScript_291F5C
+ msgbox Route117_PokemonDayCare_Text_2922F4, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route117_PokemonDayCare_EventScript_291D56
+ msgbox Route117_PokemonDayCare_Text_292416, 4
+ release
+ end
+
+Route117_PokemonDayCare_EventScript_291D56:: @ 8291D56
+ specialvar VAR_RESULT, sub_80C7008
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route117_PokemonDayCare_EventScript_291DED
+ specialvar VAR_RESULT, sub_80722E0
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq Route117_PokemonDayCare_EventScript_291E01
+ msgbox Route117_PokemonDayCare_Text_292349, 4
+ fadescreen 1
+ special sub_8071330
+ waitstate
+ compare_var_to_value VAR_0x8004, 255
+ goto_eq Route117_PokemonDayCare_EventScript_291DCA
+ specialvar VAR_RESULT, sub_80C70AC
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route117_PokemonDayCare_EventScript_291DF7
+ specialvar VAR_0x8005, sub_8070C58
+ waitse
+ playmoncry VAR_0x8005, 0
+ msgbox Route117_PokemonDayCare_Text_292370, 4
+ waitmoncry
+ special StoreSelectedPokemonInDaycare
+ incrementgamestat 47
+ specialvar VAR_RESULT, sp0B6_daycare
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq Route117_PokemonDayCare_EventScript_291DD4
+ release
+ end
+
+Route117_PokemonDayCare_EventScript_291DCA:: @ 8291DCA
+ msgbox Route117_PokemonDayCare_Text_292476, 4
+ release
+ end
+
+Route117_PokemonDayCare_EventScript_291DD4:: @ 8291DD4
+ msgbox Route117_PokemonDayCare_Text_2923AF, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route117_PokemonDayCare_EventScript_291D56
+ goto Route117_PokemonDayCare_EventScript_291DCA
+ end
+
+Route117_PokemonDayCare_EventScript_291DED:: @ 8291DED
+ msgbox Route117_PokemonDayCare_Text_2925BB, 4
+ release
+ end
+
+Route117_PokemonDayCare_EventScript_291DF7:: @ 8291DF7
+ msgbox Route117_PokemonDayCare_Text_292617, 4
+ release
+ end
+
+Route117_PokemonDayCare_EventScript_291E01:: @ 8291E01
+ msgbox Route117_PokemonDayCare_Text_29266D, 4
+ release
+ end
+
+Route117_PokemonDayCare_EventScript_291E0B:: @ 8291E0B
+ msgbox Route117_PokemonDayCare_Text_2923F6, 4
+ release
+ end
+
+Route117_PokemonDayCare_EventScript_291E15:: @ 8291E15
+ msgbox Route117_PokemonDayCare_Text_2924CC, 4
+ return
+
+Route117_PokemonDayCare_EventScript_291E1E:: @ 8291E1E
+ specialvar VAR_RESULT, GetNumLevelsGainedFromDaycare
+ compare_var_to_value VAR_RESULT, 0
+ call_if 5, Route117_PokemonDayCare_EventScript_291E15
+ return
+
+Route117_PokemonDayCare_EventScript_291E2F:: @ 8291E2F
+ msgbox Route117_PokemonDayCare_Text_292488, 4
+ setvar VAR_0x8004, 0
+ call Route117_PokemonDayCare_EventScript_291E1E
+ msgbox Route117_PokemonDayCare_Text_2923AF, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route117_PokemonDayCare_EventScript_291D56
+ msgbox Route117_PokemonDayCare_Text_2925F6, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route117_PokemonDayCare_EventScript_291E6D
+ goto Route117_PokemonDayCare_EventScript_291DCA
+ end
+
+Route117_PokemonDayCare_EventScript_291E6D:: @ 8291E6D
+ specialvar VAR_RESULT, CalculatePlayerPartyCount
+ compare_var_to_value VAR_RESULT, 6
+ goto_eq Route117_PokemonDayCare_EventScript_291F3D
+ specialvar VAR_RESULT, sp0B6_daycare
+ setvar VAR_0x8004, 0
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq Route117_PokemonDayCare_EventScript_291EAC
+ special sub_80712C0
+ waitstate
+ copyvar VAR_0x8004, VAR_RESULT
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq Route117_PokemonDayCare_EventScript_291DCA
+ goto Route117_PokemonDayCare_EventScript_291EAC
+ end
+
+Route117_PokemonDayCare_EventScript_291EAC:: @ 8291EAC
+ special GetDaycareCost
+ msgbox Route117_PokemonDayCare_Text_292549, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route117_PokemonDayCare_EventScript_291EC8
+ goto Route117_PokemonDayCare_EventScript_291DCA
+ end
+
+Route117_PokemonDayCare_EventScript_291EC8:: @ 8291EC8
+ specialvar VAR_RESULT, IsEnoughForCostInVar0x8005
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route117_PokemonDayCare_EventScript_291EE2
+ msgbox Route117_PokemonDayCare_Text_292432, 4
+ release
+ end
+
+Route117_PokemonDayCare_EventScript_291EE2:: @ 8291EE2
+ applymovement 1, Route117_PokemonDayCare_Movement_291F47
+ waitmovement 0
+ specialvar VAR_RESULT, TakePokemonFromDaycare
+ special SubtractMoneyFromVar0x8005
+ playse SE_REGI
+ msgbox Route117_PokemonDayCare_Text_292575, 4
+ waitse
+ playmoncry VAR_RESULT, 0
+ msgbox Route117_PokemonDayCare_Text_292593, 4
+ waitmoncry
+ specialvar VAR_RESULT, sp0B6_daycare
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq Route117_PokemonDayCare_EventScript_291F24
+ goto Route117_PokemonDayCare_EventScript_291DCA
+ end
+
+Route117_PokemonDayCare_EventScript_291F24:: @ 8291F24
+ msgbox Route117_PokemonDayCare_Text_29244F, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route117_PokemonDayCare_EventScript_291E6D
+ goto Route117_PokemonDayCare_EventScript_291DCA
+ end
+
+Route117_PokemonDayCare_EventScript_291F3D:: @ 8291F3D
+ msgbox Route117_PokemonDayCare_Text_2924EF, 4
+ release
+ end
+
+Route117_PokemonDayCare_Movement_291F47: @ 8291F47
+ step_14
+ step_14
+ step_02
+ step_14
+ step_14
+ step_03
+ step_14
+ step_14
+ step_01
+ slow_step_up
+ step_54
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_00
+ step_55
+ slow_step_down
+ step_end
+
+Route117_PokemonDayCare_EventScript_291F5B:: @ 8291F5B
+ end
+
+Route117_PokemonDayCare_EventScript_291F5C:: @ 8291F5C
+ msgbox Route117_PokemonDayCare_Text_292488, 4
+ setvar VAR_0x8004, 0
+ call Route117_PokemonDayCare_EventScript_291E1E
+ setvar VAR_0x8004, 1
+ call Route117_PokemonDayCare_EventScript_291E1E
+ msgbox Route117_PokemonDayCare_Text_2925F6, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route117_PokemonDayCare_EventScript_291E6D
+ msgbox Route117_PokemonDayCare_Text_292476, 4
+ release
+ end
+
+Route117_PokemonDayCare_EventScript_291F95:: @ 8291F95
+ special sub_80712C0
+ waitstate
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq Route117_PokemonDayCare_EventScript_291DCA
+ copyvar VAR_0x8004, VAR_RESULT
+ specialvar VAR_RESULT, TakePokemonFromDaycare
+ msgbox Route117_PokemonDayCare_Text_292575, 4
+ msgbox Route117_PokemonDayCare_Text_292476, 4
+ release
+ end
+
+Route117_PokemonDayCare_EventScript_291FC0:: @ 8291FC0
+ lockall
+ msgbox Text_292668, 4
+ special EggHatch
+ waitstate
+ releaseall
+ end
+
+Route117_Text_291FCF: @ 8291FCF
+ .string "I’m the DAY-CARE MAN.\p"
+ .string "I help take care of the precious\n"
+ .string "POKéMON of TRAINERS.\p"
+ .string "If you’d like me to raise your POKéMON,\n"
+ .string "have a word with my wife.$"
+
+Route117_Text_29205D: @ 829205D
+ .string "Ah, it’s you!\p"
+ .string "We were raising your POKéMON,\n"
+ .string "and my goodness, were we surprised!\p"
+ .string "Your POKéMON had an EGG!\p"
+ .string "We don’t know how it got there,\n"
+ .string "but your POKéMON had it.\p"
+ .string "You do want it, yes?$"
+
+Route117_Text_292114: @ 8292114
+ .string "Ah, it’s you! Good to see you.\n"
+ .string "Your {STR_VAR_1}’s doing fine.$"
+
+Route117_Text_292149: @ 8292149
+ .string "Well then, I’ll keep it.\n"
+ .string "Thanks!$"
+
+Route117_Text_29216A: @ 829216A
+ .string "You have no room for it…\n"
+ .string "Come back when you’ve made room.$"
+
+Route117_Text_2921A4: @ 82921A4
+ .string "{PLAYER} received the EGG from\n"
+ .string "the DAY-CARE MAN.$"
+
+Route117_Text_2921CF: @ 82921CF
+ .string "Take good care of it.$"
+
+Route117_Text_2921E5: @ 82921E5
+ .string "By the way, about your {STR_VAR_1},\n"
+ .string "it seemed to be friendly with\l"
+ .string "{STR_VAR_2}’s {STR_VAR_3}.\p"
+ .string "I may even have seen it receiving\n"
+ .string "a piece of MAIL.$"
+
+Route117_Text_29225A: @ 829225A
+ .string "If you want to pick up your POKéMON,\n"
+ .string "have a word with my wife.$"
+
+Route117_Text_292299: @ 8292299
+ .string "Ah, it’s you! Your {STR_VAR_1} and\n"
+ .string "{STR_VAR_2} are doing fine.$"
+
+Route117_Text_2922C6: @ 82922C6
+ .string "I really will keep it.\n"
+ .string "You do want this, yes?$"
+
+Route117_PokemonDayCare_Text_2922F4: @ 82922F4
+ .string "I’m the DAY-CARE LADY.\p"
+ .string "We can raise POKéMON for you.\p"
+ .string "Would you like us to raise one?$"
+
+Route117_PokemonDayCare_Text_292349: @ 8292349
+ .string "Which POKéMON should we raise for\n"
+ .string "you?$"
+
+Route117_PokemonDayCare_Text_292370: @ 8292370
+ .string "Fine, we’ll raise your {STR_VAR_1}\n"
+ .string "for a while.\p"
+ .string "Come back for it later.$"
+
+Route117_PokemonDayCare_Text_2923AF: @ 82923AF
+ .string "We can raise two of your POKéMON.\n"
+ .string "Would you like us to raise one more?$"
+
+Route117_PokemonDayCare_Text_2923F6: @ 82923F6
+ .string "My husband was looking for you.$"
+
+Route117_PokemonDayCare_Text_292416: @ 8292416
+ .string "Oh, fine, then.\n"
+ .string "Come again.$"
+
+Route117_PokemonDayCare_Text_292432: @ 8292432
+ .string "You don’t have enough money…$"
+
+Route117_PokemonDayCare_Text_29244F: @ 829244F
+ .string "Will you take back the other one,\n"
+ .string "too?$"
+
+Route117_PokemonDayCare_Text_292476: @ 8292476
+ .string "Fine.\n"
+ .string "Come again.$"
+
+Route117_PokemonDayCare_Text_292488: @ 8292488
+ .string "Ah, it’s you! Good to see you.\n"
+ .string "Your POKéMON can only be doing good!$"
+
+Route117_PokemonDayCare_Text_2924CC: @ 82924CC
+ .string "By level, your {STR_VAR_1} has\n"
+ .string "grown by {STR_VAR_2}.$"
+
+Route117_PokemonDayCare_Text_2924EF: @ 82924EF
+ .string "Your POKéMON team is full.\n"
+ .string "Make room, then come see me.$"
+
+Route117_PokemonDayCare_Text_292527: @ 8292527
+ .string "Which POKéMON will you take back?$"
+
+Route117_PokemonDayCare_Text_292549: @ 8292549
+ .string "If you want your {STR_VAR_1} back,\n"
+ .string "it will cost ¥{STR_VAR_2}.$"
+
+Route117_PokemonDayCare_Text_292575: @ 8292575
+ .string "Perfect!\n"
+ .string "Here’s your POKéMON.$"
+
+Route117_PokemonDayCare_Text_292593: @ 8292593
+ .string "{PLAYER} took back {STR_VAR_1} from\n"
+ .string "the DAY-CARE LADY.$"
+
+Route117_PokemonDayCare_Text_2925BB: @ 82925BB
+ .string "Oh? But you have just one\n"
+ .string "POKéMON.\p"
+ .string "Come back another time.$"
+
+Route117_PokemonDayCare_Text_2925F6: @ 82925F6
+ .string "Will you take your POKéMON back?$"
+
+Route117_PokemonDayCare_Text_292617: @ 8292617
+ .string "If you leave me that POKéMON,\n"
+ .string "what will you battle with?\p"
+ .string "Come back another time.$"
+
+Text_292668: @ 8292668
+ .string "Huh?$"
+
+Route117_PokemonDayCare_Text_29266D: @ 829266D
+ .string "Huh?\n"
+ .string "Now, now.\p"
+ .string "If you leave that POKéMON with\n"
+ .string "me, you’ll be left with just one.\p"
+ .string "You will be better off if you catch\n"
+ .string "some more, I dare say.$"
diff --git a/data/scripts/field_move_scripts.inc b/data/scripts/field_move_scripts.inc
new file mode 100644
index 000000000..fd2ff3b01
--- /dev/null
+++ b/data/scripts/field_move_scripts.inc
@@ -0,0 +1,336 @@
+PetalburgWoods_EventScript_2906BB:: @ 82906BB
+Route103_EventScript_2906BB:: @ 82906BB
+Route104_EventScript_2906BB:: @ 82906BB
+Route110_TrickHousePuzzle1_EventScript_2906BB:: @ 82906BB
+Route111_EventScript_2906BB:: @ 82906BB
+Route116_EventScript_2906BB:: @ 82906BB
+Route117_EventScript_2906BB:: @ 82906BB
+Route118_EventScript_2906BB:: @ 82906BB
+Route120_EventScript_2906BB:: @ 82906BB
+Route121_EventScript_2906BB:: @ 82906BB
+Route123_EventScript_2906BB:: @ 82906BB
+ lockall
+ checkflag FLAG_BADGE01_GET
+ goto_if 0, Route103_EventScript_290721
+ checkpartymove MOVE_CUT
+ compare_var_to_value VAR_RESULT, 6
+ goto_eq Route103_EventScript_290721
+ setfieldeffectargument 0, VAR_RESULT
+ bufferpartymonnick 0, VAR_RESULT
+ buffermovename 1, MOVE_CUT
+ msgbox Route103_Text_29072E, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route103_EventScript_29072B
+ msgbox Route103_Text_290771, 4
+ closemessage
+ dofieldeffect 2
+ waitstate
+ goto Route103_EventScript_290710
+ end
+
+Route103_EventScript_290705:: @ 8290705
+ lockall
+ dofieldeffect 2
+ waitstate
+ goto Route103_EventScript_290710
+ end
+
+Route103_EventScript_290710:: @ 8290710
+ applymovement VAR_LAST_TALKED, Route103_Movement_29071F
+ waitmovement 0
+ removeobject VAR_LAST_TALKED
+ releaseall
+ end
+
+Route103_Movement_29071F: @ 829071F
+ step_5b
+ step_end
+
+Route103_EventScript_290721:: @ 8290721
+ msgbox Route103_Text_29077D, 4
+ releaseall
+ end
+
+Route103_EventScript_29072B:: @ 829072B
+ closemessage
+ releaseall
+ end
+
+Route103_Text_29072E: @ 829072E
+ .string "This tree looks like it can be\n"
+ .string "CUT down!\p"
+ .string "Would you like to CUT it?$"
+
+Route103_Text_290771: @ 8290771
+Route111_Text_290771: @ 8290771
+ .string "{STR_VAR_1} used {STR_VAR_2}!$"
+
+Route103_Text_29077D: @ 829077D
+ .string "This tree looks like it can be\n"
+ .string "CUT down!$"
+
+GraniteCave_B2F_EventScript_2907A6:: @ 82907A6
+MirageTower_3F_EventScript_2907A6:: @ 82907A6
+MirageTower_4F_EventScript_2907A6:: @ 82907A6
+Route110_TrickHousePuzzle3_EventScript_2907A6:: @ 82907A6
+Route111_EventScript_2907A6:: @ 82907A6
+Route114_EventScript_2907A6:: @ 82907A6
+Route115_EventScript_2907A6:: @ 82907A6
+RusturfTunnel_EventScript_2907A6:: @ 82907A6
+SafariZone_North_EventScript_2907A6:: @ 82907A6
+SafariZone_Northeast_EventScript_2907A6:: @ 82907A6
+SeafloorCavern_Room1_EventScript_2907A6:: @ 82907A6
+SeafloorCavern_Room2_EventScript_2907A6:: @ 82907A6
+SeafloorCavern_Room5_EventScript_2907A6:: @ 82907A6
+VictoryRoad_B1F_EventScript_2907A6:: @ 82907A6
+ lockall
+ checkflag FLAG_BADGE03_GET
+ goto_if 0, Route111_EventScript_29082D
+ checkpartymove MOVE_ROCK_SMASH
+ compare_var_to_value VAR_RESULT, 6
+ goto_eq Route111_EventScript_29082D
+ setfieldeffectargument 0, VAR_RESULT
+ bufferpartymonnick 0, VAR_RESULT
+ buffermovename 1, MOVE_ROCK_SMASH
+ msgbox Route111_Text_29083A, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route111_EventScript_290837
+ msgbox Route111_Text_290771, 4
+ closemessage
+ dofieldeffect 37
+ waitstate
+ goto Route111_EventScript_2907FB
+ end
+
+Route111_EventScript_2907F0:: @ 82907F0
+ lockall
+ dofieldeffect 37
+ waitstate
+ goto Route111_EventScript_2907FB
+ end
+
+Route111_EventScript_2907FB:: @ 82907FB
+ applymovement VAR_LAST_TALKED, Route111_Movement_29082B
+ waitmovement 0
+ removeobject VAR_LAST_TALKED
+ specialvar VAR_RESULT, sub_81393FC
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route111_EventScript_290829
+ special rock_smash_wild_pokemon_encounter
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route111_EventScript_290829
+ waitstate
+ releaseall
+ end
+
+Route111_EventScript_290829:: @ 8290829
+ releaseall
+ end
+
+Route111_Movement_29082B: @ 829082B
+ step_5a
+ step_end
+
+Route111_EventScript_29082D:: @ 829082D
+ msgbox Route111_Text_29087F, 4
+ releaseall
+ end
+
+Route111_EventScript_290837:: @ 8290837
+ closemessage
+ releaseall
+ end
+
+Route111_Text_29083A: @ 829083A
+ .string "This rock appears to be breakable.\n"
+ .string "Would you like to use ROCK SMASH?$"
+
+Route111_Text_29087F: @ 829087F
+ .string "It’s a rugged rock, but a POKéMON\n"
+ .string "may be able to smash it.$"
+
+FieryPath_EventScript_2908BA:: @ 82908BA
+MagmaHideout_1F_EventScript_2908BA:: @ 82908BA
+Route110_TrickHousePuzzle4_EventScript_2908BA:: @ 82908BA
+SeafloorCavern_Room1_EventScript_2908BA:: @ 82908BA
+SeafloorCavern_Room2_EventScript_2908BA:: @ 82908BA
+SeafloorCavern_Room3_EventScript_2908BA:: @ 82908BA
+SeafloorCavern_Room5_EventScript_2908BA:: @ 82908BA
+SeafloorCavern_Room8_EventScript_2908BA:: @ 82908BA
+ShoalCave_LowTideLowerRoom_EventScript_2908BA:: @ 82908BA
+VictoryRoad_B1F_EventScript_2908BA:: @ 82908BA
+ lockall
+ checkflag FLAG_BADGE04_GET
+ goto_if 0, FieryPath_EventScript_290915
+ checkflag FLAG_SYS_USE_STRENGTH
+ goto_eq FieryPath_EventScript_29091F
+ checkpartymove MOVE_STRENGTH
+ compare_var_to_value VAR_RESULT, 6
+ goto_eq FieryPath_EventScript_290915
+ setfieldeffectargument 0, VAR_RESULT
+ msgbox FieryPath_Text_29092C, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq FieryPath_EventScript_290929
+ closemessage
+ dofieldeffect 40
+ waitstate
+ goto FieryPath_EventScript_290908
+ end
+
+FieryPath_EventScript_2908FD:: @ 82908FD
+ lockall
+ dofieldeffect 40
+ waitstate
+ goto FieryPath_EventScript_290908
+ end
+
+FieryPath_EventScript_290908:: @ 8290908
+ setflag FLAG_SYS_USE_STRENGTH
+ msgbox FieryPath_Text_29098C, 4
+ releaseall
+ end
+
+FieryPath_EventScript_290915:: @ 8290915
+ msgbox FieryPath_Text_2909D6, 4
+ releaseall
+ end
+
+FieryPath_EventScript_29091F:: @ 829091F
+ msgbox FieryPath_Text_290A16, 4
+ releaseall
+ end
+
+FieryPath_EventScript_290929:: @ 8290929
+ closemessage
+ releaseall
+ end
+
+FieryPath_Text_29092C: @ 829092C
+ .string "It’s a big boulder, but a POKéMON\n"
+ .string "may be able to push it aside.\p"
+ .string "Would you like to use STRENGTH?$"
+
+FieryPath_Text_29098C: @ 829098C
+ .string "{STR_VAR_1} used STRENGTH!\p"
+ .string "{STR_VAR_1}’s STRENGTH made it\n"
+ .string "possible to move boulders around!$"
+
+FieryPath_Text_2909D6: @ 82909D6
+ .string "It’s a big boulder, but a POKéMON\n"
+ .string "may be able to push it aside.$"
+
+FieryPath_Text_290A16: @ 8290A16
+ .string "STRENGTH made it possible to move\n"
+ .string "boulders around.$"
+
+EventScript_290A49:: @ 8290A49
+ lockall
+ checkpartymove MOVE_WATERFALL
+ compare_var_to_value VAR_RESULT, 6
+ goto_eq EventScript_290A84
+ bufferpartymonnick 0, VAR_RESULT
+ setfieldeffectargument 0, VAR_RESULT
+ msgbox Text_290AC3, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_290A8C
+ msgbox Text_290AFC, 4
+ dofieldeffect 43
+ goto EventScript_290A8C
+
+EventScript_290A83:: @ 8290A83
+ lockall
+
+EventScript_290A84:: @ 8290A84
+ msgbox Text_290A8E, 4
+
+EventScript_290A8C:: @ 8290A8C
+ releaseall
+ end
+
+Text_290A8E: @ 8290A8E
+ .string "A wall of water is crashing down with\n"
+ .string "a mighty roar.$"
+
+Text_290AC3: @ 8290AC3
+ .string "It’s a large waterfall.\n"
+ .string "Would you like to use WATERFALL?$"
+
+Text_290AFC: @ 8290AFC
+ .string "{STR_VAR_1} used WATERFALL.$"
+
+EventScript_290B0F:: @ 8290B0F
+ lockall
+ checkpartymove MOVE_DIVE
+ compare_var_to_value VAR_RESULT, 6
+ goto_eq EventScript_290B4E
+ bufferpartymonnick 0, VAR_RESULT
+ setfieldeffectargument 0, VAR_RESULT
+ setfieldeffectargument 1, 1
+ msgbox Text_290BE8, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_290B58
+ msgbox Text_290C1A, 4
+ dofieldeffect 44
+ goto EventScript_290B58
+ end
+
+EventScript_290B4E:: @ 8290B4E
+ msgbox Text_290BAA, 4
+ releaseall
+ end
+
+EventScript_290B58:: @ 8290B58
+ releaseall
+ end
+
+EventScript_290B5A:: @ 8290B5A
+ lockall
+ checkpartymove MOVE_DIVE
+ compare_var_to_value VAR_RESULT, 6
+ goto_eq EventScript_290B99
+ bufferpartymonnick 0, VAR_RESULT
+ setfieldeffectargument 0, VAR_RESULT
+ setfieldeffectargument 1, 1
+ msgbox Text_290C6E, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_290BA8
+ msgbox Text_290C1A, 4
+ dofieldeffect 44
+ goto EventScript_290BA8
+ end
+
+EventScript_290B99:: @ 8290B99
+ lockall
+ msgbox Text_290C28, 4
+ goto EventScript_290BA8
+ end
+
+EventScript_290BA8:: @ 8290BA8
+ releaseall
+ end
+
+Text_290BAA: @ 8290BAA
+ .string "The sea is deep here. A POKéMON\n"
+ .string "may be able to go underwater.$"
+
+Text_290BE8: @ 8290BE8
+ .string "The sea is deep here.\n"
+ .string "Would you like to use DIVE?$"
+
+Text_290C1A: @ 8290C1A
+ .string "{STR_VAR_1} used DIVE.$"
+
+Text_290C28: @ 8290C28
+ .string "Light is filtering down from above.\n"
+ .string "A POKéMON may be able to surface.$"
+
+Text_290C6E: @ 8290C6E
+ .string "Light is filtering down from above.\n"
+ .string "Would you like to use DIVE?$"
+
+EventScript_290CAE:: @ 8290CAE
+ msgbox Text_290CB7, 3
+ end
+
+Text_290CB7: @ 8290CB7
+ .string "Looks like there’s nothing here…$"
diff --git a/data/scripts/gabby_and_ty.inc b/data/scripts/gabby_and_ty.inc
new file mode 100644
index 000000000..d4b05a096
--- /dev/null
+++ b/data/scripts/gabby_and_ty.inc
@@ -0,0 +1,339 @@
+EventScript_28CCAA:: @ 828CCAA
+ setvar VAR_0x8005, 8
+ special InterviewBefore
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq EventScript_28CCC6
+ setvar VAR_0x8005, 8
+ special InterviewAfter
+ return
+
+EventScript_28CCC6:: @ 828CCC6
+ return
+
+Route111_EventScript_28CCC7:: @ 828CCC7
+Route118_EventScript_28CCC7:: @ 828CCC7
+Route120_EventScript_28CCC7:: @ 828CCC7
+ cleartrainerflag TRAINER_GABBY_AND_TY_6
+ specialvar VAR_RESULT, GabbyAndTyGetBattleNum
+ switch VAR_RESULT
+ case 0, Route111_EventScript_28CD38
+ case 1, Route111_EventScript_28CD3E
+ case 2, Route111_EventScript_28CD49
+ case 3, Route111_EventScript_28CD54
+ case 4, Route111_EventScript_28CD5F
+ case 5, Route111_EventScript_28CD6A
+ case 6, Route111_EventScript_28CD75
+ case 7, Route111_EventScript_28CD80
+ case 8, Route111_EventScript_28CD8B
+ end
+
+Route111_EventScript_28CD38:: @ 828CD38
+ call Route111_EventScript_28CD9A
+ return
+
+Route111_EventScript_28CD3E:: @ 828CD3E
+ call Route111_EventScript_28CDA2
+ call Route111_EventScript_28CD96
+ return
+
+Route111_EventScript_28CD49:: @ 828CD49
+ call Route111_EventScript_28CDAA
+ call Route111_EventScript_28CD9E
+ return
+
+Route111_EventScript_28CD54:: @ 828CD54
+ call Route111_EventScript_28CDB2
+ call Route111_EventScript_28CDA6
+ return
+
+Route111_EventScript_28CD5F:: @ 828CD5F
+ call Route111_EventScript_28CDBA
+ call Route111_EventScript_28CDAE
+ return
+
+Route111_EventScript_28CD6A:: @ 828CD6A
+ call Route111_EventScript_28CDC2
+ call Route111_EventScript_28CDB6
+ return
+
+Route111_EventScript_28CD75:: @ 828CD75
+ call Route111_EventScript_28CDCA
+ call Route111_EventScript_28CDBE
+ return
+
+Route111_EventScript_28CD80:: @ 828CD80
+ call Route111_EventScript_28CDD2
+ call Route111_EventScript_28CDC6
+ return
+
+Route111_EventScript_28CD8B:: @ 828CD8B
+ call Route111_EventScript_28CDC2
+ call Route111_EventScript_28CDCE
+ return
+
+Route111_EventScript_28CD96:: @ 828CD96
+ setflag FLAG_0x31C
+ return
+
+Route111_EventScript_28CD9A:: @ 828CD9A
+ clearflag FLAG_0x31C
+ return
+
+Route111_EventScript_28CD9E:: @ 828CD9E
+ setflag FLAG_0x31D
+ return
+
+Route111_EventScript_28CDA2:: @ 828CDA2
+ clearflag FLAG_0x31D
+ return
+
+Route111_EventScript_28CDA6:: @ 828CDA6
+ setflag FLAG_0x31E
+ return
+
+Route111_EventScript_28CDAA:: @ 828CDAA
+ clearflag FLAG_0x31E
+ return
+
+Route111_EventScript_28CDAE:: @ 828CDAE
+ setflag FLAG_0x31F
+ return
+
+Route111_EventScript_28CDB2:: @ 828CDB2
+ clearflag FLAG_0x31F
+ return
+
+Route111_EventScript_28CDB6:: @ 828CDB6
+ setflag FLAG_0x385
+ return
+
+Route111_EventScript_28CDBA:: @ 828CDBA
+ clearflag FLAG_0x385
+ return
+
+Route111_EventScript_28CDBE:: @ 828CDBE
+ setflag FLAG_0x386
+ return
+
+Route111_EventScript_28CDC2:: @ 828CDC2
+ clearflag FLAG_0x386
+ return
+
+Route111_EventScript_28CDC6:: @ 828CDC6
+ setflag FLAG_0x387
+ return
+
+Route111_EventScript_28CDCA:: @ 828CDCA
+ clearflag FLAG_0x387
+ return
+
+Route111_EventScript_28CDCE:: @ 828CDCE
+ setflag FLAG_0x388
+ return
+
+Route111_EventScript_28CDD2:: @ 828CDD2
+ clearflag FLAG_0x388
+ return
+
+Route111_EventScript_28CDD6:: @ 828CDD6
+ trainerbattle 6, TRAINER_GABBY_AND_TY_1, 0, Route111_Text_28AF05, Route111_Text_28B000, Route111_Text_28B5EC, Route111_EventScript_28CF56
+ msgbox Route111_Text_28B5C0, 4
+ release
+ end
+
+Route111_EventScript_28CDF6:: @ 828CDF6
+ trainerbattle 6, TRAINER_GABBY_AND_TY_1, 0, Route111_Text_28B75C, Route111_Text_28B8B1, Route111_Text_28B841, Route111_EventScript_28CF56
+ msgbox Route111_Text_28B805, 4
+ release
+ end
+
+Route118_EventScript_28CE16:: @ 828CE16
+ trainerbattle 6, TRAINER_GABBY_AND_TY_2, 0, Route118_Text_28AF7D, Route118_Text_28B719, Route118_Text_28B5EC, Route118_EventScript_28CFC3
+ msgbox Route118_Text_28B5C0, 4
+ release
+ end
+
+Route118_EventScript_28CE36:: @ 828CE36
+ trainerbattle 6, TRAINER_GABBY_AND_TY_2, 0, Route118_Text_28B7B1, Route118_Text_28B8F6, Route118_Text_28B841, Route118_EventScript_28CFC3
+ msgbox Route118_Text_28B805, 4
+ release
+ end
+
+Route120_EventScript_28CE56:: @ 828CE56
+ trainerbattle 6, TRAINER_GABBY_AND_TY_3, 0, Route120_Text_28AF7D, Route120_Text_28B719, Route120_Text_28B5EC, Route120_EventScript_28CFC3
+ msgbox Route120_Text_28B5C0, 4
+ release
+ end
+
+Route120_EventScript_28CE76:: @ 828CE76
+ trainerbattle 6, TRAINER_GABBY_AND_TY_3, 0, Route120_Text_28B7B1, Route120_Text_28B8F6, Route120_Text_28B841, Route120_EventScript_28CFC3
+ msgbox Route120_Text_28B805, 4
+ release
+ end
+
+Route111_EventScript_28CE96:: @ 828CE96
+ trainerbattle 6, TRAINER_GABBY_AND_TY_4, 0, Route111_Text_28AF7D, Route111_Text_28B719, Route111_Text_28B5EC, Route111_EventScript_28CFC3
+ msgbox Route111_Text_28B5C0, 4
+ release
+ end
+
+Route111_EventScript_28CEB6:: @ 828CEB6
+ trainerbattle 6, TRAINER_GABBY_AND_TY_4, 0, Route111_Text_28B7B1, Route111_Text_28B8F6, Route111_Text_28B841, Route111_EventScript_28CFC3
+ msgbox Route111_Text_28B805, 4
+ release
+ end
+
+Route118_EventScript_28CED6:: @ 828CED6
+ trainerbattle 6, TRAINER_GABBY_AND_TY_5, 0, Route118_Text_28AF7D, Route118_Text_28B719, Route118_Text_28B5EC, Route118_EventScript_28CFC3
+ msgbox Route118_Text_28B5C0, 4
+ release
+ end
+
+Route118_EventScript_28CEF6:: @ 828CEF6
+ trainerbattle 6, TRAINER_GABBY_AND_TY_5, 0, Route118_Text_28B7B1, Route118_Text_28B8F6, Route118_Text_28B841, Route118_EventScript_28CFC3
+ msgbox Route118_Text_28B805, 4
+ release
+ end
+
+Route111_EventScript_28CF16:: @ 828CF16
+Route118_EventScript_28CF16:: @ 828CF16
+Route120_EventScript_28CF16:: @ 828CF16
+ trainerbattle 6, TRAINER_GABBY_AND_TY_6, 0, Route111_Text_28AF7D, Route111_Text_28B719, Route111_Text_28B5EC, Route111_EventScript_28CFC3
+ msgbox Route111_Text_28B5C0, 4
+ release
+ end
+
+Route111_EventScript_28CF36:: @ 828CF36
+Route118_EventScript_28CF36:: @ 828CF36
+Route120_EventScript_28CF36:: @ 828CF36
+ trainerbattle 6, TRAINER_GABBY_AND_TY_6, 0, Route111_Text_28B7B1, Route111_Text_28B8F6, Route111_Text_28B841, Route111_EventScript_28CFC3
+ msgbox Route111_Text_28B805, 4
+ release
+ end
+
+Route111_EventScript_28CF56:: @ 828CF56
+ special GabbyAndTyBeforeInterview
+ special GabbyAndTySetScriptVarsToFieldObjectLocalIds
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, Route111_EventScript_28CF94
+ compare_var_to_value VAR_FACING, 1
+ call_if 1, Route111_EventScript_28CF9F
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, Route111_EventScript_28CFB1
+ checkflag FLAG_0x001
+ goto_eq Route111_EventScript_28D0EE
+ msgbox Route111_Text_28B042, 5
+ goto Route111_EventScript_28D0A7
+ end
+
+Route111_EventScript_28CF94:: @ 828CF94
+ applymovement VAR_0x8004, Route111_Movement_28D04D
+ waitmovement 0
+ return
+
+Route111_EventScript_28CF9F:: @ 828CF9F
+ applymovement VAR_0x8004, Route111_Movement_28D04F
+ applymovement VAR_0x8005, Route111_Movement_2725A6
+ waitmovement 0
+ return
+
+Route111_EventScript_28CFB1:: @ 828CFB1
+ applymovement VAR_0x8004, Route111_Movement_28D051
+ applymovement VAR_0x8005, Route111_Movement_2725A4
+ waitmovement 0
+ return
+
+Route111_EventScript_28CFC3:: @ 828CFC3
+Route118_EventScript_28CFC3:: @ 828CFC3
+Route120_EventScript_28CFC3:: @ 828CFC3
+ special GabbyAndTyBeforeInterview
+ special GabbyAndTySetScriptVarsToFieldObjectLocalIds
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, Route111_EventScript_28CF94
+ compare_var_to_value VAR_FACING, 1
+ call_if 1, Route111_EventScript_28CF9F
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, Route111_EventScript_28CFB1
+ checkflag FLAG_0x001
+ goto_eq Route111_EventScript_28D0EE
+ specialvar VAR_RESULT, GabbyAndTyGetLastQuote
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route111_EventScript_28D053
+ msgbox Route111_Text_28B137, 4
+ specialvar VAR_RESULT, GabbyAndTyGetLastBattleTrivia
+ switch VAR_RESULT
+ case 0, Route111_EventScript_28D061
+ case 1, Route111_EventScript_28D06F
+ case 2, Route111_EventScript_28D07D
+ case 3, Route111_EventScript_28D08B
+ case 4, Route111_EventScript_28D099
+ end
+
+Route111_Movement_28D04D: @ 828D04D
+ step_1d
+ step_end
+
+Route111_Movement_28D04F: @ 828D04F
+ step_1e
+ step_end
+
+Route111_Movement_28D051: @ 828D051
+ step_1f
+ step_end
+
+Route111_EventScript_28D053:: @ 828D053
+ msgbox Route111_Text_28B62D, 5
+ goto Route111_EventScript_28D0A7
+ end
+
+Route111_EventScript_28D061:: @ 828D061
+ msgbox Route111_Text_28B3F3, 5
+ goto Route111_EventScript_28D0A7
+ end
+
+Route111_EventScript_28D06F:: @ 828D06F
+ msgbox Route111_Text_28B1B3, 5
+ goto Route111_EventScript_28D0A7
+ end
+
+Route111_EventScript_28D07D:: @ 828D07D
+ msgbox Route111_Text_28B23D, 5
+ goto Route111_EventScript_28D0A7
+ end
+
+Route111_EventScript_28D08B:: @ 828D08B
+ msgbox Route111_Text_28B2FA, 5
+ goto Route111_EventScript_28D0A7
+ end
+
+Route111_EventScript_28D099:: @ 828D099
+ msgbox Route111_Text_28B379, 5
+ goto Route111_EventScript_28D0A7
+ end
+
+Route111_EventScript_28D0A7:: @ 828D0A7
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route111_EventScript_28D0E1
+ msgbox Route111_Text_28B433, 4
+ setvar VAR_0x8004, 10
+ call Route111_EventScript_271E7C
+ lock
+ faceplayer
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route111_EventScript_28D0E1
+ msgbox Route111_Text_28B4AB, 4
+ special GabbyAndTyAfterInterview
+ setflag FLAG_0x001
+ release
+ end
+
+Route111_EventScript_28D0E1:: @ 828D0E1
+ msgbox Route111_Text_28B577, 4
+ setflag FLAG_0x001
+ release
+ end
+
+Route111_EventScript_28D0EE:: @ 828D0EE
+ msgbox Route111_Text_28B5C0, 4
+ release
+ end
diff --git a/data/scripts/item_ball_scripts.inc b/data/scripts/item_ball_scripts.inc
new file mode 100644
index 000000000..2b0083175
--- /dev/null
+++ b/data/scripts/item_ball_scripts.inc
@@ -0,0 +1,659 @@
+Route102_EventScript_290CD8:: @ 8290CD8
+ giveitem_std ITEM_POTION, 1, 1
+ end
+
+Route103_EventScript_290CE5:: @ 8290CE5
+ giveitem_std ITEM_GUARD_SPEC, 1, 1
+ end
+
+Route103_EventScript_290CF2:: @ 8290CF2
+ giveitem_std ITEM_PP_UP, 1, 1
+ end
+
+Route104_EventScript_290CFF:: @ 8290CFF
+ giveitem_std ITEM_PP_UP, 1, 1
+ end
+
+Route104_EventScript_290D0C:: @ 8290D0C
+ giveitem_std ITEM_POKE_BALL, 1, 1
+ end
+
+Route104_EventScript_290D19:: @ 8290D19
+ giveitem_std ITEM_X_ACCURACY, 1, 1
+ end
+
+Route104_EventScript_290D26:: @ 8290D26
+ giveitem_std ITEM_POTION, 1, 1
+ end
+
+Route105_EventScript_290D33:: @ 8290D33
+ giveitem_std ITEM_IRON, 1, 1
+ end
+
+Route106_EventScript_290D40:: @ 8290D40
+ giveitem_std ITEM_PROTEIN, 1, 1
+ end
+
+Route108_EventScript_290D4D:: @ 8290D4D
+ giveitem_std ITEM_STAR_PIECE, 1, 1
+ end
+
+Route109_EventScript_290D5A:: @ 8290D5A
+ giveitem_std ITEM_PP_UP, 1, 1
+ end
+
+Route109_EventScript_290D67:: @ 8290D67
+ giveitem_std ITEM_POTION, 1, 1
+ end
+
+Route110_EventScript_290D74:: @ 8290D74
+ giveitem_std ITEM_RARE_CANDY, 1, 1
+ end
+
+Route110_EventScript_290D81:: @ 8290D81
+ giveitem_std ITEM_DIRE_HIT, 1, 1
+ end
+
+Route110_EventScript_290D8E:: @ 8290D8E
+ giveitem_std ITEM_ELIXIR, 1, 1
+ end
+
+Route111_EventScript_290D9B:: @ 8290D9B
+ giveitem_std ITEM_TM37, 1, 1
+ end
+
+Route111_EventScript_290DA8:: @ 8290DA8
+ giveitem_std ITEM_STARDUST, 1, 1
+ end
+
+Route111_EventScript_290DB5:: @ 8290DB5
+ giveitem_std ITEM_HP_UP, 1, 1
+ end
+
+Route111_EventScript_290DC2:: @ 8290DC2
+ giveitem_std ITEM_ELIXIR, 1, 1
+ end
+
+Route112_EventScript_290DCF:: @ 8290DCF
+ giveitem_std ITEM_NUGGET, 1, 1
+ end
+
+Route113_EventScript_290DDC:: @ 8290DDC
+ giveitem_std ITEM_MAX_ETHER, 1, 1
+ end
+
+Route113_EventScript_290DE9:: @ 8290DE9
+ giveitem_std ITEM_SUPER_REPEL, 1, 1
+ end
+
+Route113_EventScript_290DF6:: @ 8290DF6
+ giveitem_std ITEM_HYPER_POTION, 1, 1
+ end
+
+Route114_EventScript_290E03:: @ 8290E03
+ giveitem_std ITEM_RARE_CANDY, 1, 1
+ end
+
+Route114_EventScript_290E10:: @ 8290E10
+ giveitem_std ITEM_PROTEIN, 1, 1
+ end
+
+Route114_EventScript_290E1D:: @ 8290E1D
+ giveitem_std ITEM_ENERGY_POWDER, 1, 1
+ end
+
+Route115_EventScript_290E2A:: @ 8290E2A
+ giveitem_std ITEM_SUPER_POTION, 1, 1
+ end
+
+Route115_EventScript_290E37:: @ 8290E37
+ giveitem_std ITEM_TM01, 1, 1
+ end
+
+Route115_EventScript_290E44:: @ 8290E44
+ giveitem_std ITEM_IRON, 1, 1
+ end
+
+Route115_EventScript_290E51:: @ 8290E51
+ giveitem_std ITEM_GREAT_BALL, 1, 1
+ end
+
+Route115_EventScript_290E5E:: @ 8290E5E
+ giveitem_std ITEM_HEAL_POWDER, 1, 1
+ end
+
+Route115_EventScript_290E6B:: @ 8290E6B
+ giveitem_std ITEM_PP_UP, 1, 1
+ end
+
+Route116_EventScript_290E78:: @ 8290E78
+ giveitem_std ITEM_X_SPECIAL, 1, 1
+ end
+
+Route116_EventScript_290E85:: @ 8290E85
+ giveitem_std ITEM_ETHER, 1, 1
+ end
+
+Route116_EventScript_290E92:: @ 8290E92
+ giveitem_std ITEM_REPEL, 1, 1
+ end
+
+Route116_EventScript_290E9F:: @ 8290E9F
+ giveitem_std ITEM_HP_UP, 1, 1
+ end
+
+Route116_EventScript_290EAC:: @ 8290EAC
+ giveitem_std ITEM_POTION, 1, 1
+ end
+
+Route117_EventScript_290EB9:: @ 8290EB9
+ giveitem_std ITEM_GREAT_BALL, 1, 1
+ end
+
+Route117_EventScript_290EC6:: @ 8290EC6
+ giveitem_std ITEM_REVIVE, 1, 1
+ end
+
+Route118_EventScript_290ED3:: @ 8290ED3
+ giveitem_std ITEM_HYPER_POTION, 1, 1
+ end
+
+Route119_EventScript_290EE0:: @ 8290EE0
+ giveitem_std ITEM_SUPER_REPEL, 1, 1
+ end
+
+Route119_EventScript_290EED:: @ 8290EED
+ giveitem_std ITEM_ZINC, 1, 1
+ end
+
+Route119_EventScript_290EFA:: @ 8290EFA
+ giveitem_std ITEM_ELIXIR, 1, 1
+ end
+
+Route119_EventScript_290F07:: @ 8290F07
+ giveitem_std ITEM_LEAF_STONE, 1, 1
+ end
+
+Route119_EventScript_290F14:: @ 8290F14
+ giveitem_std ITEM_RARE_CANDY, 1, 1
+ end
+
+Route119_EventScript_290F21:: @ 8290F21
+ giveitem_std ITEM_HYPER_POTION, 1, 1
+ end
+
+Route119_EventScript_290F2E:: @ 8290F2E
+ giveitem_std ITEM_HYPER_POTION, 1, 1
+ end
+
+Route119_EventScript_290F3B:: @ 8290F3B
+ giveitem_std ITEM_ELIXIR, 1, 1
+ end
+
+Route120_EventScript_290F48:: @ 8290F48
+ giveitem_std ITEM_NUGGET, 1, 1
+ end
+
+Route120_EventScript_290F55:: @ 8290F55
+ giveitem_std ITEM_FULL_HEAL, 1, 1
+ end
+
+Route120_EventScript_290F62:: @ 8290F62
+ giveitem_std ITEM_HYPER_POTION, 1, 1
+ end
+
+Route120_EventScript_290F6F:: @ 8290F6F
+ giveitem_std ITEM_NEST_BALL, 1, 1
+ end
+
+Route120_EventScript_290F7C:: @ 8290F7C
+ giveitem_std ITEM_REVIVE, 1, 1
+ end
+
+Route121_EventScript_290F89:: @ 8290F89
+ giveitem_std ITEM_CARBOS, 1, 1
+ end
+
+Route121_EventScript_290F96:: @ 8290F96
+ giveitem_std ITEM_REVIVE, 1, 1
+ end
+
+Route121_EventScript_290FA3:: @ 8290FA3
+ giveitem_std ITEM_ZINC, 1, 1
+ end
+
+Route123_EventScript_290FB0:: @ 8290FB0
+ giveitem_std ITEM_CALCIUM, 1, 1
+ end
+
+Route123_EventScript_290FBD:: @ 8290FBD
+ giveitem_std ITEM_ULTRA_BALL, 1, 1
+ end
+
+Route123_EventScript_290FCA:: @ 8290FCA
+ giveitem_std ITEM_ELIXIR, 1, 1
+ end
+
+Route123_EventScript_290FD7:: @ 8290FD7
+ giveitem_std ITEM_PP_UP, 1, 1
+ end
+
+Route123_EventScript_290FE4:: @ 8290FE4
+ giveitem_std ITEM_REVIVAL_HERB, 1, 1
+ end
+
+Route124_EventScript_290FF1:: @ 8290FF1
+ giveitem_std ITEM_RED_SHARD, 1, 1
+ end
+
+Route124_EventScript_290FFE:: @ 8290FFE
+ giveitem_std ITEM_BLUE_SHARD, 1, 1
+ end
+
+Route124_EventScript_29100B:: @ 829100B
+ giveitem_std ITEM_YELLOW_SHARD, 1, 1
+ end
+
+Route125_EventScript_291018:: @ 8291018
+ giveitem_std ITEM_BIG_PEARL, 1, 1
+ end
+
+Route126_EventScript_291025:: @ 8291025
+ giveitem_std ITEM_GREEN_SHARD, 1, 1
+ end
+
+Route127_EventScript_291032:: @ 8291032
+ giveitem_std ITEM_ZINC, 1, 1
+ end
+
+Route127_EventScript_29103F:: @ 829103F
+ giveitem_std ITEM_CARBOS, 1, 1
+ end
+
+Route127_EventScript_29104C:: @ 829104C
+ giveitem_std ITEM_RARE_CANDY, 1, 1
+ end
+
+Route132_EventScript_291059:: @ 8291059
+ giveitem_std ITEM_RARE_CANDY, 1, 1
+ end
+
+Route132_EventScript_291066:: @ 8291066
+ giveitem_std ITEM_PROTEIN, 1, 1
+ end
+
+Route133_EventScript_291073:: @ 8291073
+ giveitem_std ITEM_BIG_PEARL, 1, 1
+ end
+
+Route133_EventScript_291080:: @ 8291080
+ giveitem_std ITEM_STAR_PIECE, 1, 1
+ end
+
+Route133_EventScript_29108D:: @ 829108D
+ giveitem_std ITEM_MAX_REVIVE, 1, 1
+ end
+
+Route134_EventScript_29109A:: @ 829109A
+ giveitem_std ITEM_CARBOS, 1, 1
+ end
+
+Route134_EventScript_2910A7:: @ 82910A7
+ giveitem_std ITEM_STAR_PIECE, 1, 1
+ end
+
+PetalburgCity_EventScript_2910B4:: @ 82910B4
+ giveitem_std ITEM_MAX_REVIVE, 1, 1
+ end
+
+PetalburgCity_EventScript_2910C1:: @ 82910C1
+ giveitem_std ITEM_ETHER, 1, 1
+ end
+
+MauvilleCity_EventScript_2910CE:: @ 82910CE
+ giveitem_std ITEM_X_SPEED, 1, 1
+ end
+
+RustboroCity_EventScript_2910DB:: @ 82910DB
+ giveitem_std ITEM_X_DEFEND, 1, 1
+ end
+
+LilycoveCity_EventScript_2910E8:: @ 82910E8
+ giveitem_std ITEM_MAX_REPEL, 1, 1
+ end
+
+MossdeepCity_EventScript_2910F5:: @ 82910F5
+ giveitem_std ITEM_NET_BALL, 1, 1
+ end
+
+PetalburgWoods_EventScript_291102:: @ 8291102
+ giveitem_std ITEM_X_ATTACK, 1, 1
+ end
+
+PetalburgWoods_EventScript_29110F:: @ 829110F
+ giveitem_std ITEM_GREAT_BALL, 1, 1
+ end
+
+PetalburgWoods_EventScript_29111C:: @ 829111C
+ giveitem_std ITEM_ETHER, 1, 1
+ end
+
+PetalburgWoods_EventScript_291129:: @ 8291129
+ giveitem_std ITEM_PARALYZE_HEAL, 1, 1
+ end
+
+RusturfTunnel_EventScript_291136:: @ 8291136
+ giveitem_std ITEM_POKE_BALL, 1, 1
+ end
+
+RusturfTunnel_EventScript_291143:: @ 8291143
+ giveitem_std ITEM_MAX_ETHER, 1, 1
+ end
+
+GraniteCave_1F_EventScript_291150:: @ 8291150
+ giveitem_std ITEM_ESCAPE_ROPE, 1, 1
+ end
+
+GraniteCave_B1F_EventScript_29115D:: @ 829115D
+ giveitem_std ITEM_POKE_BALL, 1, 1
+ end
+
+GraniteCave_B2F_EventScript_29116A:: @ 829116A
+ giveitem_std ITEM_REPEL, 1, 1
+ end
+
+GraniteCave_B2F_EventScript_291177:: @ 8291177
+ giveitem_std ITEM_RARE_CANDY, 1, 1
+ end
+
+JaggedPass_EventScript_291184:: @ 8291184
+ giveitem_std ITEM_BURN_HEAL, 1, 1
+ end
+
+FieryPath_EventScript_291191:: @ 8291191
+ giveitem_std ITEM_FIRE_STONE, 1, 1
+ end
+
+FieryPath_EventScript_29119E:: @ 829119E
+ giveitem_std ITEM_TM06, 1, 1
+ end
+
+MeteorFalls_1F_1R_EventScript_2911AB:: @ 82911AB
+ giveitem_std ITEM_TM23, 1, 1
+ end
+
+MeteorFalls_1F_1R_EventScript_2911B8:: @ 82911B8
+ giveitem_std ITEM_FULL_HEAL, 1, 1
+ end
+
+MeteorFalls_1F_1R_EventScript_2911C5:: @ 82911C5
+ giveitem_std ITEM_MOON_STONE, 1, 1
+ end
+
+MeteorFalls_1F_1R_EventScript_2911D2:: @ 82911D2
+ giveitem_std ITEM_PP_UP, 1, 1
+ end
+
+MeteorFalls_B1F_2R_EventScript_2911DF:: @ 82911DF
+ giveitem_std ITEM_TM02, 1, 1
+ end
+
+NewMauville_Inside_EventScript_2911EC:: @ 82911EC
+ giveitem_std ITEM_ULTRA_BALL, 1, 1
+ end
+
+NewMauville_Inside_EventScript_2911F9:: @ 82911F9
+ giveitem_std ITEM_ESCAPE_ROPE, 1, 1
+ end
+
+NewMauville_Inside_EventScript_291206:: @ 8291206
+ giveitem_std ITEM_THUNDER_STONE, 1, 1
+ end
+
+NewMauville_Inside_EventScript_291213:: @ 8291213
+ giveitem_std ITEM_FULL_HEAL, 1, 1
+ end
+
+NewMauville_Inside_EventScript_291220:: @ 8291220
+ giveitem_std ITEM_PARALYZE_HEAL, 1, 1
+ end
+
+AbandonedShip_Rooms_1F_EventScript_29122D:: @ 829122D
+ giveitem_std ITEM_HARBOR_MAIL, 1, 1
+ end
+
+AbandonedShip_Rooms_B1F_EventScript_29123A:: @ 829123A
+ giveitem_std ITEM_ESCAPE_ROPE, 1, 1
+ end
+
+AbandonedShip_Rooms2_B1F_EventScript_291247:: @ 8291247
+ giveitem_std ITEM_DIVE_BALL, 1, 1
+ end
+
+AbandonedShip_Room_B1F_EventScript_291254:: @ 8291254
+ giveitem_std ITEM_TM13, 1, 1
+ end
+
+AbandonedShip_Rooms2_1F_EventScript_291261:: @ 8291261
+ giveitem_std ITEM_REVIVE, 1, 1
+ end
+
+AbandonedShip_CaptainsOffice_EventScript_29126E:: @ 829126E
+ giveitem_std ITEM_STORAGE_KEY, 1, 1
+ end
+
+AbandonedShip_HiddenFloorRooms_EventScript_29127B:: @ 829127B
+ giveitem_std ITEM_LUXURY_BALL, 1, 1
+ end
+
+AbandonedShip_HiddenFloorRooms_EventScript_291288:: @ 8291288
+ giveitem_std ITEM_SCANNER, 1, 1
+ end
+
+AbandonedShip_HiddenFloorRooms_EventScript_291295:: @ 8291295
+ giveitem_std ITEM_WATER_STONE, 1, 1
+ end
+
+AbandonedShip_HiddenFloorRooms_EventScript_2912A2:: @ 82912A2
+ giveitem_std ITEM_TM18, 1, 1
+ end
+
+ScorchedSlab_EventScript_2912AF:: @ 82912AF
+ giveitem_std ITEM_TM11, 1, 1
+ end
+
+SafariZone_Northwest_EventScript_2912BC:: @ 82912BC
+ giveitem_std ITEM_TM22, 1, 1
+ end
+
+SafariZone_North_EventScript_2912C9:: @ 82912C9
+ giveitem_std ITEM_CALCIUM, 1, 1
+ end
+
+SafariZone_Southwest_EventScript_2912D6:: @ 82912D6
+ giveitem_std ITEM_MAX_REVIVE, 1, 1
+ end
+
+SafariZone_Northeast_EventScript_2912E3:: @ 82912E3
+ giveitem_std ITEM_NUGGET, 1, 1
+ end
+
+SafariZone_Southeast_EventScript_2912F0:: @ 82912F0
+ giveitem_std ITEM_BIG_PEARL, 1, 1
+ end
+
+MtPyre_2F_EventScript_2912FD:: @ 82912FD
+ giveitem_std ITEM_ULTRA_BALL, 1, 1
+ end
+
+MtPyre_3F_EventScript_29130A:: @ 829130A
+ giveitem_std ITEM_SUPER_REPEL, 1, 1
+ end
+
+MtPyre_4F_EventScript_291317:: @ 8291317
+ giveitem_std ITEM_SEA_INCENSE, 1, 1
+ end
+
+MtPyre_5F_EventScript_291324:: @ 8291324
+ giveitem_std ITEM_LAX_INCENSE, 1, 1
+ end
+
+MtPyre_6F_EventScript_291331:: @ 8291331
+ giveitem_std ITEM_TM30, 1, 1
+ end
+
+MtPyre_Exterior_EventScript_29133E:: @ 829133E
+ giveitem_std ITEM_MAX_POTION, 1, 1
+ end
+
+MtPyre_Exterior_EventScript_29134B:: @ 829134B
+ giveitem_std ITEM_TM48, 1, 1
+ end
+
+AquaHideout_B1F_EventScript_291358:: @ 8291358
+ giveitem_std ITEM_MASTER_BALL, 1, 1
+ end
+
+AquaHideout_B1F_EventScript_291365:: @ 8291365
+ giveitem_std ITEM_NUGGET, 1, 1
+ end
+
+AquaHideout_B1F_EventScript_291372:: @ 8291372
+ giveitem_std ITEM_MAX_ELIXIR, 1, 1
+ end
+
+AquaHideout_B2F_EventScript_29137F:: @ 829137F
+ giveitem_std ITEM_NEST_BALL, 1, 1
+ end
+
+AquaHideout_B2F_EventScript_29138C:: @ 829138C
+ giveitem_std ITEM_MASTER_BALL, 1, 1
+ end
+
+Route119_EventScript_291399:: @ 8291399
+ giveitem_std ITEM_NUGGET, 1, 1
+ end
+
+Route119_EventScript_2913A6:: @ 82913A6
+ giveitem_std ITEM_MAX_ELIXIR, 1, 1
+ end
+
+Route119_EventScript_2913B3:: @ 82913B3
+ giveitem_std ITEM_NEST_BALL, 1, 1
+ end
+
+ShoalCave_LowTideEntranceRoom_EventScript_2913C0:: @ 82913C0
+ giveitem_std ITEM_BIG_PEARL, 1, 1
+ end
+
+ShoalCave_LowTideInnerRoom_EventScript_2913CD:: @ 82913CD
+ giveitem_std ITEM_RARE_CANDY, 1, 1
+ end
+
+ShoalCave_LowTideStairsRoom_EventScript_2913DA:: @ 82913DA
+ giveitem_std ITEM_ICE_HEAL, 1, 1
+ end
+
+ShoalCave_LowTideIceRoom_EventScript_2913E7:: @ 82913E7
+ giveitem_std ITEM_TM07, 1, 1
+ end
+
+ShoalCave_LowTideIceRoom_EventScript_2913F4:: @ 82913F4
+ giveitem_std ITEM_NEVER_MELT_ICE, 1, 1
+ end
+
+SeafloorCavern_Room9_EventScript_291401:: @ 8291401
+ giveitem_std ITEM_TM26, 1, 1
+ end
+
+Route110_TrickHousePuzzle1_EventScript_29140E:: @ 829140E
+ giveitem_std ITEM_ORANGE_MAIL, 1, 1
+ end
+
+Route110_TrickHousePuzzle2_EventScript_29141B:: @ 829141B
+ giveitem_std ITEM_HARBOR_MAIL, 1, 1
+ end
+
+Route110_TrickHousePuzzle2_EventScript_291428:: @ 8291428
+ giveitem_std ITEM_WAVE_MAIL, 1, 1
+ end
+
+Route110_TrickHousePuzzle3_EventScript_291435:: @ 8291435
+ giveitem_std ITEM_SHADOW_MAIL, 1, 1
+ end
+
+Route110_TrickHousePuzzle3_EventScript_291442:: @ 8291442
+ giveitem_std ITEM_WOOD_MAIL, 1, 1
+ end
+
+Route110_TrickHousePuzzle4_EventScript_29144F:: @ 829144F
+ giveitem_std ITEM_MECH_MAIL, 1, 1
+ end
+
+Route110_TrickHousePuzzle6_EventScript_29145C:: @ 829145C
+ giveitem_std ITEM_GLITTER_MAIL, 1, 1
+ end
+
+Route110_TrickHousePuzzle7_EventScript_291469:: @ 8291469
+ giveitem_std ITEM_TROPIC_MAIL, 1, 1
+ end
+
+Route110_TrickHousePuzzle8_EventScript_291476:: @ 8291476
+ giveitem_std ITEM_BEAD_MAIL, 1, 1
+ end
+
+VictoryRoad_1F_EventScript_291483:: @ 8291483
+ giveitem_std ITEM_MAX_ELIXIR, 1, 1
+ end
+
+VictoryRoad_1F_EventScript_291490:: @ 8291490
+ giveitem_std ITEM_PP_UP, 1, 1
+ end
+
+VictoryRoad_B1F_EventScript_29149D:: @ 829149D
+ giveitem_std ITEM_TM29, 1, 1
+ end
+
+VictoryRoad_B1F_EventScript_2914AA:: @ 82914AA
+ giveitem_std ITEM_FULL_RESTORE, 1, 1
+ end
+
+VictoryRoad_B2F_EventScript_2914B7:: @ 82914B7
+ giveitem_std ITEM_FULL_HEAL, 1, 1
+ end
+
+ArtisanCave_B1F_EventScript_2914C4:: @ 82914C4
+ giveitem_std ITEM_HP_UP, 1, 1
+ end
+
+ArtisanCave_1F_EventScript_2914D1:: @ 82914D1
+ giveitem_std ITEM_CARBOS, 1, 1
+ end
+
+MagmaHideout_1F_EventScript_2914DE:: @ 82914DE
+ giveitem_std ITEM_RARE_CANDY, 1, 1
+ end
+
+MagmaHideout_2F_2R_EventScript_2914EB:: @ 82914EB
+ giveitem_std ITEM_MAX_ELIXIR, 1, 1
+ end
+
+MagmaHideout_2F_2R_EventScript_2914F8:: @ 82914F8
+ giveitem_std ITEM_FULL_RESTORE, 1, 1
+ end
+
+MagmaHideout_3F_1R_EventScript_291505:: @ 8291505
+ giveitem_std ITEM_NUGGET, 1, 1
+ end
+
+MagmaHideout_3F_2R_EventScript_291512:: @ 8291512
+ giveitem_std ITEM_PP_MAX, 1, 1
+ end
+
+MagmaHideout_4F_EventScript_29151F:: @ 829151F
+ giveitem_std ITEM_MAX_REVIVE, 1, 1
+ end
+
+MagmaHideout_3F_3R_EventScript_29152C:: @ 829152C
+ giveitem_std ITEM_ESCAPE_ROPE, 1, 1
+ end
diff --git a/data/scripts/maps/AbandonedShip_CaptainsOffice.inc b/data/scripts/maps/AbandonedShip_CaptainsOffice.inc
new file mode 100644
index 000000000..97034e97a
--- /dev/null
+++ b/data/scripts/maps/AbandonedShip_CaptainsOffice.inc
@@ -0,0 +1,44 @@
+AbandonedShip_CaptainsOffice_MapScripts:: @ 82387E1
+ .byte 0
+
+AbandonedShip_CaptainsOffice_EventScript_2387E2:: @ 82387E2
+ lock
+ faceplayer
+ checkflag FLAG_0x126
+ goto_eq AbandonedShip_CaptainsOffice_EventScript_23881A
+ checkitem ITEM_SCANNER, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq AbandonedShip_CaptainsOffice_EventScript_238810
+ checkflag FLAG_0x436
+ goto_eq AbandonedShip_CaptainsOffice_EventScript_23881A
+ msgbox AbandonedShip_CaptainsOffice_Text_238824, 4
+ release
+ end
+
+AbandonedShip_CaptainsOffice_EventScript_238810:: @ 8238810
+ msgbox AbandonedShip_CaptainsOffice_Text_23889D, 4
+ release
+ end
+
+AbandonedShip_CaptainsOffice_EventScript_23881A:: @ 823881A
+ msgbox AbandonedShip_CaptainsOffice_Text_238918, 4
+ release
+ end
+
+AbandonedShip_CaptainsOffice_Text_238824: @ 8238824
+ .string "I’m investigating this ship on behalf\n"
+ .string "of CAPT. STERN.\p"
+ .string "He also asked me to find a SCANNER,\n"
+ .string "but I haven’t had any success…$"
+
+AbandonedShip_CaptainsOffice_Text_23889D: @ 823889D
+ .string "Oh! That’s a SCANNER!\p"
+ .string "Listen, can I get you to deliver that\n"
+ .string "to CAPT. STERN?\p"
+ .string "I want to investigate this ship a\n"
+ .string "little more.$"
+
+AbandonedShip_CaptainsOffice_Text_238918: @ 8238918
+ .string "This ship is called S.S. CACTUS.\n"
+ .string "It seems to be from an earlier era.$"
+
diff --git a/data/scripts/maps/AbandonedShip_Corridors_1F.inc b/data/scripts/maps/AbandonedShip_Corridors_1F.inc
new file mode 100644
index 000000000..39c7861a1
--- /dev/null
+++ b/data/scripts/maps/AbandonedShip_Corridors_1F.inc
@@ -0,0 +1,27 @@
+AbandonedShip_Corridors_1F_MapScripts:: @ 82379A4
+ .byte 0
+
+AbandonedShip_Corridors_1F_EventScript_2379A5:: @ 82379A5
+ msgbox AbandonedShip_Corridors_1F_Text_237A60, 2
+ end
+
+AbandonedShip_Corridors_1F_EventScript_2379AE:: @ 82379AE
+ trainerbattle 0, TRAINER_CHARLIE, 0, AbandonedShip_Corridors_1F_Text_2379C5, AbandonedShip_Corridors_1F_Text_237A01
+ msgbox AbandonedShip_Corridors_1F_Text_237A1B, 6
+ end
+
+AbandonedShip_Corridors_1F_Text_2379C5: @ 82379C5
+ .string "What’s so funny about having my inner\n"
+ .string "tube aboard the ship?$"
+
+AbandonedShip_Corridors_1F_Text_237A01: @ 8237A01
+ .string "Whoa, you overwhelmed me!$"
+
+AbandonedShip_Corridors_1F_Text_237A1B: @ 8237A1B
+ .string "It’s not easy throwing POKé BALLS\n"
+ .string "while hanging on to an inner tube!$"
+
+AbandonedShip_Corridors_1F_Text_237A60: @ 8237A60
+ .string "Isn’t it fun here?\n"
+ .string "I get excited just being here!$"
+
diff --git a/data/scripts/maps/AbandonedShip_Corridors_B1F.inc b/data/scripts/maps/AbandonedShip_Corridors_B1F.inc
new file mode 100644
index 000000000..72784cac7
--- /dev/null
+++ b/data/scripts/maps/AbandonedShip_Corridors_B1F.inc
@@ -0,0 +1,91 @@
+AbandonedShip_Corridors_B1F_MapScripts:: @ 8237D84
+ map_script 5, AbandonedShip_Corridors_B1F_MapScript1_237D8F
+ map_script 1, AbandonedShip_Corridors_B1F_MapScript1_237D98
+ .byte 0
+
+AbandonedShip_Corridors_B1F_MapScript1_237D8F: @ 8237D8F
+ setdivewarp ABANDONED_SHIP_UNDERWATER_1, 255, 5, 4
+ end
+
+AbandonedShip_Corridors_B1F_MapScript1_237D98: @ 8237D98
+ checkflag FLAG_0x0EF
+ call_if 0, AbandonedShip_Corridors_B1F_EventScript_237DAB
+ checkflag FLAG_0x0EF
+ call_if 1, AbandonedShip_Corridors_B1F_EventScript_237DB5
+ end
+
+AbandonedShip_Corridors_B1F_EventScript_237DAB:: @ 8237DAB
+ setmetatile 11, 4, 563, 1
+ return
+
+AbandonedShip_Corridors_B1F_EventScript_237DB5:: @ 8237DB5
+ setmetatile 11, 4, 555, 1
+ return
+
+AbandonedShip_Corridors_B1F_EventScript_237DBF:: @ 8237DBF
+ msgbox AbandonedShip_Corridors_B1F_Text_237F03, 2
+ end
+
+AbandonedShip_Corridors_B1F_EventScript_237DC8:: @ 8237DC8
+ lockall
+ checkflag FLAG_0x0EF
+ goto_eq AbandonedShip_Corridors_B1F_EventScript_237E09
+ checkitem ITEM_STORAGE_KEY, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq AbandonedShip_Corridors_B1F_EventScript_237DFF
+ msgbox AbandonedShip_Corridors_B1F_Text_237F4B, 4
+ playse SE_PIN
+ takeitem ITEM_STORAGE_KEY, 1
+ setflag FLAG_0x0EF
+ call AbandonedShip_Corridors_B1F_EventScript_237DB5
+ special DrawWholeMapView
+ releaseall
+ end
+
+AbandonedShip_Corridors_B1F_EventScript_237DFF:: @ 8237DFF
+ msgbox AbandonedShip_Corridors_B1F_Text_237F15, 4
+ releaseall
+ end
+
+AbandonedShip_Corridors_B1F_EventScript_237E09:: @ 8237E09
+ msgbox AbandonedShip_Corridors_B1F_Text_237FA5, 4
+ releaseall
+ end
+
+AbandonedShip_Corridors_B1F_EventScript_237E13:: @ 8237E13
+ trainerbattle 0, TRAINER_DUNCAN, 0, AbandonedShip_Corridors_B1F_Text_237E2A, AbandonedShip_Corridors_B1F_Text_237E80
+ msgbox AbandonedShip_Corridors_B1F_Text_237E92, 6
+ end
+
+AbandonedShip_Corridors_B1F_Text_237E2A: @ 8237E2A
+ .string "When we go out to sea, we SAILORS\n"
+ .string "always bring our POKéMON.\l"
+ .string "How about a quick battle?$"
+
+AbandonedShip_Corridors_B1F_Text_237E80: @ 8237E80
+ .string "Whoops, I’m sunk!$"
+
+AbandonedShip_Corridors_B1F_Text_237E92: @ 8237E92
+ .string "The ship’s bottom has sunk into the\n"
+ .string "depths.\p"
+ .string "If a POKéMON knew how to go underwater,\n"
+ .string "we might make some progress…$"
+
+AbandonedShip_Corridors_B1F_Text_237F03: @ 8237F03
+ .string "Yay!\n"
+ .string "It’s a ship!$"
+
+AbandonedShip_Corridors_B1F_Text_237F15: @ 8237F15
+ .string "The door is locked.\p"
+ .string "“STORAGE” is painted on the door.$"
+
+AbandonedShip_Corridors_B1F_Text_237F4B: @ 8237F4B
+ .string "{PLAYER} inserted and turned the\n"
+ .string "STORAGE KEY.\p"
+ .string "The inserted KEY stuck fast,\n"
+ .string "but the door opened.$"
+
+AbandonedShip_Corridors_B1F_Text_237FA5: @ 8237FA5
+AbandonedShip_HiddenFloorCorridors_Text_237FA5: @ 8237FA5
+ .string "The door is open.$"
+
diff --git a/data/scripts/maps/AbandonedShip_Deck.inc b/data/scripts/maps/AbandonedShip_Deck.inc
new file mode 100644
index 000000000..d049423a1
--- /dev/null
+++ b/data/scripts/maps/AbandonedShip_Deck.inc
@@ -0,0 +1,8 @@
+AbandonedShip_Deck_MapScripts:: @ 823799A
+ map_script 3, AbandonedShip_Deck_MapScript1_2379A0
+ .byte 0
+
+AbandonedShip_Deck_MapScript1_2379A0: @ 82379A0
+ setflag FLAG_0x89E
+ end
+
diff --git a/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc b/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc
new file mode 100644
index 000000000..b21bcfa7a
--- /dev/null
+++ b/data/scripts/maps/AbandonedShip_HiddenFloorCorridors.inc
@@ -0,0 +1,171 @@
+AbandonedShip_HiddenFloorCorridors_MapScripts:: @ 823896C
+ map_script 5, AbandonedShip_HiddenFloorCorridors_MapScript1_238977
+ map_script 1, AbandonedShip_HiddenFloorCorridors_MapScript1_238980
+ .byte 0
+
+AbandonedShip_HiddenFloorCorridors_MapScript1_238977: @ 8238977
+ setdivewarp ABANDONED_SHIP_UNDERWATER_1, 255, 5, 4
+ end
+
+AbandonedShip_HiddenFloorCorridors_MapScript1_238980: @ 8238980
+ checkflag FLAG_0x0F0
+ call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_2389F1
+ checkflag FLAG_0x0F1
+ call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_2389FB
+ checkflag FLAG_0x0F2
+ call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_238A05
+ checkflag FLAG_0x0F3
+ call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_238A0F
+ checkflag FLAG_0x0F0
+ call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_2389C9
+ checkflag FLAG_0x0F1
+ call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_2389D3
+ checkflag FLAG_0x0F2
+ call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_2389DD
+ checkflag FLAG_0x0F3
+ call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_2389E7
+ end
+
+AbandonedShip_HiddenFloorCorridors_EventScript_2389C9:: @ 82389C9
+ setmetatile 3, 8, 555, 1
+ return
+
+AbandonedShip_HiddenFloorCorridors_EventScript_2389D3:: @ 82389D3
+ setmetatile 6, 8, 555, 1
+ return
+
+AbandonedShip_HiddenFloorCorridors_EventScript_2389DD:: @ 82389DD
+ setmetatile 3, 3, 538, 0
+ return
+
+AbandonedShip_HiddenFloorCorridors_EventScript_2389E7:: @ 82389E7
+ setmetatile 9, 3, 538, 0
+ return
+
+AbandonedShip_HiddenFloorCorridors_EventScript_2389F1:: @ 82389F1
+ setmetatile 3, 8, 563, 1
+ return
+
+AbandonedShip_HiddenFloorCorridors_EventScript_2389FB:: @ 82389FB
+ setmetatile 6, 8, 563, 1
+ return
+
+AbandonedShip_HiddenFloorCorridors_EventScript_238A05:: @ 8238A05
+ setmetatile 3, 3, 564, 0
+ return
+
+AbandonedShip_HiddenFloorCorridors_EventScript_238A0F:: @ 8238A0F
+ setmetatile 9, 3, 564, 0
+ return
+
+AbandonedShip_HiddenFloorCorridors_EventScript_238A19:: @ 8238A19
+ lockall
+ checkflag FLAG_0x0F0
+ goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B1D
+ checkitem ITEM_ROOM_1_KEY, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238AF5
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, 4
+ playse SE_PIN
+ takeitem ITEM_ROOM_1_KEY, 1
+ setflag FLAG_0x0F0
+ call AbandonedShip_HiddenFloorCorridors_EventScript_2389C9
+ special DrawWholeMapView
+ releaseall
+ end
+
+AbandonedShip_HiddenFloorCorridors_EventScript_238A50:: @ 8238A50
+ lockall
+ checkflag FLAG_0x0F1
+ goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B1D
+ checkitem ITEM_ROOM_2_KEY, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238AFF
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, 4
+ playse SE_PIN
+ takeitem ITEM_ROOM_2_KEY, 1
+ setflag FLAG_0x0F1
+ call AbandonedShip_HiddenFloorCorridors_EventScript_2389D3
+ special DrawWholeMapView
+ releaseall
+ end
+
+AbandonedShip_HiddenFloorCorridors_EventScript_238A87:: @ 8238A87
+ lockall
+ checkflag FLAG_0x0F2
+ goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B1D
+ checkitem ITEM_ROOM_4_KEY, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B09
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, 4
+ playse SE_PIN
+ takeitem ITEM_ROOM_4_KEY, 1
+ setflag FLAG_0x0F2
+ call AbandonedShip_HiddenFloorCorridors_EventScript_2389DD
+ special DrawWholeMapView
+ releaseall
+ end
+
+AbandonedShip_HiddenFloorCorridors_EventScript_238ABE:: @ 8238ABE
+ lockall
+ checkflag FLAG_0x0F3
+ goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B1D
+ checkitem ITEM_ROOM_6_KEY, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B13
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, 4
+ playse SE_PIN
+ takeitem ITEM_ROOM_6_KEY, 1
+ setflag FLAG_0x0F3
+ call AbandonedShip_HiddenFloorCorridors_EventScript_2389E7
+ special DrawWholeMapView
+ releaseall
+ end
+
+AbandonedShip_HiddenFloorCorridors_EventScript_238AF5:: @ 8238AF5
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_238B27, 4
+ releaseall
+ end
+
+AbandonedShip_HiddenFloorCorridors_EventScript_238AFF:: @ 8238AFF
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_238B5B, 4
+ releaseall
+ end
+
+AbandonedShip_HiddenFloorCorridors_EventScript_238B09:: @ 8238B09
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_238B8F, 4
+ releaseall
+ end
+
+AbandonedShip_HiddenFloorCorridors_EventScript_238B13:: @ 8238B13
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_238BC3, 4
+ releaseall
+ end
+
+AbandonedShip_HiddenFloorCorridors_EventScript_238B1D:: @ 8238B1D
+ msgbox AbandonedShip_HiddenFloorCorridors_Text_237FA5, 4
+ releaseall
+ end
+
+AbandonedShip_HiddenFloorCorridors_Text_238B27: @ 8238B27
+ .string "The door is locked.\p"
+ .string "“RM. 1” is painted on the door.$"
+
+AbandonedShip_HiddenFloorCorridors_Text_238B5B: @ 8238B5B
+ .string "The door is locked.\p"
+ .string "“RM. 2” is painted on the door.$"
+
+AbandonedShip_HiddenFloorCorridors_Text_238B8F: @ 8238B8F
+ .string "The door is locked.\p"
+ .string "“RM. 4” is painted on the door.$"
+
+AbandonedShip_HiddenFloorCorridors_Text_238BC3: @ 8238BC3
+ .string "The door is locked.\p"
+ .string "“RM. 6” is painted on the door.$"
+
+AbandonedShip_HiddenFloorCorridors_Text_238BF7: @ 8238BF7
+ .string "{PLAYER} inserted and turned the\n"
+ .string "KEY.\p"
+ .string "The inserted KEY stuck fast,\n"
+ .string "but the door opened.$"
+
diff --git a/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc b/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc
new file mode 100644
index 000000000..cf77399b1
--- /dev/null
+++ b/data/scripts/maps/AbandonedShip_HiddenFloorRooms.inc
@@ -0,0 +1,148 @@
+AbandonedShip_HiddenFloorRooms_MapScripts:: @ 8238C49
+ map_script 2, AbandonedShip_HiddenFloorRooms_MapScript2_238C4F
+ .byte 0
+
+AbandonedShip_HiddenFloorRooms_MapScript2_238C4F: @ 8238C4F
+ map_script_2 VAR_0x4001, 0, AbandonedShip_HiddenFloorRooms_EventScript_238C59
+ .2byte 0
+
+AbandonedShip_HiddenFloorRooms_EventScript_238C59:: @ 8238C59
+ setvar VAR_0x4001, 1
+ getplayerxy VAR_0x4002, VAR_0x4003
+ setvar VAR_0x4004, 1
+ compare_var_to_value VAR_0x4002, 21
+ call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238CD1
+ compare_var_to_value VAR_0x4002, 36
+ call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238CD7
+ compare_var_to_value VAR_0x4003, 2
+ call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238CDD
+ switch VAR_0x4004
+ case 1, AbandonedShip_HiddenFloorRooms_EventScript_238CE3
+ case 2, AbandonedShip_HiddenFloorRooms_EventScript_238D0C
+ case 3, AbandonedShip_HiddenFloorRooms_EventScript_238D0D
+ case 4, AbandonedShip_HiddenFloorRooms_EventScript_238D33
+ case 5, AbandonedShip_HiddenFloorRooms_EventScript_238D6B
+ case 6, AbandonedShip_HiddenFloorRooms_EventScript_238DB2
+ end
+
+AbandonedShip_HiddenFloorRooms_EventScript_238CD1:: @ 8238CD1
+ addvar VAR_0x4004, 1
+ return
+
+AbandonedShip_HiddenFloorRooms_EventScript_238CD7:: @ 8238CD7
+ addvar VAR_0x4004, 2
+ return
+
+AbandonedShip_HiddenFloorRooms_EventScript_238CDD:: @ 8238CDD
+ addvar VAR_0x4004, 3
+ return
+
+AbandonedShip_HiddenFloorRooms_EventScript_238CE3:: @ 8238CE3
+ delay 20
+ setfieldeffectargument 0, 10
+ setfieldeffectargument 1, 10
+ setfieldeffectargument 2, 0
+ dofieldeffect 54
+ specialvar VAR_RESULT, sub_81392F8
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DD3
+ waitfieldeffect 54
+ delay 10
+ end
+
+AbandonedShip_HiddenFloorRooms_EventScript_238D0C:: @ 8238D0C
+ end
+
+AbandonedShip_HiddenFloorRooms_EventScript_238D0D:: @ 8238D0D
+ specialvar VAR_RESULT, sub_81392AC
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq AbandonedShip_HiddenFloorRooms_EventScript_238D32
+ delay 20
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DB3
+ waitfieldeffect 54
+ delay 10
+ end
+
+AbandonedShip_HiddenFloorRooms_EventScript_238D32:: @ 8238D32
+ end
+
+AbandonedShip_HiddenFloorRooms_EventScript_238D33:: @ 8238D33
+ delay 20
+ setfieldeffectargument 0, 8
+ setfieldeffectargument 1, 5
+ setfieldeffectargument 2, 0
+ dofieldeffect 54
+ setfieldeffectargument 0, 11
+ setfieldeffectargument 1, 3
+ setfieldeffectargument 2, 0
+ dofieldeffect 54
+ specialvar VAR_RESULT, sub_8139320
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DE3
+ waitfieldeffect 54
+ delay 10
+ end
+
+AbandonedShip_HiddenFloorRooms_EventScript_238D6B:: @ 8238D6B
+ delay 20
+ setfieldeffectargument 0, 16
+ setfieldeffectargument 1, 3
+ setfieldeffectargument 2, 0
+ dofieldeffect 54
+ setfieldeffectargument 0, 25
+ setfieldeffectargument 1, 2
+ setfieldeffectargument 2, 0
+ dofieldeffect 54
+ setfieldeffectargument 0, 24
+ setfieldeffectargument 1, 6
+ setfieldeffectargument 2, 0
+ dofieldeffect 54
+ specialvar VAR_RESULT, sub_81392D4
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DC3
+ waitfieldeffect 54
+ delay 10
+ end
+
+AbandonedShip_HiddenFloorRooms_EventScript_238DB2:: @ 8238DB2
+ end
+
+AbandonedShip_HiddenFloorRooms_EventScript_238DB3:: @ 8238DB3
+ setfieldeffectargument 0, 42
+ setfieldeffectargument 1, 10
+ setfieldeffectargument 2, 0
+ dofieldeffect 54
+ return
+
+AbandonedShip_HiddenFloorRooms_EventScript_238DC3:: @ 8238DC3
+ setfieldeffectargument 0, 20
+ setfieldeffectargument 1, 5
+ setfieldeffectargument 2, 0
+ dofieldeffect 54
+ return
+
+AbandonedShip_HiddenFloorRooms_EventScript_238DD3:: @ 8238DD3
+ setfieldeffectargument 0, 1
+ setfieldeffectargument 1, 12
+ setfieldeffectargument 2, 0
+ dofieldeffect 54
+ return
+
+AbandonedShip_HiddenFloorRooms_EventScript_238DE3:: @ 8238DE3
+ setfieldeffectargument 0, 1
+ setfieldeffectargument 1, 2
+ setfieldeffectargument 2, 0
+ dofieldeffect 54
+ return
+
+AbandonedShip_HiddenFloorRooms_EventScript_238DF3:: @ 8238DF3
+ lockall
+ msgbox AbandonedShip_HiddenFloorRooms_Text_238DFE, 4
+ releaseall
+ end
+
+AbandonedShip_HiddenFloorRooms_Text_238DFE: @ 8238DFE
+ .string "It’s bright and shiny!\n"
+ .string "But it’s just trash…$"
+
diff --git a/data/scripts/maps/AbandonedShip_Room_B1F.inc b/data/scripts/maps/AbandonedShip_Room_B1F.inc
new file mode 100644
index 000000000..5dd7a2bad
--- /dev/null
+++ b/data/scripts/maps/AbandonedShip_Room_B1F.inc
@@ -0,0 +1,3 @@
+AbandonedShip_Room_B1F_MapScripts:: @ 82380A5
+ .byte 0
+
diff --git a/data/scripts/maps/AbandonedShip_Rooms2_1F.inc b/data/scripts/maps/AbandonedShip_Rooms2_1F.inc
new file mode 100644
index 000000000..7d86c6f3f
--- /dev/null
+++ b/data/scripts/maps/AbandonedShip_Rooms2_1F.inc
@@ -0,0 +1,158 @@
+AbandonedShip_Rooms2_1F_MapScripts:: @ 82380A6
+ .byte 0
+
+AbandonedShip_Rooms2_1F_EventScript_2380A7:: @ 82380A7
+ trainerbattle 6, TRAINER_KIRA_AND_DAN_1, 0, AbandonedShip_Rooms2_1F_Text_23819D, AbandonedShip_Rooms2_1F_Text_2381DA, AbandonedShip_Rooms2_1F_Text_238257, AbandonedShip_Rooms2_1F_EventScript_2380D7
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq AbandonedShip_Rooms2_1F_EventScript_2380F0
+ msgbox AbandonedShip_Rooms2_1F_Text_23820F, 4
+ release
+ end
+
+AbandonedShip_Rooms2_1F_EventScript_2380D7:: @ 82380D7
+ msgbox AbandonedShip_Rooms2_1F_Text_2383BB, 4
+ setvar VAR_0x8004, 642
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 642
+ callstd 8
+ release
+ end
+
+AbandonedShip_Rooms2_1F_EventScript_2380F0:: @ 82380F0
+ trainerbattle 7, TRAINER_KIRA_AND_DAN_1, 0, AbandonedShip_Rooms2_1F_Text_2383FF, AbandonedShip_Rooms2_1F_Text_238473, AbandonedShip_Rooms2_1F_Text_238509
+ msgbox AbandonedShip_Rooms2_1F_Text_238491, 6
+ end
+
+AbandonedShip_Rooms2_1F_EventScript_23810B:: @ 823810B
+ trainerbattle 6, TRAINER_KIRA_AND_DAN_1, 0, AbandonedShip_Rooms2_1F_Text_2382A4, AbandonedShip_Rooms2_1F_Text_2382F4, AbandonedShip_Rooms2_1F_Text_23836F, AbandonedShip_Rooms2_1F_EventScript_23813B
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq AbandonedShip_Rooms2_1F_EventScript_238154
+ msgbox AbandonedShip_Rooms2_1F_Text_23830A, 4
+ release
+ end
+
+AbandonedShip_Rooms2_1F_EventScript_23813B:: @ 823813B
+ msgbox AbandonedShip_Rooms2_1F_Text_2383BB, 4
+ setvar VAR_0x8004, 642
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 642
+ callstd 8
+ release
+ end
+
+AbandonedShip_Rooms2_1F_EventScript_238154:: @ 8238154
+ trainerbattle 7, TRAINER_KIRA_AND_DAN_1, 0, AbandonedShip_Rooms2_1F_Text_238556, AbandonedShip_Rooms2_1F_Text_2385F2, AbandonedShip_Rooms2_1F_Text_238668
+ msgbox AbandonedShip_Rooms2_1F_Text_23860B, 6
+ end
+
+AbandonedShip_Rooms2_1F_EventScript_23816F:: @ 823816F
+ trainerbattle 0, TRAINER_JANI, 0, AbandonedShip_Rooms2_1F_Text_2386B4, AbandonedShip_Rooms2_1F_Text_2386E8
+ msgbox AbandonedShip_Rooms2_1F_Text_238708, 6
+ end
+
+AbandonedShip_Rooms2_1F_EventScript_238186:: @ 8238186
+ trainerbattle 0, TRAINER_GARRISON, 0, AbandonedShip_Rooms2_1F_Text_23873F, AbandonedShip_Rooms2_1F_Text_238779
+ msgbox AbandonedShip_Rooms2_1F_Text_2387A9, 6
+ end
+
+AbandonedShip_Rooms2_1F_Text_23819D: @ 823819D
+ .string "DAN: While searching for treasures,\n"
+ .string "we discovered a TRAINER!$"
+
+AbandonedShip_Rooms2_1F_Text_2381DA: @ 82381DA
+ .string "DAN: We couldn’t win even though\n"
+ .string "we worked together…$"
+
+AbandonedShip_Rooms2_1F_Text_23820F: @ 823820F
+ .string "DAN: We can’t find any treasures…\n"
+ .string "I wonder if someone got them already?$"
+
+AbandonedShip_Rooms2_1F_Text_238257: @ 8238257
+ .string "DAN: You don’t even have two POKéMON.\n"
+ .string "You can’t expect to beat us like that.$"
+
+AbandonedShip_Rooms2_1F_Text_2382A4: @ 82382A4
+ .string "KIRA: Oh?\n"
+ .string "We were searching for treasures.\l"
+ .string "But we discovered a TRAINER instead!$"
+
+AbandonedShip_Rooms2_1F_Text_2382F4: @ 82382F4
+ .string "KIRA: Ooh, so strong!$"
+
+AbandonedShip_Rooms2_1F_Text_23830A: @ 823830A
+ .string "KIRA: Where could the treasures be?\p"
+ .string "I’ve already decided what I’m buying\n"
+ .string "when we find the treasures!$"
+
+AbandonedShip_Rooms2_1F_Text_23836F: @ 823836F
+ .string "KIRA: Oh, you don’t have two POKéMON?\n"
+ .string "We’ll have to battle some other time!$"
+
+AbandonedShip_Rooms2_1F_Text_2383BB: @ 82383BB
+ .string "KIRA: Oh, you make me so angry!\n"
+ .string "I’m going to register you for that!$"
+
+AbandonedShip_Rooms2_1F_Text_2383FF: @ 82383FF
+ .string "DAN: We’ve been searching for\n"
+ .string "treasures all this time.\p"
+ .string "Our POKéMON have grown stronger, too.\n"
+ .string "Let us show you, okay?$"
+
+AbandonedShip_Rooms2_1F_Text_238473: @ 8238473
+ .string "DAN: You’re strong, as usual!$"
+
+AbandonedShip_Rooms2_1F_Text_238491: @ 8238491
+ .string "DAN: We can’t find any treasures,\n"
+ .string "we lose at POKéMON…\p"
+ .string "I want to go home… But if I say that,\n"
+ .string "she gets all angry with me…$"
+
+AbandonedShip_Rooms2_1F_Text_238509: @ 8238509
+ .string "DAN: You don’t even have two POKéMON.\n"
+ .string "You can’t expect to beat us like that.$"
+
+AbandonedShip_Rooms2_1F_Text_238556: @ 8238556
+ .string "KIRA: Oh? We meet again!\p"
+ .string "Just like us, you still haven’t given up\n"
+ .string "searching for treasures, have you?\p"
+ .string "Want to make it so the loser has\n"
+ .string "to give up searching?$"
+
+AbandonedShip_Rooms2_1F_Text_2385F2: @ 82385F2
+ .string "KIRA: Oh, we lost again…$"
+
+AbandonedShip_Rooms2_1F_Text_23860B: @ 823860B
+ .string "KIRA: We’re not leaving until we raise\n"
+ .string "our POKéMON some more and we find\l"
+ .string "the treasures here!$"
+
+AbandonedShip_Rooms2_1F_Text_238668: @ 8238668
+ .string "KIRA: Oh, you don’t have two POKéMON?\n"
+ .string "We’ll have to battle some other time!$"
+
+AbandonedShip_Rooms2_1F_Text_2386B4: @ 82386B4
+ .string "I’m not good at swimming,\n"
+ .string "but I am good at battles!$"
+
+AbandonedShip_Rooms2_1F_Text_2386E8: @ 82386E8
+ .string "Oops.\n"
+ .string "That didn’t go very well.$"
+
+AbandonedShip_Rooms2_1F_Text_238708: @ 8238708
+ .string "Walking around barefoot in this ship\n"
+ .string "is kind of gross.$"
+
+AbandonedShip_Rooms2_1F_Text_23873F: @ 823873F
+ .string "Strength and compassion…\n"
+ .string "Those are a TRAINER’s treasures!$"
+
+AbandonedShip_Rooms2_1F_Text_238779: @ 8238779
+ .string "Ah, there is something about you\n"
+ .string "that sparkles.$"
+
+AbandonedShip_Rooms2_1F_Text_2387A9: @ 82387A9
+ .string "In a cabin somewhere on board,\n"
+ .string "I saw something sparkle.$"
+
diff --git a/data/scripts/maps/AbandonedShip_Rooms2_B1F.inc b/data/scripts/maps/AbandonedShip_Rooms2_B1F.inc
new file mode 100644
index 000000000..00b3d0fb9
--- /dev/null
+++ b/data/scripts/maps/AbandonedShip_Rooms2_B1F.inc
@@ -0,0 +1,13 @@
+AbandonedShip_Rooms2_B1F_MapScripts:: @ 8238024
+ .byte 0
+
+AbandonedShip_Rooms2_B1F_EventScript_238025:: @ 8238025
+ msgbox AbandonedShip_Rooms2_B1F_Text_23802E, 2
+ end
+
+AbandonedShip_Rooms2_B1F_Text_23802E: @ 823802E
+ .string "This is a perfect place to go exploring!\n"
+ .string "It’s exciting here!\p"
+ .string "I bet there’re amazing treasures on\n"
+ .string "board.$"
+
diff --git a/data/scripts/maps/AbandonedShip_Rooms_1F.inc b/data/scripts/maps/AbandonedShip_Rooms_1F.inc
new file mode 100644
index 000000000..025b497dd
--- /dev/null
+++ b/data/scripts/maps/AbandonedShip_Rooms_1F.inc
@@ -0,0 +1,81 @@
+AbandonedShip_Rooms_1F_MapScripts:: @ 8237A92
+ .byte 0
+
+AbandonedShip_Rooms_1F_EventScript_237A93:: @ 8237A93
+ msgbox AbandonedShip_Rooms_1F_Text_237B15, 2
+ end
+
+AbandonedShip_Rooms_1F_EventScript_237A9C:: @ 8237A9C
+ trainerbattle 0, TRAINER_DEMETRIUS, 0, AbandonedShip_Rooms_1F_Text_237D0C, AbandonedShip_Rooms_1F_Text_237D2A
+ msgbox AbandonedShip_Rooms_1F_Text_237D41, 6
+ end
+
+AbandonedShip_Rooms_1F_EventScript_237AB3:: @ 8237AB3
+ trainerbattle 2, TRAINER_THALIA_1, 0, AbandonedShip_Rooms_1F_Text_237B76, AbandonedShip_Rooms_1F_Text_237BB8, AbandonedShip_Rooms_1F_EventScript_237ADF
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq AbandonedShip_Rooms_1F_EventScript_237AFE
+ msgbox AbandonedShip_Rooms_1F_Text_237BDB, 4
+ release
+ end
+
+AbandonedShip_Rooms_1F_EventScript_237ADF:: @ 8237ADF
+ special sub_80B4808
+ waitmovement 0
+ msgbox AbandonedShip_Rooms_1F_Text_237C2A, 4
+ setvar VAR_0x8004, 144
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 144
+ callstd 8
+ release
+ end
+
+AbandonedShip_Rooms_1F_EventScript_237AFE:: @ 8237AFE
+ trainerbattle 5, TRAINER_THALIA_1, 0, AbandonedShip_Rooms_1F_Text_237C69, AbandonedShip_Rooms_1F_Text_237CB2
+ msgbox AbandonedShip_Rooms_1F_Text_237CC9, 6
+ end
+
+AbandonedShip_Rooms_1F_Text_237B15: @ 8237B15
+ .string "Ships of this sort are rare, so I’m\n"
+ .string "taking a look around.\p"
+ .string "Hmhm…\n"
+ .string "There appear to be other cabins…$"
+
+AbandonedShip_Rooms_1F_Text_237B76: @ 8237B76
+ .string "What on earth would compel you to\n"
+ .string "come here? You must be curious!$"
+
+AbandonedShip_Rooms_1F_Text_237BB8: @ 8237BB8
+ .string "Not just curious, but also strong…$"
+
+AbandonedShip_Rooms_1F_Text_237BDB: @ 8237BDB
+ .string "The man next door…\p"
+ .string "He says he’s just sightseeing,\n"
+ .string "but I don’t know about that.$"
+
+AbandonedShip_Rooms_1F_Text_237C2A: @ 8237C2A
+ .string "You’re such a tough TRAINER!\n"
+ .string "Let me register you as a memento!$"
+
+AbandonedShip_Rooms_1F_Text_237C69: @ 8237C69
+ .string "What on earth would compel you to\n"
+ .string "come back? You must really be curious!$"
+
+AbandonedShip_Rooms_1F_Text_237CB2: @ 8237CB2
+ .string "Aren’t you too strong?$"
+
+AbandonedShip_Rooms_1F_Text_237CC9: @ 8237CC9
+ .string "I’m sure that man’s up to something!\n"
+ .string "He just acts so suspiciously!$"
+
+AbandonedShip_Rooms_1F_Text_237D0C: @ 8237D0C
+ .string "Waaah!\n"
+ .string "I’ve been found! …Huh?$"
+
+AbandonedShip_Rooms_1F_Text_237D2A: @ 8237D2A
+ .string "Oh, you’re not my mom.$"
+
+AbandonedShip_Rooms_1F_Text_237D41: @ 8237D41
+ .string "I’m in trouble with my mom, so I ran.\n"
+ .string "Keep it a secret where I am!$"
+
diff --git a/data/scripts/maps/AbandonedShip_Rooms_B1F.inc b/data/scripts/maps/AbandonedShip_Rooms_B1F.inc
new file mode 100644
index 000000000..784d44c2e
--- /dev/null
+++ b/data/scripts/maps/AbandonedShip_Rooms_B1F.inc
@@ -0,0 +1,18 @@
+AbandonedShip_Rooms_B1F_MapScripts:: @ 8237FB7
+ map_script 5, AbandonedShip_Rooms_B1F_MapScript1_237FBD
+ .byte 0
+
+AbandonedShip_Rooms_B1F_MapScript1_237FBD: @ 8237FBD
+ setdivewarp ABANDONED_SHIP_UNDERWATER_2, 255, 17, 4
+ end
+
+AbandonedShip_Rooms_B1F_EventScript_237FC6:: @ 8237FC6
+ msgbox AbandonedShip_Rooms_B1F_Text_237FCF, 2
+ end
+
+AbandonedShip_Rooms_B1F_Text_237FCF: @ 8237FCF
+ .string "Urrrrppp…\p"
+ .string "I’m getting queasy just being aboard\n"
+ .string "this ship…\p"
+ .string "It’s not even moving, but…$"
+
diff --git a/data/scripts/maps/AbandonedShip_Underwater1.inc b/data/scripts/maps/AbandonedShip_Underwater1.inc
new file mode 100644
index 000000000..49971cde7
--- /dev/null
+++ b/data/scripts/maps/AbandonedShip_Underwater1.inc
@@ -0,0 +1,8 @@
+AbandonedShip_Underwater1_MapScripts:: @ 8238096
+ map_script 5, AbandonedShip_Underwater1_MapScript1_23809C
+ .byte 0
+
+AbandonedShip_Underwater1_MapScript1_23809C: @ 823809C
+ setdivewarp ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS, 255, 0, 10
+ end
+
diff --git a/data/scripts/maps/AbandonedShip_Underwater2.inc b/data/scripts/maps/AbandonedShip_Underwater2.inc
new file mode 100644
index 000000000..19a786956
--- /dev/null
+++ b/data/scripts/maps/AbandonedShip_Underwater2.inc
@@ -0,0 +1,8 @@
+AbandonedShip_Underwater2_MapScripts:: @ 823895D
+ map_script 5, AbandonedShip_Underwater2_MapScript1_238963
+ .byte 0
+
+AbandonedShip_Underwater2_MapScript1_238963: @ 8238963
+ setdivewarp ABANDONED_SHIP_ROOMS_B1F, 255, 13, 7
+ end
+
diff --git a/data/scripts/maps/AlteringCave.inc b/data/scripts/maps/AlteringCave.inc
new file mode 100644
index 000000000..c5f1286d2
--- /dev/null
+++ b/data/scripts/maps/AlteringCave.inc
@@ -0,0 +1,8 @@
+AlteringCave_MapScripts:: @ 823B177
+ map_script 3, AlteringCave_MapScript1_23B17D
+ .byte 0
+
+AlteringCave_MapScript1_23B17D: @ 823B17D
+ setflag FLAG_0x8DD
+ end
+
diff --git a/data/scripts/maps/AncientTomb.inc b/data/scripts/maps/AncientTomb.inc
new file mode 100644
index 000000000..85a1d708d
--- /dev/null
+++ b/data/scripts/maps/AncientTomb.inc
@@ -0,0 +1,98 @@
+AncientTomb_MapScripts:: @ 8238FB3
+ map_script 5, AncientTomb_MapScript1_238FC3
+ map_script 1, AncientTomb_MapScript1_238FF2
+ map_script 3, AncientTomb_MapScript1_238FE1
+ .byte 0
+
+AncientTomb_MapScript1_238FC3: @ 8238FC3
+ checkflag FLAG_SYS_CTRL_OBJ_DELETE
+ call_if 1, AncientTomb_EventScript_238FCD
+ end
+
+AncientTomb_EventScript_238FCD:: @ 8238FCD
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 7
+ goto_if 5, AncientTomb_EventScript_27374E
+ removeobject VAR_LAST_TALKED
+ return
+
+AncientTomb_MapScript1_238FE1: @ 8238FE1
+ setflag FLAG_0x8B9
+ checkflag FLAG_0x1BD
+ call_if 0, AncientTomb_EventScript_238FEE
+ end
+
+AncientTomb_EventScript_238FEE:: @ 8238FEE
+ clearflag FLAG_0x3A9
+ return
+
+AncientTomb_MapScript1_238FF2: @ 8238FF2
+ checkflag FLAG_SYS_BRAILLE_FLY
+ call_if 0, AncientTomb_EventScript_238FFC
+ end
+
+AncientTomb_EventScript_238FFC:: @ 8238FFC
+ setmetatile 7, 19, 553, 1
+ setmetatile 8, 19, 553, 1
+ setmetatile 9, 19, 553, 1
+ setmetatile 7, 20, 565, 1
+ setmetatile 8, 20, 565, 1
+ setmetatile 9, 20, 565, 1
+ return
+
+AncientTomb_EventScript_239033:: @ 8239033
+ lockall
+ checkflag FLAG_SYS_BRAILLE_FLY
+ goto_eq AncientTomb_EventScript_239046
+ braillemessage AncientTomb_Braille_2A6D06
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
+AncientTomb_EventScript_239046:: @ 8239046
+ msgbox gUnknown_0827304E, 4
+ releaseall
+ end
+
+AncientTomb_EventScript_239050:: @ 8239050
+ lockall
+ braillemessage AncientTomb_Braille_2A6D06
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
+AncientTomb_EventScript_23905A:: @ 823905A
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_REGISTEEL, 2
+ delay 40
+ waitmoncry
+ setwildbattle SPECIES_REGISTEEL, 40, ITEM_NONE
+ setflag FLAG_SYS_CTRL_OBJ_DELETE
+ special sub_80B0A74
+ waitstate
+ clearflag FLAG_SYS_CTRL_OBJ_DELETE
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq AncientTomb_EventScript_2390A1
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq AncientTomb_EventScript_2390AA
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq AncientTomb_EventScript_2390AA
+ setflag FLAG_0x1BD
+ release
+ end
+
+AncientTomb_EventScript_2390A1:: @ 82390A1
+ setflag FLAG_0x1BD
+ goto AncientTomb_EventScript_27376D
+ end
+
+AncientTomb_EventScript_2390AA:: @ 82390AA
+ setvar VAR_0x8004, 403
+ goto AncientTomb_EventScript_273776
+ end
+
diff --git a/data/scripts/maps/AquaHideout_1F.inc b/data/scripts/maps/AquaHideout_1F.inc
new file mode 100644
index 000000000..9172c3927
--- /dev/null
+++ b/data/scripts/maps/AquaHideout_1F.inc
@@ -0,0 +1,122 @@
+AquaHideout_1F_MapScripts:: @ 8233493
+ .byte 0
+
+AquaHideout_1F_EventScript_233494:: @ 8233494
+ lock
+ faceplayer
+ checkflag FLAG_0x06F
+ goto_eq AquaHideout_1F_EventScript_2334BC
+ checkflag FLAG_0x0D4
+ goto_eq AquaHideout_1F_EventScript_2334B2
+ msgbox AquaHideout_1F_Text_23351D, 4
+ release
+ end
+
+AquaHideout_1F_EventScript_2334B2:: @ 82334B2
+ msgbox AquaHideout_1F_Text_2335E3, 4
+ release
+ end
+
+AquaHideout_1F_EventScript_2334BC:: @ 82334BC
+ msgbox AquaHideout_1F_Text_23367D, 4
+ release
+ end
+
+AquaHideout_1F_EventScript_2334C6:: @ 82334C6
+ lock
+ faceplayer
+ checkflag FLAG_0x06F
+ goto_eq AquaHideout_1F_EventScript_2334EE
+ checkflag FLAG_0x0D4
+ goto_eq AquaHideout_1F_EventScript_2334E4
+ msgbox AquaHideout_1F_Text_233739, 4
+ release
+ end
+
+AquaHideout_1F_EventScript_2334E4:: @ 82334E4
+ msgbox AquaHideout_1F_Text_2337FA, 4
+ release
+ end
+
+AquaHideout_1F_EventScript_2334EE:: @ 82334EE
+ msgbox AquaHideout_1F_Text_233884, 4
+ release
+ end
+
+AquaHideout_1F_EventScript_2334F8:: @ 82334F8
+ trainerbattle 2, TRAINER_GRUNT_1, 0, AquaHideout_1F_Text_23393D, AquaHideout_1F_Text_233964, AquaHideout_1F_EventScript_233513
+ msgbox AquaHideout_1F_Text_233977, 6
+ end
+
+AquaHideout_1F_EventScript_233513:: @ 8233513
+ msgbox AquaHideout_1F_Text_233977, 4
+ release
+ end
+
+AquaHideout_1F_Text_23351D: @ 823351D
+ .string "What? What? What do you want with \n"
+ .string "TEAM AQUA?\p"
+ .string "Our BOSS isn’t here! He’s gone off to\n"
+ .string "snatch something important!\p"
+ .string "… …\n"
+ .string "Where did he go?\p"
+ .string "Wahaha! Do you really think I’d tell\n"
+ .string "you something that crucial?$"
+
+AquaHideout_1F_Text_2335E3: @ 82335E3
+ .string "What? What?\n"
+ .string "Are you a TEAM MAGMA grunt?\p"
+ .string "I hear that TEAM MAGMA is trying to\n"
+ .string "awaken an awesome POKéMON at their\l"
+ .string "HIDEOUT.\p"
+ .string "But where might their HIDEOUT be?$"
+
+AquaHideout_1F_Text_23367D: @ 823367D
+ .string "What? What? What do you want with \n"
+ .string "TEAM AQUA?\p"
+ .string "Our BOSS isn’t here!\n"
+ .string "He’s gone off to jack a submarine!\p"
+ .string "… …\n"
+ .string "Where did he go?\p"
+ .string "Wahaha! Do you really think I’d tell\n"
+ .string "you something that crucial?$"
+
+AquaHideout_1F_Text_233739: @ 8233739
+ .string "What? What? What do you want with \n"
+ .string "TEAM AQUA?\p"
+ .string "Our BOSS isn’t here! He’s on his way to\n"
+ .string "MT. PYRE on ROUTE 122!\p"
+ .string "… …\n"
+ .string "Why did he go?\p"
+ .string "Wahaha! Do you really think I’d tell\n"
+ .string "you something that crucial?$"
+
+AquaHideout_1F_Text_2337FA: @ 82337FA
+ .string "What? What?\n"
+ .string "Are you a TEAM MAGMA grunt?\p"
+ .string "I hear that TEAM MAGMA is after\n"
+ .string "an awesome POKéMON at MT. CHIMNEY.\p"
+ .string "But what is that POKéMON like?$"
+
+AquaHideout_1F_Text_233884: @ 8233884
+ .string "What? What? What do you want with\n"
+ .string "TEAM AQUA?\p"
+ .string "Our BOSS isn’t here!\n"
+ .string "He’s on his way to SLATEPORT CITY!\p"
+ .string "… …\n"
+ .string "Why did he go?\p"
+ .string "Wahaha! Do you really think I’d tell\n"
+ .string "you something that crucial?$"
+
+AquaHideout_1F_Text_23393D: @ 823393D
+ .string "Ayiyiyi!\n"
+ .string "Suspicious character spotted!$"
+
+AquaHideout_1F_Text_233964: @ 8233964
+ .string "Grrrrr…\n"
+ .string "I lost it!$"
+
+AquaHideout_1F_Text_233977: @ 8233977
+ .string "I took the loss for the TEAM,\n"
+ .string "but I did my job…$"
+
diff --git a/data/scripts/maps/AquaHideout_B1F.inc b/data/scripts/maps/AquaHideout_B1F.inc
new file mode 100644
index 000000000..be50d205d
--- /dev/null
+++ b/data/scripts/maps/AquaHideout_B1F.inc
@@ -0,0 +1,171 @@
+AquaHideout_B1F_MapScripts:: @ 82339A7
+ map_script 5, AquaHideout_B1F_MapScript1_2339B2
+ map_script 3, AquaHideout_B1F_MapScript1_2339D0
+ .byte 0
+
+AquaHideout_B1F_MapScript1_2339B2: @ 82339B2
+ checkflag FLAG_SYS_CTRL_OBJ_DELETE
+ call_if 1, AquaHideout_B1F_EventScript_2339BC
+ end
+
+AquaHideout_B1F_EventScript_2339BC:: @ 82339BC
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 7
+ goto_if 5, AquaHideout_B1F_EventScript_27374E
+ removeobject VAR_LAST_TALKED
+ return
+
+AquaHideout_B1F_MapScript1_2339D0: @ 82339D0
+ checkflag FLAG_0x1C4
+ call_if 0, AquaHideout_B1F_EventScript_2339E3
+ checkflag FLAG_0x1C5
+ call_if 0, AquaHideout_B1F_EventScript_2339E7
+ end
+
+AquaHideout_B1F_EventScript_2339E3:: @ 82339E3
+ clearflag FLAG_0x3D1
+ return
+
+AquaHideout_B1F_EventScript_2339E7:: @ 82339E7
+ clearflag FLAG_0x3D2
+ return
+
+AquaHideout_B1F_EventScript_2339EB:: @ 82339EB
+ lock
+ faceplayer
+ setwildbattle SPECIES_ELECTRODE, 30, ITEM_NONE
+ waitse
+ playmoncry SPECIES_ELECTRODE, 2
+ delay 40
+ waitmoncry
+ setflag FLAG_SYS_CTRL_OBJ_DELETE
+ dowildbattle
+ clearflag FLAG_SYS_CTRL_OBJ_DELETE
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq AquaHideout_B1F_EventScript_233A2F
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq AquaHideout_B1F_EventScript_233A2F
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq AquaHideout_B1F_EventScript_233A2F
+ setflag FLAG_0x1C4
+ release
+ end
+
+AquaHideout_B1F_EventScript_233A2F:: @ 8233A2F
+ setflag FLAG_0x1C4
+ goto AquaHideout_B1F_EventScript_27376D
+ end
+
+AquaHideout_B1F_EventScript_233A38:: @ 8233A38
+ lock
+ faceplayer
+ setwildbattle SPECIES_ELECTRODE, 30, ITEM_NONE
+ waitse
+ playmoncry SPECIES_ELECTRODE, 2
+ delay 40
+ waitmoncry
+ setflag FLAG_SYS_CTRL_OBJ_DELETE
+ dowildbattle
+ clearflag FLAG_SYS_CTRL_OBJ_DELETE
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq AquaHideout_B1F_EventScript_233A7C
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq AquaHideout_B1F_EventScript_233A7C
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq AquaHideout_B1F_EventScript_233A7C
+ setflag FLAG_0x1C5
+ release
+ end
+
+AquaHideout_B1F_EventScript_233A7C:: @ 8233A7C
+ setflag FLAG_0x1C5
+ goto AquaHideout_B1F_EventScript_27376D
+ end
+
+AquaHideout_B1F_EventScript_233A85:: @ 8233A85
+ trainerbattle 2, TRAINER_GRUNT_2, 0, AquaHideout_B1F_Text_233B03, AquaHideout_B1F_Text_233B4A, AquaHideout_B1F_EventScript_233AA0
+ msgbox AquaHideout_B1F_Text_233B5E, 6
+ end
+
+AquaHideout_B1F_EventScript_233AA0:: @ 8233AA0
+ special sub_80B4808
+ waitmovement 0
+ msgbox AquaHideout_B1F_Text_233B5E, 4
+ release
+ end
+
+AquaHideout_B1F_EventScript_233AB0:: @ 8233AB0
+ trainerbattle 2, TRAINER_GRUNT_3, 0, AquaHideout_B1F_Text_233BC5, AquaHideout_B1F_Text_233C27, AquaHideout_B1F_EventScript_233ACB
+ msgbox AquaHideout_B1F_Text_233C41, 6
+ end
+
+AquaHideout_B1F_EventScript_233ACB:: @ 8233ACB
+ msgbox AquaHideout_B1F_Text_233C41, 4
+ release
+ end
+
+AquaHideout_B1F_EventScript_233AD5:: @ 8233AD5
+ trainerbattle 0, TRAINER_GRUNT_21, 0, AquaHideout_B1F_Text_233C89, AquaHideout_B1F_Text_233CCA
+ msgbox AquaHideout_B1F_Text_233CDC, 6
+ end
+
+AquaHideout_B1F_EventScript_233AEC:: @ 8233AEC
+ trainerbattle 0, TRAINER_GRUNT_25, 0, AquaHideout_B1F_Text_233D1B, AquaHideout_B1F_Text_233D6E
+ msgbox AquaHideout_B1F_Text_233D84, 6
+ end
+
+AquaHideout_B1F_Text_233B03: @ 8233B03
+ .string "If you want to know the secret about\n"
+ .string "our HIDEOUT, you have me to beat!$"
+
+AquaHideout_B1F_Text_233B4A: @ 8233B4A
+ .string "I can’t win at all…$"
+
+AquaHideout_B1F_Text_233B5E: @ 8233B5E
+ .string "Our HIDEOUT’s secret?\p"
+ .string "Well, let’s just say…\n"
+ .string "There’s a submarine at the far end!\p"
+ .string "But, by now…\n"
+ .string "Kekekeke…$"
+
+AquaHideout_B1F_Text_233BC5: @ 8233BC5
+ .string "Fuel supply loaded A-OK!\n"
+ .string "In-cruise snacks loaded A-OK!\p"
+ .string "Nothing left to do but KO a pesky\n"
+ .string "meddler!$"
+
+AquaHideout_B1F_Text_233C27: @ 8233C27
+ .string "I took a serious licking!$"
+
+AquaHideout_B1F_Text_233C41: @ 8233C41
+ .string "Humph!\n"
+ .string "This was supposed to happen!\p"
+ .string "My mission was to just hold you up!$"
+
+AquaHideout_B1F_Text_233C89: @ 8233C89
+ .string "Yawn… Keeping watch over the\n"
+ .string "HIDEOUT bores me. I’ll take you on.$"
+
+AquaHideout_B1F_Text_233CCA: @ 8233CCA
+ .string "Yawn…\n"
+ .string "Oh, I lost…$"
+
+AquaHideout_B1F_Text_233CDC: @ 8233CDC
+ .string "If you scurry too much, other TEAM\n"
+ .string "AQUA members might get you.$"
+
+AquaHideout_B1F_Text_233D1B: @ 8233D1B
+ .string "Hey!\n"
+ .string "You there!\p"
+ .string "Which do you think is cooler?\n"
+ .string "TEAM AQUA’s uniform or TEAM MAGMA’s?$"
+
+AquaHideout_B1F_Text_233D6E: @ 8233D6E
+ .string "I lost in a cool way…$"
+
+AquaHideout_B1F_Text_233D84: @ 8233D84
+ .string "If you have a cool uniform, you look\n"
+ .string "good even in a loss, don’t you think?$"
+
diff --git a/data/scripts/maps/AquaHideout_B2F.inc b/data/scripts/maps/AquaHideout_B2F.inc
new file mode 100644
index 000000000..85a94cc21
--- /dev/null
+++ b/data/scripts/maps/AquaHideout_B2F.inc
@@ -0,0 +1,160 @@
+AquaHideout_B2F_MapScripts:: @ 8233DCF
+ map_script 3, AquaHideout_B2F_MapScript1_233DD5
+ .byte 0
+
+AquaHideout_B2F_MapScript1_233DD5: @ 8233DD5
+ checkflag FLAG_0x070
+ call_if 1, AquaHideout_B2F_EventScript_233DDF
+ end
+
+AquaHideout_B2F_EventScript_233DDF:: @ 8233DDF
+ setvar VAR_0x4001, 1
+ return
+
+AquaHideout_B2F_EventScript_233DE5:: @ 8233DE5
+ lockall
+ setvar VAR_0x8008, 1
+ playse SE_PIN
+ applymovement VAR_0x8008, AquaHideout_B2F_Movement_272598
+ waitmovement 0
+ applymovement VAR_0x8008, AquaHideout_B2F_Movement_27259E
+ waitmovement 0
+ setvar VAR_0x4001, 1
+ releaseall
+ end
+
+AquaHideout_B2F_EventScript_233E09:: @ 8233E09
+ trainerbattle 2, TRAINER_MATT, 0, AquaHideout_B2F_Text_233EDD, AquaHideout_B2F_Text_233F8D, AquaHideout_B2F_EventScript_233E25
+ msgbox AquaHideout_B2F_Text_233FF2, 4
+ release
+ end
+
+AquaHideout_B2F_EventScript_233E25:: @ 8233E25
+ setvar VAR_0x8008, 1
+ setvar VAR_0x8009, 4
+ applymovement VAR_0x8008, AquaHideout_B2F_Movement_2725A4
+ waitmovement 0
+ delay 20
+ applymovement VAR_0x8008, AquaHideout_B2F_Movement_27259E
+ waitmovement 0
+ msgbox AquaHideout_B2F_Text_233FA6, 4
+ closemessage
+ applymovement VAR_0x8008, AquaHideout_B2F_Movement_2725A4
+ applymovement VAR_0x8009, AquaHideout_B2F_Movement_233E80
+ waitmovement 0
+ removeobject VAR_0x8009
+ delay 20
+ applymovement VAR_0x8008, AquaHideout_B2F_Movement_27259E
+ waitmovement 0
+ msgbox AquaHideout_B2F_Text_233FF2, 4
+ setflag FLAG_0x070
+ setflag FLAG_0x354
+ release
+ end
+
+AquaHideout_B2F_Movement_233E80: @ 8233E80
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+AquaHideout_B2F_Movement_233E85: @ 8233E85
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+AquaHideout_B2F_EventScript_233E8A:: @ 8233E8A
+ trainerbattle 2, TRAINER_GRUNT_4, 0, AquaHideout_B2F_Text_2340B4, AquaHideout_B2F_Text_2340F0, AquaHideout_B2F_EventScript_233EA5
+ msgbox AquaHideout_B2F_Text_234112, 6
+ end
+
+AquaHideout_B2F_EventScript_233EA5:: @ 8233EA5
+ msgbox AquaHideout_B2F_Text_234112, 4
+ release
+ end
+
+AquaHideout_B2F_EventScript_233EAF:: @ 8233EAF
+ trainerbattle 0, TRAINER_GRUNT_22, 0, AquaHideout_B2F_Text_23412D, AquaHideout_B2F_Text_2341CE
+ msgbox AquaHideout_B2F_Text_2341FE, 6
+ end
+
+AquaHideout_B2F_EventScript_233EC6:: @ 8233EC6
+ trainerbattle 0, TRAINER_GRUNT_26, 0, AquaHideout_B2F_Text_23426F, AquaHideout_B2F_Text_2342CC
+ msgbox AquaHideout_B2F_Text_2342FF, 6
+ end
+
+AquaHideout_B2F_Text_233EDD: @ 8233EDD
+ .string "Hehehe…\p"
+ .string "Got here already, did you?\n"
+ .string "We underestimated you!\p"
+ .string "But this is it!\p"
+ .string "I’m a cut above the GRUNTS you’ve seen\n"
+ .string "so far.\p"
+ .string "I’m not stalling for time.\n"
+ .string "I’m going to pulverize you!$"
+
+AquaHideout_B2F_Text_233F8D: @ 8233F8D
+ .string "Hehehe…\n"
+ .string "So, I lost, too…$"
+
+AquaHideout_B2F_Text_233FA6: @ 8233FA6
+ .string "Hehehe!\p"
+ .string "While I was toying with you, our BOSS\n"
+ .string "got through his preparations!$"
+
+AquaHideout_B2F_Text_233FF2: @ 8233FF2
+ .string "Hehehe!\p"
+ .string "Our BOSS has already gone on his way to\n"
+ .string "some cave under the sea!\p"
+ .string "If you’re going to give chase, you’d\n"
+ .string "better search the big, wide sea beyond\l"
+ .string "LILYCOVE.\p"
+ .string "But will you find it then?\n"
+ .string "Hehehe!$"
+
+AquaHideout_B2F_Text_2340B4: @ 82340B4
+ .string "Wahahah, I grew weary of waiting!\n"
+ .string "You owe me a battle, too!$"
+
+AquaHideout_B2F_Text_2340F0: @ 82340F0
+ .string "Tired of waiting…\n"
+ .string "Lost and dazed…$"
+
+AquaHideout_B2F_Text_234112: @ 8234112
+ .string "BOSS…\n"
+ .string "Is this good enough?$"
+
+AquaHideout_B2F_Text_23412D: @ 823412D
+ .string "Warp panels, the HIDEOUT’s pride\n"
+ .string "and joy!\p"
+ .string "You’re clueless about where you are,\n"
+ .string "aren’t you?\p"
+ .string "Fluster and tire out the enemy, then\n"
+ .string "lower the boom! That’s our plan!$"
+
+AquaHideout_B2F_Text_2341CE: @ 82341CE
+ .string "What’s wrong with you?\n"
+ .string "You’re not tired at all!$"
+
+AquaHideout_B2F_Text_2341FE: @ 82341FE
+ .string "That reminds me… I can’t remember\n"
+ .string "where I put the MASTER BALL.\p"
+ .string "If I fail to guard it, our BOSS will\n"
+ .string "chew me out…$"
+
+AquaHideout_B2F_Text_23426F: @ 823426F
+ .string "When I joined TEAM AQUA, the first\n"
+ .string "thing I had to learn was how these\l"
+ .string "warp panels connected.$"
+
+AquaHideout_B2F_Text_2342CC: @ 82342CC
+ .string "I was too occupied thinking about\n"
+ .string "the warp panels…$"
+
+AquaHideout_B2F_Text_2342FF: @ 82342FF
+ .string "I’ll have to learn about how I can\n"
+ .string "battle more effectively…$"
+
diff --git a/data/scripts/maps/AquaHideout_UnusedRubyMap1.inc b/data/scripts/maps/AquaHideout_UnusedRubyMap1.inc
new file mode 100644
index 000000000..73cde82a9
--- /dev/null
+++ b/data/scripts/maps/AquaHideout_UnusedRubyMap1.inc
@@ -0,0 +1,3 @@
+AquaHideout_UnusedRubyMap1_MapScripts:: @ 823929B
+ .byte 0
+
diff --git a/data/scripts/maps/AquaHideout_UnusedRubyMap2.inc b/data/scripts/maps/AquaHideout_UnusedRubyMap2.inc
new file mode 100644
index 000000000..28901497a
--- /dev/null
+++ b/data/scripts/maps/AquaHideout_UnusedRubyMap2.inc
@@ -0,0 +1,3 @@
+AquaHideout_UnusedRubyMap2_MapScripts:: @ 823929C
+ .byte 0
+
diff --git a/data/scripts/maps/AquaHideout_UnusedRubyMap3.inc b/data/scripts/maps/AquaHideout_UnusedRubyMap3.inc
new file mode 100644
index 000000000..de0e6d7dd
--- /dev/null
+++ b/data/scripts/maps/AquaHideout_UnusedRubyMap3.inc
@@ -0,0 +1,3 @@
+AquaHideout_UnusedRubyMap3_MapScripts:: @ 823929D
+ .byte 0
+
diff --git a/data/scripts/maps/ArtisanCave_1F.inc b/data/scripts/maps/ArtisanCave_1F.inc
new file mode 100644
index 000000000..18090ff68
--- /dev/null
+++ b/data/scripts/maps/ArtisanCave_1F.inc
@@ -0,0 +1,3 @@
+ArtisanCave_1F_MapScripts:: @ 823AFB7
+ .byte 0
+
diff --git a/data/scripts/maps/ArtisanCave_B1F.inc b/data/scripts/maps/ArtisanCave_B1F.inc
new file mode 100644
index 000000000..059343a56
--- /dev/null
+++ b/data/scripts/maps/ArtisanCave_B1F.inc
@@ -0,0 +1,8 @@
+ArtisanCave_B1F_MapScripts:: @ 823AFAD
+ map_script 3, ArtisanCave_B1F_MapScript1_23AFB3
+ .byte 0
+
+ArtisanCave_B1F_MapScript1_23AFB3: @ 823AFB3
+ setflag FLAG_0x8DF
+ end
+
diff --git a/data/scripts/maps/BattleFrontier_BattleArenaBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattleArenaBattleRoom.inc
new file mode 100644
index 000000000..27886b8a5
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattleArenaBattleRoom.inc
@@ -0,0 +1,712 @@
+BattleFrontier_BattleArenaBattleRoom_MapScripts:: @ 8257487
+ map_script 3, BattleFrontier_BattleArenaBattleRoom_MapScript1_2574A0
+ map_script 2, BattleFrontier_BattleArenaBattleRoom_MapScript2_2574D2
+ map_script 4, BattleFrontier_BattleArenaBattleRoom_MapScript2_257C0C
+ map_script 5, BattleFrontier_BattleArenaBattleRoom_MapScript1_25749C
+ .byte 0
+
+BattleFrontier_BattleArenaBattleRoom_MapScript1_25749C: @ 825749C
+ special sub_8139980
+ end
+
+BattleFrontier_BattleArenaBattleRoom_MapScript1_2574A0: @ 82574A0
+ setvar VAR_0x8004, 5
+ special sub_81A1780
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_2574AE
+ end
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_2574AE:: @ 82574AE
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2574C6
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2574CC
+ return
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_2574C6:: @ 82574C6
+ setvar VAR_0x4011, 100
+ return
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_2574CC:: @ 82574CC
+ setvar VAR_0x4011, 105
+ return
+
+BattleFrontier_BattleArenaBattleRoom_MapScript2_2574D2: @ 82574D2
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattleArenaBattleRoom_EventScript_2574DC
+ .2byte 0
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_2574DC:: @ 82574DC
+ lockall
+ showobjectat 8, BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM
+ applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE2
+ waitmovement 0
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25752E
+ applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_257C08
+ applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BEB
+ setvar VAR_0x4002, 1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 6
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ goto BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_25752E:: @ 825752E
+ setvar VAR_0x8004, 3
+ special sub_8161F74
+ addobject 7
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BEF
+ waitmovement 0
+ applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02
+ playse SE_W187
+ waitse
+ waitmovement 0
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C3D, 4
+ closemessage
+ applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE5
+ waitmovement 0
+ applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02
+ playse SE_W187
+ waitse
+ waitmovement 0
+ setvar VAR_0x8004, 6
+ special sub_81A5238
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C68, 4
+ closemessage
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF2
+ waitmovement 0
+ applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02
+ playse SE_W187
+ waitse
+ waitmovement 0
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C93, 4
+ closemessage
+ applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE5
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF2
+ waitmovement 0
+ setvar VAR_0x8004, 5
+ special sub_8195960
+ msgbox 0x2021fc4, 4
+ waitmessage
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_257B6C
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_257630
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_2575DB:: @ 82575DB
+ applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02
+ applymovement 1, BattleFrontier_BattleArenaBattleRoom_Movement_257C02
+ applymovement 2, BattleFrontier_BattleArenaBattleRoom_Movement_257C02
+ applymovement 3, BattleFrontier_BattleArenaBattleRoom_Movement_257C05
+ applymovement 4, BattleFrontier_BattleArenaBattleRoom_Movement_257C05
+ playse SE_W173
+ waitse
+ waitmovement 0
+ setvar VAR_0x8004, 6
+ special sub_81A5238
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CCE, 4
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_257615:: @ 8257615
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 4
+ special sub_81A1780
+ warp BATTLE_FRONTIER_BATTLE_ARENA_LOBBY, 255, 7, 8
+ waitstate
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_257630:: @ 8257630
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ addvar VAR_RESULT, 1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A1780
+ switch VAR_RESULT
+ case 7, BattleFrontier_BattleArenaBattleRoom_EventScript_257852
+ applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE7
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BFA
+ waitmovement 0
+ removeobject 7
+ applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_257C08
+ applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BEB
+ waitmovement 0
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CE9, 4
+ special copy_player_party_from_sav1
+ special copy_player_party_to_sav1
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 3
+ special sub_81A1780
+ playfanfare BGM_ME_ASA
+ waitfanfare
+ special sp000_heal_pokemon
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0:: @ 82576B0
+ setvar VAR_0x8004, 9
+ special sub_81A1780
+ copyvar VAR_0x400F, VAR_RESULT
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattleArenaBattleRoom_EventScript_2578BC
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_257870
+ compare_var_to_value VAR_RESULT, 2
+ call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_257877
+ compare_var_to_value VAR_RESULT, 3
+ call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_25787E
+ compare_var_to_value VAR_RESULT, 4
+ call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_257885
+ compare_var_to_value VAR_RESULT, 5
+ call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_25788C
+ compare_var_to_value VAR_RESULT, 6
+ call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_257893
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_23E8E0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257768
+ multichoice 19, 4, 103, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_25783A
+ case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_25779E
+ case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_2577DA
+ case 3, BattleFrontier_BattleArenaBattleRoom_EventScript_257808
+ case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_257768:: @ 8257768
+ multichoice 20, 6, 104, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_25783A
+ case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_2577DA
+ case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_257808
+ case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_25779E:: @ 825779E
+ message BattleFrontier_BattleArenaBattleRoom_Text_257F04
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
+ case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_2577D0
+ case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_2577D0:: @ 82577D0
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_23E8B4
+ goto BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_2577DA:: @ 82577DA
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_257E6B, 5
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
+ case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_25789A
+ case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_257808:: @ 8257808
+ message BattleFrontier_BattleArenaBattleRoom_Text_257E9E
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
+ case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_257615
+ case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_25783A:: @ 825783A
+ closemessage
+ applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BED
+ applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_257BED
+ waitmovement 0
+ goto BattleFrontier_BattleArenaBattleRoom_EventScript_25752E
+ waitstate
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_257852:: @ 8257852
+ delay 60
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 3
+ special sub_81A1780
+ warp BATTLE_FRONTIER_BATTLE_ARENA_LOBBY, 255, 7, 8
+ waitstate
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_257870:: @ 8257870
+ message BattleFrontier_BattleArenaBattleRoom_Text_257D17
+ waitmessage
+ return
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_257877:: @ 8257877
+ message BattleFrontier_BattleArenaBattleRoom_Text_257D50
+ waitmessage
+ return
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_25787E:: @ 825787E
+ message BattleFrontier_BattleArenaBattleRoom_Text_257D88
+ waitmessage
+ return
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_257885:: @ 8257885
+ message BattleFrontier_BattleArenaBattleRoom_Text_257DC1
+ waitmessage
+ return
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_25788C:: @ 825788C
+ message BattleFrontier_BattleArenaBattleRoom_Text_257DF9
+ waitmessage
+ return
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_257893:: @ 8257893
+ message BattleFrontier_BattleArenaBattleRoom_Text_257E31
+ waitmessage
+ return
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_25789A:: @ 825789A
+ message BattleFrontier_BattleArenaBattleRoom_Text_257EDB
+ waitmessage
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 2
+ special sub_81A5238
+ playse SE_SAVE
+ waitse
+ fadescreen 1
+ setvar VAR_0x8004, 4
+ special sub_81A1780
+ end
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_2578BC:: @ 82578BC
+ compare_var_to_value VAR_0x4002, 1
+ goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_257F45, 4
+ setvar VAR_0x4002, 1
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4:: @ 82578D4
+ message BattleFrontier_BattleArenaBattleRoom_Text_257FBB
+ waitmessage
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_23E8E0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25792B
+ multichoice 19, 4, 103, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_257961
+ case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_25779E
+ case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_2577DA
+ case 3, BattleFrontier_BattleArenaBattleRoom_EventScript_257808
+ case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_25792B:: @ 825792B
+ multichoice 20, 6, 104, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_257961
+ case 1, BattleFrontier_BattleArenaBattleRoom_EventScript_2577DA
+ case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_257808
+ case 127, BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_257961:: @ 8257961
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_242170
+ applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BED
+ applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_257BED
+ waitmovement 0
+ applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02
+ playse SE_W187
+ waitse
+ waitmovement 0
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C3D, 4
+ closemessage
+ applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BE4
+ waitmovement 0
+ applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02
+ playse SE_W187
+ waitse
+ waitmovement 0
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_257FED, 4
+ closemessage
+ addobject 7
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF4
+ waitmovement 0
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF2
+ waitmovement 0
+ switch VAR_0x400F
+ case 2, BattleFrontier_BattleArenaBattleRoom_EventScript_257AA5
+ case 3, BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F
+ case 4, BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_25801C, 4
+ closemessage
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257C30
+ waitmovement 0
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_25804E, 4
+ closemessage
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257C3A
+ waitmovement 0
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_258068, 4
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F:: @ 8257A3F
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_25810D, 4
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_257B5E
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257A5C
+ goto BattleFrontier_BattleArenaBattleRoom_EventScript_2575DB
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_257A5C:: @ 8257A5C
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9
+ setvar VAR_0x8004, 12
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattleArenaBattleRoom_EventScript_257852
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF1
+ waitmovement 0
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_25813F, 4
+ playfanfare BGM_ME_BATTLE_SYMBOL
+ message BattleFrontier_BattleArenaBattleRoom_Text_25819C
+ waitmessage
+ waitfanfare
+ setvar VAR_0x8004, 13
+ special sub_81A1780
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_2581CF, 4
+ goto BattleFrontier_BattleArenaBattleRoom_EventScript_257852
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_257AA5:: @ 8257AA5
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_258213, 4
+ closemessage
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257C30
+ waitmovement 0
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_2582A2, 4
+ closemessage
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257C3A
+ waitmovement 0
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_2582BB, 4
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8:: @ 8257AF8
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_2582F9, 4
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_257B5E
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257B15
+ goto BattleFrontier_BattleArenaBattleRoom_EventScript_2575DB
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_257B15:: @ 8257B15
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9
+ setvar VAR_0x8004, 12
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257852
+ applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF1
+ waitmovement 0
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_258323, 4
+ playfanfare BGM_ME_BATTLE_SYMBOL
+ message BattleFrontier_BattleArenaBattleRoom_Text_25835B
+ waitmessage
+ waitfanfare
+ setvar VAR_0x8004, 13
+ special sub_81A1780
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_258383, 4
+ goto BattleFrontier_BattleArenaBattleRoom_EventScript_257852
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_257B5E:: @ 8257B5E
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_257C93, 4
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_257B6C
+ return
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_257B6C:: @ 8257B6C
+FallarborTown_BattleTentBattleRoom_EventScript_257B6C:: @ 8257B6C
+ closemessage
+ setvar VAR_0x4002, 0
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 6
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ special sp000_heal_pokemon
+ setvar VAR_0x8004, 5
+ setvar VAR_0x8005, 0
+ special sub_8163AC4
+ waitstate
+ setvar VAR_0x8004, 18
+ special sub_81A1780
+ special sp000_heal_pokemon
+ setvar VAR_0x8004, 21
+ special sub_81A1780
+ return
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_257BA9:: @ 8257BA9
+ applymovement 9, BattleFrontier_BattleArenaBattleRoom_Movement_257C02
+ applymovement 1, BattleFrontier_BattleArenaBattleRoom_Movement_257C02
+ applymovement 2, BattleFrontier_BattleArenaBattleRoom_Movement_257C02
+ applymovement 3, BattleFrontier_BattleArenaBattleRoom_Movement_257C05
+ applymovement 4, BattleFrontier_BattleArenaBattleRoom_Movement_257C05
+ playse SE_BAN
+ waitse
+ waitmovement 0
+ msgbox BattleFrontier_BattleArenaBattleRoom_Text_257CB3, 4
+ closemessage
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_241EBA
+ return
+
+BattleFrontier_BattleArenaBattleRoom_Movement_257BE2: @ 8257BE2
+ step_right
+ step_right
+
+BattleFrontier_BattleArenaBattleRoom_Movement_257BE4: @ 8257BE4
+ step_right
+
+BattleFrontier_BattleArenaBattleRoom_Movement_257BE5: @ 8257BE5
+ step_right
+ step_end
+
+BattleFrontier_BattleArenaBattleRoom_Movement_257BE7: @ 8257BE7
+ step_left
+ step_left
+ step_28
+ step_end
+
+BattleFrontier_BattleArenaBattleRoom_Movement_257BEB: @ 8257BEB
+ step_26
+ step_end
+
+BattleFrontier_BattleArenaBattleRoom_Movement_257BED: @ 8257BED
+ step_28
+ step_end
+
+BattleFrontier_BattleArenaBattleRoom_Movement_257BEF: @ 8257BEF
+ step_left
+ step_left
+
+BattleFrontier_BattleArenaBattleRoom_Movement_257BF1: @ 8257BF1
+ step_left
+
+BattleFrontier_BattleArenaBattleRoom_Movement_257BF2: @ 8257BF2
+ step_left
+ step_end
+
+BattleFrontier_BattleArenaBattleRoom_Movement_257BF4: @ 8257BF4
+ step_17
+ step_17
+ step_17
+ step_17
+ step_17
+ step_end
+
+BattleFrontier_BattleArenaBattleRoom_Movement_257BFA: @ 8257BFA
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+BattleFrontier_BattleArenaBattleRoom_Movement_257C02: @ 8257C02
+ step_51
+ step_46
+ step_end
+
+BattleFrontier_BattleArenaBattleRoom_Movement_257C05: @ 8257C05
+ step_51
+ step_47
+ step_end
+
+BattleFrontier_BattleArenaBattleRoom_Movement_257C08: @ 8257C08
+ step_25
+ step_end
+
+BattleFrontier_BattleArenaBattleRoom_Movement_257C0A: @ 8257C0A
+ step_28
+ step_end
+
+BattleFrontier_BattleArenaBattleRoom_MapScript2_257C0C: @ 8257C0C
+ map_script_2 VAR_0x4001, 0, BattleFrontier_BattleArenaBattleRoom_EventScript_257C16
+ .2byte 0
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_257C16:: @ 8257C16
+ hideobjectat 8, BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM
+ removeobject 7
+ call BattleFrontier_BattleArenaBattleRoom_EventScript_24BCDC
+ applymovement 255, BattleFrontier_BattleArenaBattleRoom_Movement_24C773
+ setvar VAR_0x4001, 1
+ end
+
+BattleFrontier_BattleArenaBattleRoom_Movement_257C30: @ 8257C30
+ step_down
+ step_27
+ step_14
+ step_14
+ step_14
+ step_14
+ step_up
+ step_up
+ step_27
+ step_end
+
+BattleFrontier_BattleArenaBattleRoom_Movement_257C3A: @ 8257C3A
+ step_down
+ step_27
+ step_end
+
+BattleFrontier_BattleArenaBattleRoom_Text_257C3D: @ 8257C3D
+ .string "REFEREE: TRAINER {PLAYER}!\n"
+ .string "Step forward, please!$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_257C68: @ 8257C68
+ .string "REFEREE: TRAINER {STR_VAR_1}!\n"
+ .string "Step forward, please!$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_257C93: @ 8257C93
+FallarborTown_BattleTentBattleRoom_Text_257C93: @ 8257C93
+ .string "REFEREE: Set KO Tourney!\n"
+ .string "Begin!$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_257CB3: @ 8257CB3
+FallarborTown_BattleTentBattleRoom_Text_257CB3: @ 8257CB3
+ .string "REFEREE: The winner is {PLAYER}!$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_257CCE: @ 8257CCE
+FallarborTown_BattleTentBattleRoom_Text_257CCE: @ 8257CCE
+ .string "REFEREE: The winner is {STR_VAR_1}!$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_257CE9: @ 8257CE9
+FallarborTown_BattleTentBattleRoom_Text_257CE9: @ 8257CE9
+ .string "Your POKéMON will be restored to\n"
+ .string "full health.$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_257D17: @ 8257D17
+FallarborTown_BattleTentBattleRoom_Text_257D17: @ 8257D17
+ .string "Next up, your second opponent!\n"
+ .string "Are you ready to move on?$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_257D50: @ 8257D50
+FallarborTown_BattleTentBattleRoom_Text_257D50: @ 8257D50
+ .string "Next up, your third opponent!\n"
+ .string "Are you ready to move on?$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_257D88: @ 8257D88
+ .string "Next up, your fourth opponent!\n"
+ .string "Are you ready to move on?$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_257DC1: @ 8257DC1
+ .string "Next up, your fifth opponent!\n"
+ .string "Are you ready to move on?$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_257DF9: @ 8257DF9
+ .string "Next up, your sixth opponent!\n"
+ .string "Are you ready to move on?$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_257E31: @ 8257E31
+ .string "Next up, your seventh opponent!\n"
+ .string "Are you ready to move on?$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_257E6B: @ 8257E6B
+FallarborTown_BattleTentBattleRoom_Text_257E6B: @ 8257E6B
+ .string "Would you like to save the game and\n"
+ .string "shut down now?$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_257E9E: @ 8257E9E
+FallarborTown_BattleTentBattleRoom_Text_257E9E: @ 8257E9E
+ .string "Would you like to retire from your\n"
+ .string "Set KO Tourney challenge?$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_257EDB: @ 8257EDB
+FallarborTown_BattleTentBattleRoom_Text_257EDB: @ 8257EDB
+ .string "I am saving your game data.\n"
+ .string "Please wait.$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_257F04: @ 8257F04
+ .string "Would you like to record your last\n"
+ .string "battle on your FRONTIER PASS?$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_257F45: @ 8257F45
+ .string "My dear challenger!\p"
+ .string "Your skill level is truly astounding!\p"
+ .string "We now would like you to face our\n"
+ .string "leader, the ARENA TYCOON!$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_257FBB: @ 8257FBB
+ .string "A battle with the ARENA TYCOON!\n"
+ .string "Are you prepared?$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_257FED: @ 8257FED
+ .string "REFEREE: The ARENA TYCOON!\n"
+ .string "Make way for GRETA!$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_25801C: @ 825801C
+ .string "GRETA: Hey!\n"
+ .string "Howdy!\p"
+ .string "…Wait, are you the challenger?$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_25804E: @ 825804E
+ .string "Is that right? Hmm…\n"
+ .string "Hmhm…$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_258068: @ 8258068
+ .string "I don’t know how to say it, but…\n"
+ .string "To put it bluntly, you look pretty weak.\l"
+ .string "Are you sure you’re up for me?\p"
+ .string "Hmm…\p"
+ .string "Well, all right!\n"
+ .string "We’ll take things easy to start with!$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_25810D: @ 825810D
+ .string "Okay! Let’s see you ignite my passion\n"
+ .string "for battle!$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_25813F: @ 825813F
+ .string "GRETA: Ow, wait a second!\n"
+ .string "You are tough after all!\p"
+ .string "I like you!\n"
+ .string "Let’s see your FRONTIER PASS.$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_25819C: @ 825819C
+ .string "The Guts Symbol was embossed on\n"
+ .string "the FRONTIER PASS!$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_2581CF: @ 82581CF
+ .string "Hmm…\p"
+ .string "It’s going to be fun the next time!\n"
+ .string "I’m looking forward to it!$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_258213: @ 8258213
+ .string "GRETA: Hey! Howdy!\n"
+ .string "You finally won your way up to me!\p"
+ .string "I was getting worried waiting for you!\n"
+ .string "I was really looking forward to seeing\l"
+ .string "you again!$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_2582A2: @ 82582A2
+ .string "… … …\n"
+ .string "So, are you ready?$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_2582BB: @ 82582BB
+ .string "I won’t allow a halfhearted effort!\n"
+ .string "Be ready for a thrashing!$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_2582F9: @ 82582F9
+ .string "Come on, REFEREE!\n"
+ .string "Let’s get this started!$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_258323: @ 8258323
+ .string "GRETA: Gaaah! Blown away!\n"
+ .string "Let’s see your FRONTIER PASS!$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_25835B: @ 825835B
+ .string "The Guts Symbol took on\n"
+ .string "a golden shine!$"
+
+BattleFrontier_BattleArenaBattleRoom_Text_258383: @ 8258383
+ .string "Arrrgh!\n"
+ .string "This is so infuriating!\p"
+ .string "If we ever battle again, I won’t lose!\n"
+ .string "Don’t you forget it! Bye-bye!$"
diff --git a/data/scripts/maps/BattleFrontier_BattleArenaCorridor.inc b/data/scripts/maps/BattleFrontier_BattleArenaCorridor.inc
new file mode 100644
index 000000000..ed7371dab
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattleArenaCorridor.inc
@@ -0,0 +1,90 @@
+BattleFrontier_BattleArenaCorridor_MapScripts:: @ 82573B9
+ map_script 2, BattleFrontier_BattleArenaCorridor_MapScript2_2573BF
+ .byte 0
+
+BattleFrontier_BattleArenaCorridor_MapScript2_2573BF: @ 82573BF
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattleArenaCorridor_EventScript_2573C9
+ .2byte 0
+
+BattleFrontier_BattleArenaCorridor_EventScript_2573C9:: @ 82573C9
+ delay 16
+ setvar VAR_0x4000, 1
+ applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_25742F
+ applymovement 255, BattleFrontier_BattleArenaCorridor_Movement_257417
+ waitmovement 0
+ applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_257444
+ waitmovement 0
+ msgbox BattleFrontier_BattleArenaCorridor_Text_257449, 3
+ applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_257446
+ waitmovement 0
+ applymovement 255, BattleFrontier_BattleArenaCorridor_Movement_25742C
+ waitmovement 0
+ setvar VAR_0x8006, 0
+ warp BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM, 255, 7, 5
+ waitstate
+ end
+
+BattleFrontier_BattleArenaCorridor_Movement_257417: @ 8257417
+ step_up
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_right
+ step_right
+ step_right
+ step_end
+
+BattleFrontier_BattleArenaCorridor_Movement_25742C: @ 825742C
+ step_right
+ step_54
+ step_end
+
+BattleFrontier_BattleArenaCorridor_Movement_25742F: @ 825742F
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+BattleFrontier_BattleArenaCorridor_Movement_257444: @ 8257444
+ step_27
+ step_end
+
+BattleFrontier_BattleArenaCorridor_Movement_257446: @ 8257446
+ step_up
+ step_25
+ step_end
+
+BattleFrontier_BattleArenaCorridor_Text_257449: @ 8257449
+ .string "Your battles shall be waged in\n"
+ .string "the next room. Please step in!$"
+
diff --git a/data/scripts/maps/BattleFrontier_BattleArenaLobby.inc b/data/scripts/maps/BattleFrontier_BattleArenaLobby.inc
new file mode 100644
index 000000000..dbd4d2db6
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattleArenaLobby.inc
@@ -0,0 +1,638 @@
+BattleFrontier_BattleArenaLobby_MapScripts:: @ 8255C36
+ map_script 2, BattleFrontier_BattleArenaLobby_MapScript2_255C55
+ map_script 4, BattleFrontier_BattleArenaLobby_MapScript2_255C41
+ .byte 0
+
+BattleFrontier_BattleArenaLobby_MapScript2_255C41: @ 8255C41
+ map_script_2 VAR_0x4001, 0, BattleFrontier_BattleArenaLobby_EventScript_255C4B
+ .2byte 0
+
+BattleFrontier_BattleArenaLobby_EventScript_255C4B:: @ 8255C4B
+ setvar VAR_0x4001, 1
+ turnobject 255, 2
+ end
+
+BattleFrontier_BattleArenaLobby_MapScript2_255C55: @ 8255C55
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattleArenaLobby_EventScript_255C7F
+ map_script_2 VAR_0x4000, 1, BattleFrontier_BattleArenaLobby_EventScript_255C88
+ map_script_2 VAR_0x4000, 2, BattleFrontier_BattleArenaLobby_EventScript_255DC0
+ map_script_2 VAR_0x4000, 3, BattleFrontier_BattleArenaLobby_EventScript_255CCF
+ map_script_2 VAR_0x4000, 4, BattleFrontier_BattleArenaLobby_EventScript_255D2B
+ .2byte 0
+
+BattleFrontier_BattleArenaLobby_EventScript_255C7F:: @ 8255C7F
+ setvar VAR_0x8004, 0
+ special sub_81A1780
+ end
+
+BattleFrontier_BattleArenaLobby_EventScript_255C88:: @ 8255C88
+ lockall
+ msgbox BattleFrontier_BattleArenaLobby_Text_256811, 4
+ closemessage
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 0
+ special sub_81A5238
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 0
+ special sub_81A5238
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+BattleFrontier_BattleArenaLobby_EventScript_255CCF:: @ 8255CCF
+ lockall
+ setvar VAR_0x8004, 10
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleArenaLobby_EventScript_255CF0
+ msgbox BattleFrontier_BattleArenaLobby_Text_2568E7, 4
+ goto BattleFrontier_BattleArenaLobby_EventScript_255CF8
+
+BattleFrontier_BattleArenaLobby_EventScript_255CF0:: @ 8255CF0
+ msgbox BattleFrontier_BattleArenaLobby_Text_2572D9, 4
+
+BattleFrontier_BattleArenaLobby_EventScript_255CF8:: @ 8255CF8
+ msgbox BattleFrontier_BattleArenaLobby_Text_257353, 4
+ setvar VAR_0x8004, 11
+ special sub_81A1780
+ msgbox BattleFrontier_BattleArenaLobby_Text_241520, 9
+ message BattleFrontier_BattleArenaLobby_Text_256931
+ waitmessage
+ call BattleFrontier_BattleArenaLobby_EventScript_255D59
+ msgbox BattleFrontier_BattleArenaLobby_Text_256A74, 4
+ closemessage
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+BattleFrontier_BattleArenaLobby_EventScript_255D2B:: @ 8255D2B
+ lockall
+ message BattleFrontier_BattleArenaLobby_Text_256A2C
+ waitmessage
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 0
+ special sub_81A5238
+ call BattleFrontier_BattleArenaLobby_EventScript_255D59
+ msgbox BattleFrontier_BattleArenaLobby_Text_256A74, 4
+ closemessage
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+BattleFrontier_BattleArenaLobby_EventScript_255D59:: @ 8255D59
+ setvar VAR_0x8004, 8
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ special sp000_heal_pokemon
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 0
+ special sub_81A5238
+ playse SE_SAVE
+ waitse
+ call BattleFrontier_BattleArenaLobby_EventScript_23E8E0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleArenaLobby_EventScript_255DBF
+ message BattleFrontier_BattleArenaLobby_Text_256B19
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleArenaLobby_EventScript_255DBF
+ case 0, BattleFrontier_BattleArenaLobby_EventScript_255DBA
+ case 127, BattleFrontier_BattleArenaLobby_EventScript_255DBF
+
+BattleFrontier_BattleArenaLobby_EventScript_255DBA:: @ 8255DBA
+ call BattleFrontier_BattleArenaLobby_EventScript_23E8B4
+
+BattleFrontier_BattleArenaLobby_EventScript_255DBF:: @ 8255DBF
+ return
+
+BattleFrontier_BattleArenaLobby_EventScript_255DC0:: @ 8255DC0
+ lockall
+ message BattleFrontier_BattleArenaLobby_Text_256AA1
+ waitmessage
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 1
+ special sub_81A5238
+ playse SE_SAVE
+ waitse
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x4000, 255
+ goto BattleFrontier_BattleArenaLobby_EventScript_255F54
+
+BattleFrontier_BattleArenaLobby_EventScript_255DF4:: @ 8255DF4
+ lock
+ faceplayer
+ setvar VAR_FRONTIER_FACILITY, 3
+ setvar VAR_0x40CE, 0
+ special copy_player_party_to_sav1
+ msgbox BattleFrontier_BattleArenaLobby_Text_256166, 4
+
+BattleFrontier_BattleArenaLobby_EventScript_255E0B:: @ 8255E0B
+ message BattleFrontier_BattleArenaLobby_Text_2561EA
+ waitmessage
+ multichoice 17, 6, 23, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleArenaLobby_EventScript_255E47
+ case 1, BattleFrontier_BattleArenaLobby_EventScript_255F9F
+ case 2, BattleFrontier_BattleArenaLobby_EventScript_255FFB
+ case 127, BattleFrontier_BattleArenaLobby_EventScript_255FFB
+
+BattleFrontier_BattleArenaLobby_EventScript_255E47:: @ 8255E47
+ message BattleFrontier_BattleArenaLobby_Text_256513
+ waitmessage
+ multichoice 17, 6, 24, 0
+ switch VAR_RESULT
+ case 2, BattleFrontier_BattleArenaLobby_EventScript_255FFB
+ case 127, BattleFrontier_BattleArenaLobby_EventScript_255FFB
+ setvar VAR_0x8004, 15
+ special sub_81A1780
+ compare_var_to_value VAR_0x8004, 1
+ goto_eq BattleFrontier_BattleArenaLobby_EventScript_255FAC
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A1780
+ msgbox BattleFrontier_BattleArenaLobby_Text_256573, 4
+ fadescreen 1
+ call BattleFrontier_BattleArenaLobby_EventScript_23F2B7
+ copyvar VAR_0x8004, VAR_RESULT
+ setvar VAR_0x8005, 3
+ special sub_80F9490
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleArenaLobby_EventScript_255FF8
+ msgbox BattleFrontier_BattleArenaLobby_Text_2564CE, 5
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleArenaLobby_EventScript_255FF8
+ case 1, BattleFrontier_BattleArenaLobby_EventScript_255EE8
+ case 127, BattleFrontier_BattleArenaLobby_EventScript_255FF8
+
+BattleFrontier_BattleArenaLobby_EventScript_255EE8:: @ 8255EE8
+ setvar VAR_0x4000, 0
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 4
+ special sub_81A1780
+ setvar VAR_0x8004, 0
+ special sub_81A5238
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 1
+ special sub_81A5238
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ closemessage
+ delay 2
+ call BattleFrontier_BattleArenaLobby_EventScript_27134F
+ setvar VAR_0x4000, 255
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleArenaLobby_EventScript_255FE1
+
+BattleFrontier_BattleArenaLobby_EventScript_255F54:: @ 8255F54
+ special copy_player_party_to_sav1
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 3
+ special sub_81A1780
+ msgbox BattleFrontier_BattleArenaLobby_Text_2567E6, 4
+ closemessage
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, BattleFrontier_BattleArenaLobby_EventScript_256005
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, BattleFrontier_BattleArenaLobby_EventScript_256050
+ warp BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR, 255, 9, 13
+ setvar VAR_0x4000, 0
+ waitstate
+ end
+
+BattleFrontier_BattleArenaLobby_EventScript_255F9F:: @ 8255F9F
+ msgbox BattleFrontier_BattleArenaLobby_Text_25624C, 4
+ goto BattleFrontier_BattleArenaLobby_EventScript_255E0B
+
+BattleFrontier_BattleArenaLobby_EventScript_255FAC:: @ 8255FAC
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleArenaLobby_EventScript_255FC7
+ case 1, BattleFrontier_BattleArenaLobby_EventScript_255FD4
+
+BattleFrontier_BattleArenaLobby_EventScript_255FC7:: @ 8255FC7
+ msgbox BattleFrontier_BattleArenaLobby_Text_2566A8, 4
+ goto BattleFrontier_BattleArenaLobby_EventScript_256003
+
+BattleFrontier_BattleArenaLobby_EventScript_255FD4:: @ 8255FD4
+ msgbox BattleFrontier_BattleArenaLobby_Text_2565A5, 4
+ goto BattleFrontier_BattleArenaLobby_EventScript_256003
+
+BattleFrontier_BattleArenaLobby_EventScript_255FE1:: @ 8255FE1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ goto BattleFrontier_BattleArenaLobby_EventScript_255FFB
+
+BattleFrontier_BattleArenaLobby_EventScript_255FF8:: @ 8255FF8
+ special copy_player_party_from_sav1
+
+BattleFrontier_BattleArenaLobby_EventScript_255FFB:: @ 8255FFB
+ msgbox BattleFrontier_BattleArenaLobby_Text_25621F, 4
+
+BattleFrontier_BattleArenaLobby_EventScript_256003:: @ 8256003
+ release
+ end
+
+BattleFrontier_BattleArenaLobby_EventScript_256005:: @ 8256005
+ applymovement 1, BattleFrontier_BattleArenaLobby_Movement_256034
+ applymovement 255, BattleFrontier_BattleArenaLobby_Movement_256041
+ waitmovement 0
+ opendoor 2, 2
+ waitdooranim
+ applymovement 1, BattleFrontier_BattleArenaLobby_Movement_25603E
+ applymovement 255, BattleFrontier_BattleArenaLobby_Movement_25604C
+ waitmovement 0
+ closedoor 2, 2
+ waitdooranim
+ return
+
+BattleFrontier_BattleArenaLobby_Movement_256034: @ 8256034
+ step_up
+ step_up
+ step_up
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_up
+ step_end
+
+BattleFrontier_BattleArenaLobby_Movement_25603E: @ 825603E
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattleArenaLobby_Movement_256041: @ 8256041
+ step_up
+ step_up
+ step_up
+ step_up
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_26
+ step_end
+
+BattleFrontier_BattleArenaLobby_Movement_25604C: @ 825604C
+ step_up
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattleArenaLobby_EventScript_256050:: @ 8256050
+ applymovement 1, BattleFrontier_BattleArenaLobby_Movement_25607F
+ applymovement 255, BattleFrontier_BattleArenaLobby_Movement_256088
+ waitmovement 0
+ opendoor 11, 2
+ waitdooranim
+ applymovement 1, BattleFrontier_BattleArenaLobby_Movement_25603E
+ applymovement 255, BattleFrontier_BattleArenaLobby_Movement_25604C
+ waitmovement 0
+ closedoor 11, 2
+ waitdooranim
+ return
+
+BattleFrontier_BattleArenaLobby_Movement_25607F: @ 825607F
+ step_up
+ step_up
+ step_up
+ step_right
+ step_right
+ step_right
+ step_right
+ step_up
+ step_end
+
+BattleFrontier_BattleArenaLobby_Movement_256088: @ 8256088
+ step_up
+ step_up
+ step_up
+ step_up
+ step_right
+ step_right
+ step_right
+ step_right
+ step_26
+ step_end
+
+BattleFrontier_BattleArenaLobby_EventScript_256092:: @ 8256092
+ lockall
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 3
+ special sub_81A1780
+ waitbuttonpress
+ special sub_813C5A0
+ releaseall
+ end
+
+BattleFrontier_BattleArenaLobby_EventScript_2560A6:: @ 82560A6
+ msgbox BattleFrontier_BattleArenaLobby_Text_256B5C, 2
+ end
+
+BattleFrontier_BattleArenaLobby_EventScript_2560AF:: @ 82560AF
+ msgbox BattleFrontier_BattleArenaLobby_Text_256BCB, 2
+ end
+
+BattleFrontier_BattleArenaLobby_EventScript_2560B8:: @ 82560B8
+ msgbox BattleFrontier_BattleArenaLobby_Text_256C19, 2
+ end
+
+BattleFrontier_BattleArenaLobby_EventScript_2560C1:: @ 82560C1
+ msgbox BattleFrontier_BattleArenaLobby_Text_256C9A, 2
+ end
+
+BattleFrontier_BattleArenaLobby_EventScript_2560CA:: @ 82560CA
+ lockall
+ msgbox BattleFrontier_BattleArenaLobby_Text_256DB8, 4
+ goto BattleFrontier_BattleArenaLobby_EventScript_2560D9
+ end
+
+BattleFrontier_BattleArenaLobby_EventScript_2560D9:: @ 82560D9
+ message BattleFrontier_BattleArenaLobby_Text_256DDF
+ waitmessage
+ multichoice 17, 2, 96, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleArenaLobby_EventScript_25612C
+ case 1, BattleFrontier_BattleArenaLobby_EventScript_25613A
+ case 2, BattleFrontier_BattleArenaLobby_EventScript_256148
+ case 3, BattleFrontier_BattleArenaLobby_EventScript_256156
+ case 4, BattleFrontier_BattleArenaLobby_EventScript_256164
+ case 127, BattleFrontier_BattleArenaLobby_EventScript_256164
+ end
+
+BattleFrontier_BattleArenaLobby_EventScript_25612C:: @ 825612C
+ msgbox BattleFrontier_BattleArenaLobby_Text_256E02, 4
+ goto BattleFrontier_BattleArenaLobby_EventScript_2560D9
+ end
+
+BattleFrontier_BattleArenaLobby_EventScript_25613A:: @ 825613A
+ msgbox BattleFrontier_BattleArenaLobby_Text_256F43, 4
+ goto BattleFrontier_BattleArenaLobby_EventScript_2560D9
+ end
+
+BattleFrontier_BattleArenaLobby_EventScript_256148:: @ 8256148
+ msgbox BattleFrontier_BattleArenaLobby_Text_256FF2, 4
+ goto BattleFrontier_BattleArenaLobby_EventScript_2560D9
+ end
+
+BattleFrontier_BattleArenaLobby_EventScript_256156:: @ 8256156
+ msgbox BattleFrontier_BattleArenaLobby_Text_257202, 4
+ goto BattleFrontier_BattleArenaLobby_EventScript_2560D9
+ end
+
+BattleFrontier_BattleArenaLobby_EventScript_256164:: @ 8256164
+ releaseall
+ end
+
+BattleFrontier_BattleArenaLobby_Text_256166: @ 8256166
+ .string "Where the battling spirit of TRAINERS\n"
+ .string "is put to the test!\p"
+ .string "I welcome you to the BATTLE ARENA!\p"
+ .string "I am your guide to the Set KO Tourney!$"
+
+BattleFrontier_BattleArenaLobby_Text_2561EA: @ 82561EA
+ .string "Now, do you wish to take\n"
+ .string "the BATTLE ARENA challenge?$"
+
+BattleFrontier_BattleArenaLobby_Text_25621F: @ 825621F
+ .string "We await your challenge on\n"
+ .string "another occasion!$"
+
+BattleFrontier_BattleArenaLobby_Text_25624C: @ 825624C
+ .string "In the BATTLE ARENA, we undertake\n"
+ .string "the Set KO Tourney.\p"
+ .string "All participants enter with a team of\n"
+ .string "three POKéMON.\p"
+ .string "The three POKéMON must be lined up in\n"
+ .string "the order in which they are to appear.\p"
+ .string "During battle, the POKéMON will appear\n"
+ .string "one at a time in the preset order.\p"
+ .string "Once a POKéMON enters battle, it must\n"
+ .string "remain out until the match is decided.\p"
+ .string "If a match remains undecided in\n"
+ .string "three turns, it goes to judging.\p"
+ .string "If you wish to interrupt your challenge,\n"
+ .string "please save the game.\p"
+ .string "If you don’t save, you will not be able\n"
+ .string "to continue with your challenge.\p"
+ .string "If you pull off the feat of beating\n"
+ .string "seven TRAINERS in succession,\l"
+ .string "we will present you with Battle Points.$"
+
+BattleFrontier_BattleArenaLobby_Text_2564CE: @ 82564CE
+ .string "Before showing you to the BATTLE\n"
+ .string "ARENA, you must save. Is that okay?$"
+
+BattleFrontier_BattleArenaLobby_Text_256513: @ 8256513
+ .string "The BATTLE ARENA offers two levels\n"
+ .string "of challenge, Level 50 and Open Level.\l"
+ .string "Which is your choice?$"
+
+BattleFrontier_BattleArenaLobby_Text_256573: @ 8256573
+ .string "Very well, now select your\n"
+ .string "three POKéMON, please.$"
+
+BattleFrontier_BattleArenaLobby_Text_2565A5: @ 82565A5
+ .string "My dear challenger!\p"
+ .string "You do not have the three POKéMON\n"
+ .string "required for entry.\p"
+ .string "To qualify, you must bring three\n"
+ .string "different kinds of POKéMON.\p"
+ .string "They also must not hold the same\n"
+ .string "kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "When you have made your preparations,\n"
+ .string "please do return.$"
+
+BattleFrontier_BattleArenaLobby_Text_2566A8: @ 82566A8
+ .string "My dear challenger!\p"
+ .string "You do not have the three POKéMON\n"
+ .string "required for entry.\p"
+ .string "To qualify, you must bring three\n"
+ .string "different kinds of POKéMON.\p"
+ .string "The three different POKéMON\n"
+ .string "must all be Level 50 or lower.\p"
+ .string "They also must not hold the same\n"
+ .string "kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "When you have made your preparations,\n"
+ .string "please do return.$"
+
+BattleFrontier_BattleArenaLobby_Text_2567E6: @ 82567E6
+ .string "I shall now guide you to\n"
+ .string "the BATTLE ARENA.$"
+
+BattleFrontier_BattleArenaLobby_Text_256811: @ 8256811
+ .string "My dear challenger!\p"
+ .string "You did not save the game before\n"
+ .string "shutting down, did you?\p"
+ .string "It is unfortunate, but that has\n"
+ .string "resulted in your disqualification\l"
+ .string "from your challenge.\p"
+ .string "You may, of course, start with a fresh\n"
+ .string "challenge.$"
+
+BattleFrontier_BattleArenaLobby_Text_2568E7: @ 82568E7
+ .string "We congratulate you for your splendid\n"
+ .string "string of wins over seven TRAINERS!$"
+
+BattleFrontier_BattleArenaLobby_Text_256931: @ 8256931
+ .string "Your achievement will be recorded.\n"
+ .string "Please wait while I save the game.$"
+
+BattleFrontier_BattleArenaLobby_Text_256977: @ 8256977
+ .string "In commemoration of your 7-win streak,\n"
+ .string "we present you with this prize.$"
+
+BattleFrontier_BattleArenaLobby_Text_2569BE: @ 82569BE
+ .string "{PLAYER} received the prize\n"
+ .string "{STR_VAR_1}.$"
+
+BattleFrontier_BattleArenaLobby_Text_2569D8: @ 82569D8
+ .string "Oh?\n"
+ .string "Your BAG seems to be full.\p"
+ .string "I urge you to clear space and\n"
+ .string "return for your prize.$"
+
+BattleFrontier_BattleArenaLobby_Text_256A2C: @ 8256A2C
+ .string "Thank you so much for participating!\p"
+ .string "Please wait while I save the game.$"
+
+BattleFrontier_BattleArenaLobby_Text_256A74: @ 8256A74
+ .string "We await your challenge on\n"
+ .string "another occasion!$"
+
+BattleFrontier_BattleArenaLobby_Text_256AA1: @ 8256AA1
+ .string "We have been looking forward to\n"
+ .string "your arrival.\p"
+ .string "Before I show you to the BATTLE\n"
+ .string "ARENA, I must save the game.\l"
+ .string "Please wait.$"
+
+BattleFrontier_BattleArenaLobby_Text_256B19: @ 8256B19
+ .string "Shall I record your last BATTLE ARENA\n"
+ .string "match on your FRONTIER PASS?$"
+
+BattleFrontier_BattleArenaLobby_Text_256B5C: @ 8256B5C
+ .string "I lost on the REFEREE’s decision…\p"
+ .string "I don’t think it was a good idea to only\n"
+ .string "use defensive moves and not attack…$"
+
+BattleFrontier_BattleArenaLobby_Text_256BCB: @ 8256BCB
+ .string "I won in judging!\p"
+ .string "Landing hits consistently on\n"
+ .string "the opponent’s POKéMON worked!$"
+
+BattleFrontier_BattleArenaLobby_Text_256C19: @ 8256C19
+ .string "Our match was declared a draw.\p"
+ .string "When we ran out of time, both my\n"
+ .string "POKéMON and the opponent’s had about\l"
+ .string "the same amount of HP left.$"
+
+BattleFrontier_BattleArenaLobby_Text_256C9A: @ 8256C9A
+ .string "In the BATTLE ARENA, the order of\n"
+ .string "POKéMON is totally important.\p"
+ .string "For example, if your first POKéMON\n"
+ .string "has certain type disadvantages,\l"
+ .string "try making your second POKéMON one\l"
+ .string "with moves that are super effective\l"
+ .string "against the first one.\p"
+ .string "I think that will be a good way of\n"
+ .string "making an effective team.$"
+
+BattleFrontier_BattleArenaLobby_Text_256DB8: @ 8256DB8
+FallarborTown_BattleTentLobby_Text_256DB8: @ 8256DB8
+ .string "The Set KO Tourney’s rules are listed.$"
+
+BattleFrontier_BattleArenaLobby_Text_256DDF: @ 8256DDF
+FallarborTown_BattleTentLobby_Text_256DDF: @ 8256DDF
+ .string "Which heading do you want to read?$"
+
+BattleFrontier_BattleArenaLobby_Text_256E02: @ 8256E02
+FallarborTown_BattleTentLobby_Text_256E02: @ 8256E02
+ .string "The Set KO Tourney has special rules,\n"
+ .string "unlike standard battles.\p"
+ .string "First, one battle lasts only\n"
+ .string "three turns.\p"
+ .string "If the outcome is not decided after\n"
+ .string "three turns, it goes to judging.\p"
+ .string "The REFEREE will choose the winner\n"
+ .string "based on how the POKéMON battled.\p"
+ .string "Also, a POKéMON cannot be switched out\n"
+ .string "until its battle’s outcome is decided.$"
+
+BattleFrontier_BattleArenaLobby_Text_256F43: @ 8256F43
+FallarborTown_BattleTentLobby_Text_256F43: @ 8256F43
+ .string "The first judging factor is “Mind.”\n"
+ .string "This factor evaluates how aggressive\l"
+ .string "the battlers were.\p"
+ .string "The judging is based on how often\n"
+ .string "the TRAINERS ordered the use of\l"
+ .string "offensive moves.$"
+
+BattleFrontier_BattleArenaLobby_Text_256FF2: @ 8256FF2
+FallarborTown_BattleTentLobby_Text_256FF2: @ 8256FF2
+ .string "The second judging factor is “Skill.”\n"
+ .string "This factor evaluates how effectively\l"
+ .string "POKéMON moves were used.\p"
+ .string "If a move worked successfully,\n"
+ .string "the Skill rating goes up.\p"
+ .string "If a move failed, the Skill rating\n"
+ .string "is lowered.\p"
+ .string "If it was an offensive move, the Skill\n"
+ .string "rating goes up if the move was “super\l"
+ .string "effective” and goes down if it was\l"
+ .string "“not very effective.”\p"
+ .string "The Skill rating will not go up for\n"
+ .string "moves such as PROTECT and DETECT.\p"
+ .string "If the opponent used PROTECT or\n"
+ .string "DETECT, and your POKéMON failed to\l"
+ .string "hit with a move, its Skill rating will not\l"
+ .string "go down.$"
+
+BattleFrontier_BattleArenaLobby_Text_257202: @ 8257202
+FallarborTown_BattleTentLobby_Text_257202: @ 8257202
+ .string "The third judging factor is “Body.”\n"
+ .string "This factor is based on how much HP\l"
+ .string "remained at the end of a battle.\p"
+ .string "The rating takes into account how much\n"
+ .string "HP a POKéMON had at the start of\l"
+ .string "battle, and what remained at the end.$"
+
+BattleFrontier_BattleArenaLobby_Text_2572D9: @ 82572D9
+ .string "A victory snatched from the ARENA\n"
+ .string "TYCOON, and a seven-TRAINER sweep!\p"
+ .string "We congratulate you on your most\n"
+ .string "splendid challenge!$"
+
+BattleFrontier_BattleArenaLobby_Text_257353: @ 8257353
+ .string "My dear challenger, in recognition of\n"
+ .string "your indefatigable spirit, please\l"
+ .string "accept these Battle Point(s).$"
diff --git a/data/scripts/maps/BattleFrontier_BattleDomeBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattleDomeBattleRoom.inc
new file mode 100644
index 000000000..963e8e6c2
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattleDomeBattleRoom.inc
@@ -0,0 +1,1277 @@
+BattleFrontier_BattleDomeBattleRoom_MapScripts:: @ 824BC9C
+ map_script 3, BattleFrontier_BattleDomeBattleRoom_MapScript1_24BCB1
+ map_script 2, BattleFrontier_BattleDomeBattleRoom_MapScript2_24BD00
+ map_script 4, BattleFrontier_BattleDomeBattleRoom_MapScript2_24C481
+ map_script 5, BattleFrontier_BattleDomeBattleRoom_MapScript1_24C4F0
+ .byte 0
+
+BattleFrontier_BattleDomeBattleRoom_MapScript1_24BCB1: @ 824BCB1
+ setvar VAR_0x8004, 10
+ special sub_818E9AC
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ copyvar VAR_0x400F, VAR_RESULT
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C919
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC
+ end
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_24BCDC:: @ 824BCDC
+BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC:: @ 824BCDC
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BCF4
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BCFA
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24BCF4:: @ 824BCF4
+ setvar VAR_0x4011, 100
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24BCFA:: @ 824BCFA
+ setvar VAR_0x4011, 105
+ return
+
+BattleFrontier_BattleDomeBattleRoom_MapScript2_24BD00: @ 824BD00
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24BD0A
+ .2byte 0
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24BD0A:: @ 824BD0A
+ lockall
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C938
+ applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4
+ waitmovement 0
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24BFD5
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24C970, 4
+ closemessage
+ showobjectat 13, BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM
+ compare_var_to_value VAR_0x400F, 3
+ goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24BD4E
+ compare_var_to_value VAR_0x400E, 0
+ goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24BD5A
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24BD4E:: @ 824BD4E
+ applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C775
+ goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BD61
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24BD5A:: @ 824BD5A
+ applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C77F
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24BD61:: @ 824BD61
+ playse SE_W227B
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ waitmovement 0
+ compare_var_to_value VAR_0x400F, 3
+ goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82
+ compare_var_to_value VAR_0x400E, 0
+ goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1CB
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82:: @ 824BD82
+ setvar VAR_0x8004, 4
+ special sub_818E9AC
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24C990, 4
+ closemessage
+ applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C77B
+ applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C789
+ waitmovement 0
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 0
+ special sub_8161F74
+ msgbox 0x2021fc4, 4
+ closemessage
+ setvar VAR_0x8004, 5
+ special sub_818E9AC
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C440
+ setvar VAR_0x4002, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0
+ case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F
+ case 9, BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F
+ setvar VAR_0x4002, 1
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24BDF7:: @ 824BDF7
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CA86, 4
+ closemessage
+ playse SE_W227B
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ delay 60
+ applymovement 9, BattleFrontier_BattleDomeBattleRoom_Movement_24C964
+ waitmovement 0
+ applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_24C969
+ waitmovement 0
+ delay 180
+ applymovement 9, BattleFrontier_BattleDomeBattleRoom_Movement_24C96B
+ waitmovement 0
+ compare_var_to_value VAR_0x4002, 2
+ goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F
+ setvar VAR_0x8004, 19
+ special sub_818E9AC
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F:: @ 824BE4F
+ applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4
+ waitmovement 0
+ setvar VAR_0x8004, 4
+ special sub_818E9AC
+ compare_var_to_value VAR_0x4002, 0
+ call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEB1
+ compare_var_to_value VAR_0x4002, 1
+ call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEC5
+ compare_var_to_value VAR_0x4002, 2
+ call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BED9
+ playse SE_W227B
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ delay 60
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24BE8D:: @ 824BE8D
+ setvar VAR_0x8004, 12
+ setvar VAR_0x8005, 2
+ special sub_818E9AC
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24BE9A:: @ 824BE9A
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 4
+ special sub_81A1780
+ goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C8F5
+@ goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24C8F5
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24BEB1:: @ 824BEB1
+ setvar VAR_0x8004, 20
+ setvar VAR_0x8005, 1
+ special sub_81A1780
+ message BattleFrontier_BattleDomeBattleRoom_Text_24C9E1
+ waitmessage
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24BEC5:: @ 824BEC5
+ setvar VAR_0x8004, 20
+ setvar VAR_0x8005, 0
+ special sub_81A1780
+ message BattleFrontier_BattleDomeBattleRoom_Text_24CB34
+ waitmessage
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24BED9:: @ 824BED9
+ message BattleFrontier_BattleDomeBattleRoom_Text_24D6BE
+ waitmessage
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0:: @ 824BEE0
+ applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4
+ waitmovement 0
+ compare_var_to_value VAR_0x4002, 0
+ call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BFC3
+ compare_var_to_value VAR_0x4002, 1
+ call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BFCC
+ playse SE_W227B
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ delay 60
+ setvar VAR_0x8004, 3
+ special sub_818E9AC
+ setvar VAR_0x8004, 12
+ setvar VAR_0x8005, 1
+ special sub_818E9AC
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ addvar VAR_RESULT, 1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A1780
+ switch VAR_RESULT
+ case 4, BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
+ setvar VAR_0x8006, 1
+ warp BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM, 255, 5, 3
+ waitstate
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62:: @ 824BF62
+ applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C77D
+ waitmovement 0
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ special sub_81A1780
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BF96
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CA04, 4
+ goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BF9E
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24BF96:: @ 824BF96
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CA44, 4
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24BF9E:: @ 824BF9E
+ special sub_8175280
+ playse SE_W227B
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ delay 60
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 3
+ special sub_81A1780
+ goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C8F5
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24BFC3:: @ 824BFC3
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24C9BE, 4
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24BFCC:: @ 824BFCC
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CB9D, 4
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24BFD5:: @ 824BFD5
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 6
+ special sub_818E9AC
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C023
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 7
+ special sub_818E9AC
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C076
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ special sub_818E9AC
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C16A
+ goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C9
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C023:: @ 824C023
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24C05A
+ case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C061
+ case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C068
+ case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C06F
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C05A:: @ 824C05A
+ message BattleFrontier_BattleDomeBattleRoom_Text_24CC06
+ waitmessage
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C061:: @ 824C061
+ message BattleFrontier_BattleDomeBattleRoom_Text_24CC1C
+ waitmessage
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C068:: @ 824C068
+ message BattleFrontier_BattleDomeBattleRoom_Text_24CC2E
+ waitmessage
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C06F:: @ 824C06F
+ message BattleFrontier_BattleDomeBattleRoom_Text_24CC5B
+ waitmessage
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C076:: @ 824C076
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24C0AD
+ case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C0B4
+ case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C0BB
+ case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C2
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C0AD:: @ 824C0AD
+ message BattleFrontier_BattleDomeBattleRoom_Text_24CC99
+ waitmessage
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C0B4:: @ 824C0B4
+ message BattleFrontier_BattleDomeBattleRoom_Text_24CCC5
+ waitmessage
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C0BB:: @ 824C0BB
+ message BattleFrontier_BattleDomeBattleRoom_Text_24CCFD
+ waitmessage
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C2:: @ 824C0C2
+ message BattleFrontier_BattleDomeBattleRoom_Text_24CD33
+ waitmessage
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C9:: @ 824C0C9
+ compare_var_to_value VAR_0x400F, 3
+ goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C105
+ switch VAR_0x400E
+ case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C158
+ case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C161
+ case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C158
+ case 4, BattleFrontier_BattleDomeBattleRoom_EventScript_24C161
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C105:: @ 824C105
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24C13C
+ case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C143
+ case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C14A
+ case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C151
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C13C:: @ 824C13C
+ message BattleFrontier_BattleDomeBattleRoom_Text_24CD72
+ waitmessage
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C143:: @ 824C143
+ message BattleFrontier_BattleDomeBattleRoom_Text_24CD8C
+ waitmessage
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C14A:: @ 824C14A
+ message BattleFrontier_BattleDomeBattleRoom_Text_24CDB3
+ waitmessage
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C151:: @ 824C151
+ message BattleFrontier_BattleDomeBattleRoom_Text_24CDDE
+ waitmessage
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C158:: @ 824C158
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CEBE, 4
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C161:: @ 824C161
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D232, 4
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C16A:: @ 824C16A
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1A1
+ case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1A8
+ case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1AF
+ case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1B6
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C1A1:: @ 824C1A1
+ message BattleFrontier_BattleDomeBattleRoom_Text_24CE10
+ waitmessage
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C1A8:: @ 824C1A8
+ message BattleFrontier_BattleDomeBattleRoom_Text_24CE33
+ waitmessage
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C1AF:: @ 824C1AF
+ message BattleFrontier_BattleDomeBattleRoom_Text_24CE57
+ waitmessage
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C1B6:: @ 824C1B6
+ message BattleFrontier_BattleDomeBattleRoom_Text_24CE94
+ waitmessage
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD:: @ 824C1BD
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C1CB:: @ 824C1CB
+ switch VAR_0x400E
+ case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1FC
+ case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C209
+ case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1FC
+ case 4, BattleFrontier_BattleDomeBattleRoom_EventScript_24C209
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C1FC:: @ 824C1FC
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CEDE, 4
+ goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C211
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C209:: @ 824C209
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D26C, 4
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C211:: @ 824C211
+ closemessage
+ applymovement 2, BattleFrontier_BattleDomeBattleRoom_Movement_24C94B
+ applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_24C7F9
+ applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C78E
+ playse SE_W227B
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ waitse
+ playse SE_W227B
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ waitse
+ playse SE_W227B
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ waitse
+ playse SE_W227B
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ waitse
+ playse SE_W227B
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ waitse
+ waitmovement 0
+ message BattleFrontier_BattleDomeBattleRoom_Text_24CF7A
+ waitmessage
+ playse SE_W227B
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ waitse
+ switch VAR_0x400E
+ case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C346
+ case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9
+ case 4, BattleFrontier_BattleDomeBattleRoom_EventScript_24C373
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CFAE, 4
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9:: @ 824C2B9
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D0D9, 4
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C400
+ switch VAR_RESULT
+ case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C420
+ case 9, BattleFrontier_BattleDomeBattleRoom_EventScript_24C420
+ case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C436
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D0F6, 4
+ setvar VAR_0x8004, 12
+ setvar VAR_0x8005, 1
+ special sub_818E9AC
+ setvar VAR_0x8004, 12
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
+ closemessage
+ applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C82B
+ waitmovement 0
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D172, 4
+ playfanfare BGM_ME_BATTLE_SYMBOL
+ message BattleFrontier_BattleDomeBattleRoom_Text_24D1AA
+ waitmessage
+ waitfanfare
+ setvar VAR_0x8004, 13
+ special sub_81A1780
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D1E0, 4
+ goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C346:: @ 824C346
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C373
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D319, 4
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C373:: @ 824C373
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D43E, 4
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C400
+ switch VAR_RESULT
+ case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C420
+ case 9, BattleFrontier_BattleDomeBattleRoom_EventScript_24C420
+ case 3, BattleFrontier_BattleDomeBattleRoom_EventScript_24C436
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D0F6, 4
+ setvar VAR_0x8004, 12
+ setvar VAR_0x8005, 1
+ special sub_818E9AC
+ setvar VAR_0x8004, 12
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
+ closemessage
+ applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C82B
+ waitmovement 0
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D47F, 4
+ playfanfare BGM_ME_BATTLE_SYMBOL
+ message BattleFrontier_BattleDomeBattleRoom_Text_24D522
+ waitmessage
+ waitfanfare
+ setvar VAR_0x8004, 13
+ special sub_81A1780
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D54D, 4
+ goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C400:: @ 824C400
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D677, 4
+ closemessage
+ applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C787
+ applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C829
+ waitmovement 0
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C440
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C420:: @ 824C420
+ msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D127, 4
+ playse SE_W227B
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
+ waitse
+ goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BE8D
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C436:: @ 824C436
+ setvar VAR_0x4002, 2
+ goto BattleFrontier_BattleDomeBattleRoom_EventScript_24BDF7
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C440:: @ 824C440
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 6
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ special sp000_heal_pokemon
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 0
+ setvar VAR_0x4009, 1
+ special sub_8163AC4
+ waitstate
+ setvar VAR_0x4009, 0
+ setvar VAR_0x8004, 17
+ special sub_818E9AC
+ special sp000_heal_pokemon
+ setvar VAR_0x8004, 16
+ special sub_818E9AC
+ return
+
+BattleFrontier_BattleDomeBattleRoom_MapScript2_24C481: @ 824C481
+ map_script_2 VAR_0x4001, 0, BattleFrontier_BattleDomeBattleRoom_EventScript_24C48B
+ .2byte 0
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C48B:: @ 824C48B
+ hideobjectat 13, BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C502
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC
+ setvar VAR_0x4001, 1
+ applymovement 255, BattleFrontier_BattleDomeBattleRoom_Movement_24C773
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 3
+ goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF
+ setvar VAR_0x8004, 9
+ special sub_81A1780
+ copyvar VAR_0x400E, VAR_RESULT
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_242170
+ setobjectxyperm 15, 13, 9
+ removeobject 15
+ addobject 15
+ applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C78B
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF:: @ 824C4EF
+ end
+
+BattleFrontier_BattleDomeBattleRoom_MapScript1_24C4F0: @ 824C4F0
+ compare_var_to_value VAR_0x4009, 1
+ call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C4FC
+ end
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C4FC:: @ 824C4FC
+ call BattleFrontier_BattleDomeBattleRoom_EventScript_24C502
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C502:: @ 824C502
+ compare_var_to_value VAR_0x400F, 0
+ call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C52F
+ compare_var_to_value VAR_0x400F, 1
+ call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C530
+ compare_var_to_value VAR_0x400F, 2
+ call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C594
+ compare_var_to_value VAR_0x400F, 3
+ call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C652
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C52F:: @ 824C52F
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C530:: @ 824C530
+ createvobject 46, 1, 3, 0, 3, 1
+ createvobject 22, 4, 6, 0, 3, 1
+ createvobject 5, 6, 8, 0, 3, 1
+ createvobject 12, 9, 11, 0, 3, 1
+ createvobject 46, 11, 13, 0, 3, 1
+ createvobject 66, 13, 15, 0, 3, 1
+ createvobject 45, 19, 7, 1, 3, 1
+ createvobject 34, 22, 11, 1, 3, 1
+ createvobject 11, 25, 15, 1, 3, 1
+ createvobject 35, 26, 2, 2, 3, 1
+ createvobject 38, 29, 5, 1, 3, 1
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C594:: @ 824C594
+ createvobject 46, 1, 3, 0, 3, 1
+ createvobject 22, 4, 6, 0, 3, 1
+ createvobject 5, 6, 8, 0, 3, 1
+ createvobject 20, 7, 9, 0, 3, 1
+ createvobject 12, 9, 11, 0, 3, 1
+ createvobject 47, 10, 12, 0, 3, 1
+ createvobject 46, 11, 13, 0, 3, 1
+ createvobject 66, 13, 15, 0, 3, 1
+ createvobject 48, 15, 2, 1, 3, 1
+ createvobject 5, 16, 3, 1, 3, 1
+ createvobject 20, 17, 4, 1, 3, 1
+ createvobject 45, 19, 7, 1, 3, 1
+ createvobject 22, 20, 9, 1, 3, 1
+ createvobject 34, 22, 11, 1, 3, 1
+ createvobject 46, 23, 13, 1, 3, 1
+ createvobject 11, 25, 15, 1, 3, 1
+ createvobject 35, 26, 2, 2, 3, 1
+ createvobject 40, 28, 5, 2, 3, 1
+ createvobject 38, 29, 5, 1, 3, 1
+ createvobject 83, 30, 6, 2, 3, 1
+ createvobject 34, 31, 8, 2, 3, 1
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C652:: @ 824C652
+ createvobject 5, 0, 2, 0, 3, 1
+ createvobject 46, 1, 3, 0, 3, 1
+ createvobject 45, 2, 15, 0, 3, 1
+ createvobject 66, 3, 5, 0, 3, 1
+ createvobject 22, 4, 6, 0, 3, 1
+ createvobject 46, 5, 7, 0, 3, 1
+ createvobject 5, 6, 8, 0, 3, 1
+ createvobject 20, 7, 9, 0, 3, 1
+ createvobject 24, 8, 10, 0, 3, 1
+ createvobject 12, 9, 11, 0, 3, 1
+ createvobject 47, 10, 12, 0, 3, 1
+ createvobject 46, 11, 13, 0, 3, 1
+ createvobject 45, 12, 14, 0, 3, 1
+ createvobject 66, 13, 15, 2, 3, 1
+ createvobject 55, 14, 12, 2, 3, 1
+ createvobject 48, 15, 2, 1, 3, 1
+ createvobject 5, 16, 3, 1, 3, 1
+ createvobject 20, 17, 4, 1, 3, 1
+ createvobject 24, 18, 6, 1, 3, 1
+ createvobject 45, 19, 7, 1, 3, 1
+ createvobject 22, 20, 9, 1, 3, 1
+ createvobject 23, 21, 10, 1, 3, 1
+ createvobject 34, 22, 11, 1, 3, 1
+ createvobject 46, 23, 13, 1, 3, 1
+ createvobject 48, 24, 14, 1, 3, 1
+ createvobject 11, 25, 15, 1, 3, 1
+ createvobject 35, 26, 2, 2, 3, 1
+ createvobject 17, 27, 3, 2, 3, 1
+ createvobject 40, 28, 5, 2, 3, 1
+ createvobject 38, 29, 5, 1, 3, 1
+ createvobject 83, 30, 6, 2, 3, 1
+ createvobject 34, 31, 8, 2, 3, 1
+ return
+
+BattleFrontier_BattleArenaBattleRoom_Movement_24C773: @ 824C773
+BattleFrontier_BattleDomeBattleRoom_Movement_24C773: @ 824C773
+ step_54
+ step_end
+
+BattleFrontier_BattleDomeBattleRoom_Movement_24C775: @ 824C775
+ step_55
+ step_14
+ step_up
+ step_up
+ step_up
+ step_right
+
+BattleFrontier_BattleDomeBattleRoom_Movement_24C77B: @ 824C77B
+ step_right
+ step_end
+
+BattleFrontier_BattleDomeBattleRoom_Movement_24C77D: @ 824C77D
+ step_up
+ step_end
+
+BattleFrontier_BattleDomeBattleRoom_Movement_24C77F: @ 824C77F
+ step_55
+ step_14
+ step_up
+ step_up
+ step_up
+ step_right
+ step_right
+ step_end
+
+BattleFrontier_BattleDomeBattleRoom_Movement_24C787: @ 824C787
+ step_right
+ step_end
+
+BattleFrontier_BattleDomeBattleRoom_Movement_24C789: @ 824C789
+ step_left
+ step_end
+
+BattleFrontier_BattleDomeBattleRoom_Movement_24C78B: @ 824C78B
+ step_01
+ step_54
+ step_end
+
+BattleFrontier_BattleDomeBattleRoom_Movement_24C78E: @ 824C78E
+ step_55
+ step_up
+ step_up
+ step_up
+ step_02
+ step_13
+ step_12
+ step_00
+ step_13
+ step_12
+ step_03
+ step_13
+ step_12
+ step_01
+ step_13
+ step_12
+ step_02
+ step_14
+ step_16
+ step_16
+ step_02
+ step_13
+ step_12
+ step_00
+ step_13
+ step_12
+ step_03
+ step_13
+ step_12
+ step_01
+ step_13
+ step_12
+ step_02
+ fast_step_left
+ step_41
+ step_01
+ step_40
+ fast_step_left
+ fast_step_left
+ step_41
+ step_03
+ step_40
+ fast_step_left
+ step_41
+ step_00
+ step_11
+ step_02
+ step_13
+ step_12
+ step_01
+ step_13
+ step_12
+ step_03
+ step_13
+ step_12
+ step_00
+ step_13
+ step_12
+ step_02
+ step_12
+ step_01
+ step_12
+ step_03
+ step_12
+ step_00
+ step_12
+ step_02
+ step_11
+ step_01
+ step_11
+ step_03
+ step_11
+ step_00
+ step_11
+ step_02
+ step_40
+ step_right
+ slow_step_right
+ step_right
+ slow_step_right
+ step_41
+ step_01
+ step_14
+ step_47
+ step_47
+ step_14
+ step_right
+ step_right
+ step_right
+ step_47
+ step_14
+ step_right
+ step_down
+ step_down
+ step_02
+ step_11
+ step_01
+ step_11
+ step_03
+ step_11
+ step_00
+ step_11
+ step_02
+ step_12
+ step_left
+ step_left
+ step_end
+
+BattleFrontier_BattleDomeBattleRoom_Movement_24C7F9: @ 824C7F9
+ step_14
+ step_14
+ step_left
+ step_left
+ step_28
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_right
+ step_right
+ step_25
+ step_end
+
+BattleFrontier_BattleDomeBattleRoom_Movement_24C829: @ 824C829
+ step_left
+ step_end
+
+BattleFrontier_BattleDomeBattleRoom_Movement_24C82B: @ 824C82B
+ step_left
+ step_left
+ step_end
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E:: @ 824C82E
+ turnvobject 0, 4
+ turnvobject 2, 4
+ turnvobject 4, 4
+ turnvobject 6, 4
+ turnvobject 8, 4
+ turnvobject 10, 3
+ turnvobject 12, 3
+ turnvobject 14, 3
+ turnvobject 16, 3
+ turnvobject 18, 3
+ turnvobject 20, 4
+ turnvobject 22, 4
+ turnvobject 24, 4
+ turnvobject 26, 4
+ turnvobject 28, 4
+ turnvobject 30, 4
+ delay 20
+ turnvobject 0, 1
+ turnvobject 2, 1
+ turnvobject 4, 1
+ turnvobject 6, 1
+ turnvobject 8, 1
+ turnvobject 10, 1
+ turnvobject 12, 1
+ turnvobject 14, 1
+ turnvobject 16, 1
+ turnvobject 18, 1
+ turnvobject 20, 1
+ turnvobject 22, 1
+ turnvobject 24, 1
+ turnvobject 26, 1
+ turnvobject 28, 1
+ turnvobject 30, 1
+ delay 20
+ turnvobject 1, 4
+ turnvobject 3, 4
+ turnvobject 5, 4
+ turnvobject 7, 4
+ turnvobject 9, 4
+ turnvobject 11, 3
+ turnvobject 13, 3
+ turnvobject 15, 3
+ turnvobject 17, 3
+ turnvobject 19, 3
+ turnvobject 21, 4
+ turnvobject 23, 4
+ turnvobject 25, 4
+ turnvobject 27, 3
+ turnvobject 31, 3
+ delay 20
+ turnvobject 1, 1
+ turnvobject 3, 1
+ turnvobject 5, 1
+ turnvobject 7, 1
+ turnvobject 9, 1
+ turnvobject 11, 1
+ turnvobject 13, 1
+ turnvobject 15, 1
+ turnvobject 17, 1
+ turnvobject 19, 1
+ turnvobject 21, 1
+ turnvobject 23, 1
+ turnvobject 25, 1
+ turnvobject 27, 1
+ turnvobject 31, 1
+ delay 20
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C8F5:: @ 824C8F5
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24C8F5:: @ 824C8F5
+ copyvar VAR_RESULT, VAR_0x40CE
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24C90F
+ warp BATTLE_FRONTIER_BATTLE_DOME_LOBBY, 255, 5, 11
+ waitstate
+ end
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24C90F:: @ 824C90F
+ warp BATTLE_FRONTIER_BATTLE_DOME_LOBBY, 255, 17, 11
+ waitstate
+ end
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C919:: @ 824C919
+ random 2
+ copyvar VAR_0x400D, VAR_RESULT
+ compare_var_to_value VAR_0x400D, 0
+ goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_27374E
+ setobjectxyperm 6, 2, 0
+ setobjectmovementtype 6, 10
+ return
+
+BattleFrontier_BattleDomeBattleRoom_EventScript_24C938:: @ 824C938
+ compare_var_to_value VAR_0x400D, 0
+ goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_27374E
+ applymovement 6, BattleFrontier_BattleDomeBattleRoom_Movement_24C95E
+ return
+
+BattleFrontier_BattleDomeBattleRoom_Movement_24C94B: @ 824C94B
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_13
+ step_51
+ step_46
+ step_12
+ step_46
+ step_50
+ step_end
+
+BattleFrontier_BattleDomeBattleRoom_Movement_24C95E: @ 824C95E
+ step_down
+ step_down
+ step_right
+ step_right
+ step_25
+ step_end
+
+BattleFrontier_BattleDomeBattleRoom_Movement_24C964: @ 824C964
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+BattleFrontier_BattleDomeBattleRoom_Movement_24C969: @ 824C969
+ step_27
+ step_end
+
+BattleFrontier_BattleDomeBattleRoom_Movement_24C96B: @ 824C96B
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+BattleFrontier_BattleDomeBattleRoom_Text_24C970: @ 824C970
+ .string "{PLAYER} has entered the BATTLE DOME!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24C990: @ 824C990
+ .string "{STR_VAR_1}\n"
+ .string "match!\p"
+ .string "{PLAYER} versus {STR_VAR_2}!\p"
+ .string "Let the battle begin!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24C9BE: @ 824C9BE
+ .string "{PLAYER} is the winner!\n"
+ .string "Congratulations!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24C9E1: @ 824C9E1
+ .string "{STR_VAR_2} is the winner!\n"
+ .string "Congratulations!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CA04: @ 824CA04
+ .string "{PLAYER} is the Level 50\n"
+ .string "Battle Tournament Champion!\p"
+ .string "Congratulations!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CA44: @ 824CA44
+ .string "{PLAYER} is the Open Level\n"
+ .string "Battle Tournament Champion!\p"
+ .string "Congratulations!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CA86: @ 824CA86
+ .string "What an unbelievable finish!\n"
+ .string "We have a double knockout!\p"
+ .string "In this event, the Battle Tournament\n"
+ .string "rules call for a REFEREE’S decision.\p"
+ .string "Please wait while the judging\n"
+ .string "is under way.$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CB34: @ 824CB34
+ .string "The REFEREES have reached\n"
+ .string "a decision!\p"
+ .string "The winner is…\n"
+ .string "Oh, my goodness!\l"
+ .string "The winner is {STR_VAR_1}!\l"
+ .string "Congratulations!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CB9D: @ 824CB9D
+ .string "The REFEREES have reached\n"
+ .string "a decision!\p"
+ .string "The winner is…\n"
+ .string "Oh, my goodness!\l"
+ .string "The winner is {PLAYER}!\l"
+ .string "Congratulations!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CC06: @ 824CC06
+ .string "The bright new hope!\p"
+ .string "$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CC1C: @ 824CC1C
+ .string "The rising star!\p"
+ .string "$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CC2E: @ 824CC2E
+ .string "Will this TRAINER race to\n"
+ .string "the championship?\p"
+ .string "$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CC5B: @ 824CC5B
+ .string "Can the feat of a championship\n"
+ .string "on the first try be achieved?\p"
+ .string "$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CC99: @ 824CC99
+ .string "Can the loss of the last match\n"
+ .string "be avenged?\p"
+ .string "$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CCC5: @ 824CCC5
+ .string "The TRAINER is on fire for\n"
+ .string "the first championship try!\p"
+ .string "$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CCFD: @ 824CCFD
+ .string "A win here means this TRAINER\n"
+ .string "advances to the final!\p"
+ .string "$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CD33: @ 824CD33
+ .string "Will the long-held dream of\n"
+ .string "a championship finally come true?\p"
+ .string "$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CD72: @ 824CD72
+ .string "The invincible champion!\p"
+ .string "$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CD8C: @ 824CD8C
+ .string "Can anyone hope to beat this\n"
+ .string "TRAINER?\p"
+ .string "$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CDB3: @ 824CDB3
+ .string "Do battles exist solely for\n"
+ .string "this TRAINER?\p"
+ .string "$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CDDE: @ 824CDDE
+ .string "The current champion aiming to\n"
+ .string "retain the title!\p"
+ .string "$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CE10: @ 824CE10
+ .string "The former champion has returned!\p"
+ .string "$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CE33: @ 824CE33
+ .string "The former toughness has returned!\p"
+ .string "$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CE57: @ 824CE57
+ .string "Will this TRAINER do as expected\n"
+ .string "and advance to the finals?\p"
+ .string "$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CE94: @ 824CE94
+ .string "Will the former champ regain\n"
+ .string "lost glory?\p"
+ .string "$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CEBE: @ 824CEBE
+ .string "Feel the glow of a true master!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CEDE: @ 824CEDE
+ .string "And now… The TRAINER standing in\n"
+ .string "{PLAYER}’s record-setting path…\p"
+ .string "Yes! The one and only!\n"
+ .string "The BATTLE DOME COMMISSIONER!\l"
+ .string "Our very own DOME ACE!\l"
+ .string "Make way for TUCKER!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CF7A: @ 824CF7A
+ .string "Spectators: TUCKER! TUCKER!\n"
+ .string "TUCKER! TUCKER! TUCKER!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24CFAE: @ 824CFAE
+ .string "TUCKER: Ahahah!\p"
+ .string "Do you hear it? This crowd!\n"
+ .string "They’re all itching to see our match!\p"
+ .string "Ahahah!\p"
+ .string "I bet you’re twitching all over from\n"
+ .string "the tension of getting to battle me!\p"
+ .string "But don’t you worry about a thing!\p"
+ .string "I’m the no. 1 star of the BATTLE DOME!\n"
+ .string "I, TUCKER the DOME ACE, will bathe you\l"
+ .string "in my brilliant glow!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24D0D9: @ 824D0D9
+ .string "Your strategy!\n"
+ .string "Let’s see it!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24D0F6: @ 824D0F6
+ .string "Unbelievable! It’s incredible!\n"
+ .string "The victor is {PLAYER}!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24D127: @ 824D127
+ .string "The winner is TUCKER!\n"
+ .string "The DOME ACE has prevailed!\p"
+ .string "Congratulations, TUCKER!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24D172: @ 824D172
+ .string "TUCKER: Rules are rules!\n"
+ .string "Let me see your FRONTIER PASS.$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24D1AA: @ 824D1AA
+ .string "The Tactics Symbol was embossed on\n"
+ .string "the FRONTIER PASS!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24D1E0: @ 824D1E0
+ .string "… … … … … …\p"
+ .string "I sorely underestimated you. I won’t\n"
+ .string "make the same mistake next time…$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24D232: @ 824D232
+ .string "Can the win streak be stretched?\n"
+ .string "The confidence is there!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24D26C: @ 824D26C
+ .string "Ladies and gentlemen!\n"
+ .string "Boys, girls, and POKéMON!\p"
+ .string "Finally!\n"
+ .string "Finally, the legend has returned!\p"
+ .string "Yes, the name of that legend!\n"
+ .string "Our very own DOME ACE!\l"
+ .string "It’s none other than TUCKER!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24D319: @ 824D319
+ .string "TUCKER: Ah…\n"
+ .string "The pummeling roar of the crowd…\l"
+ .string "Their furnace-like heat of excitement…\l"
+ .string "This is a wonderful place…\p"
+ .string "To the crowd, I am the DOME ACE…\n"
+ .string "I represent their hopes and dreams…\l"
+ .string "I must never fade from their sight…\p"
+ .string "I must burn!\n"
+ .string "Brighter and more brilliant!\l"
+ .string "I must light all that gather here!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24D43E: @ 824D43E
+ .string "I will unleash all the power that\n"
+ .string "I possess! Right here and now!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24D47F: @ 824D47F
+ .string "TUCKER: You’re genuinely fantastic!\p"
+ .string "Never before! I haven’t ever lost in the\n"
+ .string "times I’ve had to unleash my power.\p"
+ .string "Yes, quite fantastic!\n"
+ .string "Your FRONTIER PASS, please?$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24D522: @ 824D522
+ .string "The Tactics Symbol took on\n"
+ .string "a golden shine!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24D54D: @ 824D54D
+ .string "You’re strong, but above all,\n"
+ .string "you have a unique charm!\p"
+ .string "In you, I see a definite potential for\n"
+ .string "a superstar like me.\p"
+ .string "I will very much look forward to\n"
+ .string "our next encounter!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24D5F5: @ 824D5F5
+ .string "{PLAYER} is the Level 50\n"
+ .string "Battle Tournament Champion!\p"
+ .string "Congratulations!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24D635: @ 824D635
+ .string "{PLAYER} is the Open Level\n"
+ .string "Battle Tournament Champion!\p"
+ .string "Congratulations!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24D677: @ 824D677
+ .string "The final match!\p"
+ .string "{PLAYER} versus the DOME ACE, TUCKER!\p"
+ .string "Let the battle begin!$"
+
+BattleFrontier_BattleDomeBattleRoom_Text_24D6BE: @ 824D6BE
+ .string "The REFEREES have reached\n"
+ .string "a decision!\p"
+ .string "The winner is…\n"
+ .string "Oh, my goodness!\l"
+ .string "The winner is our very own DOME ACE!\l"
+ .string "It’s TUCKER!\p"
+ .string "Congratulations! And thank you!\n"
+ .string "Let’s hear it for the DOME ACE, TUCKER!$"
diff --git a/data/scripts/maps/BattleFrontier_BattleDomeCorridor.inc b/data/scripts/maps/BattleFrontier_BattleDomeCorridor.inc
new file mode 100644
index 000000000..87bf0aa63
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattleDomeCorridor.inc
@@ -0,0 +1,152 @@
+BattleFrontier_BattleDomeCorridor_MapScripts:: @ 824B0FE
+ map_script 2, BattleFrontier_BattleDomeCorridor_MapScript2_24B104
+ .byte 0
+
+BattleFrontier_BattleDomeCorridor_MapScript2_24B104: @ 824B104
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattleDomeCorridor_EventScript_24B10E
+ .2byte 0
+
+BattleFrontier_BattleDomeCorridor_EventScript_24B10E:: @ 824B10E
+ delay 16
+ setvar VAR_0x4000, 1
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleDomeCorridor_EventScript_24B161
+ applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1B2
+ applymovement 255, BattleFrontier_BattleDomeCorridor_Movement_24B1A1
+ waitmovement 0
+ opendoor 13, 3
+ waitdooranim
+ applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1BE
+ applymovement 255, BattleFrontier_BattleDomeCorridor_Movement_24B1AE
+ waitmovement 0
+ closedoor 13, 3
+ waitdooranim
+ goto BattleFrontier_BattleDomeCorridor_EventScript_24B18F
+
+BattleFrontier_BattleDomeCorridor_EventScript_24B161:: @ 824B161
+ applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1D6
+ applymovement 255, BattleFrontier_BattleDomeCorridor_Movement_24B1C1
+ waitmovement 0
+ opendoor 37, 3
+ waitdooranim
+ applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1E6
+ applymovement 255, BattleFrontier_BattleDomeCorridor_Movement_24B1D2
+ waitmovement 0
+ closedoor 37, 3
+ waitdooranim
+
+BattleFrontier_BattleDomeCorridor_EventScript_24B18F:: @ 824B18F
+ waitmovement 0
+ setvar VAR_0x8006, 0
+ warp BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM, 255, 5, 7
+ waitstate
+ end
+
+BattleFrontier_BattleDomeCorridor_Movement_24B1A1: @ 824B1A1
+ step_up
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_26
+ step_end
+
+BattleFrontier_BattleDomeCorridor_Movement_24B1AE: @ 824B1AE
+ step_up
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattleDomeCorridor_Movement_24B1B2: @ 824B1B2
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_up
+ step_end
+
+BattleFrontier_BattleDomeCorridor_Movement_24B1BE: @ 824B1BE
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattleDomeCorridor_Movement_24B1C1: @ 824B1C1
+ step_up
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_26
+ step_end
+
+BattleFrontier_BattleDomeCorridor_Movement_24B1D2: @ 824B1D2
+ step_up
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattleDomeCorridor_Movement_24B1D6: @ 824B1D6
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_up
+ step_end
+
+BattleFrontier_BattleDomeCorridor_Movement_24B1E6: @ 824B1E6
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattleDomeCorridor_Movement_24B1E9: @ 824B1E9
+ step_up
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_up
+ step_up
+ step_54
+ step_end
diff --git a/data/scripts/maps/BattleFrontier_BattleDomeLobby.inc b/data/scripts/maps/BattleFrontier_BattleDomeLobby.inc
new file mode 100644
index 000000000..397793888
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattleDomeLobby.inc
@@ -0,0 +1,777 @@
+BattleFrontier_BattleDomeLobby_MapScripts:: @ 82497E2
+ map_script 5, BattleFrontier_BattleDomeLobby_MapScript1_2497F2
+ map_script 2, BattleFrontier_BattleDomeLobby_MapScript2_24980F
+ map_script 4, BattleFrontier_BattleDomeLobby_MapScript2_2497FB
+ .byte 0
+
+BattleFrontier_BattleDomeLobby_MapScript1_2497F2: @ 82497F2
+ setvar VAR_0x8004, 21
+ special sub_818E9AC
+ end
+
+BattleFrontier_BattleDomeLobby_MapScript2_2497FB: @ 82497FB
+BattleFrontier_BattlePyramidLobby_MapScript2_2497FB: @ 82497FB
+ map_script_2 VAR_0x4001, 0, BattleFrontier_BattleDomeLobby_EventScript_249805
+ .2byte 0
+
+BattleFrontier_BattleDomeLobby_EventScript_249805:: @ 8249805
+ setvar VAR_0x4001, 1
+ turnobject 255, 2
+ end
+
+BattleFrontier_BattleDomeLobby_MapScript2_24980F: @ 824980F
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattleDomeLobby_EventScript_249839
+ map_script_2 VAR_0x4000, 1, BattleFrontier_BattleDomeLobby_EventScript_249842
+ map_script_2 VAR_0x4000, 2, BattleFrontier_BattleDomeLobby_EventScript_2499F9
+ map_script_2 VAR_0x4000, 3, BattleFrontier_BattleDomeLobby_EventScript_24989B
+ map_script_2 VAR_0x4000, 4, BattleFrontier_BattleDomeLobby_EventScript_249940
+ .2byte 0
+
+BattleFrontier_BattleDomeLobby_EventScript_249839:: @ 8249839
+ setvar VAR_0x8004, 0
+ special sub_81A1780
+ end
+
+BattleFrontier_BattleDomeLobby_EventScript_249842:: @ 8249842
+ lockall
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A45F, 4
+ closemessage
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_818E9AC
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 0
+ special sub_818E9AC
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 6
+ setvar VAR_0x8006, 1
+ special sub_818E9AC
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+BattleFrontier_BattleDomeLobby_EventScript_24989B:: @ 824989B
+ call BattleFrontier_BattleDomeLobby_EventScript_241EBA
+ lockall
+ setvar VAR_0x8004, 10
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleDomeLobby_EventScript_2498C1
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A4E9, 4
+ goto BattleFrontier_BattleDomeLobby_EventScript_2498C9
+
+BattleFrontier_BattleDomeLobby_EventScript_2498C1:: @ 82498C1
+ msgbox BattleFrontier_BattleDomeLobby_Text_24AD67, 4
+
+BattleFrontier_BattleDomeLobby_EventScript_2498C9:: @ 82498C9
+ msgbox BattleFrontier_BattleDomeLobby_Text_24ADB1, 4
+ setvar VAR_0x8004, 11
+ special sub_81A1780
+ msgbox BattleFrontier_BattleDomeLobby_Text_241520, 9
+ message BattleFrontier_BattleDomeLobby_Text_24A5D6
+ waitmessage
+ special copy_player_party_from_sav1
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 3
+ special sub_81A1780
+ setvar VAR_0x8004, 8
+ special sub_81A1780
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 6
+ setvar VAR_0x8006, 1
+ special sub_818E9AC
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 7
+ setvar VAR_0x8006, 1
+ special sub_818E9AC
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 1
+ special sub_818E9AC
+ special copy_player_party_from_sav1
+ special sp000_heal_pokemon
+ goto BattleFrontier_BattleDomeLobby_EventScript_249991
+
+BattleFrontier_BattleDomeLobby_EventScript_249940:: @ 8249940
+ lockall
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A5BF, 4
+ message BattleFrontier_BattleDomeLobby_Text_24A5D6
+ waitmessage
+ special copy_player_party_from_sav1
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 3
+ special sub_81A1780
+ setvar VAR_0x8004, 8
+ special sub_81A1780
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 0
+ special sub_818E9AC
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 6
+ setvar VAR_0x8006, 1
+ special sub_818E9AC
+ special copy_player_party_from_sav1
+ special sp000_heal_pokemon
+
+BattleFrontier_BattleDomeLobby_EventScript_249991:: @ 8249991
+ setvar VAR_0x8004, 13
+ setvar VAR_0x8005, 0
+ special sub_818E9AC
+ playse SE_SAVE
+ waitse
+ call BattleFrontier_BattleDomeLobby_EventScript_23E8E0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleDomeLobby_EventScript_2499E9
+ message BattleFrontier_BattleDomeLobby_Text_24AE17
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleDomeLobby_EventScript_2499E9
+ case 0, BattleFrontier_BattleDomeLobby_EventScript_2499E4
+ case 127, BattleFrontier_BattleDomeLobby_EventScript_2499E9
+
+BattleFrontier_BattleDomeLobby_EventScript_2499E4:: @ 82499E4
+ call BattleFrontier_BattleDomeLobby_EventScript_23E8B4
+
+BattleFrontier_BattleDomeLobby_EventScript_2499E9:: @ 82499E9
+ msgbox BattleFrontier_BattleDomeLobby_Text_249F74, 4
+ closemessage
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+BattleFrontier_BattleDomeLobby_EventScript_2499F9:: @ 82499F9
+ lockall
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A5FE, 4
+ message BattleFrontier_BattleDomeLobby_Text_24A61A
+ waitmessage
+ setvar VAR_0x8004, 13
+ setvar VAR_0x8005, 1
+ special sub_818E9AC
+ playse SE_SAVE
+ waitse
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x4000, 255
+ goto BattleFrontier_BattleDomeLobby_EventScript_249BC2
+
+BattleFrontier_BattleDomeLobby_EventScript_249A35:: @ 8249A35
+ lock
+ faceplayer
+ setvar VAR_FRONTIER_FACILITY, 1
+ setvar VAR_0x40CE, 0
+ goto BattleFrontier_BattleDomeLobby_EventScript_249A59
+ end
+
+BattleFrontier_BattleDomeLobby_EventScript_249A47:: @ 8249A47
+ lock
+ faceplayer
+ setvar VAR_FRONTIER_FACILITY, 1
+ setvar VAR_0x40CE, 1
+ goto BattleFrontier_BattleDomeLobby_EventScript_249A59
+ end
+
+BattleFrontier_BattleDomeLobby_EventScript_249A59:: @ 8249A59
+ special copy_player_party_to_sav1
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CFD
+ compare_var_to_value VAR_0x40CE, 1
+ call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D06
+
+BattleFrontier_BattleDomeLobby_EventScript_249A72:: @ 8249A72
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D0F
+ compare_var_to_value VAR_0x40CE, 1
+ call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D15
+ waitmessage
+ multichoice 17, 6, 23, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleDomeLobby_EventScript_249ABF
+ case 1, BattleFrontier_BattleDomeLobby_EventScript_249BFA
+ case 2, BattleFrontier_BattleDomeLobby_EventScript_249C64
+ case 127, BattleFrontier_BattleDomeLobby_EventScript_249C64
+
+BattleFrontier_BattleDomeLobby_EventScript_249ABF:: @ 8249ABF
+ message BattleFrontier_BattleDomeLobby_Text_24A210
+ waitmessage
+ multichoice 17, 6, 24, 0
+ switch VAR_RESULT
+ case 2, BattleFrontier_BattleDomeLobby_EventScript_249C64
+ case 127, BattleFrontier_BattleDomeLobby_EventScript_249C64
+ setvar VAR_0x8004, 15
+ special sub_81A1780
+ compare_var_to_value VAR_0x8004, 1
+ goto_eq BattleFrontier_BattleDomeLobby_EventScript_249C15
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A1780
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A26E, 4
+ fadescreen 1
+ call BattleFrontier_BattleDomeLobby_EventScript_23F2B7
+ copyvar VAR_0x8004, VAR_RESULT
+ setvar VAR_0x8005, 3
+ special sub_80F9490
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleDomeLobby_EventScript_249C61
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A1C6, 5
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleDomeLobby_EventScript_249C61
+ case 1, BattleFrontier_BattleDomeLobby_EventScript_249B60
+ case 127, BattleFrontier_BattleDomeLobby_EventScript_249C61
+
+BattleFrontier_BattleDomeLobby_EventScript_249B60:: @ 8249B60
+ setvar VAR_0x4000, 0
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 4
+ special sub_81A1780
+ setvar VAR_0x8004, 0
+ special sub_818E9AC
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ closemessage
+ delay 2
+ call BattleFrontier_BattleDomeLobby_EventScript_27134F
+ setvar VAR_0x4000, 255
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleDomeLobby_EventScript_249C4A
+ setvar VAR_0x8004, 22
+ special sub_818E9AC
+
+BattleFrontier_BattleDomeLobby_EventScript_249BC2:: @ 8249BC2
+ special copy_player_party_to_sav1
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 3
+ special sub_81A1780
+ setvar VAR_0x8004, 15
+ special sub_818E9AC
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A437, 4
+ closemessage
+ call BattleFrontier_BattleDomeLobby_EventScript_249C6E
+ special sp000_heal_pokemon
+ warp BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR, 255, 23, 6
+ setvar VAR_0x4000, 0
+ waitstate
+ end
+
+BattleFrontier_BattleDomeLobby_EventScript_249BFA:: @ 8249BFA
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D1B
+ compare_var_to_value VAR_0x40CE, 1
+ call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D24
+ goto BattleFrontier_BattleDomeLobby_EventScript_249A72
+
+BattleFrontier_BattleDomeLobby_EventScript_249C15:: @ 8249C15
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleDomeLobby_EventScript_249C30
+ case 1, BattleFrontier_BattleDomeLobby_EventScript_249C3D
+
+BattleFrontier_BattleDomeLobby_EventScript_249C30:: @ 8249C30
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A353, 4
+ goto BattleFrontier_BattleDomeLobby_EventScript_249C6C
+
+BattleFrontier_BattleDomeLobby_EventScript_249C3D:: @ 8249C3D
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A2AB, 4
+ goto BattleFrontier_BattleDomeLobby_EventScript_249C6C
+
+BattleFrontier_BattleDomeLobby_EventScript_249C4A:: @ 8249C4A
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ goto BattleFrontier_BattleDomeLobby_EventScript_249C64
+
+BattleFrontier_BattleDomeLobby_EventScript_249C61:: @ 8249C61
+ special copy_player_party_from_sav1
+
+BattleFrontier_BattleDomeLobby_EventScript_249C64:: @ 8249C64
+ msgbox BattleFrontier_BattleDomeLobby_Text_249F74, 4
+
+BattleFrontier_BattleDomeLobby_EventScript_249C6C:: @ 8249C6C
+ release
+ end
+
+BattleFrontier_BattleDomeLobby_EventScript_249C6E:: @ 8249C6E
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CDD
+ compare_var_to_value VAR_0x40CE, 1
+ call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CE5
+ applymovement 255, BattleFrontier_BattleDomeLobby_Movement_249D45
+ waitmovement 0
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D2D
+ compare_var_to_value VAR_0x40CE, 1
+ call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D33
+ waitdooranim
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CED
+ compare_var_to_value VAR_0x40CE, 1
+ call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CF5
+ applymovement 255, BattleFrontier_BattleDomeLobby_Movement_249D4E
+ waitmovement 0
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D39
+ compare_var_to_value VAR_0x40CE, 1
+ call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D3F
+ waitdooranim
+ return
+
+BattleFrontier_BattleDomeLobby_EventScript_249CDD:: @ 8249CDD
+ applymovement 1, BattleFrontier_BattleDomeLobby_Movement_249D45
+ return
+
+BattleFrontier_BattleDomeLobby_EventScript_249CE5:: @ 8249CE5
+ applymovement 6, BattleFrontier_BattleDomeLobby_Movement_249D45
+ return
+
+BattleFrontier_BattleDomeLobby_EventScript_249CED:: @ 8249CED
+ applymovement 1, BattleFrontier_BattleDomeLobby_Movement_249D4B
+ return
+
+BattleFrontier_BattleDomeLobby_EventScript_249CF5:: @ 8249CF5
+ applymovement 6, BattleFrontier_BattleDomeLobby_Movement_249D4B
+ return
+
+BattleFrontier_BattleDomeLobby_EventScript_249CFD:: @ 8249CFD
+ msgbox BattleFrontier_BattleDomeLobby_Text_249EB7, 4
+ return
+
+BattleFrontier_BattleDomeLobby_EventScript_249D06:: @ 8249D06
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A664, 4
+ return
+
+BattleFrontier_BattleDomeLobby_EventScript_249D0F:: @ 8249D0F
+ message BattleFrontier_BattleDomeLobby_Text_249F3A
+ return
+
+BattleFrontier_BattleDomeLobby_EventScript_249D15:: @ 8249D15
+ message BattleFrontier_BattleDomeLobby_Text_24A6E7
+ return
+
+BattleFrontier_BattleDomeLobby_EventScript_249D1B:: @ 8249D1B
+ msgbox BattleFrontier_BattleDomeLobby_Text_249F8E, 4
+ return
+
+BattleFrontier_BattleDomeLobby_EventScript_249D24:: @ 8249D24
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A721, 4
+ return
+
+BattleFrontier_BattleDomeLobby_EventScript_249D2D:: @ 8249D2D
+ opendoor 5, 4
+ return
+
+BattleFrontier_BattleDomeLobby_EventScript_249D33:: @ 8249D33
+ opendoor 17, 4
+ return
+
+BattleFrontier_BattleDomeLobby_EventScript_249D39:: @ 8249D39
+ closedoor 5, 4
+ return
+
+BattleFrontier_BattleDomeLobby_EventScript_249D3F:: @ 8249D3F
+ closedoor 17, 4
+ return
+
+BattleFrontier_BattleDomeLobby_Movement_249D45: @ 8249D45
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+BattleFrontier_BattleDomeLobby_Movement_249D4B: @ 8249D4B
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattleDomeLobby_Movement_249D4E: @ 8249D4E
+ step_up
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattleDomeLobby_EventScript_249D52:: @ 8249D52
+ lockall
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ waitbuttonpress
+ special sub_813C5A0
+ releaseall
+ end
+
+BattleFrontier_BattleDomeLobby_EventScript_249D6B:: @ 8249D6B
+ lockall
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ waitbuttonpress
+ special sub_813C5A0
+ releaseall
+ end
+
+BattleFrontier_BattleDomeLobby_EventScript_249D84:: @ 8249D84
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 9
+ special sub_818E9AC
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249DC9
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249DD2
+ compare_var_to_value VAR_RESULT, 2
+ call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249DDB
+ compare_var_to_value VAR_RESULT, 3
+ call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249DE4
+ fadescreen 1
+ setvar VAR_0x8004, 8
+ special sub_818E9AC
+ waitstate
+ end
+
+BattleFrontier_BattleDomeLobby_EventScript_249DC9:: @ 8249DC9
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A966, 3
+ return
+
+BattleFrontier_BattleDomeLobby_EventScript_249DD2:: @ 8249DD2
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A9A9, 3
+ return
+
+BattleFrontier_BattleDomeLobby_EventScript_249DDB:: @ 8249DDB
+ msgbox BattleFrontier_BattleDomeLobby_Text_24A9EC, 3
+ return
+
+BattleFrontier_BattleDomeLobby_EventScript_249DE4:: @ 8249DE4
+ msgbox BattleFrontier_BattleDomeLobby_Text_24AA31, 3
+ return
+
+BattleFrontier_BattleDomeLobby_EventScript_249DED:: @ 8249DED
+ setvar VAR_0x8004, 20
+ special sub_818E9AC
+ msgbox BattleFrontier_BattleDomeLobby_Text_24AA76, 2
+ end
+
+BattleFrontier_BattleDomeLobby_EventScript_249DFE:: @ 8249DFE
+ msgbox BattleFrontier_BattleDomeLobby_Text_24AB94, 2
+ end
+
+BattleFrontier_BattleDomeLobby_EventScript_249E07:: @ 8249E07
+ msgbox BattleFrontier_BattleDomeLobby_Text_24AC76, 2
+ end
+
+BattleFrontier_BattleDomeLobby_EventScript_249E10:: @ 8249E10
+ msgbox BattleFrontier_BattleDomeLobby_Text_24ACD3, 2
+ end
+
+BattleFrontier_OutsideWest_EventScript_249E19:: @ 8249E19
+ msgbox BattleFrontier_OutsideWest_Text_24AB06, 2
+ end
+
+BattleFrontier_OutsideWest_EventScript_249E22:: @ 8249E22
+ loadword 0, BattleFrontier_OutsideWest_Text_24AB44
+ callstd 2
+ end
+
+BattleFrontier_OutsideWest_EventScript_249E2B:: @ 8249E2B
+ loadword 0, BattleFrontier_OutsideWest_Text_24AB75
+ callstd 2
+ end
+
+BattleFrontier_BattleDomeLobby_EventScript_249E34:: @ 8249E34
+ lockall
+ msgbox BattleFrontier_BattleDomeLobby_Text_24AE63, 4
+ goto BattleFrontier_BattleDomeLobby_EventScript_249E43
+ end
+
+BattleFrontier_BattleDomeLobby_EventScript_249E43:: @ 8249E43
+ message BattleFrontier_BattleDomeLobby_Text_24AE8B
+ waitmessage
+ multichoice 17, 4, 98, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleDomeLobby_EventScript_249E8B
+ case 1, BattleFrontier_BattleDomeLobby_EventScript_249E99
+ case 2, BattleFrontier_BattleDomeLobby_EventScript_249EA7
+ case 3, BattleFrontier_BattleDomeLobby_EventScript_249EB5
+ case 127, BattleFrontier_BattleDomeLobby_EventScript_249EB5
+ end
+
+BattleFrontier_BattleDomeLobby_EventScript_249E8B:: @ 8249E8B
+ msgbox BattleFrontier_BattleDomeLobby_Text_24AEAE, 4
+ goto BattleFrontier_BattleDomeLobby_EventScript_249E43
+ end
+
+BattleFrontier_BattleDomeLobby_EventScript_249E99:: @ 8249E99
+ msgbox BattleFrontier_BattleDomeLobby_Text_24AF4C, 4
+ goto BattleFrontier_BattleDomeLobby_EventScript_249E43
+ end
+
+BattleFrontier_BattleDomeLobby_EventScript_249EA7:: @ 8249EA7
+ msgbox BattleFrontier_BattleDomeLobby_Text_24B073, 4
+ goto BattleFrontier_BattleDomeLobby_EventScript_249E43
+ end
+
+BattleFrontier_BattleDomeLobby_EventScript_249EB5:: @ 8249EB5
+ releaseall
+ end
+
+BattleFrontier_BattleDomeLobby_Text_249EB7: @ 8249EB7
+ .string "Where the strategies of TRAINERS\n"
+ .string "are put to the test!\p"
+ .string "Welcome to the BATTLE DOME!\p"
+ .string "I am your guide to the SINGLE BATTLE\n"
+ .string "Tournament.$"
+
+BattleFrontier_BattleDomeLobby_Text_249F3A: @ 8249F3A
+ .string "Would you like to challenge\n"
+ .string "the SINGLE BATTLE Tournament?$"
+
+BattleFrontier_BattleDomeLobby_Text_249F74: @ 8249F74
+ .string "We hope to see you again.$"
+
+BattleFrontier_BattleDomeLobby_Text_249F8E: @ 8249F8E
+ .string "The SINGLE BATTLE Tournament\n"
+ .string "is exactly as the name suggests--\l"
+ .string "a tournament of SINGLE BATTLES.\p"
+ .string "All participating TRAINERS must\n"
+ .string "enter three POKéMON each.\p"
+ .string "In each battle, one of the three\n"
+ .string "POKéMON must be held in reserve.\p"
+ .string "The other two POKéMON can battle\n"
+ .string "one at a time.\p"
+ .string "Choose the two battling POKéMON after\n"
+ .string "examining the opponent’s trio.\p"
+ .string "You win the tournament by defeating\n"
+ .string "four TRAINERS.\p"
+ .string "Battle Points are awarded to\n"
+ .string "the tournament winner.\p"
+ .string "If you want to interrupt your\n"
+ .string "tournament, please save the game.\p"
+ .string "If you don’t save before interrupting,\n"
+ .string "you will be disqualified.$"
+
+BattleFrontier_BattleDomeLobby_Text_24A1C6: @ 824A1C6
+ .string "Before I show you to the BATTLE DOME,\n"
+ .string "I must save the data. Is that okay?$"
+
+BattleFrontier_BattleDomeLobby_Text_24A210: @ 824A210
+ .string "The tournament offers two levels\n"
+ .string "of challenge, Level 50 and Open Level.\l"
+ .string "Which is your choice?$"
+
+BattleFrontier_BattleDomeLobby_Text_24A26E: @ 824A26E
+ .string "Now select the three POKéMON that\n"
+ .string "you wish to enter, please.$"
+
+BattleFrontier_BattleDomeLobby_Text_24A2AB: @ 824A2AB
+ .string "Excuse me!\p"
+ .string "You don’t have three eligible POKéMON.\p"
+ .string "Also, the POKéMON must be holding\n"
+ .string "different kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "Please come see me when you are ready.$"
+
+BattleFrontier_BattleDomeLobby_Text_24A353: @ 824A353
+ .string "Excuse me!\p"
+ .string "You don’t have three eligible POKéMON.\p"
+ .string "You must have three different POKéMON\n"
+ .string "of Level 50 or less to enter.\p"
+ .string "They also must be holding different\n"
+ .string "kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "Please come see me when you are ready.$"
+
+BattleFrontier_BattleDomeLobby_Text_24A437: @ 824A437
+ .string "I will now show you to\n"
+ .string "the BATTLE DOME.$"
+
+BattleFrontier_BattleDomeLobby_Text_24A45F: @ 824A45F
+ .string "Excuse me!\p"
+ .string "You didn’t save before you quit your\n"
+ .string "challenge last time.\p"
+ .string "Because of that, your challenge so far\n"
+ .string "has been disqualified. Sorry!$"
+
+BattleFrontier_BattleDomeLobby_Text_24A4E9: @ 824A4E9
+ .string "Congratulations for winning\n"
+ .string "your Battle Tournament!$"
+
+BattleFrontier_BattleDomeLobby_Text_24A51D: @ 824A51D
+ .string "Here is your prize for your Battle\n"
+ .string "Tournament victory.$"
+
+VerdanturfTown_BattleTentLobby_Text_24A554: @ 824A554
+ .string "{PLAYER} received the prize\n"
+ .string "{STR_VAR_1}.$"
+
+VerdanturfTown_BattleTentLobby_Text_24A56E: @ 824A56E
+ .string "Oh, your BAG appears to be full.\p"
+ .string "Please make room in your BAG, then come\n"
+ .string "see me.$"
+
+BattleFrontier_BattleDomeLobby_Text_24A5BF: @ 824A5BF
+ .string "Thank you for playing!$"
+
+BattleFrontier_BattleDomeLobby_Text_24A5D6: @ 824A5D6
+ .string "Your record will be saved.\n"
+ .string "Please wait.$"
+
+BattleFrontier_BattleDomeLobby_Text_24A5FE: @ 824A5FE
+ .string "We’ve been waiting for you!$"
+
+BattleFrontier_BattleDomeLobby_Text_24A61A: @ 824A61A
+ .string "Before I show you to the BATTLE DOME,\n"
+ .string "I must save the data. Is that okay?$"
+
+BattleFrontier_BattleDomeLobby_Text_24A664: @ 824A664
+ .string "Where the strategies of TRAINERS\n"
+ .string "are put to the test!\p"
+ .string "Welcome to the BATTLE DOME!\p"
+ .string "I am your guide to the DOUBLE BATTLE\n"
+ .string "Tournament.$"
+
+BattleFrontier_BattleDomeLobby_Text_24A6E7: @ 824A6E7
+ .string "Would you like to challenge\n"
+ .string "the DOUBLE BATTLE Tournament?$"
+
+BattleFrontier_BattleDomeLobby_Text_24A721: @ 824A721
+ .string "The DOUBLE BATTLE Tournament\n"
+ .string "is exactly as the name suggests--\l"
+ .string "a tournament of DOUBLE BATTLES.\p"
+ .string "All participating TRAINERS must\n"
+ .string "enter three POKéMON each.\p"
+ .string "In each battle, one of the three\n"
+ .string "POKéMON must be held in reserve.\p"
+ .string "The remaining two POKéMON must take\n"
+ .string "part in a DOUBLE BATTLE.\p"
+ .string "Choose the two battling POKéMON after\n"
+ .string "examining the opponent’s trio.\p"
+ .string "You win the tournament by defeating\n"
+ .string "four TRAINERS.\p"
+ .string "Battle Points are awarded to\n"
+ .string "the tournament winner.\p"
+ .string "If you want to interrupt your\n"
+ .string "tournament, please save the game.\p"
+ .string "If you don’t save before interrupting,\n"
+ .string "you will be disqualified.$"
+
+BattleFrontier_BattleDomeLobby_Text_24A966: @ 824A966
+ .string "They’re the results of the last\n"
+ .string "Level 50 SINGLE BATTLE Tournament.$"
+
+BattleFrontier_BattleDomeLobby_Text_24A9A9: @ 824A9A9
+ .string "They’re the results of the last\n"
+ .string "Level 50 DOUBLE BATTLE Tournament.$"
+
+BattleFrontier_BattleDomeLobby_Text_24A9EC: @ 824A9EC
+ .string "They’re the results of the last\n"
+ .string "Open Level SINGLE BATTLE Tournament.$"
+
+BattleFrontier_BattleDomeLobby_Text_24AA31: @ 824AA31
+ .string "They’re the results of the last\n"
+ .string "Open Level DOUBLE BATTLE Tournament.$"
+
+BattleFrontier_BattleDomeLobby_Text_24AA76: @ 824AA76
+ .string "Did you see it?\n"
+ .string "The last Battle Tournament?\p"
+ .string "The winner, {STR_VAR_1}, was seriously\n"
+ .string "tough.\p"
+ .string "You should check out the results\n"
+ .string "on the monitor beside the PC.$"
+
+BattleFrontier_OutsideWest_Text_24AB06: @ 824AB06
+ .string "The BATTLE FRONTIER…\n"
+ .string "I’ve long dreamed about a place like it.$"
+
+BattleFrontier_OutsideWest_Text_24AB44: @ 824AB44
+ .string "The BATTLE DOME\n"
+ .string "Become the Unbeatable Superstar!$"
+
+BattleFrontier_OutsideWest_Text_24AB75: @ 824AB75
+ .string "The ??????\n"
+ .string "Under Construction!$"
+
+BattleFrontier_BattleDomeLobby_Text_24AB94: @ 824AB94
+ .string "When a TRAINER chains tournament\n"
+ .string "wins at the BATTLE DOME, he or she\l"
+ .string "gains a reputation as a star.\p"
+ .string "Tough TRAINERS are drawn by that\n"
+ .string "reputation to the BATTLE DOME.\p"
+ .string "A true superstar is a TRAINER who\n"
+ .string "can keep winning tournaments.$"
+
+BattleFrontier_BattleDomeLobby_Text_24AC76: @ 824AC76
+ .string "I ran into one of the tournament\n"
+ .string "favorites in the very first round.\p"
+ .string "Of course I got trashed…$"
+
+BattleFrontier_BattleDomeLobby_Text_24ACD3: @ 824ACD3
+ .string "I would’ve won if I’d kept this POKéMON\n"
+ .string "held in reserve.\p"
+ .string "You need to check your opponent’s\n"
+ .string "POKéMON carefully before choosing\l"
+ .string "your battling POKéMON.$"
+
+BattleFrontier_BattleDomeLobby_Text_24AD67: @ 824AD67
+ .string "Congratulations!\p"
+ .string "You defeated the DOME ACE and won\n"
+ .string "the Battle Tournament!$"
+
+BattleFrontier_BattleDomeLobby_Text_24ADB1: @ 824ADB1
+ .string "In recognition of your strategy--\n"
+ .string "a thing of beauty it was, too--\l"
+ .string "we award you these Battle Point(s)!$"
+
+BattleFrontier_BattleDomeLobby_Text_24AE17: @ 824AE17
+ .string "Would you like to record your\n"
+ .string "last BATTLE DOME match on your\l"
+ .string "FRONTIER PASS?$"
+
+BattleFrontier_BattleDomeLobby_Text_24AE63: @ 824AE63
+ .string "The Battle Tournament rules\n"
+ .string "are listed.$"
+
+BattleFrontier_BattleDomeLobby_Text_24AE8B: @ 824AE8B
+ .string "Which heading do you want to read?$"
+
+BattleFrontier_BattleDomeLobby_Text_24AEAE: @ 824AEAE
+ .string "The tournament matchups are drawn up\n"
+ .string "based on the toughness of POKéMON\l"
+ .string "held by TRAINERS.\p"
+ .string "The matchups avoid having tough\n"
+ .string "TRAINERS face each other right away.$"
+
+BattleFrontier_BattleDomeLobby_Text_24AF4C: @ 824AF4C
+ .string "The tournament chart, or as we call it,\n"
+ .string "the “Tree,” is available for viewing\l"
+ .string "in the Waiting Room from any guide.\p"
+ .string "The Tournament Tree will provide\n"
+ .string "several kinds of data.\p"
+ .string "The data on view includes the previous\n"
+ .string "tournament’s results, the POKéMON held\l"
+ .string "by TRAINERS, and the battle styles of\l"
+ .string "TRAINERS.$"
+
+BattleFrontier_BattleDomeLobby_Text_24B073: @ 824B073
+ .string "If battling POKéMON faint at the same\n"
+ .string "time--a double KO--in a tournament\l"
+ .string "match, the REFEREES will review\l"
+ .string "the match and declare the winner.$"
diff --git a/data/scripts/maps/BattleFrontier_BattleDomePreBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattleDomePreBattleRoom.inc
new file mode 100644
index 000000000..30b6d5d39
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattleDomePreBattleRoom.inc
@@ -0,0 +1,417 @@
+BattleFrontier_BattleDomePreBattleRoom_MapScripts:: @ 824B1F9
+ map_script 2, BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B218
+ map_script 4, BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B204
+ .byte 0
+
+BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B204: @ 824B204
+ map_script_2 VAR_0x4001, 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B20E
+ .2byte 0
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B20E:: @ 824B20E
+ setvar VAR_0x4001, 1
+ turnobject 255, 2
+ end
+
+BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B218: @ 824B218
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B222
+ .2byte 0
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B222:: @ 824B222
+ compare_var_to_value VAR_0x8006, 1
+ goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5C7
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 6
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ setvar VAR_0x4000, 1
+ applymovement 255, BattleFrontier_BattleDomePreBattleRoom_Movement_24B652
+ waitmovement 0
+ lockall
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F:: @ 824B24F
+ call BattleFrontier_BattleDomePreBattleRoom_EventScript_24B4FB
+ waitmessage
+ switch VAR_RESULT
+ call BattleFrontier_BattleDomePreBattleRoom_EventScript_23E8E0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B2C1
+ multichoice 16, 0, 73, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3DD
+ case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3F5
+ case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D
+ case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B30D
+ case 4, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B349
+ case 5, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B377
+ case 127, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B2C1:: @ 824B2C1
+ multichoice 16, 2, 107, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3DD
+ case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3F5
+ case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D
+ case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B349
+ case 4, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B377
+ case 127, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B30D:: @ 824B30D
+ message BattleFrontier_BattleDomePreBattleRoom_Text_24BAF7
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
+ case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B33F
+ case 127, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B33F:: @ 824B33F
+ call BattleFrontier_BattleDomePreBattleRoom_EventScript_23E8B4
+ goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B349:: @ 824B349
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BA69, 5
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
+ case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3BB
+ case 127, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B377:: @ 824B377
+ message BattleFrontier_BattleDomePreBattleRoom_Text_24BA93
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
+ case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3A9
+ case 127, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3A9:: @ 824B3A9
+ setvar VAR_0x8004, 12
+ setvar VAR_0x8005, 9
+ special sub_818E9AC
+ goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24BE9A
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3BB:: @ 824B3BB
+ message BattleFrontier_BattleDomePreBattleRoom_Text_24BAD3
+ waitmessage
+ setvar VAR_0x8004, 13
+ setvar VAR_0x8005, 2
+ special sub_818E9AC
+ playse SE_SAVE
+ waitse
+ fadescreen 1
+ setvar VAR_0x8004, 4
+ special sub_81A1780
+ end
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3DD:: @ 824B3DD
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B9B5, 4
+ fadescreen 1
+ setvar VAR_0x8004, 6
+ special sub_818E9AC
+ waitstate
+ goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3F5:: @ 824B3F5
+ call BattleFrontier_BattleDomePreBattleRoom_EventScript_24B40A
+ fadescreen 1
+ setvar VAR_0x8004, 7
+ special sub_818E9AC
+ waitstate
+ goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B40A:: @ 824B40A
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B449
+ case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B452
+ case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B45B
+ case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B464
+ return
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B449:: @ 824B449
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B9D9, 4
+ return
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B452:: @ 824B452
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B9FD, 4
+ return
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B45B:: @ 824B45B
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BA21, 4
+ return
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B464:: @ 824B464
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BA46, 4
+ return
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D:: @ 824B46D
+ message BattleFrontier_BattleDomePreBattleRoom_Text_24B70C
+ waitmessage
+ waitbuttonpress
+ fadescreen 1
+ call BattleFrontier_BattleDomePreBattleRoom_EventScript_23F2B7
+ copyvar VAR_0x8004, VAR_RESULT
+ setvar VAR_0x8005, 2
+ special sub_80F9490
+ waitstate
+ setvar VAR_0x8004, 21
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 8
+ special sub_818E9AC
+ setvar VAR_0x8004, 18
+ special sub_818E9AC
+ setvar VAR_0x8004, 9
+ special sub_818E9AC
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B748, 4
+ closemessage
+ applymovement 1, BattleFrontier_BattleDomePreBattleRoom_Movement_24B64F
+ waitmovement 0
+ applymovement 255, BattleFrontier_BattleDomePreBattleRoom_Movement_24B657
+ waitmovement 0
+ opendoor 5, 1
+ waitdooranim
+ applymovement 255, BattleFrontier_BattleDomePreBattleRoom_Movement_24B659
+ waitmovement 0
+ closedoor 5, 1
+ waitdooranim
+ warp BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM, 255, 9, 5
+ setvar VAR_0x4000, 0
+ waitstate
+ end
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B4FB:: @ 824B4FB
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B53A
+ case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B540
+ case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B546
+ case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B54C
+ return
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B53A:: @ 824B53A
+ message BattleFrontier_BattleDomePreBattleRoom_Text_24B65C
+ return
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B540:: @ 824B540
+ message BattleFrontier_BattleDomePreBattleRoom_Text_24B689
+ return
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B546:: @ 824B546
+ message BattleFrontier_BattleDomePreBattleRoom_Text_24B6B6
+ return
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B54C:: @ 824B54C
+ setvar VAR_0x8004, 9
+ special sub_81A1780
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B58B
+ case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5A0
+ case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B58B
+ case 4, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5A0
+ message BattleFrontier_BattleDomePreBattleRoom_Text_24B6E3
+ return
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B58B:: @ 824B58B
+ checkflag FLAG_0x001
+ goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5B5
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BB2E, 4
+ setflag FLAG_0x001
+ return
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5A0:: @ 824B5A0
+ checkflag FLAG_0x001
+ goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5BE
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BBAC, 4
+ setflag FLAG_0x001
+ return
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5B5:: @ 824B5B5
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BC2A, 4
+ return
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5BE:: @ 824B5BE
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BC63, 4
+ return
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5C7:: @ 824B5C7
+ setvar VAR_0x4000, 1
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B760, 4
+ special copy_player_party_from_sav1
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 3
+ special sub_81A1780
+ playfanfare BGM_ME_ASA
+ waitfanfare
+ special sp000_heal_pokemon
+ call BattleFrontier_BattleDomePreBattleRoom_EventScript_24B600
+ fadescreen 1
+ setvar VAR_0x8004, 11
+ special sub_818E9AC
+ waitstate
+ goto BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B600:: @ 824B600
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B634
+ case 2, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B63D
+ case 3, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B646
+ return
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B634:: @ 824B634
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B7A3, 4
+ return
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B63D:: @ 824B63D
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B7F1, 4
+ return
+
+BattleFrontier_BattleDomePreBattleRoom_EventScript_24B646:: @ 824B646
+ msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24B83F, 4
+ return
+
+BattleFrontier_BattleDomePreBattleRoom_Movement_24B64F: @ 824B64F
+ step_right
+ step_02
+ step_end
+
+BattleFrontier_BattleDomePreBattleRoom_Movement_24B652: @ 824B652
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+BattleFrontier_BattleDomePreBattleRoom_Movement_24B657: @ 824B657
+ step_up
+ step_end
+
+BattleFrontier_BattleDomePreBattleRoom_Movement_24B659: @ 824B659
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24B65C: @ 824B65C
+ .string "Your 1st-round match is next.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24B689: @ 824B689
+ .string "Your 2nd-round match is next.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24B6B6: @ 824B6B6
+ .string "Your semifinal match is next.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24B6E3: @ 824B6E3
+ .string "Your final match is next.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24B70C: @ 824B70C
+ .string "Please choose the two POKéMON\n"
+ .string "that are to appear in battle.$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24B748: @ 824B748
+ .string "Right this way, please.$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24B760: @ 824B760
+ .string "Thank you for competing!\p"
+ .string "I’ll restore your POKéMON to\n"
+ .string "full health.$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24B7A3: @ 824B7A3
+ .string "All 1st-round matches have been\n"
+ .string "completed.\p"
+ .string "These are the teams that advanced!$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24B7F1: @ 824B7F1
+ .string "All 2nd-round matches have been\n"
+ .string "completed.\p"
+ .string "These are the teams that advanced!$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24B83F: @ 824B83F
+ .string "All semifinal matches have been\n"
+ .string "completed.\p"
+ .string "These are the teams that advanced!$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24B88D: @ 824B88D
+ .string "Congratulations for getting through\n"
+ .string "the 1st round.\p"
+ .string "The 2nd round is next.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24B8E6: @ 824B8E6
+ .string "Congratulations for advancing\n"
+ .string "to the semifinals.\p"
+ .string "The best four teams meet in this round.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24B94E: @ 824B94E
+ .string "Congratulations for advancing\n"
+ .string "to the final match.\p"
+ .string "You’re one win from the championship.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24B9B5: @ 824B9B5
+ .string "{PLAYER}’s next opponent\n"
+ .string "is this TRAINER.$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24B9D9: @ 824B9D9
+ .string "The tournament is in the 1st round.$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24B9FD: @ 824B9FD
+ .string "The tournament is in the 2nd round.$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24BA21: @ 824BA21
+ .string "The tournament is in the semifinals.$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24BA46: @ 824BA46
+ .string "The tournament is up to the final.$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24BA69: @ 824BA69
+ .string "Would you like to save and\n"
+ .string "quit the game?$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24BA93: @ 824BA93
+ .string "Would you like to retire from your\n"
+ .string "Battle Tournament challenge?$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24BAD3: @ 824BAD3
+ .string "I am saving your data.\n"
+ .string "Please wait.$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24BAF7: @ 824BAF7
+ .string "Should I record your last match\n"
+ .string "on your FRONTIER PASS?$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24BB2E: @ 824BB2E
+ .string "Congratulations for advancing\n"
+ .string "to the final match.\p"
+ .string "For the final match, you will challenge\n"
+ .string "the DOME ACE TUCKER.\p"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24BBAC: @ 824BBAC
+ .string "Congratulations for advancing\n"
+ .string "to the final match.\p"
+ .string "For the final match, you will challenge\n"
+ .string "the DOME ACE TUCKER.\p"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24BC2A: @ 824BC2A
+ .string "Your final battle against TUCKER is\n"
+ .string "next. Are you ready?$"
+
+BattleFrontier_BattleDomePreBattleRoom_Text_24BC63: @ 824BC63
+ .string "Your final battle against TUCKER is\n"
+ .string "next. Are you ready?$"
+
diff --git a/data/scripts/maps/BattleFrontier_BattleFactoryBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattleFactoryBattleRoom.inc
new file mode 100644
index 000000000..2d21f080c
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattleFactoryBattleRoom.inc
@@ -0,0 +1,384 @@
+BattleFrontier_BattleFactoryBattleRoom_MapScripts:: @ 825ADAB
+ map_script 3, BattleFrontier_BattleFactoryBattleRoom_MapScript1_25ADBB
+ map_script 4, BattleFrontier_BattleFactoryBattleRoom_MapScript2_25AE00
+ map_script 2, BattleFrontier_BattleFactoryBattleRoom_MapScript2_25AE31
+ .byte 0
+
+BattleFrontier_BattleFactoryBattleRoom_MapScript1_25ADBB: @ 825ADBB
+ setvar VAR_0x8004, 5
+ special sub_81A1780
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE25
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE2B
+ setvar VAR_0x8004, 9
+ special sub_81A1780
+ copyvar VAR_0x400F, VAR_RESULT
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25ADF3
+ end
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25ADF3:: @ 825ADF3
+ call BattleFrontier_BattleFactoryBattleRoom_EventScript_242170
+ setobjectxyperm 2, 7, 9
+ end
+
+BattleFrontier_BattleFactoryBattleRoom_MapScript2_25AE00: @ 825AE00
+ map_script_2 VAR_0x4001, 0, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE0A
+ .2byte 0
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE0A:: @ 825AE0A
+ setvar VAR_0x4001, 1
+ hideobjectat 255, BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM
+ compare_var_to_value VAR_0x400F, 0
+ goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE24
+ hideobjectat 2, BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE24:: @ 825AE24
+ end
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE25:: @ 825AE25
+ setvar VAR_0x401F, 100
+ return
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE2B:: @ 825AE2B
+ setvar VAR_0x401F, 105
+ return
+
+BattleFrontier_BattleFactoryBattleRoom_MapScript2_25AE31: @ 825AE31
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE67
+ .2byte 0
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE3B:: @ 825AE3B
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B1E2, 4
+ closemessage
+ applymovement 2, BattleFrontier_BattleFactoryBattleRoom_Movement_25B18B
+ applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B
+ applymovement 255, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B
+ waitmovement 0
+ call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B1B4
+ goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEA7
+ end
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE67:: @ 825AE67
+ compare_var_to_value VAR_0x400F, 0
+ goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE3B
+ applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B
+ applymovement 255, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B
+ waitmovement 0
+ call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B1B4
+ setvar VAR_0x8004, 11
+ special sub_81A5E74
+ removeobject 2
+ setobjectxyperm 2, 7, 1
+ addobject 2
+ applymovement 2, BattleFrontier_BattleFactoryBattleRoom_Movement_25B184
+ waitmovement 0
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEA7:: @ 825AEA7
+ compare_var_to_value VAR_0x400F, 0
+ goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C
+ setvar VAR_0x8004, 5
+ special sub_8195960
+ lockall
+ msgbox 0x2021fc4, 4
+ waitmessage
+ closemessage
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 6
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ special sp000_heal_pokemon
+ setvar VAR_0x8004, 6
+ setvar VAR_0x8005, 0
+ special sub_8163AC4
+ waitstate
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF0F
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEF8:: @ 825AEF8
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25AEF8:: @ 825AEF8
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 4
+ special sub_81A1780
+ goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B190
+@ goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B190
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF0F:: @ 825AF0F
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 3
+ special sub_81A5E74
+ compare_var_to_value VAR_RESULT, 9999
+ goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E
+ addvar VAR_RESULT, 1
+ setorcopyvar VAR_0x8006, VAR_RESULT
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ special sub_81A5E74
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E:: @ 825AF3E
+ call BattleFrontier_BattleFactoryBattleRoom_EventScript_241EBA
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF43:: @ 825AF43
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ addvar VAR_RESULT, 1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A1780
+ switch VAR_RESULT
+ case 7, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF85
+ setvar VAR_0x8006, 1
+ warp BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM, 255, 8, 8
+ waitstate
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF85:: @ 825AF85
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 3
+ special sub_81A1780
+ goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B190
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C:: @ 825AF9C
+ switch VAR_0x400F
+ case 2, BattleFrontier_BattleFactoryBattleRoom_EventScript_25B051
+ case 3, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF
+ case 4, BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B1FB, 4
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF:: @ 825AFEF
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B3F1, 4
+ call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B00C
+ goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEF8
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25B00C:: @ 825B00C
+ setvar VAR_0x8004, 12
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B42D, 4
+ closemessage
+ applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B182
+ waitmovement 0
+ playfanfare BGM_ME_BATTLE_SYMBOL
+ message BattleFrontier_BattleFactoryBattleRoom_Text_25B460
+ waitmessage
+ waitfanfare
+ setvar VAR_0x8004, 13
+ special sub_81A1780
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B498, 4
+ goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25B051:: @ 825B051
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B517, 4
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E:: @ 825B07E
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B5CF, 4
+ call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B09B
+ goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEF8
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25B09B:: @ 825B09B
+ setvar VAR_0x8004, 12
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B5E7, 4
+ waitmessage
+ applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B182
+ waitmovement 0
+ playfanfare BGM_ME_BATTLE_SYMBOL
+ message BattleFrontier_BattleFactoryBattleRoom_Text_25B640
+ waitmessage
+ waitfanfare
+ setvar VAR_0x8004, 13
+ special sub_81A1780
+ msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B66D, 4
+ goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0:: @ 825B0E0
+ closemessage
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 6
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ special sp000_heal_pokemon
+ setvar VAR_0x8004, 6
+ setvar VAR_0x8005, 0
+ special sub_8163AC4
+ waitstate
+ return
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105:: @ 825B105
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 3
+ special sub_81A5E74
+ compare_var_to_value VAR_RESULT, 9999
+ goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E
+ addvar VAR_RESULT, 1
+ setorcopyvar VAR_0x8006, VAR_RESULT
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ special sub_81A5E74
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ special sub_81A5E74
+ compare_var_to_value VAR_RESULT, 9999
+ goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF43
+ addvar VAR_RESULT, 1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A5E74
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ addvar VAR_RESULT, 1
+ goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF85
+ end
+
+BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B: @ 825B17B
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_03
+ step_end
+
+BattleFrontier_BattleFactoryBattleRoom_Movement_25B182: @ 825B182
+ step_right
+ step_end
+
+BattleFrontier_BattleFactoryBattleRoom_Movement_25B184: @ 825B184
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_02
+ step_end
+
+BattleFrontier_BattleFactoryBattleRoom_Movement_25B18B: @ 825B18B
+ step_up
+ step_up
+ step_up
+ step_02
+ step_end
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25B190:: @ 825B190
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B190:: @ 825B190
+ copyvar VAR_RESULT, VAR_0x40CE
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B1AA
+ warp BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY, 255, 4, 8
+ waitstate
+ end
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B1AA:: @ 825B1AA
+ warp BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY, 255, 14, 8
+ waitstate
+ end
+
+BattleFrontier_BattleFactoryBattleRoom_EventScript_25B1B4:: @ 825B1B4
+ applymovement 1, BattleFrontier_BattleFactoryBattleRoom_Movement_2725A8
+ applymovement 3, BattleFrontier_BattleFactoryBattleRoom_Movement_2725A8
+ applymovement 4, BattleFrontier_BattleFactoryBattleRoom_Movement_2725A8
+ applymovement 5, BattleFrontier_BattleFactoryBattleRoom_Movement_2725A4
+ applymovement 6, BattleFrontier_BattleFactoryBattleRoom_Movement_2725A4
+ applymovement 7, BattleFrontier_BattleFactoryBattleRoom_Movement_2725A4
+ waitmovement 0
+ return
+
+BattleFrontier_BattleFactoryBattleRoom_Text_25B1E2: @ 825B1E2
+ .string "Hey, hey!\n"
+ .string "Get a move on!$"
+
+BattleFrontier_BattleFactoryBattleRoom_Text_25B1FB: @ 825B1FB
+ .string "Hey, my name’s NOLAND!\n"
+ .string "I’m basically in charge of this place,\l"
+ .string "which is why I’m the FACTORY HEAD!\p"
+ .string "I had a look at your Battle Swap data.\p"
+ .string "You seem to have the right idea,\n"
+ .string "but you’re still square in your head!\p"
+ .string "Listen up, okay? Knowledge isn’t only\n"
+ .string "about reading books or doing desk work.\p"
+ .string "Just doing that sort of thing…\n"
+ .string "It may as well be useless!\p"
+ .string "You have to experience things with\n"
+ .string "your heart and your body, understand?\p"
+ .string "I’ll take you on under the same\n"
+ .string "conditions as you.\p"
+ .string "I’ll be using rental POKéMON, too!$"
+
+BattleFrontier_BattleFactoryBattleRoom_Text_25B3F1: @ 825B3F1
+ .string "Shake out every last bit of your\n"
+ .string "knowledge and bring it on!$"
+
+BattleFrontier_BattleFactoryBattleRoom_Text_25B42D: @ 825B42D
+ .string "NOLAND: Smart going!\n"
+ .string "Let’s see your FRONTIER PASS.$"
+
+BattleFrontier_BattleFactoryBattleRoom_Text_25B460: @ 825B460
+ .string "The Knowledge Symbol was embossed\n"
+ .string "on the FRONTIER PASS!$"
+
+BattleFrontier_BattleFactoryBattleRoom_Text_25B498: @ 825B498
+ .string "Heh…\n"
+ .string "You’re a pretty bright spark…\p"
+ .string "Next time, I’ll come after you hard.\n"
+ .string "No holds barred, understand?\p"
+ .string "You keep up your studies!$"
+
+BattleFrontier_BattleFactoryBattleRoom_Text_25B517: @ 825B517
+ .string "NOLAND: Hey, hey! How’s it going?\n"
+ .string "You keeping up with your studies?\p"
+ .string "…Oh?\p"
+ .string "You’ve taken on a harder look than\n"
+ .string "the last time I saw you.\p"
+ .string "Now, this should be fun!\n"
+ .string "I’m getting excited, hey!$"
+
+BattleFrontier_BattleFactoryBattleRoom_Text_25B5CF: @ 825B5CF
+ .string "All right!\n"
+ .string "Bring it on!$"
+
+BattleFrontier_BattleFactoryBattleRoom_Text_25B5E7: @ 825B5E7
+ .string "NOLAND: What the…\n"
+ .string "You’re getting out of my league!\p"
+ .string "Sheesh!\n"
+ .string "Let’s see that FRONTIER PASS!$"
+
+BattleFrontier_BattleFactoryBattleRoom_Text_25B640: @ 825B640
+ .string "The Knowledge Symbol took on\n"
+ .string "a golden shine!$"
+
+BattleFrontier_BattleFactoryBattleRoom_Text_25B66D: @ 825B66D
+ .string "Pfft, man!\p"
+ .string "That’s absolutely the last time\n"
+ .string "I lose to you!\p"
+ .string "We have to do this again, hey?$"
+
diff --git a/data/scripts/maps/BattleFrontier_BattleFactoryLobby.inc b/data/scripts/maps/BattleFrontier_BattleFactoryLobby.inc
new file mode 100644
index 000000000..3ceb3276c
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattleFactoryLobby.inc
@@ -0,0 +1,611 @@
+BattleFrontier_BattleFactoryLobby_MapScripts:: @ 82583E8
+ map_script 2, BattleFrontier_BattleFactoryLobby_MapScript2_258407
+ map_script 4, BattleFrontier_BattleFactoryLobby_MapScript2_2583F3
+ .byte 0
+
+BattleFrontier_BattleFactoryLobby_MapScript2_2583F3: @ 82583F3
+ map_script_2 VAR_0x4001, 0, BattleFrontier_BattleFactoryLobby_EventScript_2583FD
+ .2byte 0
+
+BattleFrontier_BattleFactoryLobby_EventScript_2583FD:: @ 82583FD
+ setvar VAR_0x4001, 1
+ turnobject 255, 2
+ end
+
+BattleFrontier_BattleFactoryLobby_MapScript2_258407: @ 8258407
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattleFactoryLobby_EventScript_258431
+ map_script_2 VAR_0x4000, 1, BattleFrontier_BattleFactoryLobby_EventScript_25843A
+ map_script_2 VAR_0x4000, 2, BattleFrontier_BattleFactoryLobby_EventScript_258592
+ map_script_2 VAR_0x4000, 3, BattleFrontier_BattleFactoryLobby_EventScript_25849B
+ map_script_2 VAR_0x4000, 4, BattleFrontier_BattleFactoryLobby_EventScript_258506
+ .2byte 0
+
+BattleFrontier_BattleFactoryLobby_EventScript_258431:: @ 8258431
+ setvar VAR_0x8004, 0
+ special sub_81A1780
+ end
+
+BattleFrontier_BattleFactoryLobby_EventScript_25843A:: @ 825843A
+ lockall
+ msgbox BattleFrontier_BattleFactoryLobby_Text_258ECA, 4
+ closemessage
+ setvar VAR_0x8004, 8
+ special sub_81A5E74
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A5E74
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 0
+ special sub_81A5E74
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 0
+ special sub_81A5E74
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+BattleFrontier_BattleFactoryLobby_EventScript_25849B:: @ 825849B
+ lockall
+ setvar VAR_0x8004, 10
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleFactoryLobby_EventScript_2584BD
+ msgbox BattleFrontier_BattleFactoryLobby_Text_258D93, 4
+ waitmessage
+ goto BattleFrontier_BattleFactoryLobby_EventScript_2584C6
+
+BattleFrontier_BattleFactoryLobby_EventScript_2584BD:: @ 82584BD
+ msgbox BattleFrontier_BattleFactoryLobby_Text_25926A, 4
+ waitmessage
+
+BattleFrontier_BattleFactoryLobby_EventScript_2584C6:: @ 82584C6
+ msgbox BattleFrontier_BattleFactoryLobby_Text_2592BD, 4
+ setvar VAR_0x8004, 11
+ special sub_81A1780
+ msgbox BattleFrontier_BattleFactoryLobby_Text_241520, 9
+ message BattleFrontier_BattleFactoryLobby_Text_259323
+ waitmessage
+ setvar VAR_0x8004, 8
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 0
+ special sub_81A5E74
+ playse SE_SAVE
+ waitse
+ goto BattleFrontier_BattleFactoryLobby_EventScript_25853B
+ end
+
+BattleFrontier_BattleFactoryLobby_EventScript_258506:: @ 8258506
+ lockall
+ message BattleFrontier_BattleFactoryLobby_Text_258CC7
+ waitmessage
+ setvar VAR_0x8004, 8
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 0
+ special sub_81A5E74
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 0
+ special sub_81A5E74
+ playse SE_SAVE
+ waitse
+
+BattleFrontier_BattleFactoryLobby_EventScript_25853B:: @ 825853B
+ call BattleFrontier_BattleFactoryLobby_EventScript_23E8E0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleFactoryLobby_EventScript_258582
+ message BattleFrontier_BattleFactoryLobby_Text_259388
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleFactoryLobby_EventScript_258582
+ case 0, BattleFrontier_BattleFactoryLobby_EventScript_25857D
+ case 127, BattleFrontier_BattleFactoryLobby_EventScript_258582
+
+BattleFrontier_BattleFactoryLobby_EventScript_25857D:: @ 825857D
+ call BattleFrontier_BattleFactoryLobby_EventScript_23E8B4
+
+BattleFrontier_BattleFactoryLobby_EventScript_258582:: @ 8258582
+ msgbox BattleFrontier_BattleFactoryLobby_Text_258BC5, 4
+ closemessage
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+BattleFrontier_BattleFactoryLobby_EventScript_258592:: @ 8258592
+ lockall
+ message BattleFrontier_BattleFactoryLobby_Text_258E77
+ waitmessage
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 1
+ special sub_81A5E74
+ playse SE_SAVE
+ waitse
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x4000, 255
+ setvar VAR_0x8006, 2
+ goto BattleFrontier_BattleFactoryLobby_EventScript_25871A
+
+BattleFrontier_BattleFactoryLobby_EventScript_2585CB:: @ 82585CB
+ lock
+ faceplayer
+ setvar VAR_FRONTIER_FACILITY, 4
+ setvar VAR_0x40CE, 0
+ goto BattleFrontier_BattleFactoryLobby_EventScript_2585ED
+ end
+
+BattleFrontier_BattleFactoryLobby_EventScript_2585DD:: @ 82585DD
+ setvar VAR_FRONTIER_FACILITY, 4
+ setvar VAR_0x40CE, 1
+ goto BattleFrontier_BattleFactoryLobby_EventScript_2585ED
+ end
+
+BattleFrontier_BattleFactoryLobby_EventScript_2585ED:: @ 82585ED
+ special copy_player_party_to_sav1
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587B1
+ compare_var_to_value VAR_0x40CE, 1
+ call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587BA
+
+BattleFrontier_BattleFactoryLobby_EventScript_258606:: @ 8258606
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587C3
+ compare_var_to_value VAR_0x40CE, 1
+ call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587C9
+ waitmessage
+ multichoice 17, 6, 23, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleFactoryLobby_EventScript_258653
+ case 1, BattleFrontier_BattleFactoryLobby_EventScript_258768
+ case 2, BattleFrontier_BattleFactoryLobby_EventScript_25879D
+ case 127, BattleFrontier_BattleFactoryLobby_EventScript_25879D
+
+BattleFrontier_BattleFactoryLobby_EventScript_258653:: @ 8258653
+ message BattleFrontier_BattleFactoryLobby_Text_258BE9
+ waitmessage
+ multichoice 17, 6, 24, 0
+ switch VAR_RESULT
+ case 2, BattleFrontier_BattleFactoryLobby_EventScript_25879D
+ case 127, BattleFrontier_BattleFactoryLobby_EventScript_25879D
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A1780
+ msgbox BattleFrontier_BattleFactoryLobby_Text_258C27, 5
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleFactoryLobby_EventScript_25879A
+ case 1, BattleFrontier_BattleFactoryLobby_EventScript_2586B9
+ case 127, BattleFrontier_BattleFactoryLobby_EventScript_25879A
+
+BattleFrontier_BattleFactoryLobby_EventScript_2586B9:: @ 82586B9
+ setvar VAR_0x4000, 0
+ setvar VAR_0x8004, 0
+ special sub_81A5E74
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 1
+ special sub_81A5E74
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ closemessage
+ delay 2
+ call BattleFrontier_BattleFactoryLobby_EventScript_27134F
+ setvar VAR_0x4000, 255
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleFactoryLobby_EventScript_258783
+ setvar VAR_0x8006, 0
+
+BattleFrontier_BattleFactoryLobby_EventScript_25871A:: @ 825871A
+ special copy_player_party_to_sav1
+ msgbox BattleFrontier_BattleFactoryLobby_Text_258CB1, 4
+ closemessage
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_25875C
+ compare_var_to_value VAR_0x40CE, 1
+ call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_258762
+ applymovement VAR_LAST_TALKED, BattleFrontier_BattleFactoryLobby_Movement_2587A7
+ applymovement 255, BattleFrontier_BattleFactoryLobby_Movement_2587AC
+ waitmovement 0
+ warp BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM, 255, 8, 13
+ setvar VAR_0x4000, 0
+ waitstate
+ end
+
+BattleFrontier_BattleFactoryLobby_EventScript_25875C:: @ 825875C
+ setvar VAR_LAST_TALKED, 1
+ return
+
+BattleFrontier_BattleFactoryLobby_EventScript_258762:: @ 8258762
+ setvar VAR_LAST_TALKED, 6
+ return
+
+BattleFrontier_BattleFactoryLobby_EventScript_258768:: @ 8258768
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587CF
+ compare_var_to_value VAR_0x40CE, 1
+ call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587D8
+ goto BattleFrontier_BattleFactoryLobby_EventScript_258606
+
+BattleFrontier_BattleFactoryLobby_EventScript_258783:: @ 8258783
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ goto BattleFrontier_BattleFactoryLobby_EventScript_25879D
+
+BattleFrontier_BattleFactoryLobby_EventScript_25879A:: @ 825879A
+ special copy_player_party_from_sav1
+
+BattleFrontier_BattleFactoryLobby_EventScript_25879D:: @ 825879D
+ msgbox BattleFrontier_BattleFactoryLobby_Text_258BC5, 4
+ release
+ end
+
+BattleFrontier_BattleFactoryLobby_Movement_2587A7: @ 82587A7
+ step_up
+ step_up
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattleFactoryLobby_Movement_2587AC: @ 82587AC
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+BattleFrontier_BattleFactoryLobby_EventScript_2587B1:: @ 82587B1
+ msgbox BattleFrontier_BattleFactoryLobby_Text_2588EE, 4
+ return
+
+BattleFrontier_BattleFactoryLobby_EventScript_2587BA:: @ 82587BA
+ msgbox BattleFrontier_BattleFactoryLobby_Text_258F93, 4
+ return
+
+BattleFrontier_BattleFactoryLobby_EventScript_2587C3:: @ 82587C3
+ message BattleFrontier_BattleFactoryLobby_Text_25897A
+ return
+
+BattleFrontier_BattleFactoryLobby_EventScript_2587C9:: @ 82587C9
+ message BattleFrontier_BattleFactoryLobby_Text_25901F
+ return
+
+BattleFrontier_BattleFactoryLobby_EventScript_2587CF:: @ 82587CF
+ msgbox BattleFrontier_BattleFactoryLobby_Text_2589B3, 4
+ return
+
+BattleFrontier_BattleFactoryLobby_EventScript_2587D8:: @ 82587D8
+ msgbox BattleFrontier_BattleFactoryLobby_Text_259058, 4
+ return
+
+BattleFrontier_BattleFactoryLobby_EventScript_2587E1:: @ 82587E1
+ lockall
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 4
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ waitbuttonpress
+ special sub_813C5A0
+ releaseall
+ end
+
+BattleFrontier_BattleFactoryLobby_EventScript_2587FA:: @ 82587FA
+ lockall
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 4
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ waitbuttonpress
+ special sub_813C5A0
+ releaseall
+ end
+
+BattleFrontier_BattleFactoryLobby_EventScript_258813:: @ 8258813
+ msgbox BattleFrontier_BattleFactoryLobby_Text_2593D7, 2
+ end
+
+BattleFrontier_BattleFactoryLobby_EventScript_25881C:: @ 825881C
+ msgbox BattleFrontier_BattleFactoryLobby_Text_2594E5, 2
+ end
+
+BattleFrontier_BattleFactoryLobby_EventScript_258825:: @ 8258825
+ lock
+ msgbox BattleFrontier_BattleFactoryLobby_Text_259547, 4
+ release
+ end
+
+BattleFrontier_BattleFactoryLobby_EventScript_258830:: @ 8258830
+ msgbox BattleFrontier_BattleFactoryLobby_Text_2595C4, 2
+ end
+
+BattleFrontier_BattleFactoryLobby_EventScript_258839:: @ 8258839
+ lockall
+ msgbox BattleFrontier_BattleFactoryLobby_Text_259721, 4
+ goto BattleFrontier_BattleFactoryLobby_EventScript_258848
+ end
+
+BattleFrontier_BattleFactoryLobby_EventScript_258848:: @ 8258848
+ message BattleFrontier_BattleFactoryLobby_Text_259743
+ waitmessage
+ multichoice 17, 0, 99, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleFactoryLobby_EventScript_2588A6
+ case 1, BattleFrontier_BattleFactoryLobby_EventScript_2588B4
+ case 2, BattleFrontier_BattleFactoryLobby_EventScript_2588C2
+ case 3, BattleFrontier_BattleFactoryLobby_EventScript_2588D0
+ case 4, BattleFrontier_BattleFactoryLobby_EventScript_2588DE
+ case 5, BattleFrontier_BattleFactoryLobby_EventScript_2588EC
+ case 127, BattleFrontier_BattleFactoryLobby_EventScript_2588EC
+ end
+
+BattleFrontier_BattleFactoryLobby_EventScript_2588A6:: @ 82588A6
+ msgbox BattleFrontier_BattleFactoryLobby_Text_259766, 4
+ goto BattleFrontier_BattleFactoryLobby_EventScript_258848
+ end
+
+BattleFrontier_BattleFactoryLobby_EventScript_2588B4:: @ 82588B4
+ msgbox BattleFrontier_BattleFactoryLobby_Text_2597FB, 4
+ goto BattleFrontier_BattleFactoryLobby_EventScript_258848
+ end
+
+BattleFrontier_BattleFactoryLobby_EventScript_2588C2:: @ 82588C2
+ msgbox BattleFrontier_BattleFactoryLobby_Text_25987E, 4
+ goto BattleFrontier_BattleFactoryLobby_EventScript_258848
+ end
+
+BattleFrontier_BattleFactoryLobby_EventScript_2588D0:: @ 82588D0
+ msgbox BattleFrontier_BattleFactoryLobby_Text_259920, 4
+ goto BattleFrontier_BattleFactoryLobby_EventScript_258848
+ end
+
+BattleFrontier_BattleFactoryLobby_EventScript_2588DE:: @ 82588DE
+ msgbox BattleFrontier_BattleFactoryLobby_Text_259A5E, 4
+ goto BattleFrontier_BattleFactoryLobby_EventScript_258848
+ end
+
+BattleFrontier_BattleFactoryLobby_EventScript_2588EC:: @ 82588EC
+ releaseall
+ end
+
+BattleFrontier_BattleFactoryLobby_Text_2588EE: @ 82588EE
+ .string "Where the intelligence of TRAINERS\n"
+ .string "is put to the test!\p"
+ .string "Welcome to the BATTLE FACTORY!\p"
+ .string "I am your guide to the Battle Swap\n"
+ .string "Single Tournament.$"
+
+BattleFrontier_BattleFactoryLobby_Text_25897A: @ 825897A
+ .string "Would you like to take the Battle\n"
+ .string "Swap Single challenge?$"
+
+BattleFrontier_BattleFactoryLobby_Text_2589B3: @ 82589B3
+ .string "The Battle Swap Single Tournament\n"
+ .string "is a SINGLE BATTLE competition using\l"
+ .string "only rental POKéMON.\p"
+ .string "First, you will be loaned three\n"
+ .string "POKéMON specifically for this event.\p"
+ .string "Using the supplied rental POKéMON,\n"
+ .string "you must conduct a SINGLE BATTLE.\p"
+ .string "If you win, you are permitted to trade\n"
+ .string "one of your rental POKéMON.\p"
+ .string "Repeat this cycle of battling and\n"
+ .string "trading--if you win seven times in\l"
+ .string "a row, you will earn Battle Points.\p"
+ .string "If you want to interrupt your\n"
+ .string "challenge, please save the game.\p"
+ .string "If you don’t save, you will be\n"
+ .string "disqualified from your challenge.$"
+
+BattleFrontier_BattleFactoryLobby_Text_258BC5: @ 8258BC5
+ .string "We look forward to your next visit.$"
+
+BattleFrontier_BattleFactoryLobby_Text_258BE9: @ 8258BE9
+ .string "Which level do you wish to challenge?\n"
+ .string "Level 50 or Open Level?$"
+
+BattleFrontier_BattleFactoryLobby_Text_258C27: @ 8258C27
+ .string "Before you begin your challenge,\n"
+ .string "I need to save the game. Is that okay?$"
+
+BattleFrontier_BattleFactoryLobby_Text_258C6F: @ 8258C6F
+ .string "Okay, I will hold your POKéMON for\n"
+ .string "safekeeping while you compete.$"
+
+BattleFrontier_BattleFactoryLobby_Text_258CB1: @ 8258CB1
+ .string "Please step this way.$"
+
+BattleFrontier_BattleFactoryLobby_Text_258CC7: @ 8258CC7
+ .string "Thank you for participating!\p"
+ .string "I will return your POKéMON in exchange\n"
+ .string "for our rental POKéMON.\p"
+ .string "I must also save the event results.\n"
+ .string "Please wait.$"
+
+BattleFrontier_BattleFactoryLobby_Text_258D54: @ 8258D54
+ .string "I will return your POKéMON in exchange\n"
+ .string "for our rental POKéMON.$"
+
+BattleFrontier_BattleFactoryLobby_Text_258D93: @ 8258D93
+ .string "Congratulations! You’ve won seven\n"
+ .string "straight Battle Swap matches!$"
+
+BattleFrontier_BattleFactoryLobby_Text_258DD3: @ 8258DD3
+ .string "In recognition of your 7-win streak,\n"
+ .string "we award you these Battle Point(s).$"
+
+BattleFrontier_BattleFactoryLobby_Text_258E1C: @ 8258E1C
+ .string "Oh, oh, oh!\p"
+ .string "Your Battle Points are maxed.\p"
+ .string "Please come back after using\n"
+ .string "some Battle Points.$"
+
+BattleFrontier_BattleFactoryLobby_Text_258E77: @ 8258E77
+ .string "We’ve been waiting for you!\p"
+ .string "Before we resume your challenge,\n"
+ .string "I must save the game.$"
+
+BattleFrontier_BattleFactoryLobby_Text_258ECA: @ 8258ECA
+ .string "I’m sorry to say this, but you didn’t\n"
+ .string "save before you quit playing last time.\p"
+ .string "As a result, you have been disqualified\n"
+ .string "from your challenge.$"
+
+BattleFrontier_BattleFactoryLobby_Text_258F55: @ 8258F55
+ .string "We’ll return your personal POKéMON.$"
+
+BattleFrontier_BattleFactoryLobby_Text_258F79: @ 8258F79
+ .string "{PLAYER} received the prize\n"
+ .string "{STR_VAR_1}.$"
+
+BattleFrontier_BattleFactoryLobby_Text_258F93: @ 8258F93
+ .string "Where the intelligence of TRAINERS\n"
+ .string "is put to the test!\p"
+ .string "Welcome to the BATTLE FACTORY!\p"
+ .string "I am your guide to the Battle Swap\n"
+ .string "Double Tournament.$"
+
+BattleFrontier_BattleFactoryLobby_Text_25901F: @ 825901F
+ .string "Would you like to take the Battle\n"
+ .string "Swap Double challenge?$"
+
+BattleFrontier_BattleFactoryLobby_Text_259058: @ 8259058
+ .string "The Battle Swap Double Tournament\n"
+ .string "is a DOUBLE BATTLE competition using\l"
+ .string "only rental POKéMON.\p"
+ .string "First, you will be loaned three\n"
+ .string "POKéMON specifically for this event.\p"
+ .string "Using the supplied rental POKéMON,\n"
+ .string "you must conduct a DOUBLE BATTLE.\p"
+ .string "If you win, you are permitted to trade\n"
+ .string "one of your rental POKéMON.\p"
+ .string "Repeat this cycle of battling and\n"
+ .string "trading--if you win seven times in\l"
+ .string "a row, you will earn Battle Points.\p"
+ .string "If you want to interrupt your\n"
+ .string "challenge, please save the game.\p"
+ .string "If you don’t save before interrupting,\n"
+ .string "you will be disqualified.$"
+
+BattleFrontier_BattleFactoryLobby_Text_25926A: @ 825926A
+ .string "Congratulations for defeating\n"
+ .string "the FACTORY HEAD and winning\l"
+ .string "seven matches in a row!$"
+
+BattleFrontier_BattleFactoryLobby_Text_2592BD: @ 82592BD
+ .string "In recognition of your wealth of\n"
+ .string "knowledge and keen intelligence,\l"
+ .string "we award you these Battle Point(s).$"
+
+BattleFrontier_BattleFactoryLobby_Text_259323: @ 8259323
+ .string "Let me exchange your POKéMON\n"
+ .string "for our rental POKéMON.\p"
+ .string "I need to save the battle data,\n"
+ .string "so please wait.$"
+
+BattleFrontier_BattleFactoryLobby_Text_259388: @ 8259388
+ .string "Would you like to record your last\n"
+ .string "BATTLE FACTORY match on your\l"
+ .string "FRONTIER PASS?$"
+
+BattleFrontier_BattleFactoryLobby_Text_2593D7: @ 82593D7
+ .string "Hi!\n"
+ .string "You, there!\p"
+ .string "Are you thinking that the events here\n"
+ .string "are easy since you don’t need to have\l"
+ .string "a raised team of POKéMON?\p"
+ .string "I wouldn’t be too sure about winning\n"
+ .string "that easily.\p"
+ .string "If you don’t have thorough knowledge\n"
+ .string "about POKéMON and their moves,\l"
+ .string "it will be tough to keep winning.$"
+
+BattleFrontier_BattleFactoryLobby_Text_2594E5: @ 82594E5
+ .string "I swapped for a weak POKéMON…\n"
+ .string "I thought it was a good kind to have…\p"
+ .string "They wiped the floor with us…$"
+
+BattleFrontier_BattleFactoryLobby_Text_259547: @ 8259547
+ .string "Things haven’t been going my way\n"
+ .string "at all.\p"
+ .string "You need to check your opponent’s\n"
+ .string "POKéMON during battle to see if\l"
+ .string "they’re any good.$"
+
+BattleFrontier_BattleFactoryLobby_Text_2595C4: @ 82595C4
+ .string "You know how the staff here give you\n"
+ .string "a few hints about your next opponent?\p"
+ .string "Well, I’m a full-grown man, but I have\n"
+ .string "trouble figuring out their hints.$"
+
+BattleFrontier_BattleFactoryLobby_Text_259658: @ 8259658
+ .string "Like, I’m really tough, but I get bored\n"
+ .string "really easily, so I just kept swapping\l"
+ .string "and battling over and over.\p"
+ .string "So anyway, when I kept entering\n"
+ .string "Battle Swap events, I noticed they\l"
+ .string "varied the rental POKéMON.$"
+
+BattleFrontier_BattleFactoryLobby_Text_259721: @ 8259721
+SlateportCity_BattleTentLobby_Text_259721: @ 8259721
+ .string "The Battle Swap rules are listed.$"
+
+BattleFrontier_BattleFactoryLobby_Text_259743: @ 8259743
+SlateportCity_BattleTentLobby_Text_259743: @ 8259743
+ .string "Which heading do you want to read?$"
+
+BattleFrontier_BattleFactoryLobby_Text_259766: @ 8259766
+ .string "In a Battle Swap event, you may use\n"
+ .string "only three POKéMON.\p"
+ .string "Whether you are renting or swapping,\n"
+ .string "your team may not have two or more\l"
+ .string "of the same POKéMON.$"
+
+BattleFrontier_BattleFactoryLobby_Text_2597FB: @ 82597FB
+ .string "You may swap POKéMON only with\n"
+ .string "the TRAINER you have just defeated.\p"
+ .string "You may swap for only those POKéMON\n"
+ .string "used by the beaten TRAINER.$"
+
+BattleFrontier_BattleFactoryLobby_Text_25987E: @ 825987E
+ .string "After every battle you win, you may\n"
+ .string "swap for one of your defeated\l"
+ .string "opponent’s POKéMON.\p"
+ .string "You will not be able to swap POKéMON\n"
+ .string "with the seventh TRAINER in the event.$"
+
+BattleFrontier_BattleFactoryLobby_Text_259920: @ 8259920
+ .string "There are two key points to be aware\n"
+ .string "of when swapping POKéMON.\p"
+ .string "First, when swapping, you can’t check\n"
+ .string "the stats of the POKéMON you are\l"
+ .string "about to receive.\p"
+ .string "Second, the POKéMON on your team\n"
+ .string "are lined up in sequence, depending on\l"
+ .string "the order in which you rented them.\p"
+ .string "This sequence remains unchanged\n"
+ .string "even when swaps are made.$"
+
+BattleFrontier_BattleFactoryLobby_Text_259A5E: @ 8259A5E
+ .string "In the Open Level, the rental POKéMON\n"
+ .string "and the opposing TRAINERS’ POKéMON\l"
+ .string "are all Level 100.$"
diff --git a/data/scripts/maps/BattleFrontier_BattleFactoryPreBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattleFactoryPreBattleRoom.inc
new file mode 100644
index 000000000..cd34a1d15
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattleFactoryPreBattleRoom.inc
@@ -0,0 +1,726 @@
+BattleFrontier_BattleFactoryPreBattleRoom_MapScripts:: @ 8259ABA
+ map_script 2, BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AEF
+ map_script 4, BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AC5
+ .byte 0
+
+BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AC5: @ 8259AC5
+ map_script_2 VAR_0x4001, 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259ACF
+ .2byte 0
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259ACF:: @ 8259ACF
+ setvar VAR_0x4001, 1
+ compare_var_to_value VAR_0x8006, 1
+ goto_if 5, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AEA
+ setobjectxy 1, 8, 7
+ turnobject 1, 1
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AEA:: @ 8259AEA
+ turnobject 255, 2
+ end
+
+BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AEF: @ 8259AEF
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AF9
+ .2byte 0
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AF9:: @ 8259AF9
+ compare_var_to_value VAR_0x8006, 1
+ goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259BA5
+ setvar VAR_0x4000, 1
+ applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1AC
+ applymovement 255, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A19A
+ waitmovement 0
+ compare_var_to_value VAR_0x8006, 2
+ goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69
+ setvar VAR_0x8004, 13
+ special sub_81A5E74
+ setvar VAR_0x8004, 12
+ special sub_81A5E74
+ setvar VAR_0x8004, 14
+ special sub_81A5E74
+ setorcopyvar VAR_0x8005, VAR_RESULT
+ setvar VAR_0x8004, 15
+ special sub_81A5E74
+ setorcopyvar VAR_0x8006, VAR_RESULT
+ call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E93
+ call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A1C8, 4
+ fadescreen 1
+ setvar VAR_0x8004, 8
+ special sub_81A5E74
+ setvar VAR_0x8004, 6
+ special sub_81A5E74
+ waitstate
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74:: @ 8259B74
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB96, 4
+ closemessage
+ call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23F2B7
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A17C
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A18B
+ waitmovement 0
+ warp BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM, 255, 6, 11
+ waitstate
+ end
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259BA5:: @ 8259BA5
+ setvar VAR_0x8004, 9
+ special sub_81A5E74
+ setvar VAR_0x8004, 16
+ special sub_81A5E74
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A22D, 4
+ playfanfare BGM_ME_ASA
+ waitfanfare
+ special sp000_heal_pokemon
+ setvar VAR_0x8004, 9
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C26
+ playse 263
+ waitse
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC15, 4
+ closemessage
+ applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1BF
+ waitmovement 0
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC58, 4
+ closemessage
+ applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1C3
+ waitmovement 0
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC89, 4
+ closemessage
+ delay 16
+ goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9
+ end
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13:: @ 8259C13
+ setvar VAR_0x8004, 9
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C26:: @ 8259C26
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E1D
+ compare_var_to_value VAR_RESULT, 2
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E24
+ compare_var_to_value VAR_RESULT, 3
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E2B
+ compare_var_to_value VAR_RESULT, 4
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E32
+ compare_var_to_value VAR_RESULT, 5
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E39
+ compare_var_to_value VAR_RESULT, 6
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E40
+ call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8E0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259CC6
+ multichoice 19, 4, 103, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D98
+ case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259CFC
+ case 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D38
+ case 3, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D66
+ case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259CC6:: @ 8259CC6
+ multichoice 20, 6, 104, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D98
+ case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D38
+ case 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D66
+ case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259CFC:: @ 8259CFC
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_25ABD2
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13
+ case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D2E
+ case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D2E:: @ 8259D2E
+ call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8B4
+ goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D38:: @ 8259D38
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A350, 5
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13
+ case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E47
+ case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D66:: @ 8259D66
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A37A
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13
+ case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25AEF8
+ case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D98:: @ 8259D98
+ setvar VAR_0x8004, 12
+ special sub_81A5E74
+ setvar VAR_0x8004, 14
+ special sub_81A5E74
+ setorcopyvar VAR_0x8005, VAR_RESULT
+ setvar VAR_0x8004, 15
+ special sub_81A5E74
+ setorcopyvar VAR_0x8006, VAR_RESULT
+ call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E93
+ call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB2E, 5
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74
+ case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259DF2
+ case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259DF2:: @ 8259DF2
+ fadescreen 1
+ setvar VAR_0x8004, 7
+ special sub_81A5E74
+ waitstate
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74
+ setvar VAR_0x8004, 8
+ special sub_81A5E74
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB6C, 4
+ goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E1D:: @ 8259E1D
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A263
+ waitmessage
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E24:: @ 8259E24
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A289
+ waitmessage
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E2B:: @ 8259E2B
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2AF
+ waitmessage
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E32:: @ 8259E32
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2D5
+ waitmessage
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E39:: @ 8259E39
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2FB
+ waitmessage
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E40:: @ 8259E40
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_25A321
+ waitmessage
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E47:: @ 8259E47
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_25ABAE
+ waitmessage
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 2
+ special sub_81A5E74
+ playse SE_SAVE
+ waitse
+ fadescreen 1
+ setvar VAR_0x8004, 4
+ special sub_81A1780
+ end
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69:: @ 8259E69
+ special copy_player_party_to_sav1
+ setvar VAR_0x8004, 10
+ setvar VAR_0x8005, 0
+ special sub_81A5E74
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 6
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ special CalculatePlayerPartyCount
+ goto BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E93:: @ 8259E93
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A3B4, 4
+ compare_var_to_value VAR_0x8005, 0
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F62
+ compare_var_to_value VAR_0x8005, 1
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F6B
+ compare_var_to_value VAR_0x8005, 2
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F74
+ compare_var_to_value VAR_0x8005, 3
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F7D
+ compare_var_to_value VAR_0x8005, 4
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F86
+ compare_var_to_value VAR_0x8005, 5
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F8F
+ compare_var_to_value VAR_0x8005, 6
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F98
+ compare_var_to_value VAR_0x8005, 7
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FA1
+ compare_var_to_value VAR_0x8005, 8
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FAA
+ compare_var_to_value VAR_0x8005, 10
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FB3
+ compare_var_to_value VAR_0x8005, 11
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FBC
+ compare_var_to_value VAR_0x8005, 12
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FC5
+ compare_var_to_value VAR_0x8005, 13
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FCE
+ compare_var_to_value VAR_0x8005, 14
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FD7
+ compare_var_to_value VAR_0x8005, 15
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE0
+ compare_var_to_value VAR_0x8005, 16
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE9
+ compare_var_to_value VAR_0x8005, 17
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FF2
+ compare_var_to_value VAR_0x8005, 18
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FFB
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F62:: @ 8259F62
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A3F8, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F6B:: @ 8259F6B
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A597, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F74:: @ 8259F74
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A66B, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F7D:: @ 8259F7D
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A5DF, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F86:: @ 8259F86
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A625, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F8F:: @ 8259F8F
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A73B, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F98:: @ 8259F98
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A6F8, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FA1:: @ 8259FA1
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A77F, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FAA:: @ 8259FAA
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A84E, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FB3:: @ 8259FB3
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A43E, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FBC:: @ 8259FBC
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A482, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FC5:: @ 8259FC5
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A50F, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FCE:: @ 8259FCE
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A4C7, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FD7:: @ 8259FD7
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A6B1, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE0:: @ 8259FE0
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A554, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE9:: @ 8259FE9
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A7C4, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FF2:: @ 8259FF2
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A80A, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FFB:: @ 8259FFB
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A893, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004:: @ 825A004
+ compare_var_to_value VAR_0x8006, 0
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A068
+ compare_var_to_value VAR_0x8006, 1
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A071
+ compare_var_to_value VAR_0x8006, 2
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A07A
+ compare_var_to_value VAR_0x8006, 3
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A083
+ compare_var_to_value VAR_0x8006, 4
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A08C
+ compare_var_to_value VAR_0x8006, 5
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A095
+ compare_var_to_value VAR_0x8006, 6
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A09E
+ compare_var_to_value VAR_0x8006, 7
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0A7
+ compare_var_to_value VAR_0x8006, 8
+ call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B0
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A068:: @ 825A068
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AAE6, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A071:: @ 825A071
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A9CE, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A07A:: @ 825A07A
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A8D9, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A083:: @ 825A083
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A912, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A08C:: @ 825A08C
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A94C, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A095:: @ 825A095
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AA16, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A09E:: @ 825A09E
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AAA7, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0A7:: @ 825A0A7
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A98C, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B0:: @ 825A0B0
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AA5A, 4
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9:: @ 825A0B9
+ message BattleFrontier_BattleFactoryPreBattleRoom_Text_25AD20
+ waitmessage
+ call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8E0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A110
+ multichoice 19, 4, 103, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A146
+ case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259CFC
+ case 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D38
+ case 3, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D66
+ case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A110:: @ 825A110
+ multichoice 20, 6, 104, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A146
+ case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D38
+ case 2, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D66
+ case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A146:: @ 825A146
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AD61, 4
+ msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB2E, 5
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74
+ case 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259DF2
+ case 127, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A17C:: @ 825A17C
+ applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B3
+ applymovement 255, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A0
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A18B:: @ 825A18B
+ applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B9
+ applymovement 255, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A6
+ return
+
+BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A19A: @ 825A19A
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A0: @ 825A1A0
+ step_up
+ step_left
+ step_left
+ step_up
+ step_up
+ step_end
+
+BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A6: @ 825A1A6
+ step_up
+ step_right
+ step_right
+ step_up
+ step_up
+ step_end
+
+BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1AC: @ 825A1AC
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_00
+ step_end
+
+BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B3: @ 825A1B3
+ step_left
+ step_left
+ step_up
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B9: @ 825A1B9
+ step_right
+ step_right
+ step_up
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1BF: @ 825A1BF
+ step_left
+ step_left
+ step_left
+ step_end
+
+BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1C3: @ 825A1C3
+ step_right
+ step_right
+ step_right
+ step_00
+ step_end
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A1C8: @ 825A1C8
+SlateportCity_BattleTentCorridor_Text_25A1C8: @ 825A1C8
+ .string "First, we will hold your POKéMON for\n"
+ .string "safekeeping.\p"
+ .string "You may then choose from our\n"
+ .string "selection of POKéMON.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A22D: @ 825A22D
+SlateportCity_BattleTentCorridor_Text_25A22D: @ 825A22D
+ .string "Thank you for competing!\n"
+ .string "Let us restore your POKéMON!$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A263: @ 825A263
+SlateportCity_BattleTentCorridor_Text_25A263: @ 825A263
+ .string "The 2nd match is next!\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A289: @ 825A289
+SlateportCity_BattleTentCorridor_Text_25A289: @ 825A289
+ .string "The 3rd match is next!\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2AF: @ 825A2AF
+ .string "The 4th match is next!\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2D5: @ 825A2D5
+ .string "The 5th match is next!\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A2FB: @ 825A2FB
+ .string "The 6th match is next!\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A321: @ 825A321
+ .string "Finally, the 7th match is next!\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A350: @ 825A350
+SlateportCity_BattleTentCorridor_Text_25A350: @ 825A350
+ .string "Would you like to save and quit\n"
+ .string "the game?$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A37A: @ 825A37A
+SlateportCity_BattleTentCorridor_Text_25A37A: @ 825A37A
+ .string "Would you like to retire from your\n"
+ .string "Battle Swap challenge?$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A3B4: @ 825A3B4
+ .string "I’ve conducted a little investigation\n"
+ .string "about your upcoming opponent.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A3F8: @ 825A3F8
+ .string "The TRAINER is apparently skilled\n"
+ .string "in the handling of the NORMAL type.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A43E: @ 825A43E
+ .string "The TRAINER is apparently skilled\n"
+ .string "in the handling of the FIRE type.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A482: @ 825A482
+ .string "The TRAINER is apparently skilled\n"
+ .string "in the handling of the WATER type.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A4C7: @ 825A4C7
+ .string "The TRAINER is apparently skilled\n"
+ .string "in the handling of the ELECTRIC type.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A50F: @ 825A50F
+ .string "The TRAINER is apparently skilled\n"
+ .string "in the handling of the GRASS type.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A554: @ 825A554
+ .string "The TRAINER is apparently skilled\n"
+ .string "in the handling of the ICE type.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A597: @ 825A597
+ .string "The TRAINER is apparently skilled\n"
+ .string "in the handling of the FIGHTING type.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A5DF: @ 825A5DF
+ .string "The TRAINER is apparently skilled\n"
+ .string "in the handling of the POISON type.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A625: @ 825A625
+ .string "The TRAINER is apparently skilled\n"
+ .string "in the handling of the GROUND type.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A66B: @ 825A66B
+ .string "The TRAINER is apparently skilled\n"
+ .string "in the handling of the FLYING type.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A6B1: @ 825A6B1
+ .string "The TRAINER is apparently skilled\n"
+ .string "in the handling of the PSYCHIC type.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A6F8: @ 825A6F8
+ .string "The TRAINER is apparently skilled\n"
+ .string "in the handling of the BUG type.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A73B: @ 825A73B
+ .string "The TRAINER is apparently skilled\n"
+ .string "in the handling of the ROCK type.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A77F: @ 825A77F
+ .string "The TRAINER is apparently skilled\n"
+ .string "in the handling of the GHOST type.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A7C4: @ 825A7C4
+ .string "The TRAINER is apparently skilled\n"
+ .string "in the handling of the DRAGON type.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A80A: @ 825A80A
+ .string "The TRAINER is apparently skilled\n"
+ .string "in the handling of the DARK type.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A84E: @ 825A84E
+ .string "The TRAINER is apparently skilled\n"
+ .string "in the handling of the STEEL type.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A893: @ 825A893
+ .string "The TRAINER appears to have no clear\n"
+ .string "favorites when it comes to type.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A8D9: @ 825A8D9
+ .string "The favorite battle style appears to\n"
+ .string "be slow and steady.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A912: @ 825A912
+ .string "The favorite battle style appears to\n"
+ .string "be one of endurance.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A94C: @ 825A94C
+ .string "The favorite battle style appears to\n"
+ .string "be high risk, high return.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A98C: @ 825A98C
+ .string "The favorite battle style appears to\n"
+ .string "depend on the battle’s flow.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25A9CE: @ 825A9CE
+ .string "The favorite battle style appears to\n"
+ .string "be one based on total preparation.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25AA16: @ 825AA16
+ .string "The favorite battle style appears\n"
+ .string "to be weakening the foe to start.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25AA5A: @ 825AA5A
+ .string "The favorite battle style appears to\n"
+ .string "be flexibly adaptable to the situation.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25AAA7: @ 825AAA7
+ .string "The favorite battle style appears to\n"
+ .string "be impossible to predict.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25AAE6: @ 825AAE6
+ .string "The favorite battle style appears to\n"
+ .string "be free-spirited and unrestrained.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB2E: @ 825AB2E
+SlateportCity_BattleTentCorridor_Text_25AB2E: @ 825AB2E
+ .string "Before starting the battle, would you\n"
+ .string "like to swap a POKéMON?$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB6C: @ 825AB6C
+SlateportCity_BattleTentCorridor_Text_25AB6C: @ 825AB6C
+ .string "Thank you!\n"
+ .string "Your POKéMON swap is complete.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB96: @ 825AB96
+SlateportCity_BattleTentCorridor_Text_25AB96: @ 825AB96
+ .string "Right this way, please!$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25ABAE: @ 825ABAE
+SlateportCity_BattleTentCorridor_Text_25ABAE: @ 825ABAE
+ .string "I am saving your data.\n"
+ .string "Please wait.$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25ABD2: @ 825ABD2
+ .string "Would you like to record your latest\n"
+ .string "battle on your FRONTIER PASS?$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC15: @ 825AC15
+ .string "Excuse me! Excuse me, please!\n"
+ .string "May I get you to wait a few moments?$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC58: @ 825AC58
+ .string "…Uh-huh? What?! …Whoa!\n"
+ .string "Understood, sir! Will do!$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC89: @ 825AC89
+ .string "Oh, my…\n"
+ .string "Sorry to keep you waiting!\p"
+ .string "I have a message from this facility’s\n"
+ .string "boss, the FACTORY HEAD.\p"
+ .string "He says, “We’re going to do it!\n"
+ .string "Come here right now!”$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25AD20: @ 825AD20
+ .string "The FACTORY HEAD is demanding you.\n"
+ .string "Are you prepared to face him?$"
+
+BattleFrontier_BattleFactoryPreBattleRoom_Text_25AD61: @ 825AD61
+ .string "I’m terribly sorry, but I can’t tell you\n"
+ .string "anything about the FACTORY HEAD.$"
diff --git a/data/scripts/maps/BattleFrontier_BattlePalaceBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattlePalaceBattleRoom.inc
new file mode 100644
index 000000000..9178ca8bd
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattlePalaceBattleRoom.inc
@@ -0,0 +1,650 @@
+BattleFrontier_BattlePalaceBattleRoom_MapScripts:: @ 824F815
+ map_script 3, BattleFrontier_BattlePalaceBattleRoom_MapScript1_24F825
+ map_script 2, BattleFrontier_BattlePalaceBattleRoom_MapScript2_24F861
+ map_script 4, BattleFrontier_BattlePalaceBattleRoom_MapScript2_24FE34
+ .byte 0
+
+BattleFrontier_BattlePalaceBattleRoom_MapScript1_24F825: @ 824F825
+ setvar VAR_0x8004, 5
+ special sub_81A1780
+ call BattleFrontier_BattlePalaceBattleRoom_EventScript_24F833
+ end
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24F833:: @ 824F833
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F84B
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F856
+ return
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24F84B:: @ 824F84B
+ setvar VAR_0x4011, 100
+ setvar VAR_0x4010, 100
+ return
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24F856:: @ 824F856
+ setvar VAR_0x4011, 105
+ setvar VAR_0x4010, 105
+ return
+
+BattleFrontier_BattlePalaceBattleRoom_MapScript2_24F861: @ 824F861
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F86B
+ .2byte 0
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24F86B:: @ 824F86B
+ showobjectat 1, BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8B5
+ applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE9B
+ waitmovement 0
+ applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC
+ setvar VAR_0x4002, 1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 6
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8B5:: @ 824F8B5
+ applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE92
+ waitmovement 0
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8BF:: @ 824F8BF
+ setvar VAR_0x8004, 3
+ special sub_8161F74
+ addobject 2
+ applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA1
+ waitmovement 0
+ setvar VAR_0x8004, 5
+ special sub_8195960
+ msgbox 0x2021fc4, 4
+ waitmessage
+ call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F911
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8FA:: @ 824F8FA
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 4
+ special sub_81A1780
+ goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FEBB
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24F911:: @ 824F911
+ call BattleFrontier_BattlePalaceBattleRoom_EventScript_241EBA
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ addvar VAR_RESULT, 1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A1780
+ switch VAR_RESULT
+ case 7, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28
+ applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA7
+ waitmovement 0
+ removeobject 2
+ applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE99
+ applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC
+ waitmovement 0
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_24FF00, 4
+ special copy_player_party_from_sav1
+ special copy_player_party_to_sav1
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 3
+ special sub_81A1780
+ playfanfare BGM_ME_ASA
+ waitfanfare
+ special sp000_heal_pokemon
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A:: @ 824F98A
+ setvar VAR_0x8004, 9
+ special sub_81A1780
+ copyvar VAR_0x400F, VAR_RESULT
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB61
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE66
+ compare_var_to_value VAR_RESULT, 2
+ call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE6D
+ compare_var_to_value VAR_RESULT, 3
+ call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE74
+ compare_var_to_value VAR_RESULT, 4
+ call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE7B
+ compare_var_to_value VAR_RESULT, 5
+ call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE82
+ compare_var_to_value VAR_RESULT, 6
+ call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE89
+ call BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8E0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FA42
+ multichoice 19, 4, 103, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB14
+ case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FA78
+ case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAB4
+ case 3, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAE2
+ case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FA42:: @ 824FA42
+ multichoice 20, 6, 104, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB14
+ case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAB4
+ case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAE2
+ case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FA78:: @ 824FA78
+ message BattleFrontier_BattlePalaceBattleRoom_Text_25009E
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
+ case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAAA
+ case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAAA:: @ 824FAAA
+ call BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8B4
+ goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAB4:: @ 824FAB4
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250030, 5
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
+ case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB3F
+ case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAE2:: @ 824FAE2
+ message BattleFrontier_BattlePalaceBattleRoom_Text_25005A
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
+ case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8FA
+ case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB14:: @ 824FB14
+ applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97
+ applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97
+ closemessage
+ goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8BF
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28:: @ 824FB28
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 3
+ special sub_81A1780
+ goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FEBB
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB3F:: @ 824FB3F
+ message BattleFrontier_BattlePalaceBattleRoom_Text_25007E
+ waitmessage
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 2
+ special sub_8195960
+ playse SE_SAVE
+ waitse
+ fadescreen 1
+ setvar VAR_0x8004, 4
+ special sub_81A1780
+ end
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB61:: @ 824FB61
+ compare_var_to_value VAR_0x4002, 1
+ goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2500DD, 4
+ setvar VAR_0x4002, 1
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79:: @ 824FB79
+ message BattleFrontier_BattlePalaceBattleRoom_Text_25014A
+ waitmessage
+ call BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8E0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FBD0
+ multichoice 19, 4, 103, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FC06
+ case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FA78
+ case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAB4
+ case 3, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAE2
+ case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FBD0:: @ 824FBD0
+ multichoice 20, 6, 104, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FC06
+ case 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAB4
+ case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FAE2
+ case 127, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FC06:: @ 824FC06
+ call BattleFrontier_BattlePalaceBattleRoom_EventScript_242170
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_25017C, 4
+ closemessage
+ applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97
+ applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97
+ setobjectxyperm 2, 15, 1
+ addobject 2
+ hideobjectat 2, BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM
+ setobjectxy 2, 13, 1
+ setobjectxyperm 2, 13, 1
+ applymovement 4, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEDF
+ applymovement 5, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEE7
+ applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEF2
+ waitmovement 0
+ switch VAR_0x400F
+ case 2, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD3A
+ case 3, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA
+ case 4, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2501C1, 4
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA:: @ 824FCAA
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2502C4, 4
+ call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7
+ goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8FA
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7:: @ 824FCC7
+ setvar VAR_0x8004, 6
+ special sub_8195960
+ setvar VAR_0x8004, 12
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2502FF, 4
+ applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE99
+ applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_25036D, 4
+ playfanfare BGM_ME_BATTLE_SYMBOL
+ message BattleFrontier_BattlePalaceBattleRoom_Text_2503DC
+ waitmessage
+ waitfanfare
+ setvar VAR_0x8004, 13
+ special sub_81A1780
+ applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_2725B6
+ waitmovement 0
+ applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_2725A8
+ applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_2725A8
+ waitmovement 0
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250412, 4
+ goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD3A:: @ 824FD3A
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250485, 4
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67:: @ 824FD67
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250572, 4
+ call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84
+ goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8FA
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84:: @ 824FD84
+ setvar VAR_0x8004, 6
+ special sub_8195960
+ setvar VAR_0x8004, 12
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_25057E, 4
+ applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE99
+ applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250629, 4
+ playfanfare BGM_ME_BATTLE_SYMBOL
+ message BattleFrontier_BattlePalaceBattleRoom_Text_250699
+ waitmessage
+ waitfanfare
+ setvar VAR_0x8004, 13
+ special sub_81A1780
+ applymovement 2, BattleFrontier_BattlePalaceBattleRoom_Movement_2725B6
+ waitmovement 0
+ applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_2725A8
+ applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_2725A8
+ waitmovement 0
+ msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2506C4, 4
+ goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7:: @ 824FDF7
+VerdanturfTown_BattleTentBattleRoom_EventScript_24FDF7:: @ 824FDF7
+ closemessage
+ setvar VAR_0x4002, 0
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 6
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ special sp000_heal_pokemon
+ setvar VAR_0x8004, 4
+ setvar VAR_0x8005, 0
+ special sub_8163AC4
+ waitstate
+ setvar VAR_0x8004, 18
+ special sub_81A1780
+ special sp000_heal_pokemon
+ setvar VAR_0x8004, 21
+ special sub_81A1780
+ return
+
+BattleFrontier_BattlePalaceBattleRoom_MapScript2_24FE34: @ 824FE34
+ map_script_2 VAR_0x4001, 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE3E
+ .2byte 0
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE3E:: @ 824FE3E
+ hideobjectat 1, BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM
+ call BattleFrontier_BattlePalaceBattleRoom_EventScript_24F833
+ setvar VAR_0x4001, 1
+ applymovement 255, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90
+ removeobject 2
+ applymovement 4, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90
+ applymovement 5, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90
+ end
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE66:: @ 824FE66
+ message BattleFrontier_BattlePalaceBattleRoom_Text_24FF28
+ waitmessage
+ return
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE6D:: @ 824FE6D
+ message BattleFrontier_BattlePalaceBattleRoom_Text_24FF54
+ waitmessage
+ return
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE74:: @ 824FE74
+ message BattleFrontier_BattlePalaceBattleRoom_Text_24FF80
+ waitmessage
+ return
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE7B:: @ 824FE7B
+ message BattleFrontier_BattlePalaceBattleRoom_Text_24FFAC
+ waitmessage
+ return
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE82:: @ 824FE82
+ message BattleFrontier_BattlePalaceBattleRoom_Text_24FFD8
+ waitmessage
+ return
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE89:: @ 824FE89
+ message BattleFrontier_BattlePalaceBattleRoom_Text_250004
+ waitmessage
+ return
+
+BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90: @ 824FE90
+ step_54
+ step_end
+
+BattleFrontier_BattlePalaceBattleRoom_Movement_24FE92: @ 824FE92
+ step_55
+ step_up
+ step_up
+ step_up
+ step_up
+
+BattleFrontier_BattlePalaceBattleRoom_Movement_24FE97: @ 824FE97
+ step_03
+ step_end
+
+BattleFrontier_BattlePalaceBattleRoom_Movement_24FE99: @ 824FE99
+ step_01
+ step_end
+
+BattleFrontier_BattlePalaceBattleRoom_Movement_24FE9B: @ 824FE9B
+ step_55
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA1: @ 824FEA1
+ step_down
+ step_down
+ step_down
+ step_down
+ step_02
+ step_end
+
+BattleFrontier_BattlePalaceBattleRoom_Movement_24FEA7: @ 824FEA7
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC: @ 824FEAC
+ step_00
+ step_end
+
+BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAE: @ 824FEAE
+ step_55
+ slow_step_down
+ slow_step_down
+ step_02
+ step_end
+
+BattleFrontier_BattlePalaceBattleRoom_Movement_24FEB3: @ 824FEB3
+ step_55
+ slow_step_down
+ step_end
+
+BattleFrontier_BattlePalaceBattleRoom_Movement_24FEB6: @ 824FEB6
+ slow_step_down
+ slow_step_down
+ slow_step_down
+ step_02
+ step_end
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FEBB:: @ 824FEBB
+ copyvar VAR_RESULT, VAR_0x40CE
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FED5
+ warp BATTLE_FRONTIER_BATTLE_PALACE_LOBBY, 255, 5, 7
+ waitstate
+ end
+
+BattleFrontier_BattlePalaceBattleRoom_EventScript_24FED5:: @ 824FED5
+ warp BATTLE_FRONTIER_BATTLE_PALACE_LOBBY, 255, 19, 7
+ waitstate
+ end
+
+BattleFrontier_BattlePalaceBattleRoom_Movement_24FEDF: @ 824FEDF
+ step_14
+ step_14
+ step_55
+ step_down
+ step_right
+ step_down
+ step_27
+ step_end
+
+BattleFrontier_BattlePalaceBattleRoom_Movement_24FEE7: @ 824FEE7
+ step_55
+ step_15
+ step_18
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_27
+ step_14
+ step_end
+
+BattleFrontier_BattlePalaceBattleRoom_Movement_24FEF2: @ 824FEF2
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_55
+ slow_step_down
+ slow_step_down
+ slow_step_down
+ slow_step_down
+ step_02
+ step_end
+
+BattleFrontier_BattlePalaceBattleRoom_Text_24FF00: @ 824FF00
+VerdanturfTown_BattleTentBattleRoom_Text_24FF00: @ 824FF00
+ .string "Excellent…\n"
+ .string "Let me restore your POKéMON.$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_24FF28: @ 824FF28
+VerdanturfTown_BattleTentBattleRoom_Text_24FF28: @ 824FF28
+ .string "The 2nd opponent is next.\n"
+ .string "Are you prepared?$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_24FF54: @ 824FF54
+VerdanturfTown_BattleTentBattleRoom_Text_24FF54: @ 824FF54
+ .string "The 3rd opponent is next.\n"
+ .string "Are you prepared?$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_24FF80: @ 824FF80
+ .string "The 4th opponent is next.\n"
+ .string "Are you prepared?$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_24FFAC: @ 824FFAC
+ .string "The 5th opponent is next.\n"
+ .string "Are you prepared?$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_24FFD8: @ 824FFD8
+ .string "The 6th opponent is next.\n"
+ .string "Are you prepared?$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_250004: @ 8250004
+ .string "The 7th opponent is next.\n"
+ .string "Are you prepared?$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_250030: @ 8250030
+VerdanturfTown_BattleTentBattleRoom_Text_250030: @ 8250030
+ .string "Would you like to save and quit\n"
+ .string "the game?$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_25005A: @ 825005A
+VerdanturfTown_BattleTentBattleRoom_Text_25005A: @ 825005A
+ .string "Do you wish to quit your challenge?$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_25007E: @ 825007E
+VerdanturfTown_BattleTentBattleRoom_Text_25007E: @ 825007E
+ .string "Saving the data.\n"
+ .string "Have patience…$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_25009E: @ 825009E
+ .string "Do you wish to record your latest\n"
+ .string "match on your FRONTIER PASS?$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_2500DD: @ 82500DD
+ .string "And now…\p"
+ .string "By winning consistently, you have\n"
+ .string "earned the privilege of challenging\l"
+ .string "our master, the PALACE MAVEN…$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_25014A: @ 825014A
+ .string "I shall send for the PALACE MAVEN.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_25017C: @ 825017C
+ .string "Let great fanfare announce the arrival\n"
+ .string "of the PALACE MAVEN, SPENSER!$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_2501C1: @ 82501C1
+ .string "SPENSER: My physical being is with\n"
+ .string "POKéMON always!\p"
+ .string "My heart beats as one with\n"
+ .string "POKéMON always!\p"
+ .string "Young one of a TRAINER!\n"
+ .string "Do you believe in your POKéMON?\p"
+ .string "Can you believe them through\n"
+ .string "and through?\p"
+ .string "If your bonds of trust are frail,\n"
+ .string "you will never beat my brethren!$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_2502C4: @ 82502C4
+ .string "The bond you share with your POKéMON!\n"
+ .string "Prove it to me here!$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_2502FF: @ 82502FF
+ .string "SPENSER: Gwahahah!\p"
+ .string "Hah, you never fell for my bluster!\n"
+ .string "Sorry for trying that stunt!\p"
+ .string "Here!\n"
+ .string "Bring me the thing!$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_25036D: @ 825036D
+ .string "My, my, if only you could maintain that\n"
+ .string "facade of distinguished authority…\p"
+ .string "Here!\n"
+ .string "Let’s see your FRONTIER PASS!$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_2503DC: @ 82503DC
+ .string "The Spirits Symbol was embossed on\n"
+ .string "the FRONTIER PASS!$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_250412: @ 8250412
+ .string "SPENSER: Your POKéMON’s eyes are \n"
+ .string "truly clear and unclouded.\p"
+ .string "I will eagerly await the next\n"
+ .string "opportunity to see you.$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_250485: @ 8250485
+ .string "SPENSER: Gwahahah!\n"
+ .string "You’ve battled your way up again?\p"
+ .string "You must have developed a truly\n"
+ .string "formidable bond with your POKéMON.\p"
+ .string "So be it!\p"
+ .string "This time, I won’t bluster or hold back.\n"
+ .string "This time, there’s no fooling around.\p"
+ .string "Ready now?\n"
+ .string "Prepare to lose!$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_250572: @ 8250572
+ .string "… … …Kaaah!$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_25057E: @ 825057E
+ .string "SPENSER: Well, that was some display!\n"
+ .string "Even fully unleashed, my brethren\l"
+ .string "could not overpower you.\p"
+ .string "Your team spirit is truly admirable!\p"
+ .string "Here!\n"
+ .string "Bring me that thing, will you?$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_250629: @ 8250629
+ .string "My, my, if only you could maintain\n"
+ .string "a certain level of decorum…\p"
+ .string "Gaaah, here!\n"
+ .string "Hurry with that FRONTIER PASS, you!$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_250699: @ 8250699
+ .string "The Spirits Symbol took on\n"
+ .string "a golden shine!$"
+
+BattleFrontier_BattlePalaceBattleRoom_Text_2506C4: @ 82506C4
+ .string "SPENSER: Gwahahah!\p"
+ .string "Come see me time and again!\n"
+ .string "My brethren and I will be waiting!$"
diff --git a/data/scripts/maps/BattleFrontier_BattlePalaceCorridor.inc b/data/scripts/maps/BattleFrontier_BattlePalaceCorridor.inc
new file mode 100644
index 000000000..183dbdaec
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattlePalaceCorridor.inc
@@ -0,0 +1,160 @@
+BattleFrontier_BattlePalaceCorridor_MapScripts:: @ 824F4A3
+ map_script 2, BattleFrontier_BattlePalaceCorridor_MapScript2_24F4A9
+ .byte 0
+
+BattleFrontier_BattlePalaceCorridor_MapScript2_24F4A9: @ 824F4A9
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePalaceCorridor_EventScript_24F4B3
+ .2byte 0
+
+BattleFrontier_BattlePalaceCorridor_EventScript_24F4B3:: @ 824F4B3
+ delay 16
+ applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5B8
+ applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5B8
+ waitmovement 0
+ lockall
+ setvar VAR_0x8004, 3
+ special sub_8195960
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F58B
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F594
+ compare_var_to_value VAR_RESULT, 2
+ call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F59D
+ compare_var_to_value VAR_RESULT, 3
+ call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F5A6
+ compare_var_to_value VAR_RESULT, 4
+ call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F5AF
+ closemessage
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F553
+ applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5BD
+ applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5C4
+ waitmovement 0
+ opendoor 6, 3
+ waitdooranim
+ applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5DA
+ applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5D9
+ waitmovement 0
+ closedoor 6, 3
+ waitdooranim
+ goto BattleFrontier_BattlePalaceCorridor_EventScript_24F581
+
+BattleFrontier_BattlePalaceCorridor_EventScript_24F553:: @ 824F553
+ applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5CB
+ applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5D2
+ waitmovement 0
+ opendoor 10, 3
+ waitdooranim
+ applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5DA
+ applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5D9
+ waitmovement 0
+ closedoor 10, 3
+ waitdooranim
+
+BattleFrontier_BattlePalaceCorridor_EventScript_24F581:: @ 824F581
+ warp BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM, 255, 7, 4
+ waitstate
+ end
+
+BattleFrontier_BattlePalaceCorridor_EventScript_24F58B:: @ 824F58B
+ msgbox BattleFrontier_BattlePalaceCorridor_Text_24F5DD, 4
+ return
+
+BattleFrontier_BattlePalaceCorridor_EventScript_24F594:: @ 824F594
+ msgbox BattleFrontier_BattlePalaceCorridor_Text_24F65B, 4
+ return
+
+BattleFrontier_BattlePalaceCorridor_EventScript_24F59D:: @ 824F59D
+ msgbox BattleFrontier_BattlePalaceCorridor_Text_24F718, 4
+ return
+
+BattleFrontier_BattlePalaceCorridor_EventScript_24F5A6:: @ 824F5A6
+ msgbox BattleFrontier_BattlePalaceCorridor_Text_24F78C, 4
+ return
+
+BattleFrontier_BattlePalaceCorridor_EventScript_24F5AF:: @ 824F5AF
+ msgbox BattleFrontier_BattlePalaceCorridor_Text_24F7D4, 4
+ return
+
+BattleFrontier_BattlePalaceCorridor_Movement_24F5B8: @ 824F5B8
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+BattleFrontier_BattlePalaceCorridor_Movement_24F5BD: @ 824F5BD
+ step_up
+ step_up
+ step_left
+ step_left
+ step_up
+ step_up
+ step_end
+
+BattleFrontier_BattlePalaceCorridor_Movement_24F5C4: @ 824F5C4
+ step_up
+ step_up
+ step_up
+ step_left
+ step_left
+ step_up
+ step_end
+
+BattleFrontier_BattlePalaceCorridor_Movement_24F5CB: @ 824F5CB
+ step_up
+ step_right
+ step_right
+ step_up
+ step_up
+ step_up
+ step_end
+
+BattleFrontier_BattlePalaceCorridor_Movement_24F5D2: @ 824F5D2
+ step_up
+ step_up
+ step_right
+ step_right
+ step_up
+ step_up
+ step_end
+
+BattleFrontier_BattlePalaceCorridor_Movement_24F5D9: @ 824F5D9
+ step_up
+
+BattleFrontier_BattlePalaceCorridor_Movement_24F5DA: @ 824F5DA
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattlePalaceCorridor_Text_24F5DD: @ 824F5DD
+ .string "People and POKéMON, they are but\n"
+ .string "the same…\p"
+ .string "Their individual nature makes them\n"
+ .string "good at certain things, and not good\l"
+ .string "at others.$"
+
+BattleFrontier_BattlePalaceCorridor_Text_24F65B: @ 824F65B
+ .string "Rather than trying to make a POKéMON\n"
+ .string "do what it dislikes, try to let it do\l"
+ .string "what it likes and is good at doing.\p"
+ .string "Put yourself in the POKéMON’s position\n"
+ .string "and consider what moves it would like.$"
+
+BattleFrontier_BattlePalaceCorridor_Text_24F718: @ 824F718
+ .string "A POKéMON’s nature is a remarkable\n"
+ .string "thing…\p"
+ .string "Some POKéMON behave in a completely\n"
+ .string "different way when they are cornered.$"
+
+BattleFrontier_BattlePalaceCorridor_Text_24F78C: @ 824F78C
+ .string "Are you beginning to understand how\n"
+ .string "a POKéMON’s nature makes it behave?$"
+
+BattleFrontier_BattlePalaceCorridor_Text_24F7D4: @ 824F7D4
+ .string "Ah… I see a strong, heartfelt bond\n"
+ .string "between you and your POKéMON…$"
+
diff --git a/data/scripts/maps/BattleFrontier_BattlePalaceLobby.inc b/data/scripts/maps/BattleFrontier_BattlePalaceLobby.inc
new file mode 100644
index 000000000..d62bc4412
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattlePalaceLobby.inc
@@ -0,0 +1,729 @@
+BattleFrontier_BattlePalaceLobby_MapScripts:: @ 824D77E
+ map_script 2, BattleFrontier_BattlePalaceLobby_MapScript2_24D79D
+ map_script 4, BattleFrontier_BattlePalaceLobby_MapScript2_24D789
+ .byte 0
+
+BattleFrontier_BattlePalaceLobby_MapScript2_24D789: @ 824D789
+ map_script_2 VAR_0x4001, 0, BattleFrontier_BattlePalaceLobby_EventScript_24D793
+ .2byte 0
+
+BattleFrontier_BattlePalaceLobby_EventScript_24D793:: @ 824D793
+ setvar VAR_0x4001, 1
+ turnobject 255, 2
+ end
+
+BattleFrontier_BattlePalaceLobby_MapScript2_24D79D: @ 824D79D
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePalaceLobby_EventScript_24D7C7
+ map_script_2 VAR_0x4000, 1, BattleFrontier_BattlePalaceLobby_EventScript_24D7D0
+ map_script_2 VAR_0x4000, 2, BattleFrontier_BattlePalaceLobby_EventScript_24D908
+ map_script_2 VAR_0x4000, 3, BattleFrontier_BattlePalaceLobby_EventScript_24D817
+ map_script_2 VAR_0x4000, 4, BattleFrontier_BattlePalaceLobby_EventScript_24D873
+ .2byte 0
+
+BattleFrontier_BattlePalaceLobby_EventScript_24D7C7:: @ 824D7C7
+ setvar VAR_0x8004, 0
+ special sub_81A1780
+ end
+
+BattleFrontier_BattlePalaceLobby_EventScript_24D7D0:: @ 824D7D0
+ lockall
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E636, 4
+ closemessage
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 0
+ special sub_8195960
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 0
+ special sub_8195960
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+BattleFrontier_BattlePalaceLobby_EventScript_24D817:: @ 824D817
+ lockall
+ setvar VAR_0x8004, 10
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24D838
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E497, 4
+ goto BattleFrontier_BattlePalaceLobby_EventScript_24D840
+
+BattleFrontier_BattlePalaceLobby_EventScript_24D838:: @ 824D838
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24EE81, 4
+
+BattleFrontier_BattlePalaceLobby_EventScript_24D840:: @ 824D840
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24EEB9, 4
+ setvar VAR_0x8004, 11
+ special sub_81A1780
+ msgbox BattleFrontier_BattlePalaceLobby_Text_241520, 9
+ message BattleFrontier_BattlePalaceLobby_Text_24E4F7
+ waitmessage
+ call BattleFrontier_BattlePalaceLobby_EventScript_24D8A1
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, 4
+ closemessage
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+BattleFrontier_BattlePalaceLobby_EventScript_24D873:: @ 824D873
+ lockall
+ message BattleFrontier_BattlePalaceLobby_Text_24E41E
+ waitmessage
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 0
+ special sub_8195960
+ call BattleFrontier_BattlePalaceLobby_EventScript_24D8A1
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, 4
+ closemessage
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+BattleFrontier_BattlePalaceLobby_EventScript_24D8A1:: @ 824D8A1
+ setvar VAR_0x8004, 8
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ special sp000_heal_pokemon
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 0
+ special sub_8195960
+ playse SE_SAVE
+ waitse
+ call BattleFrontier_BattlePalaceLobby_EventScript_23E8E0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24D907
+ message BattleFrontier_BattlePalaceLobby_Text_24EF16
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattlePalaceLobby_EventScript_24D907
+ case 0, BattleFrontier_BattlePalaceLobby_EventScript_24D902
+ case 127, BattleFrontier_BattlePalaceLobby_EventScript_24D907
+
+BattleFrontier_BattlePalaceLobby_EventScript_24D902:: @ 824D902
+ call BattleFrontier_BattlePalaceLobby_EventScript_23E8B4
+
+BattleFrontier_BattlePalaceLobby_EventScript_24D907:: @ 824D907
+ return
+
+BattleFrontier_BattlePalaceLobby_EventScript_24D908:: @ 824D908
+ lockall
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E5D8, 4
+ message BattleFrontier_BattlePalaceLobby_Text_24E5F6
+ waitmessage
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 1
+ special sub_8195960
+ playse SE_SAVE
+ waitse
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x4000, 255
+ goto BattleFrontier_BattlePalaceLobby_EventScript_24DAF3
+
+BattleFrontier_BattlePalaceLobby_EventScript_24D944:: @ 824D944
+ lock
+ faceplayer
+ setvar VAR_FRONTIER_FACILITY, 2
+ setvar VAR_0x40CE, 0
+ goto BattleFrontier_BattlePalaceLobby_EventScript_24D968
+ end
+
+BattleFrontier_BattlePalaceLobby_EventScript_24D956:: @ 824D956
+ lock
+ faceplayer
+ setvar VAR_FRONTIER_FACILITY, 2
+ setvar VAR_0x40CE, 1
+ goto BattleFrontier_BattlePalaceLobby_EventScript_24D968
+ end
+
+BattleFrontier_BattlePalaceLobby_EventScript_24D968:: @ 824D968
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 0
+ special sub_8195960
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattlePalaceLobby_EventScript_24D817
+ special copy_player_party_to_sav1
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DB9E
+ compare_var_to_value VAR_0x40CE, 1
+ call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DBA7
+
+BattleFrontier_BattlePalaceLobby_EventScript_24D999:: @ 824D999
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DBB0
+ compare_var_to_value VAR_0x40CE, 1
+ call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DBB6
+ waitmessage
+ multichoice 17, 6, 23, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePalaceLobby_EventScript_24D9E6
+ case 1, BattleFrontier_BattlePalaceLobby_EventScript_24DB20
+ case 2, BattleFrontier_BattlePalaceLobby_EventScript_24DB94
+ case 127, BattleFrontier_BattlePalaceLobby_EventScript_24DB94
+
+BattleFrontier_BattlePalaceLobby_EventScript_24D9E6:: @ 824D9E6
+ message BattleFrontier_BattlePalaceLobby_Text_24E119
+ waitmessage
+ multichoice 17, 6, 24, 0
+ switch VAR_RESULT
+ case 2, BattleFrontier_BattlePalaceLobby_EventScript_24DB94
+ case 127, BattleFrontier_BattlePalaceLobby_EventScript_24DB94
+ setvar VAR_0x8004, 15
+ special sub_81A1780
+ compare_var_to_value VAR_0x8004, 1
+ goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB45
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A1780
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E399, 4
+ fadescreen 1
+ call BattleFrontier_BattlePalaceLobby_EventScript_23F2B7
+ copyvar VAR_0x8004, VAR_RESULT
+ setvar VAR_0x8005, 3
+ special sub_80F9490
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB91
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E3C8, 5
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePalaceLobby_EventScript_24DB91
+ case 1, BattleFrontier_BattlePalaceLobby_EventScript_24DA87
+ case 127, BattleFrontier_BattlePalaceLobby_EventScript_24DB91
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DA87:: @ 824DA87
+ setvar VAR_0x4000, 0
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 4
+ special sub_81A1780
+ setvar VAR_0x8004, 0
+ special sub_8195960
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 1
+ special sub_8195960
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ closemessage
+ delay 2
+ call BattleFrontier_BattlePalaceLobby_EventScript_27134F
+ setvar VAR_0x4000, 255
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB7A
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DAF3:: @ 824DAF3
+ special copy_player_party_to_sav1
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 3
+ special sub_81A1780
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E408, 4
+ closemessage
+ call BattleFrontier_BattlePalaceLobby_EventScript_24DBBC
+ warp BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR, 255, 8, 13
+ setvar VAR_0x4000, 0
+ waitstate
+ end
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DB20:: @ 824DB20
+ compare_var_to_value VAR_0x40CE, 1
+ goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB38
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24DE17, 4
+ goto BattleFrontier_BattlePalaceLobby_EventScript_24D999
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DB38:: @ 824DB38
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24EBC2, 4
+ goto BattleFrontier_BattlePalaceLobby_EventScript_24D999
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DB45:: @ 824DB45
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePalaceLobby_EventScript_24DB60
+ case 1, BattleFrontier_BattlePalaceLobby_EventScript_24DB6D
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DB60:: @ 824DB60
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E173, 4
+ goto BattleFrontier_BattlePalaceLobby_EventScript_24DB9C
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DB6D:: @ 824DB6D
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E29E, 4
+ goto BattleFrontier_BattlePalaceLobby_EventScript_24DB9C
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DB7A:: @ 824DB7A
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ goto BattleFrontier_BattlePalaceLobby_EventScript_24DB94
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DB91:: @ 824DB91
+ special copy_player_party_from_sav1
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DB94:: @ 824DB94
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E0D8, 4
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DB9C:: @ 824DB9C
+ release
+ end
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DB9E:: @ 824DB9E
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24DD5B, 4
+ return
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DBA7:: @ 824DBA7
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24EB06, 4
+ return
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DBB0:: @ 824DBB0
+ message BattleFrontier_BattlePalaceLobby_Text_24DDE1
+ return
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DBB6:: @ 824DBB6
+ message BattleFrontier_BattlePalaceLobby_Text_24EB8C
+ return
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DBBC:: @ 824DBBC
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC23
+ compare_var_to_value VAR_0x40CE, 1
+ call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC29
+ applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_24DC47
+ applymovement 255, BattleFrontier_BattlePalaceLobby_Movement_24DC47
+ waitmovement 0
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC2F
+ compare_var_to_value VAR_0x40CE, 1
+ call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC35
+ waitdooranim
+ applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_24DC49
+ applymovement 255, BattleFrontier_BattlePalaceLobby_Movement_24DC4C
+ waitmovement 0
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC3B
+ compare_var_to_value VAR_0x40CE, 1
+ call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC41
+ waitdooranim
+ return
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DC23:: @ 824DC23
+ setvar VAR_LAST_TALKED, 1
+ return
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DC29:: @ 824DC29
+ setvar VAR_LAST_TALKED, 6
+ return
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DC2F:: @ 824DC2F
+ opendoor 5, 4
+ return
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DC35:: @ 824DC35
+ opendoor 19, 4
+ return
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DC3B:: @ 824DC3B
+ closedoor 5, 4
+ return
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DC41:: @ 824DC41
+ closedoor 19, 4
+ return
+
+BattleFrontier_BattlePalaceLobby_Movement_24DC47: @ 824DC47
+ step_up
+ step_end
+
+BattleFrontier_BattlePalaceLobby_Movement_24DC49: @ 824DC49
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattlePalaceLobby_Movement_24DC4C: @ 824DC4C
+ step_up
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DC50:: @ 824DC50
+ lockall
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ waitbuttonpress
+ special sub_813C5A0
+ releaseall
+ end
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DC69:: @ 824DC69
+ lockall
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ waitbuttonpress
+ special sub_813C5A0
+ releaseall
+ end
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DC82:: @ 824DC82
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E6E3, 2
+ end
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DC8B:: @ 824DC8B
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E851, 2
+ end
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DC94:: @ 824DC94
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24E992, 2
+ end
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DC9D:: @ 824DC9D
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24EA4B, 2
+ end
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DCA6:: @ 824DCA6
+ lockall
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24EF66, 4
+ goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5
+ end
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DCB5:: @ 824DCB5
+ message BattleFrontier_BattlePalaceLobby_Text_24EF88
+ waitmessage
+ multichoice 16, 0, 100, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePalaceLobby_EventScript_24DD13
+ case 1, BattleFrontier_BattlePalaceLobby_EventScript_24DD21
+ case 2, BattleFrontier_BattlePalaceLobby_EventScript_24DD2F
+ case 3, BattleFrontier_BattlePalaceLobby_EventScript_24DD3D
+ case 4, BattleFrontier_BattlePalaceLobby_EventScript_24DD4B
+ case 5, BattleFrontier_BattlePalaceLobby_EventScript_24DD59
+ case 127, BattleFrontier_BattlePalaceLobby_EventScript_24DD59
+ end
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DD13:: @ 824DD13
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24EFAB, 4
+ goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5
+ end
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DD21:: @ 824DD21
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24F049, 4
+ goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5
+ end
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DD2F:: @ 824DD2F
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24F190, 4
+ goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5
+ end
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DD3D:: @ 824DD3D
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24F2E8, 4
+ goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5
+ end
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DD4B:: @ 824DD4B
+ msgbox BattleFrontier_BattlePalaceLobby_Text_24F3F4, 4
+ goto BattleFrontier_BattlePalaceLobby_EventScript_24DCB5
+ end
+
+BattleFrontier_BattlePalaceLobby_EventScript_24DD59:: @ 824DD59
+ releaseall
+ end
+
+BattleFrontier_BattlePalaceLobby_Text_24DD5B: @ 824DD5B
+ .string "Where the hearts of TRAINERS\n"
+ .string "are put to the test.\p"
+ .string "I welcome you to the BATTLE PALACE.\p"
+ .string "I accept challenges to the SINGLE\n"
+ .string "BATTLE HALLS.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24DDE1: @ 824DDE1
+ .string "Do you wish to take\n"
+ .string "the SINGLE BATTLE HALL challenge?$"
+
+BattleFrontier_BattlePalaceLobby_Text_24DE17: @ 824DE17
+ .string "In the BATTLE PALACE, there are\n"
+ .string "several auditoriums for SINGLE BATTLES\l"
+ .string "that are named SINGLE BATTLE HALLS.\p"
+ .string "The SINGLE BATTLES are conducted in\n"
+ .string "the usual way, except with one crucial\l"
+ .string "rule that must be obeyed.\p"
+ .string "TRAINERS are permitted only to switch\n"
+ .string "their POKéMON in and out.\p"
+ .string "TRAINERS are otherwise forbidden to\n"
+ .string "command their POKéMON.\p"
+ .string "The POKéMON are to behave according\n"
+ .string "to their nature and battle on their own.\p"
+ .string "You must put your trust in your\n"
+ .string "POKéMON and watch over them.\p"
+ .string "If you achieve the honor of beating\n"
+ .string "seven TRAINERS in succession,\l"
+ .string "we will present you with Battle Points.\p"
+ .string "If you want to interrupt your\n"
+ .string "challenge, you must save the game.\p"
+ .string "If you don’t save before interrupting,\n"
+ .string "you will be disqualified.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24E0D8: @ 824E0D8
+ .string "When you have fortified your heart\n"
+ .string "and POKéMON, you must return.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24E119: @ 824E119
+ .string "There are two BATTLE HALLS,\n"
+ .string "Level 50 and Open Level.\l"
+ .string "Which is your choice of a challenge?$"
+
+BattleFrontier_BattlePalaceLobby_Text_24E173: @ 824E173
+ .string "Sigh…\p"
+ .string "You do not have the three POKéMON\n"
+ .string "required for the challenge.\p"
+ .string "To enter, you must provide three\n"
+ .string "different kinds of POKéMON.\p"
+ .string "These POKéMON must all be of\n"
+ .string "Level 50 or lower.\p"
+ .string "They also must not be holding\n"
+ .string "the same kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "Come back when you have made\n"
+ .string "your preparations.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24E29E: @ 824E29E
+ .string "Sigh…\p"
+ .string "You do not have the three POKéMON\n"
+ .string "required for the challenge.\p"
+ .string "To enter, you must provide three\n"
+ .string "different kinds of POKéMON.\p"
+ .string "They also must not be holding\n"
+ .string "the same kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "Come back when you have made\n"
+ .string "your preparations.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24E399: @ 824E399
+ .string "Good. Now, you must select your\n"
+ .string "three POKéMON.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24E3C8: @ 824E3C8
+ .string "I must save before I show you to\n"
+ .string "the BATTLE HALL. Is that okay?$"
+
+BattleFrontier_BattlePalaceLobby_Text_24E408: @ 824E408
+ .string "Good.\n"
+ .string "Now, follow me.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24E41E: @ 824E41E
+ .string "I feel privileged for having seen\n"
+ .string "your POKéMON’s exploits.\p"
+ .string "The results will be recorded.\n"
+ .string "I must ask you to briefly wait.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24E497: @ 824E497
+ .string "To achieve a 7-win streak…\p"
+ .string "The bonds that bind your heart with\n"
+ .string "your POKéMON seem firm and true.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24E4F7: @ 824E4F7
+ .string "Your feat will be recorded.\n"
+ .string "I must ask you to briefly wait.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24E533: @ 824E5333
+ .string "For the feat of your 7-win streak,\n"
+ .string "we present you with Battle Point(s).$"
+
+VerdanturfTown_BattleTentLobby_Text_24E57B: @ 824E57B
+ .string "You seem to have no space for\n"
+ .string "our prize.\p"
+ .string "You should return when you have\n"
+ .string "organized your BAG.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24E5D8: @ 824E5D8
+VerdanturfTown_BattleTentLobby_Text_24E5D8: @ 824E5D8
+ .string "We have been waiting for you…$"
+
+BattleFrontier_BattlePalaceLobby_Text_24E5F6: @ 824E5F6
+VerdanturfTown_BattleTentLobby_Text_24E5F6: @ 824E5F6
+ .string "I must save before I show you to\n"
+ .string "the BATTLE HALL. Is that okay?$"
+
+BattleFrontier_BattlePalaceLobby_Text_24E636: @ 824E636
+VerdanturfTown_BattleTentLobby_Text_24E636: @ 824E636
+ .string "Sigh…\p"
+ .string "You failed to save before you ended\n"
+ .string "your challenge the last time.\p"
+ .string "As a result, your challenge has been\n"
+ .string "disqualified. It is most unfortunate.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24E6C9: @ 824E6C9
+ .string "{PLAYER} received the prize\n"
+ .string "{STR_VAR_1}.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24E6E3: @ 824E6E3
+ .string "For a hardy fellow like me,\n"
+ .string "hardy POKéMON are the best.\p"
+ .string "Offense is the best defense!\n"
+ .string "A relentless attack is the ultimate!\p"
+ .string "But that’s not what I wanted to chat\n"
+ .string "about.\p"
+ .string "Every so often a really cute lady\n"
+ .string "swings by here.\p"
+ .string "She says that she can tell what\n"
+ .string "POKéMON are thinking.\p"
+ .string "I don’t know about that part,\n"
+ .string "but she is really cute.\p"
+ .string "Huh?\n"
+ .string "Why are you looking at me like that?$"
+
+BattleFrontier_BattlePalaceLobby_Text_24E851: @ 824E851
+ .string "Hmm…\p"
+ .string "It appears that the nature of POKéMON\n"
+ .string "and the moves that they have been\l"
+ .string "taught are the keys to battle here.\p"
+ .string "To be more precise, it’s how well\n"
+ .string "the moves match the nature of\l"
+ .string "the POKéMON.\p"
+ .string "If your POKéMON is in trouble and\n"
+ .string "unable to live up to its potential,\l"
+ .string "you may need to examine how well\l"
+ .string "its moves match its nature.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24E992: @ 824E992
+ .string "My POKéMON is usually very docile.\p"
+ .string "But when it’s in a BATTLE HALL,\n"
+ .string "it sometimes seems to become\l"
+ .string "transformed into something wicked!\p"
+ .string "It becomes totally intimidating.\n"
+ .string "It’s shocking, even.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24EA4B: @ 824EA4B
+ .string "I wonder what sort of nature a POKéMON\n"
+ .string "would have if it favored enfeebling its\l"
+ .string "opponents and chipping away slowly.\p"
+ .string "I’d be surprised if it was a LAX nature.\p"
+ .string "But, nah, that can’t be right.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24EB06: @ 824EB06
+ .string "Where the hearts of TRAINERS\n"
+ .string "are put to the test.\p"
+ .string "I welcome you to the BATTLE PALACE.\p"
+ .string "I accept challenges to the DOUBLE\n"
+ .string "BATTLE HALLS.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24EB8C: @ 824EB8C
+ .string "Do you wish to take\n"
+ .string "the DOUBLE BATTLE HALL challenge?$"
+
+BattleFrontier_BattlePalaceLobby_Text_24EBC2: @ 824EBC2
+ .string "In the BATTLE PALACE, there are\n"
+ .string "several auditoriums for DOUBLE BATTLES\l"
+ .string "that are named DOUBLE BATTLE HALLS.\p"
+ .string "The DOUBLE BATTLES are conducted in\n"
+ .string "the usual way, except with one crucial\l"
+ .string "rule that must be obeyed.\p"
+ .string "TRAINERS are permitted only to switch\n"
+ .string "their POKéMON in and out.\p"
+ .string "TRAINERS are otherwise forbidden to\n"
+ .string "command their POKéMON.\p"
+ .string "The POKéMON are to behave according\n"
+ .string "to their nature and battle on their own.\p"
+ .string "You must put your trust in your\n"
+ .string "POKéMON and watch over them.\p"
+ .string "If you achieve the honor of beating\n"
+ .string "seven TRAINERS in succession,\l"
+ .string "we will present you with Battle Points.\p"
+ .string "If you want to interrupt your\n"
+ .string "challenge, please save the game.\p"
+ .string "If you don’t save before interrupting,\n"
+ .string "you will be disqualified.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24EE81: @ 824EE81
+ .string "To defeat the PALACE MAVEN\n"
+ .string "and seven TRAINERS in a row…$"
+
+BattleFrontier_BattlePalaceLobby_Text_24EEB9: @ 824EEB9
+ .string "In honor of the bond you share with\n"
+ .string "your POKéMON, we present you with\l"
+ .string "these Battle Point(s).$"
+
+BattleFrontier_BattlePalaceLobby_Text_24EF16: @ 824EF16
+ .string "Would you like to record your latest\n"
+ .string "BATTLE PALACE match on your\l"
+ .string "FRONTIER PASS?$"
+
+BattleFrontier_BattlePalaceLobby_Text_24EF66: @ 824EF66
+ .string "The BATTLE HALL rules are listed.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24EF88: @ 824EF88
+VerdanturfTown_BattleTentLobby_Text_24EF88: @ 824EF88
+ .string "Which heading do you want to read?$"
+
+BattleFrontier_BattlePalaceLobby_Text_24EFAB: @ 824EFAB
+VerdanturfTown_BattleTentLobby_Text_24EFAB: @ 824EFAB
+ .string "Here, POKéMON are required to think\n"
+ .string "and battle by themselves.\p"
+ .string "Unlike in the wild, POKéMON that live\n"
+ .string "with people behave differently\l"
+ .string "depending on their nature.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24F049: @ 824F049
+VerdanturfTown_BattleTentLobby_Text_24F049: @ 824F049
+ .string "Depending on its nature, a POKéMON\n"
+ .string "may prefer to attack no matter what.\p"
+ .string "Another POKéMON may prefer to protect\n"
+ .string "itself from any harm.\p"
+ .string "Yet another may enjoy vexing or\n"
+ .string "confounding its foes.\p"
+ .string "Due to its nature, a POKéMON\n"
+ .string "will have favorite moves that it is good\l"
+ .string "at using.\p"
+ .string "It may also dislike certain moves that\n"
+ .string "it has trouble using.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24F190: @ 824F190
+VerdanturfTown_BattleTentLobby_Text_24F190: @ 824F190
+ .string "There are offensive moves that inflict\n"
+ .string "direct damage on the foe.\p"
+ .string "There are defensive moves that are\n"
+ .string "used to prepare for enemy attacks or\l"
+ .string "used to heal HP and so on.\p"
+ .string "There are also other somewhat-odd\n"
+ .string "moves that may enfeeble the foes with\l"
+ .string "stat problems including poison and \l"
+ .string "paralysis.\p"
+ .string "POKéMON will consider using moves in\n"
+ .string "these three categories.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24F2E8: @ 824F2E8
+VerdanturfTown_BattleTentLobby_Text_24F2E8: @ 824F2E8
+ .string "When not under command by its TRAINER,\n"
+ .string "a POKéMON may be unable to effectively\l"
+ .string "use certain moves.\p"
+ .string "A POKéMON is not good at using any\n"
+ .string "move that it dislikes.\p"
+ .string "If a POKéMON only knows moves that\n"
+ .string "do not match its nature, it will often\l"
+ .string "be unable to live up to its potential.$"
+
+BattleFrontier_BattlePalaceLobby_Text_24F3F4: @ 824F3F4
+VerdanturfTown_BattleTentLobby_Text_24F3F4: @ 824F3F4
+ .string "Depending on its nature, a POKéMON may\n"
+ .string "start using moves that don’t match its\l"
+ .string "nature when it is in trouble.\p"
+ .string "If a POKéMON begins behaving oddly\n"
+ .string "in a pinch, watch it carefully.$"
+
diff --git a/data/scripts/maps/BattleFrontier_BattlePikeCorridor.inc b/data/scripts/maps/BattleFrontier_BattlePikeCorridor.inc
new file mode 100644
index 000000000..06335dddf
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattlePikeCorridor.inc
@@ -0,0 +1,69 @@
+BattleFrontier_BattlePikeCorridor_MapScripts:: @ 825C771
+ map_script 2, BattleFrontier_BattlePikeCorridor_MapScript2_25C77C
+ map_script 4, BattleFrontier_BattlePikeCorridor_MapScript2_25C7F7
+ .byte 0
+
+BattleFrontier_BattlePikeCorridor_MapScript2_25C77C: @ 825C77C
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePikeCorridor_EventScript_25C786
+ .2byte 0
+
+BattleFrontier_BattlePikeCorridor_EventScript_25C786:: @ 825C786
+ delay 16
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ setvar VAR_0x8004, 20
+ special sub_81A703C
+ setvar VAR_0x8004, 24
+ setvar VAR_0x8005, 1
+ special sub_81A703C
+ applymovement 255, BattleFrontier_BattlePikeCorridor_Movement_25C80B
+ applymovement 1, BattleFrontier_BattlePikeCorridor_Movement_25C812
+ waitmovement 0
+ lockall
+ msgbox BattleFrontier_BattlePikeCorridor_Text_25C817, 4
+ closemessage
+ releaseall
+ applymovement 255, BattleFrontier_BattlePikeCorridor_Movement_25C80E
+ waitmovement 0
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 99
+ special sub_81A1780
+ call BattleFrontier_BattlePikeCorridor_EventScript_25BB49
+ warpsilent BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM, 255, 6, 10
+ waitstate
+ end
+
+BattleFrontier_BattlePikeCorridor_MapScript2_25C7F7: @ 825C7F7
+ map_script_2 VAR_0x4001, 0, BattleFrontier_BattlePikeCorridor_EventScript_25C801
+ .2byte 0
+
+BattleFrontier_BattlePikeCorridor_EventScript_25C801:: @ 825C801
+ setvar VAR_0x4001, 1
+ turnobject 255, 2
+ end
+
+BattleFrontier_BattlePikeCorridor_Movement_25C80B: @ 825C80B
+ step_up
+ step_up
+ step_end
+
+BattleFrontier_BattlePikeCorridor_Movement_25C80E: @ 825C80E
+ step_up
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattlePikeCorridor_Movement_25C812: @ 825C812
+ step_up
+ step_up
+ step_left
+ step_00
+ step_end
+
+BattleFrontier_BattlePikeCorridor_Text_25C817: @ 825C817
+ .string "Your Battle Choice challenge\n"
+ .string "has now begun…$"
+
diff --git a/data/scripts/maps/BattleFrontier_BattlePikeLobby.inc b/data/scripts/maps/BattleFrontier_BattlePikeLobby.inc
new file mode 100644
index 000000000..66226b9ce
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattlePikeLobby.inc
@@ -0,0 +1,497 @@
+BattleFrontier_BattlePikeLobby_MapScripts:: @ 825B6C6
+ map_script 2, BattleFrontier_BattlePikeLobby_MapScript2_25B6D1
+ map_script 4, BattleFrontier_BattlePikeLobby_MapScript2_25B6F3
+ .byte 0
+
+BattleFrontier_BattlePikeLobby_MapScript2_25B6D1: @ 825B6D1
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePikeLobby_EventScript_25B707
+ map_script_2 VAR_0x4000, 1, BattleFrontier_BattlePikeLobby_EventScript_25B710
+ map_script_2 VAR_0x4000, 3, BattleFrontier_BattlePikeLobby_EventScript_25B762
+ map_script_2 VAR_0x4000, 4, BattleFrontier_BattlePikeLobby_EventScript_25B806
+ .2byte 0
+
+BattleFrontier_BattlePikeLobby_MapScript2_25B6F3: @ 825B6F3
+ map_script_2 VAR_0x4001, 0, BattleFrontier_BattlePikeLobby_EventScript_25B6FD
+ .2byte 0
+
+BattleFrontier_BattlePikeLobby_EventScript_25B6FD:: @ 825B6FD
+ setvar VAR_0x4001, 1
+ turnobject 255, 2
+ end
+
+BattleFrontier_BattlePikeLobby_EventScript_25B707:: @ 825B707
+ setvar VAR_0x8004, 0
+ special sub_81A1780
+ end
+
+BattleFrontier_BattlePikeLobby_EventScript_25B710:: @ 825B710
+ special sp000_heal_pokemon
+ setvar VAR_0x8004, 27
+ special sub_81A703C
+ lockall
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C2E0, 4
+ closemessage
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 0
+ special sub_81A703C
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 4
+ setvar VAR_0x8006, 0
+ special sub_81A703C
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+BattleFrontier_BattlePikeLobby_EventScript_25B762:: @ 825B762
+ lockall
+ setvar VAR_0x8004, 10
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattlePikeLobby_EventScript_25B784
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C18A, 4
+ waitmessage
+ goto BattleFrontier_BattlePikeLobby_EventScript_25B78D
+
+BattleFrontier_BattlePikeLobby_EventScript_25B784:: @ 825B784
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C383, 4
+ waitmessage
+
+BattleFrontier_BattlePikeLobby_EventScript_25B78D:: @ 825B78D
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C3D9, 4
+ setvar VAR_0x8004, 11
+ special sub_81A1780
+ msgbox BattleFrontier_BattlePikeLobby_Text_241520, 9
+ setvar VAR_0x8004, 8
+ special sub_81A1780
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 3
+ special sub_81A703C
+ addvar VAR_RESULT, 1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A703C
+ special copy_player_party_from_sav1
+ special sp000_heal_pokemon
+ setvar VAR_0x8004, 27
+ special sub_81A703C
+ message BattleFrontier_BattlePikeLobby_Text_25C1DF
+ waitmessage
+ setvar VAR_0x8004, 8
+ setvar VAR_0x8005, 0
+ special sub_81A703C
+ playse SE_SAVE
+ waitse
+ msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, 4
+ closemessage
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+BattleFrontier_BattlePikeLobby_EventScript_25B806:: @ 825B806
+ lockall
+ message BattleFrontier_BattlePikeLobby_Text_25C146
+ waitmessage
+ setvar VAR_0x8004, 8
+ special sub_81A1780
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 4
+ setvar VAR_0x8006, 0
+ special sub_81A703C
+ special copy_player_party_from_sav1
+ special sp000_heal_pokemon
+ setvar VAR_0x8004, 27
+ special sub_81A703C
+ setvar VAR_0x8004, 8
+ setvar VAR_0x8005, 0
+ special sub_81A703C
+ playse SE_SAVE
+ waitse
+ msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, 4
+ closemessage
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+BattleFrontier_BattlePikeLobby_EventScript_25B868:: @ 825B868
+ lock
+ faceplayer
+ setvar VAR_FRONTIER_FACILITY, 5
+ setvar VAR_0x40CE, 0
+ special copy_player_party_to_sav1
+ msgbox BattleFrontier_BattlePikeLobby_Text_25BB52, 4
+
+BattleFrontier_BattlePikeLobby_EventScript_25B87F:: @ 825B87F
+ message BattleFrontier_BattlePikeLobby_Text_25BBC1
+ waitmessage
+ multichoice 17, 6, 23, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePikeLobby_EventScript_25B8BB
+ case 1, BattleFrontier_BattlePikeLobby_EventScript_25BA1A
+ case 2, BattleFrontier_BattlePikeLobby_EventScript_25BA76
+ case 127, BattleFrontier_BattlePikeLobby_EventScript_25BA76
+
+BattleFrontier_BattlePikeLobby_EventScript_25B8BB:: @ 825B8BB
+ message BattleFrontier_BattlePikeLobby_Text_25BE35
+ waitmessage
+ multichoice 17, 6, 24, 0
+ switch VAR_RESULT
+ case 2, BattleFrontier_BattlePikeLobby_EventScript_25BA76
+ case 127, BattleFrontier_BattlePikeLobby_EventScript_25BA76
+ setvar VAR_0x8004, 15
+ special sub_81A1780
+ compare_var_to_value VAR_0x8004, 1
+ goto_eq BattleFrontier_BattlePikeLobby_EventScript_25BA27
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A1780
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C094, 4
+ fadescreen 1
+ call BattleFrontier_BattlePikeLobby_EventScript_23F2B7
+ copyvar VAR_0x8004, VAR_RESULT
+ setvar VAR_0x8005, 3
+ special sub_80F9490
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePikeLobby_EventScript_25BA73
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C0D8, 5
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePikeLobby_EventScript_25BA73
+ case 1, BattleFrontier_BattlePikeLobby_EventScript_25B95C
+ case 127, BattleFrontier_BattlePikeLobby_EventScript_25BA73
+
+BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C
+ setvar VAR_0x4000, 0
+ setvar VAR_0x4001, 0
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 4
+ special sub_81A1780
+ setvar VAR_0x8004, 28
+ special sub_81A703C
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 4
+ setvar VAR_0x8006, 1
+ special sub_81A703C
+ setvar VAR_0x8004, 26
+ special sub_81A703C
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ closemessage
+ delay 2
+ call BattleFrontier_BattlePikeLobby_EventScript_27134F
+ setvar VAR_0x4000, 255
+ setvar VAR_0x8004, 26
+ special sub_81A703C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePikeLobby_EventScript_25BA5C
+ special copy_player_party_to_sav1
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 3
+ special sub_81A1780
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C130, 4
+ closemessage
+ setvar VAR_0x8004, 5
+ special sub_81A1780
+ call BattleFrontier_BattlePikeLobby_EventScript_25BA94
+ special sp000_heal_pokemon
+ call BattleFrontier_BattlePikeLobby_EventScript_25BB49
+ warpsilent BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR, 255, 6, 7
+ setvar VAR_0x4000, 0
+ waitstate
+ end
+
+BattleFrontier_BattlePikeLobby_EventScript_25BA1A:: @ 825BA1A
+ msgbox BattleFrontier_BattlePikeLobby_Text_25BBF5, 4
+ goto BattleFrontier_BattlePikeLobby_EventScript_25B87F
+
+BattleFrontier_BattlePikeLobby_EventScript_25BA27:: @ 825BA27
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePikeLobby_EventScript_25BA42
+ case 1, BattleFrontier_BattlePikeLobby_EventScript_25BA4F
+
+BattleFrontier_BattlePikeLobby_EventScript_25BA42:: @ 825BA42
+ msgbox BattleFrontier_BattlePikeLobby_Text_25BE8C, 4
+ goto BattleFrontier_BattlePikeLobby_EventScript_25BA7E
+
+BattleFrontier_BattlePikeLobby_EventScript_25BA4F:: @ 825BA4F
+ msgbox BattleFrontier_BattlePikeLobby_Text_25BF9A, 4
+ goto BattleFrontier_BattlePikeLobby_EventScript_25BA7E
+
+BattleFrontier_BattlePikeLobby_EventScript_25BA5C:: @ 825BA5C
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ goto BattleFrontier_BattlePikeLobby_EventScript_25BA76
+
+BattleFrontier_BattlePikeLobby_EventScript_25BA73:: @ 825BA73
+ special copy_player_party_from_sav1
+
+BattleFrontier_BattlePikeLobby_EventScript_25BA76:: @ 825BA76
+ msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, 4
+
+BattleFrontier_BattlePikeLobby_EventScript_25BA7E:: @ 825BA7E
+ release
+ end
+
+BattleFrontier_BattlePikeLobby_EventScript_25BA80:: @ 825BA80
+ lockall
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 5
+ special sub_81A1780
+ waitbuttonpress
+ special sub_813C5A0
+ releaseall
+ end
+
+BattleFrontier_BattlePikeLobby_EventScript_25BA94:: @ 825BA94
+ applymovement 1, BattleFrontier_BattlePikeLobby_Movement_25BAA7
+ applymovement 255, BattleFrontier_BattlePikeLobby_Movement_25BAA6
+ waitmovement 0
+ return
+
+BattleFrontier_BattlePikeLobby_Movement_25BAA6: @ 825BAA6
+ step_up
+
+BattleFrontier_BattlePikeLobby_Movement_25BAA7: @ 825BAA7
+ step_up
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattlePikeLobby_EventScript_25BAAB:: @ 825BAAB
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C422, 2
+ end
+
+BattleFrontier_BattlePikeLobby_EventScript_25BAB4:: @ 825BAB4
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C4A5, 2
+ end
+
+BattleFrontier_BattlePikeLobby_EventScript_25BABD:: @ 825BABD
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C4FD, 2
+ end
+
+BattleFrontier_BattlePikeLobby_EventScript_25BAC6:: @ 825BAC6
+ lockall
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C5FB, 4
+ goto BattleFrontier_BattlePikeLobby_EventScript_25BAD5
+ end
+
+BattleFrontier_BattlePikeLobby_EventScript_25BAD5:: @ 825BAD5
+ message BattleFrontier_BattlePikeLobby_Text_25C621
+ waitmessage
+ multichoice 16, 4, 102, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePikeLobby_EventScript_25BB1D
+ case 1, BattleFrontier_BattlePikeLobby_EventScript_25BB2B
+ case 2, BattleFrontier_BattlePikeLobby_EventScript_25BB39
+ case 3, BattleFrontier_BattlePikeLobby_EventScript_25BB47
+ case 127, BattleFrontier_BattlePikeLobby_EventScript_25BB47
+ end
+
+BattleFrontier_BattlePikeLobby_EventScript_25BB1D:: @ 825BB1D
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C644, 4
+ goto BattleFrontier_BattlePikeLobby_EventScript_25BAD5
+ end
+
+BattleFrontier_BattlePikeLobby_EventScript_25BB2B:: @ 825BB2B
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C68A, 4
+ goto BattleFrontier_BattlePikeLobby_EventScript_25BAD5
+ end
+
+BattleFrontier_BattlePikeLobby_EventScript_25BB39:: @ 825BB39
+ msgbox BattleFrontier_BattlePikeLobby_Text_25C6EB, 4
+ goto BattleFrontier_BattlePikeLobby_EventScript_25BAD5
+ end
+
+BattleFrontier_BattlePikeLobby_EventScript_25BB47:: @ 825BB47
+ releaseall
+ end
+
+BattleFrontier_BattlePikeCorridor_EventScript_25BB49:: @ 825BB49
+BattleFrontier_BattlePikeLobby_EventScript_25BB49:: @ 825BB49
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25BB49:: @ 825BB49
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25BB49:: @ 825BB49
+ playse 267
+ special sub_813B880
+ waitstate
+ waitse
+ return
+
+BattleFrontier_BattlePikeLobby_Text_25BB52: @ 825BB52
+ .string "Where the luck of TRAINERS\n"
+ .string "is put to the test…\p"
+ .string "Welcome to the BATTLE PIKE…\p"
+ .string "I am your guide to the BATTLE PIKE…$"
+
+BattleFrontier_BattlePikeLobby_Text_25BBC1: @ 825BBC1
+ .string "Would you like to take the Battle\n"
+ .string "Choice challenge?$"
+
+BattleFrontier_BattlePikeLobby_Text_25BBF5: @ 825BBF5
+ .string "Here we conduct an event we call\n"
+ .string "the Battle Choice.\p"
+ .string "The Battle Choice rules are very\n"
+ .string "simple…\p"
+ .string "Choose one of three paths and make\n"
+ .string "your way to the goal room at the end\l"
+ .string "of the BATTLE PIKE. It’s that simple.\p"
+ .string "However, what happens on the chosen\n"
+ .string "path depends entirely on the luck\l"
+ .string "of the challenger…\p"
+ .string "If you reach the goal, you will be\n"
+ .string "rewarded with Battle Points.\p"
+ .string "If you want to interrupt your\n"
+ .string "challenge, please have a word with\l"
+ .string "our staff in the big rooms on the way.\p"
+ .string "If you don’t save before interrupting,\n"
+ .string "you will be disqualified.$"
+
+BattleFrontier_BattlePikeLobby_Text_25BE02: @ 825BE02
+ .string "We look forward to seeing you\n"
+ .string "on another occasion…$"
+
+BattleFrontier_BattlePikeLobby_Text_25BE35: @ 825BE35
+ .string "You have the choice of two courses,\n"
+ .string "Level 50 and Open Level.\l"
+ .string "Which will you challenge?$"
+
+BattleFrontier_BattlePikeLobby_Text_25BE8C: @ 825BE8C
+ .string "I beg your pardon, but…\p"
+ .string "You do not have three eligible\n"
+ .string "POKéMON for the Battle Choice event.\p"
+ .string "You must have three different POKéMON\n"
+ .string "of Level 50 or less to enter.\p"
+ .string "They also must be holding different\n"
+ .string "kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "Please come see me when\n"
+ .string "you are ready…$"
+
+BattleFrontier_BattlePikeLobby_Text_25BF9A: @ 825BF9A
+ .string "I beg your pardon, but…\p"
+ .string "You do not have three eligible\n"
+ .string "POKéMON for the Battle Choice event.\p"
+ .string "You must have three different\n"
+ .string "POKéMON to enter.\p"
+ .string "They also must be holding different\n"
+ .string "kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "Please come see me when\n"
+ .string "you are ready…$"
+
+BattleFrontier_BattlePikeLobby_Text_25C094: @ 825C094
+ .string "Please choose the three POKéMON\n"
+ .string "you wish to enter in the challenge…$"
+
+BattleFrontier_BattlePikeLobby_Text_25C0D8: @ 825C0D8
+ .string "Before starting your Battle Choice\n"
+ .string "challenge, I must save the game.\l"
+ .string "Is that acceptable?$"
+
+BattleFrontier_BattlePikeLobby_Text_25C130: @ 825C130
+ .string "Please step this way…$"
+
+BattleFrontier_BattlePikeLobby_Text_25C146: @ 825C146
+ .string "Your challenge has ended…\p"
+ .string "I shall record your results.\n"
+ .string "Please wait…$"
+
+BattleFrontier_BattlePikeLobby_Text_25C18A: @ 825C18A
+ .string "You have completed the challenge…\p"
+ .string "I must say… You seem to possess luck\n"
+ .string "in abundance…$"
+
+BattleFrontier_BattlePikeLobby_Text_25C1DF: @ 825C1DF
+ .string "I shall record your results.\n"
+ .string "Please wait…$"
+
+BattleFrontier_BattlePikeLobby_Text_25C209: @ 825C209
+ .string "To commemorate your completion of\n"
+ .string "the Battle Choice challenge, we award\l"
+ .string "you these Battle Point(s)…$"
+
+BattleFrontier_BattlePikeLobby_Text_25C26C: @ 825C26C
+ .string "You appear to have reached the limit\n"
+ .string "for Battle Points…\pPlease exchange some Battle Points\n"
+ .string "for prizes, then return…$"
+
+BattleFrontier_BattlePikeLobby_Text_25C2E0: @ 825C2E0
+ .string "I beg your pardon, but…\p"
+ .string "You failed to save before you quit\n"
+ .string "your challenge the last time.\p"
+ .string "Because of that, your challenge so far\n"
+ .string "has been disqualified. I am sorry…$"
+
+BattleFrontier_BattlePikeLobby_Text_25C383: @ 825C383
+ .string "Congratulations…\p"
+ .string "You have snatched victory from the\n"
+ .string "PIKE QUEEN and cleared the event…$"
+
+BattleFrontier_BattlePikeLobby_Text_25C3D9: @ 825C3D9
+ .string "In recognition of your amazing luck,\n"
+ .string "we award you these Battle Point(s)…$"
+
+BattleFrontier_BattlePikeLobby_Text_25C422: @ 825C422
+ .string "Arrgh! I blew my chance!\n"
+ .string "I was one room away from the goal!\p"
+ .string "In this place, you’d better watch out\n"
+ .string "for poison, freezing, and so on.$"
+
+BattleFrontier_BattlePikeLobby_Text_25C4A5: @ 825C4A5
+ .string "I’ve completed the challenge 10 times\n"
+ .string "now, but I’ve never had to battle\l"
+ .string "a TRAINER once.$"
+
+BattleFrontier_BattlePikeLobby_Text_25C4FD: @ 825C4FD
+ .string "Listen! Listen!\p"
+ .string "Don’t you think that the special\n"
+ .string "abilities of POKéMON will be useful\l"
+ .string "here?$"
+
+BattleFrontier_BattlePikeLobby_Text_25C558: @ 825C558
+ .string "What is this weird place?\n"
+ .string "I can’t figure it out at all!\p"
+ .string "I’ve taken the challenge a bunch\n"
+ .string "of times, but all I ever do is run into\l"
+ .string "TRAINERS whichever path I choose.$"
+
+BattleFrontier_BattlePikeLobby_Text_25C5FB: @ 825C5FB
+ .string "The Battle Choice’s rules are listed.$"
+
+BattleFrontier_BattlePikeLobby_Text_25C621: @ 825C621
+ .string "Which heading do you want to read?$"
+
+BattleFrontier_BattlePikeLobby_Text_25C644: @ 825C644
+ .string "The BAG and POKéNAV may not be used\n"
+ .string "during a Battle Choice challenge.$"
+
+BattleFrontier_BattlePikeLobby_Text_25C68A: @ 825C68A
+ .string "During a Battle Choice challenge,\n"
+ .string "any BERRY or HERB held by POKéMON\l"
+ .string "will be effective only once.$"
+
+BattleFrontier_BattlePikeLobby_Text_25C6EB: @ 825C6EB
+ .string "During a Battle Choice challenge,\n"
+ .string "the sequence of POKéMON cannot be\l"
+ .string "changed.\p"
+ .string "The sequence must be set before\n"
+ .string "starting your challenge.$"
+
diff --git a/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom1.inc b/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom1.inc
new file mode 100644
index 000000000..69dc87eaa
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom1.inc
@@ -0,0 +1,895 @@
+BattleFrontier_BattlePikeRandomRoom1_MapScripts:: @ 825D152
+ map_script 5, BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C423E
+ map_script 3, BattleFrontier_BattlePikeRandomRoom1_MapScript1_2C3E25
+ map_script 2, BattleFrontier_BattlePikeRandomRoom1_MapScript2_25D167
+ map_script 4, BattleFrontier_BattlePikeRandomRoom1_MapScript2_2C3EDE
+ .byte 0
+
+BattleFrontier_BattlePikeRandomRoom1_MapScript2_25D167: @ 825D167
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D171
+ .2byte 0
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D171:: @ 825D171
+ setvar VAR_0x4000, 1
+ setvar VAR_0x8004, 5
+ special sub_81A703C
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D1C6
+ case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D50E
+ case 3, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D605
+ case 6, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D231
+ case 7, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D53E
+ case 8, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2BF
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D1C6:: @ 825D1C6
+ lockall
+ delay 16
+ applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D795
+ waitmovement 0
+ setvar VAR_0x8004, 21
+ setvar VAR_0x8005, 0
+ special sub_81A703C
+ msgbox 0x2021fc4, 4
+ waitmessage
+ closemessage
+ releaseall
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 0
+ special sub_8163AC4
+ waitstate
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D226
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D20A:: @ 825D20A
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 4
+ special sub_81A1780
+ warp BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
+ waitstate
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D226:: @ 825D226
+ applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D798
+ waitmovement 0
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D231:: @ 825D231
+ lockall
+ delay 16
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DDFE, 4
+ waitmessage
+ closemessage
+ applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D795
+ waitmovement 0
+ setvar VAR_0x8004, 21
+ setvar VAR_0x8005, 0
+ special sub_81A703C
+ msgbox 0x2021fc4, 4
+ waitmessage
+ closemessage
+ releaseall
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 0
+ special sub_8163AC4
+ waitstate
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D285
+ goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D20A
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D285:: @ 825D285
+ applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D798
+ waitmovement 0
+ applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B6
+ waitmovement 0
+ lock
+ faceplayer
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DE3F, 4
+ playfanfare BGM_ME_ASA
+ waitfanfare
+ special sp000_heal_pokemon
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DE94, 4
+ closemessage
+ release
+ applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D798
+ waitmovement 0
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2BF:: @ 825D2BF
+ delay 22
+ lockall
+ applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DF
+ waitmovement 0
+ setvar VAR_0x8004, 23
+ special sub_81A703C
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4DC
+ case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4EA
+ case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4FC
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB:: @ 825D2FB
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E311, 4
+ closemessage
+ special SpawnScriptFieldObject
+ applymovement 127, BattleFrontier_BattlePikeRandomRoom1_Movement_25D9B0
+ applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7E2
+ waitmovement 0
+ playse 267
+ call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D8E7
+ delay 4
+ call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D8A4
+ delay 4
+ call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D96D
+ delay 4
+ waitse
+ delay 60
+ playse 268
+ delay 65
+ call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D8A4
+ showobjectat 1, BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_1
+ delay 4
+ call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D8E7
+ delay 4
+ call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D92A
+ waitse
+ applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7E7
+ waitmovement 0
+ setvar VAR_0x8004, 22
+ special sub_81A703C
+ switch VAR_RESULT
+ case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D416
+ case 3, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD
+ case 4, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D443
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DED2, 4
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD:: @ 825D3BD
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DF71, 4
+ call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D77B
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3DA
+ goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D20A
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3DA:: @ 825D3DA
+ setvar VAR_0x8004, 12
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DFA2, 4
+ waitmessage
+ playfanfare BGM_ME_BATTLE_SYMBOL
+ message BattleFrontier_BattlePikeRandomRoom1_Text_25DFD0
+ waitmessage
+ waitfanfare
+ setvar VAR_0x8004, 13
+ special sub_81A1780
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E003, 4
+ closemessage
+ goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D416:: @ 825D416
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D443
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E02C, 4
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D443:: @ 825D443
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E0E8, 4
+ call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D77B
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D460
+ goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D20A
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D460:: @ 825D460
+ setvar VAR_0x8004, 12
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E0F6, 4
+ waitmessage
+ playfanfare BGM_ME_BATTLE_SYMBOL
+ message BattleFrontier_BattlePikeRandomRoom1_Text_25E118
+ waitmessage
+ waitfanfare
+ setvar VAR_0x8004, 13
+ special sub_81A1780
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E140, 4
+ closemessage
+ goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D:: @ 825D49D
+ applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7EA
+ waitmovement 0
+ applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC
+ waitmovement 0
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ special sub_81A703C
+ addvar VAR_RESULT, 1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A703C
+ call BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144
+ waitstate
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4DC:: @ 825D4DC
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E15D, 4
+ goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4EA:: @ 825D4EA
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E1DD, 4
+ playfanfare BGM_ME_ASA
+ waitfanfare
+ goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D4FC:: @ 825D4FC
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E238, 4
+ playfanfare BGM_ME_ASA
+ waitfanfare
+ goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D50E:: @ 825D50E
+ lockall
+ delay 16
+ applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D795
+ waitmovement 0
+ message BattleFrontier_BattlePikeRandomRoom1_Text_25D9B6
+ waitmessage
+ playfanfare BGM_ME_ASA
+ waitfanfare
+ special sp000_heal_pokemon
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DA13, 4
+ closemessage
+ applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D798
+ waitmovement 0
+ releaseall
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D53E:: @ 825D53E
+ lockall
+ delay 16
+ applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C1
+ applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C3
+ waitmovement 0
+ applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C5
+ applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C5
+ waitmovement 0
+ applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C8
+ applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7CA
+ waitmovement 0
+ applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BB
+ waitmovement 0
+ setvar VAR_0x8004, 21
+ setvar VAR_0x8005, 0
+ special sub_81A703C
+ msgbox 0x2021fc4, 4
+ closemessage
+ delay 16
+ applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD
+ waitmovement 0
+ setvar VAR_0x8004, 21
+ setvar VAR_0x8005, 1
+ special sub_81A703C
+ msgbox 0x2021fc4, 4
+ closemessage
+ setvar VAR_0x8004, 9
+ setvar VAR_0x8005, 0
+ special sub_8163AC4
+ waitstate
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D5DC
+ goto BattleFrontier_BattlePikeRandomRoom1_EventScript_25D20A
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D5DC:: @ 825D5DC
+ applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD
+ waitmovement 0
+ applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7CC
+ waitmovement 0
+ applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7D4
+ waitmovement 0
+ applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BF
+ waitmovement 0
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D605:: @ 825D605
+ lockall
+ message BattleFrontier_BattlePikeRandomRoom1_Text_25DBD1
+ applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7AA
+ waitmovement 0
+ setvar VAR_0x8004, 12
+ special sub_81A703C
+ copyvar VAR_0x8004, VAR_RESULT
+ compare_var_to_value VAR_0x8004, 0
+ call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643
+ compare_var_to_value VAR_0x8004, 1
+ call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D6D5
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DD3F, 4
+ closemessage
+ releaseall
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643:: @ 825D643
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DBE4, 4
+ closemessage
+ waitse
+ playmoncry SPECIES_KIRLIA, 0
+ waitmoncry
+ setvar VAR_0x8004, 11
+ special sub_81A703C
+ compare_var_to_value VAR_RESULT, 2
+ call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D751
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D758
+ compare_var_to_value VAR_RESULT, 3
+ call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D75F
+ compare_var_to_value VAR_RESULT, 4
+ call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D766
+ setvar VAR_0x8004, 15
+ special sub_81A703C
+ waitstate
+ applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A2
+ waitmovement 0
+ applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B1
+ waitmovement 0
+ waitse
+ playmoncry SPECIES_KIRLIA, 0
+ waitmoncry
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DCAF, 4
+ waitse
+ playmoncry SPECIES_KIRLIA, 0
+ waitmoncry
+ closemessage
+ applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B3
+ applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A4
+ waitmovement 0
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DCCF, 4
+ return
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D6D5:: @ 825D6D5
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DC01, 4
+ closemessage
+ waitse
+ playmoncry SPECIES_DUSCLOPS, 0
+ waitmoncry
+ setvar VAR_0x8004, 11
+ special sub_81A703C
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D76D
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D774
+ setvar VAR_0x8004, 15
+ special sub_81A703C
+ waitstate
+ applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A2
+ waitmovement 0
+ applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B1
+ waitmovement 0
+ waitse
+ playmoncry SPECIES_DUSCLOPS, 0
+ waitmoncry
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DCAF, 4
+ waitse
+ playmoncry SPECIES_DUSCLOPS, 0
+ waitmoncry
+ closemessage
+ applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B3
+ applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A4
+ waitmovement 0
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DD06, 4
+ return
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D751:: @ 825D751
+ message BattleFrontier_BattlePikeRandomRoom1_Text_25DC20
+ waitmessage
+ return
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D758:: @ 825D758
+ message BattleFrontier_BattlePikeRandomRoom1_Text_25DC63
+ waitmessage
+ return
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D75F:: @ 825D75F
+ message BattleFrontier_BattlePikeRandomRoom1_Text_25DC49
+ waitmessage
+ return
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D766:: @ 825D766
+ message BattleFrontier_BattlePikeRandomRoom1_Text_25DC33
+ waitmessage
+ return
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D76D:: @ 825D76D
+ message BattleFrontier_BattlePikeRandomRoom1_Text_25DC97
+ waitmessage
+ return
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D774:: @ 825D774
+ message BattleFrontier_BattlePikeRandomRoom1_Text_25DC7C
+ waitmessage
+ return
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D77B:: @ 825D77B
+ closemessage
+ applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC
+ waitmovement 0
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 0
+ special sub_8163AC4
+ waitstate
+ return
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D795: @ 825D795
+ step_down
+ step_down
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D798: @ 825D798
+ step_up
+ step_up
+ step_up
+ step_54
+ step_up
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D79E: @ 825D79E
+ step_up
+ step_54
+ step_up
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A2: @ 825D7A2
+ step_down
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D7A4: @ 825D7A4
+ step_down
+ step_02
+ step_14
+ step_14
+ step_00
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D7AA: @ 825D7AA
+ step_15
+ step_18
+ step_18
+ step_15
+ step_17
+ step_00
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B1: @ 825D7B1
+ step_01
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B3: @ 825D7B3
+ step_left
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B4: @ 825D7B4
+ step_03
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B6: @ 825D7B6
+ step_down
+ step_down
+ step_right
+ step_00
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BB: @ 825D7BB
+ step_02
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD: @ 825D7BD
+ step_03
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BF: @ 825D7BF
+ step_01
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C1: @ 825D7C1
+ step_right
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C3: @ 825D7C3
+ step_left
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C5: @ 825D7C5
+ step_down
+ step_down
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C8: @ 825D7C8
+ step_03
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D7CA: @ 825D7CA
+ step_02
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D7CC: @ 825D7CC
+ step_up
+ step_up
+ step_up
+ step_right
+ step_up
+ step_54
+ step_up
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D7D4: @ 825D7D4
+ step_up
+ step_up
+ step_up
+ step_left
+ step_up
+ step_54
+ step_up
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC: @ 825D7DC
+ step_up
+ step_up
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DF: @ 825D7DF
+ step_down
+ step_down
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D7E2: @ 825D7E2
+ step_up
+ step_up
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D7E7: @ 825D7E7
+ step_55
+ step_down
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D7EA: @ 825D7EA
+ step_left
+ step_03
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D7ED:: @ 825D7ED
+ setvar VAR_0x8004, 5
+ special sub_81A703C
+ switch VAR_RESULT
+ case 2, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D81B
+ case 3, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D831
+ case 4, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D83E
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D81B:: @ 825D81B
+ lock
+ faceplayer
+ setvar VAR_0x8004, 14
+ special sub_81A703C
+ msgbox 0x2021fc4, 4
+ waitmessage
+ closemessage
+ release
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D831:: @ 825D831
+ lock
+ faceplayer
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DDA3, 4
+ closemessage
+ release
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D83E:: @ 825D83E
+ setvar VAR_0x8004, 13
+ special sub_81A703C
+ compare_var_to_value VAR_RESULT, 2
+ call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D881
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D875
+ playfanfare BGM_ME_ASA
+ waitfanfare
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DABE, 4
+ closemessage
+ release
+ applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D79E
+ waitmovement 0
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D875:: @ 825D875
+ lock
+ faceplayer
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DA51, 4
+ closemessage
+ return
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D881:: @ 825D881
+ lock
+ faceplayer
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E32E, 4
+ closemessage
+ return
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D88D:: @ 825D88D
+ lock
+ faceplayer
+ msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DDE6, 4
+ closemessage
+ release
+ applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7B4
+ waitmovement 0
+ end
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D8A4:: @ 825D8A4
+ setmetatile 4, 1, 554, 1
+ setmetatile 3, 2, 561, 1
+ setmetatile 4, 2, 562, 1
+ setmetatile 5, 2, 563, 1
+ setmetatile 3, 3, 569, 1
+ setmetatile 4, 3, 570, 0
+ setmetatile 5, 3, 571, 1
+ special DrawWholeMapView
+ return
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D8E7:: @ 825D8E7
+ setmetatile 4, 1, 522, 1
+ setmetatile 3, 2, 529, 1
+ setmetatile 4, 2, 530, 1
+ setmetatile 5, 2, 531, 1
+ setmetatile 3, 3, 537, 1
+ setmetatile 4, 3, 538, 0
+ setmetatile 5, 3, 539, 1
+ special DrawWholeMapView
+ return
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D92A:: @ 825D92A
+ setmetatile 4, 1, 683, 1
+ setmetatile 3, 2, 690, 1
+ setmetatile 4, 2, 691, 1
+ setmetatile 5, 2, 692, 1
+ setmetatile 3, 3, 698, 1
+ setmetatile 4, 3, 699, 0
+ setmetatile 5, 3, 700, 1
+ special DrawWholeMapView
+ return
+
+BattleFrontier_BattlePikeRandomRoom1_EventScript_25D96D:: @ 825D96D
+ setmetatile 4, 1, 586, 1
+ setmetatile 3, 2, 593, 1
+ setmetatile 4, 2, 594, 1
+ setmetatile 5, 2, 595, 1
+ setmetatile 3, 3, 601, 1
+ setmetatile 4, 3, 602, 0
+ setmetatile 5, 3, 603, 1
+ special DrawWholeMapView
+ return
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D9B0: @ 825D9B0
+ step_up
+ step_up
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Movement_25D9B3: @ 825D9B3
+ step_down
+ step_down
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25D9B6: @ 825D9B6
+ .string "Welcome…\n"
+ .string "You must be commended for your luck…\p"
+ .string "Your POKéMON shall be restored\n"
+ .string "to full health…$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DA13: @ 825DA13
+ .string "I urge you to enjoy the rest of your\n"
+ .string "Battle Choice challenge…$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DA51: @ 825DA51
+ .string "Ah, you’re a lucky one.\n"
+ .string "I’m in somewhat-good spirits now.\p"
+ .string "I will restore one of your POKéMON\n"
+ .string "to full health.$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DABE: @ 825DABE
+ .string "The best of luck to you.\n"
+ .string "Farewell.$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DAE1: @ 825DAE1
+ .string "Excuse me…\p"
+ .string "Would you care for a battle?\n"
+ .string "I’ll restore your POKéMON if you win.$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DB2F: @ 825DB2F
+ .string "Very well…\n"
+ .string "Now, shall we?$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DB49: @ 825DB49
+ .string "I see…\n"
+ .string "How unsporting of you…$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DB67: @ 825DB67
+ .string "Magnificent…\p"
+ .string "As promised, I shall restore your\n"
+ .string "POKéMON to full health.$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DBAE: @ 825DBAE
+ .string "The best of luck to you.\n"
+ .string "Farewell.$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DBD1: @ 825DBD1
+ .string "Oh, my!\p"
+ .string "Watch out!$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DBE4: @ 825DBE4
+ .string "Now, now!\n"
+ .string "KIRLIA, stop that!$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DC01: @ 825DC01
+ .string "Now, now!\n"
+ .string "DUSCLOPS, stop that!$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DC20: @ 825DC20
+ .string "KIRLIA used TOXIC!$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DC33: @ 825DC33
+ .string "KIRLIA used HYPNOSIS!$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DC49: @ 825DC49
+ .string "KIRLIA used THUNDER WAVE!$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DC63: @ 825DC63
+ .string "KIRLIA used WILL-O-WISP!$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DC7C: @ 825DC7C
+ .string "DUSCLOPS used WILL-O-WISP!$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DC97: @ 825DC97
+ .string "DUSCLOPS used ICE BEAM!$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DCAF: @ 825DCAF
+ .string "Look here!\n"
+ .string "That’s quite enough!$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DCCF: @ 825DCCF
+ .string "I must apologize to you…\p"
+ .string "My KIRLIA has a TIMID nature…$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DD06: @ 825DD06
+ .string "I must apologize to you…\p"
+ .string "My DUSCLOPS has a TIMID nature…$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DD3F: @ 825DD3F
+ .string "It attacks without warning if it is\n"
+ .string "startled by another person…\p"
+ .string "Are you and your POKéMON all right?$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DDA3: @ 825DDA3
+ .string "I do apologize for what happened…\n"
+ .string "I do hope your POKéMON are fine.$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DDE6: @ 825DDE6
+ .string "… … … … … …\n"
+ .string "… … … … … …$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DDFE: @ 825DDFE
+ .string "Welcome…\p"
+ .string "Here, we will have you battle\n"
+ .string "a somewhat-tough TRAINER…$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DE3F: @ 825DE3F
+ .string "How wonderful…\p"
+ .string "To honor your victory, your POKéMON\n"
+ .string "shall be restored to full health…$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DE94: @ 825DE94
+ .string "I urge you to enjoy the rest of your\n"
+ .string "Battle Choice challenge…$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DED2: @ 825DED2
+ .string "I am LUCY…\n"
+ .string "I am the law here…\l"
+ .string "For I am the PIKE QUEEN…\p"
+ .string "You already know it, but to advance,\n"
+ .string "you must defeat me…\p"
+ .string "…I’m not one for idle chatter.\n"
+ .string "Hurry. Come on…$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DF71: @ 825DF71
+ .string "Your luck…\n"
+ .string "I hope you didn’t use it all up here…$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DFA2: @ 825DFA2
+ .string "LUCY: … … … … … …\n"
+ .string "Show me your FRONTIER PASS…$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25DFD0: @ 825DFD0
+ .string "The Luck Symbol was embossed on\n"
+ .string "the FRONTIER PASS!$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25E003: @ 825E003
+ .string "…That’s all there is…\n"
+ .string "Disappear already…$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25E02C: @ 825E02C
+ .string "LUCY: …You again…\p"
+ .string "… … … … … …\p"
+ .string "…I’ve trampled flowers and braved\n"
+ .string "storms to get to where I am…\p"
+ .string "I don’t feel any compulsion to keep\n"
+ .string "losing to the same opponent…\p"
+ .string "… … … … … …\n"
+ .string "Fine… I’ll do it…$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25E0E8: @ 825E0E8
+ .string "Now!\n"
+ .string "Come on!$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25E0F6: @ 825E0F6
+ .string "LUCY: … … … … … …\p"
+ .string "…FRONTIER PASS…$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25E118: @ 825E118
+ .string "The Luck Symbol took on\n"
+ .string "a golden shine!$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25E140: @ 825E140
+ .string "…You, I won’t forget…\n"
+ .string "…Ever…$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25E15D: @ 825E15D
+ .string "I welcome you…\p"
+ .string "Giggle…\n"
+ .string "You seem to be bereft of luck…\p"
+ .string "If only you hadn’t chosen this room,\n"
+ .string "your POKéMON could have been healed…$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25E1DD: @ 825E1DD
+ .string "I welcome you…\p"
+ .string "Since you have chosen this room, I will\n"
+ .string "restore one POKéMON to full health…$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25E238: @ 825E238
+ .string "I welcome you…\p"
+ .string "Since you have chosen this room, I will\n"
+ .string "restore two POKéMON to full health…$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25E293: @ 825E293
+ .string "I welcome you…\p"
+ .string "Giggle…\n"
+ .string "You should thank your lucky stars…\p"
+ .string "Since you have chosen this room,\n"
+ .string "all your POKéMON will be restored…$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25E311: @ 825E311
+ .string "I shall go fetch our master…$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25E32E: @ 825E32E
+ .string "Ah, you’re a lucky one!\n"
+ .string "I’m in good spirits now.\p"
+ .string "I will restore two of your POKéMON\n"
+ .string "to full health!$"
+
diff --git a/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom2.inc b/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom2.inc
new file mode 100644
index 000000000..22f4614d3
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom2.inc
@@ -0,0 +1,43 @@
+BattleFrontier_BattlePikeRandomRoom2_MapScripts:: @ 825E392
+ map_script 2, BattleFrontier_BattlePikeRandomRoom2_MapScript2_25E39D
+ map_script 4, BattleFrontier_BattlePikeRandomRoom2_MapScript2_25E3DE
+ .byte 0
+
+BattleFrontier_BattlePikeRandomRoom2_MapScript2_25E39D: @ 825E39D
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3A7
+ .2byte 0
+
+BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3A7:: @ 825E3A7
+ delay 16
+ applymovement 1, BattleFrontier_BattlePikeRandomRoom2_Movement_25E3DB
+ waitmovement 0
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 3
+ special sub_81A1780
+ lockall
+ msgbox BattleFrontier_BattlePikeRandomRoom2_Text_25E3F2, 4
+ closemessage
+ releaseall
+ warp BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
+ waitstate
+ end
+
+BattleFrontier_BattlePikeRandomRoom2_Movement_25E3DB: @ 825E3DB
+ step_down
+ step_down
+ step_end
+
+BattleFrontier_BattlePikeRandomRoom2_MapScript2_25E3DE: @ 825E3DE
+ map_script_2 VAR_0x4004, 0, BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3E8
+ .2byte 0
+
+BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3E8:: @ 825E3E8
+ setvar VAR_0x4004, 1
+ turnobject 255, 2
+ end
+
+BattleFrontier_BattlePikeRandomRoom2_Text_25E3F2: @ 825E3F2
+ .string "Congratulations…\n"
+ .string "Now, this way, please…$"
+
diff --git a/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom3.inc b/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom3.inc
new file mode 100644
index 000000000..ebdfd5b69
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattlePikeRandomRoom3.inc
@@ -0,0 +1,50 @@
+BattleFrontier_BattlePikeRandomRoom3_MapScripts:: @ 825E41A
+ map_script 5, BattleFrontier_BattlePikeRandomRoom3_MapScript1_25E47A
+ map_script 2, BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E42A
+ map_script 4, BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E466
+ .byte 0
+
+BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E42A: @ 825E42A
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_25E43C
+ map_script_2 VAR_0x4001, 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_25E44A
+ .2byte 0
+
+BattleFrontier_BattlePikeRandomRoom3_EventScript_25E43C:: @ 825E43C
+ setvar VAR_0x4000, 1
+ setvar VAR_0x8004, 6
+ special sub_81A703C
+ end
+
+BattleFrontier_BattlePikeRandomRoom3_EventScript_25E44A:: @ 825E44A
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 4
+ special sub_81A1780
+ warp BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
+ waitstate
+ end
+
+BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E466: @ 825E466
+ map_script_2 VAR_0x4004, 0, BattleFrontier_BattlePikeRandomRoom3_EventScript_25E470
+ .2byte 0
+
+BattleFrontier_BattlePikeRandomRoom3_EventScript_25E470:: @ 825E470
+ setvar VAR_0x4004, 1
+ turnobject 255, 2
+ end
+
+BattleFrontier_BattlePikeRandomRoom3_MapScript1_25E47A: @ 825E47A
+ call BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4271
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 5
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3
+ compare_var_to_value VAR_RESULT, 3
+ goto_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3
+ end
+
+BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3:: @ 825E4A3
+ setvar VAR_0x4001, 1
+ end
+
diff --git a/data/scripts/maps/BattleFrontier_BattlePikeThreePathRoom.inc b/data/scripts/maps/BattleFrontier_BattlePikeThreePathRoom.inc
new file mode 100644
index 000000000..c1dcce822
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattlePikeThreePathRoom.inc
@@ -0,0 +1,393 @@
+BattleFrontier_BattlePikeThreePathRoom_MapScripts:: @ 825C843
+ map_script 5, BattleFrontier_BattlePikeThreePathRoom_MapScript1_2C423E
+ map_script 2, BattleFrontier_BattlePikeThreePathRoom_MapScript2_25C853
+ map_script 4, BattleFrontier_BattlePikeThreePathRoom_MapScript2_25C87D
+ .byte 0
+
+BattleFrontier_BattlePikeThreePathRoom_MapScript2_25C853: @ 825C853
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C891
+ map_script_2 VAR_0x4000, 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C89A
+ map_script_2 VAR_0x4000, 2, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C8A4
+ map_script_2 VAR_0x4005, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA78
+ map_script_2 VAR_0x4005, 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA97
+ .2byte 0
+
+BattleFrontier_BattlePikeThreePathRoom_MapScript2_25C87D: @ 825C87D
+ map_script_2 VAR_0x4004, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C887
+ .2byte 0
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25C887:: @ 825C887
+ setvar VAR_0x4004, 1
+ turnobject 255, 2
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25C891:: @ 825C891
+ setvar VAR_0x8004, 0
+ special sub_81A1780
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25C89A:: @ 825C89A
+ warp BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
+ waitstate
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25C8A4:: @ 825C8A4
+ lockall
+ message BattleFrontier_BattlePikeThreePathRoom_Text_25CD75
+ waitmessage
+ setvar VAR_0x8004, 8
+ setvar VAR_0x8005, 1
+ special sub_81A703C
+ playse SE_SAVE
+ waitse
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x4000, 255
+ special copy_player_party_to_sav1
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 3
+ special sub_81A1780
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CDDA, 4
+ closemessage
+ releaseall
+ setvar VAR_0x8004, 5
+ special sub_81A1780
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 99
+ special sub_81A1780
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25C908:: @ 825C908
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C968
+ case 3, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C978
+ case 5, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C988
+ case 7, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C998
+ case 9, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9A8
+ case 11, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9B8
+ case 13, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9C8
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25C968:: @ 825C968
+ lock
+ faceplayer
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CBDD, 4
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25C978:: @ 825C978
+ lock
+ faceplayer
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC00, 4
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25C988:: @ 825C988
+ lock
+ faceplayer
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC23, 4
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25C998:: @ 825C998
+ lock
+ faceplayer
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC46, 4
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9A8:: @ 825C9A8
+ lock
+ faceplayer
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC69, 4
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9B8:: @ 825C9B8
+ lock
+ faceplayer
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CC8C, 4
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9C8:: @ 825C9C8
+ lock
+ faceplayer
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CCB0, 4
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9D8:: @ 825C9D8
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CCD4, 5
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA2A
+ case 127, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA2A
+ release
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9FD:: @ 825C9FD
+ setvar VAR_0x8004, 6
+ special sub_81A1780
+ message BattleFrontier_BattlePikeThreePathRoom_Text_25CE08
+ waitmessage
+ special copy_player_party_from_sav1
+ setvar VAR_0x8004, 8
+ setvar VAR_0x8005, 2
+ special sub_81A703C
+ playse SE_SAVE
+ waitse
+ fadescreen 1
+ setvar VAR_0x8004, 4
+ special sub_81A1780
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA2A:: @ 825CA2A
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CCFB, 5
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9FD
+ case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA5A
+ case 127, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA5A
+ release
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA5A:: @ 825CA5A
+ message BattleFrontier_BattlePikeThreePathRoom_Text_25CD3C
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222
+ release
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA78:: @ 825CA78
+ setvar VAR_0x8004, 17
+ special sub_81A703C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA91
+ setvar VAR_0x4005, 255
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA91:: @ 825CA91
+ setvar VAR_0x4005, 1
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA97:: @ 825CA97
+ applymovement 2, BattleFrontier_BattlePikeThreePathRoom_Movement_25CBCE
+ waitmovement 0
+ lockall
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D094, 4
+ releaseall
+ applymovement 2, BattleFrontier_BattlePikeThreePathRoom_Movement_25CBD5
+ waitmovement 0
+ setvar VAR_0x4005, 255
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25CABB:: @ 825CABB
+ setvar VAR_0x8004, 19
+ special sub_81A703C
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBC2
+ lock
+ faceplayer
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CE69, 5
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB0A
+ case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB00
+ case 127, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB00
+ release
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB00:: @ 825CB00
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CEBB, 4
+ release
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB0A:: @ 825CB0A
+ setvar VAR_0x8004, 18
+ special sub_81A703C
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB39
+ case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB46
+ case 2, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB53
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB39:: @ 825CB39
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CF64, 4
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB46:: @ 825CB46
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CF23, 4
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB53:: @ 825CB53
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CEE3, 4
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB60:: @ 825CB60
+ setvar VAR_0x8004, 19
+ special sub_81A703C
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB9A
+ case 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBA4
+ case 2, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBAE
+ case 3, BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBB8
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25CB9A:: @ 825CB9A
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D054, 4
+ release
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBA4:: @ 825CBA4
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D017, 4
+ release
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBAE:: @ 825CBAE
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CFA3, 4
+ release
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBB8:: @ 825CBB8
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CFE5, 4
+ release
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBC2:: @ 825CBC2
+ lock
+ faceplayer
+ msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25D125, 4
+ release
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_Movement_25CBCE: @ 825CBCE
+ step_left
+ step_left
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+BattleFrontier_BattlePikeThreePathRoom_Movement_25CBD5: @ 825CBD5
+ step_up
+ step_up
+ step_up
+ step_up
+ step_right
+ step_right
+ step_00
+ step_end
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25CBDD: @ 825CBDD
+ .string "You are currently in\n"
+ .string "the 1st room…$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25CC00: @ 825CC00
+ .string "You are currently in\n"
+ .string "the 3rd room…$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25CC23: @ 825CC23
+ .string "You are currently in\n"
+ .string "the 5th room…$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25CC46: @ 825CC46
+ .string "You are currently in\n"
+ .string "the 7th room…$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25CC69: @ 825CC69
+ .string "You are currently in\n"
+ .string "the 9th room…$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25CC8C: @ 825CC8C
+ .string "You are currently in\n"
+ .string "the 11th room…$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25CCB0: @ 825CCB0
+ .string "You are currently in\n"
+ .string "the 13th room…$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25CCD4: @ 825CCD4
+ .string "Will you continue with\n"
+ .string "your challenge?$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25CCFB: @ 825CCFB
+ .string "Would you like to save your challenge\n"
+ .string "and quit the game for now?$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25CD3C: @ 825CD3C
+ .string "Do you wish to retire from your\n"
+ .string "Battle Choice challenge?$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25CD75: @ 825CD75
+ .string "We’ve been awaiting your return…\p"
+ .string "Before resuming your Battle Choice\n"
+ .string "challenge, let me save the game…$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25CDDA: @ 825CDDA
+ .string "Please do enjoy your Battle Choice\n"
+ .string "challenge…$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25CE08: @ 825CE08
+ .string "I am saving your data…\n"
+ .string "A little time, please…$"
+
+BattleFrontier_BattlePikeRandomRoom1_Text_25CE36: @ 825CE36
+BattleFrontier_BattlePikeRandomRoom3_Text_25CE36: @ 825CE36
+BattleFrontier_BattlePikeThreePathRoom_Text_25CE36: @ 825CE36
+ .string "The path is blocked!\n"
+ .string "And there is no turning back…$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25CE69: @ 825CE69
+ .string "I beg your pardon, but…\p"
+ .string "Are you perhaps finding it difficult\n"
+ .string "to choose your path?$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25CEBB: @ 825CEBB
+ .string "I see…\n"
+ .string "I apologize for my impertinence…$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25CEE3: @ 825CEE3
+ .string "Ah, let me see… There is something\n"
+ .string "about the path on the right…$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25CF23: @ 825CF23
+ .string "Ah, let me see… There is something\n"
+ .string "about the path in the center…$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25CF64: @ 825CF64
+ .string "Ah, let me see… There is something\n"
+ .string "about the path on the left…$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25CFA3: @ 825CFA3
+ .string "It seems to have the distinct aroma\n"
+ .string "of POKéMON wafting around it…$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25CFE5: @ 825CFE5
+ .string "Is it… A TRAINER?\n"
+ .string "I sense the presence of people…$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25D017: @ 825D017
+ .string "I seem to have heard something…\n"
+ .string "It may have been whispering…$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25D054: @ 825D054
+ .string "For some odd reason, I felt a wave\n"
+ .string "of nostalgia coming from it…$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25D094: @ 825D094
+ .string "I am sorry to say…\p"
+ .string "A terrifying event, yes, a horrible one,\n"
+ .string "is about to befall you…\p"
+ .string "I urge you to pay the utmost care\n"
+ .string "and prepare for the worst…$"
+
+BattleFrontier_BattlePikeThreePathRoom_Text_25D125: @ 825D125
+ .string "From every path I sense a dreadful\n"
+ .string "presence…$"
diff --git a/data/scripts/maps/BattleFrontier_BattlePointExchangeServiceCorner.inc b/data/scripts/maps/BattleFrontier_BattlePointExchangeServiceCorner.inc
new file mode 100644
index 000000000..54d72c398
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattlePointExchangeServiceCorner.inc
@@ -0,0 +1,764 @@
+BattleFrontier_BattlePointExchangeServiceCorner_MapScripts:: @ 825F070
+ .byte 0
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F071:: @ 825F071
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F7FA, 4
+ special sub_813A958
+ return
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D:: @ 825F07D
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FF12, 4
+ special sub_813A988
+ release
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A:: @ 825F08A
+ specialvar VAR_0x4001, sub_813AA04
+ compare_var_to_var VAR_0x4001, VAR_0x8008
+ goto_if 4, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0C9
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE86, 4
+ compare_var_to_value VAR_0x4002, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ compare_var_to_value VAR_0x4002, 1
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
+ compare_var_to_value VAR_0x4002, 2
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0C9:: @ 825F0C9
+ compare_var_to_value VAR_0x4002, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5
+ compare_var_to_value VAR_0x4002, 1
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F12A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5:: @ 825F0E5
+ checkdecorspace VAR_0x8009
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F11D
+ copyvar VAR_0x8004, VAR_0x8008
+ special sub_813A9A4
+ givedecoration VAR_0x8009
+ special sub_813A8FC
+ playse SE_REGI
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE45, 4
+ compare_var_to_value VAR_0x4002, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F11D:: @ 825F11D
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FEB9, 4
+ special sub_813A988
+ release
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F12A:: @ 825F12A
+ checkitemspace VAR_0x8009, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F166
+ copyvar VAR_0x8004, VAR_0x8008
+ special sub_813A9A4
+ giveitem VAR_0x8009, 1
+ special sub_813A8FC
+ playse SE_REGI
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE72, 4
+ compare_var_to_value VAR_0x4002, 2
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F166:: @ 825F166
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FEE3, 4
+ special sub_813A988
+ release
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F173:: @ 825F173
+ lock
+ faceplayer
+ setvar VAR_0x4002, 0
+ call BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F071
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185:: @ 825F185
+ setvar VAR_0x8004, 3
+ special sub_813AA18
+ special sub_813A128
+ waitstate
+ special sub_813AA44
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F21E
+ case 1, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F241
+ case 2, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F264
+ case 3, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F287
+ case 4, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2AA
+ case 5, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2CD
+ case 6, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2F0
+ case 7, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F313
+ case 8, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F336
+ case 9, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F359
+ case 10, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D
+ case 127, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F21E:: @ 825F21E
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F8B6, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ setvar VAR_0x8008, 16
+ setvar VAR_0x8009, 75
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F241:: @ 825F241
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F8E6, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ setvar VAR_0x8008, 32
+ setvar VAR_0x8009, 103
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F264:: @ 825F264
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F917, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ setvar VAR_0x8008, 32
+ setvar VAR_0x8009, 87
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F287:: @ 825F287
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F949, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ setvar VAR_0x8008, 48
+ setvar VAR_0x8009, 79
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2AA:: @ 825F2AA
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F979, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ setvar VAR_0x8008, 48
+ setvar VAR_0x8009, 84
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2CD:: @ 825F2CD
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F9A9, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ setvar VAR_0x8008, 48
+ setvar VAR_0x8009, 85
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2F0:: @ 825F2F0
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F9DB, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ setvar VAR_0x8008, 48
+ setvar VAR_0x8009, 86
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F313:: @ 825F313
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA0A, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ setvar VAR_0x8008, 80
+ setvar VAR_0x8009, 80
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F336:: @ 825F336
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA3D, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ setvar VAR_0x8008, 80
+ setvar VAR_0x8009, 81
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F359:: @ 825F359
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA70, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ setvar VAR_0x8008, 80
+ setvar VAR_0x8009, 82
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F37C:: @ 825F37C
+ lock
+ faceplayer
+ setvar VAR_0x4002, 1
+ call BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F071
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E:: @ 825F38E
+ setvar VAR_0x8004, 4
+ special sub_813AA18
+ special sub_813A128
+ waitstate
+ special sub_813AA44
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F3F0
+ case 1, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F413
+ case 2, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F436
+ case 3, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F459
+ case 4, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F47C
+ case 5, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D
+ case 127, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F3F0:: @ 825F3F0
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FAA2, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
+ setvar VAR_0x8008, 128
+ setvar VAR_0x8009, 113
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F413:: @ 825F413
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FAD2, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
+ setvar VAR_0x8008, 128
+ setvar VAR_0x8009, 111
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F436:: @ 825F436
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB03, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
+ setvar VAR_0x8008, 256
+ setvar VAR_0x8009, 114
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F459:: @ 825F459
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB35, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
+ setvar VAR_0x8008, 256
+ setvar VAR_0x8009, 115
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F47C:: @ 825F47C
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB68, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
+ setvar VAR_0x8008, 256
+ setvar VAR_0x8009, 116
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F49F:: @ 825F49F
+ lock
+ faceplayer
+ setvar VAR_0x4002, 2
+ call BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F071
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1:: @ 825F4B1
+ setvar VAR_0x8004, 5
+ special sub_813AA18
+ special sub_813A128
+ waitstate
+ special sub_813AA44
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F51E
+ case 1, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F541
+ case 2, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F564
+ case 3, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F587
+ case 4, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5AA
+ case 5, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5CD
+ case 6, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D
+ case 127, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F51E:: @ 825F51E
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB9B, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
+ setvar VAR_0x8008, 1
+ setvar VAR_0x8009, 64
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F541:: @ 825F541
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FBC7, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
+ setvar VAR_0x8008, 1
+ setvar VAR_0x8009, 67
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F564:: @ 825F564
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FBF3, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
+ setvar VAR_0x8008, 1
+ setvar VAR_0x8009, 65
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F587:: @ 825F587
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC1C, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
+ setvar VAR_0x8008, 1
+ setvar VAR_0x8009, 70
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5AA:: @ 825F5AA
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC45, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
+ setvar VAR_0x8008, 1
+ setvar VAR_0x8009, 66
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5CD:: @ 825F5CD
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC70, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
+ setvar VAR_0x8008, 1
+ setvar VAR_0x8009, 63
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5F0:: @ 825F5F0
+ lock
+ faceplayer
+ setvar VAR_0x4002, 3
+ call BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F071
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602:: @ 825F602
+ setvar VAR_0x8004, 6
+ special sub_813AA18
+ special sub_813A128
+ waitstate
+ special sub_813AA44
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F690
+ case 1, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6B3
+ case 2, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6D6
+ case 3, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6F9
+ case 4, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F71C
+ case 5, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F73F
+ case 6, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F762
+ case 7, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F785
+ case 8, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7A8
+ case 9, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D
+ case 127, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F690:: @ 825F690
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE17, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
+ setvar VAR_0x8008, 48
+ setvar VAR_0x8009, 200
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6B3:: @ 825F6B3
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FCCB, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
+ setvar VAR_0x8008, 48
+ setvar VAR_0x8009, 180
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6D6:: @ 825F6D6
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FCFA, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
+ setvar VAR_0x8008, 48
+ setvar VAR_0x8009, 183
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6F9:: @ 825F6F9
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD29, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
+ setvar VAR_0x8008, 48
+ setvar VAR_0x8009, 185
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F71C:: @ 825F71C
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC9A, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
+ setvar VAR_0x8008, 64
+ setvar VAR_0x8009, 179
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F73F:: @ 825F73F
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD59, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
+ setvar VAR_0x8008, 64
+ setvar VAR_0x8009, 186
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F762:: @ 825F762
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD89, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
+ setvar VAR_0x8008, 64
+ setvar VAR_0x8009, 187
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F785:: @ 825F785
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FDB9, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
+ setvar VAR_0x8008, 64
+ setvar VAR_0x8009, 196
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7A8:: @ 825F7A8
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FDE8, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
+ setvar VAR_0x8008, 64
+ setvar VAR_0x8009, 198
+ goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7CB:: @ 825F7CB
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_260099, 2
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7D4:: @ 825F7D4
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_26002E, 2
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7DD:: @ 825F7DD
+ lock
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FFD0, 4
+ release
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7E8:: @ 825F7E8
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FF5D, 2
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7F1:: @ 825F7F1
+ msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_26012D, 2
+ end
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25F7FA: @ 825F7FA
+ .string "Hello, this is the EXCHANGE SERVICE\n"
+ .string "CORNER.\p"
+ .string "We exchange the Battle Points you\n"
+ .string "have collected for lovely prizes.\p"
+ .string "Please choose a prize from this list.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25F890: @ 825F890
+ .string "Please choose a prize from this list.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25F8B6: @ 825F8B6
+ .string "You’ve chosen the KISS POSTER.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25F8E6: @ 825F8E6
+ .string "You’ve chosen the KISS CUSHION.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25F917: @ 825F917
+ .string "You’ve chosen the SMOOCHUM DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25F949: @ 825F949
+ .string "You’ve chosen the TOGEPI DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25F979: @ 825F979
+ .string "You’ve chosen the MEOWTH DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25F9A9: @ 825F9A9
+ .string "You’ve chosen the CLEFAIRY DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25F9DB: @ 825F9DB
+ .string "You’ve chosen the DITTO DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA0A: @ 825FA0A
+ .string "You’ve chosen the CYNDAQUIL DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA3D: @ 825FA3D
+ .string "You’ve chosen the CHIKORITA DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA70: @ 825FA70
+ .string "You’ve chosen the TOTODILE DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FAA2: @ 825FAA2
+ .string "You’ve chosen the LAPRAS DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FAD2: @ 825FAD2
+ .string "You’ve chosen the SNORLAX DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB03: @ 825FB03
+ .string "You’ve chosen the VENUSAUR DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB35: @ 825FB35
+ .string "You’ve chosen the CHARIZARD DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB68: @ 825FB68
+ .string "You’ve chosen the BLASTOISE DOLL.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB9B: @ 825FB9B
+ .string "You’ve chosen the PROTEIN.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FBC7: @ 825FBC7
+ .string "You’ve chosen the CALCIUM.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FBF3: @ 825FBF3
+ .string "You’ve chosen the IRON.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC1C: @ 825FC1C
+ .string "You’ve chosen the ZINC.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC45: @ 825FC45
+ .string "You’ve chosen the CARBOS.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC70: @ 825FC70
+ .string "You’ve chosen the HP UP.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC9A: @ 825FC9A
+ .string "You’ve chosen the BRIGHTPOWDER.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FCCB: @ 825FCCB
+ .string "You’ve chosen the WHITE HERB.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FCFA: @ 825FCFA
+ .string "You’ve chosen the QUICK CLAW.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD29: @ 825FD29
+ .string "You’ve chosen the MENTAL HERB.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD59: @ 825FD59
+ .string "You’ve chosen the CHOICE BAND.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD89: @ 825FD89
+ .string "You’ve chosen the KING’S ROCK.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FDB9: @ 825FDB9
+ .string "You’ve chosen the FOCUS BAND.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FDE8: @ 825FDE8
+ .string "You’ve chosen the SCOPE LENS.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE17: @ 825FE17
+ .string "You’ve chosen the LEFTOVERS.\n"
+ .string "Is that correct?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE45: @ 825FE45
+ .string "Thank you!\n"
+ .string "We’ll send it to your PC at home.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE72: @ 825FE72
+ .string "Here is your prize!$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE86: @ 825FE86
+ .string "I’m so sorry…\n"
+ .string "You don’t have enough Battle Points…$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FEB9: @ 825FEB9
+ .string "I’m so sorry…\n"
+ .string "Your PC appears to be full…$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FEE3: @ 825FEE3
+ .string "I’m so sorry…\n"
+ .string "You don’t have space to hold it…$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FF12: @ 825FF12
+ .string "Thank you very much.\p"
+ .string "Please visit us when you have\n"
+ .string "saved up Battle Points.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FF5D: @ 825FF5D
+ .string "Oh, they’re so nice!\n"
+ .string "I wish I had them!\l"
+ .string "Cute cushions!\l"
+ .string "Big plush DOLLS!\l"
+ .string "Little plush DOLLS!\l"
+ .string "I wish I had them all!$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_25FFD0: @ 825FFD0
+ .string "Leave it to your mommy!\p"
+ .string "If it’s anything you want, I’ll go\n"
+ .string "through anything to get it, honey!$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_26002E: @ 826002E
+ .string "If I can get hold of the items here,\n"
+ .string "my POKéMON will get tougher.\p"
+ .string "You bet they will!\n"
+ .string "No question about it!$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_260099: @ 8260099
+ .string "Hah?\n"
+ .string "What are you gawking at?\p"
+ .string "I don’t like you staring at my plush\n"
+ .string "doll like that.\p"
+ .string "If you want it, go get one yourself!\n"
+ .string "Isn’t that right, SMOOCHUM?$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_26012D: @ 826012D
+ .string "Did you know?\p"
+ .string "If you stretch your record at any of\n"
+ .string "the BATTLE facilities, they start\l"
+ .string "giving you more and more Battle Points.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA: @ 82601AA
+ .string "A large poster with a SMOOCHUM print.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0: @ 82601D0
+ .string "A SMOOCHUM cushion.\n"
+ .string "Place it on a mat or a desk.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_260201: @ 8260201
+ .string "A SMOOCHUM DOLL.\n"
+ .string "Place it on a mat or a desk.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F: @ 826022F
+ .string "A TOGEPI DOLL.\n"
+ .string "Place it on a mat or a desk.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B: @ 826025B
+ .string "A MEOWTH DOLL.\n"
+ .string "Place it on a mat or a desk.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_260287: @ 8260287
+ .string "A CLEFAIRY DOLL.\n"
+ .string "Place it on a mat or a desk.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5: @ 82602B5
+ .string "A DITTO DOLL.\n"
+ .string "Place it on a mat or a desk.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0: @ 82602E0
+ .string "A CYNDAQUIL DOLL.\n"
+ .string "Place it on a mat or a desk.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F: @ 826030F
+ .string "A CHIKORITA DOLL.\n"
+ .string "Place it on a mat or a desk.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E: @ 826033E
+ .string "A TOTODILE DOLL.\n"
+ .string "Place it on a mat or a desk.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C: @ 826036C
+ .string "A large DOLL.\n"
+ .string "Place it on a mat or a desk.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_260397: @ 8260397
+ .string "Raises the stat ATTACK of one\n"
+ .string "POKéMON.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE: @ 82603BE
+ .string "Raises the stat SP. ATK of one\n"
+ .string "POKéMON.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6: @ 82603E6
+ .string "Raises the stat DEFENSE of one\n"
+ .string "POKéMON.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E: @ 826040E
+ .string "Raises the stat SP. DEF of one\n"
+ .string "POKéMON.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_260436: @ 8260436
+ .string "Raises the stat SPEED of one\n"
+ .string "POKéMON.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C: @ 826045C
+ .string "Raises the HP of one POKéMON.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A: @ 826047A
+ .string "A hold item that gradually restores\n"
+ .string "HP in battle.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC: @ 82604AC
+ .string "A hold item that restores any\n"
+ .string "lowered stat.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8: @ 82604D8
+ .string "A hold item that occasionally allows\n"
+ .string "the first strike.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F: @ 826050F
+ .string "A hold item that snaps POKéMON out\n"
+ .string "of infatuation.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_260542: @ 8260542
+ .string "A hold item that casts a glare to\n"
+ .string "reduce accuracy.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_260575: @ 8260575
+ .string "Raises a move’s power, but permits\n"
+ .string "only that move.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8: @ 82605A8
+ .string "A hold item that may cause flinching\n"
+ .string "when the foe is hit.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2: @ 82605E2
+ .string "A hold item that occasionally\n"
+ .string "prevents fainting.$"
+
+BattleFrontier_BattlePointExchangeServiceCorner_Text_260613: @ 8260613
+ .string "A hold item that raises the\n"
+ .string "critical-hit rate.$"
diff --git a/data/scripts/maps/BattleFrontier_BattlePyramidEmptySquare.inc b/data/scripts/maps/BattleFrontier_BattlePyramidEmptySquare.inc
new file mode 100644
index 000000000..85fd5e417
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattlePyramidEmptySquare.inc
@@ -0,0 +1,658 @@
+BattleFrontier_BattlePyramidEmptySquare_MapScripts:: @ 8252A33
+ map_script 5, BattleFrontier_BattlePyramidEmptySquare_MapScript1_252AA2
+ map_script 2, BattleFrontier_BattlePyramidEmptySquare_MapScript2_252A43
+ map_script 3, BattleFrontier_BattlePyramidEmptySquare_MapScript1_252BCA
+ .byte 0
+
+BattleFrontier_BattlePyramidEmptySquare_MapScript2_252A43: @ 8252A43
+ map_script_2 VAR_0x400D, 1, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A5D
+ map_script_2 VAR_0x400E, 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A98
+ map_script_2 VAR_0x400F, 1, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A8F
+ .2byte 0
+
+BattleFrontier_BattlePyramidEmptySquare_EventScript_252A5D:: @ 8252A5D
+ lockall
+ setvar VAR_0x8004, 13
+ setvar VAR_0x8005, 4
+ setvar VAR_0x8006, 1
+ setvar VAR_0x8007, 55
+ setvar VAR_RESULT, 0
+
+BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77:: @ 8252A77
+ special sub_81A8E7C
+ delay 2
+ compare_var_to_value VAR_RESULT, 2
+ goto_if 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77
+ setvar VAR_0x400D, 0
+ releaseall
+ end
+
+BattleFrontier_BattlePyramidEmptySquare_EventScript_252A8F:: @ 8252A8F
+ special AddMapNamePopUpWindowTask
+ setvar VAR_0x400F, 0
+ end
+
+BattleFrontier_BattlePyramidEmptySquare_EventScript_252A98:: @ 8252A98
+ playbgm BGM_BATTLE_PYRAMID, 0
+ setvar VAR_0x400E, 1
+ end
+
+BattleFrontier_BattlePyramidEmptySquare_MapScript1_252AA2: @ 8252AA2
+ setvar VAR_0x8004, 15
+ special sub_81A8E7C
+ setvar VAR_0x8004, 0
+ special sub_81A1780
+ switch VAR_0x4000
+ case 0, BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D
+ case 1, BattleFrontier_BattlePyramidEmptySquare_EventScript_252B66
+ case 2, BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 5
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42
+ compare_var_to_value VAR_RESULT, 3
+ goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42
+ compare_var_to_value VAR_RESULT, 9
+ goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42
+ setvar VAR_0x8004, 14
+ setvar VAR_0x8005, 8
+ special sub_81A1780
+ setvar VAR_0x400D, 1
+
+BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39:: @ 8252B39
+ setvar VAR_0x8004, 17
+ special sub_81A8E7C
+ end
+
+BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42:: @ 8252B42
+BattleFrontier_BattlePyramidTop_EventScript_252B42:: @ 8252B42
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 4
+ special sub_81A1780
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 7
+ setvar VAR_0x8006, 255
+ special sub_81A8E7C
+
+BattleFrontier_BattlePyramidEmptySquare_EventScript_252B66:: @ 8252B66
+BattleFrontier_BattlePyramidTop_EventScript_252B66:: @ 8252B66
+ setvar VAR_0x8004, 13
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A8E7C
+ setvar VAR_0x8004, 14
+ special sub_81A8E7C
+ special sp000_heal_pokemon
+ warpsilent BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY, 255, 7, 13
+ waitstate
+ end
+
+BattleFrontier_BattlePyramidEmptySquare_EventScript_252B8D:: @ 8252B8D
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 1
+ special sub_81A8E7C
+ special copy_player_party_to_sav1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x8004, 9
+ special sub_81A8E7C
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 3
+ special sub_81A1780
+ setvar VAR_0x400F, 1
+ end
+
+BattleFrontier_BattlePyramidEmptySquare_MapScript1_252BCA: @ 8252BCA
+ call BattleFrontier_BattlePyramidEmptySquare_EventScript_252BD5
+ setvar VAR_0x400F, 1
+ end
+
+BattleFrontier_BattlePyramidEmptySquare_EventScript_252BD5:: @ 8252BD5
+ setvar VAR_0x8004, 13
+ setvar VAR_0x8005, 32
+ setvar VAR_0x8006, 0
+ special sub_81A8E7C
+ return
+
+BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8:: @ 8252BE8
+ call BattleFrontier_BattlePalaceBattleRoom_EventScript_241EBA
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ addvar VAR_RESULT, 1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 7
+ goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252C45
+ setvar VAR_0x8004, 6
+ special sub_81A8E7C
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_RESULT, 0
+ warp BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE, 255, 1, 1
+ waitstate
+ end
+
+BattleFrontier_BattlePyramidEmptySquare_EventScript_252C45:: @ 8252C45
+ warp BATTLE_FRONTIER_BATTLE_PYRAMID_TOP, 255, 17, 17
+ waitstate
+ end
+
+BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F:: @ 8252C4F
+ trainerbattle 9, TRAINER_PHILLIP, 0, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D, BattleFrontier_BattlePyramidEmptySquare_Text_252C8D
+ setvar VAR_0x8004, 10
+ special sub_81A8E7C
+ waitmessage
+ waitbuttonpress
+ closemessage
+ releaseall
+ end
+
+BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A:: @ 8252C6A
+ setvar VAR_0x8004, 7
+ special sub_81A8E7C
+ callstd 1
+ compare_var_to_value VAR_0x8007, 0
+ goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252C87
+ setvar VAR_0x8004, 8
+ special sub_81A8E7C
+
+BattleFrontier_BattlePyramidEmptySquare_EventScript_252C87:: @ 8252C87
+ end
+
+BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88:: @ 8252C88
+ goto BattleFrontier_BattlePyramidTop_EventScript_252B42
+
+BattleFrontier_BattlePyramidEmptySquare_Text_252C8D: @ 8252C8D
+ .string "This is a sample message.$"
+
+BattleFrontier_BattlePyramidEmptySquare_Text_252CA7:: @ 8252CA7
+ .string "Your BATTLE PYRAMID quest will be\n"
+ .string "saved so that you may quit for now.\l"
+ .string "Is that okay?$"
+
+BattleFrontier_BattlePyramidEmptySquare_Text_252CFB:: @ 8252CFB
+ .string "Are you sure you want to quit your\n"
+ .string "PYRAMID quest?$"
+
+ .string "This floor’s exit is in\n"
+ .string "that direction: {UP_ARROW}$"
+
+ .string "This floor’s exit is in\n"
+ .string "that direction: {LEFT_ARROW}$"
+
+ .string "This floor’s exit is in\n"
+ .string "that direction: {RIGHT_ARROW}$"
+
+ .string "This floor’s exit is in\n"
+ .string "that direction: {DOWN_ARROW}$"
+
+ .string "The exit on this floor is in\n"
+ .string "the {UP_ARROW} direction.$"
+
+ .string "The exit on this floor is in\n"
+ .string "the {LEFT_ARROW} direction.$"
+
+ .string "The exit on this floor is in\n"
+ .string "the {RIGHT_ARROW} direction.$"
+
+ .string "The exit on this floor is in\n"
+ .string "the {DOWN_ARROW} direction.$"
+
+ .string "The exit is over\n"
+ .string "that {UP_ARROW} way.$"
+
+ .string "The exit is over\n"
+ .string "that {LEFT_ARROW} way.$"
+
+ .string "The exit is over\n"
+ .string "that {RIGHT_ARROW} way.$"
+
+ .string "The exit is over\n"
+ .string "that {DOWN_ARROW} way.$"
+
+ .string "On this floor, the exit is somewhere\n"
+ .string "in the {UP_ARROW} direction.$"
+
+ .string "On this floor, the exit is somewhere\n"
+ .string "in the {LEFT_ARROW} direction.$"
+
+ .string "On this floor, the exit is somewhere\n"
+ .string "in the {RIGHT_ARROW} direction.$"
+
+ .string "On this floor, the exit is somewhere\n"
+ .string "in the {DOWN_ARROW} direction.$"
+
+ .string "The exit?\n"
+ .string "It’s that {UP_ARROW} way.$"
+
+ .string "The exit?\n"
+ .string "It’s that {LEFT_ARROW} way.$"
+
+ .string "The exit?\n"
+ .string "It’s that {RIGHT_ARROW} way.$"
+
+ .string "The exit?\n"
+ .string "It’s that {DOWN_ARROW} way.$"
+
+ .string "The exit happens to be in\n"
+ .string "the {UP_ARROW} direction.$"
+
+ .string "The exit happens to be in\n"
+ .string "the {LEFT_ARROW} direction.$"
+
+ .string "The exit happens to be in\n"
+ .string "the {RIGHT_ARROW} direction.$"
+
+ .string "The exit happens to be in\n"
+ .string "the {DOWN_ARROW} direction.$"
+
+ .string "Are you looking for items?\p"
+ .string "There are eight items left to\n"
+ .string "be found.$"
+
+ .string "Are you looking for items?\p"
+ .string "There are seven items left to\n"
+ .string "be found.$"
+
+ .string "Are you looking for items?\p"
+ .string "There are six items left to\n"
+ .string "be found.$"
+
+ .string "Are you looking for items?\p"
+ .string "There are five items left to\n"
+ .string "be found.$"
+
+ .string "Are you looking for items?\p"
+ .string "There are four items left to\n"
+ .string "be found.$"
+
+ .string "Are you looking for items?\p"
+ .string "There are three items left to\n"
+ .string "be found.$"
+
+ .string "Are you looking for items?\p"
+ .string "There are two items left to\n"
+ .string "be found.$"
+
+ .string "Are you looking for items?\p"
+ .string "There is one item left to\n"
+ .string "be found.$"
+
+ .string "Are you looking for items?\p"
+ .string "There isn’t anything left to\n"
+ .string "be found!$"
+
+ .string "Because you won, I’ll tell you\n"
+ .string "a little secret!\p"
+ .string "There are eight items\n"
+ .string "lying around here.$"
+
+ .string "Because you won, I’ll tell you\n"
+ .string "a little secret!\p"
+ .string "There are seven items left\n"
+ .string "lying around here.$"
+
+ .string "Because you won, I’ll tell you\n"
+ .string "a little secret!\p"
+ .string "There are six items left\n"
+ .string "lying around here.$"
+
+ .string "Because you won, I’ll tell you\n"
+ .string "a little secret!\p"
+ .string "There are five items left\n"
+ .string "lying around here.$"
+
+ .string "Because you won, I’ll tell you\n"
+ .string "a little secret!\p"
+ .string "There are four items left\n"
+ .string "lying around here.$"
+
+ .string "Because you won, I’ll tell you\n"
+ .string "a little secret!\p"
+ .string "There are three items left\n"
+ .string "lying around here.$"
+
+ .string "Because you won, I’ll tell you\n"
+ .string "a little secret!\p"
+ .string "There are two items left\n"
+ .string "lying around here.$"
+
+ .string "Because you won, I’ll tell you\n"
+ .string "a little secret!\p"
+ .string "There is just one item\n"
+ .string "lying around here.$"
+
+ .string "Because you won, I’ll tell you\n"
+ .string "a little secret!\p"
+ .string "There isn’t anything left\n"
+ .string "lying around here.$"
+
+ .string "How’s your stock of items holding up?\p"
+ .string "I reckon there are eight items left\n"
+ .string "waiting to be found on this floor.$"
+
+ .string "How’s your stock of items holding up?\p"
+ .string "I reckon there are seven items left\n"
+ .string "waiting to be found on this floor.$"
+
+ .string "How’s your stock of items holding up?\p"
+ .string "I reckon there are six items left\n"
+ .string "waiting to be found on this floor.$"
+
+ .string "How’s your stock of items holding up?\p"
+ .string "I reckon there are five items left\n"
+ .string "waiting to be found on this floor.$"
+
+ .string "How’s your stock of items holding up?\p"
+ .string "I reckon there are four items left\n"
+ .string "waiting to be found on this floor.$"
+
+ .string "How’s your stock of items holding up?\p"
+ .string "I reckon there are three items left\n"
+ .string "waiting to be found on this floor.$"
+
+ .string "How’s your stock of items holding up?\p"
+ .string "I reckon there are two items left\n"
+ .string "waiting to be found on this floor.$"
+
+ .string "How’s your stock of items holding up?\p"
+ .string "I reckon there’s but one item left\n"
+ .string "waiting to be found on this floor.$"
+
+ .string "How’s your stock of items holding up?\p"
+ .string "I reckon there are no more items\n"
+ .string "waiting to be found on this floor.\l"
+ .string "You take care now!$"
+
+ .string "You’re strong, so you’ve earned\n"
+ .string "a hint!\p"
+ .string "There appear to be eight more\n"
+ .string "items on the ground.$"
+
+ .string "You’re strong, so you’ve earned\n"
+ .string "a hint!\p"
+ .string "There appear to be seven more\n"
+ .string "items on the ground.$"
+
+ .string "You’re strong, so you’ve earned\n"
+ .string "a hint!\p"
+ .string "There appear to be six more\n"
+ .string "items on the ground.$"
+
+ .string "You’re strong, so you’ve earned\n"
+ .string "a hint!\p"
+ .string "There appear to be five more\n"
+ .string "items on the ground.$"
+
+ .string "You’re strong, so you’ve earned\n"
+ .string "a hint!\p"
+ .string "There appear to be four more\n"
+ .string "items on the ground.$"
+
+ .string "You’re strong, so you’ve earned\n"
+ .string "a hint!\p"
+ .string "There appear to be three more\n"
+ .string "items on the ground.$"
+
+ .string "You’re strong, so you’ve earned\n"
+ .string "a hint!\p"
+ .string "There appear to be two more\n"
+ .string "items on the ground.$"
+
+ .string "You’re strong, so you’ve earned\n"
+ .string "a hint!\p"
+ .string "There appears to be only one more\n"
+ .string "item on the ground.$"
+
+ .string "You’re strong, so you’ve earned\n"
+ .string "a hint!\p"
+ .string "There appear to be no more\n"
+ .string "items on the ground.$"
+
+ .string "On this floor of the PYRAMID,\n"
+ .string "I hear there are eight items…$"
+
+ .string "On this floor of the PYRAMID,\n"
+ .string "I hear there are seven items…$"
+
+ .string "On this floor of the PYRAMID,\n"
+ .string "I hear there are six items…$"
+
+ .string "On this floor of the PYRAMID,\n"
+ .string "I hear there are five items…$"
+
+ .string "On this floor of the PYRAMID,\n"
+ .string "I hear there are four items…$"
+
+ .string "On this floor of the PYRAMID,\n"
+ .string "I hear there are three items…$"
+
+ .string "On this floor of the PYRAMID,\n"
+ .string "I hear there are two items…$"
+
+ .string "On this floor of the PYRAMID,\n"
+ .string "I hear there is one item…$"
+
+ .string "On this floor of the PYRAMID,\n"
+ .string "I hear there are no items…$"
+
+ .string "Have you collected any items?\p"
+ .string "I believe there are eight more\n"
+ .string "items on this floor.$"
+
+ .string "Have you collected any items?\p"
+ .string "I believe there are seven more\n"
+ .string "items on this floor.$"
+
+ .string "Have you collected any items?\p"
+ .string "I believe there are six more\n"
+ .string "items on this floor.$"
+
+ .string "Have you collected any items?\p"
+ .string "I believe there are five more\n"
+ .string "items on this floor.$"
+
+ .string "Have you collected any items?\p"
+ .string "I believe there are four more\n"
+ .string "items on this floor.$"
+
+ .string "Have you collected any items?\p"
+ .string "I believe there are three more\n"
+ .string "items on this floor.$"
+
+ .string "Have you collected any items?\p"
+ .string "I believe there are two more\n"
+ .string "items on this floor.$"
+
+ .string "Have you collected any items?\p"
+ .string "I believe there is one more\n"
+ .string "item on this floor.$"
+
+ .string "Have you collected any items?\p"
+ .string "I believe there are no more\n"
+ .string "items on this floor.$"
+
+ .string "You were really awesome!\p"
+ .string "But there are still seven tough\n"
+ .string "TRAINERS other than me!$"
+
+ .string "You were really awesome!\p"
+ .string "But there are still six tough\n"
+ .string "TRAINERS other than me!$"
+
+ .string "You were really awesome!\p"
+ .string "But there are still five tough\n"
+ .string "TRAINERS other than me!$"
+
+ .string "You were really awesome!\p"
+ .string "But there are still four tough\n"
+ .string "TRAINERS other than me!$"
+
+ .string "You were really awesome!\p"
+ .string "But there are still three tough\n"
+ .string "TRAINERS other than me!$"
+
+ .string "You were really awesome!\p"
+ .string "But there are still two tough\n"
+ .string "TRAINERS other than me!$"
+
+ .string "You were really awesome!\p"
+ .string "But there’s still one tough\n"
+ .string "TRAINER other than me!$"
+
+ .string "You were really awesome!\p"
+ .string "There’s no one left that\n"
+ .string "can beat you!$"
+
+ .string "This is so upsetting!\p"
+ .string "But there are seven TRAINERS left!\n"
+ .string "Someone will humble you!$"
+
+ .string "This is so upsetting!\p"
+ .string "But there are six TRAINERS left!\n"
+ .string "Someone will humble you!$"
+
+ .string "This is so upsetting!\p"
+ .string "But there are five TRAINERS left!\n"
+ .string "Someone will humble you!$"
+
+ .string "This is so upsetting!\p"
+ .string "But there are four TRAINERS left!\n"
+ .string "Someone will humble you!$"
+
+ .string "This is so upsetting!\p"
+ .string "But there are three TRAINERS left!\n"
+ .string "Someone will humble you!$"
+
+ .string "This is so upsetting!\p"
+ .string "But there are two TRAINERS left!\n"
+ .string "Someone will humble you!$"
+
+ .string "This is so upsetting!\p"
+ .string "But there’s one TRAINER left!\n"
+ .string "I’m sure you will be humbled!$"
+
+ .string "This is so upsetting!\p"
+ .string "But there are no more TRAINERS\n"
+ .string "who can engage you!$"
+
+ .string "That’s pretty impressive!\p"
+ .string "But there are seven more TRAINERS\n"
+ .string "on this floor. Can you beat them all?$"
+
+ .string "That’s pretty impressive!\p"
+ .string "But there are six more TRAINERS\n"
+ .string "on this floor. Can you beat them all?$"
+
+ .string "That’s pretty impressive!\p"
+ .string "But there are five more TRAINERS\n"
+ .string "on this floor. Can you beat them all?$"
+
+ .string "That’s pretty impressive!\p"
+ .string "But there are four more TRAINERS\n"
+ .string "on this floor. Can you beat them all?$"
+
+ .string "That’s pretty impressive!\p"
+ .string "But there are three more TRAINERS\n"
+ .string "on this floor. Can you beat them all?$"
+
+ .string "That’s pretty impressive!\p"
+ .string "But there are two more TRAINERS\n"
+ .string "on this floor. Can you beat them both?$"
+
+ .string "That’s pretty impressive!\p"
+ .string "But there’s still one more TRAINER\n"
+ .string "on this floor. Can you prevail?$"
+
+ .string "That’s pretty impressive!\p"
+ .string "You’ve gone through all the TRAINERS\n"
+ .string "on this floor.$"
+
+ .string "Maybe you could sweep through\n"
+ .string "the seven TRAINERS left on this floor.$"
+
+ .string "Maybe you could sweep through\n"
+ .string "the six TRAINERS left on this floor.$"
+
+ .string "Maybe you could sweep through\n"
+ .string "the five TRAINERS left on this floor.$"
+
+ .string "Maybe you could sweep through\n"
+ .string "the four TRAINERS left on this floor.$"
+
+ .string "Maybe you could sweep through\n"
+ .string "the three TRAINERS left on this floor.$"
+
+ .string "Maybe you could sweep through\n"
+ .string "the two TRAINERS left on this floor.$"
+
+ .string "Maybe you could complete your sweep\n"
+ .string "with the one TRAINER left on this floor.$"
+
+ .string "There isn’t a single person left who\n"
+ .string "can defeat you now…$"
+
+ .string "You may have what it takes to beat\n"
+ .string "the seven expert TRAINERS who remain.$"
+
+ .string "You may have what it takes to beat\n"
+ .string "the six expert TRAINERS who remain.$"
+
+ .string "You may have what it takes to beat\n"
+ .string "the five expert TRAINERS who remain.$"
+
+ .string "You may have what it takes to beat\n"
+ .string "the four expert TRAINERS who remain.$"
+
+ .string "You may have what it takes to beat\n"
+ .string "the three expert TRAINERS who remain.$"
+
+ .string "You may have what it takes to beat\n"
+ .string "the two expert TRAINERS who remain.$"
+
+ .string "You may have what it takes to beat\n"
+ .string "the one expert TRAINER who remains.$"
+
+ .string "Your skills are beyond reproach.\p"
+ .string "There are no more TRAINERS here\n"
+ .string "who have any chance of beating you.$"
+
+ .string "Can you keep winning against\n"
+ .string "the seven remaining TRAINERS?$"
+
+ .string "Can you keep winning against\n"
+ .string "the six remaining TRAINERS?$"
+
+ .string "Can you keep winning against\n"
+ .string "the five remaining TRAINERS?$"
+
+ .string "Can you keep winning against\n"
+ .string "the four remaining TRAINERS?$"
+
+ .string "Can you keep winning against\n"
+ .string "the three remaining TRAINERS?$"
+
+ .string "Can you keep winning against\n"
+ .string "the two remaining TRAINERS?$"
+
+ .string "Can you keep winning against\n"
+ .string "the last remaining TRAINER?$"
+
+ .string "There aren’t any TRAINERS left that\n"
+ .string "can take you on now…$"
+
diff --git a/data/scripts/maps/BattleFrontier_BattlePyramidLobby.inc b/data/scripts/maps/BattleFrontier_BattlePyramidLobby.inc
new file mode 100644
index 000000000..f5043f13e
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattlePyramidLobby.inc
@@ -0,0 +1,970 @@
+BattleFrontier_BattlePyramidLobby_MapScripts:: @ 8250716
+ map_script 2, BattleFrontier_BattlePyramidLobby_MapScript2_250735
+ map_script 4, BattleFrontier_BattlePyramidLobby_MapScript2_2497FB
+ .byte 0
+
+BattleFrontier_BattlePyramidLobby_MapScript2_250721: @ 8250721
+ map_script_2 VAR_0x4001, 0, BattleFrontier_BattlePyramidLobby_EventScript_25072B
+ .2byte 0
+
+BattleFrontier_BattlePyramidLobby_EventScript_25072B: @ 825072B
+ setvar VAR_0x4001, 1
+ turnobject 255, 2
+ end
+
+BattleFrontier_BattlePyramidLobby_MapScript2_250735: @ 8250735
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattlePyramidLobby_EventScript_25075F
+ map_script_2 VAR_0x4000, 1, BattleFrontier_BattlePyramidLobby_EventScript_250768
+ map_script_2 VAR_0x4000, 2, BattleFrontier_BattlePyramidLobby_EventScript_2508AC
+ map_script_2 VAR_0x4000, 3, BattleFrontier_BattlePyramidLobby_EventScript_2507B1
+ map_script_2 VAR_0x4000, 4, BattleFrontier_BattlePyramidLobby_EventScript_250852
+ .2byte 0
+
+BattleFrontier_BattlePyramidLobby_EventScript_25075F:: @ 825075F
+ setvar VAR_0x8004, 0
+ special sub_81A1780
+ end
+
+BattleFrontier_BattlePyramidLobby_EventScript_250768:: @ 8250768
+ lockall
+ message BattleFrontier_BattlePyramidLobby_Text_2516D6
+ waitmessage
+ playse SE_EXPMAX
+ waitse
+ closemessage
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 0
+ special sub_81A8E7C
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 0
+ special sub_81A8E7C
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+BattleFrontier_BattlePyramidLobby_EventScript_2507B1:: @ 82507B1
+ lockall
+ setvar VAR_0x8004, 10
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattlePyramidLobby_EventScript_2507D2
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2517B5, 4
+ goto BattleFrontier_BattlePyramidLobby_EventScript_2507DA
+
+BattleFrontier_BattlePyramidLobby_EventScript_2507D2:: @ 82507D2
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2525F4, 4
+
+BattleFrontier_BattlePyramidLobby_EventScript_2507DA:: @ 82507DA
+ special sub_81B95E0
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, BattleFrontier_BattlePyramidLobby_EventScript_250DDB
+ clearflag FLAG_SPECIAL_FLAG_0x4004
+ setvar VAR_0x8004, 8
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ setvar VAR_0x8004, 14
+ special sub_81A8E7C
+ special sp000_heal_pokemon
+ message BattleFrontier_BattlePyramidLobby_Text_2519F8
+ waitmessage
+ playse SE_EXPMAX
+ waitse
+ msgbox BattleFrontier_BattlePyramidLobby_Text_252662, 4
+ setvar VAR_0x8004, 11
+ special sub_81A1780
+ msgbox BattleFrontier_BattlePyramidLobby_Text_241520, 9
+ message BattleFrontier_BattlePyramidLobby_Text_251A77
+ waitmessage
+ setvar VAR_0x8004, 4
+ special sub_81A8E7C
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 0
+ special sub_81A8E7C
+ playse SE_SAVE
+ waitse
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251BB6, 4
+ closemessage
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+BattleFrontier_BattlePyramidLobby_EventScript_250852:: @ 8250852
+ setvar VAR_0x8004, 8
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ setvar VAR_0x8004, 14
+ special sub_81A8E7C
+ special sp000_heal_pokemon
+ lockall
+ message BattleFrontier_BattlePyramidLobby_Text_251B5A
+ waitmessage
+ playse SE_EXPMAX
+ waitse
+ message BattleFrontier_BattlePyramidLobby_Text_251A77
+ waitmessage
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 0
+ special sub_81A8E7C
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 0
+ special sub_81A8E7C
+ playse SE_SAVE
+ waitse
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251BB6, 4
+ closemessage
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+BattleFrontier_BattlePyramidLobby_EventScript_2508AC:: @ 82508AC
+ goto BattleFrontier_BattlePyramidLobby_EventScript_250A21
+
+BattleFrontier_BattlePyramidLobby_EventScript_2508B1:: @ 82508B1
+ lock
+ faceplayer
+ setvar VAR_FRONTIER_FACILITY, 6
+ setvar VAR_0x40CE, 0
+ special copy_player_party_to_sav1
+ msgbox BattleFrontier_BattlePyramidLobby_Text_250F31, 4
+
+BattleFrontier_BattlePyramidLobby_EventScript_2508C8:: @ 82508C8
+ message BattleFrontier_BattlePyramidLobby_Text_250FA7
+ waitmessage
+ multichoice 17, 6, 23, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePyramidLobby_EventScript_250904
+ case 1, BattleFrontier_BattlePyramidLobby_EventScript_250A68
+ case 2, BattleFrontier_BattlePyramidLobby_EventScript_250AC4
+ case 127, BattleFrontier_BattlePyramidLobby_EventScript_250AC4
+
+BattleFrontier_BattlePyramidLobby_EventScript_250904:: @ 8250904
+ message BattleFrontier_BattlePyramidLobby_Text_251248
+ waitmessage
+ multichoice 17, 6, 24, 0
+ switch VAR_RESULT
+ case 2, BattleFrontier_BattlePyramidLobby_EventScript_250AC4
+ case 127, BattleFrontier_BattlePyramidLobby_EventScript_250AC4
+ setvar VAR_0x8004, 15
+ special sub_81A1780
+ compare_var_to_value VAR_0x8004, 1
+ goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250A75
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A1780
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251297, 4
+ fadescreen 1
+ call BattleFrontier_BattlePyramidLobby_EventScript_23F2B7
+ copyvar VAR_0x8004, VAR_RESULT
+ setvar VAR_0x8005, 3
+ special sub_80F9490
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250AC1
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2514E6, 5
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePyramidLobby_EventScript_250AC1
+ case 1, BattleFrontier_BattlePyramidLobby_EventScript_2509A5
+ case 127, BattleFrontier_BattlePyramidLobby_EventScript_250AC1
+
+BattleFrontier_BattlePyramidLobby_EventScript_2509A5:: @ 82509A5
+ setvar VAR_0x4000, 0
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 4
+ special sub_81A1780
+ setvar VAR_0x8004, 0
+ special sub_81A8E7C
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 1
+ special sub_81A8E7C
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x8004, 6
+ special sub_81A8E7C
+ setvar VAR_0x8004, 9
+ special sub_81A8E7C
+ special copy_player_party_from_sav1
+ closemessage
+ delay 2
+ call BattleFrontier_BattlePyramidLobby_EventScript_27134F
+ setvar VAR_0x4000, 255
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250AAA
+
+BattleFrontier_BattlePyramidLobby_EventScript_250A21:: @ 8250A21
+ special copy_player_party_to_sav1
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 3
+ special sub_81A1780
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251531, 4
+ closemessage
+ call BattleFrontier_BattlePyramidLobby_EventScript_250D56
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_RESULT, 0
+ special sp000_heal_pokemon
+ warp BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE, 255, 1, 1
+ setvar VAR_0x4000, 0
+ waitstate
+ end
+
+BattleFrontier_BattlePyramidLobby_EventScript_250A68:: @ 8250A68
+ msgbox BattleFrontier_BattlePyramidLobby_Text_25100C, 4
+ goto BattleFrontier_BattlePyramidLobby_EventScript_2508C8
+
+BattleFrontier_BattlePyramidLobby_EventScript_250A75:: @ 8250A75
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePyramidLobby_EventScript_250A90
+ case 1, BattleFrontier_BattlePyramidLobby_EventScript_250A9D
+
+BattleFrontier_BattlePyramidLobby_EventScript_250A90:: @ 8250A90
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2513C1, 4
+ goto BattleFrontier_BattlePyramidLobby_EventScript_250ACC
+
+BattleFrontier_BattlePyramidLobby_EventScript_250A9D:: @ 8250A9D
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2512E2, 4
+ goto BattleFrontier_BattlePyramidLobby_EventScript_250ACC
+
+BattleFrontier_BattlePyramidLobby_EventScript_250AAA:: @ 8250AAA
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ goto BattleFrontier_BattlePyramidLobby_EventScript_250AC4
+
+BattleFrontier_BattlePyramidLobby_EventScript_250AC1:: @ 8250AC1
+ special copy_player_party_from_sav1
+
+BattleFrontier_BattlePyramidLobby_EventScript_250AC4:: @ 8250AC4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_250FE5, 4
+
+BattleFrontier_BattlePyramidLobby_EventScript_250ACC:: @ 8250ACC
+ release
+ end
+
+BattleFrontier_BattlePyramidLobby_EventScript_250ACE:: @ 8250ACE
+ lockall
+ applymovement 2, BattleFrontier_BattlePyramidLobby_Movement_27259E
+ waitmovement 0
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251C3B, 4
+ call BattleFrontier_BattlePyramidLobby_EventScript_250AF0
+ msgbox BattleFrontier_BattlePyramidLobby_Text_252461, 4
+ releaseall
+ end
+
+BattleFrontier_BattlePyramidLobby_EventScript_250AF0:: @ 8250AF0
+ multichoice 17, 6, 24, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePyramidLobby_EventScript_250B28
+ case 1, BattleFrontier_BattlePyramidLobby_EventScript_250B66
+ case 2, BattleFrontier_BattlePyramidLobby_EventScript_250B27
+ case 127, BattleFrontier_BattlePyramidLobby_EventScript_250B27
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250B27:: @ 8250B27
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250B28:: @ 8250B28
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251C8A, 4
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 5
+ special sub_81A8E7C
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattlePyramidLobby_EventScript_250B53
+ setvar VAR_RESULT, 0
+ goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250B53:: @ 8250B53
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 3
+ special sub_81A8E7C
+ goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250B66:: @ 8250B66
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251C8A, 4
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 6
+ special sub_81A8E7C
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattlePyramidLobby_EventScript_250B91
+ setvar VAR_RESULT, 0
+ goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250B91:: @ 8250B91
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 4
+ special sub_81A8E7C
+ goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250BA4:: @ 8250BA4
+ copyvar VAR_0x8004, VAR_RESULT
+ special sub_813B968
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePyramidLobby_EventScript_250C8E
+ case 1, BattleFrontier_BattlePyramidLobby_EventScript_250C97
+ case 2, BattleFrontier_BattlePyramidLobby_EventScript_250CA0
+ case 3, BattleFrontier_BattlePyramidLobby_EventScript_250CA9
+ case 4, BattleFrontier_BattlePyramidLobby_EventScript_250CB2
+ case 5, BattleFrontier_BattlePyramidLobby_EventScript_250CBB
+ case 6, BattleFrontier_BattlePyramidLobby_EventScript_250CC4
+ case 7, BattleFrontier_BattlePyramidLobby_EventScript_250CCD
+ case 8, BattleFrontier_BattlePyramidLobby_EventScript_250CD6
+ case 9, BattleFrontier_BattlePyramidLobby_EventScript_250CDF
+ case 10, BattleFrontier_BattlePyramidLobby_EventScript_250CE8
+ case 11, BattleFrontier_BattlePyramidLobby_EventScript_250CF1
+ case 12, BattleFrontier_BattlePyramidLobby_EventScript_250CFA
+ case 13, BattleFrontier_BattlePyramidLobby_EventScript_250D03
+ case 14, BattleFrontier_BattlePyramidLobby_EventScript_250D0C
+ case 15, BattleFrontier_BattlePyramidLobby_EventScript_250D15
+ case 16, BattleFrontier_BattlePyramidLobby_EventScript_250D1E
+ case 17, BattleFrontier_BattlePyramidLobby_EventScript_250D27
+ case 18, BattleFrontier_BattlePyramidLobby_EventScript_250D30
+ case 19, BattleFrontier_BattlePyramidLobby_EventScript_250D39
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250C8E:: @ 8250C8E
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251CB3, 4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250C97:: @ 8250C97
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251D07, 4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250CA0:: @ 8250CA0
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251D54, 4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250CA9:: @ 8250CA9
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251D9C, 4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250CB2:: @ 8250CB2
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251E3D, 4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250CBB:: @ 8250CBB
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251EA1, 4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250CC4:: @ 8250CC4
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251F17, 4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250CCD:: @ 8250CCD
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251F6E, 4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250CD6:: @ 8250CD6
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251FC7, 4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250CDF:: @ 8250CDF
+ msgbox BattleFrontier_BattlePyramidLobby_Text_25201B, 4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250CE8:: @ 8250CE8
+ msgbox BattleFrontier_BattlePyramidLobby_Text_252068, 4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250CF1:: @ 8250CF1
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2520BA, 4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250CFA:: @ 8250CFA
+ msgbox BattleFrontier_BattlePyramidLobby_Text_252158, 4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250D03:: @ 8250D03
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2521B4, 4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250D0C:: @ 8250D0C
+ msgbox BattleFrontier_BattlePyramidLobby_Text_252206, 4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250D15:: @ 8250D15
+ msgbox BattleFrontier_BattlePyramidLobby_Text_25225A, 4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250D1E:: @ 8250D1E
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2522AE, 4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250D27:: @ 8250D27
+ msgbox BattleFrontier_BattlePyramidLobby_Text_25230B, 4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250D30:: @ 8250D30
+ msgbox BattleFrontier_BattlePyramidLobby_Text_252364, 4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250D39:: @ 8250D39
+ msgbox BattleFrontier_BattlePyramidLobby_Text_252403, 4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250D42:: @ 8250D42
+ lockall
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 6
+ special sub_81A1780
+ waitbuttonpress
+ special sub_813C5A0
+ releaseall
+ end
+
+BattleFrontier_BattlePyramidLobby_EventScript_250D56:: @ 8250D56
+ applymovement 1, BattleFrontier_BattlePyramidLobby_Movement_250DC4
+ applymovement 255, BattleFrontier_BattlePyramidLobby_Movement_250DCD
+ waitmovement 0
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251569, 4
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ special sub_81A8E7C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250D94
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2515AD, 4
+ goto BattleFrontier_BattlePyramidLobby_EventScript_250D9C
+
+BattleFrontier_BattlePyramidLobby_EventScript_250D94:: @ 8250D94
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2515F4, 4
+
+BattleFrontier_BattlePyramidLobby_EventScript_250D9C:: @ 8250D9C
+ message BattleFrontier_BattlePyramidLobby_Text_25161E
+ waitmessage
+ playse SE_EXPMAX
+ waitse
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251647, 4
+ closemessage
+ applymovement 1, BattleFrontier_BattlePyramidLobby_Movement_250DD5
+ waitmovement 0
+ applymovement 255, BattleFrontier_BattlePyramidLobby_Movement_250DD8
+ waitmovement 0
+ return
+
+BattleFrontier_BattlePyramidLobby_Movement_250DC4: @ 8250DC4
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_00
+ step_end
+
+BattleFrontier_BattlePyramidLobby_Movement_250DCD: @ 8250DCD
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+BattleFrontier_BattlePyramidLobby_Movement_250DD5: @ 8250DD5
+ step_right
+ step_02
+ step_end
+
+BattleFrontier_BattlePyramidLobby_Movement_250DD8: @ 8250DD8
+ step_up
+ step_up
+ step_end
+
+BattleFrontier_BattlePyramidLobby_EventScript_250DDB:: @ 8250DDB
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2517FC, 4
+ setflag FLAG_SPECIAL_FLAG_0x4004
+ special sub_81C6A94
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250E00
+ message BattleFrontier_BattlePyramidLobby_Text_2518C6
+ waitmessage
+ goto BattleFrontier_BattlePyramidLobby_EventScript_250E09
+ end
+
+BattleFrontier_BattlePyramidLobby_EventScript_250E00:: @ 8250E00
+ msgbox BattleFrontier_BattlePyramidLobby_Text_251881, 4
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250E09:: @ 8250E09
+ multichoice 17, 6, 83, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePyramidLobby_EventScript_250E40
+ case 1, BattleFrontier_BattlePyramidLobby_EventScript_250E50
+ case 2, BattleFrontier_BattlePyramidLobby_EventScript_250E60
+ case 127, BattleFrontier_BattlePyramidLobby_EventScript_250E60
+ end
+
+BattleFrontier_BattlePyramidLobby_EventScript_250E40:: @ 8250E40
+ special sub_81C4F24
+ waitstate
+ message BattleFrontier_BattlePyramidLobby_Text_25197E
+ waitmessage
+ goto BattleFrontier_BattlePyramidLobby_EventScript_250E09
+ end
+
+BattleFrontier_BattlePyramidLobby_EventScript_250E50:: @ 8250E50
+ special sub_81B9620
+ waitstate
+ message BattleFrontier_BattlePyramidLobby_Text_25197E
+ waitmessage
+ goto BattleFrontier_BattlePyramidLobby_EventScript_250E09
+ end
+
+BattleFrontier_BattlePyramidLobby_EventScript_250E60:: @ 8250E60
+ special sub_81B95E0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250E6F
+ return
+
+BattleFrontier_BattlePyramidLobby_EventScript_250E6F:: @ 8250E6F
+ msgbox BattleFrontier_BattlePyramidLobby_Text_25194F, 4
+ message BattleFrontier_BattlePyramidLobby_Text_25197E
+ waitmessage
+ goto BattleFrontier_BattlePyramidLobby_EventScript_250E09
+ end
+
+BattleFrontier_BattlePyramidLobby_EventScript_250E83:: @ 8250E83
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2524DA, 2
+ end
+
+BattleFrontier_BattlePyramidLobby_EventScript_250E8C:: @ 8250E8C
+ msgbox BattleFrontier_BattlePyramidLobby_Text_252595, 2
+ end
+
+BattleFrontier_BattlePyramidLobby_EventScript_250E95:: @ 8250E95
+ lockall
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2526B6, 4
+ goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4
+ end
+
+BattleFrontier_BattlePyramidLobby_EventScript_250EA4:: @ 8250EA4
+ message BattleFrontier_BattlePyramidLobby_Text_2526D9
+ waitmessage
+ multichoice 15, 2, 101, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattlePyramidLobby_EventScript_250EF7
+ case 1, BattleFrontier_BattlePyramidLobby_EventScript_250F05
+ case 2, BattleFrontier_BattlePyramidLobby_EventScript_250F13
+ case 3, BattleFrontier_BattlePyramidLobby_EventScript_250F21
+ case 4, BattleFrontier_BattlePyramidLobby_EventScript_250F2F
+ case 127, BattleFrontier_BattlePyramidLobby_EventScript_250F2F
+ end
+
+BattleFrontier_BattlePyramidLobby_EventScript_250EF7:: @ 8250EF7
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2526FC, 4
+ goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4
+ end
+
+BattleFrontier_BattlePyramidLobby_EventScript_250F05:: @ 8250F05
+ msgbox BattleFrontier_BattlePyramidLobby_Text_2527A9, 4
+ goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4
+ end
+
+BattleFrontier_BattlePyramidLobby_EventScript_250F13:: @ 8250F13
+ msgbox BattleFrontier_BattlePyramidLobby_Text_25285A, 4
+ goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4
+ end
+
+BattleFrontier_BattlePyramidLobby_EventScript_250F21:: @ 8250F21
+ msgbox BattleFrontier_BattlePyramidLobby_Text_252924, 4
+ goto BattleFrontier_BattlePyramidLobby_EventScript_250EA4
+ end
+
+BattleFrontier_BattlePyramidLobby_EventScript_250F2F:: @ 8250F2F
+ releaseall
+ end
+
+BattleFrontier_BattlePyramidLobby_Text_250F31: @ 8250F31
+ .string "Where the courage of TRAINERS\n"
+ .string "is put to the test!\p"
+ .string "Welcome to the BATTLE PYRAMID!\p"
+ .string "I am your guide to\n"
+ .string "the Battle Quest.$"
+
+BattleFrontier_BattlePyramidLobby_Text_250FA7: @ 8250FA7
+ .string "Have you the courage to embark on\n"
+ .string "the Battle Quest challenge?$"
+
+BattleFrontier_BattlePyramidLobby_Text_250FE5: @ 8250FE5
+ .string "We await your challenge in the future!$"
+
+BattleFrontier_BattlePyramidLobby_Text_25100C: @ 825100C
+ .string "The Battle Quest is a battling\n"
+ .string "event in which you must explore\l"
+ .string "the PYRAMID and try to reach the top.\p"
+ .string "In the PYRAMID are seven floors of\n"
+ .string "mazes, all of them filled with not only\l"
+ .string "skilled TRAINERS but also wild POKéMON.\p"
+ .string "You must enter with three POKéMON,\n"
+ .string "none of them holding an item.\p"
+ .string "On your ascent, you will be provided\n"
+ .string "with a BATTLE BAG for items.\p"
+ .string "If you fail in your challenge, any item\n"
+ .string "placed in the BATTLE BAG disappears.\p"
+ .string "If you want to interrupt your\n"
+ .string "challenge, you must select “REST”\l"
+ .string "and save the game.\p"
+ .string "If you don’t save before interrupting,\n"
+ .string "you will be disqualified.$"
+
+BattleFrontier_BattlePyramidLobby_Text_251248: @ 8251248
+ .string "The PYRAMID offers two courses,\n"
+ .string "Level 50 and Open Level.\l"
+ .string "Which will you enter?$"
+
+BattleFrontier_BattlePyramidLobby_Text_251297: @ 8251297
+ .string "Very good. Now, please select the three\n"
+ .string "POKéMON you wish to accompany you.$"
+
+BattleFrontier_BattlePyramidLobby_Text_2512E2: @ 82512E2
+ .string "A slight problem, adventurer!\p"
+ .string "You seem to not have the three\n"
+ .string "POKéMON qualified for the challenge.\p"
+ .string "Please also remember to take all\n"
+ .string "items from your POKéMON.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "When you are ready, please have\n"
+ .string "a word with me.$"
+
+BattleFrontier_BattlePyramidLobby_Text_2513C1: @ 82513C1
+ .string "A slight problem, adventurer!\p"
+ .string "You seem to not have the three\n"
+ .string "POKéMON qualified for the challenge.\p"
+ .string "The three POKéMON must be different\n"
+ .string "and each no higher than Level 50.\p"
+ .string "Please also remember to take all\n"
+ .string "items from your POKéMON.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "When you are ready, please have\n"
+ .string "a word with me.$"
+
+BattleFrontier_BattlePyramidLobby_Text_2514E6: @ 82514E6
+ .string "Before you enter the BATTLE PYRAMID,\n"
+ .string "the game must be saved. Is that okay?$"
+
+BattleFrontier_BattlePyramidLobby_Text_251531: @ 8251531
+ .string "Very good. I will now show you into\n"
+ .string "the BATTLE PYRAMID.$"
+
+BattleFrontier_BattlePyramidLobby_Text_251569: @ 8251569
+ .string "We will hold your BAG for safekeeping,\n"
+ .string "{PLAYER}, while you are exploring.$"
+
+BattleFrontier_BattlePyramidLobby_Text_2515AD: @ 82515AD
+ .string "In exchange, please take this BATTLE\n"
+ .string "BAG, the one you used previously.$"
+
+BattleFrontier_BattlePyramidLobby_Text_2515F4: @ 82515F4
+ .string "In exchange, please take this\n"
+ .string "BATTLE BAG.$"
+
+BattleFrontier_BattlePyramidLobby_Text_25161E: @ 825161E
+ .string "{PLAYER} exchanged the BAG for\n"
+ .string "the BATTLE BAG.$"
+
+BattleFrontier_BattlePyramidLobby_Text_251647: @ 8251647
+ .string "When you step on this floor panel,\n"
+ .string "you will be transported to a higher\l"
+ .string "floor in the PYRAMID.\p"
+ .string "I hope for your sake that your\n"
+ .string "quest goes safely!$"
+
+BattleFrontier_BattlePyramidLobby_Text_2516D6: @ 82516D6
+ .string "A major problem, explorer!\p"
+ .string "You did not save before ending\n"
+ .string "your challenge the last time.\p"
+ .string "Consequently, your challenge has\n"
+ .string "been disqualified, I’m sorry to say.\p"
+ .string "Here is the BAG we’ve been holding\n"
+ .string "for you.\p"
+ .string "{PLAYER} got the BAG back.$"
+
+BattleFrontier_BattlePyramidLobby_Text_2517B5: @ 82517B5
+ .string "Excellent to see you back!\p"
+ .string "You’ve conquered the PYRAMID!\n"
+ .string "How splendid!$"
+
+BattleFrontier_BattlePyramidLobby_Text_2517FC: @ 82517FC
+ .string "Ah, a slight problem.\p"
+ .string "At least one POKéMON is holding\n"
+ .string "an item.\p"
+ .string "I’m sorry to say, items obtained in\n"
+ .string "the PYRAMID cannot be taken away.$"
+
+BattleFrontier_BattlePyramidLobby_Text_251881: @ 8251881
+ .string "All items held by your POKéMON will be\n"
+ .string "moved to your BATTLE BAG, {PLAYER}.$"
+
+BattleFrontier_BattlePyramidLobby_Text_2518C6: @ 82518C6
+ .string "The BATTLE BAG cannot hold all your\n"
+ .string "items, I’m sorry to say.\p"
+ .string "Please pick the items you’ll keep in the\n"
+ .string "BATTLE BAG, and with your POKéMON.$"
+
+BattleFrontier_BattlePyramidLobby_Text_25194F: @ 825194F
+ .string "At least one POKéMON is still\n"
+ .string "holding an item.$"
+
+BattleFrontier_BattlePyramidLobby_Text_25197E: @ 825197E
+ .string "Please pick the items you’ll keep in the\n"
+ .string "BATTLE BAG, and with your POKéMON.$"
+
+BattleFrontier_BattlePyramidLobby_Text_2519CA: @ 82519CA
+ .string "{PLAYER} returned everything that\n"
+ .string "the POKéMON held.$"
+
+BattleFrontier_BattlePyramidLobby_Text_2519F8: @ 82519F8
+ .string "The BATTLE BAG you used will be kept\n"
+ .string "in readiness for your next challenge.\p"
+ .string "{PLAYER} turned the BATTLE BAG over\n"
+ .string "for the BAG’s return.$"
+
+BattleFrontier_BattlePyramidLobby_Text_251A77: @ 8251A77
+ .string "I must record your results.\n"
+ .string "Please wait.$"
+
+BattleFrontier_BattlePyramidLobby_Text_251AA0: @ 8251AA0
+ .string "As a memento for conquering\n"
+ .string "the BATTLE PYRAMID, please take this.$"
+
+BattleFrontier_BattlePyramidLobby_Text_251AE2: @ 8251AE2
+ .string "{PLAYER} received the prize\n"
+ .string "{STR_VAR_1}.$"
+
+BattleFrontier_BattlePyramidLobby_Text_251AFC: @ 8251AFC
+ .string "…Ah…\n"
+ .string "Your BAG appears to be filled.\p"
+ .string "Please return after you’ve organized\n"
+ .string "your BAG’s contents.$"
+
+BattleFrontier_BattlePyramidLobby_Text_251B5A: @ 8251B5A
+ .string "How disappointing for you…\p"
+ .string "Here is the BAG we’ve been holding\n"
+ .string "for you.\p"
+ .string "{PLAYER} got the BAG back.$"
+
+BattleFrontier_BattlePyramidLobby_Text_251BB6: @ 8251BB6
+ .string "We look forward to your\n"
+ .string "next challenge!$"
+
+BattleFrontier_BattlePyramidLobby_Text_251BDE: @ 8251BDE
+ .string "We have been looking forward to\n"
+ .string "your arrival!\p"
+ .string "Here is your prize for conquering\n"
+ .string "the PYRAMID.$"
+
+BattleFrontier_BattlePyramidLobby_Text_251C3B: @ 8251C3B
+ .string "Welcome…\p"
+ .string "I shall be pleased to tell you what\n"
+ .string "misfortunes await in the PYRAMID…$"
+
+BattleFrontier_BattlePyramidLobby_Text_251C8A: @ 8251C8A
+ .string "… … … … … …\n"
+ .string "… … … … … …\p"
+ .string "… … … … … …\n"
+ .string "Aah!$"
+
+BattleFrontier_BattlePyramidLobby_Text_251CB3: @ 8251CB3
+ .string "I see a shower of sparks…\p"
+ .string "…And in it, I see your POKéMON\n"
+ .string "struggling with paralysis…$"
+
+BattleFrontier_BattlePyramidLobby_Text_251D07: @ 8251D07
+ .string "I see poison…\p"
+ .string "…And, I see your POKéMON suffering\n"
+ .string "from the effects of poison…$"
+
+BattleFrontier_BattlePyramidLobby_Text_251D54: @ 8251D54
+ .string "I see bright red flames…\p"
+ .string "…And, I see your POKéMON suffering\n"
+ .string "from burns…$"
+
+BattleFrontier_BattlePyramidLobby_Text_251D9C: @ 8251D9C
+ .string "I sense the tremendous pressure of\n"
+ .string "unrequited anger…\p"
+ .string "It is a curse…\p"
+ .string "…And, I see your POKéMON drained of\n"
+ .string "Power Points and having no recourse\l"
+ .string "but to use STRUGGLE…$"
+
+BattleFrontier_BattlePyramidLobby_Text_251E3D: @ 8251E3D
+ .string "I see POKéMON loftily airborne…\p"
+ .string "…And, I see your POKéMON frustrated\n"
+ .string "by powerless GROUND-type moves…$"
+
+BattleFrontier_BattlePyramidLobby_Text_251EA1: @ 8251EA1
+ .string "I sense terrific energy rising from\n"
+ .string "the ground below…\p"
+ .string "…And, I see your POKéMON unable to\n"
+ .string "escape the power’s clutches…$"
+
+BattleFrontier_BattlePyramidLobby_Text_251F17: @ 8251F17
+ .string "I see ICE-type POKéMON…\p"
+ .string "…And, I see your POKéMON fighting\n"
+ .string "the freezing effects of ice…$"
+
+BattleFrontier_BattlePyramidLobby_Text_251F6E: @ 8251F6E
+ .string "I see a flurry of moves that imperil\n"
+ .string "the user…\p"
+ .string "…And, I see your POKéMON falling\n"
+ .string "to them…$"
+
+BattleFrontier_BattlePyramidLobby_Text_251FC7: @ 8251FC7
+ .string "I see PSYCHIC-type POKéMON…\p"
+ .string "…And, I see your POKéMON in torment\n"
+ .string "from PSYCHIC moves…$"
+
+BattleFrontier_BattlePyramidLobby_Text_25201B: @ 825201B
+ .string "I see ROCK-type POKéMON…\p"
+ .string "…And, I see your POKéMON suffering\n"
+ .string "from ROCK moves…$"
+
+BattleFrontier_BattlePyramidLobby_Text_252068: @ 8252068
+ .string "I see FIGHTING-type POKéMON…\p"
+ .string "…And, I see your POKéMON pummeled\n"
+ .string "by FIGHTING moves…$"
+
+BattleFrontier_BattlePyramidLobby_Text_2520BA: @ 82520BA
+ .string "RAIN DANCE… SUNNY DAY…\n"
+ .string "SANDSTORM… HAIL…\p"
+ .string "I see POKéMON that become stronger\n"
+ .string "with the weather…\p"
+ .string "…And, I see your POKéMON confounded\n"
+ .string "by different types of moves…$"
+
+BattleFrontier_BattlePyramidLobby_Text_252158: @ 8252158
+ .string "I see BUG-type POKéMON…\p"
+ .string "…And, I see your POKéMON suffering\n"
+ .string "from different kinds of attacks…$"
+
+BattleFrontier_BattlePyramidLobby_Text_2521B4: @ 82521B4
+ .string "I see DARK-type POKéMON…\p"
+ .string "…And, I see your POKéMON suffering\n"
+ .string "from DARK-type moves…$"
+
+BattleFrontier_BattlePyramidLobby_Text_252206: @ 8252206
+ .string "I see WATER-type POKéMON…\p"
+ .string "…And, I see your POKéMON suffering\n"
+ .string "from WATER-type moves…$"
+
+BattleFrontier_BattlePyramidLobby_Text_25225A: @ 825225A
+ .string "I see GHOST-type POKéMON…\p"
+ .string "…And, I see your POKéMON suffering\n"
+ .string "from GHOST-type moves…$"
+
+BattleFrontier_BattlePyramidLobby_Text_2522AE: @ 82522AE
+ .string "I see STEEL-type POKéMON…\p"
+ .string "…And, I see your POKéMON suffering\n"
+ .string "from enormously powerful moves…$"
+
+BattleFrontier_BattlePyramidLobby_Text_25230B: @ 825230B
+ .string "I see flying POKéMON…\p"
+ .string "…And, I see your POKéMON suffering\n"
+ .string "from enormously powerful moves…$"
+
+BattleFrontier_BattlePyramidLobby_Text_252364: @ 8252364
+ .string "I see those that have evolved from\n"
+ .string "the power of stones…\p"
+ .string "I also sense fire, water,\n"
+ .string "and electricity…\p"
+ .string "…And, I see your POKéMON suffering\n"
+ .string "from those three powers…$"
+
+BattleFrontier_BattlePyramidLobby_Text_252403: @ 8252403
+ .string "I see NORMAL-type POKéMON…\p"
+ .string "…And, I see your POKéMON suffering\n"
+ .string "from enormously powerful moves…$"
+
+BattleFrontier_BattlePyramidLobby_Text_252461: @ 8252461
+ .string "Whether you believe my fortunes\n"
+ .string "or not, the choice is yours…\p"
+ .string "The future can be changed anytime…\n"
+ .string "I wish you safe passage…$"
+
+BattleFrontier_BattlePyramidLobby_Text_2524DA: @ 82524DA
+ .string "Did you know?\p"
+ .string "If you run fast, TRAINERS may notice\n"
+ .string "and come after you for a battle.\p"
+ .string "So, if you want to avoid TRAINERS,\n"
+ .string "don’t catch their eyes, but sneak\l"
+ .string "cautiously and quietly past them.$"
+
+BattleFrontier_BattlePyramidLobby_Text_252595: @ 8252595
+ .string "Awaaaaaaarrrrgh!\p"
+ .string "I had a whole lot of items, but I lost\n"
+ .string "them all when I lost!\p"
+ .string "Awaaaaaaarrrrgh!$"
+
+BattleFrontier_BattlePyramidLobby_Text_2525F4: @ 82525F4
+ .string "Welcome back!\n"
+ .string "You’ve done the unthinkable!\p"
+ .string "You’ve defeated the PYRAMID KING\n"
+ .string "and conquered the BATTLE PYRAMID!$"
+
+BattleFrontier_BattlePyramidLobby_Text_252662: @ 8252662
+ .string "Young explorer!\n"
+ .string "In commendation of your courage,\l"
+ .string "we give you these Battle Point(s)!$"
+
+BattleFrontier_BattlePyramidLobby_Text_2526B6: @ 82526B6
+ .string "The Battle Quest rules are listed.$"
+
+BattleFrontier_BattlePyramidLobby_Text_2526D9: @ 82526D9
+ .string "Which heading do you want to read?$"
+
+BattleFrontier_BattlePyramidLobby_Text_2526FC: @ 82526FC
+ .string "When the PYRAMID is conquered,\n"
+ .string "the wild POKéMON that appear in it\l"
+ .string "are replaced by different kinds.\p"
+ .string "Explore, observe, and learn what kinds\n"
+ .string "of wild POKéMON you may encounter.$"
+
+BattleFrontier_BattlePyramidLobby_Text_2527A9: @ 82527A9
+ .string "TRAINERS are lying in wait for you\n"
+ .string "inside the PYRAMID.\p"
+ .string "On each floor, there are up to\n"
+ .string "eight TRAINERS.\p"
+ .string "When you defeat a TRAINER, you will\n"
+ .string "get a helpful hint for your adventure.$"
+
+BattleFrontier_BattlePyramidLobby_Text_25285A: @ 825285A
+ .string "The mazes in the PYRAMID rearrange\n"
+ .string "themselves every time you enter it.\p"
+ .string "The mazes are poorly lit.\n"
+ .string "You must advance with caution.\p"
+ .string "The light grows brighter whenever you\n"
+ .string "defeat a wild POKéMON or a TRAINER.$"
+
+BattleFrontier_BattlePyramidLobby_Text_252924: @ 8252924
+ .string "The BATTLE BAG serves as your BAG\n"
+ .string "while in the PYRAMID.\p"
+ .string "There are two separate BATTLE BAGS--\n"
+ .string "one each for the Level 50 and\l"
+ .string "Open Level adventures.\p"
+ .string "They each can hold up to 99 pieces\n"
+ .string "of ten kinds of items.\p"
+ .string "The contents of the BATTLE BAG are\n"
+ .string "lost if you fail in your quest.$"
+
diff --git a/data/scripts/maps/BattleFrontier_BattlePyramidTop.inc b/data/scripts/maps/BattleFrontier_BattlePyramidTop.inc
new file mode 100644
index 000000000..5249a28d6
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattlePyramidTop.inc
@@ -0,0 +1,379 @@
+BattleFrontier_BattlePyramidTop_MapScripts:: @ 82550A1
+ map_script 5, BattleFrontier_BattlePyramidTop_MapScript1_2550F4
+ map_script 2, BattleFrontier_BattlePyramidTop_MapScript2_25516E
+ map_script 3, BattleFrontier_BattlePyramidTop_MapScript1_2550B6
+ map_script 4, BattleFrontier_BattlePyramidTop_MapScript2_2550CE
+ .byte 0
+
+BattleFrontier_BattlePyramidTop_MapScript1_2550B6: @ 82550B6
+ setvar VAR_0x8004, 13
+ setvar VAR_0x8005, 200
+ setvar VAR_0x8006, 0
+ special sub_81A8E7C
+ setvar VAR_0x400F, 1
+ end
+
+BattleFrontier_BattlePyramidTop_MapScript2_2550CE: @ 82550CE
+ map_script_2 VAR_0x4001, 0, BattleFrontier_BattlePyramidTop_EventScript_2550D8
+ .2byte 0
+
+BattleFrontier_BattlePyramidTop_EventScript_2550D8:: @ 82550D8
+ setvar VAR_0x4001, 1
+ turnobject 255, 2
+ compare_var_to_value VAR_0x400C, 0
+ goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_2550F3
+ setobjectxyperm 2, 0, 0
+
+BattleFrontier_BattlePyramidTop_EventScript_2550F3:: @ 82550F3
+ end
+
+BattleFrontier_BattlePyramidTop_MapScript1_2550F4: @ 82550F4
+ setvar VAR_0x8004, 9
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattlePyramidTop_EventScript_25510C
+ call BattleFrontier_BattlePyramidTop_EventScript_242170
+
+BattleFrontier_BattlePyramidTop_EventScript_25510C:: @ 825510C
+ copyvar VAR_0x400C, VAR_RESULT
+ setvar VAR_0x8004, 0
+ special sub_81A1780
+ switch VAR_0x4000
+ case 0, BattleFrontier_BattlePyramidTop_EventScript_255193
+ case 1, BattleFrontier_BattlePyramidTop_EventScript_252B66
+ case 2, BattleFrontier_BattlePyramidTop_EventScript_255193
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 5
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
+ compare_var_to_value VAR_RESULT, 3
+ goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
+ compare_var_to_value VAR_RESULT, 9
+ goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
+ end
+
+BattleFrontier_BattlePyramidTop_MapScript2_25516E: @ 825516E
+ map_script_2 VAR_0x400E, 0, BattleFrontier_BattlePyramidTop_EventScript_255180
+ map_script_2 VAR_0x400F, 1, BattleFrontier_BattlePyramidTop_EventScript_25518A
+ .2byte 0
+
+BattleFrontier_BattlePyramidTop_EventScript_255180:: @ 8255180
+ playbgm BGM_BATTLE_PYRAMID_SUMMIT, 0
+ setvar VAR_0x400E, 1
+ end
+
+BattleFrontier_BattlePyramidTop_EventScript_25518A:: @ 825518A
+ special AddMapNamePopUpWindowTask
+ setvar VAR_0x400F, 0
+ end
+
+BattleFrontier_BattlePyramidTop_EventScript_255193:: @ 8255193
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 1
+ special sub_81A8E7C
+ special copy_player_party_to_sav1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x8004, 9
+ special sub_81A8E7C
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 3
+ special sub_81A1780
+ setvar VAR_0x400F, 1
+ end
+
+BattleFrontier_BattlePyramidTop_EventScript_2551D0:: @ 82551D0
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x400D, 0
+ goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_255236
+ compare_var_to_value VAR_0x400C, 0
+ goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_255240
+ msgbox BattleFrontier_BattlePyramidTop_Text_255410, 4
+ closemessage
+ applymovement 1, BattleFrontier_BattlePyramidTop_Movement_2553FD
+ waitmovement 0
+ applymovement 255, BattleFrontier_BattlePyramidTop_Movement_255403
+ waitmovement 0
+ applymovement 1, BattleFrontier_BattlePyramidTop_Movement_255400
+ waitmovement 0
+ message BattleFrontier_BattlePyramidTop_Text_2554E8
+ waitmessage
+ playfanfare BGM_ME_BATTLE_POINTS
+ waitfanfare
+ closemessage
+
+BattleFrontier_BattlePyramidTop_EventScript_25521A:: @ 825521A
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 3
+ special sub_81A1780
+ warp BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY, 255, 7, 13
+ waitstate
+ end
+
+BattleFrontier_BattlePyramidTop_EventScript_255236:: @ 8255236
+ msgbox BattleFrontier_BattlePyramidTop_Text_255BFE, 4
+ closemessage
+ end
+
+BattleFrontier_BattlePyramidTop_EventScript_255240:: @ 8255240
+ msgbox BattleFrontier_BattlePyramidTop_Text_25551F, 4
+ applymovement 1, BattleFrontier_BattlePyramidTop_Movement_2553FD
+ setvar VAR_0x400D, 1
+ closemessage
+ end
+
+BattleFrontier_BattlePyramidTop_EventScript_255256:: @ 8255256
+ lockall
+ switch VAR_0x400C
+ case 2, BattleFrontier_BattlePyramidTop_EventScript_255335
+ case 3, BattleFrontier_BattlePyramidTop_EventScript_2552D0
+ case 4, BattleFrontier_BattlePyramidTop_EventScript_255388
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_2552D0
+ special SpawnScriptFieldObject
+ applymovement 127, BattleFrontier_BattlePyramidTop_Movement_25540C
+ waitmovement 0
+ msgbox BattleFrontier_BattlePyramidTop_Text_255669, 4
+ closemessage
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+ applymovement 2, BattleFrontier_BattlePyramidTop_Movement_25540A
+ waitmovement 0
+ msgbox BattleFrontier_BattlePyramidTop_Text_25573E, 4
+ goto BattleFrontier_BattlePyramidTop_EventScript_2552DA
+ end
+
+BattleFrontier_BattlePyramidTop_EventScript_2552D0:: @ 82552D0
+ applymovement 2, BattleFrontier_BattlePyramidTop_Movement_25540A
+ waitmovement 0
+
+BattleFrontier_BattlePyramidTop_EventScript_2552DA:: @ 82552DA
+ msgbox BattleFrontier_BattlePyramidTop_Text_255846, 4
+ call BattleFrontier_BattlePyramidTop_EventScript_2553ED
+ playbgm BGM_BATTLE_PYRAMID_SUMMIT, 0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattlePyramidTop_EventScript_2552FB
+ goto BattleFrontier_BattlePyramidTop_EventScript_252B42
+
+BattleFrontier_BattlePyramidTop_EventScript_2552FB:: @ 82552FB
+ setvar VAR_0x8004, 12
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_25521A
+ msgbox BattleFrontier_BattlePyramidTop_Text_255873, 4
+ playfanfare BGM_ME_BATTLE_SYMBOL
+ message BattleFrontier_BattlePyramidTop_Text_2558E9
+ waitmessage
+ waitfanfare
+ setvar VAR_0x8004, 13
+ special sub_81A1780
+ msgbox BattleFrontier_BattlePyramidTop_Text_25591D, 4
+ goto BattleFrontier_BattlePyramidTop_EventScript_25521A
+
+BattleFrontier_BattlePyramidTop_EventScript_255335:: @ 8255335
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_255388
+ special SpawnScriptFieldObject
+ applymovement 127, BattleFrontier_BattlePyramidTop_Movement_25540C
+ waitmovement 0
+ msgbox BattleFrontier_BattlePyramidTop_Text_255951, 4
+ closemessage
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+ applymovement 2, BattleFrontier_BattlePyramidTop_Movement_25540A
+ waitmovement 0
+ msgbox BattleFrontier_BattlePyramidTop_Text_255A6D, 4
+ goto BattleFrontier_BattlePyramidTop_EventScript_255392
+ end
+
+BattleFrontier_BattlePyramidTop_EventScript_255388:: @ 8255388
+ applymovement 2, BattleFrontier_BattlePyramidTop_Movement_25540A
+ waitmovement 0
+
+BattleFrontier_BattlePyramidTop_EventScript_255392:: @ 8255392
+ msgbox BattleFrontier_BattlePyramidTop_Text_255AA1, 4
+ call BattleFrontier_BattlePyramidTop_EventScript_2553ED
+ playbgm BGM_BATTLE_PYRAMID_SUMMIT, 0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattlePyramidTop_EventScript_2553B3
+ goto BattleFrontier_BattlePyramidTop_EventScript_252B42
+
+BattleFrontier_BattlePyramidTop_EventScript_2553B3:: @ 82553B3
+ setvar VAR_0x8004, 12
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq BattleFrontier_BattlePyramidTop_EventScript_25521A
+ msgbox BattleFrontier_BattlePyramidTop_Text_255ACD, 4
+ playfanfare BGM_ME_BATTLE_SYMBOL
+ message BattleFrontier_BattlePyramidTop_Text_255B59
+ waitmessage
+ waitfanfare
+ setvar VAR_0x8004, 13
+ special sub_81A1780
+ msgbox BattleFrontier_BattlePyramidTop_Text_255B82, 4
+ goto BattleFrontier_BattlePyramidTop_EventScript_25521A
+
+BattleFrontier_BattlePyramidTop_EventScript_2553ED:: @ 82553ED
+ closemessage
+ setvar VAR_0x8004, 10
+ setvar VAR_0x8005, 0
+ special sub_8163AC4
+ waitstate
+ return
+
+BattleFrontier_BattlePyramidTop_Movement_2553FD: @ 82553FD
+ step_right
+ step_27
+ step_end
+
+BattleFrontier_BattlePyramidTop_Movement_255400: @ 8255400
+ step_left
+ step_26
+ step_end
+
+BattleFrontier_BattlePyramidTop_Movement_255403: @ 8255403
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_25
+ step_end
+
+BattleFrontier_BattlePyramidTop_Movement_25540A: @ 825540A
+ step_15
+ step_end
+
+BattleFrontier_BattlePyramidTop_Movement_25540C: @ 825540C
+ slow_step_up
+ slow_step_up
+ step_14
+ step_end
+
+BattleFrontier_BattlePyramidTop_Text_255410: @ 8255410
+ .string "It is a delight to see you here!\n"
+ .string "You have reached the summit of\l"
+ .string "the BATTLE PYRAMID!\p"
+ .string "Above here is the PYRAMID’s\n"
+ .string "lookout point.\p"
+ .string "It is a place open only to those\n"
+ .string "who have conquered the PYRAMID.\p"
+ .string "Now, please!\n"
+ .string "Up you go!$"
+
+BattleFrontier_BattlePyramidTop_Text_2554E8: @ 82554E8
+ .string "The PYRAMID’s new conqueror!\n"
+ .string "Let the name {PLAYER} be known!$"
+
+BattleFrontier_BattlePyramidTop_Text_25551F: @ 825551F
+ .string "It is a delight to see you here!\p"
+ .string "Unfortunately, you were second by\n"
+ .string "a mere fraction of time!\p"
+ .string "Our chief has already conquered\n"
+ .string "the PYRAMID ahead of you.\p"
+ .string "However, my young explorer…\n"
+ .string "You are a TRAINER!\p"
+ .string "Assert your power and take the glory\n"
+ .string "of the pinnacle from our chief!\p"
+ .string "Now, please! When you are ready,\n"
+ .string "take one more step of courage!$"
+
+BattleFrontier_BattlePyramidTop_Text_255669: @ 8255669
+ .string "Young adventurer…\p"
+ .string "Wouldn’t you agree that explorations\n"
+ .string "are the grandest of adventures?\p"
+ .string "Your own wits!\p"
+ .string "Your own strength!\p"
+ .string "Your own POKéMON!\p"
+ .string "And, above all, only your own courage\n"
+ .string "to lead you through unknown worlds…$"
+
+BattleFrontier_BattlePyramidTop_Text_25573E: @ 825573E
+ .string "Aah, yes, indeed this life is grand!\n"
+ .string "Grand, it is! Eh?\p"
+ .string "I’m BRANDON!\p"
+ .string "I’m the PYRAMID KING, which means\n"
+ .string "I’m in charge here.\p"
+ .string "Most people call me the chief!\p"
+ .string "You coming here means you have\n"
+ .string "that much confidence in yourself,\l"
+ .string "am I right?\p"
+ .string "Hahahah!\n"
+ .string "This should be exciting!$"
+
+BattleFrontier_BattlePyramidTop_Text_255846: @ 8255846
+ .string "Now, then!\n"
+ .string "Bring your courage to our battle!$"
+
+BattleFrontier_BattlePyramidTop_Text_255873: @ 8255873
+ .string "BRANDON: Hahahah! Grand it was!\n"
+ .string "Grand, yes, indeed!\p"
+ .string "Well done! You’ve earned recognition!\n"
+ .string "Your FRONTIER PASS, please!$"
+
+BattleFrontier_BattlePyramidTop_Text_2558E9: @ 82558E9
+ .string "The Brave Symbol was embossed on\n"
+ .string "the FRONTIER PASS!$"
+
+BattleFrontier_BattlePyramidTop_Text_25591D: @ 825591D
+ .string "Young explorer!\n"
+ .string "I look forward to our next meeting!$"
+
+BattleFrontier_BattlePyramidTop_Text_255951: @ 8255951
+ .string "BRANDON: …You’ve finally returned,\n"
+ .string "young explorer…\p"
+ .string "Your love of adventure seems to come\n"
+ .string "deep from within your heart…\p"
+ .string "Yes… You are exactly as I was in\n"
+ .string "my own youth…\p"
+ .string "… … …Ah…\p"
+ .string "The passionate!\p"
+ .string "The dangerous!\p"
+ .string "The desperate!\p"
+ .string "Those days of death-defying,\n"
+ .string "life-affirming adventures are back…$"
+
+BattleFrontier_BattlePyramidTop_Text_255A6D: @ 8255A6D
+ .string "Now, then!\p"
+ .string "I sense my own courage is off\n"
+ .string "the meter!$"
+
+BattleFrontier_BattlePyramidTop_Text_255AA1: @ 8255AA1
+ .string "Everything you have!\n"
+ .string "I’m braced for it all!$"
+
+BattleFrontier_BattlePyramidTop_Text_255ACD: @ 8255ACD
+ .string "BRANDON: Hahahah!\n"
+ .string "Remarkable!\l"
+ .string "Yes, it’s grand, indeed!\p"
+ .string "Young explorer!\p"
+ .string "You’ve bested me through and through!\n"
+ .string "Here! I want you to have this!$"
+
+BattleFrontier_BattlePyramidTop_Text_255B59: @ 8255B59
+ .string "The Brave Symbol took on\n"
+ .string "a golden shine!$"
+
+BattleFrontier_BattlePyramidTop_Text_255B82: @ 8255B82
+ .string "Ah, yes! It just goes to show that\n"
+ .string "I have much to learn still!\p"
+ .string "May our paths cross again!\n"
+ .string "Farewell for now, young explorer!$"
+
+BattleFrontier_BattlePyramidTop_Text_255BFE: @ 8255BFE
+ .string "Now, when you are ready, take courage\n"
+ .string "and step forward.$"
+
diff --git a/data/scripts/maps/BattleFrontier_BattleTowerBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattleTowerBattleRoom.inc
new file mode 100644
index 000000000..71f0cff2d
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattleTowerBattleRoom.inc
@@ -0,0 +1,651 @@
+BattleFrontier_BattleTowerBattleRoom_MapScripts:: @ 8241B40
+ map_script 2, BattleFrontier_BattleTowerBattleRoom_MapScript2_241B62
+ map_script 4, BattleFrontier_BattleTowerBattleRoom_MapScript2_241B4B
+ .byte 0
+
+BattleFrontier_BattleTowerBattleRoom_MapScript2_241B4B: @ 8241B4B
+ map_script_2 VAR_0x4001, 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241B55
+ .2byte 0
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241B55:: @ 8241B55
+ setvar VAR_0x4001, 1
+ applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_242198
+ end
+
+BattleFrontier_BattleTowerBattleRoom_MapScript2_241B62: @ 8241B62
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241B6C
+ .2byte 0
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241B6C:: @ 8241B6C
+ setvar VAR_0x4000, 1
+ applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_242179
+ waitmovement 0
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3
+ applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_24218D
+ waitmovement 0
+ applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_24217E
+ waitmovement 0
+ setvar VAR_0x4002, 1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 6
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3:: @ 8241BC3
+ setvar VAR_0x8004, 3
+ special sub_8161F74
+ addobject 1
+ applymovement 1, BattleFrontier_BattleTowerBattleRoom_Movement_242182
+ waitmovement 0
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 0
+ special sub_8161F74
+ msgbox 0x2021fc4, 4
+ waitmessage
+ call BattleFrontier_BattleTowerBattleRoom_EventScript_24210E
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241C2F
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241C03:: @ 8241C03
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_241C03:: @ 8241C03
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 4
+ special sub_81A1780
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ special sub_8161F74
+ setvar VAR_0x8004, 3
+ special sub_813BF7C
+ goto BattleFrontier_BattleTowerBattleRoom_EventScript_2421B8
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241C2F:: @ 8241C2F
+ call BattleFrontier_BattleTowerBattleRoom_EventScript_241EBA
+ setvar VAR_0x8004, 4
+ special sub_8161F74
+ switch VAR_RESULT
+ case 7, BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6
+ applymovement 1, BattleFrontier_BattleTowerBattleRoom_Movement_242188
+ waitmovement 0
+ removeobject 1
+ setvar VAR_0x8004, 9
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ call_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_241EC3
+ applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_24218D
+ waitmovement 0
+ applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_24217E
+ waitmovement 0
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_242217, 4
+ playfanfare BGM_ME_ASA
+ waitfanfare
+ special sp000_heal_pokemon
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F:: @ 8241C8F
+ setvar VAR_0x8004, 9
+ special sub_81A1780
+ copyvar VAR_0x400F, VAR_RESULT
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_241F0A
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ call BattleFrontier_BattleTowerBattleRoom_EventScript_241E44
+ call BattleFrontier_BattleTowerBattleRoom_EventScript_23E8E0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241D0A
+ multichoice 19, 4, 103, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241DDC
+ case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241D40
+ case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_241D7C
+ case 3, BattleFrontier_BattleTowerBattleRoom_EventScript_241DAA
+ case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241D0A:: @ 8241D0A
+ multichoice 20, 6, 104, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241DDC
+ case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241D7C
+ case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_241DAA
+ case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241D40:: @ 8241D40
+ message BattleFrontier_BattleTowerBattleRoom_Text_2423A3
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
+ case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241D72
+ case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241D72:: @ 8241D72
+ call BattleFrontier_BattleTowerBattleRoom_EventScript_23E8B4
+ goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241D7C:: @ 8241D7C
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_2423FC, 5
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
+ case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241E22
+ case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241DAA:: @ 8241DAA
+ message BattleFrontier_BattleTowerBattleRoom_Text_24244C
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
+ case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_24220E
+ case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241DDC:: @ 8241DDC
+ closemessage
+ applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_242180
+ waitmovement 0
+ applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_242192
+ waitmovement 0
+ goto BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6:: @ 8241DF6
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 3
+ special sub_81A1780
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ special sub_8161F74
+ setvar VAR_0x8004, 3
+ special sub_813BF7C
+ goto BattleFrontier_BattleTowerBattleRoom_EventScript_2421B8
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241E22:: @ 8241E22
+ message BattleFrontier_BattleTowerBattleRoom_Text_242426
+ waitmessage
+ setvar VAR_0x8004, 6
+ setvar VAR_0x8005, 2
+ special sub_8161F74
+ playse SE_SAVE
+ waitse
+ fadescreen 1
+ setvar VAR_0x8004, 4
+ special sub_81A1780
+ end
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241E44:: @ 8241E44
+ copyvar VAR_0x400F, VAR_RESULT
+ switch VAR_0x400F
+ case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241E90
+ case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_241E97
+ case 3, BattleFrontier_BattleTowerBattleRoom_EventScript_241E9E
+ case 4, BattleFrontier_BattleTowerBattleRoom_EventScript_241EA5
+ case 5, BattleFrontier_BattleTowerBattleRoom_EventScript_241EAC
+ case 6, BattleFrontier_BattleTowerBattleRoom_EventScript_241EB3
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241E90:: @ 8241E90
+ message BattleFrontier_BattleTowerBattleRoom_Text_242277
+ waitmessage
+ return
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241E97:: @ 8241E97
+ message BattleFrontier_BattleTowerBattleRoom_Text_2422A9
+ waitmessage
+ return
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241E9E:: @ 8241E9E
+ message BattleFrontier_BattleTowerBattleRoom_Text_2422DB
+ waitmessage
+ return
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241EA5:: @ 8241EA5
+ message BattleFrontier_BattleTowerBattleRoom_Text_24230D
+ waitmessage
+ return
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241EAC:: @ 8241EAC
+ message BattleFrontier_BattleTowerBattleRoom_Text_24233F
+ waitmessage
+ return
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241EB3:: @ 8241EB3
+ message BattleFrontier_BattleTowerBattleRoom_Text_242371
+ waitmessage
+ return
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_241EBA:: @ 8241EBA
+BattleFrontier_BattleDomeLobby_EventScript_241EBA:: @ 8241EBA
+BattleFrontier_BattleFactoryBattleRoom_EventScript_241EBA:: @ 8241EBA
+BattleFrontier_BattlePalaceBattleRoom_EventScript_241EBA:: @ 8241EBA
+BattleFrontier_BattleTowerBattleRoom2_EventScript_241EBA:: @ 8241EBA
+BattleFrontier_BattleTowerBattleRoom_EventScript_241EBA:: @ 8241EBA
+ setvar VAR_0x8004, 17
+ special sub_81A1780
+ return
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241EC3:: @ 8241EC3
+ applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_24219A
+ waitmovement 0
+ applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_2725B6
+ waitmovement 0
+ playse SE_PIN
+ applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_272598
+ waitmovement 0
+ applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_27259A
+ waitmovement 0
+ applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_2421A6
+ applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_2421AB
+ waitmovement 0
+ applymovement 3, BattleFrontier_BattleTowerBattleRoom_Movement_2421A1
+ waitmovement 0
+ return
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241F0A:: @ 8241F0A
+ compare_var_to_value VAR_0x4002, 1
+ goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241F22
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_2424C2, 4
+ setvar VAR_0x4002, 1
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241F22:: @ 8241F22
+ message BattleFrontier_BattleTowerBattleRoom_Text_242542
+ waitmessage
+ call BattleFrontier_BattleTowerBattleRoom_EventScript_23E8E0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241F79
+ multichoice 19, 4, 103, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241FAF
+ case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241D40
+ case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_241D7C
+ case 3, BattleFrontier_BattleTowerBattleRoom_EventScript_241DAA
+ case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241F22
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241F79:: @ 8241F79
+ multichoice 20, 6, 104, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241FAF
+ case 1, BattleFrontier_BattleTowerBattleRoom_EventScript_241D7C
+ case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_241DAA
+ case 127, BattleFrontier_BattleTowerBattleRoom_EventScript_241F22
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_241FAF:: @ 8241FAF
+ call BattleFrontier_BattleTowerBattleRoom_EventScript_242170
+ closemessage
+ applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_242180
+ waitmovement 0
+ applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_242192
+ waitmovement 0
+ addobject 1
+ applymovement 1, BattleFrontier_BattleTowerBattleRoom_Movement_2421B2
+ waitmovement 0
+ switch VAR_0x400F
+ case 2, BattleFrontier_BattleTowerBattleRoom_EventScript_242085
+ case 3, BattleFrontier_BattleTowerBattleRoom_EventScript_242029
+ case 4, BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_242029
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_242579, 4
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_242029:: @ 8242029
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_24268C, 4
+ call BattleFrontier_BattleTowerBattleRoom_EventScript_24210E
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_242046
+ goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C03
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_242046:: @ 8242046
+ call BattleFrontier_BattleTowerBattleRoom_EventScript_241EBA
+ setvar VAR_0x8004, 12
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_2426B4, 4
+ playfanfare BGM_ME_BATTLE_SYMBOL
+ message BattleFrontier_BattleTowerBattleRoom_Text_24270E
+ waitmessage
+ waitfanfare
+ setvar VAR_0x8004, 13
+ special sub_81A1780
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_242744, 4
+ goto BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_242085:: @ 8242085
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_2427F9, 4
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2:: @ 82420B2
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_2428E0, 4
+ call BattleFrontier_BattleTowerBattleRoom_EventScript_24210E
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2420CF
+ goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C03
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_2420CF:: @ 82420CF
+ call BattleFrontier_BattleTowerBattleRoom_EventScript_241EBA
+ setvar VAR_0x8004, 12
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_2428F7, 4
+ playfanfare BGM_ME_BATTLE_SYMBOL
+ message BattleFrontier_BattleTowerBattleRoom_Text_242932
+ waitmessage
+ waitfanfare
+ setvar VAR_0x8004, 13
+ special sub_81A1780
+ msgbox BattleFrontier_BattleTowerBattleRoom_Text_24295D, 4
+ goto BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_24210E:: @ 824210E
+BattleFrontier_BattleTowerBattleRoom_EventScript_24210E:: @ 824210E
+ closemessage
+ setvar VAR_0x4002, 0
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 6
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ special sp000_heal_pokemon
+ setvar VAR_0x8004, 0
+ setvar VAR_0x8005, 0
+ special sub_8163AC4
+ waitstate
+ copyvar VAR_0x8004, VAR_0x40CE
+ compare_var_to_value VAR_0x8004, 3
+ goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_24215A
+ setvar VAR_0x8004, 18
+ special sub_81A1780
+ special sp000_heal_pokemon
+ setvar VAR_0x8004, 21
+ special sub_81A1780
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_24215A:: @ 824215A
+ setvar VAR_0x8004, 15
+ special sub_8161F74
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 5
+ special sub_81A1780
+ return
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_242170:: @ 8242170
+BattleFrontier_BattleDomeBattleRoom_EventScript_242170:: @ 8242170
+BattleFrontier_BattleFactoryBattleRoom_EventScript_242170:: @ 8242170
+BattleFrontier_BattlePalaceBattleRoom_EventScript_242170:: @ 8242170
+BattleFrontier_BattlePyramidTop_EventScript_242170:: @ 8242170
+BattleFrontier_BattleTowerBattleRoom_EventScript_242170:: @ 8242170
+ setvar VAR_0x8004, 22
+ special sub_81A1780
+ return
+
+BattleFrontier_BattleTowerBattleRoom_Movement_242179: @ 8242179
+ step_up
+ step_up
+ step_up
+ step_03
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom_Movement_24217E: @ 824217E
+ step_00
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom_Movement_242180: @ 8242180
+ step_03
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom_Movement_242182: @ 8242182
+ step_down
+ step_down
+ step_down
+ step_down
+ step_02
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom_Movement_242188: @ 8242188
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom_Movement_24218D: @ 824218D
+ step_right
+ step_right
+ step_right
+ step_up
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom_Movement_242192: @ 8242192
+ step_down
+ step_left
+ step_left
+ step_left
+ step_03
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom_Movement_242198: @ 8242198
+ step_54
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom_Movement_24219A: @ 824219A
+ step_55
+ step_14
+ step_up
+ step_left
+ step_left
+ step_13
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom_Movement_2421A1: @ 82421A1
+ step_right
+ step_right
+ step_down
+ step_54
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom_Movement_2421A6: @ 82421A6
+ step_14
+ step_14
+ step_14
+ step_14
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom_Movement_2421AB: @ 82421AB
+ step_03
+ step_14
+ step_14
+ step_14
+ step_14
+ step_20
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom_Movement_2421B2: @ 82421B2
+ slow_step_down
+ slow_step_down
+ slow_step_down
+ slow_step_down
+ step_02
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_2421B8:: @ 82421B8
+BattleFrontier_BattleTowerBattleRoom_EventScript_2421B8:: @ 82421B8
+ copyvar VAR_RESULT, VAR_0x40CE
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421E8
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421F2
+ compare_var_to_value VAR_RESULT, 3
+ goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421FC
+ warp BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 6, 6
+ waitstate
+ end
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_2421E8:: @ 82421E8
+ warp BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 10, 6
+ waitstate
+ end
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_2421F2:: @ 82421F2
+ warp BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 14, 6
+ waitstate
+ end
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_2421FC:: @ 82421FC
+ setvar VAR_0x8004, 13
+ special sub_8161F74
+ warp BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 18, 6
+ waitstate
+ end
+
+BattleFrontier_BattleTowerBattleRoom_EventScript_24220E:: @ 824220E
+ setflag FLAG_0x077
+ goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C03
+ end
+
+BattleFrontier_BattleTowerBattleRoom2_Text_242217: @ 8242217
+BattleFrontier_BattleTowerBattleRoom_Text_242217: @ 8242217
+ .string "We will restore your POKéMON to\n"
+ .string "full health.$"
+
+BattleFrontier_BattleTowerBattleRoom_Text_242244: @ 8242244
+ .string "You will be facing opponent no. {STR_VAR_1}.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleTowerBattleRoom_Text_242277: @ 8242277
+ .string "You will be facing opponent no. 2.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleTowerBattleRoom_Text_2422A9: @ 82422A9
+ .string "You will be facing opponent no. 3.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleTowerBattleRoom_Text_2422DB: @ 82422DB
+ .string "You will be facing opponent no. 4.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleTowerBattleRoom_Text_24230D: @ 824230D
+ .string "You will be facing opponent no. 5.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleTowerBattleRoom_Text_24233F: @ 824233F
+ .string "You will be facing opponent no. 6.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleTowerBattleRoom_Text_242371: @ 8242371
+ .string "You will be facing opponent no. 7.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleTowerBattleRoom2_Text_2423A3: @ 82423A3
+BattleFrontier_BattleTowerBattleRoom_Text_2423A3: @ 82423A3
+ .string "Record your battle on your\n"
+ .string "FRONTIER PASS?$"
+
+BattleFrontier_BattleTowerLobby_Text_2423CD: @ 82423CD
+ .string "{PLAYER}’s battle was recorded\n"
+ .string "on the FRONTIER PASS.$"
+
+BattleFrontier_BattleTowerBattleRoom2_Text_2423FC: @ 82423FC
+BattleFrontier_BattleTowerBattleRoom_Text_2423FC: @ 82423FC
+ .string "Would you like to save and\n"
+ .string "quit the game?$"
+
+BattleFrontier_BattleTowerBattleRoom2_Text_242426: @ 8242426
+BattleFrontier_BattleTowerBattleRoom_Text_242426: @ 8242426
+ .string "Saving your battle data.\n"
+ .string "Please wait.$"
+
+BattleFrontier_BattleTowerBattleRoom2_Text_24244C: @ 824244C
+BattleFrontier_BattleTowerBattleRoom_Text_24244C: @ 824244C
+ .string "Would you like to cancel your BATTLE\n"
+ .string "ROOM challenge?$"
+
+gText_BattleRecordCouldntBeSaved:: @ 8242481
+ .string "There was an error of some sort.\n"
+ .string "Your record could not be saved.$"
+
+BattleFrontier_BattleTowerBattleRoom_Text_2424C2: @ 82424C2
+ .string "Excuse me, but…\p"
+ .string "Our leader, the SALON MAIDEN, is on\n"
+ .string "her way here in hopes of battling you.\p"
+ .string "She should be arriving very shortly.$"
+
+BattleFrontier_BattleTowerBattleRoom_Text_242542: @ 8242542
+ .string "You will be facing the SALON MAIDEN.\n"
+ .string "Are you prepared?$"
+
+BattleFrontier_BattleTowerBattleRoom_Text_242579: @ 8242579
+ .string "Greetings…\n"
+ .string "My name is ANABEL.\p"
+ .string "I am the SALON MAIDEN, and I am in\n"
+ .string "charge of running the BATTLE TOWER…\p"
+ .string "I have heard several rumors\n"
+ .string "about you…\p"
+ .string "In all honesty, what I have heard does\n"
+ .string "not seem attractive in any way…\p"
+ .string "The reason I’ve come to see you…\n"
+ .string "Well, there is but one reason…$"
+
+BattleFrontier_BattleTowerBattleRoom_Text_24268C: @ 824268C
+ .string "Let me see your talent in\n"
+ .string "its entirety…$"
+
+BattleFrontier_BattleTowerBattleRoom_Text_2426B4: @ 82426B4
+ .string "ANABEL: Fufufu, nicely done…\p"
+ .string "Your FRONTIER PASS, please…\n"
+ .string "Your talent shall be recognized.$"
+
+BattleFrontier_BattleTowerBattleRoom_Text_24270E: @ 824270E
+ .string "The Ability Symbol was embossed on\n"
+ .string "the FRONTIER PASS!$"
+
+BattleFrontier_BattleTowerBattleRoom_Text_242744: @ 8242744
+ .string "… … … … … …\p"
+ .string "You have confidence in your POKéMON\n"
+ .string "battling talent, don’t you?\p"
+ .string "I urge you to keep battling and\n"
+ .string "keep on winning.\p"
+ .string "I will be waiting for you.\n"
+ .string "Until the next time we meet…$"
+
+BattleFrontier_BattleTowerBattleRoom_Text_2427F9: @ 82427F9
+ .string "ANABEL: You really did come back to\n"
+ .string "see me…\p"
+ .string "… … … … … …\p"
+ .string "You’ve won straight matches to see me…\n"
+ .string "I won’t have to hold back against you…\p"
+ .string "It’s been too long now…\p"
+ .string "Too long since I’ve been able to battle\n"
+ .string "without thinking about anything…$"
+
+BattleFrontier_BattleTowerBattleRoom_Text_2428E0: @ 82428E0
+ .string "Let’s begin, shall we?$"
+
+BattleFrontier_BattleTowerBattleRoom_Text_2428F7: @ 82428F7
+ .string "ANABEL: Fufu, congratulations…\n"
+ .string "Your FRONTIER PASS, please…$"
+
+BattleFrontier_BattleTowerBattleRoom_Text_242932: @ 8242932
+ .string "The Ability Symbol took on\n"
+ .string "a golden shine!$"
+
+BattleFrontier_BattleTowerBattleRoom_Text_24295D: @ 824295D
+ .string "That was fun…\p"
+ .string "I have never had a POKéMON battle\n"
+ .string "so enjoyable before…\p"
+ .string "I wish I could battle with you again…$"
+
diff --git a/data/scripts/maps/BattleFrontier_BattleTowerBattleRoom2.inc b/data/scripts/maps/BattleFrontier_BattleTowerBattleRoom2.inc
new file mode 100644
index 000000000..2ea9c897b
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattleTowerBattleRoom2.inc
@@ -0,0 +1,540 @@
+BattleFrontier_BattleTowerBattleRoom2_MapScripts:: @ 8248EE8
+ map_script 3, BattleFrontier_BattleTowerBattleRoom2_MapScript1_248EF8
+ map_script 4, BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F33
+ map_script 2, BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F43
+ .byte 0
+
+BattleFrontier_BattleTowerBattleRoom2_MapScript1_248EF8: @ 8248EF8
+ compare_var_to_value VAR_0x40CE, 2
+ call_if 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F
+ compare_var_to_value VAR_0x40CE, 3
+ call_if 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F2F
+ end
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F:: @ 8248F0F
+ setvar VAR_0x8004, 14
+ special sub_8161F74
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F29
+ setvar VAR_0x401F, 0
+ return
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_248F29:: @ 8248F29
+ setvar VAR_0x401F, 89
+ return
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_248F2F:: @ 8248F2F
+ special sub_813A76C
+ return
+
+BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F33: @ 8248F33
+ map_script_2 VAR_0x4001, 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F3D
+ .2byte 0
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_248F3D:: @ 8248F3D
+ hideobjectat 255, BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM_2
+ end
+
+BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F43: @ 8248F43
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F4D
+ .2byte 0
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_248F4D:: @ 8248F4D
+ setvar VAR_0x4000, 1
+ applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249518
+ applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_24951E
+ waitmovement 0
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4
+ applymovement 2, BattleFrontier_BattleTowerBattleRoom2_Movement_24953E
+ applymovement 3, BattleFrontier_BattleTowerBattleRoom2_Movement_24953E
+ waitmovement 0
+ applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249524
+ applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_249524
+ waitmovement 0
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 6
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4:: @ 8248FB4
+ setvar VAR_0x8004, 3
+ special sub_8161F74
+ addobject 1
+ addobject 4
+ applymovement 1, BattleFrontier_BattleTowerBattleRoom2_Movement_249528
+ applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_24952E
+ waitmovement 0
+ compare_var_to_value VAR_0x40CE, 3
+ goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249026
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 0
+ special sub_8161F74
+ delay 15
+ applymovement 1, BattleFrontier_BattleTowerBattleRoom2_Movement_249545
+ waitmovement 0
+ msgbox 0x2021fc4, 4
+ waitmessage
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 1
+ special sub_8161F74
+ applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_249545
+ waitmovement 0
+ msgbox 0x2021fc4, 4
+ waitmessage
+ goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249069
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_249026:: @ 8249026
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 0
+ special sub_8161F74
+ delay 15
+ applymovement 1, BattleFrontier_BattleTowerBattleRoom2_Movement_249545
+ waitmovement 0
+ messageautoscroll 0x2021fc4
+ waitmessage
+ delay 48
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 1
+ special sub_8161F74
+ applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_249545
+ waitmovement 0
+ messageautoscroll 0x2021fc4
+ waitmessage
+ delay 48
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_249069:: @ 8249069
+ call BattleFrontier_BattleTowerBattleRoom2_EventScript_24210E
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2490AA
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E:: @ 824907E
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 4
+ special sub_81A1780
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ special sub_8161F74
+ setvar VAR_0x8004, 3
+ special sub_813BF7C
+ goto BattleFrontier_BattleTowerBattleRoom2_EventScript_2421B8
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_2490AA:: @ 82490AA
+ call BattleFrontier_BattleTowerBattleRoom2_EventScript_241EBA
+ setvar VAR_0x8004, 4
+ special sub_8161F74
+ switch VAR_RESULT
+ case 7, BattleFrontier_BattleTowerBattleRoom2_EventScript_2492AF
+ applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_249534
+ applymovement 1, BattleFrontier_BattleTowerBattleRoom2_Movement_249539
+ waitmovement 0
+ removeobject 1
+ removeobject 4
+ applymovement 2, BattleFrontier_BattleTowerBattleRoom2_Movement_24953E
+ applymovement 3, BattleFrontier_BattleTowerBattleRoom2_Movement_24953E
+ waitmovement 0
+ applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249524
+ applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_249524
+ waitmovement 0
+ compare_var_to_value VAR_0x40CE, 3
+ goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249118
+ msgbox BattleFrontier_BattleTowerBattleRoom2_Text_242217, 4
+ goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249121
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_249118:: @ 8249118
+ messageautoscroll BattleFrontier_BattleTowerBattleRoom2_Text_242217
+ waitmessage
+ delay 48
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_249121:: @ 8249121
+ special copy_player_party_from_sav1
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ compare_var_to_value VAR_0x40CE, 3
+ call_if 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249514
+ playfanfare BGM_ME_ASA
+ waitfanfare
+ special sp000_heal_pokemon
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_249143:: @ 8249143
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ call BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD
+ compare_var_to_value VAR_0x40CE, 3
+ goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249283
+ call BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8E0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_2491B1
+ multichoice 19, 4, 103, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249283
+ case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2491E7
+ case 2, BattleFrontier_BattleTowerBattleRoom2_EventScript_249223
+ case 3, BattleFrontier_BattleTowerBattleRoom2_EventScript_249251
+ case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_2491B1:: @ 82491B1
+ multichoice 20, 6, 104, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249283
+ case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249223
+ case 2, BattleFrontier_BattleTowerBattleRoom2_EventScript_249251
+ case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_2491E7:: @ 82491E7
+ message BattleFrontier_BattleTowerBattleRoom2_Text_2423A3
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
+ case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249219
+ case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_249219:: @ 8249219
+ call BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8B4
+ goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_249223:: @ 8249223
+ msgbox BattleFrontier_BattleTowerBattleRoom2_Text_2423FC, 5
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
+ case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2492DB
+ case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_249251:: @ 8249251
+ message BattleFrontier_BattleTowerBattleRoom2_Text_24244C
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
+ case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E
+ case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_249283:: @ 8249283
+ closemessage
+ clearflag FLAG_0x002
+ applymovement 5, BattleFrontier_BattleTowerBattleRoom2_Movement_249526
+ applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_249526
+ waitmovement 0
+ applymovement 2, BattleFrontier_BattleTowerBattleRoom2_Movement_249541
+ applymovement 3, BattleFrontier_BattleTowerBattleRoom2_Movement_249541
+ waitmovement 0
+ goto BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4
+ end
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_2492AF:: @ 82492AF
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 3
+ special sub_81A1780
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ special sub_8161F74
+ setvar VAR_0x8004, 3
+ special sub_813BF7C
+ goto BattleFrontier_BattleTowerBattleRoom2_EventScript_2421B8
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_2492DB:: @ 82492DB
+ message BattleFrontier_BattleTowerBattleRoom2_Text_242426
+ waitmessage
+ setvar VAR_0x8004, 6
+ setvar VAR_0x8005, 2
+ special sub_8161F74
+ playse SE_SAVE
+ waitse
+ fadescreen 1
+ setvar VAR_0x8004, 4
+ special sub_81A1780
+ end
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD:: @ 82492FD
+ compare_var_to_value VAR_0x40CE, 3
+ goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_24937E
+ copyvar VAR_0x400F, VAR_RESULT
+ switch VAR_0x400F
+ case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249354
+ case 2, BattleFrontier_BattleTowerBattleRoom2_EventScript_24935B
+ case 3, BattleFrontier_BattleTowerBattleRoom2_EventScript_249362
+ case 4, BattleFrontier_BattleTowerBattleRoom2_EventScript_249369
+ case 5, BattleFrontier_BattleTowerBattleRoom2_EventScript_249370
+ case 6, BattleFrontier_BattleTowerBattleRoom2_EventScript_249377
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_249354:: @ 8249354
+ message BattleFrontier_BattleTowerBattleRoom2_Text_249547
+ waitmessage
+ return
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_24935B:: @ 824935B
+ message BattleFrontier_BattleTowerBattleRoom2_Text_249578
+ waitmessage
+ return
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_249362:: @ 8249362
+ message BattleFrontier_BattleTowerBattleRoom2_Text_2495A9
+ waitmessage
+ return
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_249369:: @ 8249369
+ message BattleFrontier_BattleTowerBattleRoom2_Text_2495DA
+ waitmessage
+ return
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_249370:: @ 8249370
+ message BattleFrontier_BattleTowerBattleRoom2_Text_24960B
+ waitmessage
+ return
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_249377:: @ 8249377
+ message BattleFrontier_BattleTowerBattleRoom2_Text_24963C
+ waitmessage
+ return
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_24937E:: @ 824937E
+ copyvar VAR_0x400F, VAR_RESULT
+ switch VAR_0x400F
+ case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493CA
+ case 2, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493D6
+ case 3, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493E2
+ case 4, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493EE
+ case 5, BattleFrontier_BattleTowerBattleRoom2_EventScript_2493FA
+ case 6, BattleFrontier_BattleTowerBattleRoom2_EventScript_249406
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_2493CA:: @ 82493CA
+ message BattleFrontier_BattleTowerBattleRoom2_Text_249547
+ waitmessage
+ goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417
+ end
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_2493D6:: @ 82493D6
+ message BattleFrontier_BattleTowerBattleRoom2_Text_249578
+ waitmessage
+ goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417
+ end
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_2493E2:: @ 82493E2
+ message BattleFrontier_BattleTowerBattleRoom2_Text_2495A9
+ waitmessage
+ goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417
+ end
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_2493EE:: @ 82493EE
+ message BattleFrontier_BattleTowerBattleRoom2_Text_2495DA
+ waitmessage
+ goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417
+ end
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_2493FA:: @ 82493FA
+ message BattleFrontier_BattleTowerBattleRoom2_Text_24960B
+ waitmessage
+ goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417
+ end
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_249406:: @ 8249406
+ message BattleFrontier_BattleTowerBattleRoom2_Text_24963C
+ waitmessage
+ goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249417
+ end
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_249412:: @ 8249412
+ waitmessage
+ delay 48
+ return
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_249417:: @ 8249417
+ checkflag FLAG_0x002
+ goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249457
+ multichoice 19, 6, 105, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249483
+ case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2494A8
+ case 2, BattleFrontier_BattleTowerBattleRoom2_EventScript_2494DD
+ case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_2494DD
+ end
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_249457:: @ 8249457
+ multichoice 20, 8, 106, 1
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249483
+ case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_2494DD
+ case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_2494DD
+ end
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_249483:: @ 8249483
+ setvar VAR_0x8004, 0
+ setvar VAR_0x8005, 0
+ message gText_LinkStandby3
+ waitmessage
+ special sub_813B568
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E
+ goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249412
+ end
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_2494A8:: @ 82494A8
+ message BattleFrontier_BattleTowerBattleRoom2_Text_2423A3
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
+ case 127, BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
+ call BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8B4
+ setflag FLAG_0x002
+ goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
+ end
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_2494DD:: @ 82494DD
+ message BattleFrontier_BattleTowerBattleRoom2_Text_24244C
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_2494FA
+ goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
+ end
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_2494FA:: @ 82494FA
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 0
+ message gText_LinkStandby3
+ waitmessage
+ special sub_813B568
+ waitstate
+ goto BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E
+ end
+
+BattleFrontier_BattleTowerBattleRoom2_EventScript_249514:: @ 8249514
+ special sub_813B534
+ return
+
+BattleFrontier_BattleTowerBattleRoom2_Movement_249518: @ 8249518
+ step_up
+ step_up
+ step_up
+ step_up
+ step_03
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom2_Movement_24951E: @ 824951E
+ step_left
+ step_up
+ step_up
+ step_up
+ step_03
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom2_Movement_249524: @ 8249524
+ step_02
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom2_Movement_249526: @ 8249526
+ step_28
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom2_Movement_249528: @ 8249528
+ step_down
+ step_down
+ step_down
+ step_down
+ step_02
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom2_Movement_24952E: @ 824952E
+ step_right
+ step_down
+ step_down
+ step_down
+ step_02
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom2_Movement_249534: @ 8249534
+ step_up
+ step_up
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom2_Movement_249539: @ 8249539
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom2_Movement_24953E: @ 824953E
+ step_right
+ step_right
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom2_Movement_249541: @ 8249541
+ step_left
+ step_left
+ step_28
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom2_Movement_249545: @ 8249545
+ step_1f
+ step_end
+
+BattleFrontier_BattleTowerBattleRoom2_Text_249547: @ 8249547
+ .string "The 2nd set of opponents is next.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleTowerBattleRoom2_Text_249578: @ 8249578
+ .string "The 3rd set of opponents is next.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleTowerBattleRoom2_Text_2495A9: @ 82495A9
+ .string "The 4th set of opponents is next.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleTowerBattleRoom2_Text_2495DA: @ 82495DA
+ .string "The 5th set of opponents is next.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleTowerBattleRoom2_Text_24960B: @ 824960B
+ .string "The 6th set of opponents is next.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleTowerBattleRoom2_Text_24963C: @ 824963C
+ .string "The 7th set of opponents is next.\n"
+ .string "Are you ready?$"
+
+BattleFrontier_BattleTowerBattleRoom2_Text_24966D: @ 824966D
+ .string "The 2nd set of opponents is next.\n"
+ .string "Do your best!$"
+
+BattleFrontier_BattleTowerBattleRoom2_Text_24969D: @ 824969D
+ .string "The 3rd set of opponents is next.\n"
+ .string "Do your best!$"
+
+BattleFrontier_BattleTowerBattleRoom2_Text_2496CD: @ 82496CD
+ .string "The 4th set of opponents is next.\n"
+ .string "Do your best!$"
+
+BattleFrontier_BattleTowerBattleRoom2_Text_2496FD: @ 82496FD
+ .string "The 5th set of opponents is next.\n"
+ .string "Do your best!$"
+
+BattleFrontier_BattleTowerBattleRoom2_Text_24972D: @ 824972D
+ .string "The 6th set of opponents is next.\n"
+ .string "Do your best!$"
+
+BattleFrontier_BattleTowerBattleRoom2_Text_24975D: @ 824975D
+ .string "The 7th set of opponents is next.\n"
+ .string "Do your best!$"
+
+gText_LinkStandby3:: @ 824978D
+ .string "Link standby…$"
+
+gText_YourPartnerHasRetired:: @ 824979B
+ .string "Your partner has retired.\p"
+ .string "Your BATTLE ROOM challenge\n"
+ .string "will be canceled.$"
diff --git a/data/scripts/maps/BattleFrontier_BattleTowerCorridor.inc b/data/scripts/maps/BattleFrontier_BattleTowerCorridor.inc
new file mode 100644
index 000000000..3369e4d75
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattleTowerCorridor.inc
@@ -0,0 +1,59 @@
+BattleFrontier_BattleTowerCorridor_MapScripts:: @ 8241AAA
+ map_script 1, BattleFrontier_BattleTowerCorridor_MapScript1_241AB5
+ map_script 2, BattleFrontier_BattleTowerCorridor_MapScript2_241AE6
+ .byte 0
+
+BattleFrontier_BattleTowerCorridor_MapScript1_241AB5: @ 8241AB5
+ compare_var_to_value VAR_0x8006, 1
+ goto_eq BattleFrontier_BattleTowerCorridor_EventScript_241AD3
+ setmetatile 12, 0, 519, 0
+ setmetatile 12, 1, 527, 0
+ end
+
+BattleFrontier_BattleTowerCorridor_EventScript_241AD3:: @ 8241AD3
+ setmetatile 15, 0, 519, 0
+ setmetatile 15, 1, 527, 0
+ end
+
+BattleFrontier_BattleTowerCorridor_MapScript2_241AE6: @ 8241AE6
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattleTowerCorridor_EventScript_241AF0
+ .2byte 0
+
+BattleFrontier_BattleTowerCorridor_EventScript_241AF0:: @ 8241AF0
+ setvar VAR_0x4000, 1
+ compare_var_to_value VAR_0x8006, 1
+ goto_eq BattleFrontier_BattleTowerCorridor_EventScript_241B16
+ applymovement 1, BattleFrontier_BattleTowerCorridor_Movement_241B3A
+ applymovement 255, BattleFrontier_BattleTowerCorridor_Movement_241B39
+ waitmovement 0
+ goto BattleFrontier_BattleTowerCorridor_EventScript_241B27
+
+BattleFrontier_BattleTowerCorridor_EventScript_241B16:: @ 8241B16
+ applymovement 1, BattleFrontier_BattleTowerCorridor_Movement_241B37
+ applymovement 255, BattleFrontier_BattleTowerCorridor_Movement_241B36
+ waitmovement 0
+
+BattleFrontier_BattleTowerCorridor_EventScript_241B27:: @ 8241B27
+ setvar VAR_0x4000, 0
+ warp BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM, 255, 4, 8
+ waitstate
+ end
+
+BattleFrontier_BattleTowerCorridor_Movement_241B36: @ 8241B36
+ step_right
+
+BattleFrontier_BattleTowerCorridor_Movement_241B37: @ 8241B37
+ step_right
+ step_right
+
+BattleFrontier_BattleTowerCorridor_Movement_241B39: @ 8241B39
+ step_right
+
+BattleFrontier_BattleTowerCorridor_Movement_241B3A: @ 8241B3A
+ step_right
+ step_right
+ step_right
+ step_up
+ step_54
+ step_end
+
diff --git a/data/scripts/maps/BattleFrontier_BattleTowerCorridor2.inc b/data/scripts/maps/BattleFrontier_BattleTowerCorridor2.inc
new file mode 100644
index 000000000..9910296df
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattleTowerCorridor2.inc
@@ -0,0 +1,172 @@
+BattleFrontier_BattleTowerCorridor2_MapScripts:: @ 8248D4A
+ map_script 3, BattleFrontier_BattleTowerCorridor2_MapScript1_248D5A
+ map_script 4, BattleFrontier_BattleTowerCorridor2_MapScript2_248D95
+ map_script 2, BattleFrontier_BattleTowerCorridor2_MapScript2_248DB2
+ .byte 0
+
+BattleFrontier_BattleTowerCorridor2_MapScript1_248D5A: @ 8248D5A
+ compare_var_to_value VAR_0x40CE, 2
+ call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248D71
+ compare_var_to_value VAR_0x40CE, 3
+ call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248D91
+ end
+
+BattleFrontier_BattleTowerCorridor2_EventScript_248D71:: @ 8248D71
+ setvar VAR_0x8004, 14
+ special sub_8161F74
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerCorridor2_EventScript_248D8B
+ setvar VAR_0x401F, 0
+ return
+
+BattleFrontier_BattleTowerCorridor2_EventScript_248D8B:: @ 8248D8B
+ setvar VAR_0x401F, 89
+ return
+
+BattleFrontier_BattleTowerCorridor2_EventScript_248D91:: @ 8248D91
+ special sub_813A76C
+ return
+
+BattleFrontier_BattleTowerCorridor2_MapScript2_248D95: @ 8248D95
+ map_script_2 VAR_0x4001, 0, BattleFrontier_BattleTowerCorridor2_EventScript_248D9F
+ .2byte 0
+
+BattleFrontier_BattleTowerCorridor2_EventScript_248D9F:: @ 8248D9F
+ hideobjectat 255, BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2
+ hideobjectat 1, BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2
+ hideobjectat 4, BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2
+ special sub_8139980
+ end
+
+BattleFrontier_BattleTowerCorridor2_MapScript2_248DB2: @ 8248DB2
+ map_script_2 VAR_0x4001, 0, BattleFrontier_BattleTowerCorridor2_EventScript_248DBC
+ .2byte 0
+
+BattleFrontier_BattleTowerCorridor2_EventScript_248DBC:: @ 8248DBC
+ lockall
+ setflag FLAG_SPECIAL_FLAG_0x4002
+ setvar VAR_0x8004, 14
+ setvar VAR_0x8005, 1
+ opendoor 1, 1
+ waitdooranim
+ clearflag FLAG_SPECIAL_FLAG_0x4002
+ showobjectat 1, BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2
+ showobjectat 4, BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2
+ applymovement 1, BattleFrontier_BattleTowerCorridor2_Movement_248EE6
+ applymovement 4, BattleFrontier_BattleTowerCorridor2_Movement_248EE6
+ waitmovement 0
+ setflag FLAG_SPECIAL_FLAG_0x4002
+ setvar VAR_0x8004, 14
+ setvar VAR_0x8005, 1
+ closedoor 1, 1
+ waitdooranim
+ clearflag FLAG_SPECIAL_FLAG_0x4002
+ applymovement 1, BattleFrontier_BattleTowerCorridor2_Movement_248EBC
+ applymovement 4, BattleFrontier_BattleTowerCorridor2_Movement_248EC4
+ applymovement 3, BattleFrontier_BattleTowerCorridor2_Movement_248ECC
+ applymovement 2, BattleFrontier_BattleTowerCorridor2_Movement_248ED5
+ waitmovement 0
+ delay 40
+ applymovement 3, BattleFrontier_BattleTowerCorridor2_Movement_2725A6
+ applymovement 2, BattleFrontier_BattleTowerCorridor2_Movement_2725A6
+ waitmovement 0
+ opendoor 7, 1
+ waitdooranim
+ applymovement 3, BattleFrontier_BattleTowerCorridor2_Movement_248EE3
+ applymovement 2, BattleFrontier_BattleTowerCorridor2_Movement_248EE3
+ applymovement 1, BattleFrontier_BattleTowerCorridor2_Movement_248EDE
+ applymovement 4, BattleFrontier_BattleTowerCorridor2_Movement_248EDE
+ waitmovement 0
+ closedoor 7, 1
+ waitdooranim
+ delay 30
+ setvar VAR_0x4001, 1
+ call BattleFrontier_BattleTowerCorridor2_EventScript_248E71
+ releaseall
+ end
+
+BattleFrontier_BattleTowerCorridor2_EventScript_248E71:: @ 8248E71
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248E9E
+ compare_var_to_value VAR_0x40CE, 1
+ call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248E9E
+ compare_var_to_value VAR_0x40CE, 2
+ call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248EA8
+ compare_var_to_value VAR_0x40CE, 3
+ call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248EB2
+ return
+
+BattleFrontier_BattleTowerCorridor2_EventScript_248E9E:: @ 8248E9E
+ warp BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM, 255, 4, 8
+ waitstate
+ return
+
+BattleFrontier_BattleTowerCorridor2_EventScript_248EA8:: @ 8248EA8
+ warp BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM_2, 255, 4, 5
+ waitstate
+ return
+
+BattleFrontier_BattleTowerCorridor2_EventScript_248EB2:: @ 8248EB2
+ warp BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM_2, 255, 4, 5
+ waitstate
+ return
+
+BattleFrontier_BattleTowerCorridor2_Movement_248EBC: @ 8248EBC
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+BattleFrontier_BattleTowerCorridor2_Movement_248EC4: @ 8248EC4
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+BattleFrontier_BattleTowerCorridor2_Movement_248ECC: @ 8248ECC
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_up
+ step_28
+ step_end
+
+BattleFrontier_BattleTowerCorridor2_Movement_248ED5: @ 8248ED5
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_up
+ step_27
+ step_end
+
+BattleFrontier_BattleTowerCorridor2_Movement_248EDE: @ 8248EDE
+ step_14
+ step_up
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattleTowerCorridor2_Movement_248EE3: @ 8248EE3
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattleTowerCorridor2_Movement_248EE6: @ 8248EE6
+ step_down
+ step_end
+
diff --git a/data/scripts/maps/BattleFrontier_BattleTowerElevator.inc b/data/scripts/maps/BattleFrontier_BattleTowerElevator.inc
new file mode 100644
index 000000000..ed5917c45
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattleTowerElevator.inc
@@ -0,0 +1,91 @@
+BattleFrontier_BattleTowerElevator_MapScripts:: @ 82419DB
+ map_script 2, BattleFrontier_BattleTowerElevator_MapScript2_2419E6
+ map_script 4, BattleFrontier_BattleTowerElevator_MapScript2_241A96
+ .byte 0
+
+BattleFrontier_BattleTowerElevator_MapScript2_2419E6: @ 82419E6
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattleTowerElevator_EventScript_2419F0
+ .2byte 0
+
+BattleFrontier_BattleTowerElevator_EventScript_2419F0:: @ 82419F0
+ setvar VAR_0x4000, 1
+ applymovement 1, BattleFrontier_BattleTowerElevator_Movement_241A86
+ applymovement 255, BattleFrontier_BattleTowerElevator_Movement_241A8A
+ waitmovement 0
+ special sub_813A080
+ waitse
+ special sub_8139A78
+ waitstate
+ delay 48
+ applymovement 1, BattleFrontier_BattleTowerElevator_Movement_241A8E
+ applymovement 255, BattleFrontier_BattleTowerElevator_Movement_241A92
+ waitmovement 0
+ call BattleFrontier_BattleTowerElevator_EventScript_241A28
+ end
+
+BattleFrontier_BattleTowerElevator_EventScript_241A28:: @ 8241A28
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A55
+ compare_var_to_value VAR_0x40CE, 1
+ call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A55
+ compare_var_to_value VAR_0x40CE, 2
+ call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A5F
+ compare_var_to_value VAR_0x40CE, 3
+ call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A72
+ return
+
+BattleFrontier_BattleTowerElevator_EventScript_241A55:: @ 8241A55
+ warp BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR, 255, 8, 1
+ waitstate
+ return
+
+BattleFrontier_BattleTowerElevator_EventScript_241A5F:: @ 8241A5F
+ checkflag FLAG_0x152
+ goto_if 0, BattleFrontier_BattleTowerElevator_EventScript_241A7C
+ warp BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2, 255, 7, 2
+ waitstate
+ return
+
+BattleFrontier_BattleTowerElevator_EventScript_241A72:: @ 8241A72
+ warp BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2, 255, 7, 2
+ waitstate
+ return
+
+BattleFrontier_BattleTowerElevator_EventScript_241A7C:: @ 8241A7C
+ warp BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM, 255, 10, 1
+ waitstate
+ return
+
+BattleFrontier_BattleTowerElevator_Movement_241A86: @ 8241A86
+ step_up
+ step_right
+ step_00
+ step_end
+
+BattleFrontier_BattleTowerElevator_Movement_241A8A: @ 8241A8A
+ step_up
+ step_up
+ step_00
+ step_end
+
+BattleFrontier_BattleTowerElevator_Movement_241A8E: @ 8241A8E
+ step_down
+ step_down
+ step_54
+ step_end
+
+BattleFrontier_BattleTowerElevator_Movement_241A92: @ 8241A92
+ step_right
+ step_down
+ step_down
+ step_end
+
+BattleFrontier_BattleTowerElevator_MapScript2_241A96: @ 8241A96
+ map_script_2 VAR_0x4001, 0, BattleFrontier_BattleTowerElevator_EventScript_241AA0
+ .2byte 0
+
+BattleFrontier_BattleTowerElevator_EventScript_241AA0:: @ 8241AA0
+ setvar VAR_0x4001, 1
+ turnobject 255, 2
+ end
+
diff --git a/data/scripts/maps/BattleFrontier_BattleTowerLobby.inc b/data/scripts/maps/BattleFrontier_BattleTowerLobby.inc
new file mode 100644
index 000000000..d21c607d8
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattleTowerLobby.inc
@@ -0,0 +1,1589 @@
+BattleFrontier_BattleTowerLobby_MapScripts:: @ 823E67B
+ map_script 5, BattleFrontier_BattleTowerLobby_MapScript1_23E690
+ map_script 3, BattleFrontier_BattleTowerLobby_MapScript1_23E694
+ map_script 2, BattleFrontier_BattleTowerLobby_MapScript2_23E6DD
+ map_script 4, BattleFrontier_BattleTowerLobby_MapScript2_23E6C9
+ .byte 0
+
+BattleFrontier_BattleTowerLobby_MapScript1_23E690: @ 823E690
+ special sub_81653CC
+ end
+
+BattleFrontier_BattleTowerLobby_MapScript1_23E694: @ 823E694
+ call BattleFrontier_BattleTowerLobby_EventScript_28CC84
+ setvar VAR_0x8004, 10
+ special sub_81A085C
+ compare_var_to_value VAR_0x8004, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E6B5
+ checkflag FLAG_0x934
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E6C1
+
+BattleFrontier_BattleTowerLobby_EventScript_23E6B5:: @ 823E6B5
+ clearflag FLAG_0x2BD
+ setvar VAR_0x8004, 23
+ special sub_81A085C
+
+BattleFrontier_BattleTowerLobby_EventScript_23E6C0:: @ 823E6C0
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23E6C1:: @ 823E6C1
+ setflag FLAG_0x2BD
+ goto BattleFrontier_BattleTowerLobby_EventScript_23E6C0
+
+BattleFrontier_BattleTowerLobby_MapScript2_23E6C9: @ 823E6C9
+ map_script_2 VAR_0x4001, 0, BattleFrontier_BattleTowerLobby_EventScript_23E6D3
+ .2byte 0
+
+BattleFrontier_BattleTowerLobby_EventScript_23E6D3:: @ 823E6D3
+ setvar VAR_0x4001, 1
+ turnobject 255, 2
+ end
+
+BattleFrontier_BattleTowerLobby_MapScript2_23E6DD: @ 823E6DD
+ map_script_2 VAR_0x4000, 0, BattleFrontier_BattleTowerLobby_EventScript_23E707
+ map_script_2 VAR_0x4000, 1, BattleFrontier_BattleTowerLobby_EventScript_23E710
+ map_script_2 VAR_0x4000, 2, BattleFrontier_BattleTowerLobby_EventScript_23E8EE
+ map_script_2 VAR_0x4000, 3, BattleFrontier_BattleTowerLobby_EventScript_23E758
+ map_script_2 VAR_0x4000, 4, BattleFrontier_BattleTowerLobby_EventScript_23E7F2
+ .2byte 0
+
+BattleFrontier_BattleTowerLobby_EventScript_23E707:: @ 823E707
+ setvar VAR_0x8004, 0
+ special sub_81A1780
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23E710:: @ 823E710
+ lock
+ faceplayer
+ msgbox BattleFrontier_BattleTowerLobby_Text_23F583, 4
+ closemessage
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 0
+ special sub_8161F74
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 0
+ special sub_8161F74
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x4000, 255
+ release
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23E758:: @ 823E758
+ lock
+ faceplayer
+ setvar VAR_0x8004, 10
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E778
+ message BattleFrontier_BattleTowerLobby_Text_23F60D
+ waitmessage
+ goto BattleFrontier_BattleTowerLobby_EventScript_23E780
+
+BattleFrontier_BattleTowerLobby_EventScript_23E778:: @ 823E778
+ msgbox BattleFrontier_BattleTowerLobby_Text_241486, 4
+
+BattleFrontier_BattleTowerLobby_EventScript_23E780:: @ 823E780
+ setvar VAR_0x8004, 5
+ special sub_8161F74
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E7A5
+ message BattleFrontier_BattleTowerLobby_Text_23F844
+ waitmessage
+ playfanfare BGM_FANFA4
+ waitfanfare
+ msgbox BattleFrontier_BattleTowerLobby_Text_23F89F, 4
+
+BattleFrontier_BattleTowerLobby_EventScript_23E7A5:: @ 823E7A5
+ msgbox BattleFrontier_BattleTowerLobby_Text_2414D4, 4
+ setvar VAR_0x8004, 11
+ special sub_81A1780
+ msgbox BattleFrontier_BattleTowerLobby_Text_241520, 9
+ call BattleFrontier_BattleTowerLobby_EventScript_23E84D
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ special sub_8161F74
+ compare_var_to_value VAR_RESULT, 49
+ goto_if 5, BattleFrontier_BattleTowerLobby_EventScript_23E7E2
+ msgbox BattleFrontier_BattleTowerLobby_Text_23F79D, 4
+
+BattleFrontier_BattleTowerLobby_EventScript_23E7E2:: @ 823E7E2
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, 4
+ closemessage
+ setvar VAR_0x4000, 255
+ release
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23E7F2:: @ 823E7F2
+ compare_var_to_value VAR_0x40CE, 2
+ goto_if 5, BattleFrontier_BattleTowerLobby_EventScript_23E81E
+ checkflag FLAG_0x152
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E81E
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ special sub_8161F74
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, BattleFrontier_BattleTowerLobby_EventScript_23E830
+
+BattleFrontier_BattleTowerLobby_EventScript_23E81E:: @ 823E81E
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 0
+ special sub_8161F74
+
+BattleFrontier_BattleTowerLobby_EventScript_23E830:: @ 823E830
+ lock
+ faceplayer
+ message BattleFrontier_BattleTowerLobby_Text_23F6F7
+ waitmessage
+ call BattleFrontier_BattleTowerLobby_EventScript_23E84D
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, 4
+ closemessage
+ setvar VAR_0x4000, 255
+ release
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23E84D:: @ 823E84D
+ message BattleFrontier_BattleTowerLobby_Text_23F70F
+ waitmessage
+ setvar VAR_0x8004, 8
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ special sp000_heal_pokemon
+ setvar VAR_0x8004, 6
+ setvar VAR_0x8005, 0
+ special sub_8161F74
+ playse SE_SAVE
+ waitse
+ call BattleFrontier_BattleTowerLobby_EventScript_23E8E0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E8DF
+ message BattleFrontier_BattleTowerLobby_Text_23FE3C
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_23E8DF
+ case 0, BattleFrontier_BattleTowerLobby_EventScript_23E8B4
+ case 127, BattleFrontier_BattleTowerLobby_EventScript_23E8DF
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_23E8B4:: @ 823E8B4
+BattleFrontier_BattleArenaLobby_EventScript_23E8B4:: @ 823E8B4
+BattleFrontier_BattleDomeLobby_EventScript_23E8B4:: @ 823E8B4
+BattleFrontier_BattleDomePreBattleRoom_EventScript_23E8B4:: @ 823E8B4
+BattleFrontier_BattleFactoryLobby_EventScript_23E8B4:: @ 823E8B4
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8B4:: @ 823E8B4
+BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8B4:: @ 823E8B4
+BattleFrontier_BattlePalaceLobby_EventScript_23E8B4:: @ 823E8B4
+BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8B4:: @ 823E8B4
+BattleFrontier_BattleTowerBattleRoom_EventScript_23E8B4:: @ 823E8B4
+BattleFrontier_BattleTowerLobby_EventScript_23E8B4:: @ 823E8B4
+ setvar VAR_0x8004, 19
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E8D7
+ playse SE_SAVE
+ msgbox BattleFrontier_BattleTowerLobby_Text_2423CD, 4
+ goto BattleFrontier_BattleTowerLobby_EventScript_23E8DF
+
+BattleFrontier_BattleTowerLobby_EventScript_23E8D7:: @ 823E8D7
+ msgbox gText_BattleRecordCouldntBeSaved, 4
+
+BattleFrontier_BattleTowerLobby_EventScript_23E8DF:: @ 823E8DF
+ return
+
+BattleFrontier_BattleArenaBattleRoom_EventScript_23E8E0:: @ 823E8E0
+BattleFrontier_BattleArenaLobby_EventScript_23E8E0:: @ 823E8E0
+BattleFrontier_BattleDomeLobby_EventScript_23E8E0:: @ 823E8E0
+BattleFrontier_BattleDomePreBattleRoom_EventScript_23E8E0:: @ 823E8E0
+BattleFrontier_BattleFactoryLobby_EventScript_23E8E0:: @ 823E8E0
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8E0:: @ 823E8E0
+BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8E0:: @ 823E8E0
+BattleFrontier_BattlePalaceLobby_EventScript_23E8E0:: @ 823E8E0
+BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8E0:: @ 823E8E0
+BattleFrontier_BattleTowerBattleRoom_EventScript_23E8E0:: @ 823E8E0
+BattleFrontier_BattleTowerLobby_EventScript_23E8E0:: @ 823E8E0
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 6
+ special sub_81A1780
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23E8EE:: @ 823E8EE
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23E930
+ message BattleFrontier_BattleTowerLobby_Text_23F737
+ waitmessage
+ message BattleFrontier_BattleTowerLobby_Text_23F754
+ waitmessage
+ setvar VAR_0x8004, 6
+ setvar VAR_0x8005, 1
+ special sub_8161F74
+ playse SE_SAVE
+ waitse
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23E930:: @ 823E930
+ setvar VAR_0x40BC, 1
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23E936:: @ 823E936
+ lock
+ faceplayer
+ setvar VAR_FRONTIER_FACILITY, 0
+ special copy_player_party_to_sav1
+ msgbox BattleFrontier_BattleTowerLobby_Text_240537, 4
+
+BattleFrontier_BattleTowerLobby_EventScript_23E948:: @ 823E948
+ message BattleFrontier_BattleTowerLobby_Text_2405B3
+ waitmessage
+ multichoice 17, 6, 23, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerLobby_EventScript_23E984
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_23EA91
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+ case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+
+BattleFrontier_BattleTowerLobby_EventScript_23E984:: @ 823E984
+ setvar VAR_0x40CE, 0
+ message BattleFrontier_BattleTowerLobby_Text_23FD3B
+ waitmessage
+ multichoice 17, 6, 24, 0
+ switch VAR_RESULT
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+ case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+ setvar VAR_0x8004, 15
+ special sub_81A1780
+ compare_var_to_value VAR_0x8004, 1
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A1780
+ msgbox BattleFrontier_BattleTowerLobby_Text_2407A6, 4
+ fadescreen 1
+ call BattleFrontier_BattleTowerLobby_EventScript_23F2B7
+ copyvar VAR_0x8004, VAR_RESULT
+ setvar VAR_0x8005, 3
+ special sub_80F9490
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, 5
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_23EA2A
+ case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
+
+BattleFrontier_BattleTowerLobby_EventScript_23EA2A:: @ 823EA2A
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 4
+ special sub_81A1780
+ setvar VAR_0x4000, 0
+ setvar VAR_0x8004, 0
+ special sub_8161F74
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 1
+ special sub_8161F74
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ closemessage
+ delay 2
+ call BattleFrontier_BattleTowerLobby_EventScript_27134F
+ setvar VAR_0x4000, 255
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0
+ incrementgamestat 30
+ setvar VAR_0x40BC, 1
+ goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23EA91:: @ 823EA91
+ msgbox BattleFrontier_BattleTowerLobby_Text_2405EC, 4
+ goto BattleFrontier_BattleTowerLobby_EventScript_23E948
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23EA9F:: @ 823EA9F
+ lock
+ faceplayer
+ setvar VAR_FRONTIER_FACILITY, 0
+ special copy_player_party_to_sav1
+ msgbox BattleFrontier_BattleTowerLobby_Text_2407E2, 4
+
+BattleFrontier_BattleTowerLobby_EventScript_23EAB1:: @ 823EAB1
+ message BattleFrontier_BattleTowerLobby_Text_24085E
+ waitmessage
+ multichoice 17, 6, 23, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerLobby_EventScript_23EAED
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_23EBFA
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+ case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+
+BattleFrontier_BattleTowerLobby_EventScript_23EAED:: @ 823EAED
+ setvar VAR_0x40CE, 1
+ message BattleFrontier_BattleTowerLobby_Text_23FD3B
+ waitmessage
+ multichoice 17, 6, 24, 0
+ switch VAR_RESULT
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+ case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+ setvar VAR_0x8004, 15
+ special sub_81A1780
+ compare_var_to_value VAR_0x8004, 1
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A1780
+ msgbox BattleFrontier_BattleTowerLobby_Text_240A50, 4
+ fadescreen 1
+ call BattleFrontier_BattleTowerLobby_EventScript_23F2B7
+ copyvar VAR_0x8004, VAR_RESULT
+ setvar VAR_0x8005, 4
+ special sub_80F9490
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, 5
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_23EB93
+ case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
+
+BattleFrontier_BattleTowerLobby_EventScript_23EB93:: @ 823EB93
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 4
+ special sub_81A1780
+ setvar VAR_0x4000, 0
+ setvar VAR_0x8004, 0
+ special sub_8161F74
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 1
+ special sub_8161F74
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ closemessage
+ delay 2
+ call BattleFrontier_BattleTowerLobby_EventScript_27134F
+ setvar VAR_0x4000, 255
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0
+ incrementgamestat 30
+ setvar VAR_0x40BC, 0
+ goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23EBFA:: @ 823EBFA
+ msgbox BattleFrontier_BattleTowerLobby_Text_240897, 4
+ goto BattleFrontier_BattleTowerLobby_EventScript_23EAB1
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23EC08:: @ 823EC08
+ lock
+ faceplayer
+ setvar VAR_FRONTIER_FACILITY, 0
+ clearflag FLAG_0x152
+ special copy_player_party_to_sav1
+ msgbox BattleFrontier_BattleTowerLobby_Text_240A8B, 4
+
+BattleFrontier_BattleTowerLobby_EventScript_23EC1D:: @ 823EC1D
+ message BattleFrontier_BattleTowerLobby_Text_240B06
+ waitmessage
+ multichoice 17, 6, 23, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerLobby_EventScript_23EC59
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_23ED66
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+ case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+
+BattleFrontier_BattleTowerLobby_EventScript_23EC59:: @ 823EC59
+ setvar VAR_0x40CE, 2
+ message BattleFrontier_BattleTowerLobby_Text_23FD3B
+ waitmessage
+ multichoice 17, 6, 24, 0
+ switch VAR_RESULT
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+ case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+ setvar VAR_0x8004, 15
+ special sub_81A1780
+ compare_var_to_value VAR_0x8004, 1
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A1780
+ msgbox BattleFrontier_BattleTowerLobby_Text_240DDB, 4
+ fadescreen 1
+ call BattleFrontier_BattleTowerLobby_EventScript_23F2B7
+ copyvar VAR_0x8004, VAR_RESULT
+ setvar VAR_0x8005, 2
+ special sub_80F9490
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, 5
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_23ECFF
+ case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
+
+BattleFrontier_BattleTowerLobby_EventScript_23ECFF:: @ 823ECFF
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 4
+ special sub_81A1780
+ setvar VAR_0x4000, 0
+ setvar VAR_0x8004, 0
+ special sub_8161F74
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 1
+ special sub_8161F74
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ closemessage
+ delay 2
+ call BattleFrontier_BattleTowerLobby_EventScript_27134F
+ setvar VAR_0x4000, 255
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0
+ incrementgamestat 30
+ setvar VAR_0x40BC, 0
+ goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23ED66:: @ 823ED66
+ msgbox BattleFrontier_BattleTowerLobby_Text_240B3E, 4
+ goto BattleFrontier_BattleTowerLobby_EventScript_23EC1D
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23ED74:: @ 823ED74
+ lock
+ faceplayer
+ setvar VAR_FRONTIER_FACILITY, 0
+ special copy_player_party_to_sav1
+ msgbox BattleFrontier_BattleTowerLobby_Text_240E15, 4
+
+BattleFrontier_BattleTowerLobby_EventScript_23ED86:: @ 823ED86
+ message BattleFrontier_BattleTowerLobby_Text_240E95
+ waitmessage
+ multichoice 17, 6, 23, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerLobby_EventScript_23EDC2
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_23F3DA
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+ case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+
+BattleFrontier_BattleTowerLobby_EventScript_23EDC2:: @ 823EDC2
+ setvar VAR_0x40CE, 3
+ message BattleFrontier_BattleTowerLobby_Text_23FD3B
+ waitmessage
+ multichoice 17, 6, 24, 0
+ switch VAR_RESULT
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+ case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+ setvar VAR_0x8004, 15
+ special sub_81A1780
+ compare_var_to_value VAR_0x8004, 1
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A1780
+ msgbox BattleFrontier_BattleTowerLobby_Text_24115E, 4
+ fadescreen 1
+ call BattleFrontier_BattleTowerLobby_EventScript_23F2B7
+ copyvar VAR_0x8004, VAR_RESULT
+ setvar VAR_0x8005, 2
+ special sub_80F9490
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, 5
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_23EE68
+ case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
+
+BattleFrontier_BattleTowerLobby_EventScript_23EE68:: @ 823EE68
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 4
+ special sub_81A1780
+ setvar VAR_0x4000, 0
+ setvar VAR_0x8004, 0
+ special sub_8161F74
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 1
+ special sub_8161F74
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ closemessage
+ delay 2
+ setvar VAR_0x8004, 6
+ setvar VAR_0x8005, 0
+ special sub_8161F74
+ call BattleFrontier_BattleTowerLobby_EventScript_27134F
+ setvar VAR_0x4000, 255
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0
+ incrementgamestat 30
+ specialvar VAR_RESULT, sub_80093CC
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F3E8
+ goto BattleFrontier_BattleTowerLobby_EventScript_23F2C5
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23EEE7:: @ 823EEE7
+ lock
+ faceplayer
+ message BattleFrontier_BattleTowerLobby_Text_23F8CD
+ waitmessage
+ multichoice 16, 4, 109, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerLobby_EventScript_23EF32
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_23EF4C
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_23EF66
+ case 3, BattleFrontier_BattleTowerLobby_EventScript_23EF80
+ case 127, BattleFrontier_BattleTowerLobby_EventScript_23EF80
+ release
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23EF32:: @ 823EF32
+ msgbox BattleFrontier_BattleTowerLobby_Text_23F969, 4
+ setvar VAR_0x8004, 1
+ call BattleFrontier_BattleTowerLobby_EventScript_271E7C
+ lock
+ faceplayer
+ goto BattleFrontier_BattleTowerLobby_EventScript_23EF8A
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23EF4C:: @ 823EF4C
+ msgbox BattleFrontier_BattleTowerLobby_Text_23F9AA, 4
+ setvar VAR_0x8004, 2
+ call BattleFrontier_BattleTowerLobby_EventScript_271E7C
+ lock
+ faceplayer
+ goto BattleFrontier_BattleTowerLobby_EventScript_23EF8A
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23EF66:: @ 823EF66
+ msgbox BattleFrontier_BattleTowerLobby_Text_23F9D4, 4
+ setvar VAR_0x8004, 3
+ call BattleFrontier_BattleTowerLobby_EventScript_271E7C
+ lock
+ faceplayer
+ goto BattleFrontier_BattleTowerLobby_EventScript_23EF8A
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23EF80:: @ 823EF80
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FA0F, 4
+ release
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23EF8A:: @ 823EF8A
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23EFA1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23EFAB
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23EFA1:: @ 823EFA1
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FA4F, 4
+ release
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23EFAB:: @ 823EFAB
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FA83, 4
+ release
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23EFB5:: @ 823EFB5
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FAC0, 2
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23EFBE:: @ 823EFBE
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FB26, 2
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23EFC7:: @ 823EFC7
+ lockall
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ waitbuttonpress
+ special sub_813C5A0
+ releaseall
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23EFE0:: @ 823EFE0
+ lockall
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ waitbuttonpress
+ special sub_813C5A0
+ releaseall
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23EFF9:: @ 823EFF9
+ lockall
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 2
+ special sub_81A1780
+ waitbuttonpress
+ special sub_813C5A0
+ releaseall
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F012:: @ 823F012
+ lockall
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 3
+ special sub_81A1780
+ waitbuttonpress
+ special sub_813C5A0
+ releaseall
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F02B:: @ 823F02B
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerLobby_EventScript_23F046
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_23F08B
+
+BattleFrontier_BattleTowerLobby_EventScript_23F046:: @ 823F046
+ switch VAR_0x40CE
+ case 0, BattleFrontier_BattleTowerLobby_EventScript_23F06F
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_23F07D
+ msgbox BattleFrontier_BattleTowerLobby_Text_24038B, 4
+ goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F06F:: @ 823F06F
+ msgbox BattleFrontier_BattleTowerLobby_Text_240027, 4
+ goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F07D:: @ 823F07D
+ msgbox BattleFrontier_BattleTowerLobby_Text_2401DB, 4
+ goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F08B:: @ 823F08B
+ switch VAR_0x40CE
+ case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0B4
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_23F0C2
+ msgbox BattleFrontier_BattleTowerLobby_Text_24046B, 4
+ goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F0B4:: @ 823F0B4
+ msgbox BattleFrontier_BattleTowerLobby_Text_24010B, 4
+ goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F0C2:: @ 823F0C2
+ msgbox BattleFrontier_BattleTowerLobby_Text_2402BD, 4
+ goto BattleFrontier_BattleTowerLobby_EventScript_23F0F1
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F0D0:: @ 823F0D0
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ special sub_81A1780
+ goto BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F0E3:: @ 823F0E3
+ special copy_player_party_from_sav1
+
+BattleFrontier_BattleTowerLobby_EventScript_23F0E6:: @ 823F0E6
+ special sub_80097E8
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FD07, 4
+
+BattleFrontier_BattleTowerLobby_EventScript_23F0F1:: @ 823F0F1
+ release
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F0F3:: @ 823F0F3
+ special copy_player_party_to_sav1
+ setvar VAR_0x8004, 3
+ call BattleFrontier_BattleTowerLobby_EventScript_23F272
+ special sub_81A1780
+ setvar VAR_RESULT, 0
+
+BattleFrontier_BattleTowerLobby_EventScript_23F108:: @ 823F108
+ setvar VAR_0x8004, 12
+ special sub_8161F74
+ delay 1
+ compare_var_to_value VAR_RESULT, 6
+ goto_if 5, BattleFrontier_BattleTowerLobby_EventScript_23F108
+ call BattleFrontier_BattleTowerLobby_EventScript_23F135
+ clearflag FLAG_0x077
+ warp BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR, 255, 1, 6
+ setvar VAR_0x4000, 0
+ waitstate
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F135:: @ 823F135
+ call BattleFrontier_BattleTowerLobby_EventScript_23F1A7
+ compare_var_to_value VAR_0x40CE, 3
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F152
+ msgbox BattleFrontier_BattleTowerLobby_Text_23FE11, 4
+ goto BattleFrontier_BattleTowerLobby_EventScript_23F15B
+
+BattleFrontier_BattleTowerLobby_EventScript_23F152:: @ 823F152
+ messageautoscroll BattleFrontier_BattleTowerLobby_Text_23FE11
+ waitmessage
+ delay 48
+
+BattleFrontier_BattleTowerLobby_EventScript_23F15B:: @ 823F15B
+ closemessage
+ call BattleFrontier_BattleTowerLobby_EventScript_23F1E8
+ call BattleFrontier_BattleTowerLobby_EventScript_23F22D
+ applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_23F195
+ applymovement 255, BattleFrontier_BattleTowerLobby_Movement_23F195
+ waitmovement 0
+ opendoor VAR_0x8004, 1
+ waitdooranim
+ applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_23F199
+ applymovement 255, BattleFrontier_BattleTowerLobby_Movement_23F19C
+ waitmovement 0
+ closedoor VAR_0x8004, 1
+ waitdooranim
+ return
+
+BattleFrontier_BattleTowerLobby_Movement_23F195: @ 823F195
+ step_up
+ step_up
+ step_up
+ step_end
+
+BattleFrontier_BattleTowerLobby_Movement_23F199: @ 823F199
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattleTowerLobby_Movement_23F19C: @ 823F19C
+ step_up
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattleTowerLobby_Movement_23F1A0: @ 823F1A0
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_54
+ step_end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F1A7:: @ 823F1A7
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1D4
+ compare_var_to_value VAR_0x40CE, 1
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1D9
+ compare_var_to_value VAR_0x40CE, 2
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1DE
+ compare_var_to_value VAR_0x40CE, 3
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1E3
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F1D4:: @ 823F1D4
+ bufferstdstring 0, 19
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F1D9:: @ 823F1D9
+ bufferstdstring 0, 20
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F1DE:: @ 823F1DE
+ bufferstdstring 0, 21
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F1E3:: @ 823F1E3
+ bufferstdstring 0, 22
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F1E8:: @ 823F1E8
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F215
+ compare_var_to_value VAR_0x40CE, 1
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F21B
+ compare_var_to_value VAR_0x40CE, 2
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F221
+ compare_var_to_value VAR_0x40CE, 3
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F227
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F215:: @ 823F215
+ setvar VAR_LAST_TALKED, 1
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F21B:: @ 823F21B
+ setvar VAR_LAST_TALKED, 7
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F221:: @ 823F221
+ setvar VAR_LAST_TALKED, 8
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F227:: @ 823F227
+ setvar VAR_LAST_TALKED, 9
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F22D:: @ 823F22D
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F25A
+ compare_var_to_value VAR_0x40CE, 1
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F260
+ compare_var_to_value VAR_0x40CE, 2
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F266
+ compare_var_to_value VAR_0x40CE, 3
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F26C
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F25A:: @ 823F25A
+ setvar VAR_0x8004, 6
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F260:: @ 823F260
+ setvar VAR_0x8004, 10
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F266:: @ 823F266
+ setvar VAR_0x8004, 14
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F26C:: @ 823F26C
+ setvar VAR_0x8004, 18
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F272:: @ 823F272
+ compare_var_to_value VAR_0x40CE, 0
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F29F
+ compare_var_to_value VAR_0x40CE, 1
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F2A5
+ compare_var_to_value VAR_0x40CE, 2
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F2AB
+ compare_var_to_value VAR_0x40CE, 3
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F2B1
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F29F:: @ 823F29F
+ setvar VAR_0x8005, 3
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F2A5:: @ 823F2A5
+ setvar VAR_0x8005, 4
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F2AB:: @ 823F2AB
+ setvar VAR_0x8005, 2
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F2B1:: @ 823F2B1
+ setvar VAR_0x8005, 2
+ return
+
+BattleFrontier_BattleArenaLobby_EventScript_23F2B7:: @ 823F2B7
+BattleFrontier_BattleDomeLobby_EventScript_23F2B7:: @ 823F2B7
+BattleFrontier_BattleDomePreBattleRoom_EventScript_23F2B7:: @ 823F2B7
+BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23F2B7:: @ 823F2B7
+BattleFrontier_BattlePalaceLobby_EventScript_23F2B7:: @ 823F2B7
+BattleFrontier_BattlePikeLobby_EventScript_23F2B7:: @ 823F2B7
+BattleFrontier_BattlePyramidLobby_EventScript_23F2B7:: @ 823F2B7
+BattleFrontier_BattleTowerLobby_EventScript_23F2B7:: @ 823F2B7
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ special sub_81A1780
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F2C5:: @ 823F2C5
+ setvar VAR_0x8004, 9
+ message OldaleTown_PokemonCenter_2F_Text_278091
+ waitmessage
+ setvar VAR_0x8005, 0
+ special sub_80B2DA4
+ waitstate
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F3AF
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2772D2
+ compare_var_to_value VAR_RESULT, 3
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F327
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F351
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+ compare_var_to_value VAR_RESULT, 6
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_2772C5
+ compare_var_to_value VAR_RESULT, 11
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F366
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F327:: @ 823F327
+ special sub_80097E8
+ compare_var_to_value VAR_0x8005, 3
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F33F
+ msgbox BattleFrontier_BattleTowerLobby_Text_278255, 4
+ release
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F33F:: @ 823F33F
+ msgbox BattleFrontier_BattleTowerLobby_Text_2412E8, 4
+ msgbox BattleFrontier_BattleTowerLobby_Text_2413DE, 4
+ release
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F351:: @ 823F351
+ msgbox BattleFrontier_BattleTowerLobby_Text_241240, 4
+ special sub_80097E8
+ msgbox BattleFrontier_BattleTowerLobby_Text_2782A8, 4
+ release
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F366:: @ 823F366
+ special sub_80097E8
+ compare_var_to_value VAR_0x8005, 0
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F394
+ compare_var_to_value VAR_0x8005, 1
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F39D
+ compare_var_to_value VAR_0x8005, 2
+ call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F3A6
+ msgbox BattleFrontier_BattleTowerLobby_Text_2413DE, 4
+ release
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F394:: @ 823F394
+ msgbox BattleFrontier_BattleTowerLobby_Text_2412E8, 4
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F39D:: @ 823F39D
+ msgbox BattleFrontier_BattleTowerLobby_Text_241285, 4
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F3A6:: @ 823F3A6
+ msgbox BattleFrontier_BattleTowerLobby_Text_2412B3, 4
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F3AF:: @ 823F3AF
+ incrementgamestat 30
+ setvar VAR_0x40BC, 0
+ message BattleFrontier_BattleTowerLobby_Text_24144D
+ waitmessage
+ setvar VAR_0x8004, 6
+ setvar VAR_0x8005, 1
+ special sub_8161F74
+ special sub_80A08CC
+ waitstate
+ playse SE_SAVE
+ waitse
+ special sub_80B3BC4
+ goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F3DA:: @ 823F3DA
+ msgbox BattleFrontier_BattleTowerLobby_Text_240ED2, 4
+ goto BattleFrontier_BattleTowerLobby_EventScript_23ED86
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F3E8:: @ 823F3E8
+ setvar VAR_0x8004, 20
+ goto BattleFrontier_BattleTowerLobby_EventScript_23F3F3
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F3F3:: @ 823F3F3
+ message BattleFrontier_BattleTowerLobby_Text_2792CD
+ waitmessage
+ multichoice 16, 6, 81, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerLobby_EventScript_23F463
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_23F430
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+ case 127, BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F430:: @ 823F430
+ call BattleFrontier_BattleTowerLobby_EventScript_277B30
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F496
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F3F3
+ compare_var_to_value VAR_RESULT, 8
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F430
+ compare_var_to_value VAR_RESULT, 11
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F366
+ release
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F463:: @ 823F463
+ call BattleFrontier_BattleTowerLobby_EventScript_277B35
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F496
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F3F3
+ compare_var_to_value VAR_RESULT, 8
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F463
+ compare_var_to_value VAR_RESULT, 11
+ goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F366
+ release
+ return
+
+BattleFrontier_BattleTowerLobby_EventScript_23F496:: @ 823F496
+ incrementgamestat 30
+ setvar VAR_0x40BC, 0
+ message BattleFrontier_BattleTowerLobby_Text_24144D
+ waitmessage
+ setvar VAR_0x8004, 6
+ setvar VAR_0x8005, 1
+ special sub_8161F74
+ special sub_80A08CC
+ waitstate
+ playse SE_SAVE
+ waitse
+ goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F4BE:: @ 823F4BE
+ lockall
+ msgbox BattleFrontier_BattleTowerLobby_Text_241540, 4
+ goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F4CD:: @ 823F4CD
+ message BattleFrontier_BattleTowerLobby_Text_241563
+ waitmessage
+ multichoice 17, 2, 97, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_BattleTowerLobby_EventScript_23F520
+ case 1, BattleFrontier_BattleTowerLobby_EventScript_23F52E
+ case 2, BattleFrontier_BattleTowerLobby_EventScript_23F53C
+ case 3, BattleFrontier_BattleTowerLobby_EventScript_23F54A
+ case 4, BattleFrontier_BattleTowerLobby_EventScript_23F558
+ case 127, BattleFrontier_BattleTowerLobby_EventScript_23F558
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F520:: @ 823F520
+ msgbox BattleFrontier_BattleTowerLobby_Text_241586, 4
+ goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F52E:: @ 823F52E
+ msgbox BattleFrontier_BattleTowerLobby_Text_241693, 4
+ goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F53C:: @ 823F53C
+ msgbox BattleFrontier_BattleTowerLobby_Text_241777, 4
+ goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F54A:: @ 823F54A
+ msgbox BattleFrontier_BattleTowerLobby_Text_24187E, 4
+ goto BattleFrontier_BattleTowerLobby_EventScript_23F4CD
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F558:: @ 823F558
+ releaseall
+ end
+
+BattleFrontier_BattleTowerLobby_EventScript_23F55A: @ 823F55A
+ .string "I’ll direct you to your BATTLE ROOM now.$"
+
+BattleFrontier_BattleTowerLobby_Text_23F583: @ 823F583
+ .string "Excuse me!\p"
+ .string "You didn’t save before you quit your\n"
+ .string "challenge last time.\p"
+ .string "Because of that, your challenge so far\n"
+ .string "has been disqualified. Sorry!$"
+
+BattleFrontier_BattleTowerLobby_Text_23F60D: @ 823F60D
+ .string "Congratulations!\n"
+ .string "You’ve beaten all seven TRAINERS!\p"
+ .string "$"
+
+BattleFrontier_BattleTowerLobby_Text_23F641: @ 823F641
+ .string "For beating seven TRAINERS in a row,\n"
+ .string "you have earned this fabulous prize!\p"
+ .string "$"
+
+SlateportCity_BattleTentLobby_Text_23F68C: @ 823F68C
+ .string "{PLAYER} received the prize\n"
+ .string "{STR_VAR_1}.$"
+
+SlateportCity_BattleTentLobby_Text_23F6A6: @ 823F6A6
+ .string "Oh, your BAG appears to be full.\p"
+ .string "Please make room in your BAG, then come\n"
+ .string "see me.$"
+
+BattleFrontier_BattleTowerLobby_Text_23F6F7: @ 823F6F7
+ .string "Thank you for playing!\p"
+ .string "$"
+
+BattleFrontier_BattleTowerLobby_Text_23F70F: @ 823F70F
+ .string "Your record will be saved.\n"
+ .string "Please wait.$"
+
+BattleFrontier_BattleTowerLobby_Text_23F737: @ 823F737
+ .string "We’ve been waiting for you!\p"
+ .string "$"
+
+BattleFrontier_BattleTowerLobby_Text_23F754: @ 823F754
+ .string "Before entering a BATTLE ROOM, your\n"
+ .string "progress will be saved. Please wait.$"
+
+BattleFrontier_BattleTowerLobby_Text_23F79D: @ 823F79D
+ .string "You’re finally about to face the\n"
+ .string "50th TRAINER.\p"
+ .string "From here on, every time you beat seven\n"
+ .string "TRAINERS in a row, your POKéMON will\l"
+ .string "receive a commemorative RIBBON.\p"
+ .string "Good luck!$"
+
+BattleFrontier_BattleTowerLobby_Text_23F844: @ 823F844
+ .string "Here are some RIBBONS for beating\n"
+ .string "seven tough TRAINERS in a row.\p"
+ .string "{PLAYER} received some RIBBONS!$"
+
+BattleFrontier_BattleTowerLobby_Text_23F89F: @ 823F89F
+ .string "{PLAYER} put the RIBBONS on\n"
+ .string "the challenger POKéMON.$"
+
+BattleFrontier_BattleTowerLobby_Text_23F8CD: @ 823F8CD
+ .string "Excuse me, do you have a moment?\p"
+ .string "Can you describe your feelings when\n"
+ .string "you’re about to begin a BATTLE TOWER\l"
+ .string "match, or when you’ve either won or\l"
+ .string "lost a match?$"
+
+BattleFrontier_BattleTowerLobby_Text_23F969: @ 823F969
+ .string "Okay, what are your feelings when\n"
+ .string "you’re about to begin a match?$"
+
+BattleFrontier_BattleTowerLobby_Text_23F9AA: @ 823F9AA
+ .string "What do you feel when you’ve won\n"
+ .string "a match?$"
+
+BattleFrontier_BattleTowerLobby_Text_23F9D4: @ 823F9D4
+ .string "Can I hear about your feelings when\n"
+ .string "you have lost a match?$"
+
+BattleFrontier_BattleTowerLobby_Text_23FA0F: @ 823FA0F
+ .string "Oh, so you don’t think much about it?\n"
+ .string "You’re one cool customer.$"
+
+BattleFrontier_BattleTowerLobby_Text_23FA4F: @ 823FA4F
+ .string "Hunh? You changed your mind?\n"
+ .string "I guess you’re fickle.$"
+
+BattleFrontier_BattleTowerLobby_Text_23FA83: @ 823FA83
+ .string "Okay, so that’s how you feel?\n"
+ .string "That’s quite original.\p"
+ .string "Thanks!$"
+
+BattleFrontier_BattleTowerLobby_Text_23FAC0: @ 823FAC0
+ .string "The number of matches you win in a row\n"
+ .string "is recorded.\p"
+ .string "I’d better not get beaten in\n"
+ .string "an embarrassing way!$"
+
+BattleFrontier_BattleTowerLobby_Text_23FB26: @ 823FB26
+ .string "Once you’ve entered the BATTLE TOWER,\n"
+ .string "you can’t leave until you either lose\l"
+ .string "or you beat seven TRAINERS in a row.\p"
+ .string "You’d best be certain that you’re up\n"
+ .string "to the challenge.$"
+
+BattleFrontier_BattleTowerLobby_Text_23FBCE: @ 823FBCE
+ .string "Welcome to the BATTLE TOWER\n"
+ .string "DOUBLE BATTLE CORNER!\p"
+ .string "Unfortunately, the BATTLE ROOMS\n"
+ .string "are still under construction.\p"
+ .string "Please come back when the work\n"
+ .string "is completed.$"
+
+BattleFrontier_BattleTowerLobby_Text_23FC6B: @ 823FC6B
+ .string "Welcome to the BATTLE TOWER\n"
+ .string "MULTI BATTLE CORNER!\p"
+ .string "Unfortunately, the BATTLE ROOMS\n"
+ .string "are still under construction.\p"
+ .string "Please come back when the work\n"
+ .string "is completed.$"
+
+BattleFrontier_BattleTowerLobby_Text_23FD07: @ 823FD07
+ .string "We look forward to seeing you on\n"
+ .string "another challenge!$"
+
+BattleFrontier_BattleTowerLobby_Text_23FD3B: @ 823FD3B
+ .string "The BATTLE ROOM offers two levels\n"
+ .string "of challenge, Level 50 and Open Level.\l"
+ .string "Which is your choice?$"
+
+BattleFrontier_BattleTowerLobby_Text_23FD9A: @ 823FD9A
+ .string "Please select the POKéMON you wish\n"
+ .string "to enter.$"
+
+BattleFrontier_BattleTowerLobby_Text_23FDC7: @ 823FDC7
+ .string "Before entering a BATTLE ROOM, your\n"
+ .string "progress must be saved. Is that okay?$"
+
+BattleFrontier_BattleTowerLobby_Text_23FE11: @ 823FE11
+ .string "I will now show you to the\n"
+ .string "{STR_VAR_1} BATTLE ROOM.$"
+
+BattleFrontier_BattleTowerLobby_Text_23FE3C: @ 823FE3C
+ .string "Shall I record your last BATTLE TOWER\n"
+ .string "match on your FRONTIER PASS?$"
+
+BattleFrontier_BattleTowerLobby_Text_23FE7F: @ 823FE7F
+ .string "Excuse me!\p"
+ .string "You don’t have {STR_VAR_2} eligible POKéMON.\p"
+ .string "You must have {STR_VAR_2} different POKéMON\n"
+ .string "of Level 50 or less to enter.\p"
+ .string "They also must be holding different\n"
+ .string "kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "Please come see me when you are ready.$"
+
+BattleFrontier_BattleTowerLobby_Text_23FF5D: @ 823FF5D
+ .string "Excuse me!\p"
+ .string "You don’t have {STR_VAR_2} eligible POKéMON.\p"
+ .string "You must have {STR_VAR_2} different POKéMON\n"
+ .string "to enter.\p"
+ .string "They also must be holding different\n"
+ .string "kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "Please come see me when you are ready.$"
+
+BattleFrontier_BattleTowerLobby_Text_240027: @ 8240027
+ .string "Excuse me!\p"
+ .string "You don’t have three eligible POKéMON.\p"
+ .string "You must have three different POKéMON\n"
+ .string "of Level 50 or less to enter.\p"
+ .string "They also must be holding different\n"
+ .string "kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "Please come see me when you are ready.$"
+
+BattleFrontier_BattleTowerLobby_Text_24010B: @ 824010B
+ .string "Excuse me!\p"
+ .string "You don’t have three eligible POKéMON.\p"
+ .string "You must have three different POKéMON\n"
+ .string "to enter.\p"
+ .string "They also must be holding different\n"
+ .string "kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "Please come see me when you are ready.$"
+
+BattleFrontier_BattleTowerLobby_Text_2401DB: @ 82401DB
+ .string "Excuse me!\p"
+ .string "You don’t have four eligible POKéMON.\p"
+ .string "You must have four different POKéMON\n"
+ .string "of Level 50 or less to enter.\p"
+ .string "They also must be holding different\n"
+ .string "kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "Please come see me when you are ready.$"
+
+BattleFrontier_BattleTowerLobby_Text_2402BD: @ 82402BD
+ .string "Excuse me!\p"
+ .string "You don’t have four eligible POKéMON.\p"
+ .string "You must have four different POKéMON\n"
+ .string "to enter.\p"
+ .string "They also must be holding different\n"
+ .string "kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "Please come see me when you are ready.$"
+
+BattleFrontier_BattleTowerLobby_Text_24038B: @ 824038B
+ .string "Excuse me!\p"
+ .string "You don’t have two eligible POKéMON.\p"
+ .string "You must have two different POKéMON\n"
+ .string "of Level 50 or less to enter.\p"
+ .string "They also must be holding different\n"
+ .string "kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "Please come see me when you are ready.$"
+
+BattleFrontier_BattleTowerLobby_Text_24046B: @ 824046B
+ .string "Excuse me!\p"
+ .string "You don’t have two eligible POKéMON.\p"
+ .string "You must have two different POKéMON\n"
+ .string "to enter.\p"
+ .string "They also must be holding different\n"
+ .string "kinds of items.\p"
+ .string "EGGS{STR_VAR_1} ineligible.\p"
+ .string "Please come see me when you are ready.$"
+
+BattleFrontier_BattleTowerLobby_Text_240537: @ 8240537
+ .string "Where the talents of TRAINERS\n"
+ .string "are put to the test!\p"
+ .string "Welcome to the BATTLE TOWER!\p"
+ .string "I am your guide to the SINGLE\n"
+ .string "BATTLE ROOMS.$"
+
+BattleFrontier_BattleTowerLobby_Text_2405B3: @ 82405B3
+ .string "Would you like to take the SINGLE\n"
+ .string "BATTLE ROOM challenge?$"
+
+BattleFrontier_BattleTowerLobby_Text_2405EC: @ 82405EC
+ .string "The BATTLE TOWER’s SINGLE BATTLE\n"
+ .string "ROOMS are facilities for conducting\l"
+ .string "SINGLE BATTLES with three POKéMON.\p"
+ .string "There are many SINGLE BATTLE ROOMS\n"
+ .string "in the BATTLE TOWER for team battles.\p"
+ .string "In each of the SINGLE BATTLE ROOMS,\n"
+ .string "seven TRAINERS await your challenge.\p"
+ .string "If you manage to defeat all seven,\n"
+ .string "you will earn Battle Points.\p"
+ .string "If you want to interrupt your\n"
+ .string "challenge, please save the game.\p"
+ .string "If you don’t save before interrupting,\n"
+ .string "you will be disqualified.$"
+
+BattleFrontier_BattleTowerLobby_Text_2407A6: @ 82407A6
+ .string "Now please select the three POKéMON\n"
+ .string "that are to be entered.$"
+
+BattleFrontier_BattleTowerLobby_Text_2407E2: @ 82407E2
+ .string "Where the talents of TRAINERS\n"
+ .string "are put to the test!\p"
+ .string "Welcome to the BATTLE TOWER!\p"
+ .string "I am your guide to the DOUBLE\n"
+ .string "BATTLE ROOMS.$"
+
+BattleFrontier_BattleTowerLobby_Text_24085E: @ 824085E
+ .string "Would you like to take the DOUBLE\n"
+ .string "BATTLE ROOM challenge?$"
+
+BattleFrontier_BattleTowerLobby_Text_240897: @ 8240897
+ .string "The BATTLE TOWER’s DOUBLE BATTLE\n"
+ .string "ROOMS are facilities for conducting\l"
+ .string "DOUBLE BATTLES with four POKéMON.\p"
+ .string "There are many DOUBLE BATTLE ROOMS\n"
+ .string "in the BATTLE TOWER for team battles.\p"
+ .string "In each of the DOUBLE BATTLE ROOMS,\n"
+ .string "seven TRAINERS await your challenge.\p"
+ .string "If you manage to defeat all seven,\n"
+ .string "you will earn Battle Points.\p"
+ .string "If you want to interrupt your\n"
+ .string "challenge, please save the game.\p"
+ .string "If you don’t save before interrupting,\n"
+ .string "you will be disqualified.$"
+
+BattleFrontier_BattleTowerLobby_Text_240A50: @ 8240A50
+ .string "Now please select the four POKéMON\n"
+ .string "that are to be entered.$"
+
+BattleFrontier_BattleTowerLobby_Text_240A8B: @ 8240A8B
+ .string "Where the talents of TRAINERS\n"
+ .string "are put to the test!\p"
+ .string "Welcome to the BATTLE TOWER!\p"
+ .string "I am your guide to the MULTI\n"
+ .string "BATTLE ROOMS.$"
+
+BattleFrontier_BattleTowerLobby_Text_240B06: @ 8240B06
+ .string "Would you like to take the MULTI\n"
+ .string "BATTLE ROOM challenge?$"
+
+BattleFrontier_BattleTowerLobby_Text_240B3E: @ 8240B3E
+ .string "The BATTLE TOWER’s MULTI BATTLE\n"
+ .string "ROOMS are facilities for conducting\l"
+ .string "MULTI BATTLES.\p"
+ .string "For MULTI BATTLES, you must partner\n"
+ .string "with a TRAINER in the TOWER and enter\l"
+ .string "with two POKéMON each.\p"
+ .string "Inside the TOWER is a room named\n"
+ .string "the BATTLE SALON where you may meet\l"
+ .string "other TRAINERS.\p"
+ .string "There, you must find a TRAINER to act\n"
+ .string "as your partner in MULTI BATTLES.\p"
+ .string "Once you have partnered up, you will\n"
+ .string "be shown to a MULTI BATTLE ROOM.\p"
+ .string "In the MULTI BATTLE ROOM, seven\n"
+ .string "tag teams await your challenge.\p"
+ .string "If you manage to defeat all seven\n"
+ .string "teams, you will earn Battle Points.\p"
+ .string "If you want to interrupt your\n"
+ .string "challenge, please save the game.\p"
+ .string "If you don’t save before interrupting,\n"
+ .string "you will be disqualified.$"
+
+BattleFrontier_BattleTowerLobby_Text_240DDB: @ 8240DDB
+ .string "Now please select the two POKéMON\n"
+ .string "that are to be entered.$"
+
+BattleFrontier_BattleTowerLobby_Text_240E15: @ 8240E15
+ .string "Where the talents of TRAINERS\n"
+ .string "are put to the test!\p"
+ .string "Welcome to the BATTLE TOWER!\p"
+ .string "I am your guide to the LINK MULTI\n"
+ .string "BATTLE ROOMS.$"
+
+BattleFrontier_BattleTowerLobby_Text_240E95: @ 8240E95
+ .string "Would you like to take the LINK MULTI\n"
+ .string "BATTLE ROOM challenge?$"
+
+BattleFrontier_BattleTowerLobby_Text_240ED2: @ 8240ED2
+ .string "The BATTLE TOWER’s MULTI BATTLE\n"
+ .string "ROOMS are facilities for conducting\l"
+ .string "MULTI BATTLES with a friend.\p"
+ .string "You must link with your friend using\n"
+ .string "Wireless Adapters or a Game Boy\l"
+ .string "Advance Game Link cable.\p"
+ .string "You must partner with your friend and\n"
+ .string "enter two different kinds of POKéMON.\p"
+ .string "There are many MULTI BATTLE ROOMS\n"
+ .string "in the BATTLE TOWER for team battles.\p"
+ .string "In a MULTI BATTLE ROOM, seven\n"
+ .string "tag teams await you and your friend\l"
+ .string "to make a tag-team challenge.\p"
+ .string "If you manage to defeat all seven\n"
+ .string "teams, you will earn Battle Points.\p"
+ .string "Please beware that unlike other ROOMS,\n"
+ .string "you may not interrupt your challenge.\p"
+ .string "Once you start, you must battle seven\n"
+ .string "MULTI BATTLES in a row nonstop.$"
+
+BattleFrontier_BattleTowerLobby_Text_24115E: @ 824115E
+ .string "Now please select the two POKéMON\n"
+ .string "that are to be entered.$"
+
+BattleFrontier_BattleTowerLobby_Text_241198: @ 8241198
+ .string "You have chosen the same kind of\n"
+ .string "POKéMON as your friend.\p"
+ .string "Please choose two POKéMON different\n"
+ .string "from your friend’s, match the level\l"
+ .string "you wish to enter, and register again.$"
+
+BattleFrontier_BattleTowerLobby_Text_241240: @ 8241240
+ .string "The LINK MULTI BATTLE ROOM challenge\n"
+ .string "is only for two linked players.$"
+
+BattleFrontier_BattleTowerLobby_Text_241285: @ 8241285
+ .string "Your friend has also selected\n"
+ .string "the POKéMON {STR_VAR_1}.$"
+
+BattleFrontier_BattleTowerLobby_Text_2412B3: @ 82412B3
+ .string "Your friend has also selected the\n"
+ .string "POKéMON {STR_VAR_1} and {STR_VAR_2}.$"
+
+BattleFrontier_BattleTowerLobby_Text_2412E8: @ 82412E8
+ .string "Your friend has chosen a different\n"
+ .string "battle level.$"
+
+BattleFrontier_BattleTowerLobby_Text_241319: @ 8241319
+ .string "Your friend has chosen a different\n"
+ .string "battle level.\p"
+ .string "Your friend has also selected\n"
+ .string "the POKéMON {STR_VAR_1}.$"
+
+BattleFrontier_BattleTowerLobby_Text_241378: @ 8241378
+ .string "Your friend has chosen a different\n"
+ .string "battle level.\p"
+ .string "Your friend has also selected the\n"
+ .string "POKéMON {STR_VAR_1} and {STR_VAR_2}.$"
+
+BattleFrontier_BattleTowerLobby_Text_2413DE: @ 82413DE
+ .string "Please choose two POKéMON different\n"
+ .string "from your friend’s, match the level\l"
+ .string "you wish to enter, and register again.$"
+
+BattleFrontier_BattleTowerLobby_Text_24144D: @ 824144D
+ .string "I will save the game before\n"
+ .string "showing you in. Please wait.$"
+
+BattleFrontier_BattleTowerLobby_Text_241486: @ 8241486
+ .string "Congratulations!\n"
+ .string "You have defeated the SALON MAIDEN\l"
+ .string "and swept seven TRAINERS!$"
+
+BattleFrontier_BattleTowerLobby_Text_2414D4: @ 82414D4
+ .string "In recognition of your infinite talent,\n"
+ .string "we award you these Battle Point(s).$"
+
+BattleFrontier_BattleArenaLobby_Text_241520: @ 8241520
+BattleFrontier_BattleDomeLobby_Text_241520: @ 8241520
+BattleFrontier_BattleFactoryLobby_Text_241520: @ 8241520
+BattleFrontier_BattlePalaceLobby_Text_241520: @ 8241520
+BattleFrontier_BattlePikeLobby_Text_241520: @ 8241520
+BattleFrontier_BattlePyramidLobby_Text_241520: @ 8241520
+BattleFrontier_BattleTowerLobby_Text_241520: @ 8241520
+ .string "{PLAYER} obtained {STR_VAR_1} Battle Point(s).$"
+
+BattleFrontier_BattleTowerLobby_Text_241540: @ 8241540
+ .string "The BATTLE TOWER rules are listed.$"
+
+BattleFrontier_BattleTowerLobby_Text_241563: @ 8241563
+ .string "Which heading do you want to read?$"
+
+BattleFrontier_BattleTowerLobby_Text_241586: @ 8241586
+ .string "The BATTLE TOWER is a facility where\n"
+ .string "four types of battles are waged--\l"
+ .string "SINGLE BATTLE, DOUBLE BATTLE, MULTI\l"
+ .string "BATTLE, and LINK MULTI BATTLE.\p"
+ .string "For each of these types, there are\n"
+ .string "separate BATTLE ROOMS.\p"
+ .string "Please speak with a guide offering\n"
+ .string "the type of battle you wish to enter.$"
+
+BattleFrontier_BattleTowerLobby_Text_241693: @ 8241693
+ .string "Depending on the BATTLE ROOM you are\n"
+ .string "entering, you will be required to take\l"
+ .string "a certain number of POKéMON.\p"
+ .string "The SINGLE BATTLE mode requires\n"
+ .string "three POKéMON.\p"
+ .string "The DOUBLE BATTLE mode requires four,\n"
+ .string "and the MULTI modes both require two.$"
+
+BattleFrontier_BattleTowerLobby_Text_241777: @ 8241777
+ .string "The BATTLE SALON is where you must\n"
+ .string "find a partner to form a tag team for\l"
+ .string "the MULTI BATTLE ROOM challenge.\p"
+ .string "Choose the best partner for you by\n"
+ .string "examining other TRAINERS’\l"
+ .string "POKéMON and their moves.\p"
+ .string "You may choose a new tag partner\n"
+ .string "after winning seven straight matches.$"
+
+BattleFrontier_BattleTowerLobby_Text_24187E: @ 824187E
+ .string "The LINK MULTI BATTLE Mode is for two\n"
+ .string "friends to mount a challenge together.\p"
+ .string "You and your friend must be linked with\n"
+ .string "Wireless Adapters or a GBA Game Link\l"
+ .string "cable.\p"
+ .string "You must choose two POKéMON at\n"
+ .string "the registration counter.\p"
+ .string "These POKéMON must be different\n"
+ .string "from those of your friend.\p"
+ .string "You may not interrupt this challenge\n"
+ .string "in the middle, unlike other modes.$"
diff --git a/data/scripts/maps/BattleFrontier_BattleTowerMultiBattleRoom.inc b/data/scripts/maps/BattleFrontier_BattleTowerMultiBattleRoom.inc
new file mode 100644
index 000000000..b2d411b64
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_BattleTowerMultiBattleRoom.inc
@@ -0,0 +1,1482 @@
+BattleFrontier_BattleTowerMultiBattleRoom_MapScripts:: @ 8243D92
+ map_script 5, BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DA7
+ map_script 3, BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DB0
+ map_script 4, BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E14
+ map_script 2, BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E23
+ .byte 0
+
+BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DA7: @ 8243DA7
+ setvar VAR_0x8004, 17
+ special sub_81A8E7C
+ end
+
+BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DB0: @ 8243DB0
+ checkflag FLAG_0x152
+ goto_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243DDA
+ clearflag FLAG_0x2C7
+ clearflag FLAG_0x2C8
+ clearflag FLAG_0x2C9
+ clearflag FLAG_0x2CA
+ clearflag FLAG_0x2CB
+ clearflag FLAG_0x2CC
+ setflag FLAG_0x360
+ setflag FLAG_0x361
+ setvar VAR_0x8004, 10
+ special sub_8161F74
+ end
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243DDA:: @ 8243DDA
+ setvar VAR_0x4010, 7
+ setvar VAR_0x4011, 7
+ setvar VAR_0x4012, 7
+ setvar VAR_0x4013, 7
+ setvar VAR_0x4014, 7
+ setvar VAR_0x4015, 7
+ setvar VAR_0x4016, 7
+ setvar VAR_0x4017, 7
+ setvar VAR_0x4001, 1
+ setvar VAR_0x4003, 1
+ setobjectxyperm 1, 10, 2
+ end
+
+BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E14: @ 8243E14
+ map_script_2 VAR_0x4003, 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E1E
+ .2byte 0
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E1E:: @ 8243E1E
+ turnobject 255, 2
+ end
+
+BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E23: @ 8243E23
+ map_script_2 VAR_0x4001, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E41
+ map_script_2 VAR_0x4003, 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E35
+ .2byte 0
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E35:: @ 8243E35
+ lockall
+ setvar VAR_0x4003, 0
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EB5
+ end
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E41:: @ 8243E41
+ lockall
+ applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E75
+ waitmovement 0
+ applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E77
+ waitmovement 0
+ moveobjectoffscreen 1
+ applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_2725A6
+ waitmovement 0
+ msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_244056, 4
+ special sp000_heal_pokemon
+ setvar VAR_0x4001, 1
+ releaseall
+ end
+
+BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E75: @ 8243E75
+ step_down
+ step_end
+
+BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E77: @ 8243E77
+ step_left
+ step_25
+ step_end
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E7A:: @ 8243E7A
+ lock
+ faceplayer
+ message BattleFrontier_BattleTowerMultiBattleRoom_Text_244094
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E9D
+ msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_24410C, 4
+ release
+ end
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E9D:: @ 8243E9D
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 6
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_241C03
+ end
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EB5:: @ 8243EB5
+ msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_244149, 4
+ closemessage
+ applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_2725A6
+ waitmovement 0
+ opendoor 10, 1
+ waitdooranim
+ call BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EE4
+ closedoor 10, 1
+ waitdooranim
+ warp BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR, 255, 1, 6
+ waitstate
+ releaseall
+ end
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EE4:: @ 8243EE4
+ applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26
+ applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1A
+ waitmovement 0
+ return
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EF6: @ 8243EF6
+ applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26
+ applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1E
+ waitmovement 0
+ return
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F08: @ 8243F08
+ applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26
+ applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F22
+ waitmovement 0
+ return
+
+BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1A: @ 8243F1A
+ step_up
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1E: @ 8243F1E
+ step_right
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F22: @ 8243F22
+ step_left
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26: @ 8243F26
+ step_up
+ step_54
+ step_end
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F29:: @ 8243F29
+ lock
+ faceplayer
+ setvar VAR_0x4002, 0
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36
+ end
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36:: @ 8243F36
+ checkflag FLAG_0x152
+ goto_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FC3
+ setvar VAR_0x8004, 11
+ setvar VAR_0x8005, 0
+ special sub_8161F74
+ waitmessage
+ waitbuttonpress
+ setvar VAR_0x8004, 11
+ setvar VAR_0x8005, 1
+ special sub_8161F74
+ waitmessage
+ waitbuttonpress
+ setvar VAR_0x8004, 11
+ setvar VAR_0x8005, 2
+ special sub_8161F74
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FC3
+ case 127, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FC3
+ setvar VAR_0x8004, 11
+ setvar VAR_0x8005, 3
+ special sub_8161F74
+ waitmessage
+ waitbuttonpress
+ closemessage
+ compare_var_to_value VAR_FACING, 1
+ call_if 5, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FD4
+ compare_var_to_value VAR_FACING, 1
+ call_if 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FDF
+ removeobject VAR_LAST_TALKED
+ setflag FLAG_0x152
+ warpsilent BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM, 255, 10, 3
+ waitstate
+ release
+ end
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FC3:: @ 8243FC3
+ setvar VAR_0x8004, 11
+ setvar VAR_0x8005, 4
+ special sub_8161F74
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FD4:: @ 8243FD4
+ applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243FEA
+ waitmovement 0
+ return
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FDF:: @ 8243FDF
+ applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243FF2
+ waitmovement 0
+ return
+
+BattleFrontier_BattleTowerMultiBattleRoom_Movement_243FEA: @ 8243FEA
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_end
+
+BattleFrontier_BattleTowerMultiBattleRoom_Movement_243FF2: @ 8243FF2
+ step_17
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_end
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FFB:: @ 8243FFB
+ lock
+ faceplayer
+ setvar VAR_0x4002, 1
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36
+ end
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244008:: @ 8244008
+ lock
+ faceplayer
+ setvar VAR_0x4002, 2
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36
+ end
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244015:: @ 8244015
+ lock
+ faceplayer
+ setvar VAR_0x4002, 3
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36
+ end
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244022:: @ 8244022
+ lock
+ faceplayer
+ setvar VAR_0x4002, 4
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36
+ end
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24402F:: @ 824402F
+ lock
+ faceplayer
+ setvar VAR_0x4002, 5
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36
+ end
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24403C:: @ 824403C
+ lock
+ faceplayer
+ setvar VAR_0x4002, 6
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36
+ end
+
+BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244049:: @ 8244049
+ lock
+ faceplayer
+ setvar VAR_0x4002, 7
+ goto BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36
+ end
+
+BattleFrontier_BattleTowerMultiBattleRoom_Text_244056: @ 8244056
+ .string "Please find a partner from out of\n"
+ .string "the TRAINERS gathered here.$"
+
+BattleFrontier_BattleTowerMultiBattleRoom_Text_244094: @ 8244094
+ .string "{PLAYER}, you have not found a partner\n"
+ .string "for your tag team.\p"
+ .string "Would you like to quit looking and\n"
+ .string "return to the reception counter?$"
+
+BattleFrontier_BattleTowerMultiBattleRoom_Text_24410C: @ 824410C
+ .string "Then, please find a partner from\n"
+ .string "the TRAINERS gathered here.$"
+
+BattleFrontier_BattleTowerMultiBattleRoom_Text_244149: @ 8244149
+ .string "Thank you for choosing a partner.\p"
+ .string "I will now show you to your\n"
+ .string "MULTI BATTLE ROOM.$"
+
+ .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice.\n"
+ .string "You can call me {STR_VAR_3}!$"
+
+ .string "On {STR_VAR_1}’s advice, I brought\n"
+ .string "one {STR_VAR_3} with {STR_VAR_2} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
+ .string "Please, let me join you as a tag team.$"
+
+ .string "Thank you!\n"
+ .string "I’ll go register right now.$"
+
+ .string "I really wanted to form a tag team\n"
+ .string "with you, {PLAYER}…$"
+
+ .string "I am {STR_VAR_1}’s no. {STR_VAR_2} apprentice.\n"
+ .string "My name is {STR_VAR_3}.$"
+
+ .string "I got advice from {STR_VAR_1} and chose\n"
+ .string "one {STR_VAR_3} with {STR_VAR_2} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
+ .string "Please, let’s form a tag team!$"
+
+ .string "Thank you very much!\n"
+ .string "I’ll be done with registration quickly!$"
+
+ .string "{PLAYER}, I was hoping that I could\n"
+ .string "partner up with you…$"
+
+ .string "Um, my name’s {STR_VAR_3}, and I’m\n"
+ .string "{STR_VAR_1}’s no. {STR_VAR_2} apprentice.\p"
+ .string "Snivel…\p"
+ .string "I’m sorry!\n"
+ .string "This tension is making me cry…$"
+
+ .string "{STR_VAR_3} advised me, so I have\n"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
+ .string "Snivel…\n"
+ .string "Please, please team up with me!$"
+
+ .string "Oh, really? You will?\n"
+ .string "Awesome! Wicked! Awoooh!\p"
+ .string "Oh… I’m sorry…\n"
+ .string "I’m so happy, I’m crying…\p"
+ .string "I’ll go register right away.\n"
+ .string "Please don’t go away!$"
+
+ .string "Oh, b-but…\n"
+ .string "Sob… Waaaaah!$"
+
+ .string "Hi, there! I’m {STR_VAR_3}!\n"
+ .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!$"
+
+ .string "{STR_VAR_3} recommended my crew.\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1},\n"
+ .string "that’s what I have! Cool, huh?\p"
+ .string "So come on!\n"
+ .string "Let’s form a tag team!$"
+
+ .string "Yay! Great!\n"
+ .string "Okay, I’ll go register, okay?$"
+
+ .string "Aww, why?\n"
+ .string "I wanted to team up, {PLAYER}!$"
+
+ .string "I’m {STR_VAR_3}, the no. {STR_VAR_2} apprentice\n"
+ .string "of the famous {STR_VAR_1}!$"
+
+ .string "I looked to {STR_VAR_3} for advice.\n"
+ .string "One {STR_VAR_1}-using {STR_VAR_2}$"
+
+ .string "and one {STR_VAR_2} with {STR_VAR_1},\n"
+ .string "that’s my pair.\p"
+ .string "Please, will you join me in\n"
+ .string "a tag team?$"
+
+ .string "Thank you!\n"
+ .string "I’ll register right away!$"
+
+ .string "{PLAYER}, I had been hoping to join\n"
+ .string "you in a tag team…$"
+
+ .string "Um… I’m sincerely happy that you\n"
+ .string "would take the time to talk to me.\p"
+ .string "I’m {STR_VAR_3}.\n"
+ .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice…$"
+
+ .string "{STR_VAR_3} gave me advice.\n"
+ .string "I’m very grateful for it.\p"
+ .string "I have a team of one {STR_VAR_2}\n"
+ .string "with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}.\n"
+ .string "I know I’m asking a lot…\p"
+ .string "I don’t think you’ll be willing to,\n"
+ .string "but may I join you as a partner?$"
+
+ .string "Really? I can’t believe it!\n"
+ .string "I can’t believe you’ll let me join you!\l"
+ .string "I… I won’t let you down!\p"
+ .string "Um… If it’s really okay, I’ll go register\n"
+ .string "right this instant!$"
+
+ .string "Oh…\n"
+ .string "I didn’t think I was good enough…$"
+
+ .string "Hi, I’m {STR_VAR_3}.\n"
+ .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!$"
+
+ .string "{STR_VAR_3} told me that it would be\n"
+ .string "good to make this team:\l"
+ .string "one {STR_VAR_1}-using {STR_VAR_2}$"
+
+ .string "and one {STR_VAR_2} that knows how\n"
+ .string "to use {STR_VAR_1}.\p"
+ .string "Not bad, huh?\n"
+ .string "Want me to team up with you?$"
+
+ .string "Okay, glad to join you!\n"
+ .string "I hope you won’t mess things up for me!\l"
+ .string "I’ll do my registration now.$"
+
+ .string "Huh? Why did you turn me down?\n"
+ .string "You’re no judge of character!$"
+
+ .string "I’m {STR_VAR_3} and I’m a TRIATHLETE.\n"
+ .string "I’m busy every day what with jogging,\l"
+ .string "training, and rapping.\p"
+ .string "I also happen to be {STR_VAR_1}’s\n"
+ .string "no. {STR_VAR_2} apprentice.$"
+
+ .string "This is what {STR_VAR_3} recommended.\n"
+ .string "One {STR_VAR_1}-using {STR_VAR_2}$"
+
+ .string "and one {STR_VAR_1}-using\n"
+ .string "{STR_VAR_2}.\p"
+ .string "I put a lot of effort into raising\n"
+ .string "them, even though I’m busy.\p"
+ .string "Let’s form a tag team\n"
+ .string "and give it a go!$"
+
+ .string "Thanks, that’s the spirit!\n"
+ .string "Hang tight while I go register, okay?$"
+
+ .string "I took time from my busy schedule\n"
+ .string "to be here! Give me a break!$"
+
+ .string "Hi!\n"
+ .string "How’s it going?\p"
+ .string "I’m {STR_VAR_3}, {STR_VAR_1}’s\n"
+ .string "no. {STR_VAR_2} apprentice. Glad to meet you!$"
+
+ .string "Listen, listen! You have to hear about\n"
+ .string "the POKéMON {STR_VAR_3} recommended.\l"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}.\n"
+ .string "Of course I raised them superbly!\p"
+ .string "So, want to team up?\n"
+ .string "I’m sure it’ll be a great combo!$"
+
+ .string "Yay, I think this will be fun!\n"
+ .string "I’ll go register!$"
+
+ .string "Oh, you’re mean!\n"
+ .string "I come recommended, you know.$"
+
+ .string "Please let me introduce myself.\n"
+ .string "I am {STR_VAR_3}.\p"
+ .string "I serve as {STR_VAR_1}’s\n"
+ .string "no. {STR_VAR_2} apprentice.$"
+
+ .string "I sought the sage advice of\n"
+ .string "{STR_VAR_3} and raised my team\l"
+ .string "of one {STR_VAR_2} with {STR_VAR_1}$"
+
+ .string "and one {STR_VAR_2} with {STR_VAR_1}.\p"
+ .string "Please agree to a tag team with me!$"
+
+ .string "Oh… I’m delighted!\n"
+ .string "I promise to give you my best!\p"
+ .string "Of course I will register us!\n"
+ .string "Please wait!$"
+
+ .string "I had been hoping to join you,\n"
+ .string "{PLAYER}…$"
+
+ .string "Eek! You spoke to me!\n"
+ .string "I… I’m overjoyed!\p"
+ .string "I’m {STR_VAR_3}! I’m {STR_VAR_1}’s\n"
+ .string "no. {STR_VAR_2} apprentice!$"
+
+ .string "On {STR_VAR_3}’s advice, I trained\n"
+ .string "one {STR_VAR_1}-using {STR_VAR_2}$"
+
+ .string "and one {STR_VAR_1}-using\n"
+ .string "{STR_VAR_2}.\p"
+ .string "Please, can you grant me my wish?\n"
+ .string "I want to be your tag-team partner!$"
+
+ .string "Eek! I… I feel giddy!\n"
+ .string "Thank you so much!\l"
+ .string "I’ll go register us right away!$"
+
+ .string "Waaah! Don’t you feel any pity?\n"
+ .string "But that makes you cooler…$"
+
+ .string "Yeehaw! I’m {STR_VAR_1}’s\n"
+ .string "no. {STR_VAR_2} apprentice!\p"
+ .string "{STR_VAR_3}’s my name, hello, hello!$"
+
+ .string "My mentor {STR_VAR_3} recommended\n"
+ .string "one {STR_VAR_1}-master {STR_VAR_2}$"
+
+ .string "and one {STR_VAR_1}-master\n"
+ .string "{STR_VAR_2}.\p"
+ .string "Good stuff, huh?\n"
+ .string "You’ll partner with me, won’t you?$"
+
+ .string "Okay, excellent!\n"
+ .string "I’ll get the registration done quickly!$"
+
+ .string "Gwaaah!\n"
+ .string "You’re a calculating one, {PLAYER}!$"
+
+ .string "Hey! There’s big trouble! This is\n"
+ .string "the BATTLE TOWER’s last day!\p"
+ .string "… … … … … …\n"
+ .string "I’m only joking!\p"
+ .string "People call me {STR_VAR_3} and I do, too!\n"
+ .string "I’m {STR_VAR_1}’s 1,000th apprentice!\l"
+ .string "Actually, I’m no. {STR_VAR_2}!$"
+
+ .string "{STR_VAR_3} gave me some advice.\n"
+ .string "{STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "{STR_VAR_2} with {STR_VAR_1}.\n"
+ .string "I’ve got ten of each kind!\l"
+ .string "Actually, just one of each!\p"
+ .string "How about it?\n"
+ .string "Want to try tag battles with me?$"
+
+ .string "Yippee!\n"
+ .string "I’ll give you a POKéMON as my thanks!\p"
+ .string "Just joking! But I will really go do\n"
+ .string "the registration, okay?$"
+
+ .string "Oh, that’s so cold! I’ll have to wreck\n"
+ .string "the BATTLE TOWER for that!\p"
+ .string "Of course I won’t!$"
+
+ .string "Hey, there, I’m rockin’ and a-rollin’!\n"
+ .string "POKéMON, I be controllin’!\p"
+ .string "I’m {STR_VAR_3} the rappin’ SAILOR.\n"
+ .string "Don’t be mistakin’ me for no wailer!\p"
+ .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice.\n"
+ .string "Me, you shouldn’t be quick to dismiss!$"
+
+ .string "With the advice of {STR_VAR_3} I did\n"
+ .string "abide, put together my team of pride!\l"
+ .string "One {STR_VAR_1}-using {STR_VAR_2}$"
+
+ .string "and one {STR_VAR_1}-using\n"
+ .string "{STR_VAR_2}!\p"
+ .string "Our meeting we should commemorate,\n"
+ .string "with a tag-team victory to celebrate!$"
+
+ .string "Hey, hey, I like your style!\n"
+ .string "Our registration, I will go file!$"
+
+ .string "Oh, hey, {PLAYER}, now that’s cold!\n"
+ .string "If I may be so bold!$"
+
+ .string "Yippee-yahoo!\n"
+ .string "Oh, don’t run! I was just having fun!\p"
+ .string "Howdy! I’m {STR_VAR_3}!\n"
+ .string "I’m {STR_VAR_1}’s no. {STR_VAR_2} apprentice!$"
+
+ .string "{STR_VAR_3} told me what to do.\n"
+ .string "So one {STR_VAR_1}-using {STR_VAR_2}$"
+
+ .string "and one {STR_VAR_1}-using\n"
+ .string "{STR_VAR_2}, I did choose.\p"
+ .string "So, what do you say?\n"
+ .string "Come on, make my day!\p"
+ .string "Please, I’m begging you!\n"
+ .string "Let me join you, don’t leave me blue!$"
+
+ .string "Yeahah! Luck is with me!\n"
+ .string "It sure makes me happy!\p"
+ .string "Before we go join the fray,\n"
+ .string "I’ll go register right away!$"
+
+ .string "You’re turning me down?\n"
+ .string "{PLAYER}, you’re making me frown!$"
+
+ .string "Cough!\p"
+ .string "Oh, sorry, I have a cold.\n"
+ .string "My POKéMON are fine, though.\p"
+ .string "My name’s {STR_VAR_3}, {STR_VAR_1}’s\n"
+ .string "no. {STR_VAR_2} apprentice. Cough!$"
+
+ .string "I took {STR_VAR_3}’s advice to heart\n"
+ .string "and put together my team of\l"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
+ .string "I trained them every day,\n"
+ .string "even in wind and rain.\p"
+ .string "That’s why I have this cold,\n"
+ .string "I think.\p"
+ .string "That’s what I’m about.\n"
+ .string "Want to be my tag partner?$"
+
+ .string "Thanks, I appreciate this!\n"
+ .string "Cough, cough!\l"
+ .string "Hang on while I go register.$"
+
+ .string "Oh, you won’t?\n"
+ .string "{PLAYER}, I think we’d make a good pair.$"
+
+ .string "Oh, hello!\n"
+ .string "This is nerve-racking.\p"
+ .string "I’m {STR_VAR_3}.\n"
+ .string "I’m the no. {STR_VAR_2} apprentice of {STR_VAR_1}.$"
+
+ .string "{STR_VAR_3} said this team’ll be good--\n"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
+ .string "I’m feeling self-conscious about this,\n"
+ .string "but will you let me join you?$"
+
+ .string "Oh, gee, thank you!\n"
+ .string "I feel bashful, but I’ll do my best!\p"
+ .string "I’ll go get the registration done.$"
+
+ .string "Oh, please don’t say no!\n"
+ .string "I feel self-conscious enough already…$"
+
+ .string "I am {STR_VAR_3}, and that’s no lie.\n"
+ .string "I am {STR_VAR_1}’s no. {STR_VAR_2} apprentice.$"
+
+ .string "{STR_VAR_3} recommended my team.\p"
+ .string "Since the advice sounded sincere,\n"
+ .string "I decided to bring with me\l"
+ .string "my {STR_VAR_1}-using {STR_VAR_2} and$"
+
+ .string "my {STR_VAR_1}-using {STR_VAR_2}.\p"
+ .string "If possible, I would like you to accept\n"
+ .string "me as your tag-team partner.$"
+
+ .string "You really will accept me?\n"
+ .string "It would be too terrible otherwise.\p"
+ .string "But since you’ve agreed, this is fine.\n"
+ .string "I shall go register the both of us.$"
+
+ .string "Hm? Now why would you refuse?\n"
+ .string "Is this your idea of a joke?$"
+
+ .string "I’m {STR_VAR_1}, and I’m a LASS!$"
+
+ .string "What I have are one {STR_VAR_2}\n"
+ .string "that uses {STR_VAR_1} and one$"
+
+ .string "{STR_VAR_2} that uses {STR_VAR_1}.\n"
+ .string "Those are what I have with me.\p"
+ .string "Will you be my partner?$"
+
+ .string "Thank you!\n"
+ .string "I’ll go do the registration!$"
+
+ .string "You don’t want to be my partner?\n"
+ .string "You’ll regret it later!$"
+
+ .string "Hello!\p"
+ .string "I’m YOUNGSTER {STR_VAR_1}!$"
+
+ .string "Want to know what I have?\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "You’ll be my tag-team partner,\n"
+ .string "won’t you?$"
+
+ .string "Yay!\n"
+ .string "I’ll go and register, okay?$"
+
+ .string "Aww! If you’d form a tag team with\n"
+ .string "my POKéMON, we’d be unstoppable!$"
+
+ .string "Yahoo!\n"
+ .string "I’m HIKER {STR_VAR_1}!$"
+
+ .string "Know what I have with me?\n"
+ .string "My {STR_VAR_1}-using {STR_VAR_2} and$"
+
+ .string "my {STR_VAR_1}-using {STR_VAR_2}!\p"
+ .string "Sounds good, eh?\n"
+ .string "Want to form a tag team?$"
+
+ .string "Yahoo!\n"
+ .string "I’ll go do the registering, then.$"
+
+ .string "I would’ve liked to battle with you\n"
+ .string "at my side.$"
+
+ .string "Hello!\n"
+ .string "I’m {STR_VAR_1}, and I’m a BEAUTY!$"
+
+ .string "Do you know what I’ve been raising?\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "What do you think?\n"
+ .string "Want to make a tag team together?$"
+
+ .string "Wonderful!\n"
+ .string "I’ll get the registration done now!$"
+
+ .string "How disappointing!\p"
+ .string "We two together--we would’ve been\n"
+ .string "the best!$"
+
+ .string "Yo!\p"
+ .string "You know who I am?\n"
+ .string "I’m {STR_VAR_1} the FISHERMAN!$"
+
+ .string "I’ve got with me a team of one\n"
+ .string "{STR_VAR_1}-using {STR_VAR_2} and$"
+
+ .string "one {STR_VAR_1}-using {STR_VAR_2}.\p"
+ .string "So, how about it?\n"
+ .string "Will you battle at my side?$"
+
+ .string "Good, good!\n"
+ .string "Leave it up to me!\p"
+ .string "I’ll go and register us now.$"
+
+ .string "We matched up perfectly, too…$"
+
+ .string "Glad to make your acquaintance.\n"
+ .string "I am {STR_VAR_1}, a LADY.$"
+
+ .string "I am accompanied by a team of\n"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
+ .string "I hope I meet your approval.\n"
+ .string "For I wish to have you as my partner.$"
+
+ .string "I thank you sincerely.\n"
+ .string "I shall handle the registration.$"
+
+ .string "I’m sure that you will regret not\n"
+ .string "having me as your partner.$"
+
+ .string "I’m TRIATHLETE {STR_VAR_1}!$"
+
+ .string "What I have…\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\n"
+ .string "That’s my pair!\p"
+ .string "Please?\n"
+ .string "Will you form a tag team with me?$"
+
+ .string "Gee, thanks!\n"
+ .string "I’ll go register at the counter.$"
+
+ .string "We two together, we would’ve been\n"
+ .string "tough for certain!$"
+
+ .string "Hiya!\n"
+ .string "I’m BUG CATCHER {STR_VAR_1}!$"
+
+ .string "Check out what I have!\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "So, listen!\n"
+ .string "Do you want to form a tag team?$"
+
+ .string "Gotcha!\p"
+ .string "I’ll go do the registration stuff\n"
+ .string "at the counter.$"
+
+ .string "Aww, my POKéMON are awesome.\n"
+ .string "I hope you won’t regret this!$"
+
+ .string "Good day!\n"
+ .string "I’m SCHOOL KID {STR_VAR_1}!$"
+
+ .string "What I’ve been raising are one\n"
+ .string "{STR_VAR_2} that uses {STR_VAR_1}$"
+
+ .string "and one {STR_VAR_2} that uses\n"
+ .string "{STR_VAR_1}.\p"
+ .string "Not too bad, don’t you think?\n"
+ .string "Would you care to form a tag team?$"
+
+ .string "Thank you very much!\n"
+ .string "I’ll get done with the registration.$"
+
+ .string "That’s too bad…\p"
+ .string "I was hoping that I could learn\n"
+ .string "from you as your partner…$"
+
+ .string "Yo! Let me tell you who I am!\n"
+ .string "I’m RICH BOY {STR_VAR_1}!$"
+
+ .string "Guess what I got!\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "I’m willing to offer you the chance\n"
+ .string "to be in a tag team with me.$"
+
+ .string "Smart move!\p"
+ .string "I’ll finish up the registration\n"
+ .string "process quick!$"
+
+ .string "You’d turn me of all people down?\n"
+ .string "You’ll regret that decision for sure!$"
+
+ .string "Hiyah!\n"
+ .string "I am BLACK BELT {STR_VAR_1}.$"
+
+ .string "As my companions, I have\n"
+ .string "one {STR_VAR_2} using {STR_VAR_1}$"
+
+ .string "and one {STR_VAR_2} using\n"
+ .string "{STR_VAR_1}.\p"
+ .string "Please, grant me my wish!\n"
+ .string "Allow me to be your tag partner!$"
+
+ .string "Hiyah!\n"
+ .string "I will go register forthwith!$"
+
+ .string "I see… I hope for an opportunity\n"
+ .string "the next time we meet…$"
+
+ .string "Hi, there!\n"
+ .string "I’m {STR_VAR_1}, and I’m a TUBER!$"
+
+ .string "I’ll tell you what I have.\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\n"
+ .string "May I please be on your tag team?$"
+
+ .string "Thank you!\n"
+ .string "I’ll go register us now!$"
+
+ .string "If we’d become partners, we could\n"
+ .string "have been so strong!$"
+
+ .string "Greetings…\n"
+ .string "I am HEX MANIAC {STR_VAR_1}…$"
+
+ .string "I bear with me one {STR_VAR_1}-using\n"
+ .string "{STR_VAR_2} together with one$"
+
+ .string "{STR_VAR_1}-using {STR_VAR_2}…\p"
+ .string "I beseech you…\n"
+ .string "Join me in a tag team…$"
+
+ .string "I thank you…\n"
+ .string "I shall register us…$"
+
+ .string "I so longed to join you…$"
+
+ .string "How do you do? I’m {STR_VAR_1},\n"
+ .string "and I’m a POKéMON BREEDER!$"
+
+ .string "I’m raising a couple good ones!\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "How about it?\n"
+ .string "Feel like making a tag team with me?$"
+
+ .string "Thank you kindly!\p"
+ .string "I’ll go take care of the registration\n"
+ .string "stuff, so you wait right here!$"
+
+ .string "I was looking forward to being\n"
+ .string "your partner…$"
+
+ .string "Well, hello!\n"
+ .string "I’m TRIATHLETE {STR_VAR_1}!$"
+
+ .string "Want to know what I run with?\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "Well?\n"
+ .string "Want to be in a tag team with me?$"
+
+ .string "Good going!\p"
+ .string "I’ll be quick and get the registration\n"
+ .string "all done!$"
+
+ .string "You and me, we would’ve been tops.\n"
+ .string "It’s too bad…$"
+
+ .string "Hey, there! My name’s {STR_VAR_1}!\n"
+ .string "I’m a TRIATHLETE!$"
+
+ .string "I go on runs with my durable team--\n"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "Not too shabby, huh?\n"
+ .string "We should be in a tag team together!$"
+
+ .string "All right!\n"
+ .string "I’ll go register in a flash!$"
+
+ .string "I really wanted to battle as your\n"
+ .string "tag-team partner…$"
+
+ .string "I’m BATTLE GIRL {STR_VAR_1}!$"
+
+ .string "I’ve been toughening up one\n"
+ .string "{STR_VAR_1}-using {STR_VAR_2} and$"
+
+ .string "one {STR_VAR_1}-using {STR_VAR_2}!\p"
+ .string "Do you like that combo?\n"
+ .string "How about you and me join up?$"
+
+ .string "Why, thanks!\p"
+ .string "I’ll get the registration done\n"
+ .string "right now!$"
+
+ .string "With you, I thought we could form\n"
+ .string "the ultimate tag team…$"
+
+ .string "I’m TRIATHLETE {STR_VAR_1}!$"
+
+ .string "I’ve been running with one {STR_VAR_2}\n"
+ .string "that knows how to use {STR_VAR_1}$"
+
+ .string "and one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "We could be in a tag team.\n"
+ .string "Wouldn’t that be great?$"
+
+ .string "Thank you!\p"
+ .string "I’ll go register us, and that’s\n"
+ .string "right now!$"
+
+ .string "Aww, that’s too bad. We would’ve been\n"
+ .string "the toughest tag team around!$"
+
+ .string "Me?\n"
+ .string "I’m TUBER {STR_VAR_1}!$"
+
+ .string "What do I have with me?\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "Hey?\n"
+ .string "You’ll team up with me, right?$"
+
+ .string "Okay!\p"
+ .string "I’ll go register!\n"
+ .string "Let’s be excellent together!$"
+
+ .string "My POKéMON are tough for sure…\n"
+ .string "It’s too bad you don’t want to team up.$"
+
+ .string "Yay-hey!\n"
+ .string "Call me GUITARIST {STR_VAR_1}!$"
+
+ .string "Check out my entourage!\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "Yay-hey! Pretty wild, huh?\n"
+ .string "We’ll have to do a duet in a tag team!$"
+
+ .string "Yay-hey! Right on!\n"
+ .string "I’ll do that registration stuff now!$"
+
+ .string "My POKéMON rock hard!\n"
+ .string "You’ll be sorry, I tell you!$"
+
+ .string "Pleased to meet you.\n"
+ .string "I am {STR_VAR_1}, a GENTLEMAN.$"
+
+ .string "I am accompanied by my trusted\n"
+ .string "{STR_VAR_1}-using {STR_VAR_2} and$"
+
+ .string "one {STR_VAR_1}-using {STR_VAR_2}.\p"
+ .string "May I ask you to join me in a tag-team\n"
+ .string "partnership arrangement?$"
+
+ .string "Ah, I thank you for your trust.\n"
+ .string "I shall be done with the registration.$"
+
+ .string "That is most unfortunate…\p"
+ .string "I shall look forward to the next\n"
+ .string "opportunity…$"
+
+ .string "Hello, I’m {STR_VAR_1},\n"
+ .string "and I’m a POKéFAN.$"
+
+ .string "I have with me now one {STR_VAR_2}\n"
+ .string "that knows the move {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
+ .string "Do you like what you see?\n"
+ .string "Why don’t you be my tag partner?$"
+
+ .string "Thank you!\n"
+ .string "I’ll look after the registration!$"
+
+ .string "My POKéMON are top grade…\n"
+ .string "It’s too bad you can’t appreciate that.$"
+
+ .string "Hm!\n"
+ .string "I am {STR_VAR_1}, and an EXPERT am I!$"
+
+ .string "The POKéMON that I’ve toughened up are\n"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "What say you to a tag team with me?$"
+
+ .string "Hm!\n"
+ .string "I shall register us right away!\l"
+ .string "Let us both do our best!$"
+
+ .string "I will hope that your choice is\n"
+ .string "indeed correct…$"
+
+ .string "Hello, hello.\n"
+ .string "I’m {STR_VAR_1}, and I’m an EXPERT.$"
+
+ .string "I’ve raised my POKéMON thoroughly.\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}--\n"
+ .string "they’re what I have.\p"
+ .string "Wouldn’t you like to team up with me?$"
+
+ .string "Good, good.\n"
+ .string "I’ll see to the registration right away.$"
+
+ .string "Perhaps we can form a team the next\n"
+ .string "time we meet.$"
+
+ .string "I’m DRAGON TAMER {STR_VAR_1}!$"
+
+ .string "The team I’ve been toughening up is\n"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "How about it?\n"
+ .string "Want to be my partner?$"
+
+ .string "Okay, I’ll give it my best!\n"
+ .string "I’ll go register now, all right?$"
+
+ .string "You’re not going to find many tougher\n"
+ .string "partners than me!$"
+
+ .string "I’m BIRD KEEPER {STR_VAR_1}!$"
+
+ .string "What POKéMON do I have?\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
+ .string "Don’t you think we’d make a decent\n"
+ .string "tag team?$"
+
+ .string "Great, thanks!\n"
+ .string "I’ll look after the registration!$"
+
+ .string "My POKéMON and I are strong.\n"
+ .string "What a letdown.$"
+
+ .string "I’m NINJA BOY {STR_VAR_1}!$"
+
+ .string "My POKéMON team consists of one\n"
+ .string "{STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "Let’s be in a tag team together!$"
+
+ .string "Yay!\n"
+ .string "Let me go register!$"
+
+ .string "You’ll regret not having my tough\n"
+ .string "POKéMON on your side!$"
+
+ .string "Hello!\n"
+ .string "I’m PARASOL LADY {STR_VAR_1}!$"
+
+ .string "Escorting me now are my {STR_VAR_2}\n"
+ .string "that uses {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} that uses\n"
+ .string "{STR_VAR_1}.\p"
+ .string "Aren’t they nice?\n"
+ .string "Care to join us in a tag team?$"
+
+ .string "Thanks a bunch!\p"
+ .string "I’ll go register at the counter.\n"
+ .string "Let’s not disappoint each other!$"
+
+ .string "My POKéMON are tremendously strong.\n"
+ .string "How disappointing…$"
+
+ .string "Hello.\n"
+ .string "I’m {STR_VAR_1}, and I’m a BUG MANIAC!$"
+
+ .string "I have found my POKéMON, yes.\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}--\n"
+ .string "they are what I found.\p"
+ .string "Could I interest you in forming\n"
+ .string "a tag team?$"
+
+ .string "Okay!\n"
+ .string "Understood!\p"
+ .string "I won’t be long with the registration!$"
+
+ .string "With the POKéMON I found, we wouldn’t\n"
+ .string "have lost…$"
+
+ .string "Ahoy, there!\n"
+ .string "I’m SAILOR {STR_VAR_1}!$"
+
+ .string "Let me show you my pride and joy!\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "Of course you’re not going to turn\n"
+ .string "me down. We will team up, right?$"
+
+ .string "I didn’t expect any less!\n"
+ .string "I’ll go register now.$"
+
+ .string "We would’ve stormed through\n"
+ .string "the opposition! Too bad!$"
+
+ .string "Hi, I’m {STR_VAR_1}.\n"
+ .string "I’m a COLLECTOR.$"
+
+ .string "The jewels in my collection are\n"
+ .string "my {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "Swell, huh?\n"
+ .string "We should be in a team together.$"
+
+ .string "Oh, yeah!\p"
+ .string "Well, let’s not waste any time.\n"
+ .string "I’ll go register the two of us.$"
+
+ .string "Well, that’s upsetting.\n"
+ .string "You don’t appreciate my POKéMON.$"
+
+ .string "Howdy, I’m {STR_VAR_1}.\n"
+ .string "I’m a POKéMON RANGER.$"
+
+ .string "Keeping me company are one\n"
+ .string "{STR_VAR_1}-using {STR_VAR_2} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "Don’t you think we’d make an impressive\n"
+ .string "tag team?$"
+
+ .string "That’s super!\n"
+ .string "I’ll deal with the registration now.$"
+
+ .string "Next time, choose my POKéMON,\n"
+ .string "will you?$"
+
+ .string "My name’s {STR_VAR_1}.\n"
+ .string "I’m a POKéMON RANGER!$"
+
+ .string "Let me tell you about my team. I have\n"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "How would you like to form a tag team\n"
+ .string "with my little posse?$"
+
+ .string "We’ll be at our best!\n"
+ .string "I’ll get the registration done quick!$"
+
+ .string "I hope you’ll choose my POKéMON\n"
+ .string "next time.$"
+
+ .string "Pleased to meet you. I’m {STR_VAR_1}.\n"
+ .string "I consider myself an AROMA LADY.$"
+
+ .string "I travel with one {STR_VAR_2}\n"
+ .string "that uses {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} that uses\n"
+ .string "{STR_VAR_1}.\p"
+ .string "I hope they strike your fancy.\n"
+ .string "Would you care to be my partner?$"
+
+ .string "I’m honored by your acceptance.\n"
+ .string "I will go register right this instant.$"
+
+ .string "It would be wonderful if we could form\n"
+ .string "a tag team the next time we meet.$"
+
+ .string "Want to know who I am?\n"
+ .string "I’m {STR_VAR_1}, the RUIN MANIAC!$"
+
+ .string "The POKéMON that I have with me are\n"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "Intriguing, eh?\n"
+ .string "How about you and I partner up?$"
+
+ .string "That’s a sound decision!\n"
+ .string "I’ll go do the registration paperwork.$"
+
+ .string "Hmm…\n"
+ .string "I think my POKéMON are tough…$"
+
+ .string "I’m COOLTRAINER {STR_VAR_1}!$"
+
+ .string "The POKéMON I have right now are one\n"
+ .string "{STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}.\n"
+ .string "Cool, huh?\p"
+ .string "Don’t you think it’d be pretty cool\n"
+ .string "if we made a tag team?$"
+
+ .string "Cool!\n"
+ .string "I’ll go do the registration in a flash!$"
+
+ .string "I thought that we’d make just\n"
+ .string "the greatest team ever.$"
+
+ .string "I’m COOLTRAINER {STR_VAR_1}!$"
+
+ .string "The team I’ve been raising has one\n"
+ .string "{STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
+ .string "Does that sound okay?\n"
+ .string "How about we become tag partners?$"
+
+ .string "Sounds A-OK!\n"
+ .string "I’d better do the registration.$"
+
+ .string "I was thinking how we would be\n"
+ .string "one tough team…$"
+
+ .string "Heyo!\n"
+ .string "I’m {STR_VAR_1}, the POKéMANIAC!$"
+
+ .string "What does a guy like me have?\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1},\n"
+ .string "that’s what!\p"
+ .string "Let’s do it!\n"
+ .string "We’ll stomp around as a tag team!$"
+
+ .string "Good call!\n"
+ .string "I’ll register the both of us!$"
+
+ .string "My POKéMON are brutal!\n"
+ .string "It’s not my fault if you regret this!$"
+
+ .string "Yo, there!\n"
+ .string "I’m KINDLER {STR_VAR_1}!$"
+
+ .string "You know what my training cooked up?\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "Well, what do you say?\n"
+ .string "Want to form a tag team?$"
+
+ .string "All right!\n"
+ .string "I’ll get on with the registration.$"
+
+ .string "Promise you’ll partner up with me\n"
+ .string "the next time we run into each other.$"
+
+ .string "I’m {STR_VAR_1}, and I’m a CAMPER!$"
+
+ .string "I’ve been raising one {STR_VAR_1}-\n"
+ .string "using {STR_VAR_2} and one$"
+
+ .string "{STR_VAR_1}-using {STR_VAR_2}.\p"
+ .string "Do you think it’d be fun to team up?\n"
+ .string "I bet it would be!$"
+
+ .string "Yeah!\n"
+ .string "Off I go to register!$"
+
+ .string "Next time, okay?\n"
+ .string "I want to be on your team.$"
+
+ .string "Hello!\n"
+ .string "I’m {STR_VAR_1}, and I’m a PICNICKER!$"
+
+ .string "The POKéMON I’ve been taking are\n"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
+ .string "Are you interested in joining me\n"
+ .string "on a tag team?$"
+
+ .string "Why, thank you!\n"
+ .string "I will do the registration now.$"
+
+ .string "It would be nice if I could join you\n"
+ .string "some other time.$"
+
+ .string "I’m PSYCHIC {STR_VAR_1}!$"
+
+ .string "The twosome I’ve been raising are\n"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
+ .string "Would you like to form a tag team\n"
+ .string "with me?$"
+
+ .string "Sure thing!\n"
+ .string "I’ll take care of the registration!$"
+
+ .string "If we meet again, that’s when I’d like\n"
+ .string "to team up with you.$"
+
+ .string "I’m {STR_VAR_1}.\n"
+ .string "I’m a PSYCHIC.$"
+
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}--\n"
+ .string "they’re my disciples.\p"
+ .string "Doesn’t the idea of forming a tag-team\n"
+ .string "partnership intrigue you?$"
+
+ .string "Thank you.\n"
+ .string "I’ll go deal with the registration.$"
+
+ .string "I hope there will be another chance\n"
+ .string "to forge an alliance.$"
+
+ .string "I’m SCHOOL KID {STR_VAR_1}!$"
+
+ .string "One {STR_VAR_1}-using {STR_VAR_2}$"
+
+ .string "and one {STR_VAR_1}-using\n"
+ .string "{STR_VAR_2} are my POKéMON pair.\p"
+ .string "May I please be your partner on\n"
+ .string "a tag team?$"
+
+ .string "Ooh, thank you!\n"
+ .string "I’ll register at the counter right away!$"
+
+ .string "Please?\n"
+ .string "May I join you the next time?$"
+
+ .string "Hiya! The name’s {STR_VAR_1}!\n"
+ .string "I’m a POKéMON BREEDER!$"
+
+ .string "The POKéMON I’ve raised are one\n"
+ .string "{STR_VAR_1}-using {STR_VAR_2} and$"
+
+ .string "one {STR_VAR_1}-using {STR_VAR_2}.\p"
+ .string "Sound interesting?\n"
+ .string "How about we form a tag team, then?$"
+
+ .string "All righty!\n"
+ .string "You leave the registration to me!$"
+
+ .string "You have to team up with me next time,\n"
+ .string "all right?$"
+
+ .string "I’m {STR_VAR_1}, and I’m proud to say\n"
+ .string "that I am a POKéFAN.$"
+
+ .string "The darling POKéMON I’ve raised are\n"
+ .string "one {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}.\p"
+ .string "Aren’t they just the cutest?\n"
+ .string "We ought to make a team!$"
+
+ .string "Thank you, dear!\n"
+ .string "I’ll be on my way to register!$"
+
+ .string "My darling POKéMON are the best,\n"
+ .string "I’ll have you know. How annoying!$"
+
+ .string "Hi, I’m SWIMMER {STR_VAR_1}.$"
+
+ .string "One {STR_VAR_1}-using {STR_VAR_2}$"
+
+ .string "and one {STR_VAR_1}-using\n"
+ .string "{STR_VAR_2} are what I’ve trained.\p"
+ .string "You and me, let’s make a tag team.$"
+
+ .string "That’s cool!\n"
+ .string "I’ll register the two of us.$"
+
+ .string "If we meet again, you owe me\n"
+ .string "a tag team!$"
+
+ .string "What’s happening?\n"
+ .string "I’m {STR_VAR_1}, and I’m a TRIATHLETE.$"
+
+ .string "I got a couple decent POKéMON.\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "It’d be neat if we made a tag team\n"
+ .string "together, so how about it?$"
+
+ .string "Right on!\n"
+ .string "You wait while I register, okay?$"
+
+ .string "I expect you’ll let me join you\n"
+ .string "next time, how’s that?$"
+
+ .string "I’m the TRIATHLETE {STR_VAR_1}!$"
+
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "another {STR_VAR_2} that knows how\n"
+ .string "to use {STR_VAR_1}. That’s my pair.\p"
+ .string "What do you think?\n"
+ .string "We’d make a good team, I’d say.$"
+
+ .string "I like that answer!\n"
+ .string "I’ll get done with registration fast!$"
+
+ .string "You’ll give me another chance to form\n"
+ .string "a partnership, won’t you?$"
+
+ .string "Hi, there! Hello!\n"
+ .string "I’m {STR_VAR_1}, and I’m a SWIMMER!$"
+
+ .string "Check out what I’ve been raising!\n"
+ .string "One {STR_VAR_2} with {STR_VAR_1} and$"
+
+ .string "one {STR_VAR_2} with {STR_VAR_1}!\p"
+ .string "Sweet, huh?\n"
+ .string "It’d be sweet to form a team, too!$"
+
+ .string "Much obliged!\n"
+ .string "I’ll get this registration thing done!$"
+
+ .string "If we meet again, you have to team up\n"
+ .string "with me. You’ll do that, right?$"
+
diff --git a/data/scripts/maps/BattleFrontier_Lounge1.inc b/data/scripts/maps/BattleFrontier_Lounge1.inc
new file mode 100644
index 000000000..72a3659f7
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_Lounge1.inc
@@ -0,0 +1,269 @@
+BattleFrontier_Lounge1_MapScripts:: @ 825E774
+ .byte 0
+
+BattleFrontier_Lounge1_EventScript_25E775:: @ 825E775
+ lock
+ faceplayer
+ checkflag FLAG_0x153
+ call_if 0, BattleFrontier_Lounge1_EventScript_25E7AD
+ checkflag FLAG_0x153
+ call_if 1, BattleFrontier_Lounge1_EventScript_25E7B6
+ setflag FLAG_0x153
+ goto BattleFrontier_Lounge1_EventScript_25E792
+ end
+
+BattleFrontier_Lounge1_EventScript_25E792:: @ 825E792
+ special sub_81B94B0
+ waitstate
+ compare_var_to_value VAR_0x8004, 255
+ goto_if 5, BattleFrontier_Lounge1_EventScript_25E7BF
+ compare_var_to_value VAR_0x8004, 255
+ goto_eq BattleFrontier_Lounge1_EventScript_25E943
+ end
+
+BattleFrontier_Lounge1_EventScript_25E7AD:: @ 825E7AD
+ msgbox BattleFrontier_Lounge1_Text_25E95F, 4
+ return
+
+BattleFrontier_Lounge1_EventScript_25E7B6:: @ 825E7B6
+ msgbox BattleFrontier_Lounge1_Text_25EEF6, 4
+ return
+
+BattleFrontier_Lounge1_EventScript_25E7BF:: @ 825E7BF
+ specialvar VAR_RESULT, sub_81396E0
+ compare_var_to_value VAR_RESULT, 412
+ goto_eq BattleFrontier_Lounge1_EventScript_25E7FF
+ special sub_8139D98
+ compare_var_to_value VAR_0x8005, 90
+ goto_if 3, BattleFrontier_Lounge1_EventScript_25E87F
+ compare_var_to_value VAR_0x8005, 120
+ goto_if 3, BattleFrontier_Lounge1_EventScript_25E88D
+ compare_var_to_value VAR_0x8005, 150
+ goto_if 3, BattleFrontier_Lounge1_EventScript_25E89B
+ compare_var_to_value VAR_0x8005, 151
+ goto_if 4, BattleFrontier_Lounge1_EventScript_25E8A9
+ end
+
+BattleFrontier_Lounge1_EventScript_25E7FF:: @ 825E7FF
+ msgbox BattleFrontier_Lounge1_Text_25EF5E, 4
+ goto BattleFrontier_Lounge1_EventScript_25E792
+ end
+
+BattleFrontier_Lounge1_EventScript_25E80D:: @ 825E80D
+ compare_var_to_value VAR_0x8006, 0
+ goto_eq BattleFrontier_Lounge1_EventScript_25E8B7
+ compare_var_to_value VAR_0x8006, 1
+ goto_eq BattleFrontier_Lounge1_EventScript_25E8C5
+ compare_var_to_value VAR_0x8006, 2
+ goto_eq BattleFrontier_Lounge1_EventScript_25E8D3
+ compare_var_to_value VAR_0x8006, 3
+ goto_eq BattleFrontier_Lounge1_EventScript_25E8E1
+ compare_var_to_value VAR_0x8006, 4
+ goto_eq BattleFrontier_Lounge1_EventScript_25E8EF
+ compare_var_to_value VAR_0x8006, 5
+ goto_eq BattleFrontier_Lounge1_EventScript_25E8FD
+ end
+
+BattleFrontier_Lounge1_EventScript_25E850:: @ 825E850
+ compare_var_to_value VAR_0x8007, 15
+ goto_if 3, BattleFrontier_Lounge1_EventScript_25E90B
+ compare_var_to_value VAR_0x8007, 25
+ goto_if 3, BattleFrontier_Lounge1_EventScript_25E919
+ compare_var_to_value VAR_0x8007, 30
+ goto_if 3, BattleFrontier_Lounge1_EventScript_25E927
+ compare_var_to_value VAR_0x8007, 31
+ goto_if 4, BattleFrontier_Lounge1_EventScript_25E935
+ end
+
+BattleFrontier_Lounge1_EventScript_25E87D:: @ 825E87D
+ release
+ end
+
+BattleFrontier_Lounge1_EventScript_25E87F:: @ 825E87F
+ msgbox BattleFrontier_Lounge1_Text_25EA92, 4
+ goto BattleFrontier_Lounge1_EventScript_25E80D
+ end
+
+BattleFrontier_Lounge1_EventScript_25E88D:: @ 825E88D
+ msgbox BattleFrontier_Lounge1_Text_25EAD9, 4
+ goto BattleFrontier_Lounge1_EventScript_25E80D
+ end
+
+BattleFrontier_Lounge1_EventScript_25E89B:: @ 825E89B
+ msgbox BattleFrontier_Lounge1_Text_25EB2A, 4
+ goto BattleFrontier_Lounge1_EventScript_25E80D
+ end
+
+BattleFrontier_Lounge1_EventScript_25E8A9:: @ 825E8A9
+ msgbox BattleFrontier_Lounge1_Text_25EB6F, 4
+ goto BattleFrontier_Lounge1_EventScript_25E80D
+ end
+
+BattleFrontier_Lounge1_EventScript_25E8B7:: @ 825E8B7
+ msgbox BattleFrontier_Lounge1_Text_25EBBB, 4
+ goto BattleFrontier_Lounge1_EventScript_25E850
+ end
+
+BattleFrontier_Lounge1_EventScript_25E8C5:: @ 825E8C5
+ msgbox BattleFrontier_Lounge1_Text_25EBF8, 4
+ goto BattleFrontier_Lounge1_EventScript_25E850
+ end
+
+BattleFrontier_Lounge1_EventScript_25E8D3:: @ 825E8D3
+ msgbox BattleFrontier_Lounge1_Text_25EC39, 4
+ goto BattleFrontier_Lounge1_EventScript_25E850
+ end
+
+BattleFrontier_Lounge1_EventScript_25E8E1:: @ 825E8E1
+ msgbox BattleFrontier_Lounge1_Text_25ED0E, 4
+ goto BattleFrontier_Lounge1_EventScript_25E850
+ end
+
+BattleFrontier_Lounge1_EventScript_25E8EF:: @ 825E8EF
+ msgbox BattleFrontier_Lounge1_Text_25EC7B, 4
+ goto BattleFrontier_Lounge1_EventScript_25E850
+ end
+
+BattleFrontier_Lounge1_EventScript_25E8FD:: @ 825E8FD
+ msgbox BattleFrontier_Lounge1_Text_25ECC4, 4
+ goto BattleFrontier_Lounge1_EventScript_25E850
+ end
+
+BattleFrontier_Lounge1_EventScript_25E90B:: @ 825E90B
+ msgbox BattleFrontier_Lounge1_Text_25ED4E, 4
+ goto BattleFrontier_Lounge1_EventScript_25E87D
+ end
+
+BattleFrontier_Lounge1_EventScript_25E919:: @ 825E919
+ msgbox BattleFrontier_Lounge1_Text_25ED87, 4
+ goto BattleFrontier_Lounge1_EventScript_25E87D
+ end
+
+BattleFrontier_Lounge1_EventScript_25E927:: @ 825E927
+ msgbox BattleFrontier_Lounge1_Text_25EDC1, 4
+ goto BattleFrontier_Lounge1_EventScript_25E87D
+ end
+
+BattleFrontier_Lounge1_EventScript_25E935:: @ 825E935
+ msgbox BattleFrontier_Lounge1_Text_25EDF6, 4
+ goto BattleFrontier_Lounge1_EventScript_25E87D
+ end
+
+BattleFrontier_Lounge1_EventScript_25E943:: @ 825E943
+ msgbox BattleFrontier_Lounge1_Text_25EE37, 4
+ release
+ end
+
+BattleFrontier_Lounge1_EventScript_25E94D:: @ 825E94D
+ msgbox BattleFrontier_Lounge1_Text_25EFDD, 2
+ end
+
+BattleFrontier_Lounge1_EventScript_25E956:: @ 825E956
+ msgbox BattleFrontier_Lounge1_Text_25F020, 2
+ end
+
+BattleFrontier_Lounge1_Text_25E95F: @ 825E95F
+ .string "For 70 years I have raised POKéMON!\n"
+ .string "I am the man they revere as\l"
+ .string "the legendary top POKéMON BREEDER!\p"
+ .string "If you ever become as seasoned as me,\n"
+ .string "you’ll see the abilities of POKéMON\l"
+ .string "at a glance.\p"
+ .string "You’re a TRAINER. Doesn’t it interest\n"
+ .string "you to know your own POKéMON’s\l"
+ .string "abilities?\p"
+ .string "Here!\n"
+ .string "Let’s have a look at your POKéMON!$"
+
+BattleFrontier_Lounge1_Text_25EA92: @ 825EA92
+ .string "…Hmm…\p"
+ .string "This one, overall, I would describe\n"
+ .string "as being of average ability.$"
+
+BattleFrontier_Lounge1_Text_25EAD9: @ 825EAD9
+ .string "…Hmm…\p"
+ .string "This one, overall, I would describe as\n"
+ .string "having better-than-average ability.$"
+
+BattleFrontier_Lounge1_Text_25EB2A: @ 825EB2A
+ .string "…Hmm…\p"
+ .string "This one, overall, I would say is\n"
+ .string "quite impressive in ability!$"
+
+BattleFrontier_Lounge1_Text_25EB6F: @ 825EB6F
+ .string "…Hmm…\p"
+ .string "This one, overall, I would say is\n"
+ .string "wonderfully outstanding in ability!$"
+
+BattleFrontier_Lounge1_Text_25EBBB: @ 825EBBB
+ .string "Incidentally, the best aspect of it,\n"
+ .string "I would say, is its HP…$"
+
+BattleFrontier_Lounge1_Text_25EBF8: @ 825EBF8
+ .string "Incidentally, the best aspect of it,\n"
+ .string "I would say, is its ATTACK…$"
+
+BattleFrontier_Lounge1_Text_25EC39: @ 825EC39
+ .string "Incidentally, the best aspect of it,\n"
+ .string "I would say, is its DEFENSE…$"
+
+BattleFrontier_Lounge1_Text_25EC7B: @ 825EC7B
+ .string "Incidentally, the best aspect of it,\n"
+ .string "I would say, is its SPECIAL ATTACK…$"
+
+BattleFrontier_Lounge1_Text_25ECC4: @ 825ECC4
+ .string "Incidentally, the best aspect of it,\n"
+ .string "I would say, is its SPECIAL DEFENSE…$"
+
+BattleFrontier_Lounge1_Text_25ED0E: @ 825ED0E
+ .string "Incidentally, the best aspect of it,\n"
+ .string "I would say, is its SPEED…$"
+
+BattleFrontier_Lounge1_Text_25ED4E: @ 825ED4E
+ .string "That stat is relatively good.\n"
+ .string "…Hm… That’s how I call it.$"
+
+BattleFrontier_Lounge1_Text_25ED87: @ 825ED87
+ .string "That stat is quite impressive.\n"
+ .string "…Hm… That’s how I call it.$"
+
+BattleFrontier_Lounge1_Text_25EDC1: @ 825EDC1
+ .string "That stat is outstanding!\n"
+ .string "…Hm… That’s how I call it.$"
+
+BattleFrontier_Lounge1_Text_25EDF6: @ 825EDF6
+ .string "It’s flawless! A thing of perfection!\n"
+ .string "…Hm… That’s how I call it.$"
+
+BattleFrontier_Lounge1_Text_25EE37: @ 825EE37
+ .string "What?\n"
+ .string "You have no time for my advice?\p"
+ .string "You should always be eager to learn\n"
+ .string "from the experiences of your elders!$"
+
+BattleFrontier_Lounge1_Text_25EEA6: @ 825EEA6
+ .string "Yes, what is it now?\p"
+ .string "I have business that needs tending!\n"
+ .string "Save it for next time!$"
+
+BattleFrontier_Lounge1_Text_25EEF6: @ 825EEF6
+ .string "Ah, youngster! Do your POKéMON’s\n"
+ .string "abilities intrigue you?\p"
+ .string "Here, here!\n"
+ .string "Let’s have a look at your POKéMON!$"
+
+BattleFrontier_Lounge1_Text_25EF5E: @ 825EF5E
+ .string "An expert I am, but even I can’t tell\n"
+ .string "anything about an unhatched POKéMON!\p"
+ .string "Show me a POKéMON!\n"
+ .string "A POKéMON is what I need to see!$"
+
+BattleFrontier_Lounge1_Text_25EFDD: @ 825EFDD
+ .string "He said my POKéMON is outstanding!\n"
+ .string "I’m glad I raised it carefully!$"
+
+BattleFrontier_Lounge1_Text_25F020: @ 825F020
+ .string "He said my POKéMON is outstanding!\n"
+ .string "But I didn’t do anything special\l"
+ .string "raising it…$"
+
diff --git a/data/scripts/maps/BattleFrontier_Lounge2.inc b/data/scripts/maps/BattleFrontier_Lounge2.inc
new file mode 100644
index 000000000..6b43747cc
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_Lounge2.inc
@@ -0,0 +1,373 @@
+BattleFrontier_Lounge2_MapScripts:: @ 8260642
+ .byte 0
+
+BattleFrontier_Lounge2_EventScript_260643:: @ 8260643
+ lock
+ faceplayer
+ checkflag FLAG_0x154
+ goto_eq BattleFrontier_Lounge2_EventScript_26065F
+ setflag FLAG_0x154
+ msgbox BattleFrontier_Lounge2_Text_260766, 4
+ goto BattleFrontier_Lounge2_EventScript_26066D
+ end
+
+BattleFrontier_Lounge2_EventScript_26065F:: @ 826065F
+ msgbox BattleFrontier_Lounge2_Text_260857, 4
+ goto BattleFrontier_Lounge2_EventScript_26066D
+ end
+
+BattleFrontier_Lounge2_EventScript_26066D:: @ 826066D
+ compare_var_to_value VAR_0x402F, 0
+ call_if 1, BattleFrontier_Lounge2_EventScript_26070A
+ compare_var_to_value VAR_0x402F, 1
+ call_if 1, BattleFrontier_Lounge2_EventScript_26070F
+ compare_var_to_value VAR_0x402F, 2
+ call_if 1, BattleFrontier_Lounge2_EventScript_260714
+ compare_var_to_value VAR_0x402F, 3
+ call_if 1, BattleFrontier_Lounge2_EventScript_260719
+ compare_var_to_value VAR_0x402F, 4
+ call_if 1, BattleFrontier_Lounge2_EventScript_26071E
+ compare_var_to_value VAR_0x402F, 5
+ call_if 1, BattleFrontier_Lounge2_EventScript_260723
+ compare_var_to_value VAR_0x402F, 6
+ call_if 1, BattleFrontier_Lounge2_EventScript_260728
+ compare_var_to_value VAR_0x402F, 7
+ call_if 1, BattleFrontier_Lounge2_EventScript_26072D
+ compare_var_to_value VAR_0x402F, 8
+ call_if 1, BattleFrontier_Lounge2_EventScript_260732
+ compare_var_to_value VAR_0x402F, 9
+ call_if 1, BattleFrontier_Lounge2_EventScript_260737
+ compare_var_to_value VAR_0x402F, 3
+ call_if 3, BattleFrontier_Lounge2_EventScript_2606F8
+ compare_var_to_value VAR_0x402F, 4
+ call_if 4, BattleFrontier_Lounge2_EventScript_260701
+ special sub_8139F20
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+BattleFrontier_Lounge2_EventScript_2606F8:: @ 82606F8
+ msgbox BattleFrontier_Lounge2_Text_260933, 4
+ return
+
+BattleFrontier_Lounge2_EventScript_260701:: @ 8260701
+ msgbox BattleFrontier_Lounge2_Text_2608F2, 4
+ return
+
+BattleFrontier_Lounge2_EventScript_26070A:: @ 826070A
+ bufferstdstring 0, 19
+ return
+
+BattleFrontier_Lounge2_EventScript_26070F:: @ 826070F
+ bufferstdstring 0, 20
+ return
+
+BattleFrontier_Lounge2_EventScript_260714:: @ 8260714
+ bufferstdstring 0, 21
+ return
+
+BattleFrontier_Lounge2_EventScript_260719:: @ 8260719
+ bufferstdstring 0, 22
+ return
+
+BattleFrontier_Lounge2_EventScript_26071E:: @ 826071E
+ bufferstdstring 0, 24
+ return
+
+BattleFrontier_Lounge2_EventScript_260723:: @ 8260723
+ bufferstdstring 0, 25
+ return
+
+BattleFrontier_Lounge2_EventScript_260728:: @ 8260728
+ bufferstdstring 0, 26
+ return
+
+BattleFrontier_Lounge2_EventScript_26072D:: @ 826072D
+ bufferstdstring 0, 27
+ return
+
+BattleFrontier_Lounge2_EventScript_260732:: @ 8260732
+ bufferstdstring 0, 28
+ return
+
+BattleFrontier_Lounge2_EventScript_260737:: @ 8260737
+ bufferstdstring 0, 29
+ return
+
+BattleFrontier_Lounge2_EventScript_26073C:: @ 826073C
+ lock
+ msgbox BattleFrontier_Lounge2_Text_261C9C, 4
+ release
+ end
+
+BattleFrontier_Lounge2_EventScript_260747:: @ 8260747
+ lock
+ msgbox BattleFrontier_Lounge2_Text_261CDC, 4
+ release
+ end
+
+BattleFrontier_Lounge2_EventScript_260752:: @ 8260752
+ lock
+ msgbox BattleFrontier_Lounge2_Text_261D1D, 4
+ release
+ end
+
+BattleFrontier_Lounge2_EventScript_26075D:: @ 826075D
+ msgbox BattleFrontier_Lounge2_Text_261D5C, 2
+ end
+
+BattleFrontier_Lounge2_Text_260766: @ 8260766
+ .string "Howdy! When it comes to news about\n"
+ .string "the BATTLE FRONTIER, I’m no. 1.\p"
+ .string "You can think of me as\n"
+ .string "the FRONTIER MANIAC.\p"
+ .string "Just checking, but you are a TRAINER,\n"
+ .string "isn’t that right?\p"
+ .string "I’ll happily share the hottest news\n"
+ .string "I gathered about the BATTLE FRONTIER.$"
+
+BattleFrontier_Lounge2_Text_260857: @ 8260857
+ .string "Howdy! Did you swing by to grill me\n"
+ .string "about the latest word? Oh, all right!$"
+
+BattleFrontier_Lounge2_Text_2608A1: @ 82608A1
+ .string "Well? Well? Well?\p"
+ .string "I’m sure my information’s been\n"
+ .string "seriously useful to you, right?$"
+
+BattleFrontier_Lounge2_Text_2608F2: @ 82608F2
+ .string "Let’s see now…\p"
+ .string "It sounds like the {STR_VAR_1}\n"
+ .string "is the hottest place going.$"
+
+BattleFrontier_Lounge2_Text_260933: @ 8260933
+ .string "Let’s see now…\p"
+ .string "It sounds like BATTLE TOWER\n"
+ .string "{STR_VAR_1} is the hottest.$"
+
+BattleFrontier_Lounge2_Text_260971: @ 8260971
+ .string "Bet you didn’t know this!\p"
+ .string "One of those top TRAINERS that SCOTT\n"
+ .string "calls the FRONTIER BRAINS is there.\p"
+ .string "It’s this mysterious TRAINER called\n"
+ .string "the SALON MAIDEN that runs the place.$"
+
+BattleFrontier_Lounge2_Text_260A1E: @ 8260A1E
+ .string "Have you battled the SALON MAIDEN?\p"
+ .string "When she’s measuring up her opponent,\n"
+ .string "she apparently uses these POKéMON:\p"
+ .string "A PSYCHIC-type PSI POKéMON,\n"
+ .string "a FIRE-type VOLCANO POKéMON,\l"
+ .string "and a NORMAL-type SLEEPING POKéMON.$"
+
+BattleFrontier_Lounge2_Text_260AE7: @ 8260AE7
+ .string "Have you battled the SALON MAIDEN\n"
+ .string "when she’s serious?\p"
+ .string "When she’s battling flat out,\n"
+ .string "she apparently uses these POKéMON:\p"
+ .string "A DRAGON & PSYCHIC EON POKéMON,\n"
+ .string "an ELECTRIC-type THUNDER POKéMON,\l"
+ .string "and a NORMAL-type SLEEPING POKéMON.$"
+
+BattleFrontier_Lounge2_Text_260BC4: @ 8260BC4
+ .string "Bet you didn’t know this!\p"
+ .string "One of those top TRAINERS that SCOTT\n"
+ .string "calls the FRONTIER BRAINS is there.\p"
+ .string "It’s this flamboyant TRAINER called\n"
+ .string "the DOME ACE that runs the place.$"
+
+BattleFrontier_Lounge2_Text_260C6D: @ 8260C6D
+ .string "Have you battled the DOME ACE?\p"
+ .string "When he’s treating the opponent\n"
+ .string "lightly, he uses these three POKéMON:\p"
+ .string "A DRAGON & FLYING DRAGON POKéMON,\n"
+ .string "a WATER & GROUND MUD FISH POKéMON,\l"
+ .string "and a FIRE & FLYING FLAME POKéMON.$"
+
+BattleFrontier_Lounge2_Text_260D3A: @ 8260D3A
+ .string "Have you battled the DOME ACE\n"
+ .string "when he’s serious?\p"
+ .string "When he’s demonstrating his strategy,\n"
+ .string "he uses these three POKéMON:\p"
+ .string "A DRAGON & FLYING EON POKéMON,\n"
+ .string "a WATER & GROUND MUD FISH POKéMON,\l"
+ .string "and a STEEL- & PSYCHIC-type IRON LEG\l"
+ .string "POKéMON.$"
+
+BattleFrontier_Lounge2_Text_260E1E: @ 8260E1E
+ .string "Bet you didn’t know this!\p"
+ .string "One of those top TRAINERS that SCOTT\n"
+ .string "calls the FRONTIER BRAINS is there.\p"
+ .string "It’s this freaky TRAINER called\n"
+ .string "the FACTORY HEAD that runs the place.$"
+
+BattleFrontier_Lounge2_Text_260EC7: @ 8260EC7
+ .string "Have you battled the FACTORY HEAD\n"
+ .string "already?\p"
+ .string "Let me think… When he goes to battle,\n"
+ .string "he just gets three rental POKéMON.\p"
+ .string "He battles under pretty much the same\n"
+ .string "conditions as you.$"
+
+BattleFrontier_Lounge2_Text_260F74: @ 8260F74
+ .string "Have you battled the FACTORY HEAD\n"
+ .string "when he’s serious?\p"
+ .string "When he goes seriously to battle,\n"
+ .string "he still gets three rental POKéMON.\p"
+ .string "He battles under virtually the same\n"
+ .string "conditions as you.$"
+
+BattleFrontier_Lounge2_Text_261026: @ 8261026
+ .string "Bet you didn’t know this!\p"
+ .string "One of those top TRAINERS that SCOTT\n"
+ .string "calls the FRONTIER BRAINS is there.\p"
+ .string "It’s this scary TRAINER called\n"
+ .string "the PIKE QUEEN that runs the place.$"
+
+BattleFrontier_Lounge2_Text_2610CC: @ 82610CC
+ .string "Have you battled the PIKE QUEEN\n"
+ .string "before?\p"
+ .string "When she’s in a good mood, they say\n"
+ .string "she uses these three POKéMON:\p"
+ .string "A POISON-type FANG SNAKE POKéMON,\n"
+ .string "a BUG & ROCK MOLD POKéMON,\l"
+ .string "and a WATER-type TENDER POKéMON.$"
+
+BattleFrontier_Lounge2_Text_261194: @ 8261194
+ .string "Have you battled the PIKE QUEEN\n"
+ .string "when she’s serious?\p"
+ .string "When she’s seriously annoyed, they say\n"
+ .string "she uses these three POKéMON:\p"
+ .string "A POISON-type FANG SNAKE POKéMON,\n"
+ .string "a STEEL & GROUND IRON SNAKE POKéMON,\l"
+ .string "and a WATER- & FLYING-type ATROCIOUS\l"
+ .string "POKéMON.$"
+
+BattleFrontier_Lounge2_Text_261282: @ 8261282
+ .string "Bet you didn’t know this!\p"
+ .string "One of those top TRAINERS that SCOTT\n"
+ .string "calls the FRONTIER BRAINS is there.\p"
+ .string "It’s this cute TRAINER called\n"
+ .string "the ARENA TYCOON that runs the place.$"
+
+BattleFrontier_Lounge2_Text_261329: @ 8261329
+ .string "Have you battled the ARENA TYCOON\n"
+ .string "before?\p"
+ .string "When she’s assessing the foe’s ability,\n"
+ .string "she supposedly uses these POKéMON:\p"
+ .string "A BUG & FIGHTING SINGLE HORN POKéMON,\n"
+ .string "a DARK-type MOONLIGHT POKéMON,\l"
+ .string "and a BUG & GHOST SHED POKéMON.$"
+
+BattleFrontier_Lounge2_Text_261403: @ 8261403
+ .string "Have you battled the ARENA TYCOON\n"
+ .string "when she’s serious?\p"
+ .string "When she battles for keeps,\n"
+ .string "she supposedly uses these POKéMON:\p"
+ .string "A DARK-type MOONLIGHT POKéMON,\n"
+ .string "a GHOST & POISON SHADOW POKéMON\l"
+ .string "and a GRASS- & FIGHTING-type\l"
+ .string "MUSHROOM POKéMON.$"
+
+BattleFrontier_Lounge2_Text_2614E6: @ 82614E6
+ .string "Bet you didn’t know this!\p"
+ .string "One of those top TRAINERS that SCOTT\n"
+ .string "calls the FRONTIER BRAINS is there.\p"
+ .string "It’s this sinister TRAINER called\n"
+ .string "the PALACE MAVEN that runs the place.$"
+
+BattleFrontier_Lounge2_Text_261591: @ 8261591
+ .string "Have you battled the PALACE MAVEN\n"
+ .string "before?\p"
+ .string "When he’s testing the opponent’s\n"
+ .string "spirit, he’s said to use these POKéMON:\p"
+ .string "A POISON & FLYING-type BAT POKéMON,\n"
+ .string "a NORMAL-type LAZY POKéMON, and a\l"
+ .string "WATER- & ICE-type TRANSPORT POKéMON.$"
+
+BattleFrontier_Lounge2_Text_26166F: @ 826166F
+ .string "Have you battled the PALACE MAVEN\n"
+ .string "when he’s serious?\p"
+ .string "When he throws his entire might into\n"
+ .string "battle, he’s said to use these POKéMON:\p"
+ .string "A FIRE-type LEGENDARY POKéMON,\n"
+ .string "a NORMAL-type LAZY POKéMON,\l"
+ .string "and a WATER-type AURORA POKéMON.$"
+
+BattleFrontier_Lounge2_Text_26174D: @ 826174D
+ .string "Bet you didn’t know this!\p"
+ .string "One of those top TRAINERS that SCOTT\n"
+ .string "calls the FRONTIER BRAINS is there.\p"
+ .string "It’s this fiery-hot TRAINER called\n"
+ .string "the PYRAMID KING that runs the place.$"
+
+BattleFrontier_Lounge2_Text_2617F9: @ 82617F9
+ .string "Have you battled the PYRAMID KING\n"
+ .string "before?\p"
+ .string "When he’s checking the foe’s power,\n"
+ .string "he apparently uses these POKéMON:\p"
+ .string "A ROCK-type ROCK PEAK POKéMON,\n"
+ .string "an ICE-type ICEBERG POKéMON,\l"
+ .string "and a STEEL-type IRON POKéMON.$"
+
+BattleFrontier_Lounge2_Text_2618C4: @ 82618C4
+ .string "Have you battled the PYRAMID KING\n"
+ .string "when he’s serious?\p"
+ .string "When he’s pumped with hot power,\n"
+ .string "he apparently uses these POKéMON:\p"
+ .string "An ICE & FLYING FREEZE POKéMON, an\n"
+ .string "ELECTRIC & FLYING ELECTRIC POKéMON,\l"
+ .string "and a FIRE- & FLYING-type FLAME\l"
+ .string "POKéMON.$"
+
+BattleFrontier_Lounge2_Text_2619AC: @ 82619AC
+ .string "Sure, there are several places where\n"
+ .string "you can enter DOUBLE BATTLES.\p"
+ .string "But the DOUBLE BATTLE ROOMS of\n"
+ .string "the BATTLE TOWER are, like, basic!\p"
+ .string "They’re where you should learn about\n"
+ .string "how DOUBLE BATTLES are played here\l"
+ .string "in the BATTLE FRONTIER.$"
+
+BattleFrontier_Lounge2_Text_261A91: @ 8261A91
+ .string "Watch yourself in the battles here.\p"
+ .string "I hear there are TRAINERS that have\n"
+ .string "strategies they developed just for\l"
+ .string "DOUBLE BATTLES.$"
+
+BattleFrontier_Lounge2_Text_261B0C: @ 8261B0C
+ .string "Once you’re confident and comfortable\n"
+ .string "with DOUBLE BATTLES here, you should\l"
+ .string "think about challenging other places\l"
+ .string "offering DOUBLE BATTLES.$"
+
+BattleFrontier_Lounge2_Text_261B95: @ 8261B95
+ .string "All sorts of TRAINERS gather in\n"
+ .string "the BATTLE SALON.\p"
+ .string "Just think--you may run into your\n"
+ .string "friends or followers!\l"
+ .string "You should look carefully!$"
+
+BattleFrontier_Lounge2_Text_261C1A: @ 8261C1A
+ .string "If you’re with a friend, head for the\n"
+ .string "LINK MULTI BATTLE ROOM.\p"
+ .string "If you play with a strong friend,\n"
+ .string "you can expect to see tough foes!$"
+
+BattleFrontier_Lounge2_Text_261C9C: @ 8261C9C
+ .string "What amazing news-gathering power!\n"
+ .string "My mentor’s like none other!$"
+
+BattleFrontier_Lounge2_Text_261CDC: @ 8261CDC
+ .string "What amazing powers of observation!\n"
+ .string "My mentor’s like none other!$"
+
+BattleFrontier_Lounge2_Text_261D1D: @ 8261D1D
+ .string "What amazing power of persuasion!\n"
+ .string "My mentor’s like none other!$"
+
+BattleFrontier_Lounge2_Text_261D5C: @ 8261D5C
+ .string "…What is this place?\n"
+ .string "It’s scaring me…$"
+
diff --git a/data/scripts/maps/BattleFrontier_Lounge3.inc b/data/scripts/maps/BattleFrontier_Lounge3.inc
new file mode 100644
index 000000000..0612ccb8e
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_Lounge3.inc
@@ -0,0 +1,483 @@
+BattleFrontier_Lounge3_MapScripts:: @ 8261D82
+ .byte 0
+
+BattleFrontier_Lounge3_EventScript_261D83:: @ 8261D83
+ lock
+ faceplayer
+ checkflag FLAG_0x157
+ goto_eq BattleFrontier_Lounge3_EventScript_261EF9
+ call BattleFrontier_Lounge3_EventScript_261EA0
+ compare_var_to_value VAR_0x8004, 2
+ goto_if 3, BattleFrontier_Lounge3_EventScript_261EEB
+ setflag FLAG_0x157
+ msgbox BattleFrontier_Lounge3_Text_262061, 4
+ goto BattleFrontier_Lounge3_EventScript_261DAF
+ end
+
+BattleFrontier_Lounge3_EventScript_261DAF:: @ 8261DAF
+ special sub_813A820
+ waitmessage
+ waitbuttonpress
+ msgbox BattleFrontier_Lounge3_Text_262A60, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_Lounge3_EventScript_261FA5
+ msgbox BattleFrontier_Lounge3_Text_262ABD, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_Lounge3_EventScript_261FA5
+ message BattleFrontier_Lounge3_Text_262B42
+ waitmessage
+ special sub_813A958
+ goto BattleFrontier_Lounge3_EventScript_261DE9
+ end
+
+BattleFrontier_Lounge3_EventScript_261DE9:: @ 8261DE9
+ multichoice 20, 4, 87, 0
+ copyvar VAR_0x4032, VAR_RESULT
+ switch VAR_RESULT
+ case 0, BattleFrontier_Lounge3_EventScript_261E30
+ case 1, BattleFrontier_Lounge3_EventScript_261E3B
+ case 2, BattleFrontier_Lounge3_EventScript_261E46
+ case 3, BattleFrontier_Lounge3_EventScript_261FAF
+ case 127, BattleFrontier_Lounge3_EventScript_261FAF
+ end
+
+BattleFrontier_Lounge3_EventScript_261E30:: @ 8261E30
+ setvar VAR_0x8008, 5
+ goto BattleFrontier_Lounge3_EventScript_261E51
+ end
+
+BattleFrontier_Lounge3_EventScript_261E3B:: @ 8261E3B
+ setvar VAR_0x8008, 10
+ goto BattleFrontier_Lounge3_EventScript_261E51
+ end
+
+BattleFrontier_Lounge3_EventScript_261E46:: @ 8261E46
+ setvar VAR_0x8008, 15
+ goto BattleFrontier_Lounge3_EventScript_261E51
+ end
+
+BattleFrontier_Lounge3_EventScript_261E51:: @ 8261E51
+ specialvar VAR_0x4001, sub_813AA04
+ compare_var_to_var VAR_0x4001, VAR_0x8008
+ goto_if 4, BattleFrontier_Lounge3_EventScript_261E75
+ msgbox BattleFrontier_Lounge3_Text_262B6E, 4
+ message BattleFrontier_Lounge3_Text_262B42
+ waitmessage
+ goto BattleFrontier_Lounge3_EventScript_261DE9
+ end
+
+BattleFrontier_Lounge3_EventScript_261E75:: @ 8261E75
+ copyvar VAR_0x8004, VAR_0x8008
+ special sub_813A9A4
+ setvar VAR_0x4033, 1
+ special sub_813A8FC
+ playse SE_REGI
+ msgbox BattleFrontier_Lounge3_Text_262BE0, 4
+ goto BattleFrontier_Lounge3_EventScript_261E96
+ end
+
+BattleFrontier_Lounge3_EventScript_261E96:: @ 8261E96
+ special sub_813A854
+ waitmessage
+ waitbuttonpress
+ special sub_813A988
+ release
+ end
+
+BattleFrontier_Lounge3_EventScript_261EA0:: @ 8261EA0
+ setvar VAR_0x8004, 0
+ checkflag FLAG_SYS_TOWER_SILVER
+ call_if 1, BattleFrontier_Lounge3_EventScript_261EE5
+ checkflag FLAG_SYS_DOME_SILVER
+ call_if 1, BattleFrontier_Lounge3_EventScript_261EE5
+ checkflag FLAG_SYS_PALACE_SILVER
+ call_if 1, BattleFrontier_Lounge3_EventScript_261EE5
+ checkflag FLAG_SYS_ARENA_SILVER
+ call_if 1, BattleFrontier_Lounge3_EventScript_261EE5
+ checkflag FLAG_SYS_FACTORY_SILVER
+ call_if 1, BattleFrontier_Lounge3_EventScript_261EE5
+ checkflag FLAG_SYS_PIKE_SILVER
+ call_if 1, BattleFrontier_Lounge3_EventScript_261EE5
+ checkflag FLAG_SYS_PYRAMID_SILVER
+ call_if 1, BattleFrontier_Lounge3_EventScript_261EE5
+ return
+
+BattleFrontier_Lounge3_EventScript_261EE5:: @ 8261EE5
+ addvar VAR_0x8004, 1
+ return
+
+BattleFrontier_Lounge3_EventScript_261EEB:: @ 8261EEB
+ msgbox BattleFrontier_Lounge3_Text_261FFE, 4
+ goto BattleFrontier_Lounge3_EventScript_261FF1
+ end
+
+BattleFrontier_Lounge3_EventScript_261EF9:: @ 8261EF9
+ msgbox BattleFrontier_Lounge3_Text_26346B, 4
+ compare_var_to_value VAR_0x4033, 1
+ goto_if 4, BattleFrontier_Lounge3_EventScript_261F12
+ goto BattleFrontier_Lounge3_EventScript_261DAF
+ end
+
+BattleFrontier_Lounge3_EventScript_261F12:: @ 8261F12
+ compare_var_to_value VAR_0x4033, 1
+ goto_eq BattleFrontier_Lounge3_EventScript_261F9E
+ compare_var_to_value VAR_0x4033, 2
+ goto_eq BattleFrontier_Lounge3_EventScript_261F2E
+ goto BattleFrontier_Lounge3_EventScript_261F71
+ end
+
+BattleFrontier_Lounge3_EventScript_261F2E:: @ 8261F2E
+ msgbox BattleFrontier_Lounge3_Text_263334, 4
+ compare_var_to_value VAR_0x4032, 0
+ call_if 1, BattleFrontier_Lounge3_EventScript_261F80
+ compare_var_to_value VAR_0x4032, 1
+ call_if 1, BattleFrontier_Lounge3_EventScript_261F8A
+ compare_var_to_value VAR_0x4032, 2
+ call_if 1, BattleFrontier_Lounge3_EventScript_261F94
+ msgbox BattleFrontier_Lounge3_Text_2633D4, 9
+ special sub_813A9D0
+ msgbox BattleFrontier_Lounge3_Text_2633F2, 4
+ setvar VAR_0x4033, 0
+ release
+ end
+
+BattleFrontier_Lounge3_EventScript_261F71:: @ 8261F71
+ msgbox BattleFrontier_Lounge3_Text_263298, 4
+ setvar VAR_0x4033, 0
+ release
+ end
+
+BattleFrontier_Lounge3_EventScript_261F80:: @ 8261F80
+ buffernumberstring 0, 10
+ setvar VAR_0x8004, 10
+ return
+
+BattleFrontier_Lounge3_EventScript_261F8A:: @ 8261F8A
+ buffernumberstring 0, 20
+ setvar VAR_0x8004, 20
+ return
+
+BattleFrontier_Lounge3_EventScript_261F94:: @ 8261F94
+ buffernumberstring 0, 30
+ setvar VAR_0x8004, 30
+ return
+
+BattleFrontier_Lounge3_EventScript_261F9E:: @ 8261F9E
+ special sub_813A854
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+BattleFrontier_Lounge3_EventScript_261FA5:: @ 8261FA5
+ msgbox BattleFrontier_Lounge3_Text_26342D, 4
+ release
+ end
+
+BattleFrontier_Lounge3_EventScript_261FAF:: @ 8261FAF
+ special sub_813A988
+ goto BattleFrontier_Lounge3_EventScript_261FA5
+ end
+
+BattleFrontier_Lounge3_EventScript_261FB8:: @ 8261FB8
+ msgbox BattleFrontier_Lounge3_Text_263545, 2
+ end
+
+BattleFrontier_Lounge3_EventScript_261FC1:: @ 8261FC1
+ lock
+ faceplayer
+ msgbox BattleFrontier_Lounge3_Text_26346F, 4
+ goto BattleFrontier_Lounge3_EventScript_261FF1
+ end
+
+BattleFrontier_Lounge3_EventScript_261FD1:: @ 8261FD1
+ lock
+ faceplayer
+ msgbox BattleFrontier_Lounge3_Text_26351D, 4
+ goto BattleFrontier_Lounge3_EventScript_261FF1
+ end
+
+BattleFrontier_Lounge3_EventScript_261FE1:: @ 8261FE1
+ lock
+ faceplayer
+ msgbox BattleFrontier_Lounge3_Text_2634C9, 4
+ goto BattleFrontier_Lounge3_EventScript_261FF1
+ end
+
+BattleFrontier_Lounge3_EventScript_261FF1:: @ 8261FF1
+ closemessage
+ applymovement VAR_LAST_TALKED, BattleFrontier_Lounge3_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+BattleFrontier_Lounge3_Text_261FFE: @ 8261FFE
+ .string "…What’s that you want?\p"
+ .string "Can’t you see we’re kind of busy here?\n"
+ .string "Can’t your business wait till later?$"
+
+BattleFrontier_Lounge3_Text_262061: @ 8262061
+ .string "…Huh?\n"
+ .string "You look to me like a tough TRAINER.\p"
+ .string "Heheh…\n"
+ .string "Listen, I have this proposition.\p"
+ .string "We have a little group going here,\n"
+ .string "and we play a little game with what\l"
+ .string "goes on in the BATTLE FRONTIER.\p"
+ .string "The rules are really simple.\p"
+ .string "First, we pick one of the facilities\n"
+ .string "in the BATTLE FRONTIER.\p"
+ .string "Then, we each pick a different TRAINER\n"
+ .string "who’s taking that facility’s challenge,\l"
+ .string "and bet with our Battle Points.\p"
+ .string "The guy who bet on the TRAINER with\n"
+ .string "the best record takes all the Battle\l"
+ .string "Points in the pool.\p"
+ .string "Sounds simple, huh?\n"
+ .string "So, anyway…$"
+
+BattleFrontier_Lounge3_Text_262261: @ 8262261
+ .string "What I’m looking for is a TRAINER who’s\n"
+ .string "going to be challenging the BATTLE\l"
+ .string "TOWER’s SINGLE BATTLE ROOMS.\p"
+ .string "But so far, I haven’t seen a TRAINER\n"
+ .string "that has that winning quality.$"
+
+BattleFrontier_Lounge3_Text_26230D: @ 826230D
+ .string "What I’m looking for is a TRAINER who’s\n"
+ .string "going to be challenging the BATTLE\l"
+ .string "TOWER’s DOUBLE BATTLE ROOMS.\p"
+ .string "But so far, I haven’t seen a TRAINER\n"
+ .string "that has that winning quality.$"
+
+BattleFrontier_Lounge3_Text_2623B9: @ 82623B9
+ .string "What I’m looking for is a TRAINER who’s\n"
+ .string "going to be challenging the BATTLE\l"
+ .string "TOWER’s MULTI BATTLE ROOMS.\p"
+ .string "But so far, I haven’t seen a TRAINER\n"
+ .string "that has that winning quality.$"
+
+BattleFrontier_Lounge3_Text_262464: @ 8262464
+ .string "What I’m looking for is a TRAINER who’s\n"
+ .string "going to be entering the BATTLE\l"
+ .string "DOME’s SINGLE BATTLE Tourney.\p"
+ .string "But so far, I haven’t seen a TRAINER\n"
+ .string "that has that winning quality.$"
+
+BattleFrontier_Lounge3_Text_26250E: @ 826250E
+ .string "What I’m looking for is a TRAINER who’s\n"
+ .string "going to be entering the BATTLE\l"
+ .string "DOME’s DOUBLE BATTLE Tourney.\p"
+ .string "But so far, I haven’t seen a TRAINER\n"
+ .string "that has that winning quality.$"
+
+BattleFrontier_Lounge3_Text_2625B8: @ 82625B8
+ .string "What I’m looking for is a TRAINER who’s\n"
+ .string "going to be entering the BATTLE\l"
+ .string "FACTORY’s Battle Swap Single Tourney.\p"
+ .string "But so far, I haven’t seen a TRAINER\n"
+ .string "that has that winning quality.$"
+
+BattleFrontier_Lounge3_Text_26266A: @ 826266A
+ .string "What I’m looking for is a TRAINER who’s\n"
+ .string "going to be entering the BATTLE\l"
+ .string "FACTORY’s Battle Swap Double Tourney.\p"
+ .string "But so far, I haven’t seen a TRAINER\n"
+ .string "that has that winning quality.$"
+
+BattleFrontier_Lounge3_Text_26271C: @ 826271C
+ .string "What I’m looking for is a TRAINER who’s\n"
+ .string "going to be challenging the BATTLE\l"
+ .string "PALACE’s SINGLE BATTLE HALLS.\p"
+ .string "But so far, I haven’t seen a TRAINER\n"
+ .string "that has that winning quality.$"
+
+BattleFrontier_Lounge3_Text_2627C9: @ 82627C9
+ .string "What I’m looking for is a TRAINER who’s\n"
+ .string "going to be challenging the BATTLE\l"
+ .string "PALACE’s DOUBLE BATTLE HALLS.\p"
+ .string "But so far, I haven’t seen a TRAINER\n"
+ .string "that has that winning quality.$"
+
+BattleFrontier_Lounge3_Text_262876: @ 8262876
+ .string "What I’m looking for is a TRAINER who’s\n"
+ .string "going to be entering the BATTLE\l"
+ .string "ARENA’s Set KO Tourney.\p"
+ .string "But so far, I haven’t seen a TRAINER\n"
+ .string "that has that winning quality.$"
+
+BattleFrontier_Lounge3_Text_26291A: @ 826291A
+ .string "What I’m looking for is a TRAINER who’s\n"
+ .string "going to be entering the BATTLE PIKE’s\l"
+ .string "Battle Choice.\p"
+ .string "But so far, I haven’t seen a TRAINER\n"
+ .string "that has that winning quality.$"
+
+BattleFrontier_Lounge3_Text_2629BC: @ 82629BC
+ .string "What I’m looking for is a TRAINER who’s\n"
+ .string "going to be entering the BATTLE\l"
+ .string "PYRAMID’s Battle Quest.\p"
+ .string "But so far, I haven’t seen a TRAINER\n"
+ .string "that has that winning quality.$"
+
+BattleFrontier_Lounge3_Text_262A60: @ 8262A60
+ .string "I’ll see to it that you benefit, too.\n"
+ .string "So how about it?\l"
+ .string "How about entering that event for me?$"
+
+BattleFrontier_Lounge3_Text_262ABD: @ 8262ABD
+ .string "All right, that’s perfect.\n"
+ .string "So, uh… How about spotting me some\l"
+ .string "of your Battle Points?\p"
+ .string "Trust me, I’ll show you my gratitude\n"
+ .string "afterward.$"
+
+BattleFrontier_Lounge3_Text_262B42: @ 8262B42
+ .string "Great, great!\n"
+ .string "So, how much can you spot me?$"
+
+BattleFrontier_Lounge3_Text_262B6E: @ 8262B6E
+ .string "Oh, no, no, no!\n"
+ .string "You don’t have enough Battle Points!\p"
+ .string "I wish you wouldn’t monkey around and\n"
+ .string "waste everyone’s time!$"
+
+BattleFrontier_Lounge3_Text_262BE0: @ 8262BE0
+ .string "Heheh! Thanks much!\n"
+ .string "So, off you go!$"
+
+BattleFrontier_Lounge3_Text_262C04: @ 8262C04
+ .string "Get to the BATTLE TOWER’s\n"
+ .string "SINGLE BATTLE ROOMS pronto!\p"
+ .string "It’s a must-win situation!\n"
+ .string "Don’t blow your chance!\l"
+ .string "Both of our futures depend on you!$"
+
+BattleFrontier_Lounge3_Text_262C90: @ 8262C90
+ .string "Get to the BATTLE TOWER’s\n"
+ .string "DOUBLE BATTLE ROOMS pronto!\p"
+ .string "It’s a must-win situation!\n"
+ .string "Don’t blow your chance!\l"
+ .string "Both of our futures depend on you!$"
+
+BattleFrontier_Lounge3_Text_262D1C: @ 8262D1C
+ .string "Get to the BATTLE TOWER’s\n"
+ .string "MULTI BATTLE ROOMS pronto!\p"
+ .string "It’s a must-win situation!\n"
+ .string "Don’t blow your chance!\l"
+ .string "Both of our futures depend on you!$"
+
+BattleFrontier_Lounge3_Text_262DA7: @ 8262DA7
+ .string "Get to the BATTLE DOME’s\n"
+ .string "SINGLE BATTLE Tourney pronto!\p"
+ .string "It’s a must-win situation!\n"
+ .string "Don’t blow your chance!\l"
+ .string "Both of our futures depend on you!$"
+
+BattleFrontier_Lounge3_Text_262E34: @ 8262E34
+ .string "Get to the BATTLE DOME’s\n"
+ .string "DOUBLE BATTLE Tourney pronto!\p"
+ .string "It’s a must-win situation!\n"
+ .string "Don’t blow your chance!\l"
+ .string "Both of our futures depend on you!$"
+
+BattleFrontier_Lounge3_Text_262EC1: @ 8262EC1
+ .string "Get to the BATTLE FACTORY’s\n"
+ .string "Battle Swap Single Tourney pronto!\p"
+ .string "It’s a must-win situation!\n"
+ .string "Don’t blow your chance!\l"
+ .string "Both of our futures depend on you!$"
+
+BattleFrontier_Lounge3_Text_262F56: @ 8262F56
+ .string "Get to the BATTLE FACTORY’s\n"
+ .string "Battle Swap Double Tourney pronto!\p"
+ .string "It’s a must-win situation!\n"
+ .string "Don’t blow your chance!\l"
+ .string "Both of our futures depend on you!$"
+
+BattleFrontier_Lounge3_Text_262FEB: @ 8262FEB
+ .string "Get to the BATTLE PALACE’s\n"
+ .string "SINGLE BATTLE HALLS pronto!\p"
+ .string "It’s a must-win situation!\n"
+ .string "Don’t blow your chance!\l"
+ .string "Both of our futures depend on you!$"
+
+BattleFrontier_Lounge3_Text_263078: @ 8263078
+ .string "Get to the BATTLE PALACE’s\n"
+ .string "DOUBLE BATTLE HALLS pronto!\p"
+ .string "It’s a must-win situation!\n"
+ .string "Don’t blow your chance!\l"
+ .string "Both of our futures depend on you!$"
+
+BattleFrontier_Lounge3_Text_263105: @ 8263105
+ .string "Get to the BATTLE ARENA’s\n"
+ .string "Set KO Tourney pronto!\p"
+ .string "It’s a must-win situation!\n"
+ .string "Don’t blow your chance!\l"
+ .string "Both of our futures depend on you!$"
+
+BattleFrontier_Lounge3_Text_26318C: @ 826318C
+ .string "Get to the BATTLE PIKE’s\n"
+ .string "Battle Choice pronto!\p"
+ .string "It’s a must-win situation!\n"
+ .string "Don’t blow your chance!\l"
+ .string "Both of our futures depend on you!$"
+
+BattleFrontier_Lounge3_Text_263211: @ 8263211
+ .string "Get to the BATTLE PYRAMID’s\n"
+ .string "Battle Quest pronto!\p"
+ .string "It’s a must-win situation!\n"
+ .string "Don’t blow your chance!\l"
+ .string "Both of our futures depend on you!$"
+
+BattleFrontier_Lounge3_Text_263298: @ 8263298
+ .string "Oh, it’s you…\n"
+ .string "Nice try…\p"
+ .string "I hate to break it to you, but I can’t\n"
+ .string "return your Battle Points…\p"
+ .string "I guess we’ll have to let it motivate\n"
+ .string "us to try harder next time!$"
+
+BattleFrontier_Lounge3_Text_263334: @ 8263334
+ .string "Oh, yes!\n"
+ .string "Hello there, champ!\p"
+ .string "I knew you could!\n"
+ .string "I knew you would!\l"
+ .string "We’re both big winners!\p"
+ .string "I’ll return your Battle Points and,\n"
+ .string "of course, a little extra from me!$"
+
+BattleFrontier_Lounge3_Text_2633D4: @ 82633D4
+ .string "{PLAYER} obtained\n"
+ .string "{STR_VAR_1} Battle Points.$"
+
+BattleFrontier_Lounge3_Text_2633F2: @ 82633F2
+ .string "If you’re up for another challenge,\n"
+ .string "please do think of me!$"
+
+BattleFrontier_Lounge3_Text_26342D: @ 826342D
+ .string "Not interested?! You shouldn’t be\n"
+ .string "so afraid to take a chance!$"
+
+BattleFrontier_Lounge3_Text_26346B: @ 826346B
+ .string "Oh…$"
+
+BattleFrontier_Lounge3_Text_26346F: @ 826346F
+ .string "I backed the wrong TRAINER again!\p"
+ .string "Maybe I should be battling normally\n"
+ .string "like everyone else…$"
+
+BattleFrontier_Lounge3_Text_2634C9: @ 82634C9
+ .string "That TRAINER…\p"
+ .string "He’s good, but he gets rattled too\n"
+ .string "easily to survive the BATTLE DOME…$"
+
+BattleFrontier_Lounge3_Text_26351D: @ 826351D
+ .string "Giggle!\n"
+ .string "I know a winner when I see one!$"
+
+BattleFrontier_Lounge3_Text_263545: @ 8263545
+ .string "Those TRAINERS…\n"
+ .string "What are they doing?\l"
+ .string "They should be taking challenges.$"
+
diff --git a/data/scripts/maps/BattleFrontier_Lounge4.inc b/data/scripts/maps/BattleFrontier_Lounge4.inc
new file mode 100644
index 000000000..1108ceee7
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_Lounge4.inc
@@ -0,0 +1,30 @@
+BattleFrontier_Lounge4_MapScripts:: @ 826358C
+ .byte 0
+
+BattleFrontier_Lounge4_EventScript_26358D:: @ 826358D
+ msgbox BattleFrontier_Lounge4_Text_2635A8, 2
+ end
+
+BattleFrontier_Lounge4_EventScript_263596:: @ 8263596
+ msgbox BattleFrontier_Lounge4_Text_2635EC, 2
+ end
+
+BattleFrontier_Lounge4_EventScript_26359F:: @ 826359F
+ msgbox BattleFrontier_Lounge4_Text_263625, 2
+ end
+
+BattleFrontier_Lounge4_Text_2635A8: @ 82635A8
+ .string "I wonder if they’ll be airing interviews\n"
+ .string "with tough TRAINERS today?$"
+
+BattleFrontier_Lounge4_Text_2635EC: @ 82635EC
+ .string "If I opened a restaurant here,\n"
+ .string "it’d make money for sure.$"
+
+BattleFrontier_Lounge4_Text_263625: @ 8263625
+ .string "Whew…\p"
+ .string "I need to take a breather after\n"
+ .string "some intense battles…\p"
+ .string "But even now, I never take a break\n"
+ .string "from plotting strategy and combos.$"
+
diff --git a/data/scripts/maps/BattleFrontier_Lounge5.inc b/data/scripts/maps/BattleFrontier_Lounge5.inc
new file mode 100644
index 000000000..545fef22f
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_Lounge5.inc
@@ -0,0 +1,206 @@
+BattleFrontier_Lounge5_MapScripts:: @ 82645C5
+ .byte 0
+
+BattleFrontier_Lounge5_EventScript_2645C6:: @ 82645C6
+ lock
+ faceplayer
+ msgbox BattleFrontier_Lounge5_Text_264632, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_Lounge5_EventScript_26460D
+ special sub_81B94B0
+ waitstate
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x8004, 255
+ goto_eq BattleFrontier_Lounge5_EventScript_26460D
+ specialvar VAR_RESULT, sub_81396E0
+ compare_var_to_value VAR_RESULT, 412
+ goto_eq BattleFrontier_Lounge5_EventScript_264603
+ special sub_813A7B8
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+BattleFrontier_Lounge5_EventScript_264603:: @ 8264603
+ msgbox BattleFrontier_Lounge5_Text_264EEE, 4
+ release
+ end
+
+BattleFrontier_Lounge5_EventScript_26460D:: @ 826460D
+ msgbox BattleFrontier_Lounge5_Text_26467F, 4
+ release
+ end
+
+BattleFrontier_Lounge5_EventScript_264617:: @ 8264617
+ msgbox BattleFrontier_Lounge5_Text_264F22, 2
+ end
+
+BattleFrontier_Lounge5_EventScript_264620:: @ 8264620
+ msgbox BattleFrontier_Lounge5_Text_264F64, 2
+ end
+
+BattleFrontier_Lounge5_EventScript_264629:: @ 8264629
+ msgbox BattleFrontier_Lounge5_Text_264FAB, 2
+ end
+
+BattleFrontier_Lounge5_Text_264632: @ 8264632
+ .string "Ehehe!\n"
+ .string "I can tell what POKéMON are thinking!\p"
+ .string "Please!\n"
+ .string "Can I see your POKéMON?$"
+
+BattleFrontier_Lounge5_Text_26467F: @ 826467F
+ .string "Boo!\n"
+ .string "Cheapie!$"
+
+BattleFrontier_Lounge5_Text_26468D: @ 826468D
+ .string "Hmhm…\p"
+ .string "This one says it likes to battle!\n"
+ .string "It will battle even if it has a lot\l"
+ .string "of ouchies!$"
+
+BattleFrontier_Lounge5_Text_2646E5: @ 82646E5
+ .string "Hmhm…\p"
+ .string "This one says it likes to be sneaky!\n"
+ .string "But if it gets enough ouchies,\l"
+ .string "it will hit back!$"
+
+BattleFrontier_Lounge5_Text_264741: @ 8264741
+ .string "Hmhm…\p"
+ .string "This one says it likes to battle!\n"
+ .string "But if it gets enough ouchies,\l"
+ .string "it will worry about itself!$"
+
+BattleFrontier_Lounge5_Text_2647A4: @ 82647A4
+ .string "Hmhm…\p"
+ .string "This one says it likes to battle!\n"
+ .string "It will battle even if it has a lot\l"
+ .string "of ouchies!$"
+
+BattleFrontier_Lounge5_Text_2647FC: @ 82647FC
+ .string "Hmhm…\p"
+ .string "This one says it looks after itself!\n"
+ .string "But if it gets enough ouchies,\l"
+ .string "it will hit back!$"
+
+BattleFrontier_Lounge5_Text_264858: @ 8264858
+ .string "Hmhm…\p"
+ .string "This one says it likes to be sneaky!\n"
+ .string "But if it gets enough ouchies,\l"
+ .string "it will worry about itself!$"
+
+BattleFrontier_Lounge5_Text_2648BE: @ 82648BE
+ .string "Hmhm…\p"
+ .string "This one says it likes to battle!\n"
+ .string "It will battle even if it has a lot\l"
+ .string "of ouchies!$"
+
+BattleFrontier_Lounge5_Text_264916: @ 8264916
+ .string "Hmhm…\p"
+ .string "This one says it likes to be sneaky!\n"
+ .string "But if it gets enough ouchies,\l"
+ .string "it will hit back!$"
+
+BattleFrontier_Lounge5_Text_264972: @ 8264972
+ .string "Hmhm…\p"
+ .string "This one says it likes to battle!\n"
+ .string "But if it gets enough ouchies,\l"
+ .string "it will worry about itself!$"
+
+BattleFrontier_Lounge5_Text_2649D5: @ 82649D5
+ .string "Hmhm…\p"
+ .string "This one says it likes to be sneaky!\n"
+ .string "It says it likes to be sneaky even\l"
+ .string "if it has a lot of ouchies!$"
+
+BattleFrontier_Lounge5_Text_264A3F: @ 8264A3F
+ .string "Hmhm…\p"
+ .string "This one says it likes to battle!\n"
+ .string "But if it gets enough ouchies,\l"
+ .string "it will turn sneaky!$"
+
+BattleFrontier_Lounge5_Text_264A9B: @ 8264A9B
+ .string "Hmhm…\p"
+ .string "This one says it likes to battle!\n"
+ .string "It will battle even if it has a lot\l"
+ .string "of ouchies!$"
+
+BattleFrontier_Lounge5_Text_264AF3: @ 8264AF3
+ .string "Hmhm…\p"
+ .string "This one says it likes to be sneaky!\n"
+ .string "It says it likes to be sneaky even\l"
+ .string "if it has a lot of ouchies!$"
+
+BattleFrontier_Lounge5_Text_264B5D: @ 8264B5D
+ .string "Hmhm…\p"
+ .string "This one says it likes to be sneaky!\n"
+ .string "But if it gets enough ouchies,\l"
+ .string "it will worry about itself!$"
+
+BattleFrontier_Lounge5_Text_264BC3: @ 8264BC3
+ .string "Hmhm…\p"
+ .string "This one says it looks after itself!\n"
+ .string "It says it worries about itself whether\l"
+ .string "or not it has a lot of ouchies!$"
+
+BattleFrontier_Lounge5_Text_264C36: @ 8264C36
+ .string "Hmhm…\p"
+ .string "This one says it looks after itself!\n"
+ .string "But if it gets enough ouchies,\l"
+ .string "it will turn sneaky!$"
+
+BattleFrontier_Lounge5_Text_264C95: @ 8264C95
+ .string "Hmhm…\p"
+ .string "This one says it looks after itself!\n"
+ .string "It says it worries about itself even\l"
+ .string "if it has a lot of ouchies!$"
+
+BattleFrontier_Lounge5_Text_264D01: @ 8264D01
+ .string "Hmhm…\p"
+ .string "This one says it likes to be sneaky!\n"
+ .string "It says it likes to be sneaky even\l"
+ .string "if it has a lot of ouchies!$"
+
+BattleFrontier_Lounge5_Text_264D6B: @ 8264D6B
+ .string "Hmhm…\p"
+ .string "This one says it looks after itself!\n"
+ .string "It says it worries about itself even\l"
+ .string "if it has a lot of ouchies!$"
+
+BattleFrontier_Lounge5_Text_264DD7: @ 8264DD7
+ .string "Hmhm…\p"
+ .string "This one says it looks after itself!\n"
+ .string "But if it gets enough ouchies,\l"
+ .string "it will hit back!$"
+
+BattleFrontier_Lounge5_Text_264E33: @ 8264E33
+ .string "Hmhm…\p"
+ .string "This one says it likes to battle!\n"
+ .string "But if it gets enough ouchies,\l"
+ .string "it will turn sneaky!$"
+
+BattleFrontier_Lounge5_Text_264E8F: @ 8264E8F
+ .string "Hmhm…\p"
+ .string "This one says it looks after itself!\n"
+ .string "But if it gets enough ouchies,\l"
+ .string "it will turn sneaky!$"
+
+BattleFrontier_Lounge5_Text_264EEE: @ 8264EEE
+ .string "That’s silly! An EGG is asleep!\n"
+ .string "I can’t talk to it!$"
+
+BattleFrontier_Lounge5_Text_264F22: @ 8264F22
+ .string "How charming!\n"
+ .string "That little lady claims she can\l"
+ .string "understand POKéMON!$"
+
+BattleFrontier_Lounge5_Text_264F64: @ 8264F64
+ .string "I have this feeling that the little girl\n"
+ .string "is saying something profound.$"
+
+BattleFrontier_Lounge5_Text_264FAB: @ 8264FAB
+ .string "I know something!\p"
+ .string "That little girl plays at the red house\n"
+ .string "a lot!$"
+
diff --git a/data/scripts/maps/BattleFrontier_Lounge6.inc b/data/scripts/maps/BattleFrontier_Lounge6.inc
new file mode 100644
index 000000000..eacc18413
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_Lounge6.inc
@@ -0,0 +1,82 @@
+BattleFrontier_Lounge6_MapScripts:: @ 8264FEC
+ .byte 0
+
+BattleFrontier_Lounge6_EventScript_264FED:: @ 8264FED
+ lock
+ faceplayer
+ checkflag FLAG_0x09C
+ goto_eq BattleFrontier_Lounge6_EventScript_265083
+ setvar VAR_0x8008, 3
+ copyvar VAR_0x8004, VAR_0x8008
+ specialvar VAR_RESULT, sub_807E73C
+ copyvar VAR_0x8009, VAR_RESULT
+ msgbox BattleFrontier_Lounge6_Text_26508D, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_Lounge6_EventScript_26506B
+ special sub_81B94B0
+ waitstate
+ copyvar VAR_0x800A, VAR_0x8004
+ compare_var_to_value VAR_0x8004, 255
+ goto_eq BattleFrontier_Lounge6_EventScript_26506B
+ copyvar VAR_0x8005, VAR_0x800A
+ specialvar VAR_RESULT, sub_807E9D4
+ copyvar VAR_0x800B, VAR_RESULT
+ compare_var_to_var VAR_RESULT, VAR_0x8009
+ goto_if 5, BattleFrontier_Lounge6_EventScript_265075
+ copyvar VAR_0x8004, VAR_0x8008
+ copyvar VAR_0x8005, VAR_0x800A
+ special sub_807EA10
+ special sub_807F0E4
+ waitstate
+ msgbox BattleFrontier_Lounge6_Text_265128, 4
+ setflag FLAG_0x09C
+ release
+ end
+
+BattleFrontier_Lounge6_EventScript_26506B:: @ 826506B
+ msgbox BattleFrontier_Lounge6_Text_2651CB, 4
+ release
+ end
+
+BattleFrontier_Lounge6_EventScript_265075:: @ 8265075
+ bufferspeciesname 0, VAR_0x8009
+ msgbox BattleFrontier_Lounge6_Text_26518D, 4
+ release
+ end
+
+BattleFrontier_Lounge6_EventScript_265083:: @ 8265083
+ msgbox BattleFrontier_Lounge6_Text_26520E, 4
+ release
+ end
+
+BattleFrontier_Lounge6_Text_26508D: @ 826508D
+ .string "My POKéMON is a {STR_VAR_2}.\n"
+ .string "Do you know it?\l"
+ .string "It’s quite cute and rather nice.\p"
+ .string "This little one, I could trade with\n"
+ .string "pride!\p"
+ .string "Would you like to trade me a {STR_VAR_1}\n"
+ .string "for my {STR_VAR_2}?$"
+
+BattleFrontier_Lounge6_Text_265128: @ 8265128
+ .string "Oh, it’s adorable!\n"
+ .string "Thank you!\l"
+ .string "I promise I’ll be good to it!\p"
+ .string "Oh! I hope you’ll be good to\n"
+ .string "my {STR_VAR_2}, too!$"
+
+BattleFrontier_Lounge6_Text_26518D: @ 826518D
+ .string "Oh, I’m sorry!\n"
+ .string "I don’t intend to trade for anything\l"
+ .string "but a {STR_VAR_1}.$"
+
+BattleFrontier_Lounge6_Text_2651CB: @ 82651CB
+ .string "Oh, you won’t?\n"
+ .string "Well, that’s fine, too.\l"
+ .string "Please come visit us again.$"
+
+BattleFrontier_Lounge6_Text_26520E: @ 826520E
+ .string "Giggle!\n"
+ .string "A SKITTY is so much cuter than I had\l"
+ .string "imagined. I’m delighted!$"
+
diff --git a/data/scripts/maps/BattleFrontier_Lounge7.inc b/data/scripts/maps/BattleFrontier_Lounge7.inc
new file mode 100644
index 000000000..53f0ed8d1
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_Lounge7.inc
@@ -0,0 +1,482 @@
+BattleFrontier_Lounge7_MapScripts:: @ 8265254
+ .byte 0
+
+BattleFrontier_Lounge7_EventScript_265255:: @ 8265255
+ lock
+ faceplayer
+ setvar VAR_0x400C, 9
+ checkflag FLAG_0x15A
+ goto_eq BattleFrontier_Lounge7_EventScript_265276
+ msgbox BattleFrontier_Lounge7_Text_2656ED, 4
+ setflag FLAG_0x15A
+ goto BattleFrontier_Lounge7_EventScript_265284
+ end
+
+BattleFrontier_Lounge7_EventScript_265276:: @ 8265276
+ msgbox BattleFrontier_Lounge7_Text_2658AB, 4
+ goto BattleFrontier_Lounge7_EventScript_265284
+ end
+
+BattleFrontier_Lounge7_EventScript_265284:: @ 8265284
+ message BattleFrontier_Lounge7_Text_2658EF
+ waitmessage
+ special sub_813A958
+ setvar VAR_0x400E, 0
+ setvar VAR_0x8004, 9
+ setvar VAR_0x8006, 0
+ special sub_813A128
+ waitstate
+ copyvar VAR_0x400D, VAR_RESULT
+ switch VAR_RESULT
+ case 0, BattleFrontier_Lounge7_EventScript_2653D7
+ case 1, BattleFrontier_Lounge7_EventScript_2653E2
+ case 2, BattleFrontier_Lounge7_EventScript_2653ED
+ case 3, BattleFrontier_Lounge7_EventScript_2653F8
+ case 4, BattleFrontier_Lounge7_EventScript_265403
+ case 5, BattleFrontier_Lounge7_EventScript_26540E
+ case 6, BattleFrontier_Lounge7_EventScript_265419
+ case 7, BattleFrontier_Lounge7_EventScript_265424
+ case 8, BattleFrontier_Lounge7_EventScript_26542F
+ case 9, BattleFrontier_Lounge7_EventScript_26543A
+ case 10, BattleFrontier_Lounge7_EventScript_265635
+ case 127, BattleFrontier_Lounge7_EventScript_265635
+ end
+
+BattleFrontier_Lounge7_EventScript_26532F:: @ 826532F
+ message BattleFrontier_Lounge7_Text_2658EF
+ waitmessage
+ setvar VAR_0x400E, 0
+ setvar VAR_0x8004, 9
+ setvar VAR_0x8006, 1
+ special sub_813A128
+ waitstate
+ copyvar VAR_0x400D, VAR_RESULT
+ switch VAR_RESULT
+ case 0, BattleFrontier_Lounge7_EventScript_2653D7
+ case 1, BattleFrontier_Lounge7_EventScript_2653E2
+ case 2, BattleFrontier_Lounge7_EventScript_2653ED
+ case 3, BattleFrontier_Lounge7_EventScript_2653F8
+ case 4, BattleFrontier_Lounge7_EventScript_265403
+ case 5, BattleFrontier_Lounge7_EventScript_26540E
+ case 6, BattleFrontier_Lounge7_EventScript_265419
+ case 7, BattleFrontier_Lounge7_EventScript_265424
+ case 8, BattleFrontier_Lounge7_EventScript_26542F
+ case 9, BattleFrontier_Lounge7_EventScript_26543A
+ case 10, BattleFrontier_Lounge7_EventScript_265635
+ case 127, BattleFrontier_Lounge7_EventScript_265635
+ end
+
+BattleFrontier_Lounge7_EventScript_2653D7:: @ 82653D7
+ setvar VAR_0x8008, 16
+ goto BattleFrontier_Lounge7_EventScript_26564F
+ end
+
+BattleFrontier_Lounge7_EventScript_2653E2:: @ 82653E2
+ setvar VAR_0x8008, 24
+ goto BattleFrontier_Lounge7_EventScript_26564F
+ end
+
+BattleFrontier_Lounge7_EventScript_2653ED:: @ 82653ED
+ setvar VAR_0x8008, 24
+ goto BattleFrontier_Lounge7_EventScript_26564F
+ end
+
+BattleFrontier_Lounge7_EventScript_2653F8:: @ 82653F8
+ setvar VAR_0x8008, 24
+ goto BattleFrontier_Lounge7_EventScript_26564F
+ end
+
+BattleFrontier_Lounge7_EventScript_265403:: @ 8265403
+ setvar VAR_0x8008, 48
+ goto BattleFrontier_Lounge7_EventScript_26564F
+ end
+
+BattleFrontier_Lounge7_EventScript_26540E:: @ 826540E
+ setvar VAR_0x8008, 48
+ goto BattleFrontier_Lounge7_EventScript_26564F
+ end
+
+BattleFrontier_Lounge7_EventScript_265419:: @ 8265419
+ setvar VAR_0x8008, 48
+ goto BattleFrontier_Lounge7_EventScript_26564F
+ end
+
+BattleFrontier_Lounge7_EventScript_265424:: @ 8265424
+ setvar VAR_0x8008, 48
+ goto BattleFrontier_Lounge7_EventScript_26564F
+ end
+
+BattleFrontier_Lounge7_EventScript_26542F:: @ 826542F
+ setvar VAR_0x8008, 48
+ goto BattleFrontier_Lounge7_EventScript_26564F
+ end
+
+BattleFrontier_Lounge7_EventScript_26543A:: @ 826543A
+ setvar VAR_0x8008, 48
+ goto BattleFrontier_Lounge7_EventScript_26564F
+ end
+
+BattleFrontier_Lounge7_EventScript_265445:: @ 8265445
+ lock
+ faceplayer
+ setvar VAR_0x400C, 10
+ checkflag FLAG_0x15B
+ goto_eq BattleFrontier_Lounge7_EventScript_265466
+ msgbox BattleFrontier_Lounge7_Text_265A6C, 4
+ setflag FLAG_0x15B
+ goto BattleFrontier_Lounge7_EventScript_265474
+ end
+
+BattleFrontier_Lounge7_EventScript_265466:: @ 8265466
+ msgbox BattleFrontier_Lounge7_Text_265C2C, 4
+ goto BattleFrontier_Lounge7_EventScript_265474
+ end
+
+BattleFrontier_Lounge7_EventScript_265474:: @ 8265474
+ message BattleFrontier_Lounge7_Text_2658EF
+ waitmessage
+ special sub_813A958
+ setvar VAR_0x400E, 1
+ setvar VAR_0x8004, 10
+ setvar VAR_0x8006, 0
+ special sub_813A128
+ waitstate
+ copyvar VAR_0x400D, VAR_RESULT
+ switch VAR_RESULT
+ case 0, BattleFrontier_Lounge7_EventScript_2655C7
+ case 1, BattleFrontier_Lounge7_EventScript_2655D2
+ case 2, BattleFrontier_Lounge7_EventScript_2655DD
+ case 3, BattleFrontier_Lounge7_EventScript_2655E8
+ case 4, BattleFrontier_Lounge7_EventScript_2655F3
+ case 5, BattleFrontier_Lounge7_EventScript_2655FE
+ case 6, BattleFrontier_Lounge7_EventScript_265609
+ case 7, BattleFrontier_Lounge7_EventScript_265614
+ case 8, BattleFrontier_Lounge7_EventScript_26561F
+ case 9, BattleFrontier_Lounge7_EventScript_26562A
+ case 10, BattleFrontier_Lounge7_EventScript_265635
+ case 127, BattleFrontier_Lounge7_EventScript_265635
+ end
+
+BattleFrontier_Lounge7_EventScript_26551F:: @ 826551F
+ message BattleFrontier_Lounge7_Text_2658EF
+ waitmessage
+ setvar VAR_0x400E, 1
+ setvar VAR_0x8004, 10
+ setvar VAR_0x8006, 1
+ special sub_813A128
+ waitstate
+ copyvar VAR_0x400D, VAR_RESULT
+ switch VAR_RESULT
+ case 0, BattleFrontier_Lounge7_EventScript_2655C7
+ case 1, BattleFrontier_Lounge7_EventScript_2655D2
+ case 2, BattleFrontier_Lounge7_EventScript_2655DD
+ case 3, BattleFrontier_Lounge7_EventScript_2655E8
+ case 4, BattleFrontier_Lounge7_EventScript_2655F3
+ case 5, BattleFrontier_Lounge7_EventScript_2655FE
+ case 6, BattleFrontier_Lounge7_EventScript_265609
+ case 7, BattleFrontier_Lounge7_EventScript_265614
+ case 8, BattleFrontier_Lounge7_EventScript_26561F
+ case 9, BattleFrontier_Lounge7_EventScript_26562A
+ case 10, BattleFrontier_Lounge7_EventScript_265635
+ case 127, BattleFrontier_Lounge7_EventScript_265635
+ end
+
+BattleFrontier_Lounge7_EventScript_2655C7:: @ 82655C7
+ setvar VAR_0x8008, 16
+ goto BattleFrontier_Lounge7_EventScript_26564F
+ end
+
+BattleFrontier_Lounge7_EventScript_2655D2:: @ 82655D2
+ setvar VAR_0x8008, 24
+ goto BattleFrontier_Lounge7_EventScript_26564F
+ end
+
+BattleFrontier_Lounge7_EventScript_2655DD:: @ 82655DD
+ setvar VAR_0x8008, 24
+ goto BattleFrontier_Lounge7_EventScript_26564F
+ end
+
+BattleFrontier_Lounge7_EventScript_2655E8:: @ 82655E8
+ setvar VAR_0x8008, 24
+ goto BattleFrontier_Lounge7_EventScript_26564F
+ end
+
+BattleFrontier_Lounge7_EventScript_2655F3:: @ 82655F3
+ setvar VAR_0x8008, 24
+ goto BattleFrontier_Lounge7_EventScript_26564F
+ end
+
+BattleFrontier_Lounge7_EventScript_2655FE:: @ 82655FE
+ setvar VAR_0x8008, 48
+ goto BattleFrontier_Lounge7_EventScript_26564F
+ end
+
+BattleFrontier_Lounge7_EventScript_265609:: @ 8265609
+ setvar VAR_0x8008, 48
+ goto BattleFrontier_Lounge7_EventScript_26564F
+ end
+
+BattleFrontier_Lounge7_EventScript_265614:: @ 8265614
+ setvar VAR_0x8008, 48
+ goto BattleFrontier_Lounge7_EventScript_26564F
+ end
+
+BattleFrontier_Lounge7_EventScript_26561F:: @ 826561F
+ setvar VAR_0x8008, 48
+ goto BattleFrontier_Lounge7_EventScript_26564F
+ end
+
+BattleFrontier_Lounge7_EventScript_26562A:: @ 826562A
+ setvar VAR_0x8008, 48
+ goto BattleFrontier_Lounge7_EventScript_26564F
+ end
+
+BattleFrontier_Lounge7_EventScript_265635:: @ 8265635
+ special sub_813ADB8
+ special sub_813A988
+ msgbox BattleFrontier_Lounge7_Text_265A0E, 4
+ release
+ end
+
+BattleFrontier_Lounge7_EventScript_265645:: @ 8265645
+ msgbox BattleFrontier_Lounge7_Text_265A0E, 4
+ release
+ end
+
+BattleFrontier_Lounge7_EventScript_26564F:: @ 826564F
+ copyvar VAR_0x8004, VAR_0x400D
+ copyvar VAR_0x8005, VAR_0x400E
+ special sub_813AC7C
+ buffernumberstring 1, VAR_0x8008
+ copyvar VAR_0x8004, VAR_0x400C
+ msgbox BattleFrontier_Lounge7_Text_265921, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_Lounge7_EventScript_2656CA
+ specialvar VAR_0x4001, sub_813AA04
+ compare_var_to_var VAR_0x4001, VAR_0x8008
+ goto_if 4, BattleFrontier_Lounge7_EventScript_265696
+ msgbox BattleFrontier_Lounge7_Text_265997, 4
+ goto BattleFrontier_Lounge7_EventScript_2656CA
+ end
+
+BattleFrontier_Lounge7_EventScript_265696:: @ 8265696
+ msgbox BattleFrontier_Lounge7_Text_26595A, 4
+ special sub_813AEB4
+ fadescreen 1
+ special sub_813A988
+ special sub_813ADB8
+ special sub_81B892C
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_Lounge7_EventScript_265645
+ msgbox BattleFrontier_Lounge7_Text_2659C7, 4
+ copyvar VAR_0x8004, VAR_0x8008
+ special sub_813A9A4
+ release
+ end
+
+BattleFrontier_Lounge7_EventScript_2656CA:: @ 82656CA
+ compare_var_to_value VAR_0x400E, 0
+ goto_eq BattleFrontier_Lounge7_EventScript_26532F
+ goto BattleFrontier_Lounge7_EventScript_26551F
+ end
+
+BattleFrontier_Lounge7_EventScript_2656DB:: @ 82656DB
+ msgbox BattleFrontier_Lounge7_Text_265C6F, 2
+ end
+
+BattleFrontier_Lounge7_EventScript_2656E4:: @ 82656E4
+ msgbox BattleFrontier_Lounge7_Text_265D17, 2
+ end
+
+BattleFrontier_Lounge7_Text_2656ED: @ 82656ED
+ .string "Buhahaha!\p"
+ .string "You couldn’t tell it from looking now,\n"
+ .string "but I used to be one tough TRAINER.\p"
+ .string "I had a reputation as the toughest\n"
+ .string "BEAUTY around, I tell you!\p"
+ .string "… … … … … …\p"
+ .string "What is it now?\n"
+ .string "You don’t believe me.\p"
+ .string "I’m not like that blowhard woman over\n"
+ .string "there. I’m actually talented!\p"
+ .string "Let me prove it to you.\n"
+ .string "I can teach your POKéMON special and\l"
+ .string "yet cute moves.\p"
+ .string "But my lessons don’t come free.\n"
+ .string "How about paying for the moves I teach\l"
+ .string "with a wee bit of Battle Points?$"
+
+BattleFrontier_Lounge7_Text_2658AB: @ 82658AB
+ .string "Buhahaha!\p"
+ .string "Are you back to learn special and\n"
+ .string "yet cute POKéMON moves?$"
+
+BattleFrontier_Lounge7_Text_2658EF: @ 82658EF
+ .string "Fine, fine, look here!\n"
+ .string "Which move should I teach?$"
+
+BattleFrontier_Lounge7_Text_265921: @ 8265921
+ .string "The move {STR_VAR_1}, is it?\n"
+ .string "That will be {STR_VAR_2} Battle Points, okay?$"
+
+BattleFrontier_Lounge7_Text_26595A: @ 826595A
+ .string "Fine, fine, now pick the POKéMON\n"
+ .string "I should teach the move to.$"
+
+BattleFrontier_Lounge7_Text_265997: @ 8265997
+ .string "What the…\n"
+ .string "You haven’t got enough Battle Points!$"
+
+BattleFrontier_Lounge7_Text_2659C7: @ 82659C7
+ .string "Do you see how skilled I am now?\n"
+ .string "I’ll take your Battle Points, thanks!$"
+
+BattleFrontier_Lounge7_Text_265A0E: @ 8265A0E
+ .string "What’s that?\n"
+ .string "You don’t want to…\p"
+ .string "If you want to see how skilled I am,\n"
+ .string "you come see me anytime!$"
+
+BattleFrontier_Lounge7_Text_265A6C: @ 8265A6C
+ .string "Ihihihi!\p"
+ .string "I know it’s hard to see now, but I used\n"
+ .string "to be one fantastic TRAINER.\p"
+ .string "I had a reputation as the most\n"
+ .string "invincible SWIMMER around, I tell you!\p"
+ .string "… … … … … …\p"
+ .string "What’s wrong?\n"
+ .string "You don’t believe me.\p"
+ .string "I’m not like that buffoonish woman over\n"
+ .string "there. I’m actually experienced!\p"
+ .string "I can prove it to you.\n"
+ .string "I can teach your POKéMON hard and\l"
+ .string "yet pretty moves.\p"
+ .string "But my lessons don’t come free.\n"
+ .string "How about paying for the moves I teach\l"
+ .string "with a wee bit of Battle Points?$"
+
+BattleFrontier_Lounge7_Text_265C2C: @ 8265C2C
+ .string "Ihihihi!\p"
+ .string "Have you come to learn hard and\n"
+ .string "yet pretty POKéMON moves?$"
+
+BattleFrontier_Lounge7_Text_265C6F: @ 8265C6F
+ .string "Those ladies, the way they bad-mouth\n"
+ .string "each other, you probably think that\l"
+ .string "they don’t get along.\p"
+ .string "But if that were true, they wouldn’t\n"
+ .string "stay out here together, would they?$"
+
+BattleFrontier_Lounge7_Text_265D17: @ 8265D17
+ .string "When I was just a wee YOUNGSTER,\n"
+ .string "those ladies were strong and beautiful.\p"
+ .string "They were idols among us TRAINERS.\p"
+ .string "Even now, age hasn’t dulled their\n"
+ .string "abilities.\p"
+ .string "In fact, their POKéMON moves have\n"
+ .string "grown even more polished.\p"
+ .string "But… For some reason, I can’t help\n"
+ .string "but feel this…\p"
+ .string "Time is so cruel…$"
+
+BattleFrontier_Lounge7_Text_265E30: @ 8265E30
+ .string "Recovers up to\n"
+ .string "half the user’s\n"
+ .string "maximum HP.$"
+
+BattleFrontier_Lounge7_Text_265E5B: @ 8265E5B
+ .string "Inflicts damage\n"
+ .string "identical to the\n"
+ .string "user’s level.$"
+
+BattleFrontier_Lounge7_Text_265E8A: @ 8265E8A
+ .string "Recovers half the\n"
+ .string "damage inflicted\n"
+ .string "on a sleeping foe.$"
+
+BattleFrontier_Lounge7_Text_265EC0: @ 8265EC0
+ .string "A strong punch\n"
+ .string "thrown with\n"
+ .string "incredible power.$"
+
+BattleFrontier_Lounge7_Text_265EED: @ 8265EED
+ .string "An extremely\n"
+ .string "powerful kick with\n"
+ .string "intense force.$"
+
+BattleFrontier_Lounge7_Text_265F1C: @ 8265F1C
+ .string "A full-body slam\n"
+ .string "that may cause\n"
+ .string "paralysis.$"
+
+BattleFrontier_Lounge7_Text_265F47: @ 8265F47
+ .string "Large boulders\n"
+ .string "are hurled. May\n"
+ .string "cause flinching.$"
+
+BattleFrontier_Lounge7_Text_265F77: @ 8265F77
+ .string "Retaliates any\n"
+ .string "physical hit with\n"
+ .string "double the power.$"
+
+BattleFrontier_Lounge7_Text_265FAA: @ 8265FAA
+ .string "A weak jolt of\n"
+ .string "electricity that\n"
+ .string "paralyzes the foe.$"
+
+BattleFrontier_Lounge7_Text_265FDD: @ 8265FDD
+ .string "A fighting dance\n"
+ .string "that sharply\n"
+ .string "raises ATTACK.$"
+
+BattleFrontier_Lounge7_Text_26600A: @ 826600A
+ .string "Curls up to con-\n"
+ .string "ceal weak spots\n"
+ .string "and raise DEFENSE.$"
+
+BattleFrontier_Lounge7_Text_26603E: @ 826603E
+ .string "A loud attack\n"
+ .string "that can be used\n"
+ .string "only while asleep.$"
+
+BattleFrontier_Lounge7_Text_266070: @ 8266070
+ .string "Hurls mud in the\n"
+ .string "foe’s face to re-\n"
+ .string "duce its accuracy.$"
+
+BattleFrontier_Lounge7_Text_2660A6: @ 82660A6
+ .string "Sprays star-\n"
+ .string "shaped rays\n"
+ .string "that never miss.$"
+
+BattleFrontier_Lounge7_Text_2660D0: @ 82660D0
+ .string "A chilling attack\n"
+ .string "that lowers the\n"
+ .string "foe’s SPEED.$"
+
+BattleFrontier_Lounge7_Text_2660FF: @ 82660FF
+ .string "Endures any at-\n"
+ .string "tack for 1 turn,\n"
+ .string "leaving 1HP.$"
+
+BattleFrontier_Lounge7_Text_26612D: @ 826612D
+ .string "Copies the foe’s\n"
+ .string "effect(s) and\n"
+ .string "gives to the user.$"
+
+BattleFrontier_Lounge7_Text_26615F: @ 826615F
+ .string "An icy punch\n"
+ .string "that may\n"
+ .string "freeze the foe.$"
+
+BattleFrontier_Lounge7_Text_266185: @ 8266185
+ .string "An electrified\n"
+ .string "punch that may\n"
+ .string "paralyze the foe.$"
+
+BattleFrontier_Lounge7_Text_2661B5: @ 82661B5
+ .string "A fiery punch\n"
+ .string "that may burn\n"
+ .string "the foe.$"
+
diff --git a/data/scripts/maps/BattleFrontier_Lounge8.inc b/data/scripts/maps/BattleFrontier_Lounge8.inc
new file mode 100644
index 000000000..35f83baff
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_Lounge8.inc
@@ -0,0 +1,45 @@
+BattleFrontier_Lounge8_MapScripts:: @ 82676C9
+ .byte 0
+
+BattleFrontier_Lounge8_EventScript_2676CA:: @ 82676CA
+ msgbox BattleFrontier_Lounge8_Text_2676E5, 2
+ end
+
+BattleFrontier_Lounge8_EventScript_2676D3:: @ 82676D3
+ msgbox BattleFrontier_Lounge8_Text_26779C, 2
+ end
+
+BattleFrontier_Lounge8_EventScript_2676DC:: @ 82676DC
+ msgbox BattleFrontier_Lounge8_Text_26782C, 2
+ end
+
+BattleFrontier_Lounge8_Text_2676E5: @ 82676E5
+ .string "What a TRAINER needs…\p"
+ .string "Knowledge…\n"
+ .string "Strategy…\l"
+ .string "Luck…\l"
+ .string "Guts…\l"
+ .string "Spirit…\l"
+ .string "Bravery…\l"
+ .string "And ability…\p"
+ .string "Well, I’m all set in every way!\n"
+ .string "I’ll be unstoppable at every building!\p"
+ .string "Huh? POKéMON?\n"
+ .string "What’s that?$"
+
+BattleFrontier_Lounge8_Text_26779C: @ 826779C
+ .string "Do you know about the FRONTIER\n"
+ .string "BRAINS?\p"
+ .string "That’s what SCOTT calls the seven\n"
+ .string "special TRAINERS that run the seven\l"
+ .string "facilities in the BATTLE FRONTIER.$"
+
+BattleFrontier_Lounge8_Text_26782C: @ 826782C
+ .string "At the BATTLE TOWER, an older girl\n"
+ .string "told me that I have a lot of talent\l"
+ .string "for battling!\p"
+ .string "I like POKéMON CONTESTS more!\p"
+ .string "But I’m no good at CONTESTS!\p"
+ .string "I guess having talent and liking\n"
+ .string "something aren’t the same.$"
+
diff --git a/data/scripts/maps/BattleFrontier_Lounge9.inc b/data/scripts/maps/BattleFrontier_Lounge9.inc
new file mode 100644
index 000000000..cba75ee77
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_Lounge9.inc
@@ -0,0 +1,3 @@
+BattleFrontier_Lounge9_MapScripts:: @ 82678F8
+ .byte 0
+
diff --git a/data/scripts/maps/BattleFrontier_Mart.inc b/data/scripts/maps/BattleFrontier_Mart.inc
new file mode 100644
index 000000000..0b7f5b767
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_Mart.inc
@@ -0,0 +1,67 @@
+BattleFrontier_Mart_MapScripts:: @ 8267ACB
+ .byte 0
+
+BattleFrontier_Mart_EventScript_267ACC:: @ 8267ACC
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemart BattleFrontier_Mart_Pokemart_267AE4
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+BattleFrontier_Mart_Pokemart_267AE4: @ 8267AE4
+ .2byte ITEM_ULTRA_BALL
+ .2byte ITEM_HYPER_POTION
+ .2byte ITEM_MAX_POTION
+ .2byte ITEM_FULL_RESTORE
+ .2byte ITEM_FULL_HEAL
+ .2byte ITEM_REVIVE
+ .2byte ITEM_MAX_REPEL
+ .2byte ITEM_PROTEIN
+ .2byte ITEM_CALCIUM
+ .2byte ITEM_IRON
+ .2byte ITEM_ZINC
+ .2byte ITEM_CARBOS
+ .2byte ITEM_HP_UP
+ .2byte ITEM_NONE
+ release
+ end
+
+BattleFrontier_Mart_EventScript_267B02:: @ 8267B02
+ msgbox BattleFrontier_Mart_Text_267B29, 2
+ end
+
+BattleFrontier_Mart_EventScript_267B0B:: @ 8267B0B
+ lock
+ applymovement 2, BattleFrontier_Mart_Movement_2725B0
+ waitmovement 0
+ msgbox BattleFrontier_Mart_Text_267B8F, 4
+ release
+ end
+
+BattleFrontier_Mart_EventScript_267B20:: @ 8267B20
+ msgbox BattleFrontier_Mart_Text_267C01, 2
+ end
+
+BattleFrontier_Mart_Text_267B29: @ 8267B29
+ .string "We came here to chaperon our\n"
+ .string "grandson.\p"
+ .string "But since we’re here, we thought\n"
+ .string "we should get some souvenirs.$"
+
+BattleFrontier_Mart_Text_267B8F: @ 8267B8F
+ .string "Dear, what do you think of this?\n"
+ .string "Wouldn’t this make a nice gift?\p"
+ .string "It’s…PRO…TE…IN?\n"
+ .string "It sounds delicious, doesn’t it?$"
+
+BattleFrontier_Mart_Text_267C01: @ 8267C01
+ .string "A lot of the BATTLE FRONTIER’s\n"
+ .string "facilities don’t allow the use of items\l"
+ .string "during battles.\p"
+ .string "That rule makes things tougher than\n"
+ .string "they already are!$"
+
diff --git a/data/scripts/maps/BattleFrontier_OutsideEast.inc b/data/scripts/maps/BattleFrontier_OutsideEast.inc
new file mode 100644
index 000000000..d1dc4d8e2
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_OutsideEast.inc
@@ -0,0 +1,444 @@
+BattleFrontier_OutsideEast_MapScripts:: @ 8242C04
+ map_script 5, BattleFrontier_OutsideEast_MapScript1_242C0F
+ map_script 3, BattleFrontier_OutsideEast_MapScript1_242C2D
+ .byte 0
+
+BattleFrontier_OutsideEast_MapScript1_242C0F: @ 8242C0F
+ checkflag FLAG_SYS_CTRL_OBJ_DELETE
+ call_if 1, BattleFrontier_OutsideEast_EventScript_242C19
+ end
+
+BattleFrontier_OutsideEast_EventScript_242C19:: @ 8242C19
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 7
+ goto_if 5, BattleFrontier_OutsideEast_EventScript_27374E
+ removeobject VAR_LAST_TALKED
+ return
+
+BattleFrontier_OutsideEast_MapScript1_242C2D: @ 8242C2D
+ setvar VAR_0x40BC, 0
+ setflag FLAG_0x396
+ checkflag FLAG_0x1C6
+ call_if 0, BattleFrontier_OutsideEast_EventScript_242C3F
+ end
+
+BattleFrontier_OutsideEast_EventScript_242C3F:: @ 8242C3F
+ clearflag FLAG_0x34A
+ return
+
+BattleFrontier_OutsideEast_EventScript_242C43:: @ 8242C43
+ msgbox BattleFrontier_OutsideEast_Text_242E11, 3
+ end
+
+BattleFrontier_OutsideEast_EventScript_242C4C:: @ 8242C4C
+ msgbox BattleFrontier_OutsideEast_Text_242E58, 3
+ end
+
+BattleFrontier_OutsideEast_EventScript_242C55:: @ 8242C55
+ msgbox BattleFrontier_OutsideEast_Text_242E96, 3
+ end
+
+BattleFrontier_OutsideEast_EventScript_242C5E:: @ 8242C5E
+ msgbox BattleFrontier_OutsideEast_Text_242ECF, 3
+ end
+
+BattleFrontier_OutsideEast_EventScript_242C67:: @ 8242C67
+ msgbox BattleFrontier_OutsideEast_Text_242F8C, 2
+ end
+
+BattleFrontier_OutsideEast_EventScript_242C70:: @ 8242C70
+ msgbox BattleFrontier_OutsideEast_Text_242FDC, 2
+ end
+
+BattleFrontier_OutsideEast_EventScript_242C79:: @ 8242C79
+ msgbox BattleFrontier_OutsideEast_Text_24308C, 2
+ end
+
+BattleFrontier_OutsideEast_EventScript_242C82:: @ 8242C82
+ msgbox BattleFrontier_OutsideEast_Text_243106, 2
+ end
+
+BattleFrontier_OutsideEast_EventScript_242C8B:: @ 8242C8B
+ msgbox BattleFrontier_OutsideEast_Text_2431A5, 2
+ end
+
+BattleFrontier_OutsideEast_EventScript_242C94:: @ 8242C94
+ lock
+ msgbox BattleFrontier_OutsideEast_Text_2432DD, 4
+ release
+ end
+
+BattleFrontier_OutsideEast_EventScript_242C9F:: @ 8242C9F
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_ZIGZAGOON, 0
+ msgbox BattleFrontier_OutsideEast_Text_24334B, 4
+ waitmoncry
+ release
+ end
+
+BattleFrontier_OutsideEast_EventScript_242CB2:: @ 8242CB2
+ msgbox BattleFrontier_OutsideEast_Text_243363, 2
+ end
+
+BattleFrontier_OutsideEast_EventScript_242CBB:: @ 8242CBB
+ msgbox BattleFrontier_OutsideEast_Text_243425, 2
+ end
+
+BattleFrontier_OutsideEast_EventScript_242CC4:: @ 8242CC4
+ msgbox BattleFrontier_OutsideEast_Text_2434A0, 2
+ end
+
+BattleFrontier_OutsideEast_EventScript_242CCD:: @ 8242CCD
+ msgbox BattleFrontier_OutsideEast_Text_243504, 2
+ end
+
+BattleFrontier_OutsideEast_EventScript_242CD6:: @ 8242CD6
+ lock
+ msgbox BattleFrontier_OutsideEast_Text_243529, 4
+ release
+ end
+
+BattleFrontier_OutsideEast_EventScript_242CE1:: @ 8242CE1
+ msgbox BattleFrontier_OutsideEast_Text_243230, 2
+ end
+
+BattleFrontier_OutsideEast_EventScript_242CEA:: @ 8242CEA
+ lock
+ faceplayer
+ waitse
+ playse 269
+ applymovement 14, BattleFrontier_OutsideEast_Movement_242D69
+ waitmovement 0
+ release
+ end
+
+BattleFrontier_OutsideEast_EventScript_242CFC:: @ 8242CFC
+ lock
+ faceplayer
+ special sub_80FAFF8
+ waitstate
+ waitse
+ playse 269
+ applymovement 14, BattleFrontier_OutsideEast_Movement_242D69
+ waitmovement 0
+ msgbox gUnknown_082731BD, 4
+ closemessage
+ waitse
+ playmoncry SPECIES_SUDOWOODO, 2
+ delay 40
+ waitmoncry
+ setvar VAR_LAST_TALKED, 14
+ setwildbattle SPECIES_SUDOWOODO, 40, ITEM_NONE
+ setflag FLAG_SYS_CTRL_OBJ_DELETE
+ dowildbattle
+ clearflag FLAG_SYS_CTRL_OBJ_DELETE
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_OutsideEast_EventScript_242D60
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq BattleFrontier_OutsideEast_EventScript_242D60
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq BattleFrontier_OutsideEast_EventScript_242D60
+ setflag FLAG_0x1C6
+ release
+ end
+
+BattleFrontier_OutsideEast_EventScript_242D60:: @ 8242D60
+ setflag FLAG_0x1C6
+ goto IslandCave_EventScript_27376D
+ end
+
+BattleFrontier_OutsideEast_Movement_242D69: @ 8242D69
+ step_03
+ step_13
+ step_00
+ step_13
+ step_02
+ step_13
+ step_00
+ step_13
+ step_03
+ step_13
+ step_00
+ step_13
+ step_02
+ step_13
+ step_00
+ step_end
+
+BattleFrontier_OutsideEast_EventScript_242D79:: @ 8242D79
+ msgbox BattleFrontier_OutsideEast_Text_243598, 2
+ end
+
+BattleFrontier_OutsideEast_EventScript_242D82:: @ 8242D82
+ msgbox BattleFrontier_OutsideEast_Text_243668, 2
+ end
+
+BattleFrontier_OutsideEast_EventScript_242D8B:: @ 8242D8B
+ msgbox BattleFrontier_OutsideEast_Text_2436F2, 2
+ end
+
+BattleFrontier_OutsideEast_EventScript_242D94:: @ 8242D94
+ msgbox BattleFrontier_OutsideEast_Text_243809, 2
+ end
+
+BattleFrontier_OutsideEast_EventScript_242D9D:: @ 8242D9D
+ msgbox BattleFrontier_OutsideEast_Text_243895, 2
+ end
+
+BattleFrontier_OutsideEast_EventScript_242DA6:: @ 8242DA6
+ msgbox BattleFrontier_OutsideEast_Text_243943, 2
+ end
+
+BattleFrontier_OutsideEast_EventScript_242DAF:: @ 8242DAF
+ msgbox BattleFrontier_OutsideEast_Text_2439A0, 2
+ end
+
+BattleFrontier_OutsideEast_EventScript_242DB8:: @ 8242DB8
+ lock
+ msgbox BattleFrontier_OutsideEast_Text_243A2B, 4
+ release
+ end
+
+BattleFrontier_OutsideEast_EventScript_242DC3:: @ 8242DC3
+ lock
+ msgbox BattleFrontier_OutsideEast_Text_243A53, 4
+ release
+ end
+
+BattleFrontier_OutsideEast_EventScript_242DCE:: @ 8242DCE
+ msgbox BattleFrontier_OutsideEast_Text_242F0D, 3
+ end
+
+BattleFrontier_OutsideEast_EventScript_242DD7:: @ 8242DD7
+ msgbox BattleFrontier_OutsideEast_Text_242F4A, 3
+ end
+
+BattleFrontier_OutsideEast_EventScript_242DE0:: @ 8242DE0
+ msgbox BattleFrontier_OutsideEast_Text_243B68, 2
+ end
+
+BattleFrontier_OutsideEast_EventScript_242DE9:: @ 8242DE9
+ lock
+ faceplayer
+ checkflag FLAG_0x1C6
+ goto_eq BattleFrontier_OutsideEast_EventScript_242DFE
+ msgbox BattleFrontier_OutsideEast_Text_243C2C, 4
+ release
+ end
+
+BattleFrontier_OutsideEast_EventScript_242DFE:: @ 8242DFE
+ msgbox BattleFrontier_OutsideEast_Text_243CA3, 4
+ release
+ end
+
+BattleFrontier_OutsideEast_EventScript_242E08:: @ 8242E08
+ msgbox BattleFrontier_OutsideEast_Text_243D0B, 2
+ end
+
+BattleFrontier_OutsideEast_Text_242E11: @ 8242E11
+ .string "This is the BATTLE TOWER!\n"
+ .string "Keep the win streak as the toughest\l"
+ .string "TRAINER!$"
+
+BattleFrontier_OutsideEast_Text_242E58: @ 8242E58
+ .string "This is the BATTLE PALACE!\n"
+ .string "Keep your eyes on POKéMON battles!$"
+
+BattleFrontier_OutsideEast_Text_242E96: @ 8242E96
+ .string "This is the BATTLE ARENA!\n"
+ .string "Let the toughest teams gather!$"
+
+BattleFrontier_OutsideEast_Text_242ECF: @ 8242ECF
+ .string "This is the BATTLE PYRAMID!\n"
+ .string "Advance through the Battle Quest!$"
+
+BattleFrontier_OutsideEast_Text_242F0D: @ 8242F0D
+ .string "BATTLE FRONTIER RANKING HALL\n"
+ .string "Set your sights on new records!$"
+
+BattleFrontier_OutsideEast_Text_242F4A: @ 8242F4A
+ .string "BATTLE POINT EXCHANGE SERVICE CORNER\n"
+ .string "Exchange your Battle Points!$"
+
+BattleFrontier_OutsideEast_Text_242F8C: @ 8242F8C
+ .string "Wow!\n"
+ .string "It’s huge!\p"
+ .string "The BATTLE TOWER feels special.\n"
+ .string "It’s different from the others.$"
+
+BattleFrontier_OutsideEast_Text_242FDC: @ 8242FDC
+ .string "My grand ambition is to conquer both\n"
+ .string "the BATTLE FRONTIER and the POKéMON\l"
+ .string "LEAGUE.\p"
+ .string "And if my dream comes true…\p"
+ .string "I… I’m going to ask MIMI next door\n"
+ .string "if she will be friends with me!$"
+
+BattleFrontier_OutsideEast_Text_24308C: @ 824308C
+ .string "The BATTLE PYRAMID’s too harsh!\n"
+ .string "I just can’t make it to the top!\p"
+ .string "Since I’m out of options, maybe I can\n"
+ .string "climb the outside…$"
+
+BattleFrontier_OutsideEast_Text_243106: @ 8243106
+ .string "I thrive in darkness…\n"
+ .string "Yes… What is worthy of me?\l"
+ .string "None other than the BATTLE PYRAMID…\p"
+ .string "What say you to wandering in darkness\n"
+ .string "and in utter and total desperation?$"
+
+BattleFrontier_OutsideEast_Text_2431A5: @ 82431A5
+ .string "I didn’t sleep for a week, but then\n"
+ .string "I put together the ultimate team!\p"
+ .string "I can’t see myself losing, no joke.\n"
+ .string "We’re storming the BATTLE ARENA!$"
+
+BattleFrontier_OutsideEast_Text_243230: @ 8243230
+ .string "Did SCOTT bring you here, too?\n"
+ .string "What is it with that guy?\p"
+ .string "It sounds like he really does know\n"
+ .string "how to spot talented TRAINERS, but…\p"
+ .string "I’ve never seen him battling in person\n"
+ .string "ever.$"
+
+BattleFrontier_OutsideEast_Text_2432DD: @ 82432DD
+ .string "ZIGG!\n"
+ .string "I believe in you, little buddy!\p"
+ .string "I’ll make my little ZIGG any favorite\n"
+ .string "tasty treats you like if you win!$"
+
+BattleFrontier_OutsideEast_Text_24334B: @ 824334B
+ .string "ZIGZAGOON looks vacant…$"
+
+BattleFrontier_OutsideEast_Text_243363: @ 8243363
+ .string "People call me a busybody,\n"
+ .string "but I can’t help it.\p"
+ .string "Your hat’s on crooked!\n"
+ .string "Oh, no, trash on the ground!\l"
+ .string "Oops, it’s almost dinnertime!\p"
+ .string "I don’t know if I can stand to just\n"
+ .string "watch at the BATTLE PALACE…$"
+
+BattleFrontier_OutsideEast_Text_243425: @ 8243425
+ .string "I may not look that impressive now,\n"
+ .string "but I once beat a GYM LEADER.\p"
+ .string "Who knows, maybe I should give it\n"
+ .string "another shot at glory.$"
+
+BattleFrontier_OutsideEast_Text_2434A0: @ 82434A0
+ .string "I’m fast on my BIKE, and that goes for\n"
+ .string "the way I battle, too.\p"
+ .string "I win matches in the blink of\n"
+ .string "an eye!$"
+
+BattleFrontier_OutsideEast_Text_243504: @ 8243504
+ .string "I’m better than my daddy\n"
+ .string "at POKéMON.$"
+
+BattleFrontier_OutsideEast_Text_243529: @ 8243529
+ .string "Go on, my baby sweetie!\n"
+ .string "Go rack up some wins for Daddy!\p"
+ .string "You’re just like your mother,\n"
+ .string "so you’ll be dominating!$"
+
+BattleFrontier_OutsideEast_Text_243598: @ 8243598
+ .string "It wasn’t easy getting here,\n"
+ .string "but I’d heard about this knockout\l"
+ .string "pretty girl at the BATTLE ARENA.\p"
+ .string "Instead of her, do you know what\n"
+ .string "I found?\p"
+ .string "A whole teeming mob of sweaty,\n"
+ .string "stinky, and primitive martial artists!$"
+
+BattleFrontier_OutsideEast_Text_243668: @ 8243668
+ .string "I sometimes see this really important-\n"
+ .string "looking old man going in there.\p"
+ .string "He has these really awesome POKéMON.\n"
+ .string "He seems really nice, though.$"
+
+BattleFrontier_OutsideEast_Text_2436F2: @ 82436F2
+ .string "Do you know it?\n"
+ .string "The legend of the BATTLE PYRAMID?\p"
+ .string "When there comes a confident TRAINER\n"
+ .string "reaching for the golden pinnacle,\l"
+ .string "there shall appear a man among men.\p"
+ .string "Don’t know that legend?\n"
+ .string "Well, of course not!\l"
+ .string "I just made it up!\p"
+ .string "What’s it supposed to mean?\n"
+ .string "That, my friend, I can’t say!$"
+
+BattleFrontier_OutsideEast_Text_243809: @ 8243809
+ .string "Man! Oh man!\n"
+ .string "I’ve never lost once before!\p"
+ .string "But I got wiped out with no saving\n"
+ .string "grace at all!\p"
+ .string "And then I’m told I don’t have any\n"
+ .string "talent?! Man!$"
+
+BattleFrontier_OutsideEast_Text_243895: @ 8243895
+ .string "This guy ran into a horribly tough\n"
+ .string "TRAINER while he was on the BATTLE\l"
+ .string "TOWER challenge.\p"
+ .string "Now look at him…\p"
+ .string "You need to be cautious if you ever\n"
+ .string "decide to go to the BATTLE TOWER.$"
+
+BattleFrontier_OutsideEast_Text_243943: @ 8243943
+ .string "Yes!\n"
+ .string "I’ve finally got enough Battle Points!\p"
+ .string "I guess I’ll trade for another giant\n"
+ .string "plush DOLL!$"
+
+BattleFrontier_OutsideEast_Text_2439A0: @ 82439A0
+ .string "Oh, yeah, okay!\n"
+ .string "So this is the RANKING HALL!\p"
+ .string "I’d like to go down in history as\n"
+ .string "a super champ and have my name\l"
+ .string "recorded here for posterity.$"
+
+BattleFrontier_OutsideEast_Text_243A2B: @ 8243A2B
+ .string "With you by my side, I can do anything.$"
+
+BattleFrontier_OutsideEast_Text_243A53: @ 8243A53
+ .string "Ooh, darling, you are so wonderful!\p"
+ .string "Ooh, I just can’t wait anymore!\p"
+ .string "Let’s go to a MULTI BATTLE ROOM\n"
+ .string "right this instant!\p"
+ .string "If we get together in the BATTLE SALON,\n"
+ .string "the power of our love will overcome\l"
+ .string "everyone we meet.\p"
+ .string "Why, before us, darling, everything\n"
+ .string "will topple like dominoes!$"
+
+BattleFrontier_OutsideEast_Text_243B68: @ 8243B68
+ .string "The BATTLE FRONTIER isn’t exclusively\n"
+ .string "for tough TRAINERS.\p"
+ .string "Many people with special abilities\n"
+ .string "have been invited, it seems.\p"
+ .string "That man SCOTT…\p"
+ .string "He may have built this place to serve\n"
+ .string "a bigger objective…$"
+
+BattleFrontier_OutsideEast_Text_243C2C: @ 8243C2C
+ .string "Excuse me, young one.\n"
+ .string "Have you good eyesight?\p"
+ .string "There is an odd tree past here, and to\n"
+ .string "my tired eyes it seems to wiggle.$"
+
+BattleFrontier_OutsideEast_Text_243CA3: @ 8243CA3
+ .string "Excuse me, young one.\n"
+ .string "Have you a good memory?\p"
+ .string "I have this feeling there once was\n"
+ .string "an odd tree past here.$"
+
+BattleFrontier_OutsideEast_Text_243D0B: @ 8243D0B
+ .string "I…\n"
+ .string "I saw it!\p"
+ .string "There was a sticky sort of a POKéMON\n"
+ .string "with a long tail up ahead!\p"
+ .string "It was hiding under a boulder, and\n"
+ .string "it kept staring at me!$"
diff --git a/data/scripts/maps/BattleFrontier_OutsideWest.inc b/data/scripts/maps/BattleFrontier_OutsideWest.inc
new file mode 100644
index 000000000..f35e5320e
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_OutsideWest.inc
@@ -0,0 +1,526 @@
+BattleFrontier_OutsideWest_MapScripts:: @ 823D3E1
+ map_script 3, BattleFrontier_OutsideWest_MapScript1_23D3E7
+ .byte 0
+
+BattleFrontier_OutsideWest_MapScript1_23D3E7: @ 823D3E7
+ setvar VAR_0x40BC, 0
+ setflag FLAG_0x396
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D3F0:: @ 823D3F0
+ lock
+ faceplayer
+ msgbox BattleFrontier_OutsideWest_Text_23D808, 4
+ checkitem ITEM_SS_TICKET, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_OutsideWest_EventScript_23D44E
+ message BattleFrontier_OutsideWest_Text_23D89D
+ waitmessage
+ goto BattleFrontier_OutsideWest_EventScript_23D416
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D416:: @ 823D416
+ multichoicedefault 18, 6, 53, 2, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_OutsideWest_EventScript_23D458
+ case 1, BattleFrontier_OutsideWest_EventScript_23D483
+ case 2, BattleFrontier_OutsideWest_EventScript_23D4D8
+ case 127, BattleFrontier_OutsideWest_EventScript_23D4D8
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D44E:: @ 823D44E
+ msgbox BattleFrontier_OutsideWest_Text_23D842, 4
+ release
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D458:: @ 823D458
+ msgbox BattleFrontier_OutsideWest_Text_23D8F2, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_OutsideWest_EventScript_23D4AE
+ msgbox BattleFrontier_OutsideWest_Text_23D94B, 4
+ call BattleFrontier_OutsideWest_EventScript_23D4BA
+ warp SLATEPORT_CITY_HARBOR, 255, 8, 11
+ waitstate
+ release
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D483:: @ 823D483
+ msgbox BattleFrontier_OutsideWest_Text_23D90E, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_OutsideWest_EventScript_23D4AE
+ msgbox BattleFrontier_OutsideWest_Text_23D94B, 4
+ call BattleFrontier_OutsideWest_EventScript_23D4BA
+ warp LILYCOVE_CITY_HARBOR, 255, 8, 11
+ waitstate
+ release
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D4AE:: @ 823D4AE
+ message BattleFrontier_OutsideWest_Text_23D97A
+ waitmessage
+ goto BattleFrontier_OutsideWest_EventScript_23D416
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D4BA:: @ 823D4BA
+ closemessage
+ applymovement VAR_LAST_TALKED, BattleFrontier_OutsideWest_Movement_2725AA
+ waitmovement 0
+ delay 30
+ hideobjectat 3, BATTLE_FRONTIER_OUTSIDE_WEST
+ setvar VAR_0x8004, 2
+ call BattleFrontier_OutsideWest_EventScript_272250
+ return
+
+BattleFrontier_OutsideWest_EventScript_23D4D8:: @ 823D4D8
+ msgbox BattleFrontier_OutsideWest_Text_23D929, 4
+ release
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D4E2:: @ 823D4E2
+ msgbox BattleFrontier_OutsideWest_Text_23D6F7, 3
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D4EB:: @ 823D4EB
+ msgbox BattleFrontier_OutsideWest_Text_23D737, 3
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D4F4:: @ 823D4F4
+ msgbox BattleFrontier_OutsideWest_Text_23D772, 3
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D4FD:: @ 823D4FD
+ msgbox BattleFrontier_OutsideWest_Text_23D7A6, 2
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D506:: @ 823D4FD
+ msgbox BattleFrontier_OutsideWest_Text_23D9DD, 2
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D50F:: @ 823D50F
+ msgbox BattleFrontier_OutsideWest_Text_23D99C, 2
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D518:: @ 823D518
+ lock
+ faceplayer
+ message BattleFrontier_OutsideWest_Text_23DA60
+ waitmessage
+ applymovement 18, BattleFrontier_OutsideWest_Movement_2725A0
+ waitmovement 0
+ waitbuttonpress
+ release
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D52D:: @ 823D52D
+ msgbox BattleFrontier_OutsideWest_Text_23DABF, 2
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D536:: @ 823D536
+ lock
+ goto BattleFrontier_OutsideWest_EventScript_23D544
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D53D:: @ 823D53D
+ lock
+ goto BattleFrontier_OutsideWest_EventScript_23D544
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D544:: @ 823D544
+ applymovement 9, BattleFrontier_OutsideWest_Movement_2725A8
+ waitmovement 0
+ msgbox BattleFrontier_OutsideWest_Text_23DB7D, 4
+ applymovement 10, BattleFrontier_OutsideWest_Movement_2725A4
+ waitmovement 0
+ msgbox BattleFrontier_OutsideWest_Text_23DBCE, 4
+ closemessage
+ delay 25
+ applymovement 9, BattleFrontier_OutsideWest_Movement_2725A6
+ applymovement 10, BattleFrontier_OutsideWest_Movement_2725A6
+ waitmovement 0
+ release
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D57F:: @ 823D57F
+ lock
+ faceplayer
+ delay 20
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, BattleFrontier_OutsideWest_EventScript_23D5BA
+ compare_var_to_value VAR_FACING, 1
+ call_if 1, BattleFrontier_OutsideWest_EventScript_23D5C5
+ compare_var_to_value VAR_FACING, 3
+ call_if 1, BattleFrontier_OutsideWest_EventScript_23D5BA
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, BattleFrontier_OutsideWest_EventScript_23D5BA
+ msgbox BattleFrontier_OutsideWest_Text_23DC36, 4
+ release
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D5BA:: @ 823D5BA
+ applymovement 14, BattleFrontier_OutsideWest_Movement_2725A6
+ waitmovement 0
+ return
+
+BattleFrontier_OutsideWest_EventScript_23D5C5:: @ 823D5C5
+ return
+
+BattleFrontier_OutsideWest_EventScript_23D5C6:: @ 823D5C6
+ lock
+ faceplayer
+ message BattleFrontier_OutsideWest_Text_23DCB0
+ waitmessage
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, BattleFrontier_OutsideWest_EventScript_23D5FD
+ compare_var_to_value VAR_FACING, 1
+ call_if 1, BattleFrontier_OutsideWest_EventScript_23D608
+ compare_var_to_value VAR_FACING, 3
+ call_if 1, BattleFrontier_OutsideWest_EventScript_23D613
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, BattleFrontier_OutsideWest_EventScript_23D61E
+ waitbuttonpress
+ release
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D5FD:: @ 823D5FD
+ applymovement 12, BattleFrontier_OutsideWest_Movement_23D629
+ waitmovement 0
+ return
+
+BattleFrontier_OutsideWest_EventScript_23D608:: @ 823D608
+ applymovement 12, BattleFrontier_OutsideWest_Movement_23D62C
+ waitmovement 0
+ return
+
+BattleFrontier_OutsideWest_EventScript_23D613:: @ 823D613
+ applymovement 12, BattleFrontier_OutsideWest_Movement_23D62F
+ waitmovement 0
+ return
+
+BattleFrontier_OutsideWest_EventScript_23D61E:: @ 823D61E
+ applymovement 12, BattleFrontier_OutsideWest_Movement_23D632
+ waitmovement 0
+ return
+
+BattleFrontier_OutsideWest_Movement_23D629: @ 823D629
+ step_25
+ step_25
+ step_end
+
+BattleFrontier_OutsideWest_Movement_23D62C: @ 823D62C
+ step_26
+ step_26
+ step_end
+
+BattleFrontier_OutsideWest_Movement_23D62F: @ 823D62F
+ step_28
+ step_28
+ step_end
+
+BattleFrontier_OutsideWest_Movement_23D632: @ 823D632
+ step_27
+ step_27
+ step_end
+
+BattleFrontier_OutsideWest_EventScript_23D635:: @ 823D635
+ lock
+ faceplayer
+ msgbox BattleFrontier_OutsideWest_Text_23DD3B, 4
+ random 2
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_OutsideWest_EventScript_23D653
+ goto BattleFrontier_OutsideWest_EventScript_23D65D
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D653:: @ 823D653
+ msgbox BattleFrontier_OutsideWest_Text_23DD7A, 4
+ release
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D65D:: @ 823D65D
+ msgbox BattleFrontier_OutsideWest_Text_23DDAD, 4
+ release
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D667:: @ 823D667
+ msgbox BattleFrontier_OutsideWest_Text_23DE15, 2
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D670:: @ 823D670
+ msgbox BattleFrontier_OutsideWest_Text_23DF7D, 2
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D679:: @ 823D679
+ msgbox BattleFrontier_OutsideWest_Text_23DEFD, 2
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D682:: @ 823D682
+ msgbox BattleFrontier_OutsideWest_Text_23DEB4, 2
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D68B:: @ 823D68B
+ msgbox BattleFrontier_OutsideWest_Text_23DFBF, 2
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D694:: @ 823D694
+ msgbox BattleFrontier_OutsideWest_Text_23E01E, 2
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D69D:: @ 823D69D
+ msgbox BattleFrontier_OutsideWest_Text_23E09F, 2
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D6A6:: @ 823D6A6
+ msgbox BattleFrontier_OutsideWest_Text_23E102, 2
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D6AF:: @ 823D6AF
+ msgbox BattleFrontier_OutsideWest_Text_23E154, 2
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D6B8:: @ 823D6B8
+ lock
+ msgbox BattleFrontier_OutsideWest_Text_23E273, 4
+ release
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D6C3:: @ 823D6C3
+ lock
+ msgbox BattleFrontier_OutsideWest_Text_23E2E9, 4
+ release
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D6CE:: @ 823D6CE
+ msgbox BattleFrontier_OutsideWest_Text_23E37E, 2
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D6D7:: @ 823D6D7
+ lock
+ faceplayer
+ msgbox BattleFrontier_OutsideWest_Text_23E410, 4
+ closemessage
+ applymovement 23, BattleFrontier_OutsideWest_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+BattleFrontier_OutsideWest_EventScript_23D6EE:: @ 823D6EE
+ msgbox BattleFrontier_OutsideWest_Text_23E5A5, 2
+ end
+
+BattleFrontier_OutsideWest_Text_23D6F7: @ 823D6F7
+ .string "This is the BATTLE DOME!\n"
+ .string "Your path to the invincible superstar!$"
+
+BattleFrontier_OutsideWest_Text_23D737: @ 823D737
+ .string "This is the BATTLE FACTORY!\n"
+ .string "Seek out the toughest POKéMON!$"
+
+BattleFrontier_OutsideWest_Text_23D772: @ 823D772
+ .string "This is the BATTLE PIKE!\n"
+ .string "Choose one of three paths!$"
+
+BattleFrontier_OutsideWest_Text_23D7A6: @ 823D7A6
+ .string "This is the BATTLE TOWER.\p"
+ .string "TRAINERS bring their best-raised\n"
+ .string "POKéMON for elimination-style matches.$"
+
+BattleFrontier_OutsideWest_Text_23D808: @ 823D808
+ .string "Hello, are you here for the ferry?\n"
+ .string "May I see your TICKET?$"
+
+BattleFrontier_OutsideWest_Text_23D842: @ 823D842
+ .string "{PLAYER} doesn’t have the TICKET…\p"
+ .string "I’m terribly sorry.\p"
+ .string "You must have a TICKET to board\n"
+ .string "the ferry.$"
+
+BattleFrontier_OutsideWest_Text_23D89D: @ 823D89D
+ .string "{PLAYER} flashed the TICKET.\p"
+ .string "Perfect! That’s all you need!\p"
+ .string "And where would you like to go?$"
+
+BattleFrontier_OutsideWest_Text_23D8F2: @ 823D8F2
+ .string "SLATEPORT CITY it is, then!$"
+
+BattleFrontier_OutsideWest_Text_23D90E: @ 823D90E
+ .string "LILYCOVE CITY it is, then!$"
+
+BattleFrontier_OutsideWest_Text_23D929: @ 823D929
+ .string "Please sail with us another time!$"
+
+BattleFrontier_OutsideWest_Text_23D94B: @ 823D94B
+ .string "Please board the ferry and wait for\n"
+ .string "departure.$"
+
+BattleFrontier_OutsideWest_Text_23D97A: @ 823D97A
+ .string "Then, where would you like to go?$"
+
+BattleFrontier_OutsideWest_Text_23D99C: @ 823D99C
+ .string "I’m the best out of all my friends.\n"
+ .string "But here…\l"
+ .string "I’ve been useless!$"
+
+BattleFrontier_OutsideWest_Text_23D9DD: @ 823D9DD
+ .string "I want to go to the BATTLE TOWER,\n"
+ .string "but I can’t find it even though I have\l"
+ .string "a map of the BATTLE FRONTIER.\p"
+ .string "This place is just too big!$"
+
+BattleFrontier_OutsideWest_Text_23DA60: @ 823DA60
+ .string "I wanted to take a challenge as soon\n"
+ .string "as I arrived here.\p"
+ .string "But on the way, I got seasick…\n"
+ .string "Urrrrp…$"
+
+BattleFrontier_OutsideWest_Text_23DABF: @ 823DABF
+ .string "It’s not as if just anyone can come\n"
+ .string "here, you know?\p"
+ .string "Only those TRAINERS who’ve been\n"
+ .string "recognized as tough are brought here.\p"
+ .string "That’s why many TRAINERS don’t even\n"
+ .string "know about the BATTLE FRONTIER.$"
+
+BattleFrontier_OutsideWest_Text_23DB7D: @ 823DB7D
+ .string "Hey, bro…\p"
+ .string "Are you sure we can make challenges\n"
+ .string "even if we don’t have any POKéMON?$"
+
+BattleFrontier_OutsideWest_Text_23DBCE: @ 823DBCE
+ .string "Uh…\n"
+ .string "I’m sure it’ll be okay.\p"
+ .string "I think…\p"
+ .string "But remember that big scary guy?\n"
+ .string "He said, “I’ll lend you POKéMON!”$"
+
+BattleFrontier_OutsideWest_Text_23DC36: @ 823DC36
+ .string "That’s the BATTLE FACTORY.\n"
+ .string "You can rent strong POKéMON there.\p"
+ .string "But it makes me wonder.\n"
+ .string "Who’s raising those rental POKéMON?$"
+
+BattleFrontier_OutsideWest_Text_23DCB0: @ 823DCB0
+ .string "I’m scared of going into the BATTLE\n"
+ .string "PIKE because of SEVIPER…\p"
+ .string "B-but I came all the way here, so I will\n"
+ .string "try to conquer everything!\l"
+ .string "…Shudder…$"
+
+BattleFrontier_OutsideWest_Text_23DD3B: @ 823DD3B
+ .string "Let’s play rock, paper, scissors!\n"
+ .string "One, two, three!\p"
+ .string "… … … … … …$"
+
+BattleFrontier_OutsideWest_Text_23DD7A: @ 823DD7A
+ .string "Yay! I won!\n"
+ .string "I will take the BATTLE PIKE challenge!$"
+
+BattleFrontier_OutsideWest_Text_23DDAD: @ 823DDAD
+ .string "Oh, no…\n"
+ .string "I lost.\p"
+ .string "I guess I’m not very lucky today.\n"
+ .string "I’ll put off my BATTLE PIKE challenge\l"
+ .string "until tomorrow.$"
+
+BattleFrontier_OutsideWest_Text_23DE15: @ 823DE15
+ .string "I believe I’m the only person here who,\n"
+ .string "for some unknown reason, would choose\l"
+ .string "fishing over battling.\p"
+ .string "Huh? You can’t catch anything here?\n"
+ .string "That’s disappointing…$"
+
+BattleFrontier_OutsideWest_Text_23DEB4: @ 823DEB4
+ .string "Today, I’m going to keep battling, no\n"
+ .string "matter what, until I get a Symbol.$"
+
+BattleFrontier_OutsideWest_Text_23DEFD: @ 823DEFD
+ .string "Oh? You’re off to challenge\n"
+ .string "the BATTLE DOME?\p"
+ .string "I’ll wish you the best of luck.\n"
+ .string "Let us both win our way up and meet\l"
+ .string "in challenges.$"
+
+BattleFrontier_OutsideWest_Text_23DF7D: @ 823DF7D
+ .string "Grandpa, over here!\n"
+ .string "The BATTLE DOME is here!\l"
+ .string "Go get ’em, Grandpa!$"
+
+BattleFrontier_OutsideWest_Text_23DFBF: @ 823DFBF
+ .string "Ah, so this here is the BATTLE DOME?\n"
+ .string "I won’t let GENTLEMEN beat me!\p"
+ .string "But where is the entrance?$"
+
+BattleFrontier_OutsideWest_Text_23E01E: @ 823E01E
+ .string "There used to be nothing here not all\n"
+ .string "that long ago.\p"
+ .string "But, now look at this place! Amazing!\n"
+ .string "I’ll bring my mother out to see this.$"
+
+BattleFrontier_OutsideWest_Text_23E09F: @ 823E09F
+ .string "I’ve finally arrived at the BATTLE\n"
+ .string "FRONTIER!\p"
+ .string "I’m sure to grab attention with\n"
+ .string "my looks and ability!$"
+
+BattleFrontier_OutsideWest_Text_23E102: @ 823E102
+ .string "Munch, munch…\p"
+ .string "It looks like this square’s filled with\n"
+ .string "tough people.\p"
+ .string "Munch, munch…$"
+
+BattleFrontier_OutsideWest_Text_23E154: @ 823E154
+ .string "Crunch, munch…\p"
+ .string "A while back, I met this older girl\n"
+ .string "at the BATTLE PIKE.\p"
+ .string "She had these eyes that were scary\n"
+ .string "in a real ornery way.\p"
+ .string "Crunch, munch…\p"
+ .string "She got all furious: “Will you quit\n"
+ .string "eating!” Then she whaled on me.\p"
+ .string "It was a hair-raising kind of\n"
+ .string "scary experience, sure enough.\p"
+ .string "Crunch, munch…$"
+
+BattleFrontier_OutsideWest_Text_23E273: @ 823E273
+ .string "Huh? Will you listen to yourself?\n"
+ .string "That’s nothing!\p"
+ .string "Why, the last time I cheered for him,\n"
+ .string "our eyes met and sparks flew!$"
+
+BattleFrontier_OutsideWest_Text_23E2E9: @ 823E2E9
+ .string "Whaaaaaat?!\n"
+ .string "Pfft!\p"
+ .string "That only happened because\n"
+ .string "I happened to be sitting next to you!\p"
+ .string "The DOME ACE only looked our way\n"
+ .string "because my cheering was so loud!$"
+
+BattleFrontier_OutsideWest_Text_23E37E: @ 823E37E
+ .string "Oh, shush!\n"
+ .string "Keep that racket down!\p"
+ .string "You fair-weather fans should stick\n"
+ .string "to cheering for some GYM LEADER!\p"
+ .string "The DOME ACE is mine!\n"
+ .string "The only idol for me!$"
+
+BattleFrontier_OutsideWest_Text_23E410: @ 823E410
+ .string "Those people squabbling over there…\p"
+ .string "It’s hard to believe, but they once\n"
+ .string "were TRAINERS, and good ones, too.\p"
+ .string "They used to be incredibly tough,\n"
+ .string "and they were famous, too.\p"
+ .string "But they were obliterated by this\n"
+ .string "certain TRAINER at a tournament.\p"
+ .string "They were so thoroughly whipped,\n"
+ .string "they became smitten by the TRAINER.\p"
+ .string "Now they’re just fans of the TRAINER.\n"
+ .string "They go cheer for their idol at the\l"
+ .string "BATTLE DOME every day now.$"
+
+BattleFrontier_OutsideWest_Text_23E5A5: @ 823E5A5
+ .string "I heard a rumor that someone saw\n"
+ .string "a POKéMON with an unusually long tail\l"
+ .string "somewhere in the BATTLE FRONTIER.\p"
+ .string "It must be adorable. I’m sure of it…\p"
+ .string "Oh, challenges can wait. I feel driven\n"
+ .string "to find the delightful creature!$"
+
diff --git a/data/scripts/maps/BattleFrontier_PokemonCenter_1F.inc b/data/scripts/maps/BattleFrontier_PokemonCenter_1F.inc
new file mode 100644
index 000000000..23818d64c
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_PokemonCenter_1F.inc
@@ -0,0 +1,59 @@
+BattleFrontier_PokemonCenter_1F_MapScripts:: @ 82678F9
+ map_script 3, BattleFrontier_PokemonCenter_1F_MapScript1_267904
+ map_script 5, BattleFrontier_PokemonCenter_1F_MapScript1_277C30
+ .byte 0
+
+BattleFrontier_PokemonCenter_1F_MapScript1_267904: @ 8267904
+ setrespawn 22
+ end
+
+BattleFrontier_PokemonCenter_1F_EventScript_267908:: @ 8267908
+ setvar VAR_0x800B, 1
+ call BattleFrontier_PokemonCenter_1F_EventScript_27191E
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+BattleFrontier_PokemonCenter_1F_EventScript_267916:: @ 8267916
+ msgbox BattleFrontier_PokemonCenter_1F_Text_267944, 2
+ end
+
+BattleFrontier_PokemonCenter_1F_EventScript_26791F:: @ 826791F
+ msgbox BattleFrontier_PokemonCenter_1F_Text_2679EB, 2
+ end
+
+BattleFrontier_PokemonCenter_1F_EventScript_267928:: @ 8267928
+ msgbox BattleFrontier_PokemonCenter_1F_Text_267A4B, 2
+ end
+
+BattleFrontier_PokemonCenter_1F_EventScript_267931:: @ 8267931
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_SKITTY, 0
+ msgbox BattleFrontier_PokemonCenter_1F_Text_267A90, 4
+ waitmoncry
+ release
+ end
+
+BattleFrontier_PokemonCenter_1F_Text_267944: @ 8267944
+ .string "There was someone here using a \n"
+ .string "POKéMON I’ve never seen before.\p"
+ .string "I never learned about it at\n"
+ .string "TRAINER’S SCHOOL at least.\p"
+ .string "I wonder where you can catch POKéMON\n"
+ .string "like that.$"
+
+BattleFrontier_PokemonCenter_1F_Text_2679EB: @ 82679EB
+ .string "Okay! Next stop, the BATTLE ARENA!\n"
+ .string "I’d better get the right POKéMON from\l"
+ .string "the PC Storage System.$"
+
+BattleFrontier_PokemonCenter_1F_Text_267A4B: @ 8267A4B
+ .string "Giggle… I’m going to go through every\n"
+ .string "challenge with just this baby!$"
+
+BattleFrontier_PokemonCenter_1F_Text_267A90: @ 8267A90
+ .string "SKITTY: Mya myaaah!$"
+
diff --git a/data/scripts/maps/BattleFrontier_PokemonCenter_2F.inc b/data/scripts/maps/BattleFrontier_PokemonCenter_2F.inc
new file mode 100644
index 000000000..7d3c3a2f1
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_PokemonCenter_2F.inc
@@ -0,0 +1,19 @@
+BattleFrontier_PokemonCenter_2F_MapScripts:: @ 8267AA4
+ map_script 2, BattleFrontier_PokemonCenter_2F_MapScript2_276C3B
+ map_script 4, BattleFrontier_PokemonCenter_2F_MapScript2_276B6C
+ map_script 1, BattleFrontier_PokemonCenter_2F_MapScript1_276BBE
+ map_script 3, BattleFrontier_PokemonCenter_2F_MapScript1_276ACF
+ .byte 0
+
+BattleFrontier_PokemonCenter_2F_EventScript_267AB9:: @ 8267AB9
+ call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+ end
+
+BattleFrontier_PokemonCenter_2F_EventScript_267ABF:: @ 8267ABF
+ call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+ end
+
+BattleFrontier_PokemonCenter_2F_EventScript_267AC5:: @ 8267AC5
+ call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+ end
+
diff --git a/data/scripts/maps/BattleFrontier_RankingHall.inc b/data/scripts/maps/BattleFrontier_RankingHall.inc
new file mode 100644
index 000000000..0d8c5cf24
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_RankingHall.inc
@@ -0,0 +1,135 @@
+BattleFrontier_RankingHall_MapScripts:: @ 825E4A9
+ .byte 0
+
+BattleFrontier_RankingHall_EventScript_25E4AA:: @ 825E4AA
+ lockall
+ setvar VAR_0x8005, 0
+ goto BattleFrontier_RankingHall_EventScript_25E522
+ end
+
+BattleFrontier_RankingHall_EventScript_25E4B6:: @ 825E4B6
+ lockall
+ setvar VAR_0x8005, 1
+ goto BattleFrontier_RankingHall_EventScript_25E522
+ end
+
+BattleFrontier_RankingHall_EventScript_25E4C2:: @ 825E4C2
+ lockall
+ setvar VAR_0x8005, 2
+ goto BattleFrontier_RankingHall_EventScript_25E522
+ end
+
+BattleFrontier_RankingHall_EventScript_25E4CE:: @ 825E4CE
+ lockall
+ setvar VAR_0x8005, 9
+ goto BattleFrontier_RankingHall_EventScript_25E522
+ end
+
+BattleFrontier_RankingHall_EventScript_25E4DA:: @ 825E4DA
+ lockall
+ setvar VAR_0x8005, 5
+ goto BattleFrontier_RankingHall_EventScript_25E522
+ end
+
+BattleFrontier_RankingHall_EventScript_25E4E6:: @ 825E4E6
+ lockall
+ setvar VAR_0x8005, 4
+ goto BattleFrontier_RankingHall_EventScript_25E522
+ end
+
+BattleFrontier_RankingHall_EventScript_25E4F2:: @ 825E4F2
+ lockall
+ setvar VAR_0x8005, 6
+ goto BattleFrontier_RankingHall_EventScript_25E522
+ end
+
+BattleFrontier_RankingHall_EventScript_25E4FE:: @ 825E4FE
+ lockall
+ setvar VAR_0x8005, 3
+ goto BattleFrontier_RankingHall_EventScript_25E522
+ end
+
+BattleFrontier_RankingHall_EventScript_25E50A:: @ 825E50A
+ lockall
+ setvar VAR_0x8005, 7
+ goto BattleFrontier_RankingHall_EventScript_25E522
+ end
+
+BattleFrontier_RankingHall_EventScript_25E516:: @ 825E516
+ lockall
+ setvar VAR_0x8005, 8
+ goto BattleFrontier_RankingHall_EventScript_25E522
+ end
+
+BattleFrontier_RankingHall_EventScript_25E522:: @ 825E522
+ special sub_81A4AA0
+ waitbuttonpress
+ special sub_81A4AE8
+ waitbuttonpress
+ special sub_813C5A0
+ releaseall
+ end
+
+BattleFrontier_RankingHall_EventScript_25E52F:: @ 825E52F
+ msgbox BattleFrontier_RankingHall_Text_25E57C, 2
+ end
+
+BattleFrontier_RankingHall_EventScript_25E538:: @ 825E538
+ msgbox BattleFrontier_RankingHall_Text_25E5F9, 3
+ end
+
+BattleFrontier_RankingHall_EventScript_25E541:: @ 825E541
+ msgbox BattleFrontier_RankingHall_Text_25E62E, 3
+ end
+
+BattleFrontier_RankingHall_EventScript_25E54A:: @ 825E54A
+ lock
+ faceplayer
+ msgbox BattleFrontier_RankingHall_Text_25E666, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_RankingHall_EventScript_25E569
+ msgbox BattleFrontier_RankingHall_Text_25E6B6, 4
+ release
+ end
+
+BattleFrontier_RankingHall_EventScript_25E569:: @ 825E569
+ msgbox BattleFrontier_RankingHall_Text_25E685, 4
+ release
+ end
+
+BattleFrontier_RankingHall_EventScript_25E573:: @ 825E573
+ msgbox BattleFrontier_RankingHall_Text_25E715, 2
+ end
+
+BattleFrontier_RankingHall_Text_25E57C: @ 825E57C
+ .string "This is the RANKING HALL.\p"
+ .string "This is where we recognize the immortal\n"
+ .string "TRAINERS who left great records in\l"
+ .string "BATTLE FRONTIER events.$"
+
+BattleFrontier_RankingHall_Text_25E5F9: @ 825E5F9
+ .string "BATTLE DOME, BATTLE PIKE,\n"
+ .string "and BATTLE FACTORY Records$"
+
+BattleFrontier_RankingHall_Text_25E62E: @ 825E62E
+ .string "BATTLE PALACE, BATTLE ARENA,\n"
+ .string "and BATTLE PYRAMID Records$"
+
+BattleFrontier_RankingHall_Text_25E666: @ 825E666
+ .string "Hi, is your name on this list?$"
+
+BattleFrontier_RankingHall_Text_25E685: @ 825E685
+ .string "Wow, that’s super!\n"
+ .string "I’ll have to try harder, too!$"
+
+BattleFrontier_RankingHall_Text_25E6B6: @ 825E6B6
+ .string "Oh, is that right?\p"
+ .string "If you saw your friend’s name up here,\n"
+ .string "I bet it would make you work harder!$"
+
+BattleFrontier_RankingHall_Text_25E715: @ 825E715
+ .string "Hmm…\n"
+ .string "My name’s not up there…\p"
+ .string "Well, it’s only natural since I haven’t\n"
+ .string "taken any challenges yet.$"
+
diff --git a/data/scripts/maps/BattleFrontier_ReceptionGate.inc b/data/scripts/maps/BattleFrontier_ReceptionGate.inc
new file mode 100644
index 000000000..1448904d8
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_ReceptionGate.inc
@@ -0,0 +1,505 @@
+BattleFrontier_ReceptionGate_MapScripts:: @ 82661DA
+ map_script 2, BattleFrontier_ReceptionGate_MapScript2_2661E9
+ map_script 3, BattleFrontier_ReceptionGate_MapScript1_2661E5
+ .byte 0
+
+BattleFrontier_ReceptionGate_MapScript1_2661E5: @ 82661E5
+ setflag FLAG_UNLOCK_BATTLE_FRONTIER
+ end
+
+BattleFrontier_ReceptionGate_MapScript2_2661E9: @ 82661E9
+ map_script_2 VAR_0x40D0, 0, BattleFrontier_ReceptionGate_EventScript_2661F3
+ .2byte 0
+
+BattleFrontier_ReceptionGate_EventScript_2661F3:: @ 82661F3
+ lockall
+ setvar VAR_0x40D0, 1
+ playse SE_PIN
+ applymovement 1, BattleFrontier_ReceptionGate_Movement_272598
+ waitmovement 0
+ applymovement 1, BattleFrontier_ReceptionGate_Movement_27259A
+ waitmovement 0
+ msgbox BattleFrontier_ReceptionGate_Text_266580, 4
+ closemessage
+ applymovement 255, BattleFrontier_ReceptionGate_Movement_2662D2
+ waitmovement 0
+ goto BattleFrontier_ReceptionGate_EventScript_266229
+ end
+
+BattleFrontier_ReceptionGate_EventScript_266229:: @ 8266229
+ msgbox BattleFrontier_ReceptionGate_Text_2665B2, 4
+ msgbox BattleFrontier_ReceptionGate_Text_2665F7, 4
+ playfanfare BGM_FANFA4
+ message BattleFrontier_ReceptionGate_Text_266676
+ waitfanfare
+ waitmessage
+ msgbox BattleFrontier_ReceptionGate_Text_266695, 4
+ setflag FLAG_SYS_FRONTIER_PASS
+ msgbox BattleFrontier_ReceptionGate_Text_2666C6, 4
+ msgbox BattleFrontier_ReceptionGate_Text_266703, 4
+ closemessage
+ applymovement 1, BattleFrontier_ReceptionGate_Movement_2725A6
+ applymovement 2, BattleFrontier_ReceptionGate_Movement_2725A6
+ applymovement 255, BattleFrontier_ReceptionGate_Movement_2725A6
+ waitmovement 0
+ playse SE_PIN
+ applymovement 1, BattleFrontier_ReceptionGate_Movement_272598
+ applymovement 2, BattleFrontier_ReceptionGate_Movement_272598
+ applymovement 255, BattleFrontier_ReceptionGate_Movement_272598
+ waitmovement 0
+ msgbox BattleFrontier_ReceptionGate_Text_266733, 4
+ closemessage
+ applymovement 1, BattleFrontier_ReceptionGate_Movement_2662F0
+ applymovement 2, BattleFrontier_ReceptionGate_Movement_2662F6
+ applymovement 255, BattleFrontier_ReceptionGate_Movement_2662D7
+ applymovement 4, BattleFrontier_ReceptionGate_Movement_2662E0
+ waitmovement 0
+ msgbox BattleFrontier_ReceptionGate_Text_266764, 4
+ closemessage
+ applymovement 4, BattleFrontier_ReceptionGate_Movement_2662E8
+ waitmovement 0
+ removeobject 4
+ releaseall
+ end
+
+BattleFrontier_ReceptionGate_Movement_2662D2: @ 82662D2
+ step_up
+ step_up
+ step_left
+ step_left
+ step_end
+
+BattleFrontier_ReceptionGate_Movement_2662D7: @ 82662D7
+ step_14
+ step_14
+ step_14
+ step_13
+ step_28
+ step_end
+
+BattleFrontier_ReceptionGate_Movement_2662DD: @ 82662DD
+ step_down
+ step_down
+ step_end
+
+BattleFrontier_ReceptionGate_Movement_2662E0: @ 82662E0
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_left
+ step_end
+
+BattleFrontier_ReceptionGate_Movement_2662E8: @ 82662E8
+ step_right
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+BattleFrontier_ReceptionGate_Movement_2662F0: @ 82662F0
+ step_14
+ step_14
+ step_14
+ step_13
+ step_28
+ step_end
+
+BattleFrontier_ReceptionGate_Movement_2662F6: @ 82662F6
+ step_14
+ step_14
+ step_14
+ step_13
+ step_27
+ step_end
+
+BattleFrontier_ReceptionGate_EventScript_2662FC:: @ 82662FC
+ lock
+ faceplayer
+ msgbox BattleFrontier_ReceptionGate_Text_2665B2, 4
+ msgbox BattleFrontier_ReceptionGate_Text_2666C6, 4
+ release
+ end
+
+BattleFrontier_ReceptionGate_EventScript_266310:: @ 8266310
+ lock
+ faceplayer
+ msgbox BattleFrontier_ReceptionGate_Text_266857, 4
+ goto BattleFrontier_ReceptionGate_EventScript_266320
+ end
+
+BattleFrontier_ReceptionGate_EventScript_266320:: @ 8266320
+ message BattleFrontier_ReceptionGate_Text_26689D
+ waitmessage
+ setvar VAR_0x8004, 8
+ special sub_813A128
+ waitstate
+ switch VAR_RESULT
+ case 0, BattleFrontier_ReceptionGate_EventScript_2663AE
+ case 1, BattleFrontier_ReceptionGate_EventScript_2663BC
+ case 2, BattleFrontier_ReceptionGate_EventScript_2663CA
+ case 3, BattleFrontier_ReceptionGate_EventScript_2663D8
+ case 4, BattleFrontier_ReceptionGate_EventScript_2663E6
+ case 5, BattleFrontier_ReceptionGate_EventScript_2663F4
+ case 6, BattleFrontier_ReceptionGate_EventScript_266402
+ case 7, BattleFrontier_ReceptionGate_EventScript_266410
+ case 8, BattleFrontier_ReceptionGate_EventScript_26641E
+ case 9, BattleFrontier_ReceptionGate_EventScript_26642C
+ case 127, BattleFrontier_ReceptionGate_EventScript_26642C
+ end
+
+BattleFrontier_ReceptionGate_EventScript_2663AE:: @ 82663AE
+ msgbox BattleFrontier_ReceptionGate_Text_2668C2, 4
+ goto BattleFrontier_ReceptionGate_EventScript_266320
+ end
+
+BattleFrontier_ReceptionGate_EventScript_2663BC:: @ 82663BC
+ msgbox BattleFrontier_ReceptionGate_Text_26696F, 4
+ goto BattleFrontier_ReceptionGate_EventScript_266320
+ end
+
+BattleFrontier_ReceptionGate_EventScript_2663CA:: @ 82663CA
+ msgbox BattleFrontier_ReceptionGate_Text_266A34, 4
+ goto BattleFrontier_ReceptionGate_EventScript_266320
+ end
+
+BattleFrontier_ReceptionGate_EventScript_2663D8:: @ 82663D8
+ msgbox BattleFrontier_ReceptionGate_Text_266AC2, 4
+ goto BattleFrontier_ReceptionGate_EventScript_266320
+ end
+
+BattleFrontier_ReceptionGate_EventScript_2663E6:: @ 82663E6
+ msgbox BattleFrontier_ReceptionGate_Text_266B5D, 4
+ goto BattleFrontier_ReceptionGate_EventScript_266320
+ end
+
+BattleFrontier_ReceptionGate_EventScript_2663F4:: @ 82663F4
+ msgbox BattleFrontier_ReceptionGate_Text_266C24, 4
+ goto BattleFrontier_ReceptionGate_EventScript_266320
+ end
+
+BattleFrontier_ReceptionGate_EventScript_266402:: @ 8266402
+ msgbox BattleFrontier_ReceptionGate_Text_266CBB, 4
+ goto BattleFrontier_ReceptionGate_EventScript_266320
+ end
+
+BattleFrontier_ReceptionGate_EventScript_266410:: @ 8266410
+ msgbox BattleFrontier_ReceptionGate_Text_266D1C, 4
+ goto BattleFrontier_ReceptionGate_EventScript_266320
+ end
+
+BattleFrontier_ReceptionGate_EventScript_26641E:: @ 826641E
+ msgbox BattleFrontier_ReceptionGate_Text_266DCB, 4
+ goto BattleFrontier_ReceptionGate_EventScript_266320
+ end
+
+BattleFrontier_ReceptionGate_EventScript_26642C:: @ 826642C
+ msgbox BattleFrontier_ReceptionGate_Text_2666C6, 4
+ release
+ end
+
+BattleFrontier_ReceptionGate_EventScript_266436:: @ 8266436
+ lock
+ faceplayer
+ msgbox BattleFrontier_ReceptionGate_Text_266E66, 4
+ goto BattleFrontier_ReceptionGate_EventScript_266446
+ end
+
+BattleFrontier_ReceptionGate_EventScript_266446:: @ 8266446
+ message BattleFrontier_ReceptionGate_Text_266EE0
+ waitmessage
+ multichoice 15, 0, 95, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_ReceptionGate_EventScript_2664A4
+ case 1, BattleFrontier_ReceptionGate_EventScript_2664B2
+ case 2, BattleFrontier_ReceptionGate_EventScript_2664C0
+ case 3, BattleFrontier_ReceptionGate_EventScript_2664CE
+ case 4, BattleFrontier_ReceptionGate_EventScript_2664DC
+ case 5, BattleFrontier_ReceptionGate_EventScript_2664EA
+ case 127, BattleFrontier_ReceptionGate_EventScript_2664EA
+ end
+
+BattleFrontier_ReceptionGate_EventScript_2664A4:: @ 82664A4
+ msgbox BattleFrontier_ReceptionGate_Text_266F04, 4
+ goto BattleFrontier_ReceptionGate_EventScript_266446
+ end
+
+BattleFrontier_ReceptionGate_EventScript_2664B2:: @ 82664B2
+ msgbox BattleFrontier_ReceptionGate_Text_266F69, 4
+ goto BattleFrontier_ReceptionGate_EventScript_266446
+ end
+
+BattleFrontier_ReceptionGate_EventScript_2664C0:: @ 82664C0
+ msgbox BattleFrontier_ReceptionGate_Text_267080, 4
+ goto BattleFrontier_ReceptionGate_EventScript_266446
+ end
+
+BattleFrontier_ReceptionGate_EventScript_2664CE:: @ 82664CE
+ msgbox BattleFrontier_ReceptionGate_Text_26716A, 4
+ goto BattleFrontier_ReceptionGate_EventScript_266446
+ end
+
+BattleFrontier_ReceptionGate_EventScript_2664DC:: @ 82664DC
+ msgbox BattleFrontier_ReceptionGate_Text_267298, 4
+ goto BattleFrontier_ReceptionGate_EventScript_266446
+ end
+
+BattleFrontier_ReceptionGate_EventScript_2664EA:: @ 82664EA
+ msgbox BattleFrontier_ReceptionGate_Text_2666C6, 4
+ release
+ end
+
+BattleFrontier_ReceptionGate_EventScript_2664F4:: @ 82664F4
+ lock
+ faceplayer
+ msgbox BattleFrontier_ReceptionGate_Text_267357, 4
+ goto BattleFrontier_ReceptionGate_EventScript_266504
+ end
+
+BattleFrontier_ReceptionGate_EventScript_266504:: @ 8266504
+ message BattleFrontier_ReceptionGate_Text_26737C
+ waitmessage
+ multichoice 16, 4, 11, 0
+ switch VAR_RESULT
+ case 0, BattleFrontier_ReceptionGate_EventScript_26654C
+ case 1, BattleFrontier_ReceptionGate_EventScript_26655A
+ case 2, BattleFrontier_ReceptionGate_EventScript_266568
+ case 3, BattleFrontier_ReceptionGate_EventScript_266576
+ case 127, BattleFrontier_ReceptionGate_EventScript_266576
+ end
+
+BattleFrontier_ReceptionGate_EventScript_26654C:: @ 826654C
+ msgbox BattleFrontier_ReceptionGate_Text_2673A1, 4
+ goto BattleFrontier_ReceptionGate_EventScript_266504
+ end
+
+BattleFrontier_ReceptionGate_EventScript_26655A:: @ 826655A
+ msgbox BattleFrontier_ReceptionGate_Text_2674F3, 4
+ goto BattleFrontier_ReceptionGate_EventScript_266504
+ end
+
+BattleFrontier_ReceptionGate_EventScript_266568:: @ 8266568
+ msgbox BattleFrontier_ReceptionGate_Text_26761C, 4
+ goto BattleFrontier_ReceptionGate_EventScript_266504
+ end
+
+BattleFrontier_ReceptionGate_EventScript_266576:: @ 8266576
+ msgbox BattleFrontier_ReceptionGate_Text_2666C6, 4
+ release
+ end
+
+BattleFrontier_ReceptionGate_Text_266580: @ 8266580
+ .string "Is it your first time here?\n"
+ .string "Please step this way!$"
+
+BattleFrontier_ReceptionGate_Text_2665B2: @ 82665B2
+ .string "The front lines of POKéMON battling!\n"
+ .string "Welcome to the BATTLE FRONTIER!$"
+
+BattleFrontier_ReceptionGate_Text_2665F7: @ 82665F7
+ .string "For a first-time visitor, we issue\n"
+ .string "the FRONTIER PASS.\p"
+ .string "It’s for use at all the facilities\n"
+ .string "in the BATTLE FRONTIER.\p"
+ .string "Here you are!$"
+
+BattleFrontier_ReceptionGate_Text_266676: @ 8266676
+ .string "{PLAYER} obtained\n"
+ .string "the FRONTIER PASS.$"
+
+BattleFrontier_ReceptionGate_Text_266695: @ 8266695
+ .string "{PLAYER} placed the TRAINER CARD\n"
+ .string "in the FRONTIER PASS.$"
+
+BattleFrontier_ReceptionGate_Text_2666C6: @ 82666C6
+ .string "We hope you enjoy all that the BATTLE\n"
+ .string "FRONTIER has to offer!$"
+
+BattleFrontier_ReceptionGate_Text_266703: @ 8266703
+ .string "???: Well, if it isn’t {PLAYER}{KUN}!\n"
+ .string "You came out here!$"
+
+BattleFrontier_ReceptionGate_Text_266733: @ 8266733
+ .string "GUIDE: Oh! MR. SCOTT, sir!\n"
+ .string "Good day to you, sir!$"
+
+BattleFrontier_ReceptionGate_Text_266764: @ 8266764
+ .string "SCOTT: It’s great to see you here,\n"
+ .string "it really is!\p"
+ .string "I hope you’ll take your time and\n"
+ .string "explore everywhere.\p"
+ .string "Naturally, I hope you’ll also experience\n"
+ .string "the pure essence of battling.\p"
+ .string "I also have my quarters here, so feel\n"
+ .string "free to visit if you have time.$"
+
+BattleFrontier_ReceptionGate_Text_266857: @ 8266857
+ .string "I’m your guide to the various facilities\n"
+ .string "here in the BATTLE FRONTIER.$"
+
+BattleFrontier_ReceptionGate_Text_26689D: @ 826689D
+ .string "Which would you like to learn about?$"
+
+BattleFrontier_ReceptionGate_Text_2668C2: @ 82668C2
+ .string "It is the gigantic tower considered\n"
+ .string "to be the BATTLE FRONTIER’s symbol.\p"
+ .string "There are four kinds of BATTLE ROOMS\n"
+ .string "in the tower for SINGLE, DOUBLE, MULTI,\l"
+ .string "and LINK MULTI BATTLES.$"
+
+BattleFrontier_ReceptionGate_Text_26696F: @ 826696F
+ .string "The BATTLE DOME is the large building\n"
+ .string "shaped like a huge egg.\p"
+ .string "Events named Battle Tourneys are held\n"
+ .string "in this facility.\p"
+ .string "The Battle Tourneys are offered in\n"
+ .string "two courses--for SINGLE and DOUBLE\l"
+ .string "BATTLES.$"
+
+BattleFrontier_ReceptionGate_Text_266A34: @ 8266A34
+ .string "The BATTLE PALACE is the red building\n"
+ .string "on the right of the BATTLE FRONTIER.\p"
+ .string "There are two kinds of BATTLE HALLS\n"
+ .string "for SINGLE and DOUBLE BATTLES.$"
+
+BattleFrontier_ReceptionGate_Text_266AC2: @ 8266AC2
+ .string "The BATTLE ARENA is the dojo-like\n"
+ .string "building at the center-right of\l"
+ .string "the BATTLE FRONTIER.\p"
+ .string "An event called the Set KO Tourney\n"
+ .string "takes place at the BATTLE ARENA.$"
+
+BattleFrontier_ReceptionGate_Text_266B5D: @ 8266B5D
+ .string "The BATTLE FACTORY is the large\n"
+ .string "building that is the closest to us.\p"
+ .string "An event called the Battle Swap\n"
+ .string "is conducted there.\p"
+ .string "The Battle Swap event is offered in\n"
+ .string "two courses for SINGLE and DOUBLE\l"
+ .string "BATTLES.$"
+
+BattleFrontier_ReceptionGate_Text_266C24: @ 8266C24
+ .string "The BATTLE PIKE is the building shaped\n"
+ .string "like a POKéMON at the center-left of\l"
+ .string "the BATTLE FRONTIER.\p"
+ .string "An event called the Battle Choice\n"
+ .string "is conducted there.$"
+
+BattleFrontier_ReceptionGate_Text_266CBB: @ 8266CBB
+ .string "The BATTLE PYRAMID is the enormous\n"
+ .string "pyramid.\p"
+ .string "An event called the Battle Quest\n"
+ .string "is conducted there.$"
+
+BattleFrontier_ReceptionGate_Text_266D1C: @ 8266D1C
+ .string "The RANKING HALL is located near\n"
+ .string "the BATTLE TOWER.\p"
+ .string "There, you may see the most fantastic\n"
+ .string "records left by the TRAINERS that\l"
+ .string "took on the many challenges of\l"
+ .string "the BATTLE FRONTIER.$"
+
+BattleFrontier_ReceptionGate_Text_266DCB: @ 8266DCB
+ .string "The EXCHANGE SERVICE CORNER is near\n"
+ .string "the BATTLE TOWER.\p"
+ .string "The Battle Points you have earned in\n"
+ .string "the BATTLE FRONTIER may be exchanged\l"
+ .string "for fabulous prizes there.$"
+
+BattleFrontier_ReceptionGate_Text_266E66: @ 8266E66
+ .string "I’m your guide to the basic rules that\n"
+ .string "are common to all the challenges\l"
+ .string "offered by the facilities in the BATTLE\l"
+ .string "FRONTIER.$"
+
+BattleFrontier_ReceptionGate_Text_266EE0: @ 8266EE0
+ .string "What would you like to learn about?$"
+
+BattleFrontier_ReceptionGate_Text_266F04: @ 8266F04
+ .string "All the challenges at the BATTLE\n"
+ .string "FRONTIER’s facilities come in\l"
+ .string "two courses--Level 50 and Open Level.$"
+
+BattleFrontier_ReceptionGate_Text_266F69: @ 8266F69
+ .string "The Level 50 course is open to POKéMON\n"
+ .string "up to and including Level 50.\p"
+ .string "Please keep in mind, however, that\n"
+ .string "no TRAINER you face will have any\l"
+ .string "POKéMON below Level 50.\p"
+ .string "This course is the entry level for\n"
+ .string "battles at the BATTLE FRONTIER.\p"
+ .string "To begin, we hope you will challenge\n"
+ .string "this course.$"
+
+BattleFrontier_ReceptionGate_Text_267080: @ 8267080
+ .string "The Open Level course places no limit\n"
+ .string "on the levels of POKéMON entering\l"
+ .string "challenges.\p"
+ .string "The levels of your opponents will\n"
+ .string "be adjusted to match the levels of\l"
+ .string "your POKéMON.\p"
+ .string "However, no TRAINER you face will\n"
+ .string "have any POKéMON below Level 60.$"
+
+BattleFrontier_ReceptionGate_Text_26716A: @ 826716A
+ .string "Virtually any kind of POKéMON may take\n"
+ .string "on the challenges at all facilities.\p"
+ .string "EGGS and certain kinds of POKéMON,\n"
+ .string "however, are not permitted.\p"
+ .string "The numbers of POKéMON required for\n"
+ .string "challenges will depend on the facility.\p"
+ .string "At all facilities, however, two or more\n"
+ .string "of the same kind of POKéMON are not\l"
+ .string "permitted.$"
+
+BattleFrontier_ReceptionGate_Text_267298: @ 8267298
+ .string "When entering a challenge at a BATTLE\n"
+ .string "FRONTIER facility, POKéMON may not\l"
+ .string "be holding the same kind of item.\p"
+ .string "Please make sure that all POKéMON\n"
+ .string "entering a challenge are holding\l"
+ .string "different items.$"
+
+BattleFrontier_ReceptionGate_Text_267357: @ 8267357
+ .string "I’m your guide to the FRONTIER PASS.$"
+
+BattleFrontier_ReceptionGate_Text_26737C: @ 826737C
+ .string "Which would you like to learn about?$"
+
+BattleFrontier_ReceptionGate_Text_2673A1: @ 82673A1
+ .string "There are seven facilities at\n"
+ .string "the BATTLE FRONTIER.\p"
+ .string "TRAINERS who gain recognition for\n"
+ .string "their abilities may be rewarded with\l"
+ .string "symbols from each of the facilities.\p"
+ .string "To earn a symbol, TRAINERS may need\n"
+ .string "to defeat other TRAINERS in a row,\l"
+ .string "and may need to win events repeatedly.\p"
+ .string "It’s certainly not easy to win symbols.\n"
+ .string "I wish you the best of luck!$"
+
+BattleFrontier_ReceptionGate_Text_2674F3: @ 82674F3
+ .string "It is possible to record one battle\n"
+ .string "on your FRONTIER PASS.\p"
+ .string "You may record a battle you had with\n"
+ .string "a friend or friends.\p"
+ .string "Or you may record a battle conducted\n"
+ .string "at the BATTLE FRONTIER excluding\l"
+ .string "matches at the BATTLE PIKE or\l"
+ .string "the BATTLE PYRAMID.\p"
+ .string "You may choose to record your match\n"
+ .string "at the end of a battle.$"
+
+BattleFrontier_ReceptionGate_Text_26761C: @ 826761C
+ .string "Battle Points are rewards given to\n"
+ .string "TRAINERS who battled outstandingly\l"
+ .string "at the BATTLE FRONTIER.\p"
+ .string "You may trade in your Battle Points\n"
+ .string "for prizes at the EXCHANGE SERVICE\l"
+ .string "CORNER.$"
+
diff --git a/data/scripts/maps/BattleFrontier_ScottsHouse.inc b/data/scripts/maps/BattleFrontier_ScottsHouse.inc
new file mode 100644
index 000000000..bfeed5e49
--- /dev/null
+++ b/data/scripts/maps/BattleFrontier_ScottsHouse.inc
@@ -0,0 +1,406 @@
+BattleFrontier_ScottsHouse_MapScripts:: @ 82636A7
+ .byte 0
+
+BattleFrontier_ScottsHouse_EventScript_2636A8:: @ 82636A8
+ lock
+ faceplayer
+ checkflag FLAG_0x004
+ goto_eq BattleFrontier_ScottsHouse_EventScript_2637DA
+ checkflag FLAG_0x003
+ goto_eq BattleFrontier_ScottsHouse_EventScript_2638AA
+ checkflag FLAG_0x002
+ goto_eq BattleFrontier_ScottsHouse_EventScript_263939
+ goto BattleFrontier_ScottsHouse_EventScript_2636CB
+ end
+
+BattleFrontier_ScottsHouse_EventScript_2636CB:: @ 82636CB
+ checkflag FLAG_0x1D1
+ goto_if 0, BattleFrontier_ScottsHouse_EventScript_263943
+ checkflag FLAG_0x05C
+ goto_if 0, BattleFrontier_ScottsHouse_EventScript_263704
+ checkflag FLAG_0x1D2
+ goto_if 0, BattleFrontier_ScottsHouse_EventScript_26376A
+ goto BattleFrontier_ScottsHouse_EventScript_2636EC
+ end
+
+BattleFrontier_ScottsHouse_EventScript_2636EC:: @ 82636EC
+ checkflag FLAG_0x0ED
+ goto_if 0, BattleFrontier_ScottsHouse_EventScript_26381B
+ checkflag FLAG_0x0EE
+ goto_if 0, BattleFrontier_ScottsHouse_EventScript_2638B4
+ goto BattleFrontier_ScottsHouse_EventScript_2637E4
+ end
+
+BattleFrontier_ScottsHouse_EventScript_263704:: @ 8263704
+ checkflag FLAG_SYS_TOWER_SILVER
+ goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
+ checkflag FLAG_SYS_DOME_SILVER
+ goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
+ checkflag FLAG_SYS_PALACE_SILVER
+ goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
+ checkflag FLAG_SYS_ARENA_SILVER
+ goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
+ checkflag FLAG_SYS_FACTORY_SILVER
+ goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
+ checkflag FLAG_SYS_PIKE_SILVER
+ goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
+ checkflag FLAG_SYS_PYRAMID_SILVER
+ goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
+ msgbox BattleFrontier_ScottsHouse_Text_2640BC, 4
+ giveitem_std ITEM_LANSAT_BERRY
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_ScottsHouse_EventScript_2637D0
+ setflag FLAG_0x05C
+ setflag FLAG_0x004
+ release
+ end
+
+BattleFrontier_ScottsHouse_EventScript_26376A:: @ 826376A
+ checkflag FLAG_SYS_TOWER_GOLD
+ goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
+ checkflag FLAG_SYS_DOME_GOLD
+ goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
+ checkflag FLAG_SYS_PALACE_GOLD
+ goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
+ checkflag FLAG_SYS_ARENA_GOLD
+ goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
+ checkflag FLAG_SYS_FACTORY_GOLD
+ goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
+ checkflag FLAG_SYS_PIKE_GOLD
+ goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
+ checkflag FLAG_SYS_PYRAMID_GOLD
+ goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
+ msgbox BattleFrontier_ScottsHouse_Text_264216, 4
+ giveitem_std ITEM_STARF_BERRY
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_ScottsHouse_EventScript_2637D0
+ setflag FLAG_0x1D2
+ setflag FLAG_0x004
+ release
+ end
+
+BattleFrontier_ScottsHouse_EventScript_2637D0:: @ 82637D0
+ msgbox BattleFrontier_ScottsHouse_Text_2643EB, 4
+ release
+ end
+
+BattleFrontier_ScottsHouse_EventScript_2637DA:: @ 82637DA
+ msgbox BattleFrontier_ScottsHouse_Text_264373, 4
+ release
+ end
+
+BattleFrontier_ScottsHouse_EventScript_2637E4:: @ 82637E4
+ random 3
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BattleFrontier_ScottsHouse_EventScript_263807
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq BattleFrontier_ScottsHouse_EventScript_263811
+ msgbox BattleFrontier_ScottsHouse_Text_263DDD, 4
+ release
+ end
+
+BattleFrontier_ScottsHouse_EventScript_263807:: @ 8263807
+ msgbox BattleFrontier_ScottsHouse_Text_263F12, 4
+ release
+ end
+
+BattleFrontier_ScottsHouse_EventScript_263811:: @ 8263811
+ msgbox BattleFrontier_ScottsHouse_Text_263FFE, 4
+ release
+ end
+
+BattleFrontier_ScottsHouse_EventScript_26381B:: @ 826381B
+ setvar VAR_0x40CE, 0
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ special sub_8161F74
+ compare_var_to_value VAR_RESULT, 50
+ goto_if 4, BattleFrontier_ScottsHouse_EventScript_26387A
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ special sub_8161F74
+ compare_var_to_value VAR_RESULT, 50
+ goto_if 4, BattleFrontier_ScottsHouse_EventScript_26387A
+ goto BattleFrontier_ScottsHouse_EventScript_2637E4
+ end
+
+BattleFrontier_ScottsHouse_EventScript_26387A:: @ 826387A
+ msgbox BattleFrontier_ScottsHouse_Text_264412, 4
+ givedecoration_std 42
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_ScottsHouse_EventScript_2638A0
+ setflag FLAG_0x0ED
+ setflag FLAG_0x003
+ goto BattleFrontier_ScottsHouse_EventScript_2638AA
+ end
+
+BattleFrontier_ScottsHouse_EventScript_2638A0:: @ 82638A0
+ msgbox BattleFrontier_ScottsHouse_Text_264583, 4
+ release
+ end
+
+BattleFrontier_ScottsHouse_EventScript_2638AA:: @ 82638AA
+ msgbox BattleFrontier_ScottsHouse_Text_264546, 4
+ release
+ end
+
+BattleFrontier_ScottsHouse_EventScript_2638B4:: @ 82638B4
+ setvar VAR_0x40CE, 0
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ special sub_8161F74
+ compare_var_to_value VAR_RESULT, 100
+ goto_if 4, BattleFrontier_ScottsHouse_EventScript_263913
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ special sub_8161F74
+ compare_var_to_value VAR_RESULT, 100
+ goto_if 4, BattleFrontier_ScottsHouse_EventScript_263913
+ goto BattleFrontier_ScottsHouse_EventScript_2637E4
+ end
+
+BattleFrontier_ScottsHouse_EventScript_263913:: @ 8263913
+ msgbox BattleFrontier_ScottsHouse_Text_26449F, 4
+ givedecoration_std 43
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BattleFrontier_ScottsHouse_EventScript_2638A0
+ setflag FLAG_0x0EE
+ setflag FLAG_0x003
+ goto BattleFrontier_ScottsHouse_EventScript_2638AA
+ end
+
+BattleFrontier_ScottsHouse_EventScript_263939:: @ 8263939
+ msgbox BattleFrontier_ScottsHouse_Text_263DB8, 4
+ release
+ end
+
+BattleFrontier_ScottsHouse_EventScript_263943:: @ 8263943
+ msgbox BattleFrontier_ScottsHouse_Text_263A3F, 4
+ closemessage
+ delay 30
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, BattleFrontier_ScottsHouse_EventScript_263A13
+ compare_var_to_value VAR_FACING, 1
+ call_if 1, BattleFrontier_ScottsHouse_EventScript_263A1E
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, BattleFrontier_ScottsHouse_EventScript_263A29
+ compare_var_to_value VAR_FACING, 3
+ call_if 1, BattleFrontier_ScottsHouse_EventScript_263A34
+ msgbox BattleFrontier_ScottsHouse_Text_263B29, 4
+ applymovement 1, BattleFrontier_ScottsHouse_Movement_27259E
+ waitmovement 0
+ msgbox BattleFrontier_ScottsHouse_Text_263BD4, 4
+ compare_var_to_value VAR_0x40D1, 13
+ goto_eq BattleFrontier_ScottsHouse_EventScript_2639BC
+ compare_var_to_value VAR_0x40D1, 9
+ goto_if 4, BattleFrontier_ScottsHouse_EventScript_2639CB
+ compare_var_to_value VAR_0x40D1, 6
+ goto_if 4, BattleFrontier_ScottsHouse_EventScript_2639DA
+ goto BattleFrontier_ScottsHouse_EventScript_2639E9
+ end
+
+BattleFrontier_ScottsHouse_EventScript_2639BC:: @ 82639BC
+ buffernumberstring 0, 4
+ setvar VAR_0x8004, 4
+ goto BattleFrontier_ScottsHouse_EventScript_2639F8
+ end
+
+BattleFrontier_ScottsHouse_EventScript_2639CB:: @ 82639CB
+ buffernumberstring 0, 3
+ setvar VAR_0x8004, 3
+ goto BattleFrontier_ScottsHouse_EventScript_2639F8
+ end
+
+BattleFrontier_ScottsHouse_EventScript_2639DA:: @ 82639DA
+ buffernumberstring 0, 2
+ setvar VAR_0x8004, 2
+ goto BattleFrontier_ScottsHouse_EventScript_2639F8
+ end
+
+BattleFrontier_ScottsHouse_EventScript_2639E9:: @ 82639E9
+ buffernumberstring 0, 1
+ setvar VAR_0x8004, 1
+ goto BattleFrontier_ScottsHouse_EventScript_2639F8
+ end
+
+BattleFrontier_ScottsHouse_EventScript_2639F8:: @ 82639F8
+ special sub_813A9D0
+ msgbox BattleFrontier_ScottsHouse_Text_263CB0, 9
+ msgbox BattleFrontier_ScottsHouse_Text_263CD0, 4
+ setflag FLAG_0x1D1
+ setflag FLAG_0x002
+ release
+ end
+
+BattleFrontier_ScottsHouse_EventScript_263A13:: @ 8263A13
+ applymovement 1, BattleFrontier_ScottsHouse_Movement_2725A6
+ waitmovement 0
+ return
+
+BattleFrontier_ScottsHouse_EventScript_263A1E:: @ 8263A1E
+ applymovement 1, BattleFrontier_ScottsHouse_Movement_2725AA
+ waitmovement 0
+ return
+
+BattleFrontier_ScottsHouse_EventScript_263A29:: @ 8263A29
+ applymovement 1, BattleFrontier_ScottsHouse_Movement_2725A8
+ waitmovement 0
+ return
+
+BattleFrontier_ScottsHouse_EventScript_263A34:: @ 8263A34
+ applymovement 1, BattleFrontier_ScottsHouse_Movement_2725A4
+ waitmovement 0
+ return
+
+BattleFrontier_ScottsHouse_Text_263A3F: @ 8263A3F
+ .string "SCOTT: Well, hello and welcome!\n"
+ .string "Heheh… Sorry about the cramped space.\p"
+ .string "Anyway, {PLAYER}{KUN}, let me formally\n"
+ .string "welcome you to the BATTLE FRONTIER.\p"
+ .string "This is my dream come true.\n"
+ .string "It took me years and years, but I’ve\l"
+ .string "finally given shape to my dream.$"
+
+BattleFrontier_ScottsHouse_Text_263B29: @ 8263B29
+ .string "On reflection, it was a terribly long\n"
+ .string "journey…\p"
+ .string "I left home alone on a quest to find\n"
+ .string "strong TRAINERS.\p"
+ .string "No one can imagine how much effort\n"
+ .string "or time it took to make this real.$"
+
+BattleFrontier_ScottsHouse_Text_263BD4: @ 8263BD4
+ .string "But that’s all in the past.\n"
+ .string "No point dwelling on that!\p"
+ .string "All I want for you is to enjoy battling\n"
+ .string "to your heart’s content here.\p"
+ .string "{PLAYER}{KUN}, I want you to have this\n"
+ .string "as a memento for all the time our\l"
+ .string "paths crossed on our journeys.$"
+
+BattleFrontier_ScottsHouse_Text_263CB0: @ 8263CB0
+ .string "{PLAYER} obtained\n"
+ .string "{STR_VAR_1} Battle Point(s).$"
+
+BattleFrontier_ScottsHouse_Text_263CD0: @ 8263CD0
+ .string "SCOTT: You can check your Battle\n"
+ .string "Points on your FRONTIER PASS.\p"
+ .string "The more success you have here at\n"
+ .string "the BATTLE FRONTIER, the more Battle\l"
+ .string "Points you will collect.\p"
+ .string "Use your Battle Points the way you\n"
+ .string "see fit, like trading them for items.$"
+
+BattleFrontier_ScottsHouse_Text_263DB8: @ 8263DB8
+ .string "I’m expecting great things from you!$"
+
+BattleFrontier_ScottsHouse_Text_263DDD: @ 8263DDD
+ .string "SCOTT: Every TRAINER is an individual.\n"
+ .string "They all lead lives of their own.\p"
+ .string "But when they’re in a battle,\n"
+ .string "it doesn’t matter who they are.\p"
+ .string "They’re all the same!\p"
+ .string "I love the purity of battle,\n"
+ .string "where everyone is equal.\p"
+ .string "That’s why I go everywhere seeking\n"
+ .string "TRAINERS who are serious about\l"
+ .string "battling, and invite them here.$"
+
+BattleFrontier_ScottsHouse_Text_263F12: @ 8263F12
+ .string "SCOTT: Have you met any of\n"
+ .string "the FRONTIER BRAINS?\p"
+ .string "Better yet, have you obtained any\n"
+ .string "symbols from them?\p"
+ .string "I handpicked the FRONTIER BRAINS\n"
+ .string "as the toughest TRAINERS anywhere.\p"
+ .string "But I’m sure that seeing how tough\n"
+ .string "you are will startle even them!$"
+
+BattleFrontier_ScottsHouse_Text_263FFE: @ 8263FFE
+ .string "SCOTT: You don’t just train for battle,\n"
+ .string "right?\p"
+ .string "I think I remember you working on\n"
+ .string "a POKéDEX as well.\p"
+ .string "Well, guess what?\p"
+ .string "You may run into wild POKéMON in\n"
+ .string "the BATTLE FRONTIER somewhere…\l"
+ .string "Fufufu!$"
+
+BattleFrontier_ScottsHouse_Text_2640BC: @ 82640BC
+ .string "SCOTT: Are you enjoying things in\n"
+ .string "the BATTLE FRONTIER?\p"
+ .string "…Wait a second…\n"
+ .string "Oh!\p"
+ .string "Your FRONTIER PASS!\n"
+ .string "You’ve collected the full set\l"
+ .string "of silver symbols!\p"
+ .string "That’s more than impressive!\n"
+ .string "You are tough, just as I suspected!\p"
+ .string "Normally, I wouldn’t do something\n"
+ .string "like this, but this is a special time!\p"
+ .string "I want you to have this.\n"
+ .string "I’m sure you can put it to proper use.$"
+
+BattleFrontier_ScottsHouse_Text_264216: @ 8264216
+ .string "SCOTT: I hope you’re enjoying\n"
+ .string "everything in the BATTLE FRONTIER.\p"
+ .string "…Wait a second…\n"
+ .string "Oh, my disbelieving eyes!\p"
+ .string "Your FRONTIER PASS!\n"
+ .string "You’ve gathered up the full set\l"
+ .string "of gold symbols!\p"
+ .string "That’s more than stupendous!\n"
+ .string "You’re incredible, just as I suspected!\p"
+ .string "… … … … … …\p"
+ .string "{PLAYER}, you’ve got to accept this!\p"
+ .string "I think you will be able to\n"
+ .string "appreciate the value of my gift!$"
+
+BattleFrontier_ScottsHouse_Text_264373: @ 8264373
+ .string "I must say I have the gift of knowing\n"
+ .string "a good TRAINER when I see one.\p"
+ .string "I’m so glad I had the foresight to\n"
+ .string "bring you here!$"
+
+BattleFrontier_ScottsHouse_Text_2643EB: @ 82643EB
+ .string "Your BERRY POCKET seems to\n"
+ .string "be stuffed.$"
+
+BattleFrontier_ScottsHouse_Text_264412: @ 8264412
+ .string "SCOTT: Oh, I heard about you!\n"
+ .string "How you ruled the BATTLE TOWER!\l"
+ .string "You beat over 50 TRAINERS in a row?\p"
+ .string "That’s fantastic!\n"
+ .string "I want you to have this!$"
+
+BattleFrontier_ScottsHouse_Text_26449F: @ 826449F
+ .string "SCOTT: Oh, my! I heard about you!\n"
+ .string "How you overwhelmed the BATTLE TOWER!\l"
+ .string "You beat over 100 TRAINERS in a row?\p"
+ .string "That’s ridiculously spectacular!\n"
+ .string "You’ve got to have this!$"
+
+BattleFrontier_ScottsHouse_Text_264546: @ 8264546
+ .string "I’ll be expecting to hear even greater\n"
+ .string "things about you now!$"
+
+BattleFrontier_ScottsHouse_Text_264583: @ 8264583
+ .string "Oops, well, if you have too much\n"
+ .string "stuff, come back for this later.$"
+
diff --git a/data/scripts/maps/BattlePyramidSquare01.inc b/data/scripts/maps/BattlePyramidSquare01.inc
new file mode 100644
index 000000000..c51e49ba7
--- /dev/null
+++ b/data/scripts/maps/BattlePyramidSquare01.inc
@@ -0,0 +1 @@
+BattlePyramidSquare01_MapScripts:: @ 823D1A5
diff --git a/data/scripts/maps/BattlePyramidSquare02.inc b/data/scripts/maps/BattlePyramidSquare02.inc
new file mode 100644
index 000000000..a694b03bf
--- /dev/null
+++ b/data/scripts/maps/BattlePyramidSquare02.inc
@@ -0,0 +1 @@
+BattlePyramidSquare02_MapScripts:: @ 823D1A5
diff --git a/data/scripts/maps/BattlePyramidSquare03.inc b/data/scripts/maps/BattlePyramidSquare03.inc
new file mode 100644
index 000000000..229dd5a28
--- /dev/null
+++ b/data/scripts/maps/BattlePyramidSquare03.inc
@@ -0,0 +1 @@
+BattlePyramidSquare03_MapScripts:: @ 823D1A5
diff --git a/data/scripts/maps/BattlePyramidSquare04.inc b/data/scripts/maps/BattlePyramidSquare04.inc
new file mode 100644
index 000000000..a231965b5
--- /dev/null
+++ b/data/scripts/maps/BattlePyramidSquare04.inc
@@ -0,0 +1 @@
+BattlePyramidSquare04_MapScripts:: @ 823D1A5
diff --git a/data/scripts/maps/BattlePyramidSquare05.inc b/data/scripts/maps/BattlePyramidSquare05.inc
new file mode 100644
index 000000000..e4670f78c
--- /dev/null
+++ b/data/scripts/maps/BattlePyramidSquare05.inc
@@ -0,0 +1 @@
+BattlePyramidSquare05_MapScripts:: @ 823D1A5
diff --git a/data/scripts/maps/BattlePyramidSquare06.inc b/data/scripts/maps/BattlePyramidSquare06.inc
new file mode 100644
index 000000000..6c0d38e41
--- /dev/null
+++ b/data/scripts/maps/BattlePyramidSquare06.inc
@@ -0,0 +1 @@
+BattlePyramidSquare06_MapScripts:: @ 823D1A5
diff --git a/data/scripts/maps/BattlePyramidSquare07.inc b/data/scripts/maps/BattlePyramidSquare07.inc
new file mode 100644
index 000000000..8603a6916
--- /dev/null
+++ b/data/scripts/maps/BattlePyramidSquare07.inc
@@ -0,0 +1 @@
+BattlePyramidSquare07_MapScripts:: @ 823D1A5
diff --git a/data/scripts/maps/BattlePyramidSquare08.inc b/data/scripts/maps/BattlePyramidSquare08.inc
new file mode 100644
index 000000000..68a055f0e
--- /dev/null
+++ b/data/scripts/maps/BattlePyramidSquare08.inc
@@ -0,0 +1 @@
+BattlePyramidSquare08_MapScripts:: @ 823D1A5
diff --git a/data/scripts/maps/BattlePyramidSquare09.inc b/data/scripts/maps/BattlePyramidSquare09.inc
new file mode 100644
index 000000000..e93734988
--- /dev/null
+++ b/data/scripts/maps/BattlePyramidSquare09.inc
@@ -0,0 +1 @@
+BattlePyramidSquare09_MapScripts:: @ 823D1A5
diff --git a/data/scripts/maps/BattlePyramidSquare10.inc b/data/scripts/maps/BattlePyramidSquare10.inc
new file mode 100644
index 000000000..412e608e7
--- /dev/null
+++ b/data/scripts/maps/BattlePyramidSquare10.inc
@@ -0,0 +1 @@
+BattlePyramidSquare10_MapScripts:: @ 823D1A5
diff --git a/data/scripts/maps/BattlePyramidSquare11.inc b/data/scripts/maps/BattlePyramidSquare11.inc
new file mode 100644
index 000000000..3b82fb925
--- /dev/null
+++ b/data/scripts/maps/BattlePyramidSquare11.inc
@@ -0,0 +1 @@
+BattlePyramidSquare11_MapScripts:: @ 823D1A5
diff --git a/data/scripts/maps/BattlePyramidSquare12.inc b/data/scripts/maps/BattlePyramidSquare12.inc
new file mode 100644
index 000000000..87a38213b
--- /dev/null
+++ b/data/scripts/maps/BattlePyramidSquare12.inc
@@ -0,0 +1 @@
+BattlePyramidSquare12_MapScripts:: @ 823D1A5
diff --git a/data/scripts/maps/BattlePyramidSquare13.inc b/data/scripts/maps/BattlePyramidSquare13.inc
new file mode 100644
index 000000000..188109305
--- /dev/null
+++ b/data/scripts/maps/BattlePyramidSquare13.inc
@@ -0,0 +1 @@
+BattlePyramidSquare13_MapScripts:: @ 823D1A5
diff --git a/data/scripts/maps/BattlePyramidSquare14.inc b/data/scripts/maps/BattlePyramidSquare14.inc
new file mode 100644
index 000000000..5ae39cb8a
--- /dev/null
+++ b/data/scripts/maps/BattlePyramidSquare14.inc
@@ -0,0 +1 @@
+BattlePyramidSquare14_MapScripts:: @ 823D1A5
diff --git a/data/scripts/maps/BattlePyramidSquare15.inc b/data/scripts/maps/BattlePyramidSquare15.inc
new file mode 100644
index 000000000..f1b7782d7
--- /dev/null
+++ b/data/scripts/maps/BattlePyramidSquare15.inc
@@ -0,0 +1 @@
+BattlePyramidSquare15_MapScripts:: @ 823D1A5
diff --git a/data/scripts/maps/BattlePyramidSquare16.inc b/data/scripts/maps/BattlePyramidSquare16.inc
new file mode 100644
index 000000000..9308930d1
--- /dev/null
+++ b/data/scripts/maps/BattlePyramidSquare16.inc
@@ -0,0 +1,3 @@
+BattlePyramidSquare16_MapScripts:: @ 823D1A5
+ .byte 0
+
diff --git a/data/scripts/maps/BirthIsland_Exterior.inc b/data/scripts/maps/BirthIsland_Exterior.inc
new file mode 100644
index 000000000..8ea18a673
--- /dev/null
+++ b/data/scripts/maps/BirthIsland_Exterior.inc
@@ -0,0 +1,125 @@
+BirthIsland_Exterior_MapScripts:: @ 8267F15
+ map_script 3, BirthIsland_Exterior_MapScript1_267F29
+ map_script 5, BirthIsland_Exterior_MapScript1_267F65
+ map_script 7, BirthIsland_Exterior_MapScript1_267F25
+ .byte 0
+
+BirthIsland_Exterior_MapScript1_267F25: @ 8267F25
+ special sub_813B1D0
+ end
+
+BirthIsland_Exterior_MapScript1_267F29: @ 8267F29
+ setflag FLAG_0x8D3
+ setvar VAR_0x4010, 100
+ setvar VAR_0x4034, 0
+ setvar VAR_0x4035, 0
+ checkflag FLAG_0x1AD
+ call_if 1, BirthIsland_Exterior_EventScript_267F4E
+ checkflag FLAG_0x1AD
+ call_if 0, BirthIsland_Exterior_EventScript_267F55
+ end
+
+BirthIsland_Exterior_EventScript_267F4E:: @ 8267F4E
+ setflag FLAG_0x2FB
+ setflag FLAG_0x2FC
+ return
+
+BirthIsland_Exterior_EventScript_267F55:: @ 8267F55
+ checkflag FLAG_0x1AC
+ goto_eq BirthIsland_Exterior_EventScript_27374E
+ clearflag FLAG_0x2FC
+ clearflag FLAG_0x8D4
+ return
+
+BirthIsland_Exterior_MapScript1_267F65: @ 8267F65
+ checkflag FLAG_SYS_CTRL_OBJ_DELETE
+ call_if 1, BirthIsland_Exterior_EventScript_267F6F
+ end
+
+BirthIsland_Exterior_EventScript_267F6F:: @ 8267F6F
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 7
+ goto_if 5, BirthIsland_Exterior_EventScript_27374E
+ removeobject 2
+ return
+
+BirthIsland_Exterior_EventScript_267F83:: @ 8267F83
+ lock
+ faceplayer
+ special sub_813AFC8
+ waitstate
+ switch VAR_RESULT
+ case 0, BirthIsland_Exterior_EventScript_267FBB
+ case 1, BirthIsland_Exterior_EventScript_267FBD
+ case 2, BirthIsland_Exterior_EventScript_267FC1
+ case 3, BirthIsland_Exterior_EventScript_267FBF
+ end
+
+BirthIsland_Exterior_EventScript_267FBB:: @ 8267FBB
+ release
+ end
+
+BirthIsland_Exterior_EventScript_267FBD:: @ 8267FBD
+ release
+ end
+
+BirthIsland_Exterior_EventScript_267FBF:: @ 8267FBF
+ release
+ end
+
+BirthIsland_Exterior_EventScript_267FC1:: @ 8267FC1
+ waitse
+ setfieldeffectargument 0, 1
+ setfieldeffectargument 1, 58
+ setfieldeffectargument 2, 26
+ dofieldeffect 65
+ playbgm BGM_FRLG_DEOXYS_EYE, 0
+ waitfieldeffect 65
+ addobject 2
+ applymovement 2, BirthIsland_Exterior_Movement_268054
+ waitmovement 0
+ waitse
+ playmoncry SPECIES_DEOXYS, 2
+ delay 40
+ waitmoncry
+ setvar VAR_LAST_TALKED, 2
+ setvar VAR_0x8004, 410
+ setvar VAR_0x8005, 30
+ setvar VAR_0x8006, 0
+ special DoScriptedWildBattle
+ setflag FLAG_SYS_CTRL_OBJ_DELETE
+ special sub_80B0934
+ waitstate
+ clearflag FLAG_SYS_CTRL_OBJ_DELETE
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq BirthIsland_Exterior_EventScript_26803B
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq BirthIsland_Exterior_EventScript_268049
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq BirthIsland_Exterior_EventScript_268049
+ setflag FLAG_0x1AD
+ release
+ end
+
+BirthIsland_Exterior_EventScript_26803B:: @ 826803B
+ setflag FLAG_0x1AC
+ setvar VAR_0x8004, 410
+ goto BirthIsland_Exterior_EventScript_273776
+ end
+
+BirthIsland_Exterior_EventScript_268049:: @ 8268049
+ setvar VAR_0x8004, 410
+ goto BirthIsland_Exterior_EventScript_273776
+ end
+
+BirthIsland_Exterior_Movement_268054: @ 8268054
+ slow_step_down
+ slow_step_down
+ slow_step_down
+ slow_step_down
+ slow_step_down
+ slow_step_down
+ slow_step_down
+ step_end
+
diff --git a/data/scripts/maps/BirthIsland_Harbor.inc b/data/scripts/maps/BirthIsland_Harbor.inc
new file mode 100644
index 000000000..8021a1de6
--- /dev/null
+++ b/data/scripts/maps/BirthIsland_Harbor.inc
@@ -0,0 +1,27 @@
+BirthIsland_Harbor_MapScripts:: @ 826805C
+ .byte 0
+
+BirthIsland_Harbor_EventScript_26805D:: @ 826805D
+ lock
+ faceplayer
+ msgbox BirthIsland_Harbor_Text_2C6B90, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq BirthIsland_Harbor_EventScript_2680A2
+ msgbox BirthIsland_Harbor_Text_2A6A5D, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, BirthIsland_Harbor_Movement_2725AA
+ waitmovement 0
+ delay 30
+ hideobjectat 1, BIRTH_ISLAND_HARBOR
+ setvar VAR_0x8004, 2
+ call BirthIsland_Harbor_EventScript_272250
+ warp LILYCOVE_CITY_HARBOR, 255, 8, 11
+ waitstate
+ release
+ end
+
+BirthIsland_Harbor_EventScript_2680A2:: @ 82680A2
+ msgbox BirthIsland_Harbor_Text_2A6A82, 4
+ release
+ end
+
diff --git a/data/scripts/maps/CaveOfOrigin_1F.inc b/data/scripts/maps/CaveOfOrigin_1F.inc
new file mode 100644
index 000000000..42c78d4b7
--- /dev/null
+++ b/data/scripts/maps/CaveOfOrigin_1F.inc
@@ -0,0 +1,9 @@
+CaveOfOrigin_1F_MapScripts:: @ 8235768
+ map_script 3, CaveOfOrigin_1F_MapScript1_23576E
+ .byte 0
+
+CaveOfOrigin_1F_MapScript1_23576E: @ 823576E
+ checkflag FLAG_0x071
+ call_if 1, CaveOfOrigin_1F_EventScript_2722C1
+ end
+
diff --git a/data/scripts/maps/CaveOfOrigin_B1F.inc b/data/scripts/maps/CaveOfOrigin_B1F.inc
new file mode 100644
index 000000000..5ac3ec64a
--- /dev/null
+++ b/data/scripts/maps/CaveOfOrigin_B1F.inc
@@ -0,0 +1,118 @@
+CaveOfOrigin_B1F_MapScripts:: @ 82357A8
+ .byte 0
+
+CaveOfOrigin_B1F_EventScript_2357A9:: @ 82357A9
+ lock
+ faceplayer
+ msgbox CaveOfOrigin_B1F_Text_23586E, 4
+ closemessage
+ applymovement 1, CaveOfOrigin_B1F_Movement_2725A6
+ waitmovement 0
+ delay 60
+ playse SE_PIN
+ applymovement 1, CaveOfOrigin_B1F_Movement_272598
+ waitmovement 0
+ applymovement 1, CaveOfOrigin_B1F_Movement_27259A
+ waitmovement 0
+ delay 30
+ applymovement 1, CaveOfOrigin_B1F_Movement_27259E
+ waitmovement 0
+ message CaveOfOrigin_B1F_Text_235ACE
+ waitmessage
+ goto CaveOfOrigin_B1F_EventScript_2357F0
+
+CaveOfOrigin_B1F_EventScript_2357F0:: @ 82357F0
+ multichoice 0, 0, 110, 0
+ switch VAR_RESULT
+ case 0, CaveOfOrigin_B1F_EventScript_23582C
+ case 1, CaveOfOrigin_B1F_EventScript_235837
+ case 2, CaveOfOrigin_B1F_EventScript_23584D
+ case 3, CaveOfOrigin_B1F_EventScript_235842
+ goto CaveOfOrigin_B1F_EventScript_235842
+ end
+
+CaveOfOrigin_B1F_EventScript_23582C:: @ 823582C
+ message CaveOfOrigin_B1F_Text_235B23
+ waitmessage
+ goto CaveOfOrigin_B1F_EventScript_2357F0
+
+CaveOfOrigin_B1F_EventScript_235837:: @ 8235837
+ message CaveOfOrigin_B1F_Text_235BBF
+ waitmessage
+ goto CaveOfOrigin_B1F_EventScript_2357F0
+
+CaveOfOrigin_B1F_EventScript_235842:: @ 8235842
+ message CaveOfOrigin_B1F_Text_235C99
+ waitmessage
+ goto CaveOfOrigin_B1F_EventScript_2357F0
+
+CaveOfOrigin_B1F_EventScript_23584D:: @ 823584D
+ msgbox CaveOfOrigin_B1F_Text_235CEE, 4
+ closemessage
+ playse SE_KAIDAN
+ fadescreenspeed 1, 4
+ setflag FLAG_0x137
+ setvar VAR_0x405E, 3
+ removeobject 1
+ clearflag FLAG_0x357
+ fadescreen 0
+ release
+ end
+
+CaveOfOrigin_B1F_Text_23586E: @ 823586E
+ .string "Ah, so you are {PLAYER}{KUN}?\n"
+ .string "I’ve heard tales of your exploits.\p"
+ .string "My name is WALLACE.\p"
+ .string "I was once the GYM LEADER of\n"
+ .string "SOOTOPOLIS, but something came up.\p"
+ .string "So now, I’ve entrusted my mentor JUAN\n"
+ .string "with the GYM’s operation.\p"
+ .string "… … … … … …\n"
+ .string "… … … … … …\p"
+ .string "GROUDON and KYOGRE, the two POKéMON\n"
+ .string "wreaking havoc here, are considered\l"
+ .string "to be super-ancient POKéMON.\p"
+ .string "But there aren’t just two super-\n"
+ .string "ancient POKéMON.\p"
+ .string "There is one more somewhere.\p"
+ .string "Somewhere, there is a super-\n"
+ .string "ancient POKéMON named RAYQUAZA.\p"
+ .string "It’s said that it was RAYQUAZA that\n"
+ .string "becalmed the two combatants in\l"
+ .string "the distant past.\p"
+ .string "But even I have no clue as to\n"
+ .string "RAYQUAZA’s whereabouts…$"
+
+CaveOfOrigin_B1F_Text_235ACE: @ 8235ACE
+ .string "WALLACE: {PLAYER}{KUN}, do you perhaps\n"
+ .string "know where RAYQUAZA is now?\p"
+ .string "If you do, please tell me.$"
+
+CaveOfOrigin_B1F_Text_235B23: @ 8235B23
+ .string "WALLACE: The CAVE OF ORIGIN?\p"
+ .string "But that’s right here!\n"
+ .string "I need you to do better than that!\p"
+ .string "Please, I need you to think about\n"
+ .string "where RAYQUAZA might be right now.$"
+
+CaveOfOrigin_B1F_Text_235BBF: @ 8235BBF
+ .string "WALLACE: MT. PYRE?\p"
+ .string "But when I met the old lady there\n"
+ .string "earlier, she made no mention of it.\p"
+ .string "I very much doubt that the old lady\n"
+ .string "would try to hide something from me…\p"
+ .string "{PLAYER}{KUN}, could you think about this\n"
+ .string "more carefully for me?$"
+
+CaveOfOrigin_B1F_Text_235C99: @ 8235C99
+ .string "WALLACE: Huh? You don’t remember?\n"
+ .string "Hmm… That’s a problem…\p"
+ .string "Can’t you remember somehow?$"
+
+CaveOfOrigin_B1F_Text_235CEE: @ 8235CEE
+ .string "WALLACE: The SKY PILLAR?\p"
+ .string "That’s it!\n"
+ .string "It must be the SKY PILLAR!\p"
+ .string "{PLAYER}{KUN}, there’s not a moment to lose!\n"
+ .string "We’ll head to the SKY PILLAR right away!$"
+
diff --git a/data/scripts/maps/CaveOfOrigin_Entrance.inc b/data/scripts/maps/CaveOfOrigin_Entrance.inc
new file mode 100644
index 000000000..a4b96a48f
--- /dev/null
+++ b/data/scripts/maps/CaveOfOrigin_Entrance.inc
@@ -0,0 +1,8 @@
+CaveOfOrigin_Entrance_MapScripts:: @ 8235759
+ map_script 5, CaveOfOrigin_Entrance_MapScript1_23575F
+ .byte 0
+
+CaveOfOrigin_Entrance_MapScript1_23575F: @ 823575F
+ setescapewarp SOOTOPOLIS_CITY, 255, 31, 17
+ end
+
diff --git a/data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap1.inc b/data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap1.inc
new file mode 100644
index 000000000..4b4240833
--- /dev/null
+++ b/data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap1.inc
@@ -0,0 +1,9 @@
+CaveOfOrigin_UnusedRubySapphireMap1_MapScripts:: @ 8235778
+ map_script 3, CaveOfOrigin_UnusedRubySapphireMap1_MapScript1_23577E
+ .byte 0
+
+CaveOfOrigin_UnusedRubySapphireMap1_MapScript1_23577E: @ 823577E
+ checkflag FLAG_0x071
+ call_if 1, CaveOfOrigin_UnusedRubySapphireMap1_EventScript_2722C1
+ end
+
diff --git a/data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap2.inc b/data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap2.inc
new file mode 100644
index 000000000..d73ff8231
--- /dev/null
+++ b/data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap2.inc
@@ -0,0 +1,9 @@
+CaveOfOrigin_UnusedRubySapphireMap2_MapScripts:: @ 8235788
+ map_script 3, CaveOfOrigin_UnusedRubySapphireMap2_MapScript1_23578E
+ .byte 0
+
+CaveOfOrigin_UnusedRubySapphireMap2_MapScript1_23578E: @ 823578E
+ checkflag FLAG_0x071
+ call_if 1, CaveOfOrigin_UnusedRubySapphireMap2_EventScript_2722C1
+ end
+
diff --git a/data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap3.inc b/data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap3.inc
new file mode 100644
index 000000000..7f4fb2ff1
--- /dev/null
+++ b/data/scripts/maps/CaveOfOrigin_UnusedRubySapphireMap3.inc
@@ -0,0 +1,9 @@
+CaveOfOrigin_UnusedRubySapphireMap3_MapScripts:: @ 8235798
+ map_script 3, CaveOfOrigin_UnusedRubySapphireMap3_MapScript1_23579E
+ .byte 0
+
+CaveOfOrigin_UnusedRubySapphireMap3_MapScript1_23579E: @ 823579E
+ checkflag FLAG_0x071
+ call_if 1, CaveOfOrigin_UnusedRubySapphireMap3_EventScript_2722C1
+ end
+
diff --git a/data/scripts/maps/DesertRuins.inc b/data/scripts/maps/DesertRuins.inc
new file mode 100644
index 000000000..bb2f6d23d
--- /dev/null
+++ b/data/scripts/maps/DesertRuins.inc
@@ -0,0 +1,98 @@
+DesertRuins_MapScripts:: @ 822D95B
+ map_script 5, DesertRuins_MapScript1_22D96B
+ map_script 1, DesertRuins_MapScript1_22D989
+ map_script 3, DesertRuins_MapScript1_22D9CA
+ .byte 0
+
+DesertRuins_MapScript1_22D96B: @ 822D96B
+ checkflag FLAG_SYS_CTRL_OBJ_DELETE
+ call_if 1, DesertRuins_EventScript_22D975
+ end
+
+DesertRuins_EventScript_22D975:: @ 822D975
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 7
+ goto_if 5, DesertRuins_EventScript_27374E
+ removeobject VAR_LAST_TALKED
+ return
+
+DesertRuins_MapScript1_22D989: @ 822D989
+ checkflag FLAG_SYS_BRAILLE_STRENGTH
+ call_if 0, DesertRuins_EventScript_22D993
+ end
+
+DesertRuins_EventScript_22D993:: @ 822D993
+ setmetatile 7, 19, 553, 1
+ setmetatile 8, 19, 553, 1
+ setmetatile 9, 19, 553, 1
+ setmetatile 7, 20, 565, 1
+ setmetatile 8, 20, 565, 1
+ setmetatile 9, 20, 565, 1
+ return
+
+DesertRuins_MapScript1_22D9CA: @ 822D9CA
+ setflag FLAG_0x8B6
+ checkflag FLAG_0x1BB
+ call_if 0, DesertRuins_EventScript_22D9D7
+ end
+
+DesertRuins_EventScript_22D9D7:: @ 822D9D7
+ clearflag FLAG_0x3A7
+ return
+
+DesertRuins_EventScript_22D9DB:: @ 822D9DB
+ lockall
+ checkflag FLAG_SYS_BRAILLE_STRENGTH
+ goto_eq DesertRuins_EventScript_22D9EE
+ braillemessage DesertRuins_Braille_2A6CA0
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
+DesertRuins_EventScript_22D9EE:: @ 822D9EE
+ msgbox gUnknown_0827304E, 4
+ releaseall
+ end
+
+DesertRuins_EventScript_22D9F8:: @ 822D9F8
+ lockall
+ braillemessage DesertRuins_Braille_2A6CA0
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
+DesertRuins_EventScript_22DA02:: @ 822DA02
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_REGIROCK, 2
+ delay 40
+ waitmoncry
+ setwildbattle SPECIES_REGIROCK, 40, ITEM_NONE
+ setflag FLAG_SYS_CTRL_OBJ_DELETE
+ special sub_80B0A74
+ waitstate
+ clearflag FLAG_SYS_CTRL_OBJ_DELETE
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq DesertRuins_EventScript_22DA49
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq DesertRuins_EventScript_22DA52
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq DesertRuins_EventScript_22DA52
+ setflag FLAG_0x1BB
+ release
+ end
+
+DesertRuins_EventScript_22DA49:: @ 822DA49
+ setflag FLAG_0x1BB
+ goto DesertRuins_EventScript_27376D
+ end
+
+DesertRuins_EventScript_22DA52:: @ 822DA52
+ setvar VAR_0x8004, 401
+ goto DesertRuins_EventScript_273776
+ end
+
diff --git a/data/scripts/maps/DesertUnderpass.inc b/data/scripts/maps/DesertUnderpass.inc
new file mode 100644
index 000000000..0db62ff75
--- /dev/null
+++ b/data/scripts/maps/DesertUnderpass.inc
@@ -0,0 +1,36 @@
+DesertUnderpass_MapScripts:: @ 823AF37
+ map_script 3, DesertUnderpass_MapScript1_23AF3D
+ .byte 0
+
+DesertUnderpass_MapScript1_23AF3D: @ 823AF3D
+ setflag FLAG_0x8DE
+ end
+
+DesertUnderpass_EventScript_23AF41:: @ 823AF41
+ lock
+ faceplayer
+ checkflag FLAG_0x14F
+ goto_eq DesertUnderpass_EventScript_23AF57
+ checkflag FLAG_0x150
+ goto_eq DesertUnderpass_EventScript_23AF68
+ release
+ end
+
+DesertUnderpass_EventScript_23AF57:: @ 823AF57
+ giveitem_std ITEM_CLAW_FOSSIL
+ removeobject 1
+ release
+ end
+
+DesertUnderpass_EventScript_23AF68:: @ 823AF68
+ giveitem_std ITEM_ROOT_FOSSIL
+ removeobject 1
+ release
+ end
+
+DesertUnderpass_Text_23AF79:: @ 823AF79
+ .string "{PLAYER} found the ROOT FOSSIL.$"
+
+DesertUnderpass_Text_23AF93:: @ 823AF93
+ .string "{PLAYER} found the CLAW FOSSIL.$"
+
diff --git a/data/scripts/maps/DewfordTown.inc b/data/scripts/maps/DewfordTown.inc
new file mode 100644
index 000000000..c00586316
--- /dev/null
+++ b/data/scripts/maps/DewfordTown.inc
@@ -0,0 +1,805 @@
+DewfordTown_MapScripts:: @ 81E9507
+ map_script 3, DewfordTown_MapScript1_1E950D
+ .byte 0
+
+DewfordTown_MapScript1_1E950D: @ 81E950D
+ setflag FLAG_VISITED_DEWFORD_TOWN
+ end
+
+DewfordTown_EventScript_1E9511:: @ 81E9511
+ lock
+ faceplayer
+ checkflag FLAG_0x0BD
+ goto_if 0, DewfordTown_EventScript_1E9585
+ message DewfordTown_Text_1E9C8A
+ waitmessage
+ multichoicedefault 21, 6, 0, 2, 0
+ switch VAR_RESULT
+ case 0, DewfordTown_EventScript_1E955A
+ case 1, DewfordTown_EventScript_1E956A
+ case 2, DewfordTown_EventScript_1E957A
+ case 127, DewfordTown_EventScript_1E957A
+ end
+
+DewfordTown_EventScript_1E955A:: @ 81E955A
+ msgbox DewfordTown_Text_1E9CE5, 4
+ closemessage
+ goto DewfordTown_EventScript_1E9660
+ release
+ end
+
+DewfordTown_EventScript_1E956A:: @ 81E956A
+ msgbox DewfordTown_Text_1E9D3A, 4
+ closemessage
+ goto DewfordTown_EventScript_1E96E7
+ release
+ end
+
+DewfordTown_EventScript_1E957A:: @ 81E957A
+ msgbox DewfordTown_Text_1E9D8F, 4
+ closemessage
+ release
+ end
+
+DewfordTown_EventScript_1E9585:: @ 81E9585
+ msgbox DewfordTown_Text_1E9B24, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq DewfordTown_EventScript_1E95A2
+ msgbox DewfordTown_Text_1E9BD9, 4
+ release
+ end
+
+DewfordTown_EventScript_1E95A2:: @ 81E95A2
+ msgbox DewfordTown_Text_1E9B7F, 4
+ closemessage
+ goto DewfordTown_EventScript_1E9660
+ end
+
+DewfordTown_EventScript_1E95B1:: @ 81E95B1
+ msgbox DewfordTown_Text_1E99A8, 2
+ end
+
+DewfordTown_EventScript_1E95BA:: @ 81E95BA
+ msgbox DewfordTown_Text_1E9A0F, 3
+ end
+
+DewfordTown_EventScript_1E95C3:: @ 81E95C3
+ msgbox DewfordTown_Text_1E9A3D, 3
+ end
+
+DewfordTown_EventScript_1E95CC:: @ 81E95CC
+ msgbox DewfordTown_Text_1E9A7F, 3
+ end
+
+DewfordTown_EventScript_1E95D5:: @ 81E95D5
+ lock
+ faceplayer
+ checkflag FLAG_0x101
+ goto_eq DewfordTown_EventScript_1E962A
+ msgbox DewfordTown_Text_1E9DD1, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq DewfordTown_EventScript_1E95FF
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq DewfordTown_EventScript_1E9620
+ end
+
+DewfordTown_EventScript_1E95FF:: @ 81E95FF
+ msgbox DewfordTown_Text_1E9E14, 4
+ giveitem_std ITEM_OLD_ROD
+ setflag FLAG_0x101
+ msgbox DewfordTown_Text_1E9E65, 4
+ release
+ end
+
+DewfordTown_EventScript_1E9620:: @ 81E9620
+ msgbox DewfordTown_Text_1E9F92, 4
+ release
+ end
+
+DewfordTown_EventScript_1E962A:: @ 81E962A
+ message DewfordTown_Text_1E9FB8
+ waitmessage
+ multichoice 20, 8, 50, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq DewfordTown_EventScript_1E964C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq DewfordTown_EventScript_1E9656
+ end
+
+DewfordTown_EventScript_1E964C:: @ 81E964C
+ msgbox DewfordTown_Text_1E9FD0, 4
+ release
+ end
+
+DewfordTown_EventScript_1E9656:: @ 81E9656
+ msgbox DewfordTown_Text_1EA004, 4
+ release
+ end
+
+DewfordTown_EventScript_1E9660:: @ 81E9660
+ call DewfordTown_EventScript_271E95
+ setobjectpriority 2, DEWFORD_TOWN, 0
+ setobjectpriority 255, DEWFORD_TOWN, 0
+ applymovement 2, DewfordTown_Movement_1E991D
+ waitmovement 0
+ removeobject 2
+ applymovement 255, DewfordTown_Movement_1E9911
+ waitmovement 0
+ hideobjectat 255, DEWFORD_TOWN
+ call DewfordTown_EventScript_2720A0
+ applymovement 4, DewfordTown_Movement_1E97A2
+ applymovement 255, DewfordTown_Movement_1E97A2
+ waitmovement 0
+ showobjectat 255, ROUTE_104
+ call DewfordTown_EventScript_2720A8
+ applymovement 255, DewfordTown_Movement_1E9914
+ waitmovement 0
+ showobjectat 255, ROUTE_104
+ clearflag FLAG_0x2E3
+ clearflag FLAG_0x371
+ clearflag FLAG_0x2E6
+ setflag FLAG_0x2E7
+ hideobjectat 4, DEWFORD_TOWN
+ setvar VAR_0x408E, 2
+ resetobjectpriority 255, DEWFORD_TOWN
+ warp ROUTE_104_MR_BRINEYS_HOUSE, 255, 5, 4
+ copyvar VAR_0x4096, VAR_0x8008
+ waitstate
+ release
+ end
+
+DewfordTown_EventScript_1E96E7:: @ 81E96E7
+ call DewfordTown_EventScript_271E95
+ setobjectpriority 2, DEWFORD_TOWN, 0
+ setobjectpriority 255, DEWFORD_TOWN, 1
+ applymovement 2, DewfordTown_Movement_1E991D
+ waitmovement 0
+ removeobject 2
+ applymovement 255, DewfordTown_Movement_1E9911
+ waitmovement 0
+ hideobjectat 255, DEWFORD_TOWN
+ call DewfordTown_EventScript_2720A0
+ applymovement 4, DewfordTown_Movement_1E9865
+ applymovement 255, DewfordTown_Movement_1E9865
+ waitmovement 0
+ call DewfordTown_EventScript_2720A8
+ showobjectat 255, ROUTE_109
+ applymovement 255, DewfordTown_Movement_1E9918
+ waitmovement 0
+ setobjectxyperm 2, 21, 26
+ addobject 2
+ setobjectpriority 2, ROUTE_109, 0
+ applymovement 2, DewfordTown_Movement_1E991F
+ waitmovement 0
+ clearflag FLAG_0x2E5
+ addobject 1
+ clearflag FLAG_0x2E8
+ setflag FLAG_0x2E7
+ hideobjectat 4, DEWFORD_TOWN
+ checkflag FLAG_0x095
+ call_if 0, DewfordTown_EventScript_1E9790
+ checkflag FLAG_0x095
+ call_if 1, DewfordTown_EventScript_1E9799
+ closemessage
+ copyvar VAR_0x4096, VAR_0x8008
+ resetobjectpriority 255, DEWFORD_TOWN
+ resetobjectpriority 2, ROUTE_109
+ moveobjectoffscreen 2
+ release
+ end
+
+DewfordTown_EventScript_1E9790:: @ 81E9790
+ msgbox DewfordTown_Text_1EEC1D, 4
+ return
+
+DewfordTown_EventScript_1E9799:: @ 81E9799
+ msgbox DewfordTown_Text_1EEDA7, 4
+ return
+
+DewfordTown_Movement_1E97A2: @ 81E97A2
+ step_up
+ step_up
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_up
+ step_up
+ step_left
+ step_left
+ step_17
+ step_17
+ step_17
+ step_17
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_17
+ step_17
+ step_17
+ step_17
+ step_16
+ step_16
+ step_16
+ step_16
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_16
+ step_16
+ step_16
+ step_16
+ step_17
+ step_17
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_17
+ step_17
+ step_16
+ step_16
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_16
+ step_16
+ step_16
+ step_16
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+DewfordTown_Movement_1E9865: @ 81E9865
+ step_right
+ step_18
+ step_18
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_18
+ step_18
+ step_16
+ step_16
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_end
+
+DewfordTown_Movement_1E9911: @ 81E9911
+ step_right
+ step_up
+ step_end
+
+DewfordTown_Movement_1E9914: @ 81E9914
+ step_up
+ step_up
+ step_up
+ step_end
+
+DewfordTown_Movement_1E9918: @ 81E9918
+ step_up
+ step_up
+ step_up
+ step_25
+ step_end
+
+DewfordTown_Movement_1E991D: @ 81E991D
+ step_up
+ step_end
+
+DewfordTown_Movement_1E991F: @ 81E991F
+ step_up
+ step_up
+ step_end
+
+DewfordTown_EventScript_1E9922:: @ 81E9922
+ lock
+ faceplayer
+ call DewfordTown_EventScript_271E8B
+ msgbox DewfordTown_Text_1EA136, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq DewfordTown_EventScript_1E9948
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq DewfordTown_EventScript_1E9952
+ end
+
+DewfordTown_EventScript_1E9948:: @ 81E9948
+ msgbox DewfordTown_Text_1EA491, 4
+ release
+ end
+
+DewfordTown_EventScript_1E9952:: @ 81E9952
+ msgbox DewfordTown_Text_1EA242, 4
+ setvar VAR_0x8004, 9
+ call DewfordTown_EventScript_271E7C
+ lock
+ faceplayer
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq DewfordTown_EventScript_1E997D
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq DewfordTown_EventScript_1E9994
+ end
+
+DewfordTown_EventScript_1E997D:: @ 81E997D
+ incrementgamestat 2
+ compare_var_to_value VAR_0x8004, 0
+ goto_eq DewfordTown_EventScript_1E999E
+ msgbox DewfordTown_Text_1EA2AA, 4
+ release
+ end
+
+DewfordTown_EventScript_1E9994:: @ 81E9994
+ msgbox DewfordTown_Text_1EA443, 4
+ release
+ end
+
+DewfordTown_EventScript_1E999E:: @ 81E999E
+ msgbox DewfordTown_Text_1EA3FE, 4
+ release
+ end
+
+DewfordTown_Text_1E99A8: @ 81E99A8
+ .string "DEWFORD is a tiny island community.\n"
+ .string "If something gets trendy here,\l"
+ .string "everyone picks up on it right away.$"
+
+DewfordTown_Text_1E9A0F: @ 81E9A0F
+ .string "DEWFORD TOWN\n"
+ .string "“A tiny island in the blue sea.”$"
+
+DewfordTown_Text_1E9A3D: @ 81E9A3D
+ .string "DEWFORD TOWN POKéMON GYM\n"
+ .string "LEADER: BRAWLY\l"
+ .string "“A big wave in fighting!”$"
+
+DewfordTown_Text_1E9A7F: @ 81E9A7F
+ .string "DEWFORD HALL\n"
+ .string "“Everyone’s information exchange!”$"
+
+Route104_Text_1E9AAF: @ 81E9AAF
+ .string "MR. BRINEY: Ahoy!\n"
+ .string "We’ve hit land in DEWFORD.\p"
+ .string "I suppose you’re off to deliver that\n"
+ .string "LETTER to, who was it now, STEVEN!$"
+
+DewfordTown_Text_1E9B24: @ 81E9B24
+ .string "MR. BRINEY: Have you delivered your\n"
+ .string "LETTER?\p"
+ .string "Or were you meaning to sail back to\n"
+ .string "PETALBURG?$"
+
+DewfordTown_Text_1E9B7F: @ 81E9B7F
+ .string "MR. BRINEY: PETALBURG it is, then!\p"
+ .string "Anchors aweigh!\n"
+ .string "PEEKO, we’re setting sail, my darling!$"
+
+DewfordTown_Text_1E9BD9: @ 81E9BD9
+ .string "MR. BRINEY: Then you go on and deliver\n"
+ .string "the LETTER. I’ll be waiting.$"
+
+Route104_Text_1E9C1D: @ 81E9C1D
+Route109_Text_1E9C1D: @ 81E9C1D
+ .string "MR. BRINEY: Ahoy!\n"
+ .string "We’ve hit land in DEWFORD!\p"
+ .string "You just go on and tell me whenever\n"
+ .string "you want to set sail again!$"
+
+DewfordTown_Text_1E9C8A: @ 81E9C8A
+ .string "MR. BRINEY: Ahoy!\n"
+ .string "For you, I’ll go out to sea anytime!\p"
+ .string "Now, my friend, where are we bound?$"
+
+DewfordTown_Text_1E9CE5: @ 81E9CE5
+ .string "MR. BRINEY: PETALBURG, is it?\p"
+ .string "Anchors aweigh!\n"
+ .string "PEEKO, we’re setting sail, my darling!$"
+
+DewfordTown_Text_1E9D3A: @ 81E9D3A
+ .string "MR. BRINEY: SLATEPORT, is it?\p"
+ .string "Anchors aweigh!\n"
+ .string "PEEKO, we’re setting sail, my darling!$"
+
+DewfordTown_Text_1E9D8F: @ 81E9D8F
+ .string "MR. BRINEY: You just tell me whenever\n"
+ .string "you need to set sail again!$"
+
+DewfordTown_Text_1E9DD1: @ 81E9DD1
+ .string "This is a renowned fishing spot.\n"
+ .string "Are you getting the itch to fish?$"
+
+DewfordTown_Text_1E9E14: @ 81E9E14
+ .string "I hear you, and I like what\n"
+ .string "you’re saying!\p"
+ .string "I’ll give you one of my fishing RODS.$"
+
+DewfordTown_Text_1E9E65: @ 81E9E65
+ .string "And, as an added bonus, I’ll even throw\n"
+ .string "in a little fishing advice!\p"
+ .string "First, you want to face the water,\n"
+ .string "then use the ROD.\p"
+ .string "Focus your mind…\n"
+ .string "If you get a bite, pull on the ROD.\p"
+ .string "Sometimes you can snag something\n"
+ .string "immediately, but with bigger catches,\l"
+ .string "you need to time the pulls on your ROD\l"
+ .string "to haul them in.$"
+
+DewfordTown_Text_1E9F92: @ 81E9F92
+ .string "Oh, is that so?\n"
+ .string "That’s too bad, then.$"
+
+DewfordTown_Text_1E9FB8: @ 81E9FB8
+ .string "Yo!\n"
+ .string "How’s your fishing?$"
+
+DewfordTown_Text_1E9FD0: @ 81E9FD0
+ .string "Is that right! That’s great!\n"
+ .string "Haul in some big ones!$"
+
+DewfordTown_Text_1EA004: @ 81EA004
+ .string "Oh, hey, don’t get down on yourself!\n"
+ .string "I’ll give you a little fishing advice.\p"
+ .string "First, you want to face the water,\n"
+ .string "then use the ROD.\p"
+ .string "Focus your mind…\n"
+ .string "If you get a bite, pull the ROD.\p"
+ .string "Sometimes you can snag something\n"
+ .string "immediately, but with bigger catches,\l"
+ .string "you need to time the pulls on your ROD\l"
+ .string "to haul them in.$"
+
+DewfordTown_Text_1EA136: @ 81EA136
+ .string "I like what’s hip, happening, and trendy.\n"
+ .string "I’m always checking it out.\p"
+ .string "Listen, have you heard about this new\n"
+ .string "“{STR_VAR_1}”?\p"
+ .string "That’s right!\n"
+ .string "Of course you know!\p"
+ .string "I mean, sheesh,\n"
+ .string "“{STR_VAR_1}”…\l"
+ .string "It’s the hottest thing in cool!\p"
+ .string "Wherever you’re from,\n"
+ .string "“{STR_VAR_1}”\l"
+ .string "is the biggest happening thing, right?$"
+
+DewfordTown_Text_1EA242: @ 81EA242
+ .string "Hunh?\n"
+ .string "It’s not the hip and happening thing?\p"
+ .string "Well, hey, you have to tell me,\n"
+ .string "what’s new and what’s “in”?$"
+
+DewfordTown_Text_1EA2AA: @ 81EA2AA
+ .string "Hunh?\n"
+ .string "“{STR_VAR_2}”?\p"
+ .string "… …\p"
+ .string "…Uh… Yeah! That’s right!\n"
+ .string "Yeah, I knew that! Knew it all along!\p"
+ .string "Of course I know about that!\n"
+ .string "“{STR_VAR_2},” right?\p"
+ .string "Yeah, that’s it, it’s there!\n"
+ .string "Isn’t “{STR_VAR_2}”\l"
+ .string "the coolest, or what?\p"
+ .string "It’s the hippest thing in hip.\n"
+ .string "You think I’d not know about it?\p"
+ .string "“{STR_VAR_1}”…\n"
+ .string "It’s, like, so five minutes ago.\p"
+ .string "Now, “{STR_VAR_2}” is\n"
+ .string "what’s vital and in tune with the times!$"
+
+DewfordTown_Text_1EA3FE: @ 81EA3FE
+ .string "Hmm…\n"
+ .string "“{STR_VAR_2},” huh?\p"
+ .string "But personally, I think\n"
+ .string "“{STR_VAR_1}”\l"
+ .string "is what’s real in cool.$"
+
+DewfordTown_Text_1EA443: @ 81EA443
+ .string "Well, if you hear of any happening new\n"
+ .string "trends, come share them with me, okay?$"
+
+DewfordTown_Text_1EA491: @ 81EA491
+ .string "Yeah, absolutely right!\p"
+ .string "“{STR_VAR_1}” is the\n"
+ .string "definition of “in” right now.$"
diff --git a/data/scripts/maps/DewfordTown_Gym.inc b/data/scripts/maps/DewfordTown_Gym.inc
new file mode 100644
index 000000000..a3f996f25
--- /dev/null
+++ b/data/scripts/maps/DewfordTown_Gym.inc
@@ -0,0 +1,491 @@
+DewfordTown_Gym_MapScripts:: @ 81FC63C
+ map_script 3, DewfordTown_Gym_MapScript1_1FC642
+ .byte 0
+
+DewfordTown_Gym_MapScript1_1FC642: @ 81FC642
+ call DewfordTown_Gym_EventScript_1FC648
+ end
+
+DewfordTown_Gym_EventScript_1FC648:: @ 81FC648
+ checktrainerflag TRAINER_BRAWLY_1
+ goto_eq DewfordTown_Gym_EventScript_1FC6A2
+ call DewfordTown_Gym_EventScript_1FC768
+ copyvar VAR_0x8001, VAR_0x8000
+ compare_var_to_value VAR_0x8000, 0
+ goto_eq DewfordTown_Gym_EventScript_1FC6BE
+ compare_var_to_value VAR_0x8000, 1
+ goto_eq DewfordTown_Gym_EventScript_1FC6BA
+ compare_var_to_value VAR_0x8000, 2
+ goto_eq DewfordTown_Gym_EventScript_1FC6B6
+ compare_var_to_value VAR_0x8000, 3
+ goto_eq DewfordTown_Gym_EventScript_1FC6B2
+ compare_var_to_value VAR_0x8000, 4
+ goto_eq DewfordTown_Gym_EventScript_1FC6AE
+ compare_var_to_value VAR_0x8000, 5
+ goto_eq DewfordTown_Gym_EventScript_1FC6AA
+ goto DewfordTown_Gym_EventScript_1FC6A6
+
+DewfordTown_Gym_EventScript_1FC6A2:: @ 81FC6A2
+ setflashradius 0
+ return
+
+DewfordTown_Gym_EventScript_1FC6A6:: @ 81FC6A6
+ setflashradius 1
+ return
+
+DewfordTown_Gym_EventScript_1FC6AA:: @ 81FC6AA
+ setflashradius 2
+ return
+
+DewfordTown_Gym_EventScript_1FC6AE:: @ 81FC6AE
+ setflashradius 3
+ return
+
+DewfordTown_Gym_EventScript_1FC6B2:: @ 81FC6B2
+ setflashradius 4
+ return
+
+DewfordTown_Gym_EventScript_1FC6B6:: @ 81FC6B6
+ setflashradius 5
+ return
+
+DewfordTown_Gym_EventScript_1FC6BA:: @ 81FC6BA
+ setflashradius 6
+ return
+
+DewfordTown_Gym_EventScript_1FC6BE:: @ 81FC6BE
+ setflashradius 7
+ return
+
+DewfordTown_Gym_EventScript_1FC6C2:: @ 81FC6C2
+ call DewfordTown_Gym_EventScript_1FC768
+ nop1
+ compare_var_to_var VAR_0x8000, VAR_0x8001
+ goto_eq DewfordTown_Gym_EventScript_1FC71A
+ copyvar VAR_0x8001, VAR_0x8000
+ compare_var_to_value VAR_0x8000, 1
+ goto_eq DewfordTown_Gym_EventScript_1FC71B
+ compare_var_to_value VAR_0x8000, 2
+ goto_eq DewfordTown_Gym_EventScript_1FC726
+ compare_var_to_value VAR_0x8000, 3
+ goto_eq DewfordTown_Gym_EventScript_1FC731
+ compare_var_to_value VAR_0x8000, 4
+ goto_eq DewfordTown_Gym_EventScript_1FC73C
+ compare_var_to_value VAR_0x8000, 5
+ goto_eq DewfordTown_Gym_EventScript_1FC747
+ compare_var_to_value VAR_0x8000, 6
+ goto_eq DewfordTown_Gym_EventScript_1FC752
+
+DewfordTown_Gym_EventScript_1FC71A:: @ 81FC71A
+ return
+
+DewfordTown_Gym_EventScript_1FC71B:: @ 81FC71B
+ playse SE_MU_PACHI
+ animateflash 6
+ call DewfordTown_Gym_EventScript_1FC648
+ return
+
+DewfordTown_Gym_EventScript_1FC726:: @ 81FC726
+ playse SE_MU_PACHI
+ animateflash 5
+ call DewfordTown_Gym_EventScript_1FC648
+ return
+
+DewfordTown_Gym_EventScript_1FC731:: @ 81FC731
+ playse SE_MU_PACHI
+ animateflash 4
+ call DewfordTown_Gym_EventScript_1FC648
+ return
+
+DewfordTown_Gym_EventScript_1FC73C:: @ 81FC73C
+ playse SE_MU_PACHI
+ animateflash 3
+ call DewfordTown_Gym_EventScript_1FC648
+ return
+
+DewfordTown_Gym_EventScript_1FC747:: @ 81FC747
+ playse SE_MU_PACHI
+ animateflash 2
+ call DewfordTown_Gym_EventScript_1FC648
+ return
+
+DewfordTown_Gym_EventScript_1FC752:: @ 81FC752
+ playse SE_MU_PACHI
+ animateflash 1
+ call DewfordTown_Gym_EventScript_1FC648
+ return
+
+DewfordTown_Gym_EventScript_1FC75D:: @ 81FC75D
+ playse SE_MU_PACHI
+ animateflash 0
+ call DewfordTown_Gym_EventScript_1FC648
+ return
+
+DewfordTown_Gym_EventScript_1FC768:: @ 81FC768
+ setvar VAR_0x8000, 0
+ checktrainerflag TRAINER_TAKAO
+ goto_if 0, DewfordTown_Gym_EventScript_1FC77B
+ addvar VAR_0x8000, 1
+
+DewfordTown_Gym_EventScript_1FC77B:: @ 81FC77B
+ checktrainerflag TRAINER_JOCELYN
+ goto_if 0, DewfordTown_Gym_EventScript_1FC789
+ addvar VAR_0x8000, 1
+
+DewfordTown_Gym_EventScript_1FC789:: @ 81FC789
+ checktrainerflag TRAINER_LAURA
+ goto_if 0, DewfordTown_Gym_EventScript_1FC797
+ addvar VAR_0x8000, 1
+
+DewfordTown_Gym_EventScript_1FC797:: @ 81FC797
+ checktrainerflag TRAINER_BRENDEN
+ goto_if 0, DewfordTown_Gym_EventScript_1FC7A5
+ addvar VAR_0x8000, 1
+
+DewfordTown_Gym_EventScript_1FC7A5:: @ 81FC7A5
+ checktrainerflag TRAINER_CRISTIAN
+ goto_if 0, DewfordTown_Gym_EventScript_1FC7B3
+ addvar VAR_0x8000, 1
+
+DewfordTown_Gym_EventScript_1FC7B3:: @ 81FC7B3
+ checktrainerflag TRAINER_LILITH
+ goto_if 0, DewfordTown_Gym_EventScript_1FC7C1
+ addvar VAR_0x8000, 1
+
+DewfordTown_Gym_EventScript_1FC7C1:: @ 81FC7C1
+ return
+
+DewfordTown_Gym_EventScript_1FC7C2:: @ 81FC7C2
+ trainerbattle 1, TRAINER_BRAWLY_1, 0, DewfordTown_Gym_Text_1FCF44, DewfordTown_Gym_Text_1FD008, DewfordTown_Gym_EventScript_1FC7F7
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq DewfordTown_Gym_EventScript_1FC89C
+ checkflag FLAG_0x0A6
+ goto_if 0, DewfordTown_Gym_EventScript_1FC878
+ msgbox DewfordTown_Gym_Text_1FD20D, 4
+ release
+ end
+
+DewfordTown_Gym_EventScript_1FC7F7:: @ 81FC7F7
+ call DewfordTown_Gym_EventScript_1FC75D
+ message DewfordTown_Gym_Text_1FD07D
+ waitmessage
+ call DewfordTown_Gym_EventScript_27207E
+ msgbox DewfordTown_Gym_Text_1FD0A8, 4
+ setflag FLAG_0x4F1
+ setflag FLAG_BADGE02_GET
+ addvar VAR_0x4085, 1
+ compare_var_to_value VAR_0x4085, 6
+ call_if 1, DewfordTown_Gym_EventScript_271E84
+ setvar VAR_0x8008, 2
+ call DewfordTown_Gym_EventScript_271F43
+ call DewfordTown_Gym_EventScript_1FC855
+ closemessage
+ delay 30
+ playfanfare BGM_ME_MATCH_CALL
+ msgbox DewfordTown_Gym_Text_1FD1E0, 4
+ waitfanfare
+ closemessage
+ delay 30
+ setflag FLAG_0x1D4
+ setvar VAR_0x40F4, 0
+ setflag FLAG_0x080
+ release
+ end
+
+DewfordTown_Gym_EventScript_1FC855:: @ 81FC855
+ giveitem_std ITEM_TM08
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq DewfordTown_Gym_EventScript_27205E
+ msgbox DewfordTown_Gym_Text_1FD181, 4
+ setflag FLAG_0x0A6
+ return
+
+DewfordTown_Gym_EventScript_1FC878:: @ 81FC878
+ giveitem_std ITEM_TM08
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq DewfordTown_Gym_EventScript_272054
+ msgbox DewfordTown_Gym_Text_1FD181, 4
+ setflag FLAG_0x0A6
+ release
+ end
+
+DewfordTown_Gym_EventScript_1FC89C:: @ 81FC89C
+ trainerbattle 7, TRAINER_BRAWLY_1, 0, DewfordTown_Gym_Text_1FD2C4, DewfordTown_Gym_Text_1FD367, DewfordTown_Gym_Text_1FD3DE
+ msgbox DewfordTown_Gym_Text_1FD37B, 6
+ end
+
+DewfordTown_Gym_EventScript_1FC8B7:: @ 81FC8B7
+ trainerbattle 2, TRAINER_TAKAO, 0, DewfordTown_Gym_Text_1FCB9F, DewfordTown_Gym_Text_1FCBB8, DewfordTown_Gym_EventScript_1FC8D2
+ msgbox DewfordTown_Gym_Text_1FCBCA, 6
+ end
+
+DewfordTown_Gym_EventScript_1FC8D2:: @ 81FC8D2
+ call DewfordTown_Gym_EventScript_1FC6C2
+ release
+ end
+
+DewfordTown_Gym_EventScript_1FC8D9:: @ 81FC8D9
+ trainerbattle 2, TRAINER_JOCELYN, 0, DewfordTown_Gym_Text_1FCC0A, DewfordTown_Gym_Text_1FCC45, DewfordTown_Gym_EventScript_1FC8F4
+ msgbox DewfordTown_Gym_Text_1FCC6B, 6
+ end
+
+DewfordTown_Gym_EventScript_1FC8F4:: @ 81FC8F4
+ call DewfordTown_Gym_EventScript_1FC6C2
+ release
+ end
+
+DewfordTown_Gym_EventScript_1FC8FB:: @ 81FC8FB
+ trainerbattle 2, TRAINER_LAURA, 0, DewfordTown_Gym_Text_1FCD01, DewfordTown_Gym_Text_1FCD3C, DewfordTown_Gym_EventScript_1FC916
+ msgbox DewfordTown_Gym_Text_1FCD4F, 6
+ end
+
+DewfordTown_Gym_EventScript_1FC916:: @ 81FC916
+ call DewfordTown_Gym_EventScript_1FC6C2
+ release
+ end
+
+DewfordTown_Gym_EventScript_1FC91D:: @ 81FC91D
+ trainerbattle 2, TRAINER_BRENDEN, 0, DewfordTown_Gym_Text_1FCE48, DewfordTown_Gym_Text_1FCE75, DewfordTown_Gym_EventScript_1FC938
+ msgbox DewfordTown_Gym_Text_1FCEAB, 6
+ end
+
+DewfordTown_Gym_EventScript_1FC938:: @ 81FC938
+ call DewfordTown_Gym_EventScript_1FC6C2
+ release
+ end
+
+DewfordTown_Gym_EventScript_1FC93F:: @ 81FC93F
+ trainerbattle 2, TRAINER_CRISTIAN, 0, DewfordTown_Gym_Text_1FCEDC, DewfordTown_Gym_Text_1FCF0A, DewfordTown_Gym_EventScript_1FC95A
+ msgbox DewfordTown_Gym_Text_1FCF26, 6
+ end
+
+DewfordTown_Gym_EventScript_1FC95A:: @ 81FC95A
+ call DewfordTown_Gym_EventScript_1FC6C2
+ release
+ end
+
+DewfordTown_Gym_EventScript_1FC961:: @ 81FC961
+ trainerbattle 2, TRAINER_LILITH, 0, DewfordTown_Gym_Text_1FCDB8, DewfordTown_Gym_Text_1FCDE5, DewfordTown_Gym_EventScript_1FC97C
+ msgbox DewfordTown_Gym_Text_1FCE08, 6
+ end
+
+DewfordTown_Gym_EventScript_1FC97C:: @ 81FC97C
+ call DewfordTown_Gym_EventScript_1FC6C2
+ release
+ end
+
+DewfordTown_Gym_EventScript_1FC983:: @ 81FC983
+ lock
+ faceplayer
+ checkflag FLAG_0x4F1
+ goto_eq DewfordTown_Gym_EventScript_1FC998
+ msgbox DewfordTown_Gym_Text_1FC9D6, 4
+ release
+ end
+
+DewfordTown_Gym_EventScript_1FC998:: @ 81FC998
+ msgbox DewfordTown_Gym_Text_1FCB5C, 4
+ release
+ end
+
+DewfordTown_Gym_EventScript_1FC9A2:: @ 81FC9A2
+ lockall
+ checkflag FLAG_BADGE02_GET
+ goto_eq DewfordTown_Gym_EventScript_1FC9C2
+ goto DewfordTown_Gym_EventScript_1FC9CC
+ end
+
+DewfordTown_Gym_EventScript_1FC9B2:: @ 81FC9B2
+ lockall
+ checkflag FLAG_BADGE02_GET
+ goto_eq DewfordTown_Gym_EventScript_1FC9C2
+ goto DewfordTown_Gym_EventScript_1FC9CC
+ end
+
+DewfordTown_Gym_EventScript_1FC9C2:: @ 81FC9C2
+ msgbox DewfordTown_Gym_Text_1FD28B, 4
+ releaseall
+ end
+
+DewfordTown_Gym_EventScript_1FC9CC:: @ 81FC9CC
+ msgbox DewfordTown_Gym_Text_1FD272, 4
+ releaseall
+ end
+
+DewfordTown_Gym_Text_1FC9D6: @ 81FC9D6
+ .string "Hey, how’s it going, CHAMPION-\n"
+ .string "bound {PLAYER}?\p"
+ .string "DEWFORD’s GYM LEADER BRAWLY commands\n"
+ .string "FIGHTING-type POKéMON.\p"
+ .string "Going against him with NORMAL-type\n"
+ .string "POKéMON is asking for trouble.\p"
+ .string "FIGHTING POKéMON will lay a serious\n"
+ .string "smack down on NORMAL POKéMON,\l"
+ .string "so be careful!\p"
+ .string "What’s worse, the GYM is as dark as\n"
+ .string "the ocean floor.\p"
+ .string "But it will get brighter after defeating\n"
+ .string "the TRAINERS in your way.\p"
+ .string "Hey, okay, go for it!$"
+
+DewfordTown_Gym_Text_1FCB5C: @ 81FCB5C
+ .string "Whoah! It’s turned too bright in here!\p"
+ .string "Your future is bright, too!$"
+
+DewfordTown_Gym_Text_1FCB9F: @ 81FCB9F
+ .string "Might is right!\n"
+ .string "Come on!$"
+
+DewfordTown_Gym_Text_1FCBB8: @ 81FCBB8
+ .string "Not enough power…$"
+
+DewfordTown_Gym_Text_1FCBCA: @ 81FCBCA
+ .string "Your skill overcame my strength!\n"
+ .string "Your technique is commendable!$"
+
+DewfordTown_Gym_Text_1FCC0A: @ 81FCC0A
+ .string "There’s no need for BRAWLY to be\n"
+ .string "involved!\p"
+ .string "I’ll crush you!$"
+
+DewfordTown_Gym_Text_1FCC45: @ 81FCC45
+ .string "But… How?\n"
+ .string "How could I lose so easily?$"
+
+DewfordTown_Gym_Text_1FCC6B: @ 81FCC6B
+ .string "I’m not going to waste this loss.\n"
+ .string "I’ll use it to motivate me to train!\p"
+ .string "One day I’ll become a GYM LEADER…\p"
+ .string "No, I’ll become the POKéMON LEAGUE\n"
+ .string "CHAMPION!$"
+
+DewfordTown_Gym_Text_1FCD01: @ 81FCD01
+ .string "Don’t you dare brush me off!\n"
+ .string "It’s not my fault if you cry!$"
+
+DewfordTown_Gym_Text_1FCD3C: @ 81FCD3C
+ .string "Waaaaaaah!\n"
+ .string "I lost!$"
+
+DewfordTown_Gym_Text_1FCD4F: @ 81FCD4F
+ .string "I battle in the dark to make my heart\n"
+ .string "stronger.\p"
+ .string "But because it’s so dark, I can never\n"
+ .string "see BRAWLY’s face…$"
+
+DewfordTown_Gym_Text_1FCDB8: @ 81FCDB8
+ .string "Ufufu…\n"
+ .string "Are you stumbling around in the dark?$"
+
+DewfordTown_Gym_Text_1FCDE5: @ 81FCDE5
+ .string "Oh, you…\n"
+ .string "I don’t want to know you!$"
+
+DewfordTown_Gym_Text_1FCE08: @ 81FCE08
+ .string "You deserve to stay lost and end up\n"
+ .string "back at the entrance again!$"
+
+DewfordTown_Gym_Text_1FCE48: @ 81FCE48
+ .string "I’ll show you the gumption of\n"
+ .string "a sailing man!$"
+
+DewfordTown_Gym_Text_1FCE75: @ 81FCE75
+ .string "How’d this happen?\n"
+ .string "It’s not like me to lose this way!$"
+
+DewfordTown_Gym_Text_1FCEAB: @ 81FCEAB
+ .string "Oh, aye! You’re worthy of seeing\n"
+ .string "our GYM LEADER.$"
+
+DewfordTown_Gym_Text_1FCEDC: @ 81FCEDC
+ .string "If you mean to pass, it has to be\n"
+ .string "through me!$"
+
+DewfordTown_Gym_Text_1FCF0A: @ 81FCF0A
+ .string "Grrrrr!\n"
+ .string "Vastly overpowered!$"
+
+DewfordTown_Gym_Text_1FCF26: @ 81FCF26
+ .string "You win!\n"
+ .string "Go after that BADGE!$"
+
+DewfordTown_Gym_Text_1FCF44: @ 81FCF44
+ .string "I’m BRAWLY!\n"
+ .string "DEWFORD’s GYM LEADER!\p"
+ .string "I’ve been churned in the rough waves\n"
+ .string "of these parts, and I’ve grown tough\l"
+ .string "in the pitch-black cave!\p"
+ .string "So you wanted to challenge me?\n"
+ .string "Let me see what you’re made of!$"
+
+DewfordTown_Gym_Text_1FD008: @ 81FD008
+ .string "Whoah, wow! You made a much bigger\n"
+ .string "splash than I expected!\p"
+ .string "You swamped me!\p"
+ .string "Okay, you’ve got me.\n"
+ .string "Take this GYM BADGE!$"
+
+DewfordTown_Gym_Text_1FD07D: @ 81FD07D
+ .string "{PLAYER} received the KNUCKLE BADGE\n"
+ .string "from BRAWLY.$"
+
+DewfordTown_Gym_Text_1FD0A8: @ 81FD0A8
+ .string "The KNUCKLE BADGE makes all POKéMON\n"
+ .string "up to Level 30, even those you get in\l"
+ .string "trades, obey without question.\p"
+ .string "And, you’ll be able to use the HM move\n"
+ .string "FLASH outside of battle.\p"
+ .string "If you’d like, use this TECHNICAL\n"
+ .string "MACHINE, too.$"
+
+DewfordTown_Gym_Text_1FD181: @ 81FD181
+ .string "That TM08 contains BULK UP.\p"
+ .string "It’s a move that raises both ATTACK\n"
+ .string "and DEFENSE stats.\p"
+ .string "… … … … … …$"
+
+DewfordTown_Gym_Text_1FD1E0: @ 81FD1E0
+ .string "Registered GYM LEADER BRAWLY\n"
+ .string "in the POKéNAV.$"
+
+DewfordTown_Gym_Text_1FD20D: @ 81FD20D
+ .string "I can see your talent becoming a giant\n"
+ .string "wave to cause a storm of astonishment\l"
+ .string "among TRAINERS one day!$"
+
+DewfordTown_Gym_Text_1FD272: @ 81FD272
+ .string "DEWFORD TOWN POKéMON GYM$"
+
+DewfordTown_Gym_Text_1FD28B: @ 81FD28B
+ .string "DEWFORD TOWN POKéMON GYM\p"
+ .string "BRAWLY’S CERTIFIED TRAINERS:\n"
+ .string "{PLAYER}$"
+
+DewfordTown_Gym_Text_1FD2C4: @ 81FD2C4
+ .string "BRAWLY: A wave may draw back, but it\n"
+ .string "always returns to the shore.\p"
+ .string "A giant wave of a talent like you…\n"
+ .string "I knew you would return!\p"
+ .string "Show me how much higher\n"
+ .string "you’ve gone!$"
+
+DewfordTown_Gym_Text_1FD367: @ 81FD367
+ .string "Wow!\n"
+ .string "Swamped again!$"
+
+DewfordTown_Gym_Text_1FD37B: @ 81FD37B
+ .string "BRAWLY: Battling is vast and it’s deep.\n"
+ .string "You can’t see the bottom.\l"
+ .string "It’s just like the sea of HOENN!$"
+
+DewfordTown_Gym_Text_1FD3DE: @ 81FD3DE
+ .string "BRAWLY: A wave may draw back, but it\n"
+ .string "always returns to the shore.\p"
+ .string "A giant wave of a talent like you…\n"
+ .string "I knew you would return!\p"
+ .string "Oh? You only have one POKéMON\n"
+ .string "that can battle.\p"
+ .string "I’m sorry, but I’d like you to come back\n"
+ .string "with at least two POKéMON.$"
+
diff --git a/data/scripts/maps/DewfordTown_Hall.inc b/data/scripts/maps/DewfordTown_Hall.inc
new file mode 100644
index 000000000..9da607c27
--- /dev/null
+++ b/data/scripts/maps/DewfordTown_Hall.inc
@@ -0,0 +1,453 @@
+DewfordTown_Hall_MapScripts:: @ 81FD4CF
+ .byte 0
+
+DewfordTown_Hall_EventScript_1FD4D0:: @ 81FD4D0
+ lock
+ faceplayer
+ call DewfordTown_Hall_EventScript_271E8B
+ special sub_81229C8
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq DewfordTown_Hall_EventScript_1FD4EF
+ msgbox DewfordTown_Hall_Text_1FD818, 4
+ release
+ end
+
+DewfordTown_Hall_EventScript_1FD4EF:: @ 81FD4EF
+ msgbox DewfordTown_Hall_Text_1FD877, 4
+ release
+ end
+
+DewfordTown_Hall_EventScript_1FD4F9:: @ 81FD4F9
+ lock
+ faceplayer
+ call DewfordTown_Hall_EventScript_271E8B
+ msgbox DewfordTown_Hall_Text_1FD8ED, 4
+ release
+ end
+
+DewfordTown_Hall_EventScript_1FD50A:: @ 81FD50A
+ lock
+ faceplayer
+ call DewfordTown_Hall_EventScript_271E8B
+ special sub_811EF6C
+ msgbox DewfordTown_Hall_Text_1FD948, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq DewfordTown_Hall_EventScript_1FD533
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq DewfordTown_Hall_EventScript_1FD53D
+ end
+
+DewfordTown_Hall_EventScript_1FD533:: @ 81FD533
+ msgbox DewfordTown_Hall_Text_1FD9B3, 4
+ release
+ end
+
+DewfordTown_Hall_EventScript_1FD53D:: @ 81FD53D
+ msgbox DewfordTown_Hall_Text_1FDA06, 4
+ release
+ end
+
+DewfordTown_Hall_EventScript_1FD547:: @ 81FD547
+ lock
+ faceplayer
+ call DewfordTown_Hall_EventScript_271E8B
+ msgbox DewfordTown_Hall_Text_1FDA5C, 4
+ closemessage
+ applymovement 4, DewfordTown_Hall_Movement_2725A6
+ waitmovement 0
+ release
+ end
+
+DewfordTown_Hall_EventScript_1FD563:: @ 81FD563
+ lock
+ faceplayer
+ call DewfordTown_Hall_EventScript_271E8B
+ msgbox DewfordTown_Hall_Text_1FDA99, 4
+ closemessage
+ applymovement 5, DewfordTown_Hall_Movement_2725A6
+ waitmovement 0
+ release
+ end
+
+DewfordTown_Hall_EventScript_1FD57F:: @ 81FD57F
+ lock
+ faceplayer
+ call DewfordTown_Hall_EventScript_271E8B
+ msgbox DewfordTown_Hall_Text_1FDAC4, 4
+ release
+ end
+
+DewfordTown_Hall_EventScript_1FD590:: @ 81FD590
+ lockall
+ call DewfordTown_Hall_EventScript_271E8B
+ msgbox DewfordTown_Hall_Text_1FDB89, 4
+ releaseall
+ end
+
+DewfordTown_Hall_EventScript_1FD5A0:: @ 81FD5A0
+ lockall
+ call DewfordTown_Hall_EventScript_271E8B
+ special sub_8122A30
+ switch VAR_RESULT
+ case 0, DewfordTown_Hall_EventScript_1FD607
+ case 4, DewfordTown_Hall_EventScript_1FD607
+ case 1, DewfordTown_Hall_EventScript_1FD611
+ case 5, DewfordTown_Hall_EventScript_1FD607
+ case 2, DewfordTown_Hall_EventScript_1FD61B
+ case 6, DewfordTown_Hall_EventScript_1FD61B
+ case 3, DewfordTown_Hall_EventScript_1FD625
+ case 7, DewfordTown_Hall_EventScript_1FD61B
+ end
+
+DewfordTown_Hall_EventScript_1FD607:: @ 81FD607
+ msgbox DewfordTown_Hall_Text_1FDC05, 4
+ releaseall
+ end
+
+DewfordTown_Hall_EventScript_1FD611:: @ 81FD611
+ msgbox DewfordTown_Hall_Text_1FDC21, 4
+ releaseall
+ end
+
+DewfordTown_Hall_EventScript_1FD61B:: @ 81FD61B
+ msgbox DewfordTown_Hall_Text_1FDC3C, 4
+ releaseall
+ end
+
+DewfordTown_Hall_EventScript_1FD625:: @ 81FD625
+ msgbox DewfordTown_Hall_Text_1FDC57, 4
+ releaseall
+ end
+
+DewfordTown_Hall_EventScript_1FD62F:: @ 81FD62F
+ lockall
+ setvar VAR_0x8008, 0
+ goto DewfordTown_Hall_EventScript_1FD647
+ end
+
+DewfordTown_Hall_EventScript_1FD63B:: @ 81FD63B
+ lockall
+ setvar VAR_0x8008, 1
+ goto DewfordTown_Hall_EventScript_1FD647
+ end
+
+DewfordTown_Hall_EventScript_1FD647:: @ 81FD647
+ call DewfordTown_Hall_EventScript_271E8B
+ special sub_8122A30
+ switch VAR_RESULT
+ case 0, DewfordTown_Hall_EventScript_1FD6AD
+ case 1, DewfordTown_Hall_EventScript_1FD6AD
+ case 2, DewfordTown_Hall_EventScript_1FD6C9
+ case 3, DewfordTown_Hall_EventScript_1FD6C9
+ case 4, DewfordTown_Hall_EventScript_1FD6E5
+ case 5, DewfordTown_Hall_EventScript_1FD6E5
+ case 6, DewfordTown_Hall_EventScript_1FD701
+ case 7, DewfordTown_Hall_EventScript_1FD71D
+ end
+
+DewfordTown_Hall_EventScript_1FD6AD:: @ 81FD6AD
+ call DewfordTown_Hall_EventScript_1FD73A
+ msgbox DewfordTown_Hall_Text_1FDC76, 4
+ call DewfordTown_Hall_EventScript_1FD772
+ msgbox DewfordTown_Hall_Text_1FDCE2, 4
+ releaseall
+ end
+
+DewfordTown_Hall_EventScript_1FD6C9:: @ 81FD6C9
+ call DewfordTown_Hall_EventScript_1FD73A
+ msgbox DewfordTown_Hall_Text_1FDD95, 4
+ call DewfordTown_Hall_EventScript_1FD772
+ msgbox DewfordTown_Hall_Text_1FDE0E, 4
+ releaseall
+ end
+
+DewfordTown_Hall_EventScript_1FD6E5:: @ 81FD6E5
+ call DewfordTown_Hall_EventScript_1FD73A
+ msgbox DewfordTown_Hall_Text_1FDE77, 4
+ call DewfordTown_Hall_EventScript_1FD772
+ msgbox DewfordTown_Hall_Text_1FDED8, 4
+ releaseall
+ end
+
+DewfordTown_Hall_EventScript_1FD701:: @ 81FD701
+ call DewfordTown_Hall_EventScript_1FD73A
+ msgbox DewfordTown_Hall_Text_1FDF72, 4
+ call DewfordTown_Hall_EventScript_1FD772
+ msgbox DewfordTown_Hall_Text_1FDFF1, 4
+ releaseall
+ end
+
+DewfordTown_Hall_EventScript_1FD71D:: @ 81FD71D
+ call DewfordTown_Hall_EventScript_1FD73A
+ msgbox DewfordTown_Hall_Text_1FE09A, 4
+ call DewfordTown_Hall_EventScript_1FD772
+ msgbox DewfordTown_Hall_Text_1FE0F2, 4
+ releaseall
+ end
+
+DewfordTown_Hall_EventScript_1FD739:: @ 81FD739
+ return
+
+DewfordTown_Hall_EventScript_1FD73A:: @ 81FD73A
+ applymovement 8, DewfordTown_Hall_Movement_1FD7D6
+ waitmovement 0
+ compare_var_to_value VAR_0x8008, 0
+ goto_eq DewfordTown_Hall_EventScript_1FD75B
+ compare_var_to_value VAR_0x8008, 1
+ goto_eq DewfordTown_Hall_EventScript_1FD771
+ end
+
+DewfordTown_Hall_EventScript_1FD75B:: @ 81FD75B
+ compare_var_to_value VAR_FACING, 4
+ goto_eq DewfordTown_Hall_EventScript_1FD739
+ applymovement 255, DewfordTown_Hall_Movement_2725A8
+ waitmovement 0
+ return
+
+DewfordTown_Hall_EventScript_1FD771:: @ 81FD771
+ return
+
+DewfordTown_Hall_EventScript_1FD772:: @ 81FD772
+ applymovement 7, DewfordTown_Hall_Movement_1FD7D8
+ waitmovement 0
+ compare_var_to_value VAR_0x8008, 0
+ goto_eq DewfordTown_Hall_EventScript_1FD793
+ compare_var_to_value VAR_0x8008, 1
+ goto_eq DewfordTown_Hall_EventScript_1FD7C0
+ end
+
+DewfordTown_Hall_EventScript_1FD793:: @ 81FD793
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, DewfordTown_Hall_EventScript_1FD7AA
+ compare_var_to_value VAR_FACING, 1
+ call_if 1, DewfordTown_Hall_EventScript_1FD7B5
+ return
+
+DewfordTown_Hall_EventScript_1FD7AA:: @ 81FD7AA
+ applymovement 255, DewfordTown_Hall_Movement_2725A6
+ waitmovement 0
+ return
+
+DewfordTown_Hall_EventScript_1FD7B5:: @ 81FD7B5
+ applymovement 255, DewfordTown_Hall_Movement_2725AA
+ waitmovement 0
+ return
+
+DewfordTown_Hall_EventScript_1FD7C0:: @ 81FD7C0
+ compare_var_to_value VAR_FACING, 3
+ goto_eq DewfordTown_Hall_EventScript_1FD739
+ applymovement 255, DewfordTown_Hall_Movement_2725A4
+ waitmovement 0
+ return
+
+DewfordTown_Hall_Movement_1FD7D6: @ 81FD7D6
+ step_1f
+ step_end
+
+DewfordTown_Hall_Movement_1FD7D8: @ 81FD7D8
+ step_20
+ step_end
+
+DewfordTown_Hall_EventScript_1FD7DA:: @ 81FD7DA
+ lock
+ faceplayer
+ call DewfordTown_Hall_EventScript_271E8B
+ checkflag FLAG_0x0E6
+ goto_eq DewfordTown_Hall_EventScript_1FD80E
+ msgbox DewfordTown_Hall_Text_1FE142, 4
+ giveitem_std ITEM_TM36
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq DewfordTown_Hall_EventScript_272054
+ setflag FLAG_0x0E6
+ release
+ end
+
+DewfordTown_Hall_EventScript_1FD80E:: @ 81FD80E
+ msgbox DewfordTown_Hall_Text_1FE1ED, 4
+ release
+ end
+
+DewfordTown_Hall_Text_1FD818: @ 81FD818
+ .string "What’s in vogue? Why, it has to be\n"
+ .string "“{STR_VAR_1}”!\p"
+ .string "I can’t imagine what life would be like\n"
+ .string "without “{STR_VAR_1}”!$"
+
+DewfordTown_Hall_Text_1FD877: @ 81FD877
+ .string "What’s in vogue? Why, it has to be\n"
+ .string "“{STR_VAR_1}”!\p"
+ .string "But I’m getting kind of bored with it.\p"
+ .string "I should look for the next big thing.$"
+
+DewfordTown_Hall_Text_1FD8ED: @ 81FD8ED
+ .string "I’m teaching my POKéMON about\n"
+ .string "“{STR_VAR_1},”\l"
+ .string "but it’s not going well.\p"
+ .string "It’s a bit too much, I think.$"
+
+DewfordTown_Hall_Text_1FD948: @ 81FD948
+ .string "I’m studying up on the hip and trendy\n"
+ .string "“{STR_VAR_1}” now.\p"
+ .string "Is it true that there’s a deep link\n"
+ .string "between “{STR_VAR_1}”\l"
+ .string "and “{STR_VAR_2}”?$"
+
+DewfordTown_Hall_Text_1FD9B3: @ 81FD9B3
+ .string "Oh!\n"
+ .string "So, my hunch was right!\p"
+ .string "I’m one step closer to being hip and\n"
+ .string "happening, yowza!$"
+
+DewfordTown_Hall_Text_1FDA06: @ 81FDA06
+ .string "What?!\n"
+ .string "Is that so?!\p"
+ .string "It’s not easy for an older fellow like\n"
+ .string "me to keep up with trends!$"
+
+DewfordTown_Hall_Text_1FDA5C: @ 81FDA5C
+ .string "This whole business about\n"
+ .string "“{STR_VAR_1}”…\l"
+ .string "Isn’t there a TV show on it?$"
+
+DewfordTown_Hall_Text_1FDA99: @ 81FDA99
+ .string "Across the sea…\p"
+ .string "Is “{STR_VAR_1}”\n"
+ .string "even more popular?$"
+
+DewfordTown_Hall_Text_1FDAC4: @ 81FDAC4
+ .string "I collect official\n"
+ .string "“{STR_VAR_1}”\l"
+ .string "licensed merchandise.\p"
+ .string "I have official\n"
+ .string "“{STR_VAR_1}” DOLLS…\p"
+ .string "Official “{STR_VAR_1}”\n"
+ .string "brand clothing…\p"
+ .string "And officially licensed\n"
+ .string "“{STR_VAR_1}”\l"
+ .string "picture books.\p"
+ .string "Heheh, I own!\n"
+ .string "I’m not sharing anything with you!$"
+
+DewfordTown_Hall_Text_1FDB89: @ 81FDB89
+ .string "IDENTIFYING GOOD\n"
+ .string "“{STR_VAR_1}” &\l"
+ .string "BAD “{STR_VAR_1}”…\p"
+ .string "THE LINK BETWEEN\n"
+ .string "“{STR_VAR_1}” AND\l"
+ .string "POKéMON…\p"
+ .string "USEFUL\n"
+ .string "“{STR_VAR_1}”…\p"
+ .string "It’s neatly jammed with books about\n"
+ .string "“{STR_VAR_1}.”$"
+
+DewfordTown_Hall_Text_1FDC05: @ 81FDC05
+ .string "“{STR_VAR_1}’S\n"
+ .string "SCREAM” is the title.$"
+
+DewfordTown_Hall_Text_1FDC21: @ 81FDC21
+ .string "“{STR_VAR_1}’S\n"
+ .string "SMILE” is the title.$"
+
+DewfordTown_Hall_Text_1FDC3C: @ 81FDC3C
+ .string "It’s titled “THE LAST\n"
+ .string "{STR_VAR_1}”.$"
+
+DewfordTown_Hall_Text_1FDC57: @ 81FDC57
+ .string "It’s titled “THE BIRTH OF\n"
+ .string "{STR_VAR_1}”.$"
+
+DewfordTown_Hall_Text_1FDC76: @ 81FDC76
+ .string "I saw “{STR_VAR_1}”!\n"
+ .string "Cool, huh?\p"
+ .string "It’s, like, the coolest thing going!\p"
+ .string "It was awesome!\n"
+ .string "It was the real thing, oh yeah!$"
+
+DewfordTown_Hall_Text_1FDCE2: @ 81FDCE2
+ .string "Oh, no, no, no.\p"
+ .string "That alleged\n"
+ .string "“{STR_VAR_1}”\l"
+ .string "you claim to have seen--it’s not.\p"
+ .string "The authentic article is much…\n"
+ .string "How should I say it?\l"
+ .string "Sharper, yet more mellow!\p"
+ .string "Ah, no matter. It’s astonishing!$"
+
+DewfordTown_Hall_Text_1FDD95: @ 81FDD95
+ .string "Hey, listen, I composed a theme song\n"
+ .string "for “{STR_VAR_1}.”\p"
+ .string "“{STR_VAR_1}”\n"
+ .string "is really popular right now.\p"
+ .string "Okay, listen!\n"
+ .string "… …\p"
+ .string "Oh!\n"
+ .string "{STR_VAR_1}!\p"
+ .string "Wonderful\n"
+ .string "{STR_VAR_1}!$"
+
+DewfordTown_Hall_Text_1FDE0E: @ 81FDE0E
+ .string "… …\p"
+ .string "I dare say, chap, it would pay for you\n"
+ .string "to work on your singing before you\l"
+ .string "trifle yourself with\l"
+ .string "“{STR_VAR_1}.”$"
+
+DewfordTown_Hall_Text_1FDE77: @ 81FDE77
+ .string "Anyway, as I was saying earlier, we\n"
+ .string "should get together and organize a\l"
+ .string "“{STR_VAR_1}” party\l"
+ .string "on the island.$"
+
+DewfordTown_Hall_Text_1FDED8: @ 81FDED8
+ .string "Oh, a smashing good idea!\p"
+ .string "It will settle once and for all\n"
+ .string "who is the best at\l"
+ .string "“{STR_VAR_1}.”\l"
+ .string "Brilliant, indeed!\p"
+ .string "Starting today, our lives will revolve\n"
+ .string "around “{STR_VAR_1}”!$"
+
+DewfordTown_Hall_Text_1FDF72: @ 81FDF72
+ .string "I was thinking, though…\p"
+ .string "Wouldn’t you agree that\n"
+ .string "“{STR_VAR_1}” has\l"
+ .string "grown from being something trendy to\l"
+ .string "being a part of our daily lives?$"
+
+DewfordTown_Hall_Text_1FDFF1: @ 81FDFF1
+ .string "Beg pardon?\n"
+ .string "That much, what?\p"
+ .string "However, it’s true that\n"
+ .string "“{STR_VAR_1}”\l"
+ .string "weighs heavily on your mind, whether\l"
+ .string "you’re awake or asleep.\p"
+ .string "Absolutely, you’re the\n"
+ .string "“{STR_VAR_1}”\l"
+ .string "PROFESSOR, old sport!$"
+
+DewfordTown_Hall_Text_1FE09A: @ 81FE09A
+ .string "If you and me team up as a combo,\n"
+ .string "we’ll be invincible when it comes to all\l"
+ .string "things “{STR_VAR_1}”!$"
+
+DewfordTown_Hall_Text_1FE0F2: @ 81FE0F2
+ .string "Spot on, my friend!\p"
+ .string "We shall be the\n"
+ .string "“{STR_VAR_1}” DUO!\p"
+ .string "Isn’t that a ripe image?\n"
+ .string "Hahahah!$"
+
+DewfordTown_Hall_Text_1FE142: @ 81FE142
+ .string "For me, SLUDGE BOMB is at the peak\n"
+ .string "of popularity. It’s the one.\p"
+ .string "Hunh? You’re telling me that you don’t\n"
+ .string "know about SLUDGE BOMB?\p"
+ .string "That’s outright pitiful.\n"
+ .string "I’ll give you one.$"
+
+DewfordTown_Hall_Text_1FE1ED: @ 81FE1ED
+ .string "I love SLUDGE BOMB.\p"
+ .string "But POKéMON with the move\n"
+ .string "“{STR_VAR_1}”\l"
+ .string "are in, too.$"
+
diff --git a/data/scripts/maps/DewfordTown_House1.inc b/data/scripts/maps/DewfordTown_House1.inc
new file mode 100644
index 000000000..59c490d81
--- /dev/null
+++ b/data/scripts/maps/DewfordTown_House1.inc
@@ -0,0 +1,36 @@
+DewfordTown_House1_MapScripts:: @ 81FC3CD
+ .byte 0
+
+DewfordTown_House1_EventScript_1FC3CE:: @ 81FC3CE
+ msgbox DewfordTown_House1_Text_1FC3F3, 2
+ end
+
+DewfordTown_House1_EventScript_1FC3D7:: @ 81FC3D7
+ msgbox DewfordTown_House1_Text_1FC45B, 2
+ end
+
+DewfordTown_House1_EventScript_1FC3E0:: @ 81FC3E0
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_ZIGZAGOON, 0
+ msgbox DewfordTown_House1_Text_1FC510, 4
+ waitmoncry
+ release
+ end
+
+DewfordTown_House1_Text_1FC3F3: @ 81FC3F3
+ .string "There’s a lot to be said for living on\n"
+ .string "a small island like this in harmony with\l"
+ .string "POKéMON and the family.$"
+
+DewfordTown_House1_Text_1FC45B: @ 81FC45B
+ .string "I left the major port of SLATEPORT\n"
+ .string "CITY when I married my husband here.\p"
+ .string "Life goes by slowly on this little\n"
+ .string "island. But being surrounded by the\l"
+ .string "beautiful sea--that’s happiness, too.$"
+
+DewfordTown_House1_Text_1FC510: @ 81FC510
+ .string "ZIGZAGOON: Guguuh!$"
+
diff --git a/data/scripts/maps/DewfordTown_House2.inc b/data/scripts/maps/DewfordTown_House2.inc
new file mode 100644
index 000000000..ad7f530fc
--- /dev/null
+++ b/data/scripts/maps/DewfordTown_House2.inc
@@ -0,0 +1,59 @@
+DewfordTown_House2_MapScripts:: @ 81FE22D
+ .byte 0
+
+DewfordTown_House2_EventScript_1FE22E:: @ 81FE22E
+ lock
+ faceplayer
+ checkflag FLAG_0x121
+ goto_eq DewfordTown_House2_EventScript_1FE267
+ msgbox DewfordTown_House2_Text_1FE27A, 4
+ giveitem_std ITEM_SILK_SCARF
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq DewfordTown_House2_EventScript_1FE25D
+ setflag FLAG_0x121
+ release
+ end
+
+DewfordTown_House2_EventScript_1FE25D:: @ 81FE25D
+ msgbox DewfordTown_House2_Text_1FE356, 4
+ release
+ end
+
+DewfordTown_House2_EventScript_1FE267:: @ 81FE267
+ msgbox DewfordTown_House2_Text_1FE3D1, 4
+ release
+ end
+
+DewfordTown_House2_EventScript_1FE271:: @ 81FE271
+ msgbox DewfordTown_House2_Text_1FE444, 2
+ end
+
+DewfordTown_House2_Text_1FE27A: @ 81FE27A
+ .string "Gorge your eyes on this!\p"
+ .string "It’s a SILK SCARF. It’s right at the\n"
+ .string "cutting edge of fashion, yeah!\p"
+ .string "Oh, I can see your eyes twinkling!\n"
+ .string "You appreciate my dazzling style!\p"
+ .string "Oh, you’re a delight!\n"
+ .string "Here you go. I want you to have it!$"
+
+DewfordTown_House2_Text_1FE356: @ 81FE356
+ .string "Oh, you don’t have room?\p"
+ .string "Now, listen tight, this SCARF is a must-\n"
+ .string "have! Why, I would sell all my items\l"
+ .string "in order to get it!$"
+
+DewfordTown_House2_Text_1FE3D1: @ 81FE3D1
+ .string "The SILK SCARF raises the power of\n"
+ .string "NORMAL-type moves.\p"
+ .string "It’s a marvelous SCARF that will go\n"
+ .string "with almost all POKéMON!$"
+
+DewfordTown_House2_Text_1FE444: @ 81FE444
+ .string "Wow, you bothered to cross the sea\n"
+ .string "to visit DEWFORD?\p"
+ .string "Did you maybe come here because you\n"
+ .string "heard about BRAWLY?\p"
+ .string "He’s so cool…\n"
+ .string "Everyone idolizes him.$"
+
diff --git a/data/scripts/maps/DewfordTown_PokemonCenter_1F.inc b/data/scripts/maps/DewfordTown_PokemonCenter_1F.inc
new file mode 100644
index 000000000..15a1c81b9
--- /dev/null
+++ b/data/scripts/maps/DewfordTown_PokemonCenter_1F.inc
@@ -0,0 +1,37 @@
+DewfordTown_PokemonCenter_1F_MapScripts:: @ 81FC523
+ map_script 3, DewfordTown_PokemonCenter_1F_MapScript1_1FC52E
+ map_script 5, DewfordTown_PokemonCenter_1F_MapScript1_277C30
+ .byte 0
+
+DewfordTown_PokemonCenter_1F_MapScript1_1FC52E: @ 81FC52E
+ setrespawn 15
+ call DewfordTown_PokemonCenter_1F_EventScript_2718DE
+ end
+
+DewfordTown_PokemonCenter_1F_EventScript_1FC537:: @ 81FC537
+ setvar VAR_0x800B, 1
+ call DewfordTown_PokemonCenter_1F_EventScript_27191E
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+DewfordTown_PokemonCenter_1F_EventScript_1FC545:: @ 81FC545
+ msgbox DewfordTown_PokemonCenter_1F_Text_1FC557, 2
+ end
+
+DewfordTown_PokemonCenter_1F_EventScript_1FC54E:: @ 81FC54E
+ msgbox DewfordTown_PokemonCenter_1F_Text_1FC5AE, 2
+ end
+
+DewfordTown_PokemonCenter_1F_Text_1FC557: @ 81FC557
+ .string "There’s a stone cavern at the edge\n"
+ .string "of town.\p"
+ .string "I’ve heard you can find rare stones\n"
+ .string "there.$"
+
+DewfordTown_PokemonCenter_1F_Text_1FC5AE: @ 81FC5AE
+ .string "Even if a POKéMON faints and can’t\n"
+ .string "battle, it can still use a move learned\l"
+ .string "from a HIDDEN MACHINE (HM).$"
+
diff --git a/data/scripts/maps/DewfordTown_PokemonCenter_2F.inc b/data/scripts/maps/DewfordTown_PokemonCenter_2F.inc
new file mode 100644
index 000000000..f2a30ecd2
--- /dev/null
+++ b/data/scripts/maps/DewfordTown_PokemonCenter_2F.inc
@@ -0,0 +1,19 @@
+DewfordTown_PokemonCenter_2F_MapScripts:: @ 81FC615
+ map_script 2, DewfordTown_PokemonCenter_2F_MapScript2_276C3B
+ map_script 4, DewfordTown_PokemonCenter_2F_MapScript2_276B6C
+ map_script 1, DewfordTown_PokemonCenter_2F_MapScript1_276BBE
+ map_script 3, DewfordTown_PokemonCenter_2F_MapScript1_276ACF
+ .byte 0
+
+DewfordTown_PokemonCenter_2F_EventScript_1FC62A:: @ 81FC62A
+ call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+ end
+
+DewfordTown_PokemonCenter_2F_EventScript_1FC630:: @ 81FC630
+ call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+ end
+
+DewfordTown_PokemonCenter_2F_EventScript_1FC636:: @ 81FC636
+ call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+ end
+
diff --git a/data/scripts/maps/DoubleBattleColosseum.inc b/data/scripts/maps/DoubleBattleColosseum.inc
new file mode 100644
index 000000000..ac64377ae
--- /dev/null
+++ b/data/scripts/maps/DoubleBattleColosseum.inc
@@ -0,0 +1,3 @@
+DoubleBattleColosseum_MapScripts:: @ 823B780
+ .byte 0
+
diff --git a/data/scripts/maps/EverGrandeCity.inc b/data/scripts/maps/EverGrandeCity.inc
new file mode 100644
index 000000000..1fe66a56c
--- /dev/null
+++ b/data/scripts/maps/EverGrandeCity.inc
@@ -0,0 +1,38 @@
+EverGrandeCity_MapScripts:: @ 81E7D1B
+ map_script 3, EverGrandeCity_MapScript1_1E7D21
+ .byte 0
+
+EverGrandeCity_MapScript1_1E7D21: @ 81E7D21
+ checkflag FLAG_SYS_WEATHER_CTRL
+ call_if 1, EverGrandeCity_EventScript_27207A
+ end
+
+EverGrandeCity_EventScript_1E7D2B:: @ 81E7D2B
+ msgbox EverGrandeCity_Text_1E7D4F, 3
+ end
+
+EverGrandeCity_EventScript_1E7D34:: @ 81E7D34
+ msgbox EverGrandeCity_Text_1E7D89, 3
+ end
+
+EverGrandeCity_EventScript_1E7D3D:: @ 81E7D3D
+ msgbox EverGrandeCity_Text_1E7D65, 3
+ end
+
+EverGrandeCity_EventScript_1E7D46:: @ 81E7D46
+ setflag FLAG_VISITED_EVER_GRANDE_CITY
+ setvar VAR_0x4001, 1
+ end
+
+EverGrandeCity_Text_1E7D4F: @ 81E7D4F
+ .string "ENTERING VICTORY ROAD$"
+
+EverGrandeCity_Text_1E7D65: @ 81E7D65
+ .string "ENTERING POKéMON LEAGUE\n"
+ .string "CENTER GATE$"
+
+EverGrandeCity_Text_1E7D89: @ 81E7D89
+ .string "EVER GRANDE CITY\p"
+ .string "“The paradise of flowers, the sea,\n"
+ .string "and POKéMON.”$"
+
diff --git a/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc b/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc
new file mode 100644
index 000000000..605d2874e
--- /dev/null
+++ b/data/scripts/maps/EverGrandeCity_ChampionsRoom.inc
@@ -0,0 +1,346 @@
+EverGrandeCity_ChampionsRoom_MapScripts:: @ 82289EF
+ map_script 3, EverGrandeCity_ChampionsRoom_MapScript1_2289FF
+ map_script 4, EverGrandeCity_ChampionsRoom_MapScript2_228A05
+ map_script 2, EverGrandeCity_ChampionsRoom_MapScript2_228A14
+ .byte 0
+
+EverGrandeCity_ChampionsRoom_MapScript1_2289FF: @ 82289FF
+ call EverGrandeCity_ChampionsRoom_EventScript_271ED7
+ end
+
+EverGrandeCity_ChampionsRoom_MapScript2_228A05: @ 8228A05
+ map_script_2 VAR_0x4001, 0, EverGrandeCity_ChampionsRoom_EventScript_228A0F
+ .2byte 0
+
+EverGrandeCity_ChampionsRoom_EventScript_228A0F:: @ 8228A0F
+ turnobject 255, 2
+ end
+
+EverGrandeCity_ChampionsRoom_MapScript2_228A14: @ 8228A14
+ map_script_2 VAR_0x4001, 0, EverGrandeCity_ChampionsRoom_EventScript_228A1E
+ .2byte 0
+
+EverGrandeCity_ChampionsRoom_EventScript_228A1E:: @ 8228A1E
+ lockall
+ applymovement 255, EverGrandeCity_ChampionsRoom_Movement_2725C1
+ waitmovement 0
+ delay 40
+ applymovement 255, EverGrandeCity_ChampionsRoom_Movement_228A42
+ waitmovement 0
+ setvar VAR_0x4001, 1
+ goto EverGrandeCity_ChampionsRoom_EventScript_228A45
+ releaseall
+ end
+
+EverGrandeCity_ChampionsRoom_Movement_228A42: @ 8228A42
+ step_up
+ step_up
+ step_end
+
+EverGrandeCity_ChampionsRoom_EventScript_228A45:: @ 8228A45
+ playbgm BGM_DAIGO, 0
+ msgbox EverGrandeCity_ChampionsRoom_Text_228C4C, 4
+ trainerbattle 3, TRAINER_WALLACE, 0, EverGrandeCity_ChampionsRoom_Text_228EAC
+ goto EverGrandeCity_ChampionsRoom_EventScript_228A61
+ end
+
+EverGrandeCity_ChampionsRoom_EventScript_228A61:: @ 8228A61
+ playse SE_DOOR
+ setmetatile 6, 1, 838, 0
+ setmetatile 6, 2, 839, 0
+ special DrawWholeMapView
+ msgbox EverGrandeCity_ChampionsRoom_Text_228F66, 4
+ closemessage
+ playse SE_DOOR
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, EverGrandeCity_ChampionsRoom_EventScript_228ABC
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, EverGrandeCity_ChampionsRoom_EventScript_228AC1
+ addobject 2
+ call EverGrandeCity_ChampionsRoom_EventScript_228BFD
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EverGrandeCity_ChampionsRoom_EventScript_228AC6
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq EverGrandeCity_ChampionsRoom_EventScript_228AFB
+ end
+
+EverGrandeCity_ChampionsRoom_EventScript_228ABC:: @ 8228ABC
+ playbgm BGM_GIRL_SUP, 0
+ return
+
+EverGrandeCity_ChampionsRoom_EventScript_228AC1:: @ 8228AC1
+ playbgm BGM_BOY_SUP, 0
+ return
+
+EverGrandeCity_ChampionsRoom_EventScript_228AC6:: @ 8228AC6
+ msgbox EverGrandeCity_ChampionsRoom_Text_2290CA, 4
+ delay 40
+ playse SE_PIN
+ applymovement 2, EverGrandeCity_ChampionsRoom_Movement_272598
+ waitmovement 0
+ applymovement 2, EverGrandeCity_ChampionsRoom_Movement_27259A
+ waitmovement 0
+ call EverGrandeCity_ChampionsRoom_EventScript_228C12
+ msgbox EverGrandeCity_ChampionsRoom_Text_22910B, 4
+ goto EverGrandeCity_ChampionsRoom_EventScript_228B30
+ end
+
+EverGrandeCity_ChampionsRoom_EventScript_228AFB:: @ 8228AFB
+ msgbox EverGrandeCity_ChampionsRoom_Text_229152, 4
+ delay 40
+ playse SE_PIN
+ applymovement 2, EverGrandeCity_ChampionsRoom_Movement_272598
+ waitmovement 0
+ applymovement 2, EverGrandeCity_ChampionsRoom_Movement_27259A
+ waitmovement 0
+ call EverGrandeCity_ChampionsRoom_EventScript_228C12
+ msgbox EverGrandeCity_ChampionsRoom_Text_2291A2, 4
+ goto EverGrandeCity_ChampionsRoom_EventScript_228B30
+ end
+
+EverGrandeCity_ChampionsRoom_EventScript_228B30:: @ 8228B30
+ closemessage
+ addobject 3
+ applymovement 3, EverGrandeCity_ChampionsRoom_Movement_228C43
+ waitmovement 0
+ applymovement 255, EverGrandeCity_ChampionsRoom_Movement_2725A8
+ waitmovement 0
+ msgbox EverGrandeCity_ChampionsRoom_Text_2291E6, 4
+ call EverGrandeCity_ChampionsRoom_EventScript_272184
+ msgbox EverGrandeCity_ChampionsRoom_Text_22934D, 4
+ applymovement 1, EverGrandeCity_ChampionsRoom_Movement_2725A6
+ waitmovement 0
+ delay 20
+ applymovement 1, EverGrandeCity_ChampionsRoom_Movement_2725AA
+ waitmovement 0
+ msgbox EverGrandeCity_ChampionsRoom_Text_229399, 4
+ closemessage
+ delay 30
+ applymovement 1, EverGrandeCity_ChampionsRoom_Movement_228C3B
+ applymovement 255, EverGrandeCity_ChampionsRoom_Movement_228C1D
+ applymovement 3, EverGrandeCity_ChampionsRoom_Movement_2725A6
+ applymovement 2, EverGrandeCity_ChampionsRoom_Movement_228C38
+ waitmovement 0
+ delay 20
+ applymovement 255, EverGrandeCity_ChampionsRoom_Movement_2725AA
+ waitmovement 0
+ msgbox EverGrandeCity_ChampionsRoom_Text_2293EB, 4
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, EverGrandeCity_ChampionsRoom_EventScript_228BEB
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, EverGrandeCity_ChampionsRoom_EventScript_228BF4
+ closemessage
+ applymovement 1, EverGrandeCity_ChampionsRoom_Movement_228C3F
+ applymovement 255, EverGrandeCity_ChampionsRoom_Movement_228C20
+ waitmovement 0
+ setflag FLAG_0x30D
+ warp EVER_GRANDE_CITY_HALL_OF_FAME, 255, 7, 16
+ waitstate
+ releaseall
+ end
+
+EverGrandeCity_ChampionsRoom_EventScript_228BEB:: @ 8228BEB
+ msgbox EverGrandeCity_ChampionsRoom_Text_229479, 4
+ return
+
+EverGrandeCity_ChampionsRoom_EventScript_228BF4:: @ 8228BF4
+ msgbox EverGrandeCity_ChampionsRoom_Text_2294F5, 4
+ return
+
+EverGrandeCity_ChampionsRoom_EventScript_228BFD:: @ 8228BFD
+ applymovement 2, EverGrandeCity_ChampionsRoom_Movement_228C26
+ waitmovement 0
+ applymovement 255, EverGrandeCity_ChampionsRoom_Movement_2725A4
+ waitmovement 0
+ return
+
+EverGrandeCity_ChampionsRoom_EventScript_228C12:: @ 8228C12
+ applymovement 2, EverGrandeCity_ChampionsRoom_Movement_228C2F
+ waitmovement 0
+ return
+
+EverGrandeCity_ChampionsRoom_Movement_228C1D: @ 8228C1D
+ step_up
+ step_up
+ step_end
+
+EverGrandeCity_ChampionsRoom_Movement_228C20: @ 8228C20
+ step_up
+ step_14
+ step_up
+ step_13
+ step_54
+ step_end
+
+EverGrandeCity_ChampionsRoom_Movement_228C26: @ 8228C26
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_left
+ step_up
+ step_28
+ step_end
+
+EverGrandeCity_ChampionsRoom_Movement_228C2F: @ 8228C2F
+ step_26
+ step_14
+ step_28
+ step_14
+ step_26
+ step_13
+ step_28
+ step_14
+ step_end
+
+EverGrandeCity_ChampionsRoom_Movement_228C38: @ 8228C38
+ step_right
+ step_up
+ step_end
+
+EverGrandeCity_ChampionsRoom_Movement_228C3B: @ 8228C3B
+ step_up
+ step_up
+ step_25
+ step_end
+
+EverGrandeCity_ChampionsRoom_Movement_228C3F: @ 8228C3F
+ step_up
+ step_13
+ step_54
+ step_end
+
+EverGrandeCity_ChampionsRoom_Movement_228C43: @ 8228C43
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_right
+ step_up
+ step_27
+ step_end
+
+EverGrandeCity_ChampionsRoom_Text_228C4C: @ 8228C4C
+ .string "WALLACE: Welcome, {PLAYER}{KUN}.\p"
+ .string "That incident in SOOTOPOLIS CITY…\n"
+ .string "That was superb work, putting an end\l"
+ .string "to that crisis all by yourself.\p"
+ .string "Oops!\p"
+ .string "It wouldn’t be fair to say that you\n"
+ .string "alone ended the crisis.\p"
+ .string "You overcame that difficult situation\n"
+ .string "by working as one with your POKéMON.\p"
+ .string "We TRAINERS raise POKéMON by giving\n"
+ .string "them items and by teaching them new\l"
+ .string "techniques for battle.\p"
+ .string "But we ourselves also learn many\n"
+ .string "things from POKéMON.\p"
+ .string "And this is where your achievements\n"
+ .string "are put to the test against what\l"
+ .string "others like you have achieved.\p"
+ .string "Now!\p"
+ .string "Who can most elegantly dance with\n"
+ .string "their POKéMON in HOENN?\p"
+ .string "Show me right here and now!$"
+
+EverGrandeCity_ChampionsRoom_Text_228EAC: @ 8228EAC
+ .string "I, the CHAMPION, fall in defeat…\p"
+ .string "That was wonderful work.\n"
+ .string "You were elegant, infuriatingly so.\l"
+ .string "And yet it was utterly glorious!\p"
+ .string "Kudos to you, {PLAYER}{KUN}!\p"
+ .string "You are a truly noble POKéMON\n"
+ .string "TRAINER!$"
+
+EverGrandeCity_ChampionsRoom_Text_228F66: @ 8228F66
+ .string "WALLACE: The POKéMON you sent into\n"
+ .string "battle…\p"
+ .string "At times they danced like a spring\n"
+ .string "breeze, and at times they struck\l"
+ .string "like lightning.\p"
+ .string "It was with light, yet surefooted,\n"
+ .string "elegance that you led your POKéMON.\p"
+ .string "Even I felt bedazzled by your\n"
+ .string "masterful performance!\p"
+ .string "You now stand at the glorious peak\n"
+ .string "of the POKéMON LEAGUE.\p"
+ .string "I now proclaim you to be the new\n"
+ .string "HOENN region…$"
+
+EverGrandeCity_ChampionsRoom_Text_2290CA: @ 82290CA
+ .string "MAY: {PLAYER}{KUN}!\p"
+ .string "Here’s some advice before you challenge\n"
+ .string "the CHAMPION…$"
+
+EverGrandeCity_ChampionsRoom_Text_22910B: @ 822910B
+ .string "MAY: Huh?\n"
+ .string "What, what, what?\p"
+ .string "{PLAYER}{KUN}…\n"
+ .string "Could it be that…\l"
+ .string "It’s already over?$"
+
+EverGrandeCity_ChampionsRoom_Text_229152: @ 8229152
+ .string "BRENDAN: {PLAYER}!\p"
+ .string "How would you like some advice before\n"
+ .string "you challenge the CHAMPION?…$"
+
+EverGrandeCity_ChampionsRoom_Text_2291A2: @ 82291A2
+ .string "BRENDAN: {PLAYER}…\p"
+ .string "Are you trying to tell me…\n"
+ .string "You’ve beaten the CHAMPION?$"
+
+EverGrandeCity_ChampionsRoom_Text_2291E6: @ 82291E6
+ .string "PROF. BIRCH: See?\n"
+ .string "What did I tell you, {RIVAL}?\p"
+ .string "Didn’t I tell you that you don’t need\n"
+ .string "to worry about {PLAYER}{KUN}?\p"
+ .string "… … … … … … … …\n"
+ .string "{PLAYER}{KUN}, you’ve finally done it.\p"
+ .string "When I heard that you defeated your\n"
+ .string "own father at the PETALBURG GYM,\l"
+ .string "I thought perhaps you had a chance…\p"
+ .string "But to think you’ve actually become\n"
+ .string "the CHAMPION!\p"
+ .string "Ah, yes!\p"
+ .string "What became of your POKéDEX?\n"
+ .string "Here, let me see.$"
+
+EverGrandeCity_ChampionsRoom_Text_22934D: @ 822934D
+ .string "PROF. BIRCH: Anyways,\n"
+ .string "congratulations!\p"
+ .string "Now, go proudly into the final room!$"
+
+EverGrandeCity_ChampionsRoom_Text_229399: @ 8229399
+ .string "WALLACE: {PLAYER}{KUN}…\p"
+ .string "No, let me rephrase that properly.\p"
+ .string "The new CHAMPION!\p"
+ .string "Come with me.$"
+
+EverGrandeCity_ChampionsRoom_Text_2293EB: @ 82293EB
+ .string "WALLACE: I’m sorry, but…\p"
+ .string "From here on, only those TRAINERS who\n"
+ .string "have become CHAMPIONS may enter.\p"
+ .string "You’ll have to wait outside with\n"
+ .string "PROF. BIRCH.$"
+
+EverGrandeCity_ChampionsRoom_Text_229479: @ 8229479
+ .string "MAY: Groan…\p"
+ .string "… … … … … … … …\n"
+ .string "… … … … … … … …\p"
+ .string "I’m just joking! That’s okay!\n"
+ .string "That’s the rule!\p"
+ .string "{PLAYER}{KUN}!\n"
+ .string "Honestly, congratulations!$"
+
+EverGrandeCity_ChampionsRoom_Text_2294F5: @ 82294F5
+ .string "BRENDAN: Whaaaat?! … … … … …\n"
+ .string "… … … … … … … …\p"
+ .string "It can’t be helped if that’s the rule.\p"
+ .string "{PLAYER}, way to go!\n"
+ .string "Congratulations!$"
+
diff --git a/data/scripts/maps/EverGrandeCity_DrakesRoom.inc b/data/scripts/maps/EverGrandeCity_DrakesRoom.inc
new file mode 100644
index 000000000..b732f7e88
--- /dev/null
+++ b/data/scripts/maps/EverGrandeCity_DrakesRoom.inc
@@ -0,0 +1,94 @@
+EverGrandeCity_DrakesRoom_MapScripts:: @ 822869C
+ map_script 2, EverGrandeCity_DrakesRoom_MapScript2_2286BB
+ map_script 1, EverGrandeCity_DrakesRoom_MapScript1_2286D2
+ map_script 4, EverGrandeCity_DrakesRoom_MapScript2_227F3E
+ .byte 0
+
+EverGrandeCity_DrakesRoom_MapScript2_2286AC: @ 82286AC
+ map_script_2 VAR_0x4001, 0, EverGrandeCity_DrakesRoom_EventScript_2286B6
+ .2byte 0
+
+EverGrandeCity_DrakesRoom_EventScript_2286B6:: @ 82286B6
+ turnobject 255, 2
+ end
+
+EverGrandeCity_DrakesRoom_MapScript2_2286BB: @ 82286BB
+ map_script_2 VAR_0x409C, 3, EverGrandeCity_DrakesRoom_EventScript_2286C5
+ .2byte 0
+
+EverGrandeCity_DrakesRoom_EventScript_2286C5:: @ 82286C5
+ lockall
+ call EverGrandeCity_DrakesRoom_EventScript_272475
+ setvar VAR_0x409C, 4
+ releaseall
+ end
+
+EverGrandeCity_DrakesRoom_MapScript1_2286D2: @ 82286D2
+ checkflag FLAG_0x4FE
+ call_if 1, EverGrandeCity_DrakesRoom_EventScript_2286E7
+ compare_var_to_value VAR_0x409C, 4
+ call_if 1, EverGrandeCity_DrakesRoom_EventScript_2286ED
+ end
+
+EverGrandeCity_DrakesRoom_EventScript_2286E7:: @ 82286E7
+ call EverGrandeCity_DrakesRoom_EventScript_2724BC
+ return
+
+EverGrandeCity_DrakesRoom_EventScript_2286ED:: @ 82286ED
+ call EverGrandeCity_DrakesRoom_EventScript_27255F
+ return
+
+EverGrandeCity_DrakesRoom_EventScript_2286F3:: @ 82286F3
+ lock
+ faceplayer
+ checkflag FLAG_0x4FE
+ goto_eq EverGrandeCity_DrakesRoom_EventScript_22871A
+ playbgm BGM_SITENNOU, 0
+ msgbox EverGrandeCity_DrakesRoom_Text_22873E, 4
+ trainerbattle 3, TRAINER_DRAKE, 0, EverGrandeCity_DrakesRoom_Text_228895
+ goto EverGrandeCity_DrakesRoom_EventScript_228724
+ end
+
+EverGrandeCity_DrakesRoom_EventScript_22871A:: @ 822871A
+ msgbox EverGrandeCity_DrakesRoom_Text_2288B0, 4
+ release
+ end
+
+EverGrandeCity_DrakesRoom_EventScript_228724:: @ 8228724
+ setvar VAR_0x8004, 0
+ special sub_813BF7C
+ setflag FLAG_0x4FE
+ call EverGrandeCity_DrakesRoom_EventScript_2723F8
+ msgbox EverGrandeCity_DrakesRoom_Text_2288B0, 4
+ release
+ end
+
+EverGrandeCity_DrakesRoom_Text_22873E: @ 822873E
+ .string "I am the last of the POKéMON LEAGUE\n"
+ .string "ELITE FOUR, DRAKE the DRAGON master!\p"
+ .string "In their natural state, POKéMON are\n"
+ .string "wild living things. They are free.\p"
+ .string "At times, they hinder us.\n"
+ .string "At times, they help us.\p"
+ .string "For us to battle with POKéMON as\n"
+ .string "partners, do you know what it takes?\p"
+ .string "Do you know what is needed?\p"
+ .string "If you don’t, then you will never\n"
+ .string "prevail over me!$"
+
+EverGrandeCity_DrakesRoom_Text_228895: @ 8228895
+ .string "Superb, it should be said.$"
+
+EverGrandeCity_DrakesRoom_Text_2288B0: @ 82288B0
+ .string "You deserve every credit for coming\n"
+ .string "this far as a TRAINER of POKéMON.\p"
+ .string "You do seem to know what is needed.\p"
+ .string "Yes, what a TRAINER needs is a\n"
+ .string "virtuous heart.\p"
+ .string "POKéMON touch the good hearts of\n"
+ .string "TRAINERS and learn good from wrong.\p"
+ .string "They touch the good hearts of\n"
+ .string "TRAINERS and grow strong.\p"
+ .string "Go! Go onwards!\n"
+ .string "The CHAMPION is waiting!$"
+
diff --git a/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc b/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc
new file mode 100644
index 000000000..b0c5b40a1
--- /dev/null
+++ b/data/scripts/maps/EverGrandeCity_GlaciasRoom.inc
@@ -0,0 +1,86 @@
+EverGrandeCity_GlaciasRoom_MapScripts:: @ 8228412
+ map_script 2, EverGrandeCity_GlaciasRoom_MapScript2_228431
+ map_script 1, EverGrandeCity_GlaciasRoom_MapScript1_228448
+ map_script 4, EverGrandeCity_GlaciasRoom_MapScript2_228422
+ .byte 0
+
+EverGrandeCity_GlaciasRoom_MapScript2_228422: @ 8228422
+ map_script_2 VAR_0x4001, 0, EverGrandeCity_GlaciasRoom_EventScript_22842C
+ .2byte 0
+
+EverGrandeCity_GlaciasRoom_EventScript_22842C:: @ 822842C
+ turnobject 255, 2
+ end
+
+EverGrandeCity_GlaciasRoom_MapScript2_228431: @ 8228431
+ map_script_2 VAR_0x409C, 2, EverGrandeCity_GlaciasRoom_EventScript_22843B
+ .2byte 0
+
+EverGrandeCity_GlaciasRoom_EventScript_22843B:: @ 822843B
+ lockall
+ call EverGrandeCity_GlaciasRoom_EventScript_272475
+ setvar VAR_0x409C, 3
+ releaseall
+ end
+
+EverGrandeCity_GlaciasRoom_MapScript1_228448: @ 8228448
+ checkflag FLAG_0x4FD
+ call_if 1, EverGrandeCity_GlaciasRoom_EventScript_22845D
+ compare_var_to_value VAR_0x409C, 3
+ call_if 1, EverGrandeCity_GlaciasRoom_EventScript_228463
+ end
+
+EverGrandeCity_GlaciasRoom_EventScript_22845D:: @ 822845D
+ call EverGrandeCity_GlaciasRoom_EventScript_2724BC
+ return
+
+EverGrandeCity_GlaciasRoom_EventScript_228463:: @ 8228463
+ call EverGrandeCity_GlaciasRoom_EventScript_27255F
+ return
+
+EverGrandeCity_GlaciasRoom_EventScript_228469:: @ 8228469
+ lock
+ faceplayer
+ checkflag FLAG_0x4FD
+ goto_eq EverGrandeCity_GlaciasRoom_EventScript_228490
+ playbgm BGM_SITENNOU, 0
+ msgbox EverGrandeCity_GlaciasRoom_Text_2284AC, 4
+ trainerbattle 3, TRAINER_GLACIA, 0, EverGrandeCity_GlaciasRoom_Text_2285B4
+ goto EverGrandeCity_GlaciasRoom_EventScript_22849A
+ end
+
+EverGrandeCity_GlaciasRoom_EventScript_228490:: @ 8228490
+ msgbox EverGrandeCity_GlaciasRoom_Text_228640, 4
+ release
+ end
+
+EverGrandeCity_GlaciasRoom_EventScript_22849A:: @ 822849A
+ setflag FLAG_0x4FD
+ call EverGrandeCity_GlaciasRoom_EventScript_2723F8
+ msgbox EverGrandeCity_GlaciasRoom_Text_228640, 4
+ release
+ end
+
+EverGrandeCity_GlaciasRoom_Text_2284AC: @ 82284AC
+ .string "Welcome, my name is GLACIA\n"
+ .string "of the ELITE FOUR.\p"
+ .string "I’ve traveled from afar to HOENN\n"
+ .string "so that I may hone my ice skills.\p"
+ .string "But all I have seen are challenges by\n"
+ .string "weak TRAINERS and their POKéMON.\p"
+ .string "What about you?\p"
+ .string "It would please me to no end if I could\n"
+ .string "go all out against you!$"
+
+EverGrandeCity_GlaciasRoom_Text_2285B4: @ 82285B4
+ .string "You and your POKéMON…\n"
+ .string "How hot your spirits burn!\p"
+ .string "The all-consuming heat overwhelms.\p"
+ .string "It’s no surprise that my icy skills\n"
+ .string "failed to harm you.$"
+
+EverGrandeCity_GlaciasRoom_Text_228640: @ 8228640
+ .string "Advance to the next room.\p"
+ .string "And there, confirm the truly fearsome\n"
+ .string "side of the POKéMON LEAGUE.$"
+
diff --git a/data/scripts/maps/EverGrandeCity_Hall1.inc b/data/scripts/maps/EverGrandeCity_Hall1.inc
new file mode 100644
index 000000000..9a570e6e0
--- /dev/null
+++ b/data/scripts/maps/EverGrandeCity_Hall1.inc
@@ -0,0 +1,12 @@
+EverGrandeCity_Hall1_MapScripts:: @ 8229569
+ map_script 4, EverGrandeCity_Hall1_MapScript2_22956F
+ .byte 0
+
+EverGrandeCity_Hall1_MapScript2_22956F: @ 822956F
+ map_script_2 VAR_0x4001, 0, EverGrandeCity_Hall1_EventScript_229579
+ .2byte 0
+
+EverGrandeCity_Hall1_EventScript_229579:: @ 8229579
+ turnobject 255, 2
+ end
+
diff --git a/data/scripts/maps/EverGrandeCity_Hall2.inc b/data/scripts/maps/EverGrandeCity_Hall2.inc
new file mode 100644
index 000000000..e6bed41c8
--- /dev/null
+++ b/data/scripts/maps/EverGrandeCity_Hall2.inc
@@ -0,0 +1,12 @@
+EverGrandeCity_Hall2_MapScripts:: @ 822957E
+ map_script 4, EverGrandeCity_Hall2_MapScript2_229584
+ .byte 0
+
+EverGrandeCity_Hall2_MapScript2_229584: @ 8229584
+ map_script_2 VAR_0x4001, 0, EverGrandeCity_Hall2_EventScript_22958E
+ .2byte 0
+
+EverGrandeCity_Hall2_EventScript_22958E:: @ 822958E
+ turnobject 255, 2
+ end
+
diff --git a/data/scripts/maps/EverGrandeCity_Hall3.inc b/data/scripts/maps/EverGrandeCity_Hall3.inc
new file mode 100644
index 000000000..505a9f6ac
--- /dev/null
+++ b/data/scripts/maps/EverGrandeCity_Hall3.inc
@@ -0,0 +1,12 @@
+EverGrandeCity_Hall3_MapScripts:: @ 8229593
+ map_script 4, EverGrandeCity_Hall3_MapScript2_229599
+ .byte 0
+
+EverGrandeCity_Hall3_MapScript2_229599: @ 8229599
+ map_script_2 VAR_0x4001, 0, EverGrandeCity_Hall3_EventScript_2295A3
+ .2byte 0
+
+EverGrandeCity_Hall3_EventScript_2295A3:: @ 82295A3
+ turnobject 255, 2
+ end
+
diff --git a/data/scripts/maps/EverGrandeCity_Hall4.inc b/data/scripts/maps/EverGrandeCity_Hall4.inc
new file mode 100644
index 000000000..bae904c35
--- /dev/null
+++ b/data/scripts/maps/EverGrandeCity_Hall4.inc
@@ -0,0 +1,12 @@
+EverGrandeCity_Hall4_MapScripts:: @ 82295A8
+ map_script 4, EverGrandeCity_Hall4_MapScript2_2295AE
+ .byte 0
+
+EverGrandeCity_Hall4_MapScript2_2295AE: @ 82295AE
+ map_script_2 VAR_0x4001, 0, EverGrandeCity_Hall4_EventScript_2295B8
+ .2byte 0
+
+EverGrandeCity_Hall4_EventScript_2295B8:: @ 82295B8
+ turnobject 255, 2
+ end
+
diff --git a/data/scripts/maps/EverGrandeCity_Hall5.inc b/data/scripts/maps/EverGrandeCity_Hall5.inc
new file mode 100644
index 000000000..cc987a4cf
--- /dev/null
+++ b/data/scripts/maps/EverGrandeCity_Hall5.inc
@@ -0,0 +1,12 @@
+EverGrandeCity_Hall5_MapScripts:: @ 82295BD
+ map_script 4, EverGrandeCity_Hall5_MapScript2_2295C3
+ .byte 0
+
+EverGrandeCity_Hall5_MapScript2_2295C3: @ 82295C3
+ map_script_2 VAR_0x4001, 0, EverGrandeCity_Hall5_EventScript_2295CD
+ .2byte 0
+
+EverGrandeCity_Hall5_EventScript_2295CD:: @ 82295CD
+ turnobject 255, 2
+ end
+
diff --git a/data/scripts/maps/EverGrandeCity_HallOfFame.inc b/data/scripts/maps/EverGrandeCity_HallOfFame.inc
new file mode 100644
index 000000000..5942aa1e0
--- /dev/null
+++ b/data/scripts/maps/EverGrandeCity_HallOfFame.inc
@@ -0,0 +1,99 @@
+EverGrandeCity_HallOfFame_MapScripts:: @ 822982C
+ map_script 2, EverGrandeCity_HallOfFame_MapScript2_229846
+ map_script 4, EverGrandeCity_HallOfFame_MapScript2_229837
+ .byte 0
+
+EverGrandeCity_HallOfFame_MapScript2_229837: @ 8229837
+ map_script_2 VAR_0x4001, 0, EverGrandeCity_HallOfFame_EventScript_229841
+ .2byte 0
+
+EverGrandeCity_HallOfFame_EventScript_229841:: @ 8229841
+ turnobject 255, 2
+ end
+
+EverGrandeCity_HallOfFame_MapScript2_229846: @ 8229846
+ map_script_2 VAR_0x4001, 0, EverGrandeCity_HallOfFame_EventScript_229850
+ .2byte 0
+
+EverGrandeCity_HallOfFame_EventScript_229850:: @ 8229850
+ lockall
+ applymovement 1, EverGrandeCity_HallOfFame_Movement_229901
+ applymovement 255, EverGrandeCity_HallOfFame_Movement_229901
+ waitmovement 0
+ applymovement 1, EverGrandeCity_HallOfFame_Movement_2725A8
+ applymovement 255, EverGrandeCity_HallOfFame_Movement_2725A4
+ waitmovement 0
+ msgbox EverGrandeCity_HallOfFame_Text_22990E, 4
+ closemessage
+ applymovement 1, EverGrandeCity_HallOfFame_Movement_229908
+ applymovement 255, EverGrandeCity_HallOfFame_Movement_229908
+ waitmovement 0
+ delay 20
+ applymovement 1, EverGrandeCity_HallOfFame_Movement_2725A8
+ applymovement 255, EverGrandeCity_HallOfFame_Movement_2725A4
+ waitmovement 0
+ msgbox EverGrandeCity_HallOfFame_Text_2299A3, 4
+ closemessage
+ applymovement 1, EverGrandeCity_HallOfFame_Movement_2725A6
+ applymovement 255, EverGrandeCity_HallOfFame_Movement_2725A6
+ waitmovement 0
+ delay 20
+ dofieldeffect 62
+ waitfieldeffect 62
+ delay 40
+ setvar VAR_0x4001, 1
+ call EverGrandeCity_HallOfFame_EventScript_2717C1
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EverGrandeCity_HallOfFame_EventScript_2298E9
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq EverGrandeCity_HallOfFame_EventScript_2298F5
+ end
+
+EverGrandeCity_HallOfFame_EventScript_2298E9:: @ 82298E9
+ setrespawn 1
+ fadescreenspeed 1, 24
+ special sub_8137734
+ waitstate
+ releaseall
+ end
+
+EverGrandeCity_HallOfFame_EventScript_2298F5:: @ 82298F5
+ setrespawn 2
+ fadescreenspeed 1, 24
+ special sub_8137734
+ waitstate
+ releaseall
+ end
+
+EverGrandeCity_HallOfFame_Movement_229901: @ 8229901
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+EverGrandeCity_HallOfFame_Movement_229908: @ 8229908
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+EverGrandeCity_HallOfFame_Text_22990E: @ 822990E
+ .string "WALLACE: This room…\p"
+ .string "This is where we keep records of\n"
+ .string "POKéMON that prevailed through\l"
+ .string "harsh battles.\p"
+ .string "It is here that the LEAGUE CHAMPIONS\n"
+ .string "are honored.$"
+
+EverGrandeCity_HallOfFame_Text_2299A3: @ 82299A3
+ .string "WALLACE: Come on, let’s record your\n"
+ .string "name as a TRAINER who triumphed over\l"
+ .string "the POKéMON LEAGUE, and the names of\l"
+ .string "the partners who battled with you.$"
+
diff --git a/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc b/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc
new file mode 100644
index 000000000..1d1f45742
--- /dev/null
+++ b/data/scripts/maps/EverGrandeCity_PhoebesRoom.inc
@@ -0,0 +1,87 @@
+EverGrandeCity_PhoebesRoom_MapScripts:: @ 8228174
+ map_script 1, EverGrandeCity_PhoebesRoom_MapScript1_2281AA
+ map_script 4, EverGrandeCity_PhoebesRoom_MapScript2_228184
+ map_script 2, EverGrandeCity_PhoebesRoom_MapScript2_228193
+ .byte 0
+
+EverGrandeCity_PhoebesRoom_MapScript2_228184: @ 8228184
+ map_script_2 VAR_0x4001, 0, EverGrandeCity_PhoebesRoom_EventScript_22818E
+ .2byte 0
+
+EverGrandeCity_PhoebesRoom_EventScript_22818E:: @ 822818E
+ turnobject 255, 2
+ end
+
+EverGrandeCity_PhoebesRoom_MapScript2_228193: @ 8228193
+ map_script_2 VAR_0x409C, 1, EverGrandeCity_PhoebesRoom_EventScript_22819D
+ .2byte 0
+
+EverGrandeCity_PhoebesRoom_EventScript_22819D:: @ 822819D
+ lockall
+ call EverGrandeCity_PhoebesRoom_EventScript_272475
+ setvar VAR_0x409C, 2
+ releaseall
+ end
+
+EverGrandeCity_PhoebesRoom_MapScript1_2281AA: @ 82281AA
+ checkflag FLAG_0x4FC
+ call_if 1, EverGrandeCity_PhoebesRoom_EventScript_2281BF
+ compare_var_to_value VAR_0x409C, 2
+ call_if 1, EverGrandeCity_PhoebesRoom_EventScript_2281C5
+ end
+
+EverGrandeCity_PhoebesRoom_EventScript_2281BF:: @ 82281BF
+ call EverGrandeCity_PhoebesRoom_EventScript_2724BC
+ return
+
+EverGrandeCity_PhoebesRoom_EventScript_2281C5:: @ 82281C5
+ call EverGrandeCity_PhoebesRoom_EventScript_27255F
+ return
+
+EverGrandeCity_PhoebesRoom_EventScript_2281CB:: @ 82281CB
+ lock
+ faceplayer
+ checkflag FLAG_0x4FC
+ goto_eq EverGrandeCity_PhoebesRoom_EventScript_2281F2
+ playbgm BGM_SITENNOU, 0
+ msgbox EverGrandeCity_PhoebesRoom_Text_22820E, 4
+ trainerbattle 3, TRAINER_PHOEBE, 0, EverGrandeCity_PhoebesRoom_Text_228325
+ goto EverGrandeCity_PhoebesRoom_EventScript_2281FC
+ end
+
+EverGrandeCity_PhoebesRoom_EventScript_2281F2:: @ 82281F2
+ msgbox EverGrandeCity_PhoebesRoom_Text_228343, 4
+ release
+ end
+
+EverGrandeCity_PhoebesRoom_EventScript_2281FC:: @ 82281FC
+ setflag FLAG_0x4FC
+ call EverGrandeCity_PhoebesRoom_EventScript_2723F8
+ msgbox EverGrandeCity_PhoebesRoom_Text_228343, 4
+ release
+ end
+
+EverGrandeCity_PhoebesRoom_Text_22820E: @ 822820E
+ .string "Ahahaha!\p"
+ .string "I’m PHOEBE of the ELITE FOUR.\n"
+ .string "I did my training on MT. PYRE.\p"
+ .string "While I trained, I gained the ability\n"
+ .string "to commune with GHOST-type POKéMON.\p"
+ .string "Yes, the bond I developed with POKéMON\n"
+ .string "is extremely tight.\p"
+ .string "So, come on, just try and see if you can\n"
+ .string "even inflict damage on my POKéMON!$"
+
+EverGrandeCity_PhoebesRoom_Text_228325: @ 8228325
+ .string "Oh, darn.\n"
+ .string "I’ve gone and lost.$"
+
+EverGrandeCity_PhoebesRoom_Text_228343: @ 8228343
+ .string "There’s a definite bond between you\n"
+ .string "and your POKéMON, too.\p"
+ .string "I didn’t recognize it, so it’s only\n"
+ .string "natural that I lost.\p"
+ .string "Yup, I’d like to see how far your bond\n"
+ .string "will carry you.\p"
+ .string "Go ahead, move on to the next room.$"
+
diff --git a/data/scripts/maps/EverGrandeCity_PokemonCenter_1F.inc b/data/scripts/maps/EverGrandeCity_PokemonCenter_1F.inc
new file mode 100644
index 000000000..488cd0e67
--- /dev/null
+++ b/data/scripts/maps/EverGrandeCity_PokemonCenter_1F.inc
@@ -0,0 +1,104 @@
+EverGrandeCity_PokemonCenter_1F_MapScripts:: @ 8229A34
+ map_script 3, EverGrandeCity_PokemonCenter_1F_MapScript1_229A3F
+ map_script 5, EverGrandeCity_PokemonCenter_1F_MapScript1_277C30
+ .byte 0
+
+EverGrandeCity_PokemonCenter_1F_MapScript1_229A3F: @ 8229A3F
+ setrespawn 11
+ checkflag FLAG_0x1CF
+ call_if 0, EverGrandeCity_PokemonCenter_1F_EventScript_229A4C
+ end
+
+EverGrandeCity_PokemonCenter_1F_EventScript_229A4C:: @ 8229A4C
+ checkflag FLAG_BADGE06_GET
+ goto_if 0, EverGrandeCity_PokemonCenter_1F_EventScript_27374E
+ clearflag FLAG_0x319
+ return
+
+EverGrandeCity_PokemonCenter_1F_EventScript_229A59:: @ 8229A59
+ setvar VAR_0x800B, 1
+ call EverGrandeCity_PokemonCenter_1F_EventScript_27191E
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+EverGrandeCity_PokemonCenter_1F_EventScript_229A67:: @ 8229A67
+ msgbox EverGrandeCity_PokemonCenter_1F_Text_229ADA, 2
+ end
+
+EverGrandeCity_PokemonCenter_1F_EventScript_229A70:: @ 8229A70
+ msgbox EverGrandeCity_PokemonCenter_1F_Text_229B62, 2
+ end
+
+EverGrandeCity_PokemonCenter_1F_EventScript_229A79:: @ 8229A79
+ lock
+ faceplayer
+ msgbox EverGrandeCity_PokemonCenter_1F_Text_229BF1, 4
+ closemessage
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, EverGrandeCity_PokemonCenter_1F_EventScript_229AB6
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, EverGrandeCity_PokemonCenter_1F_EventScript_229AC1
+ compare_var_to_value VAR_FACING, 3
+ call_if 1, EverGrandeCity_PokemonCenter_1F_EventScript_229AC1
+ addvar VAR_0x40D1, 1
+ setflag FLAG_0x1CF
+ playse SE_KAIDAN
+ waitse
+ removeobject 4
+ release
+ end
+
+EverGrandeCity_PokemonCenter_1F_EventScript_229AB6:: @ 8229AB6
+ applymovement 4, EverGrandeCity_PokemonCenter_1F_Movement_229ACC
+ waitmovement 0
+ return
+
+EverGrandeCity_PokemonCenter_1F_EventScript_229AC1:: @ 8229AC1
+ applymovement 4, EverGrandeCity_PokemonCenter_1F_Movement_229AD3
+ waitmovement 0
+ return
+
+EverGrandeCity_PokemonCenter_1F_Movement_229ACC: @ 8229ACC
+ step_left
+ step_down
+ step_down
+ step_left
+ step_down
+ step_down
+ step_end
+
+EverGrandeCity_PokemonCenter_1F_Movement_229AD3: @ 8229AD3
+ step_down
+ step_down
+ step_left
+ step_left
+ step_down
+ step_down
+ step_end
+
+EverGrandeCity_PokemonCenter_1F_Text_229ADA: @ 8229ADA
+ .string "The POKéMON LEAGUE is only a short\n"
+ .string "distance after the VICTORY ROAD.\p"
+ .string "If you’ve come this far, what choice\n"
+ .string "do you have but to keep going?$"
+
+EverGrandeCity_PokemonCenter_1F_Text_229B62: @ 8229B62
+ .string "The long and harrowing VICTORY ROAD…\p"
+ .string "It’s like reliving the path one has\n"
+ .string "traveled in life…\p"
+ .string "Believe in your POKéMON and give it\n"
+ .string "your very best!$"
+
+EverGrandeCity_PokemonCenter_1F_Text_229BF1: @ 8229BF1
+ .string "SCOTT: {PLAYER}{KUN}, you’ve clawed your\n"
+ .string "way up to face the POKéMON LEAGUE!\p"
+ .string "I’m happy for you!\n"
+ .string "You made my cheering worthwhile!\p"
+ .string "{PLAYER}{KUN}, if you were to become\n"
+ .string "the POKéMON LEAGUE CHAMPION…\p"
+ .string "I’ll get in touch with you then.\p"
+ .string "Okay, {PLAYER}{KUN}.\n"
+ .string "Go for greatness!$"
+
diff --git a/data/scripts/maps/EverGrandeCity_PokemonCenter_2F.inc b/data/scripts/maps/EverGrandeCity_PokemonCenter_2F.inc
new file mode 100644
index 000000000..09d382b2b
--- /dev/null
+++ b/data/scripts/maps/EverGrandeCity_PokemonCenter_2F.inc
@@ -0,0 +1,20 @@
+EverGrandeCity_PokemonCenter_2F_MapScripts:: @ 8229CE0
+ map_script 2, EverGrandeCity_PokemonCenter_2F_MapScript2_276C3B
+ map_script 4, EverGrandeCity_PokemonCenter_2F_MapScript2_276B6C
+ map_script 1, EverGrandeCity_PokemonCenter_2F_MapScript1_276BBE
+ map_script 3, EverGrandeCity_PokemonCenter_2F_MapScript1_276ACF
+ .byte 0
+
+EverGrandeCity_PokemonCenter_2F_EventScript_229CF5:: @ 8229CF5
+ call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+ end
+
+EverGrandeCity_PokemonCenter_2F_EventScript_229CFB:: @ 8229CFB
+ call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+ end
+
+EverGrandeCity_PokemonCenter_2F_EventScript_229D01:: @ 8229D01
+ call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+ end
+
+
diff --git a/data/scripts/maps/EverGrandeCity_PokemonLeague_1F.inc b/data/scripts/maps/EverGrandeCity_PokemonLeague_1F.inc
new file mode 100644
index 000000000..fca1a9861
--- /dev/null
+++ b/data/scripts/maps/EverGrandeCity_PokemonLeague_1F.inc
@@ -0,0 +1,142 @@
+EverGrandeCity_PokemonLeague_1F_MapScripts:: @ 82295D2
+ map_script 3, EverGrandeCity_PokemonLeague_1F_MapScript1_2295DD
+ map_script 5, EverGrandeCity_PokemonLeague_1F_MapScript1_277C30
+ .byte 0
+
+EverGrandeCity_PokemonLeague_1F_MapScript1_2295DD: @ 82295DD
+ setrespawn 20
+ setflag FLAG_SYS_POKEMON_LEAGUE_FLY
+ checkflag FLAG_0x107
+ call_if 0, EverGrandeCity_PokemonLeague_1F_EventScript_2295ED
+ end
+
+EverGrandeCity_PokemonLeague_1F_EventScript_2295ED:: @ 82295ED
+ setobjectxyperm 3, 9, 2
+ setobjectxyperm 4, 10, 2
+ return
+
+EverGrandeCity_PokemonLeague_1F_EventScript_2295FC:: @ 82295FC
+ setvar VAR_0x800B, 1
+ call EverGrandeCity_PokemonLeague_1F_EventScript_27191E
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+EverGrandeCity_PokemonLeague_1F_EventScript_22960A:: @ 822960A
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemart EverGrandeCity_PokemonLeague_1F_Pokemart_229624
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+EverGrandeCity_PokemonLeague_1F_Pokemart_229624: @ 8229624
+ .2byte ITEM_ULTRA_BALL
+ .2byte ITEM_HYPER_POTION
+ .2byte ITEM_MAX_POTION
+ .2byte ITEM_FULL_RESTORE
+ .2byte ITEM_FULL_HEAL
+ .2byte ITEM_REVIVE
+ .2byte ITEM_MAX_REPEL
+ .2byte ITEM_NONE
+ release
+ end
+
+EverGrandeCity_PokemonLeague_1F_EventScript_229636:: @ 8229636
+ lockall
+ checkflag FLAG_0x107
+ goto_eq EverGrandeCity_PokemonLeague_1F_EventScript_2296BB
+ getplayerxy VAR_0x4000, VAR_0x4001
+ compare_var_to_value VAR_0x4000, 11
+ call_if 4, EverGrandeCity_PokemonLeague_1F_EventScript_229698
+ compare_var_to_value VAR_0x4000, 8
+ call_if 3, EverGrandeCity_PokemonLeague_1F_EventScript_2296A3
+ message EverGrandeCity_PokemonLeague_1F_Text_2296E8
+ waitmessage
+ delay 120
+ checkflag FLAG_BADGE06_GET
+ goto_if 0, EverGrandeCity_PokemonLeague_1F_EventScript_2296AE
+ closemessage
+ applymovement 3, EverGrandeCity_PokemonLeague_1F_Movement_2296E2
+ applymovement 4, EverGrandeCity_PokemonLeague_1F_Movement_2296E5
+ waitmovement 0
+ delay 10
+ playfanfare BGM_ME_BACHI
+ message EverGrandeCity_PokemonLeague_1F_Text_2297EF
+ waitmessage
+ waitfanfare
+ closemessage
+ moveobjectoffscreen 3
+ moveobjectoffscreen 4
+ setflag FLAG_0x107
+ releaseall
+ end
+
+EverGrandeCity_PokemonLeague_1F_EventScript_229698:: @ 8229698
+ applymovement 255, EverGrandeCity_PokemonLeague_1F_Movement_2296DA
+ waitmovement 0
+ return
+
+EverGrandeCity_PokemonLeague_1F_EventScript_2296A3:: @ 82296A3
+ applymovement 255, EverGrandeCity_PokemonLeague_1F_Movement_2296DE
+ waitmovement 0
+ return
+
+EverGrandeCity_PokemonLeague_1F_EventScript_2296AE:: @ 82296AE
+ playse SE_HAZURE
+ msgbox EverGrandeCity_PokemonLeague_1F_Text_229787, 4
+ releaseall
+ end
+
+EverGrandeCity_PokemonLeague_1F_EventScript_2296BB:: @ 82296BB
+ applymovement VAR_LAST_TALKED, EverGrandeCity_PokemonLeague_1F_Movement_27259E
+ waitmovement 0
+ msgbox EverGrandeCity_PokemonLeague_1F_Text_2297EF, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, EverGrandeCity_PokemonLeague_1F_Movement_2725A2
+ waitmovement 0
+ releaseall
+ end
+
+EverGrandeCity_PokemonLeague_1F_Movement_2296DA: @ 82296DA
+ step_down
+ step_left
+ step_26
+ step_end
+
+EverGrandeCity_PokemonLeague_1F_Movement_2296DE: @ 82296DE
+ step_down
+ step_right
+ step_26
+ step_end
+
+EverGrandeCity_PokemonLeague_1F_Movement_2296E2: @ 82296E2
+ step_left
+ step_25
+ step_end
+
+EverGrandeCity_PokemonLeague_1F_Movement_2296E5: @ 82296E5
+ step_right
+ step_25
+ step_end
+
+EverGrandeCity_PokemonLeague_1F_Text_2296E8: @ 82296E8
+ .string "Beyond this point, only those TRAINERS\n"
+ .string "who have collected all the GYM BADGES\l"
+ .string "are permitted to enter.\p"
+ .string "TRAINER, let us confirm that you have\n"
+ .string "all the GYM BADGES.$"
+
+EverGrandeCity_PokemonLeague_1F_Text_229787: @ 8229787
+ .string "You haven’t obtained all the BADGES.\p"
+ .string "If you’re bound for the POKéMON\n"
+ .string "LEAGUE, you must return with them.$"
+
+EverGrandeCity_PokemonLeague_1F_Text_2297EF: @ 82297EF
+ .string "TRAINER! Believe in yourself and your\n"
+ .string "POKéMON, and go forth!$"
+
diff --git a/data/scripts/maps/EverGrandeCity_PokemonLeague_2F.inc b/data/scripts/maps/EverGrandeCity_PokemonLeague_2F.inc
new file mode 100644
index 000000000..d3a77a051
--- /dev/null
+++ b/data/scripts/maps/EverGrandeCity_PokemonLeague_2F.inc
@@ -0,0 +1,19 @@
+EverGrandeCity_PokemonLeague_2F_MapScripts:: @ 8229D07
+ map_script 2, EverGrandeCity_PokemonLeague_2F_MapScript2_276C3B
+ map_script 4, EverGrandeCity_PokemonLeague_2F_MapScript2_276B6C
+ map_script 1, EverGrandeCity_PokemonLeague_2F_MapScript1_276BBE
+ map_script 3, EverGrandeCity_PokemonLeague_2F_MapScript1_276ACF
+ .byte 0
+
+EverGrandeCity_PokemonLeague_2F_EventScript_229D1C:: @ 8229D1C
+ call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+ end
+
+EverGrandeCity_PokemonLeague_2F_EventScript_229D22:: @ 8229D22
+ call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+ end
+
+EverGrandeCity_PokemonLeague_2F_EventScript_229D28:: @ 8229D28
+ call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+ end
+
diff --git a/data/scripts/maps/EverGrandeCity_SidneysRoom.inc b/data/scripts/maps/EverGrandeCity_SidneysRoom.inc
new file mode 100644
index 000000000..782538b1e
--- /dev/null
+++ b/data/scripts/maps/EverGrandeCity_SidneysRoom.inc
@@ -0,0 +1,91 @@
+EverGrandeCity_SidneysRoom_MapScripts:: @ 8227F01
+ map_script 1, EverGrandeCity_SidneysRoom_MapScript1_227F1D
+ map_script 4, EverGrandeCity_SidneysRoom_MapScript2_227F3E
+ map_script 3, EverGrandeCity_SidneysRoom_MapScript1_227F16
+ map_script 2, EverGrandeCity_SidneysRoom_MapScript2_227F4D
+ .byte 0
+
+EverGrandeCity_SidneysRoom_MapScript1_227F16: @ 8227F16
+ setflag FLAG_0x1CF
+ setflag FLAG_0x319
+ end
+
+EverGrandeCity_SidneysRoom_MapScript1_227F1D: @ 8227F1D
+ checkflag FLAG_0x4FB
+ call_if 1, EverGrandeCity_SidneysRoom_EventScript_227F32
+ compare_var_to_value VAR_0x409C, 1
+ call_if 1, EverGrandeCity_SidneysRoom_EventScript_227F38
+ end
+
+EverGrandeCity_SidneysRoom_EventScript_227F32:: @ 8227F32
+ call EverGrandeCity_SidneysRoom_EventScript_2724BC
+ return
+
+EverGrandeCity_SidneysRoom_EventScript_227F38:: @ 8227F38
+ call EverGrandeCity_SidneysRoom_EventScript_27255F
+ return
+
+EverGrandeCity_DrakesRoom_MapScript2_227F3E: @ 8227F3E
+EverGrandeCity_SidneysRoom_MapScript2_227F3E: @ 8227F3E
+ map_script_2 VAR_0x4001, 0, EverGrandeCity_SidneysRoom_EventScript_227F48
+ .2byte 0
+
+EverGrandeCity_SidneysRoom_EventScript_227F48:: @ 8227F48
+ turnobject 255, 2
+ end
+
+EverGrandeCity_SidneysRoom_MapScript2_227F4D: @ 8227F4D
+ map_script_2 VAR_0x409C, 0, EverGrandeCity_SidneysRoom_EventScript_227F57
+ .2byte 0
+
+EverGrandeCity_SidneysRoom_EventScript_227F57:: @ 8227F57
+ lockall
+ call EverGrandeCity_SidneysRoom_EventScript_272475
+ setvar VAR_0x409C, 1
+ releaseall
+ end
+
+EverGrandeCity_SidneysRoom_EventScript_227F64:: @ 8227F64
+ lock
+ faceplayer
+ checkflag FLAG_0x4FB
+ goto_eq EverGrandeCity_SidneysRoom_EventScript_227F8B
+ playbgm BGM_SITENNOU, 0
+ msgbox EverGrandeCity_SidneysRoom_Text_227FA7, 4
+ trainerbattle 3, TRAINER_SIDNEY, 0, EverGrandeCity_SidneysRoom_Text_2280A2
+ goto EverGrandeCity_SidneysRoom_EventScript_227F95
+ end
+
+EverGrandeCity_SidneysRoom_EventScript_227F8B:: @ 8227F8B
+ msgbox EverGrandeCity_SidneysRoom_Text_2280EC, 4
+ release
+ end
+
+EverGrandeCity_SidneysRoom_EventScript_227F95:: @ 8227F95
+ setflag FLAG_0x4FB
+ call EverGrandeCity_SidneysRoom_EventScript_2723F8
+ msgbox EverGrandeCity_SidneysRoom_Text_2280EC, 4
+ release
+ end
+
+EverGrandeCity_SidneysRoom_Text_227FA7: @ 8227FA7
+ .string "Welcome, challenger!\n"
+ .string "I’m SIDNEY of the ELITE FOUR.\p"
+ .string "I like that look you’re giving me.\n"
+ .string "I guess you’ll give me a good match.\l"
+ .string "That’s good! Looking real good!\p"
+ .string "All right! You and me, let’s enjoy\n"
+ .string "a battle that can only be staged\l"
+ .string "here in the POKéMON LEAGUE!$"
+
+EverGrandeCity_SidneysRoom_Text_2280A2: @ 82280A2
+ .string "Well, how do you like that? I lost!\n"
+ .string "Eh, it was fun, so it doesn’t matter.$"
+
+EverGrandeCity_SidneysRoom_Text_2280EC: @ 82280EC
+ .string "Well, listen to what this loser has\n"
+ .string "to say.\p"
+ .string "You’ve got what it takes to go far.\n"
+ .string "Now, go on to the next room and enjoy\l"
+ .string "your next battle!$"
+
diff --git a/data/scripts/maps/FallarborTown.inc b/data/scripts/maps/FallarborTown.inc
new file mode 100644
index 000000000..21cea72e1
--- /dev/null
+++ b/data/scripts/maps/FallarborTown.inc
@@ -0,0 +1,96 @@
+FallarborTown_MapScripts:: @ 81EB1FA
+ map_script 3, FallarborTown_MapScript1_1EB200
+ .byte 0
+
+FallarborTown_MapScript1_1EB200: @ 81EB200
+ setflag FLAG_VISITED_FALLARBOR_TOWN
+ setvar VAR_0x4086, 0
+ clearflag FLAG_0x10E
+ end
+
+FallarborTown_EventScript_1EB20C:: @ 81EB20C
+ lock
+ faceplayer
+ checkflag FLAG_0x08B
+ goto_eq FallarborTown_EventScript_1EB221
+ msgbox FallarborTown_Text_1EB26B, 4
+ release
+ end
+
+FallarborTown_EventScript_1EB221:: @ 81EB221
+ msgbox FallarborTown_Text_1EB2DE, 4
+ release
+ end
+
+FallarborTown_EventScript_1EB22B:: @ 81EB22B
+ msgbox FallarborTown_Text_1EB35F, 2
+ end
+
+FallarborTown_EventScript_1EB234:: @ 81EB234
+ msgbox FallarborTown_Text_1EB3CA, 2
+ end
+
+FallarborTown_EventScript_1EB23D:: @ 81EB23D
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_AZURILL, 0
+ msgbox FallarborTown_Text_1EB3B5, 4
+ waitmoncry
+ release
+ end
+
+FallarborTown_EventScript_1EB250:: @ 81EB250
+ msgbox FallarborTown_Text_1EB4C2, 3
+ end
+
+FallarborTown_EventScript_1EB259:: @ 81EB259
+ msgbox FallarborTown_Text_1EB4FE, 3
+ end
+
+FallarborTown_EventScript_1EB262:: @ 81EB262
+ msgbox FallarborTown_Text_1EB534, 3
+ end
+
+FallarborTown_Text_1EB26B: @ 81EB26B
+ .string "Something’s happening,\n"
+ .string "and I don’t like it!\p"
+ .string "I’ve seen shady characters wandering\n"
+ .string "in and out of PROF. COZMO’s home…$"
+
+FallarborTown_Text_1EB2DE: @ 81EB2DE
+ .string "This region’s been known for meteors\n"
+ .string "since the olden days.\p"
+ .string "They say METEOR FALLS was gouged out\n"
+ .string "by a falling meteorite long ago.$"
+
+FallarborTown_Text_1EB35F: @ 81EB35F
+ .string "See! Take a look!\n"
+ .string "This is my precious AZURILL!\p"
+ .string "It’s slick and smooth and plushy, too!$"
+
+FallarborTown_Text_1EB3B5: @ 81EB3B5
+ .string "AZURILL: Rooreelooo.$"
+
+FallarborTown_Text_1EB3CA: @ 81EB3CA
+ .string "Have you already challenged FLANNERY,\n"
+ .string "the LEADER of LAVARIDGE GYM?\p"
+ .string "The girl’s grandfather was famous.\n"
+ .string "He was one of the ELITE FOUR in the\l"
+ .string "POKéMON LEAGUE at one point.\p"
+ .string "It wouldn’t surprise me to see FLANNERY\n"
+ .string "become a great TRAINER in her own\l"
+ .string "right.$"
+
+FallarborTown_Text_1EB4C2: @ 81EB4C2
+ .string "BATTLE TENT FALLARBOR SITE\n"
+ .string "“May the Greatest Teams Gather!”$"
+
+FallarborTown_Text_1EB4FE: @ 81EB4FE
+ .string "FALLARBOR TOWN\n"
+ .string "“A farm community with small gardens.”$"
+
+FallarborTown_Text_1EB534: @ 81EB534
+ .string "MOVE TUTOR’S HOUSE\n"
+ .string "“New moves taught to POKéMON.”$"
+
diff --git a/data/scripts/maps/FallarborTown_BattleTentBattleRoom.inc b/data/scripts/maps/FallarborTown_BattleTentBattleRoom.inc
new file mode 100644
index 000000000..a20ca4f1c
--- /dev/null
+++ b/data/scripts/maps/FallarborTown_BattleTentBattleRoom.inc
@@ -0,0 +1,268 @@
+FallarborTown_BattleTentBattleRoom_MapScripts:: @ 8200899
+ map_script 3, FallarborTown_BattleTentBattleRoom_MapScript1_2008A9
+ map_script 2, FallarborTown_BattleTentBattleRoom_MapScript2_2008DD
+ map_script 4, FallarborTown_BattleTentBattleRoom_MapScript2_200BB0
+ .byte 0
+
+FallarborTown_BattleTentBattleRoom_MapScript1_2008A9: @ 82008A9
+ call FallarborTown_BattleTentBattleRoom_EventScript_2008AF
+ end
+
+FallarborTown_BattleTentBattleRoom_EventScript_2008AF:: @ 82008AF
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq FallarborTown_BattleTentBattleRoom_EventScript_2008C7
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq FallarborTown_BattleTentBattleRoom_EventScript_2008D2
+ return
+
+FallarborTown_BattleTentBattleRoom_EventScript_2008C7:: @ 82008C7
+ setvar VAR_0x4011, 100
+ setvar VAR_0x4010, 100
+ return
+
+FallarborTown_BattleTentBattleRoom_EventScript_2008D2:: @ 82008D2
+ setvar VAR_0x4011, 105
+ setvar VAR_0x4010, 105
+ return
+
+FallarborTown_BattleTentBattleRoom_MapScript2_2008DD: @ 82008DD
+ map_script_2 VAR_0x4000, 0, FallarborTown_BattleTentBattleRoom_EventScript_2008E7
+ .2byte 0
+
+FallarborTown_BattleTentBattleRoom_EventScript_2008E7:: @ 82008E7
+ lockall
+ showobjectat 1, FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM
+ applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_200B8D
+ waitmovement 0
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, FallarborTown_BattleTentBattleRoom_EventScript_200B73
+
+FallarborTown_BattleTentBattleRoom_EventScript_20090F:: @ 820090F
+ setvar VAR_0x8004, 3
+ special sub_8161F74
+ addobject 3
+ applymovement 3, FallarborTown_BattleTentBattleRoom_Movement_200B96
+ waitmovement 0
+ applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BA3
+ playse SE_W187
+ waitse
+ waitmovement 0
+ msgbox FallarborTown_BattleTentBattleRoom_Text_257C93, 4
+ setvar VAR_0x8004, 4
+ special sub_81B99B4
+ msgbox 0x2021fc4, 4
+ waitmessage
+ call FallarborTown_BattleTentBattleRoom_EventScript_257B6C
+ switch VAR_RESULT
+ case 1, FallarborTown_BattleTentBattleRoom_EventScript_20099C
+ applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BA3
+ playse SE_W173
+ waitse
+ waitmovement 0
+ setvar VAR_0x8004, 6
+ special sub_81B9B80
+ msgbox FallarborTown_BattleTentBattleRoom_Text_257CCE, 4
+
+FallarborTown_BattleTentBattleRoom_EventScript_20097E:: @ 820097E
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 4
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ warp FALLARBOR_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
+ waitstate
+
+FallarborTown_BattleTentBattleRoom_EventScript_20099C:: @ 820099C
+ applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BA3
+ playse SE_BAN
+ waitse
+ waitmovement 0
+ msgbox FallarborTown_BattleTentBattleRoom_Text_257CB3, 4
+ closemessage
+
+FallarborTown_BattleTentBattleRoom_EventScript_2009B3:: @ 82009B3
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ addvar VAR_RESULT, 1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A1780
+ switch VAR_RESULT
+ case 3, FallarborTown_BattleTentBattleRoom_EventScript_200AF3
+ applymovement 3, FallarborTown_BattleTentBattleRoom_Movement_200B9E
+ waitmovement 0
+ removeobject 3
+ applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BA6
+ waitmovement 0
+ applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_200B94
+ waitmovement 0
+ msgbox FallarborTown_BattleTentBattleRoom_Text_257CE9, 4
+ special copy_player_party_from_sav1
+ special copy_player_party_to_sav1
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 3
+ special sub_81A1780
+ playfanfare BGM_ME_ASA
+ waitfanfare
+ special sp000_heal_pokemon
+
+FallarborTown_BattleTentBattleRoom_EventScript_200A2A:: @ 8200A2A
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, FallarborTown_BattleTentBattleRoom_EventScript_200B43
+ compare_var_to_value VAR_RESULT, 2
+ call_if 1, FallarborTown_BattleTentBattleRoom_EventScript_200B4A
+ multichoice 20, 6, 104, 1
+ switch VAR_RESULT
+ case 0, FallarborTown_BattleTentBattleRoom_EventScript_200AD8
+ case 1, FallarborTown_BattleTentBattleRoom_EventScript_200A78
+ case 2, FallarborTown_BattleTentBattleRoom_EventScript_200AA6
+
+FallarborTown_BattleTentBattleRoom_EventScript_200A78:: @ 8200A78
+ msgbox FallarborTown_BattleTentBattleRoom_Text_257E6B, 5
+ switch VAR_RESULT
+ case 0, FallarborTown_BattleTentBattleRoom_EventScript_200A2A
+ case 1, FallarborTown_BattleTentBattleRoom_EventScript_200B51
+ case 127, FallarborTown_BattleTentBattleRoom_EventScript_200A2A
+
+FallarborTown_BattleTentBattleRoom_EventScript_200AA6:: @ 8200AA6
+ message FallarborTown_BattleTentBattleRoom_Text_257E9E
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 1, FallarborTown_BattleTentBattleRoom_EventScript_200A2A
+ case 0, FallarborTown_BattleTentBattleRoom_EventScript_20097E
+ case 127, FallarborTown_BattleTentBattleRoom_EventScript_200A2A
+
+FallarborTown_BattleTentBattleRoom_EventScript_200AD8:: @ 8200AD8
+ closemessage
+ applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BAB
+ waitmovement 0
+ applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_200B92
+ waitmovement 0
+ goto FallarborTown_BattleTentBattleRoom_EventScript_20090F
+ waitstate
+
+FallarborTown_BattleTentBattleRoom_EventScript_200AF3:: @ 8200AF3
+ delay 60
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 3
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ warp FALLARBOR_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
+ waitstate
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ special sub_81A5238
+ compare_var_to_value VAR_RESULT, 9999
+ goto_eq FallarborTown_BattleTentBattleRoom_EventScript_2009B3
+ addvar VAR_RESULT, 1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A5238
+
+FallarborTown_BattleTentBattleRoom_EventScript_200B43:: @ 8200B43
+ message FallarborTown_BattleTentBattleRoom_Text_257D17
+ waitmessage
+ return
+
+FallarborTown_BattleTentBattleRoom_EventScript_200B4A:: @ 8200B4A
+ message FallarborTown_BattleTentBattleRoom_Text_257D50
+ waitmessage
+ return
+
+FallarborTown_BattleTentBattleRoom_EventScript_200B51:: @ 8200B51
+ message FallarborTown_BattleTentBattleRoom_Text_257EDB
+ waitmessage
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 2
+ special sub_81B9B80
+ playse SE_SAVE
+ waitse
+ fadescreen 1
+ setvar VAR_0x8004, 4
+ special sub_81A1780
+ end
+
+FallarborTown_BattleTentBattleRoom_EventScript_200B73:: @ 8200B73
+ applymovement 2, FallarborTown_BattleTentBattleRoom_Movement_200BA6
+ waitmovement 0
+ applymovement 1, FallarborTown_BattleTentBattleRoom_Movement_200B94
+ waitmovement 0
+ goto FallarborTown_BattleTentBattleRoom_EventScript_200A2A
+ end
+
+FallarborTown_BattleTentBattleRoom_Movement_200B8D: @ 8200B8D
+ step_up
+ step_up
+ step_up
+ step_28
+ step_end
+
+FallarborTown_BattleTentBattleRoom_Movement_200B92: @ 8200B92
+ step_28
+ step_end
+
+FallarborTown_BattleTentBattleRoom_Movement_200B94: @ 8200B94
+ step_27
+ step_end
+
+FallarborTown_BattleTentBattleRoom_Movement_200B96: @ 8200B96
+ step_down
+ step_down
+ step_down
+ step_down
+ step_27
+ step_end
+
+FallarborTown_BattleTentBattleRoom_Movement_200B9C: @ 8200B9C
+ step_left
+ step_end
+
+FallarborTown_BattleTentBattleRoom_Movement_200B9E: @ 8200B9E
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+FallarborTown_BattleTentBattleRoom_Movement_200BA3: @ 8200BA3
+ step_51
+ step_46
+ step_end
+
+FallarborTown_BattleTentBattleRoom_Movement_200BA6: @ 8200BA6
+ step_down
+ step_down
+ step_down
+ step_28
+ step_end
+
+FallarborTown_BattleTentBattleRoom_Movement_200BAB: @ 8200BAB
+ step_up
+ step_up
+ step_up
+ step_25
+ step_end
+
+FallarborTown_BattleTentBattleRoom_MapScript2_200BB0: @ 8200BB0
+ map_script_2 VAR_0x4001, 0, FallarborTown_BattleTentBattleRoom_EventScript_200BBA
+ .2byte 0
+
+FallarborTown_BattleTentBattleRoom_EventScript_200BBA:: @ 8200BBA
+ hideobjectat 255, FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM
+ hideobjectat 1, FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM
+ removeobject 3
+ setvar VAR_0x4001, 1
+ end
+
diff --git a/data/scripts/maps/FallarborTown_BattleTentCorridor.inc b/data/scripts/maps/FallarborTown_BattleTentCorridor.inc
new file mode 100644
index 000000000..d413e4ec6
--- /dev/null
+++ b/data/scripts/maps/FallarborTown_BattleTentCorridor.inc
@@ -0,0 +1,64 @@
+FallarborTown_BattleTentCorridor_MapScripts:: @ 82006A7
+ map_script 2, FallarborTown_BattleTentCorridor_MapScript2_2006AD
+ .byte 0
+
+FallarborTown_BattleTentCorridor_MapScript2_2006AD: @ 82006AD
+ map_script_2 VAR_0x4000, 0, FallarborTown_BattleTentCorridor_EventScript_2006B7
+ .2byte 0
+
+FallarborTown_BattleTentCorridor_EventScript_2006B7:: @ 82006B7
+ lockall
+ setvar VAR_0x4000, 1
+ applymovement 1, FallarborTown_BattleTentCorridor_Movement_2006FB
+ applymovement 255, FallarborTown_BattleTentCorridor_Movement_2006FB
+ waitmovement 0
+ opendoor 2, 1
+ waitdooranim
+ applymovement 1, FallarborTown_BattleTentCorridor_Movement_200701
+ applymovement 255, FallarborTown_BattleTentCorridor_Movement_200700
+ waitmovement 0
+ closedoor 2, 1
+ waitdooranim
+ setvar VAR_0x8006, 0
+ warp FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM, 255, 4, 4
+ waitstate
+ releaseall
+ end
+
+FallarborTown_BattleTentCorridor_Movement_2006FB: @ 82006FB
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+FallarborTown_BattleTentCorridor_Movement_200700: @ 8200700
+ step_up
+
+FallarborTown_BattleTentCorridor_Movement_200701: @ 8200701
+ step_up
+ step_54
+ step_end
+
+FallarborTown_BattleTentCorridor_Text_200704: @ 8200704
+ .string "We do all right in the preliminary round,\n"
+ .string "but we can never win the appeals…\p"
+ .string "Maybe it means I have to watch what\n"
+ .string "other contestants are doing…$"
+
+FallarborTown_BattleTentCorridor_Text_200791: @ 8200791
+ .string "See!\n"
+ .string "My POKéMON won all these RIBBONS!\p"
+ .string "Have your POKéMON earned any RIBBONS?\n"
+ .string "You can check them on your POKéNAV.$"
+
+FallarborTown_BattleTentCorridor_Text_200802: @ 8200802
+ .string "I can’t beat GYM LEADERS…\p"
+ .string "I can’t win any CONTESTS…\p"
+ .string "I’ve been here, there, and everywhere,\n"
+ .string "and it’s all for naught…$"
+
+FallarborTown_BattleTentCorridor_Text_200876: @ 8200876
+ .string "POKéMON CONTESTS\n"
+ .string "SUPER RANK STAGE!$"
+
diff --git a/data/scripts/maps/FallarborTown_BattleTentLobby.inc b/data/scripts/maps/FallarborTown_BattleTentLobby.inc
new file mode 100644
index 000000000..7d79bb753
--- /dev/null
+++ b/data/scripts/maps/FallarborTown_BattleTentLobby.inc
@@ -0,0 +1,402 @@
+FallarborTown_BattleTentLobby_MapScripts:: @ 81FFE66
+ map_script 2, FallarborTown_BattleTentLobby_MapScript2_1FFE85
+ map_script 4, FallarborTown_BattleTentLobby_MapScript2_1FFE71
+ .byte 0
+
+FallarborTown_BattleTentLobby_MapScript2_1FFE71: @ 81FFE71
+ map_script_2 VAR_0x4001, 0, FallarborTown_BattleTentLobby_EventScript_1FFE7B
+ .2byte 0
+
+FallarborTown_BattleTentLobby_EventScript_1FFE7B:: @ 81FFE7B
+ setvar VAR_0x4001, 1
+ turnobject 255, 2
+ end
+
+FallarborTown_BattleTentLobby_MapScript2_1FFE85: @ 81FFE85
+ map_script_2 VAR_0x4000, 0, FallarborTown_BattleTentLobby_EventScript_1FFEAF
+ map_script_2 VAR_0x4000, 1, FallarborTown_BattleTentLobby_EventScript_1FFEB8
+ map_script_2 VAR_0x4000, 2, FallarborTown_BattleTentLobby_EventScript_1FFFCD
+ map_script_2 VAR_0x4000, 3, FallarborTown_BattleTentLobby_EventScript_1FFEED
+ map_script_2 VAR_0x4000, 4, FallarborTown_BattleTentLobby_EventScript_1FFF93
+ .2byte 0
+
+FallarborTown_BattleTentLobby_EventScript_1FFEAF:: @ 81FFEAF
+ setvar VAR_0x8004, 0
+ special sub_81A1780
+ end
+
+FallarborTown_BattleTentLobby_EventScript_1FFEB8:: @ 81FFEB8
+ lockall
+ msgbox FallarborTown_BattleTentLobby_Text_2C4DED, 4
+ closemessage
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x4000, 255
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ releaseall
+ end
+
+FallarborTown_BattleTentLobby_EventScript_1FFEED:: @ 81FFEED
+ lockall
+ msgbox FallarborTown_BattleTentLobby_Text_2C4EC3, 4
+ message FallarborTown_BattleTentLobby_Text_2C4EFF
+ waitmessage
+ setvar VAR_0x8004, 4
+ special sub_81B9B80
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 0
+ special sub_81B9B80
+ playse SE_SAVE
+ waitse
+
+FallarborTown_BattleTentLobby_EventScript_1FFF27:: @ 81FFF27
+ msgbox FallarborTown_BattleTentLobby_Text_2C4F22, 4
+ setvar VAR_0x8004, 5
+ special sub_81B9B80
+ switch VAR_RESULT
+ case 0, FallarborTown_BattleTentLobby_EventScript_1FFF73
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ message FallarborTown_BattleTentLobby_Text_2C4F69
+ waitmessage
+ playfanfare BGM_FANFA4
+ waitfanfare
+ msgbox FallarborTown_BattleTentLobby_Text_2C501F, 4
+ closemessage
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+FallarborTown_BattleTentLobby_EventScript_1FFF73:: @ 81FFF73
+ msgbox FallarborTown_BattleTentLobby_Text_2C4F83, 4
+ waitmessage
+ closemessage
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+FallarborTown_BattleTentLobby_EventScript_1FFF84:: @ 81FFF84
+ lockall
+ msgbox FallarborTown_BattleTentLobby_Text_2C4EC3, 4
+ goto FallarborTown_BattleTentLobby_EventScript_1FFF27
+ end
+
+FallarborTown_BattleTentLobby_EventScript_1FFF93:: @ 81FFF93
+ lockall
+ message FallarborTown_BattleTentLobby_Text_2C4FD7
+ waitmessage
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 0
+ special sub_81B9B80
+ playse SE_SAVE
+ waitse
+ msgbox FallarborTown_BattleTentLobby_Text_2C501F, 4
+ closemessage
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+FallarborTown_BattleTentLobby_EventScript_1FFFCD:: @ 81FFFCD
+ lockall
+ message FallarborTown_BattleTentLobby_Text_2C504C
+ waitmessage
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 1
+ special sub_81B9B80
+ playse SE_SAVE
+ waitse
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x4000, 255
+ goto FallarborTown_BattleTentLobby_EventScript_20013C
+
+FallarborTown_BattleTentLobby_EventScript_200001:: @ 8200001
+ lock
+ faceplayer
+ setvar VAR_0x8004, 1
+ special sub_81B9B80
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, FallarborTown_BattleTentLobby_EventScript_1FFF84
+ special copy_player_party_to_sav1
+ msgbox FallarborTown_BattleTentLobby_Text_2C47EB, 4
+
+FallarborTown_BattleTentLobby_EventScript_200021:: @ 8200021
+ message FallarborTown_BattleTentLobby_Text_2C4843
+ waitmessage
+ multichoice 17, 6, 23, 0
+ switch VAR_RESULT
+ case 0, FallarborTown_BattleTentLobby_EventScript_20005D
+ case 1, FallarborTown_BattleTentLobby_EventScript_200169
+ case 2, FallarborTown_BattleTentLobby_EventScript_2001C5
+ case 127, FallarborTown_BattleTentLobby_EventScript_2001C5
+
+FallarborTown_BattleTentLobby_EventScript_20005D:: @ 820005D
+ setvar VAR_FRONTIER_FACILITY, 3
+ setvar VAR_0x40CE, 0
+ setvar VAR_RESULT, 2
+ setvar VAR_0x8004, 15
+ special sub_81A1780
+ compare_var_to_value VAR_0x8004, 1
+ goto_eq FallarborTown_BattleTentLobby_EventScript_200176
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 2
+ special sub_81A1780
+ msgbox FallarborTown_BattleTentLobby_Text_2C4BC8, 4
+ fadescreen 1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ special sub_80F9490
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq FallarborTown_BattleTentLobby_EventScript_2001C2
+ msgbox FallarborTown_BattleTentLobby_Text_2C4B35, 5
+ switch VAR_RESULT
+ case 0, FallarborTown_BattleTentLobby_EventScript_2001C2
+ case 1, FallarborTown_BattleTentLobby_EventScript_2000E2
+ case 127, FallarborTown_BattleTentLobby_EventScript_2001C2
+
+FallarborTown_BattleTentLobby_EventScript_2000E2:: @ 82000E2
+ setvar VAR_0x4000, 0
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 4
+ special sub_81A1780
+ setvar VAR_0x8004, 0
+ special sub_81B9B80
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ closemessage
+ delay 2
+ call FallarborTown_BattleTentLobby_EventScript_27134F
+ setvar VAR_0x4000, 255
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq FallarborTown_BattleTentLobby_EventScript_2001AB
+
+FallarborTown_BattleTentLobby_EventScript_20013C:: @ 820013C
+ special copy_player_party_to_sav1
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 3
+ special sub_81A1780
+ msgbox FallarborTown_BattleTentLobby_Text_2C4DC3, 4
+ closemessage
+ call FallarborTown_BattleTentLobby_EventScript_2001CF
+ warp FALLARBOR_TOWN_BATTLE_TENT_CORRIDOR, 255, 2, 7
+ setvar VAR_0x4000, 0
+ waitstate
+ end
+
+FallarborTown_BattleTentLobby_EventScript_200169:: @ 8200169
+ msgbox FallarborTown_BattleTentLobby_Text_2C48AC, 4
+ goto FallarborTown_BattleTentLobby_EventScript_200021
+
+FallarborTown_BattleTentLobby_EventScript_200176:: @ 8200176
+ switch VAR_RESULT
+ case 0, FallarborTown_BattleTentLobby_EventScript_200191
+ case 1, FallarborTown_BattleTentLobby_EventScript_20019E
+
+FallarborTown_BattleTentLobby_EventScript_200191:: @ 8200191
+ msgbox FallarborTown_BattleTentLobby_Text_2C4BFA, 4
+ goto FallarborTown_BattleTentLobby_EventScript_2001CD
+
+FallarborTown_BattleTentLobby_EventScript_20019E:: @ 820019E
+ msgbox FallarborTown_BattleTentLobby_Text_2C4CC0, 4
+ goto FallarborTown_BattleTentLobby_EventScript_2001CD
+
+FallarborTown_BattleTentLobby_EventScript_2001AB:: @ 82001AB
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ goto FallarborTown_BattleTentLobby_EventScript_2001C5
+
+FallarborTown_BattleTentLobby_EventScript_2001C2:: @ 82001C2
+ special copy_player_party_from_sav1
+
+FallarborTown_BattleTentLobby_EventScript_2001C5:: @ 82001C5
+ msgbox FallarborTown_BattleTentLobby_Text_2C487F, 4
+
+FallarborTown_BattleTentLobby_EventScript_2001CD:: @ 82001CD
+ release
+ end
+
+FallarborTown_BattleTentLobby_EventScript_2001CF:: @ 82001CF
+ applymovement 1, FallarborTown_BattleTentLobby_Movement_2001FE
+ applymovement 255, FallarborTown_BattleTentLobby_Movement_200205
+ waitmovement 0
+ opendoor 6, 1
+ waitdooranim
+ applymovement 1, FallarborTown_BattleTentLobby_Movement_200202
+ applymovement 255, FallarborTown_BattleTentLobby_Movement_200209
+ waitmovement 0
+ closedoor 6, 1
+ waitdooranim
+ return
+
+FallarborTown_BattleTentLobby_Movement_2001FE: @ 82001FE
+ step_up
+ step_up
+ step_up
+ step_end
+
+FallarborTown_BattleTentLobby_Movement_200202: @ 8200202
+ step_up
+ step_54
+ step_end
+
+FallarborTown_BattleTentLobby_Movement_200205: @ 8200205
+ step_up
+ step_up
+ step_up
+ step_end
+
+FallarborTown_BattleTentLobby_Movement_200209: @ 8200209
+ step_up
+ step_up
+ step_54
+ step_end
+
+FallarborTown_BattleTentLobby_EventScript_20020D:: @ 820020D
+ msgbox FallarborTown_BattleTentLobby_Text_20045A, 2
+ end
+
+FallarborTown_BattleTentLobby_EventScript_200216:: @ 8200216
+ msgbox FallarborTown_BattleTentLobby_Text_200304, 2
+ end
+
+FallarborTown_BattleTentLobby_EventScript_20021F:: @ 820021F
+ msgbox FallarborTown_BattleTentLobby_Text_200382, 2
+ end
+
+FallarborTown_BattleTentLobby_EventScript_200228:: @ 8200228
+ lock
+ faceplayer
+ checkflag FLAG_0x1CD
+ goto_eq FallarborTown_BattleTentLobby_EventScript_200245
+ msgbox FallarborTown_BattleTentLobby_Text_200501, 4
+ addvar VAR_0x40D1, 1
+ setflag FLAG_0x1CD
+ release
+ end
+
+FallarborTown_BattleTentLobby_EventScript_200245:: @ 8200245
+ msgbox FallarborTown_BattleTentLobby_Text_200653, 4
+ release
+ end
+
+FallarborTown_BattleTentLobby_EventScript_20024F:: @ 820024F
+ lockall
+ msgbox FallarborTown_BattleTentLobby_Text_256DB8, 4
+ goto FallarborTown_BattleTentLobby_EventScript_20025E
+ end
+
+FallarborTown_BattleTentLobby_EventScript_20025E:: @ 820025E
+ message FallarborTown_BattleTentLobby_Text_256DDF
+ waitmessage
+ multichoice 17, 0, 112, 0
+ switch VAR_RESULT
+ case 0, FallarborTown_BattleTentLobby_EventScript_2002BC
+ case 1, FallarborTown_BattleTentLobby_EventScript_2002CA
+ case 2, FallarborTown_BattleTentLobby_EventScript_2002D8
+ case 3, FallarborTown_BattleTentLobby_EventScript_2002E6
+ case 4, FallarborTown_BattleTentLobby_EventScript_2002F4
+ case 5, FallarborTown_BattleTentLobby_EventScript_200302
+ case 127, FallarborTown_BattleTentLobby_EventScript_200302
+ end
+
+FallarborTown_BattleTentLobby_EventScript_2002BC:: @ 82002BC
+ msgbox FallarborTown_BattleTentLobby_Text_2C67CD, 4
+ goto FallarborTown_BattleTentLobby_EventScript_20025E
+ end
+
+FallarborTown_BattleTentLobby_EventScript_2002CA:: @ 82002CA
+ msgbox FallarborTown_BattleTentLobby_Text_256E02, 4
+ goto FallarborTown_BattleTentLobby_EventScript_20025E
+ end
+
+FallarborTown_BattleTentLobby_EventScript_2002D8:: @ 82002D8
+ msgbox FallarborTown_BattleTentLobby_Text_256F43, 4
+ goto FallarborTown_BattleTentLobby_EventScript_20025E
+ end
+
+FallarborTown_BattleTentLobby_EventScript_2002E6:: @ 82002E6
+ msgbox FallarborTown_BattleTentLobby_Text_256FF2, 4
+ goto FallarborTown_BattleTentLobby_EventScript_20025E
+ end
+
+FallarborTown_BattleTentLobby_EventScript_2002F4:: @ 82002F4
+ msgbox FallarborTown_BattleTentLobby_Text_257202, 4
+ goto FallarborTown_BattleTentLobby_EventScript_20025E
+ end
+
+FallarborTown_BattleTentLobby_EventScript_200302:: @ 8200302
+ releaseall
+ end
+
+FallarborTown_BattleTentLobby_Text_200304: @ 8200304
+ .string "Fufufufufu.\p"
+ .string "I’m going to make everyone think\n"
+ .string "I’m just a kid and let them play down.\p"
+ .string "Then, I’ll shock them and grab\n"
+ .string "the title!$"
+
+FallarborTown_BattleTentLobby_Text_200382: @ 8200382
+ .string "You know how BATTLE TENTS offer\n"
+ .string "different events in different towns?\p"
+ .string "My favorite is definitely the BATTLE\n"
+ .string "TENT in FALLARBOR TOWN.\p"
+ .string "I think it’s fantastic how TRAINERS\n"
+ .string "try to win with all their faith in\l"
+ .string "their POKéMON.$"
+
+FallarborTown_BattleTentLobby_Text_20045A: @ 820045A
+ .string "I heard something about some tent,\n"
+ .string "so I came to camp out.\p"
+ .string "I didn’t know that tents these days\n"
+ .string "are so luxurious!\p"
+ .string "Since I’m here, I may as well try\n"
+ .string "my hand at battling!$"
+
+FallarborTown_BattleTentLobby_Text_200501: @ 8200501
+ .string "SCOTT: Hi, {PLAYER}{KUN}!\n"
+ .string "So you came out to this BATTLE TENT!\p"
+ .string "The people in these parts tend to be\n"
+ .string "easygoing and laid-back.\p"
+ .string "But, you see, what I’m looking for are\n"
+ .string "people with…\p"
+ .string "How should I say this?\p"
+ .string "Someone bursting with the desire\n"
+ .string "and the drive to win.\p"
+ .string "If there were a TRAINER like that,\n"
+ .string "I’d immediately…\p"
+ .string "Whoops! Never mind!\n"
+ .string "Keep working at it!$"
+
+FallarborTown_BattleTentLobby_Text_200653: @ 8200653
+ .string "SCOTT: Instead of wasting your\n"
+ .string "time with the likes of me, why not\l"
+ .string "make a challenge?$"
+
diff --git a/data/scripts/maps/FallarborTown_House1.inc b/data/scripts/maps/FallarborTown_House1.inc
new file mode 100644
index 000000000..390f035b5
--- /dev/null
+++ b/data/scripts/maps/FallarborTown_House1.inc
@@ -0,0 +1,126 @@
+FallarborTown_House1_MapScripts:: @ 8200F12
+ .byte 0
+
+FallarborTown_House1_EventScript_200F13:: @ 8200F13
+ lock
+ faceplayer
+ checkflag FLAG_0x0E5
+ goto_eq FallarborTown_House1_EventScript_200FB2
+ checkitem ITEM_METEORITE, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq FallarborTown_House1_EventScript_200F38
+ msgbox FallarborTown_House1_Text_200FEE, 4
+ release
+ end
+
+FallarborTown_House1_EventScript_200F38:: @ 8200F38
+ checkflag FLAG_0x002
+ call_if 0, FallarborTown_House1_EventScript_200F8B
+ checkflag FLAG_0x002
+ call_if 1, FallarborTown_House1_EventScript_200F9C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq FallarborTown_House1_EventScript_200FA5
+ msgbox FallarborTown_House1_Text_201159, 4
+ giveitem_std ITEM_TM27
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq FallarborTown_House1_EventScript_272054
+ setvar VAR_0x8004, 280
+ call FallarborTown_House1_EventScript_2723E4
+ setflag FLAG_0x0E5
+ msgbox FallarborTown_House1_Text_2011A5, 4
+ release
+ end
+
+FallarborTown_House1_EventScript_200F8B:: @ 8200F8B
+ msgbox FallarborTown_House1_Text_200FEE, 4
+ msgbox FallarborTown_House1_Text_2010A2, 5
+ return
+
+FallarborTown_House1_EventScript_200F9C:: @ 8200F9C
+ msgbox FallarborTown_House1_Text_201249, 5
+ return
+
+FallarborTown_House1_EventScript_200FA5:: @ 8200FA5
+ setflag FLAG_0x002
+ msgbox FallarborTown_House1_Text_201212, 4
+ release
+ end
+
+FallarborTown_House1_EventScript_200FB2:: @ 8200FB2
+ msgbox FallarborTown_House1_Text_2011A5, 4
+ release
+ end
+
+FallarborTown_House1_EventScript_200FBC:: @ 8200FBC
+ lock
+ faceplayer
+ checkflag FLAG_0x0E5
+ goto_eq FallarborTown_House1_EventScript_200FE4
+ checkflag FLAG_0x08B
+ goto_eq FallarborTown_House1_EventScript_200FDA
+ msgbox FallarborTown_House1_Text_2012BC, 4
+ release
+ end
+
+FallarborTown_House1_EventScript_200FDA:: @ 8200FDA
+ msgbox FallarborTown_House1_Text_201310, 4
+ release
+ end
+
+FallarborTown_House1_EventScript_200FE4:: @ 8200FE4
+ msgbox FallarborTown_House1_Text_20134B, 4
+ release
+ end
+
+FallarborTown_House1_Text_200FEE: @ 8200FEE
+ .string "PROF. COZMO: Oh…\n"
+ .string "I never should have let myself be\l"
+ .string "conned into telling TEAM MAGMA where\l"
+ .string "you can find METEORITES…\p"
+ .string "That METEORITE from METEOR FALLS…\n"
+ .string "It’s never going to be mine now…$"
+
+FallarborTown_House1_Text_2010A2: @ 82010A2
+ .string "Oh!\n"
+ .string "Hah?\p"
+ .string "That item…\p"
+ .string "Could it be?\p"
+ .string "Is it the METEORITE that TEAM MAGMA\n"
+ .string "took from METEOR FALLS?\p"
+ .string "Please, may I have it?\p"
+ .string "I’m not asking for it for free.\n"
+ .string "How about in exchange for this TM?$"
+
+FallarborTown_House1_Text_201159: @ 8201159
+ .string "PROF. COZMO: This TM, it represents\n"
+ .string "my feeling of gratitude.\l"
+ .string "Please use it!$"
+
+FallarborTown_House1_Text_2011A5: @ 82011A5
+ .string "PROF. COZMO: Oh, I can’t believe it.\n"
+ .string "This is really, really great!\p"
+ .string "This is really going to help my research!$"
+
+FallarborTown_House1_Text_201212: @ 8201212
+ .string "PROF. COZMO: Oh, but…\n"
+ .string "I’m crushed with disappointment…$"
+
+FallarborTown_House1_Text_201249: @ 8201249
+ .string "PROF. COZMO: Please, may I have that\n"
+ .string "METEORITE?\p"
+ .string "I’m not asking for it for free.\n"
+ .string "How about in exchange for this TM?$"
+
+FallarborTown_House1_Text_2012BC: @ 82012BC
+ .string "PROF. COZMO went off to METEOR FALLS\n"
+ .string "on ROUTE 114 with some people from\l"
+ .string "TEAM MAGMA.$"
+
+FallarborTown_House1_Text_201310: @ 8201310
+ .string "Poor PROF. COZMO…\n"
+ .string "He’s so depressed… I feel sorry for him.$"
+
+FallarborTown_House1_Text_20134B: @ 820134B
+ .string "Look at PROF. COZMO…\n"
+ .string "He’s so happy! I think it’s cute.$"
+
diff --git a/data/scripts/maps/FallarborTown_House2.inc b/data/scripts/maps/FallarborTown_House2.inc
new file mode 100644
index 000000000..cd3d6c3ee
--- /dev/null
+++ b/data/scripts/maps/FallarborTown_House2.inc
@@ -0,0 +1,103 @@
+FallarborTown_House2_MapScripts:: @ 8201382
+ .byte 0
+
+FallarborTown_House2_EventScript_201383:: @ 8201383
+ lockall
+ applymovement 1, FallarborTown_House2_Movement_27259E
+ waitmovement 0
+ checkflag FLAG_0x001
+ goto_eq FallarborTown_House2_EventScript_2013A8
+ msgbox FallarborTown_House2_Text_20145C, 4
+ setflag FLAG_0x001
+ goto FallarborTown_House2_EventScript_2013A8
+ end
+
+FallarborTown_House2_EventScript_2013A8:: @ 82013A8
+ checkitem ITEM_HEART_SCALE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq FallarborTown_House2_EventScript_201452
+ msgbox FallarborTown_House2_Text_201541, 5
+ switch VAR_RESULT
+ case 0, FallarborTown_House2_EventScript_201452
+ goto FallarborTown_House2_EventScript_2013D6
+ end
+
+FallarborTown_House2_EventScript_2013D6:: @ 82013D6
+ msgbox FallarborTown_House2_Text_2015A5, 4
+ special sub_81B951C
+ waitstate
+ compare_var_to_value VAR_0x8004, 255
+ goto_eq FallarborTown_House2_EventScript_201452
+ special sub_81B98DC
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq FallarborTown_House2_EventScript_201444
+ compare_var_to_value VAR_0x8005, 0
+ goto_eq FallarborTown_House2_EventScript_201436
+ goto FallarborTown_House2_EventScript_20140C
+ end
+
+FallarborTown_House2_EventScript_20140C:: @ 820140C
+ msgbox FallarborTown_House2_Text_2015C3, 4
+ special sub_8160638
+ waitstate
+ compare_var_to_value VAR_0x8004, 0
+ goto_eq FallarborTown_House2_EventScript_2013D6
+ msgbox FallarborTown_House2_Text_201627, 4
+ takeitem ITEM_HEART_SCALE, 1
+ goto FallarborTown_House2_EventScript_201452
+ end
+
+FallarborTown_House2_EventScript_201436:: @ 8201436
+ msgbox FallarborTown_House2_Text_2015DE, 4
+ goto FallarborTown_House2_EventScript_2013D6
+ end
+
+FallarborTown_House2_EventScript_201444:: @ 8201444
+ msgbox FallarborTown_House2_Text_201697, 4
+ goto FallarborTown_House2_EventScript_2013D6
+ end
+
+FallarborTown_House2_EventScript_201452:: @ 8201452
+ msgbox FallarborTown_House2_Text_201653, 4
+ releaseall
+ end
+
+FallarborTown_House2_Text_20145C: @ 820145C
+ .string "I’m the MOVE TUTOR.\p"
+ .string "I know all the moves that POKéMON\n"
+ .string "learn--every one of them--and I can\l"
+ .string "teach POKéMON those moves.\p"
+ .string "I can teach a move to a POKéMON\n"
+ .string "of yours if you’d like.\p"
+ .string "I’ll do it for a HEART SCALE.\n"
+ .string "I’m collecting those now.$"
+
+FallarborTown_House2_Text_201541: @ 8201541
+ .string "Oh! That’s it! That’s an honest to\n"
+ .string "goodness HEART SCALE!\p"
+ .string "Let me guess, you want me to teach\n"
+ .string "a move?$"
+
+FallarborTown_House2_Text_2015A5: @ 82015A5
+ .string "Which POKéMON needs tutoring?$"
+
+FallarborTown_House2_Text_2015C3: @ 82015C3
+ .string "Which move should I teach?$"
+
+FallarborTown_House2_Text_2015DE: @ 82015DE
+ .string "Sorry…\p"
+ .string "It doesn’t appear as if I have any move\n"
+ .string "I can teach that POKéMON.$"
+
+FallarborTown_House2_Text_201627: @ 8201627
+ .string "{PLAYER} handed over one HEART SCALE\n"
+ .string "in exchange.$"
+
+FallarborTown_House2_Text_201653: @ 8201653
+ .string "If your POKéMON need to learn a move,\n"
+ .string "come back with a HEART SCALE.$"
+
+FallarborTown_House2_Text_201697: @ 8201697
+ .string "Hunh? There isn’t a single move that\n"
+ .string "I can teach an EGG.$"
+
diff --git a/data/scripts/maps/FallarborTown_Mart.inc b/data/scripts/maps/FallarborTown_Mart.inc
new file mode 100644
index 000000000..dbaf33f4e
--- /dev/null
+++ b/data/scripts/maps/FallarborTown_Mart.inc
@@ -0,0 +1,66 @@
+FallarborTown_Mart_MapScripts:: @ 81FFCBE
+ .byte 0
+
+FallarborTown_Mart_EventScript_1FFCBF:: @ 81FFCBF
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemart FallarborTown_Mart_Pokemart_1FFCD8
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+FallarborTown_Mart_Pokemart_1FFCD8: @ 81FFCD8
+ .2byte ITEM_GREAT_BALL
+ .2byte ITEM_SUPER_POTION
+ .2byte ITEM_ANTIDOTE
+ .2byte ITEM_PARALYZE_HEAL
+ .2byte ITEM_ESCAPE_ROPE
+ .2byte ITEM_SUPER_REPEL
+ .2byte ITEM_X_SPECIAL
+ .2byte ITEM_X_SPEED
+ .2byte ITEM_X_ATTACK
+ .2byte ITEM_X_DEFEND
+ .2byte ITEM_DIRE_HIT
+ .2byte ITEM_GUARD_SPEC
+ .2byte ITEM_NONE
+ release
+ end
+
+FallarborTown_Mart_EventScript_1FFCF4:: @ 81FFCF4
+ msgbox FallarborTown_Mart_Text_1FFD19, 2
+ end
+
+FallarborTown_Mart_EventScript_1FFCFD:: @ 81FFCFD
+ msgbox FallarborTown_Mart_Text_1FFE09, 2
+ end
+
+FallarborTown_Mart_EventScript_1FFD06:: @ 81FFD06
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_SKITTY, 0
+ msgbox FallarborTown_Mart_Text_1FFDFA, 4
+ waitmoncry
+ release
+ end
+
+FallarborTown_Mart_Text_1FFD19: @ 81FFD19
+ .string "I’m having a hard time deciding if I\n"
+ .string "should make my SKITTY evolve or not.\p"
+ .string "I only have to use this MOON STONE,\n"
+ .string "but it’s so hard to decide…\p"
+ .string "If I make it evolve, it will become\n"
+ .string "much stronger.\p"
+ .string "But it will look so different, too.$"
+
+FallarborTown_Mart_Text_1FFDFA: @ 81FFDFA
+ .string "SKITTY: Miyao?$"
+
+FallarborTown_Mart_Text_1FFE09: @ 81FFE09
+ .string "This NUGGET I found here…\n"
+ .string "I suppose I’ll have to sell it, seeing\l"
+ .string "as how it has no other use.$"
+
diff --git a/data/scripts/maps/FallarborTown_PokemonCenter_1F.inc b/data/scripts/maps/FallarborTown_PokemonCenter_1F.inc
new file mode 100644
index 000000000..1cc3999f7
--- /dev/null
+++ b/data/scripts/maps/FallarborTown_PokemonCenter_1F.inc
@@ -0,0 +1,111 @@
+FallarborTown_PokemonCenter_1F_MapScripts:: @ 8200BCD
+ map_script 3, FallarborTown_PokemonCenter_1F_MapScript1_200BD8
+ map_script 5, FallarborTown_PokemonCenter_1F_MapScript1_277C30
+ .byte 0
+
+FallarborTown_PokemonCenter_1F_MapScript1_200BD8: @ 8200BD8
+ setrespawn 17
+ call FallarborTown_PokemonCenter_1F_EventScript_2718DE
+ end
+
+FallarborTown_PokemonCenter_1F_EventScript_200BE1:: @ 8200BE1
+ setvar VAR_0x800B, 1
+ call FallarborTown_PokemonCenter_1F_EventScript_27191E
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+FallarborTown_PokemonCenter_1F_EventScript_200BEF:: @ 8200BEF
+ msgbox FallarborTown_PokemonCenter_1F_Text_200E22, 2
+ end
+
+FallarborTown_PokemonCenter_1F_EventScript_200BF8:: @ 8200BF8
+ msgbox FallarborTown_PokemonCenter_1F_Text_200E8B, 2
+ end
+
+FallarborTown_PokemonCenter_1F_EventScript_200C01:: @ 8200C01
+ lock
+ faceplayer
+ msgbox FallarborTown_PokemonCenter_1F_Text_200C6B, 4
+ closemessage
+ switch VAR_FACING
+ case 2, FallarborTown_PokemonCenter_1F_EventScript_200C28
+ case 3, FallarborTown_PokemonCenter_1F_EventScript_200C38
+ end
+
+FallarborTown_PokemonCenter_1F_EventScript_200C28:: @ 8200C28
+ applymovement 4, FallarborTown_PokemonCenter_1F_Movement_200C53
+ waitmovement 0
+ goto FallarborTown_PokemonCenter_1F_EventScript_200C48
+ end
+
+FallarborTown_PokemonCenter_1F_EventScript_200C38:: @ 8200C38
+ applymovement 4, FallarborTown_PokemonCenter_1F_Movement_200C60
+ waitmovement 0
+ goto FallarborTown_PokemonCenter_1F_EventScript_200C48
+ end
+
+FallarborTown_PokemonCenter_1F_EventScript_200C48:: @ 8200C48
+ playse SE_JIDO_DOA
+ removeobject 4
+ clearflag FLAG_0x366
+ release
+ end
+
+FallarborTown_PokemonCenter_1F_Movement_200C53: @ 8200C53
+ step_right
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_down
+ step_down
+ step_down
+ step_down
+ step_13
+ step_end
+
+FallarborTown_PokemonCenter_1F_Movement_200C60: @ 8200C60
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_down
+ step_down
+ step_down
+ step_down
+ step_13
+ step_end
+
+FallarborTown_PokemonCenter_1F_Text_200C6B: @ 8200C6B
+ .string "Oh, hello.\n"
+ .string "You are?\p"
+ .string "Okay, your name’s {PLAYER}{KUN}.\n"
+ .string "I can see that you’re a TRAINER.\p"
+ .string "So that means you use the POKéMON\n"
+ .string "Storage System I developed.\p"
+ .string "How I arrived at that conclusion is\n"
+ .string "a simple deductive process.\p"
+ .string "You spoke to me because you wanted\n"
+ .string "to access something on this PC.\p"
+ .string "Oh, I’m sorry. I’m LANETTE.\p"
+ .string "Honestly, I’m glad to meet you--it’s\n"
+ .string "great you’re using the Storage System.\p"
+ .string "If you could, please visit me at home.\n"
+ .string "My house is on ROUTE 114.$"
+
+FallarborTown_PokemonCenter_1F_Text_200E22: @ 8200E22
+ .string "I wonder what POKéMON looked like\n"
+ .string "long, long ago?\p"
+ .string "Maybe the FOSSIL MANIAC at the edge\n"
+ .string "of town will know.$"
+
+FallarborTown_PokemonCenter_1F_Text_200E8B: @ 8200E8B
+ .string "In the fields of FALLARBOR, we plant\n"
+ .string "seedlings of hardy trees that thrive\l"
+ .string "even in volcanic ash.$"
+
diff --git a/data/scripts/maps/FallarborTown_PokemonCenter_2F.inc b/data/scripts/maps/FallarborTown_PokemonCenter_2F.inc
new file mode 100644
index 000000000..93482e860
--- /dev/null
+++ b/data/scripts/maps/FallarborTown_PokemonCenter_2F.inc
@@ -0,0 +1,19 @@
+FallarborTown_PokemonCenter_2F_MapScripts:: @ 8200EEB
+ map_script 2, FallarborTown_PokemonCenter_2F_MapScript2_276C3B
+ map_script 4, FallarborTown_PokemonCenter_2F_MapScript2_276B6C
+ map_script 1, FallarborTown_PokemonCenter_2F_MapScript1_276BBE
+ map_script 3, FallarborTown_PokemonCenter_2F_MapScript1_276ACF
+ .byte 0
+
+FallarborTown_PokemonCenter_2F_EventScript_200F00:: @ 8200F00
+ call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+ end
+
+FallarborTown_PokemonCenter_2F_EventScript_200F06:: @ 8200F06
+ call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+ end
+
+FallarborTown_PokemonCenter_2F_EventScript_200F0C:: @ 8200F0C
+ call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+ end
+
diff --git a/data/scripts/maps/FarawayIsland_Entrance.inc b/data/scripts/maps/FarawayIsland_Entrance.inc
new file mode 100644
index 000000000..b13659abd
--- /dev/null
+++ b/data/scripts/maps/FarawayIsland_Entrance.inc
@@ -0,0 +1,46 @@
+FarawayIsland_Entrance_MapScripts:: @ 8267C8E
+ map_script 3, FarawayIsland_Entrance_MapScript1_267C94
+ .byte 0
+
+FarawayIsland_Entrance_MapScript1_267C94: @ 8267C94
+ setflag FLAG_0x8D8
+ end
+
+FarawayIsland_Entrance_EventScript_267C98:: @ 8267C98
+ setweather 1
+ doweather
+ end
+
+FarawayIsland_Entrance_EventScript_267C9D:: @ 8267C9D
+ setweather 0
+ doweather
+ end
+
+FarawayIsland_Entrance_EventScript_267CA2:: @ 8267CA2
+ lock
+ faceplayer
+ msgbox FarawayIsland_Entrance_Text_2C6B42, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq FarawayIsland_Entrance_EventScript_267CE7
+ msgbox FarawayIsland_Entrance_Text_2A6A5D, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, FarawayIsland_Entrance_Movement_2725AA
+ waitmovement 0
+ delay 30
+ hideobjectat 1, FARAWAY_ISLAND_ENTRANCE
+ setvar VAR_0x8004, 2
+ call FarawayIsland_Entrance_EventScript_272250
+ warp LILYCOVE_CITY_HARBOR, 255, 8, 11
+ waitstate
+ release
+ end
+
+FarawayIsland_Entrance_EventScript_267CE7:: @ 8267CE7
+ msgbox FarawayIsland_Entrance_Text_2A6A82, 4
+ release
+ end
+
+FarawayIsland_Entrance_EventScript_267CF1:: @ 8267CF1
+ msgbox FarawayIsland_Entrance_Text_2C6D5A, 3
+ end
+
diff --git a/data/scripts/maps/FarawayIsland_Interior.inc b/data/scripts/maps/FarawayIsland_Interior.inc
new file mode 100644
index 000000000..f49d938a7
--- /dev/null
+++ b/data/scripts/maps/FarawayIsland_Interior.inc
@@ -0,0 +1,207 @@
+FarawayIsland_Interior_MapScripts:: @ 8267CFA
+ map_script 5, FarawayIsland_Interior_MapScript1_267D54
+ map_script 3, FarawayIsland_Interior_MapScript1_267D72
+ map_script 2, FarawayIsland_Interior_MapScript2_267D98
+ map_script 7, FarawayIsland_Interior_MapScript1_267D0F
+ .byte 0
+
+FarawayIsland_Interior_MapScript1_267D0F: @ 8267D0F
+ checkflag FLAG_SYS_CTRL_OBJ_DELETE
+ call_if 1, FarawayIsland_Interior_EventScript_267D19
+ end
+
+FarawayIsland_Interior_EventScript_267D19:: @ 8267D19
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq FarawayIsland_Interior_EventScript_267D4B
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq FarawayIsland_Interior_EventScript_267D4B
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq FarawayIsland_Interior_EventScript_267D4B
+ compare_var_to_value VAR_RESULT, 10
+ goto_eq FarawayIsland_Interior_EventScript_267D4B
+ return
+
+FarawayIsland_Interior_EventScript_267D4B:: @ 8267D4B
+ setvar VAR_0x8004, 1
+ special sub_81D4A90
+ return
+
+FarawayIsland_Interior_MapScript1_267D54: @ 8267D54
+ checkflag FLAG_SYS_CTRL_OBJ_DELETE
+ call_if 1, FarawayIsland_Interior_EventScript_267D5E
+ end
+
+FarawayIsland_Interior_EventScript_267D5E:: @ 8267D5E
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 7
+ goto_if 5, FarawayIsland_Interior_EventScript_27374E
+ removeobject VAR_LAST_TALKED
+ return
+
+FarawayIsland_Interior_MapScript1_267D72: @ 8267D72
+ setvar VAR_0x403A, 0
+ setvar VAR_0x4001, 1
+ checkflag FLAG_0x1CA
+ call_if 0, FarawayIsland_Interior_EventScript_267D86
+ end
+
+FarawayIsland_Interior_EventScript_267D86:: @ 8267D86
+ checkflag FLAG_0x1C7
+ goto_eq FarawayIsland_Interior_EventScript_27374E
+ clearflag FLAG_0x2CE
+ setvar VAR_0x4001, 0
+ return
+
+FarawayIsland_Interior_MapScript2_267D98: @ 8267D98
+ map_script_2 VAR_0x4001, 0, FarawayIsland_Interior_EventScript_267DA2
+ .2byte 0
+
+FarawayIsland_Interior_EventScript_267DA2:: @ 8267DA2
+ lockall
+ playse SE_PIN
+ applymovement 1, FarawayIsland_Interior_Movement_272598
+ waitmovement 0
+ applymovement 1, FarawayIsland_Interior_Movement_27259A
+ waitmovement 0
+ applymovement 1, FarawayIsland_Interior_Movement_267DCE
+ waitmovement 0
+ moveobjectoffscreen 1
+ setvar VAR_0x4001, 1
+ releaseall
+ end
+
+FarawayIsland_Interior_Movement_267DCE: @ 8267DCE
+ step_up
+ step_up
+ step_up
+ step_25
+ step_54
+ step_end
+
+FarawayIsland_Interior_Movement_267DD4: @ 8267DD4
+ step_55
+ step_end
+
+FarawayIsland_Interior_Movement_267DD6: @ 8267DD6
+ step_40
+ step_16
+ step_16
+ step_41
+ step_1d
+ step_1d
+ step_end
+
+FarawayIsland_Interior_Movement_267DDD: @ 8267DDD
+ step_40
+ step_16
+ step_16
+ step_41
+ step_1e
+ step_1e
+ step_end
+
+FarawayIsland_Interior_Movement_267DE4: @ 8267DE4
+ step_40
+ step_16
+ step_16
+ step_41
+ step_20
+ step_20
+ step_end
+
+FarawayIsland_Interior_Movement_267DEB: @ 8267DEB
+ step_40
+ step_16
+ step_16
+ step_41
+ step_1f
+ step_1f
+ step_end
+
+FarawayIsland_Interior_EventScript_267DF2:: @ 8267DF2
+ lock
+ faceplayer
+ applymovement 1, FarawayIsland_Interior_Movement_267DD4
+ waitmovement 0
+ setvar VAR_0x8004, 0
+ special sub_81D4A90
+ message FarawayIsland_Interior_Text_2C6DFF
+ waitse
+ playmoncry SPECIES_MEW, 2
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, FarawayIsland_Interior_EventScript_267EAF
+ compare_var_to_value VAR_FACING, 1
+ call_if 1, FarawayIsland_Interior_EventScript_267EBA
+ compare_var_to_value VAR_FACING, 3
+ call_if 1, FarawayIsland_Interior_EventScript_267EC5
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, FarawayIsland_Interior_EventScript_267ED0
+ special sub_81D4BEC
+ delay 40
+ waitmoncry
+ setvar VAR_0x8004, 151
+ setvar VAR_0x8005, 30
+ setvar VAR_0x8006, 0
+ special DoScriptedWildBattle
+ setflag FLAG_SYS_CTRL_OBJ_DELETE
+ special sub_80B0934
+ waitstate
+ clearflag FLAG_SYS_CTRL_OBJ_DELETE
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq FarawayIsland_Interior_EventScript_267E96
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq FarawayIsland_Interior_EventScript_267EA4
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq FarawayIsland_Interior_EventScript_267EA4
+ compare_var_to_value VAR_RESULT, 10
+ goto_eq FarawayIsland_Interior_EventScript_267EA4
+ setflag FLAG_0x1CA
+ release
+ end
+
+FarawayIsland_Interior_EventScript_267E96:: @ 8267E96
+ setflag FLAG_0x1C7
+ setvar VAR_0x8004, 151
+ goto FarawayIsland_Interior_EventScript_273776
+ end
+
+FarawayIsland_Interior_EventScript_267EA4:: @ 8267EA4
+ setvar VAR_0x8004, 151
+ goto FarawayIsland_Interior_EventScript_273776
+ end
+
+FarawayIsland_Interior_EventScript_267EAF:: @ 8267EAF
+ applymovement 1, FarawayIsland_Interior_Movement_267DD6
+ waitmovement 0
+ return
+
+FarawayIsland_Interior_EventScript_267EBA:: @ 8267EBA
+ applymovement 1, FarawayIsland_Interior_Movement_267DDD
+ waitmovement 0
+ return
+
+FarawayIsland_Interior_EventScript_267EC5:: @ 8267EC5
+ applymovement 1, FarawayIsland_Interior_Movement_267DE4
+ waitmovement 0
+ return
+
+FarawayIsland_Interior_EventScript_267ED0:: @ 8267ED0
+ applymovement 1, FarawayIsland_Interior_Movement_267DEB
+ waitmovement 0
+ return
+
+FarawayIsland_Interior_EventScript_267EDB:: @ 8267EDB
+ lockall
+ fadescreenswapbuffers 1
+ setflag FLAG_0x2CE
+ removeobject 1
+ fadescreenswapbuffers 0
+ msgbox FarawayIsland_Interior_Text_267EF1, 4
+ closemessage
+ releaseall
+ end
+
+FarawayIsland_Interior_Text_267EF1: @ 8267EF1
+ .string "The feeling of being watched faded…$"
diff --git a/data/scripts/maps/FieryPath.inc b/data/scripts/maps/FieryPath.inc
new file mode 100644
index 000000000..870b70e91
--- /dev/null
+++ b/data/scripts/maps/FieryPath.inc
@@ -0,0 +1,15 @@
+FieryPath_MapScripts:: @ 8230F24
+ map_script 3, FieryPath_MapScript1_230F2A
+ .byte 0
+
+FieryPath_MapScript1_230F2A: @ 8230F2A
+ checkflag FLAG_0x8AA
+ call_if 0, FieryPath_EventScript_230F37
+ setflag FLAG_0x8AA
+ end
+
+FieryPath_EventScript_230F37:: @ 8230F37
+ setflag FLAG_0x2FE
+ clearflag FLAG_0x2FF
+ return
+
diff --git a/data/scripts/maps/FortreeCity.inc b/data/scripts/maps/FortreeCity.inc
new file mode 100644
index 000000000..d3b9b41fb
--- /dev/null
+++ b/data/scripts/maps/FortreeCity.inc
@@ -0,0 +1,159 @@
+FortreeCity_MapScripts:: @ 81E25A4
+ map_script 3, FortreeCity_MapScript1_1E25AF
+ map_script 5, FortreeCity_MapScript1_1E25B3
+ .byte 0
+
+FortreeCity_MapScript1_1E25AF: @ 81E25AF
+ setflag FLAG_VISITED_FORTREE_CITY
+ end
+
+FortreeCity_MapScript1_1E25B3: @ 81E25B3
+ setstepcallback 2
+ end
+
+FortreeCity_EventScript_1E25B6:: @ 81E25B6
+ msgbox FortreeCity_Text_1E2676, 2
+ end
+
+FortreeCity_EventScript_1E25BF:: @ 81E25BF
+ lock
+ faceplayer
+ checkflag FLAG_0x127
+ goto_eq FortreeCity_EventScript_1E25D4
+ msgbox FortreeCity_Text_1E2738, 4
+ release
+ end
+
+FortreeCity_EventScript_1E25D4:: @ 81E25D4
+ msgbox FortreeCity_Text_1E27B6, 4
+ release
+ end
+
+FortreeCity_EventScript_1E25DE:: @ 81E25DE
+ msgbox FortreeCity_Text_1E27FE, 2
+ end
+
+FortreeCity_EventScript_1E25E7:: @ 81E25E7
+ msgbox FortreeCity_Text_1E2880, 2
+ end
+
+FortreeCity_EventScript_1E25F0:: @ 81E25F0
+ msgbox FortreeCity_Text_1E292E, 2
+ end
+
+FortreeCity_EventScript_1E25F9:: @ 81E25F9
+ msgbox FortreeCity_Text_1E299D, 2
+ end
+
+FortreeCity_EventScript_1E2602:: @ 81E2602
+ msgbox FortreeCity_Text_1E2AAC, 3
+ end
+
+FortreeCity_EventScript_1E260B:: @ 81E260B
+ msgbox FortreeCity_Text_1E2AE6, 3
+ end
+
+FortreeCity_EventScript_1E2614:: @ 81E2614
+ lock
+ faceplayer
+ checkitem ITEM_DEVON_SCOPE, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq FortreeCity_EventScript_1E2630
+ msgbox FortreeCity_Text_1E29E5, 4
+ release
+ end
+
+FortreeCity_EventScript_1E2630:: @ 81E2630
+ msgbox FortreeCity_Text_1E2A08, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq FortreeCity_EventScript_1E2645
+ release
+ end
+
+FortreeCity_EventScript_1E2645:: @ 81E2645
+ msgbox FortreeCity_Text_1E2A48, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, FortreeCity_Movement_2723C7
+ waitmovement 0
+ waitse
+ playmoncry SPECIES_KECLEON, 2
+ delay 40
+ waitmoncry
+ applymovement VAR_LAST_TALKED, FortreeCity_Movement_1E2674
+ waitmovement 0
+ removeobject VAR_LAST_TALKED
+ setflag FLAG_0x127
+ release
+ end
+
+FortreeCity_Movement_1E2674: @ 81E2674
+ step_right
+ step_end
+
+FortreeCity_Text_1E2676: @ 81E2676
+ .string "No one believes me, but I saw this\n"
+ .string "gigantic POKéMON in the sky.\p"
+ .string "It seemed to squirm as it flew toward\n"
+ .string "ROUTE 131.\p"
+ .string "By the way… Sniff…\n"
+ .string "Um… You, uh…smell singed.\p"
+ .string "Were you at a volcano or something?$"
+
+FortreeCity_Text_1E2738: @ 81E2738
+ .string "I want to go to the POKéMON GYM,\n"
+ .string "but something’s blocking the way.\p"
+ .string "After all the bother I went through\n"
+ .string "training on ROUTE 120…$"
+
+FortreeCity_Text_1E27B6: @ 81E27B6
+ .string "I’ve got my pride-and-joy POKéMON\n"
+ .string "with me. This time, I’ll beat WINONA.$"
+
+FortreeCity_Text_1E27FE: @ 81E27FE
+ .string "The ground absorbs rainwater, and\n"
+ .string "trees grow by drinking that water…\p"
+ .string "Our FORTREE CITY exists because\n"
+ .string "there’s both water and soil.$"
+
+FortreeCity_Text_1E2880: @ 81E2880
+ .string "The CITY consists of homes built on\n"
+ .string "trees.\p"
+ .string "Perhaps because of that lifestyle,\n"
+ .string "everyone is healthy and lively.\p"
+ .string "Why, even myself--I feel as if I’ve\n"
+ .string "grown thirty years younger.$"
+
+FortreeCity_Text_1E292E: @ 81E292E
+ .string "Living on top of trees is okay.\p"
+ .string "But sometimes BUG POKéMON come in\n"
+ .string "through windows.\l"
+ .string "It can be really startling.$"
+
+FortreeCity_Text_1E299D: @ 81E299D
+ .string "There are POKéMON that evolve when\n"
+ .string "you trade them! That’s what I heard.$"
+
+FortreeCity_Text_1E29E5: @ 81E29E5
+ .string "Something unseeable is in the way.$"
+
+FortreeCity_Text_1E2A08: @ 81E2A08
+ .string "Something unseeable is in the way.\p"
+ .string "Want to use the DEVON SCOPE?$"
+
+FortreeCity_Text_1E2A48: @ 81E2A48
+ .string "{PLAYER} used the DEVON SCOPE.\p"
+ .string "An invisible POKéMON became completely\n"
+ .string "visible!\p"
+ .string "The startled POKéMON fled!$"
+
+FortreeCity_Text_1E2AAC: @ 81E2AAC
+ .string "FORTREE CITY\n"
+ .string "“The treetop city that frolics with\l"
+ .string "nature.”$"
+
+FortreeCity_Text_1E2AE6: @ 81E2AE6
+ .string "FORTREE CITY POKéMON GYM\n"
+ .string "LEADER: WINONA\p"
+ .string "“The bird user taking flight into\n"
+ .string "the world.”$"
+
diff --git a/data/scripts/maps/FortreeCity_DecorationShop.inc b/data/scripts/maps/FortreeCity_DecorationShop.inc
new file mode 100644
index 000000000..2229ab702
--- /dev/null
+++ b/data/scripts/maps/FortreeCity_DecorationShop.inc
@@ -0,0 +1,72 @@
+FortreeCity_DecorationShop_MapScripts:: @ 821800D
+ .byte 0
+
+FortreeCity_DecorationShop_EventScript_21800E:: @ 821800E
+ msgbox FortreeCity_DecorationShop_Text_218078, 2
+ end
+
+FortreeCity_DecorationShop_EventScript_218017:: @ 8218017
+ msgbox FortreeCity_DecorationShop_Text_2180ED, 2
+ end
+
+FortreeCity_DecorationShop_EventScript_218020:: @ 8218020
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemartdecoration FortreeCity_DecorationShop_PokemartDecor_218038
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+FortreeCity_DecorationShop_PokemartDecor_218038: @ 8218038
+ .2byte 1
+ .2byte 2
+ .2byte 3
+ .2byte 4
+ .2byte 5
+ .2byte 7
+ .2byte 8
+ .2byte 9
+ .2byte 0
+ release
+ end
+
+FortreeCity_DecorationShop_EventScript_21804C:: @ 821804C
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemartdecoration FortreeCity_DecorationShop_PokemartDecor_218064
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+FortreeCity_DecorationShop_PokemartDecor_218064: @ 8218064
+ .2byte 10
+ .2byte 11
+ .2byte 12
+ .2byte 15
+ .2byte 14
+ .2byte 16
+ .2byte 17
+ .2byte 18
+ .2byte 0
+ release
+ end
+
+FortreeCity_DecorationShop_Text_218078: @ 8218078
+ .string "Merchandise you buy here is sent to\n"
+ .string "your own PC.\p"
+ .string "That’s fantastic! I wish they could\n"
+ .string "also deliver me home like that.$"
+
+FortreeCity_DecorationShop_Text_2180ED: @ 82180ED
+ .string "I’m buying a pretty desk and I’m\n"
+ .string "putting my cute DOLLS on it.\p"
+ .string "If I don’t, when I decorate my\n"
+ .string "SECRET BASE, my DOLLS will get\l"
+ .string "dirty or poked with splinters.$"
+
diff --git a/data/scripts/maps/FortreeCity_Gym.inc b/data/scripts/maps/FortreeCity_Gym.inc
new file mode 100644
index 000000000..e3990cd23
--- /dev/null
+++ b/data/scripts/maps/FortreeCity_Gym.inc
@@ -0,0 +1,325 @@
+FortreeCity_Gym_MapScripts:: @ 82165AB
+ map_script 3, FortreeCity_Gym_MapScript1_2165B6
+ map_script 4, FortreeCity_Gym_MapScript2_2165BA
+ .byte 0
+
+FortreeCity_Gym_MapScript1_2165B6: @ 82165B6
+ special sub_80FBE90
+ end
+
+FortreeCity_Gym_MapScript2_2165BA: @ 82165BA
+ map_script_2 VAR_0x4000, 16384, FortreeCity_Gym_EventScript_2165C4
+ .2byte 0
+
+FortreeCity_Gym_EventScript_2165C4:: @ 82165C4
+ special sub_80FBED0
+ end
+
+FortreeCity_Gym_EventScript_2165C8:: @ 82165C8
+ trainerbattle 1, TRAINER_WINONA_1, 0, FortreeCity_Gym_Text_216D75, FortreeCity_Gym_Text_216E60, FortreeCity_Gym_EventScript_2165FD
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq FortreeCity_Gym_EventScript_21668D
+ checkflag FLAG_0x0AA
+ goto_if 0, FortreeCity_Gym_EventScript_216646
+ msgbox FortreeCity_Gym_Text_217071, 4
+ release
+ end
+
+FortreeCity_Gym_EventScript_2165FD:: @ 82165FD
+ message FortreeCity_Gym_Text_216EEC
+ waitmessage
+ call FortreeCity_Gym_EventScript_27207E
+ msgbox FortreeCity_Gym_Text_216F17, 4
+ setflag FLAG_0x4F5
+ setflag FLAG_BADGE06_GET
+ setvar VAR_0x8008, 6
+ call FortreeCity_Gym_EventScript_271F43
+ call FortreeCity_Gym_EventScript_21666A
+ closemessage
+ delay 30
+ playfanfare BGM_ME_MATCH_CALL
+ msgbox FortreeCity_Gym_Text_217044, 4
+ waitfanfare
+ closemessage
+ delay 30
+ setflag FLAG_0x1D7
+ setvar VAR_0x40F3, 0
+ setflag FLAG_0x08A
+ release
+ end
+
+FortreeCity_Gym_EventScript_216646:: @ 8216646
+ giveitem_std ITEM_TM40
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq FortreeCity_Gym_EventScript_272054
+ msgbox FortreeCity_Gym_Text_216FEC, 4
+ setflag FLAG_0x0AA
+ release
+ end
+
+FortreeCity_Gym_EventScript_21666A:: @ 821666A
+ giveitem_std ITEM_TM40
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq FortreeCity_Gym_EventScript_27205E
+ msgbox FortreeCity_Gym_Text_216FEC, 4
+ setflag FLAG_0x0AA
+ return
+
+FortreeCity_Gym_EventScript_21668D:: @ 821668D
+ trainerbattle 7, TRAINER_WINONA_1, 0, FortreeCity_Gym_Text_217100, FortreeCity_Gym_Text_2171E6, FortreeCity_Gym_Text_217292
+ msgbox FortreeCity_Gym_Text_21720B, 6
+ end
+
+FortreeCity_Gym_EventScript_2166A8:: @ 82166A8
+ trainerbattle 0, TRAINER_JARED, 0, FortreeCity_Gym_Text_2168A2, FortreeCity_Gym_Text_2168D3
+ msgbox FortreeCity_Gym_Text_2168E7, 6
+ end
+
+FortreeCity_Gym_EventScript_2166BF:: @ 82166BF
+ trainerbattle 0, TRAINER_EDWARDO, 0, FortreeCity_Gym_Text_21695A, FortreeCity_Gym_Text_2169C7
+ msgbox FortreeCity_Gym_Text_2169F1, 6
+ end
+
+FortreeCity_Gym_EventScript_2166D6:: @ 82166D6
+ trainerbattle 0, TRAINER_FLINT, 0, FortreeCity_Gym_Text_216A66, FortreeCity_Gym_Text_216AC4
+ msgbox FortreeCity_Gym_Text_216AD7, 6
+ end
+
+FortreeCity_Gym_EventScript_2166ED:: @ 82166ED
+ trainerbattle 0, TRAINER_ASHLEY, 0, FortreeCity_Gym_Text_216B1A, FortreeCity_Gym_Text_216B51
+ msgbox FortreeCity_Gym_Text_216B5F, 6
+ end
+
+FortreeCity_Gym_EventScript_216704:: @ 8216704
+ trainerbattle 0, TRAINER_HUMBERTO, 0, FortreeCity_Gym_Text_216B9E, FortreeCity_Gym_Text_216C18
+ msgbox FortreeCity_Gym_Text_216C32, 6
+ end
+
+FortreeCity_Gym_EventScript_21671B:: @ 821671B
+ trainerbattle 0, TRAINER_DARIUS, 0, FortreeCity_Gym_Text_216C96, FortreeCity_Gym_Text_216CF2
+ msgbox FortreeCity_Gym_Text_216D0F, 6
+ end
+
+FortreeCity_Gym_EventScript_216732:: @ 8216732
+ lock
+ faceplayer
+ checkflag FLAG_0x4F5
+ goto_eq FortreeCity_Gym_EventScript_216747
+ msgbox FortreeCity_Gym_Text_216785, 4
+ release
+ end
+
+FortreeCity_Gym_EventScript_216747:: @ 8216747
+ msgbox FortreeCity_Gym_Text_21687D, 4
+ release
+ end
+
+FortreeCity_Gym_EventScript_216751:: @ 8216751
+ lockall
+ checkflag FLAG_BADGE06_GET
+ goto_eq FortreeCity_Gym_EventScript_216771
+ goto FortreeCity_Gym_EventScript_21677B
+ end
+
+FortreeCity_Gym_EventScript_216761:: @ 8216761
+ lockall
+ checkflag FLAG_BADGE06_GET
+ goto_eq FortreeCity_Gym_EventScript_216771
+ goto FortreeCity_Gym_EventScript_21677B
+ end
+
+FortreeCity_Gym_EventScript_216771:: @ 8216771
+ msgbox FortreeCity_Gym_Text_2170C7, 4
+ releaseall
+ end
+
+FortreeCity_Gym_EventScript_21677B:: @ 821677B
+ msgbox FortreeCity_Gym_Text_2170AE, 4
+ releaseall
+ end
+
+FortreeCity_Gym_Text_216785: @ 8216785
+ .string "Yo, how’s it going, CHAMPION-\n"
+ .string "bound {PLAYER}?\p"
+ .string "FORTREE GYM LEADER WINONA is\n"
+ .string "a master of FLYING-type POKéMON.\p"
+ .string "She’s waiting at the back of this GYM,\n"
+ .string "behind the rotating doors.\p"
+ .string "She’s waiting for new challengers\n"
+ .string "who are trying to take wing!\p"
+ .string "Okay, go for it!$"
+
+FortreeCity_Gym_Text_21687D: @ 821687D
+ .string "You did it!\n"
+ .string "You’ve achieved liftoff!$"
+
+FortreeCity_Gym_Text_2168A2: @ 82168A2
+ .string "Behold the elegant battle style of\n"
+ .string "BIRD POKéMON!$"
+
+FortreeCity_Gym_Text_2168D3: @ 82168D3
+ .string "You…\n"
+ .string "You’re strong…$"
+
+FortreeCity_Gym_Text_2168E7: @ 82168E7
+ .string "A TRAINER has to be smart to keep\n"
+ .string "up with unexpected turns of events.\p"
+ .string "Do you have the smarts to get to\n"
+ .string "our LEADER?$"
+
+FortreeCity_Gym_Text_21695A: @ 821695A
+ .string "The lovers of BIRD POKéMON aspire\n"
+ .string "to join this GYM.\p"
+ .string "As a member of the FORTREE GYM,\n"
+ .string "I’m not allowed to lose!$"
+
+FortreeCity_Gym_Text_2169C7: @ 82169C7
+ .string "It was too much of a load for me\n"
+ .string "to bear…$"
+
+FortreeCity_Gym_Text_2169F1: @ 82169F1
+ .string "The world is huge, and there are\n"
+ .string "countless tough TRAINERS.\p"
+ .string "I’m going to keep training and make\n"
+ .string "myself even stronger.$"
+
+FortreeCity_Gym_Text_216A66: @ 8216A66
+ .string "There’s no need for WINONA, our GYM\n"
+ .string "LEADER, to deal with you!\p"
+ .string "I’m plenty good enough for you!$"
+
+FortreeCity_Gym_Text_216AC4: @ 8216AC4
+ .string "WINONA, I…\n"
+ .string "I lost!$"
+
+FortreeCity_Gym_Text_216AD7: @ 8216AD7
+ .string "WINONA is cute and she’s strong.\n"
+ .string "She’s the ultimate LEADER!\p"
+ .string "Blush…$"
+
+FortreeCity_Gym_Text_216B1A: @ 8216B1A
+ .string "WINONA taught me personally!\n"
+ .string "You can’t beat me easily!$"
+
+FortreeCity_Gym_Text_216B51: @ 8216B51
+ .string "I was beaten…$"
+
+FortreeCity_Gym_Text_216B5F: @ 8216B5F
+ .string "Thanks to WINONA, the people of\n"
+ .string "FORTREE can live without fear.$"
+
+FortreeCity_Gym_Text_216B9E: @ 8216B9E
+ .string "When WINONA takes to battle, her face\n"
+ .string "shines with beautiful determination…\p"
+ .string "I’m not letting you witness that\n"
+ .string "lovely sight!$"
+
+FortreeCity_Gym_Text_216C18: @ 8216C18
+ .string "Urk!\n"
+ .string "I couldn’t stop you.$"
+
+FortreeCity_Gym_Text_216C32: @ 8216C32
+ .string "You’d better watch it!\n"
+ .string "Don’t get distracted staring at WINONA\l"
+ .string "or you’ll go crashing down in a heap!$"
+
+FortreeCity_Gym_Text_216C96: @ 8216C96
+ .string "You’d better know that there are all\n"
+ .string "sorts of FLYING-type POKéMON.\p"
+ .string "You do know that, right?$"
+
+FortreeCity_Gym_Text_216CF2: @ 8216CF2
+ .string "You seem to know your stuff!$"
+
+FortreeCity_Gym_Text_216D0F: @ 8216D0F
+ .string "Sure, you beat me all right.\n"
+ .string "But you’d better watch it! Our LEADER\l"
+ .string "WINONA’s POKéMON are all business.$"
+
+FortreeCity_Gym_Text_216D75: @ 8216D75
+ .string "I am WINONA. I am the LEADER of\n"
+ .string "the FORTREE POKéMON GYM.\p"
+ .string "I have become one with BIRD POKéMON\n"
+ .string "and have soared the skies…\p"
+ .string "However grueling the battle, we have\n"
+ .string "triumphed with grace…\p"
+ .string "Witness the elegant choreography\n"
+ .string "of BIRD POKéMON and I!$"
+
+FortreeCity_Gym_Text_216E60: @ 8216E60
+ .string "Never before have I seen a TRAINER\n"
+ .string "command POKéMON with more grace\l"
+ .string "than I…\p"
+ .string "In recognition of your prowess,\n"
+ .string "I present to you this GYM BADGE.$"
+
+FortreeCity_Gym_Text_216EEC: @ 8216EEC
+ .string "{PLAYER} received the FEATHER BADGE\n"
+ .string "from WINONA.$"
+
+FortreeCity_Gym_Text_216F17: @ 8216F17
+ .string "With the FEATHER BADGE, all POKéMON up\n"
+ .string "to LV 70, even those received through\l"
+ .string "trades, will obey your every command.\p"
+ .string "You will also be able to use\n"
+ .string "the HM move FLY outside of battle.\p"
+ .string "And this…\n"
+ .string "This is a gift from me.$"
+
+FortreeCity_Gym_Text_216FEC: @ 8216FEC
+ .string "TM40 contains AERIAL ACE.\p"
+ .string "Its speed…\n"
+ .string "No POKéMON should be able to avoid it.\p"
+ .string "… … … … … …$"
+
+FortreeCity_Gym_Text_217044: @ 8217044
+ .string "Registered GYM LEADER WINONA\n"
+ .string "in the POKéNAV.$"
+
+FortreeCity_Gym_Text_217071: @ 8217071
+ .string "Though I fell to you, I will remain\n"
+ .string "devoted to BIRD POKéMON.$"
+
+FortreeCity_Gym_Text_2170AE: @ 82170AE
+ .string "FORTREE CITY POKéMON GYM$"
+
+FortreeCity_Gym_Text_2170C7: @ 82170C7
+ .string "FORTREE CITY POKéMON GYM\p"
+ .string "WINONA’S CERTIFIED TRAINERS:\n"
+ .string "{PLAYER}$"
+
+FortreeCity_Gym_Text_217100: @ 8217100
+ .string "WINONA: We humans can never escape\n"
+ .string "gravity’s pull on the ground.\p"
+ .string "But by striving for excellence,\n"
+ .string "we have the power to soar!\p"
+ .string "You have scaled the pinnacle as\n"
+ .string "the reigning CHAMPION.\p"
+ .string "Please, allow me to see your power\n"
+ .string "at full flight!$"
+
+FortreeCity_Gym_Text_2171E6: @ 82171E6
+ .string "I failed to reach your height again…$"
+
+FortreeCity_Gym_Text_21720B: @ 821720B
+ .string "WINONA: Even though I have lost,\n"
+ .string "the wings of my heart remain unbroken.\p"
+ .string "I can rise and soar again and\n"
+ .string "yet again.\p"
+ .string "I am convinced of it!$"
+
+FortreeCity_Gym_Text_217292: @ 8217292
+ .string "WINONA: We humans can never escape\n"
+ .string "gravity’s pull on the ground.\p"
+ .string "But by striving for excellence,\n"
+ .string "we have the power to soar!\p"
+ .string "You have scaled the pinnacle as\n"
+ .string "the reigning CHAMPION.\p"
+ .string "Please, allow me to see your power\n"
+ .string "at full flight!\p"
+ .string "Oh, no… Do you have but one\n"
+ .string "POKéMON with you?\p"
+ .string "Please return with two POKéMON\n"
+ .string "at the very least.$"
+
diff --git a/data/scripts/maps/FortreeCity_House1.inc b/data/scripts/maps/FortreeCity_House1.inc
new file mode 100644
index 000000000..1184763dc
--- /dev/null
+++ b/data/scripts/maps/FortreeCity_House1.inc
@@ -0,0 +1,102 @@
+FortreeCity_House1_MapScripts:: @ 82162BA
+ .byte 0
+
+FortreeCity_House1_EventScript_2162BB:: @ 82162BB
+ lock
+ faceplayer
+ checkflag FLAG_0x09B
+ goto_eq FortreeCity_House1_EventScript_216355
+ setvar VAR_0x8008, 1
+ copyvar VAR_0x8004, VAR_0x8008
+ specialvar VAR_RESULT, sub_807E73C
+ copyvar VAR_0x8009, VAR_RESULT
+ msgbox FortreeCity_House1_Text_21637B, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq FortreeCity_House1_EventScript_21633D
+ special sub_81B94B0
+ waitstate
+ copyvar VAR_0x800A, VAR_0x8004
+ compare_var_to_value VAR_0x8004, 255
+ goto_eq FortreeCity_House1_EventScript_21633D
+ copyvar VAR_0x8005, VAR_0x800A
+ specialvar VAR_RESULT, sub_807E9D4
+ copyvar VAR_0x800B, VAR_RESULT
+ compare_var_to_var VAR_RESULT, VAR_0x8009
+ goto_if 5, FortreeCity_House1_EventScript_216347
+ copyvar VAR_0x8004, VAR_0x8008
+ copyvar VAR_0x8005, VAR_0x800A
+ special sub_807EA10
+ special sub_807F0E4
+ waitstate
+ bufferspeciesname 0, VAR_0x8009
+ msgbox FortreeCity_House1_Text_216440, 4
+ setflag FLAG_0x09B
+ release
+ end
+
+FortreeCity_House1_EventScript_21633D:: @ 821633D
+ msgbox FortreeCity_House1_Text_21649F, 4
+ release
+ end
+
+FortreeCity_House1_EventScript_216347:: @ 8216347
+ bufferspeciesname 0, VAR_0x8009
+ msgbox FortreeCity_House1_Text_216474, 4
+ release
+ end
+
+FortreeCity_House1_EventScript_216355:: @ 8216355
+ msgbox FortreeCity_House1_Text_2164DB, 4
+ release
+ end
+
+FortreeCity_House1_EventScript_21635F:: @ 821635F
+ msgbox FortreeCity_House1_Text_21653B, 2
+ end
+
+FortreeCity_House1_EventScript_216368:: @ 8216368
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_ZIGZAGOON, 0
+ msgbox FortreeCity_House1_Text_216597, 4
+ waitmoncry
+ release
+ end
+
+FortreeCity_House1_Text_21637B: @ 821637B
+ .string "Wrooooaaar! I need it!\n"
+ .string "I have to get me a {STR_VAR_1}!\l"
+ .string "I’ll do anything for it!\p"
+ .string "…Uh… Did you hear that?\n"
+ .string "My shout from the bottom of my heart?\p"
+ .string "Having heard that, you will trade\n"
+ .string "your {STR_VAR_1} for my {STR_VAR_2},\l"
+ .string "won’t you?$"
+
+FortreeCity_House1_Text_216440: @ 8216440
+ .string "Oh, yeah, right on!\p"
+ .string "{STR_VAR_1}, welcome!\n"
+ .string "{STR_VAR_2}, you take care!$"
+
+FortreeCity_House1_Text_216474: @ 8216474
+ .string "Uh, no, I don’t think so.\n"
+ .string "That isn’t a {STR_VAR_1}.$"
+
+FortreeCity_House1_Text_21649F: @ 821649F
+ .string "No? You won’t trade me?\n"
+ .string "Even after I bared my heart to you?$"
+
+FortreeCity_House1_Text_2164DB: @ 82164DB
+ .string "I’m going to make VOLBEAT super\n"
+ .string "strong from this moment on!\p"
+ .string "I hope you do the same with PLUSLE!$"
+
+FortreeCity_House1_Text_21653B: @ 821653B
+ .string "Trading POKéMON with others…\p"
+ .string "It’s as if you’re trading your own\n"
+ .string "memories with other people.$"
+
+FortreeCity_House1_Text_216597: @ 8216597
+ .string "ZIGZAGOON: Gumomoh?$"
+
diff --git a/data/scripts/maps/FortreeCity_House2.inc b/data/scripts/maps/FortreeCity_House2.inc
new file mode 100644
index 000000000..2458510bc
--- /dev/null
+++ b/data/scripts/maps/FortreeCity_House2.inc
@@ -0,0 +1,84 @@
+FortreeCity_House2_MapScripts:: @ 82177CA
+ .byte 0
+
+FortreeCity_House2_EventScript_2177CB:: @ 82177CB
+ lock
+ faceplayer
+ checkflag FLAG_0x108
+ goto_eq FortreeCity_House2_EventScript_21786E
+ checkflag FLAG_0x076
+ call_if 0, FortreeCity_House2_EventScript_217862
+ msgbox FortreeCity_House2_Text_2178D6, 4
+ multichoice 21, 8, 54, 1
+ switch VAR_RESULT
+ case 1, FortreeCity_House2_EventScript_217878
+ msgbox FortreeCity_House2_Text_21796A, 4
+ multichoice 21, 8, 54, 1
+ switch VAR_RESULT
+ case 1, FortreeCity_House2_EventScript_217878
+ msgbox FortreeCity_House2_Text_2179C9, 4
+ multichoice 21, 8, 54, 1
+ switch VAR_RESULT
+ case 0, FortreeCity_House2_EventScript_217878
+ msgbox FortreeCity_House2_Text_217A28, 4
+ giveitem_std ITEM_TM10
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq FortreeCity_House2_EventScript_272054
+ setflag FLAG_0x108
+ msgbox FortreeCity_House2_Text_217A91, 4
+ release
+ end
+
+FortreeCity_House2_EventScript_217862:: @ 8217862
+ msgbox FortreeCity_House2_Text_217882, 4
+ setflag FLAG_0x076
+ return
+
+FortreeCity_House2_EventScript_21786E:: @ 821786E
+ msgbox FortreeCity_House2_Text_217A91, 4
+ release
+ end
+
+FortreeCity_House2_EventScript_217878:: @ 8217878
+ msgbox FortreeCity_House2_Text_217AC7, 4
+ release
+ end
+
+FortreeCity_House2_Text_217882: @ 8217882
+ .string "People… POKéMON…\p"
+ .string "Their hidden powers are aroused by\n"
+ .string "living in natural environments…$"
+
+FortreeCity_House2_Text_2178D6: @ 82178D6
+ .string "Let this old woman see if your hidden\n"
+ .string "power has awoken…\p"
+ .string "I hold a coin in my hand.\p"
+ .string "Now, tell me, have I palmed it in\n"
+ .string "the right hand? Or in the left?$"
+
+FortreeCity_House2_Text_21796A: @ 821796A
+ .string "Oh! Yes, correct!\p"
+ .string "We shall try again.\p"
+ .string "In which hand have I palmed the coin?\n"
+ .string "The right or left?$"
+
+FortreeCity_House2_Text_2179C9: @ 82179C9
+ .string "Oh! Yes, correct!\p"
+ .string "We shall try again.\p"
+ .string "In which hand have I palmed the coin?\n"
+ .string "The right or left?$"
+
+FortreeCity_House2_Text_217A28: @ 8217A28
+ .string "Oh! Splendid!\n"
+ .string "Your hidden power has awoken!\p"
+ .string "Here, take this and awaken the hidden\n"
+ .string "power of your POKéMON.$"
+
+FortreeCity_House2_Text_217A91: @ 8217A91
+ .string "HIDDEN POWER is a move that changes\n"
+ .string "with the POKéMON.$"
+
+FortreeCity_House2_Text_217AC7: @ 8217AC7
+ .string "No, too bad.\n"
+ .string "You guessed wrong.$"
+
diff --git a/data/scripts/maps/FortreeCity_House3.inc b/data/scripts/maps/FortreeCity_House3.inc
new file mode 100644
index 000000000..92b963811
--- /dev/null
+++ b/data/scripts/maps/FortreeCity_House3.inc
@@ -0,0 +1,29 @@
+FortreeCity_House3_MapScripts:: @ 8217AE7
+ .byte 0
+
+FortreeCity_House3_EventScript_217AE8:: @ 8217AE8
+ msgbox FortreeCity_House3_Text_217AFA, 2
+ end
+
+FortreeCity_House3_EventScript_217AF1:: @ 8217AF1
+ msgbox FortreeCity_House3_Text_217C22, 2
+ end
+
+FortreeCity_House3_Text_217AFA: @ 8217AFA
+ .string "While speaking about POKéDEXES,\n"
+ .string "I remembered something.\p"
+ .string "I met this TRAINER, STEVEN, when\n"
+ .string "I was searching for rare stones.\p"
+ .string "Hoo, boy, he had some amazing POKéMON\n"
+ .string "with him.\p"
+ .string "They weren’t just rare, they were\n"
+ .string "trained to terrifying extremes!\p"
+ .string "He might even be stronger than the\n"
+ .string "GYM LEADER in this town…$"
+
+FortreeCity_House3_Text_217C22: @ 8217C22
+ .string "What’s that thing you have there?\p"
+ .string "… … … … … …\p"
+ .string "Oh, it’s called a POKéDEX?\n"
+ .string "It’s really awesome!$"
+
diff --git a/data/scripts/maps/FortreeCity_House4.inc b/data/scripts/maps/FortreeCity_House4.inc
new file mode 100644
index 000000000..2d260eab3
--- /dev/null
+++ b/data/scripts/maps/FortreeCity_House4.inc
@@ -0,0 +1,99 @@
+FortreeCity_House4_MapScripts:: @ 8217C80
+ .byte 0
+
+FortreeCity_House4_EventScript_217C81:: @ 8217C81
+ msgbox FortreeCity_House4_Text_217D33, 2
+ end
+
+FortreeCity_House4_EventScript_217C8A:: @ 8217C8A
+ lockall
+ checkflag FLAG_0x0DF
+ goto_eq FortreeCity_House4_EventScript_217D06
+ checkflag FLAG_0x0E0
+ goto_eq FortreeCity_House4_EventScript_217CD8
+ checkflag FLAG_0x0DE
+ goto_eq FortreeCity_House4_EventScript_217CC4
+ msgbox FortreeCity_House4_Text_217DB9, 4
+ closemessage
+ setflag FLAG_0x0DE
+ clearflag FLAG_0x3A6
+ applymovement 3, FortreeCity_House4_Movement_217D1A
+ waitmovement 0
+ removeobject 3
+ releaseall
+ end
+
+FortreeCity_House4_EventScript_217CC4:: @ 8217CC4
+ applymovement VAR_LAST_TALKED, FortreeCity_House4_Movement_27259E
+ waitmovement 0
+ msgbox FortreeCity_House4_Text_217DD2, 4
+ releaseall
+ end
+
+FortreeCity_House4_EventScript_217CD8:: @ 8217CD8
+ applymovement VAR_LAST_TALKED, FortreeCity_House4_Movement_27259E
+ waitmovement 0
+ msgbox FortreeCity_House4_Text_217E05, 4
+ giveitem_std ITEM_MENTAL_HERB
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq FortreeCity_House4_EventScript_272054
+ setflag FLAG_0x0DF
+ releaseall
+ end
+
+FortreeCity_House4_EventScript_217D06:: @ 8217D06
+ applymovement VAR_LAST_TALKED, FortreeCity_House4_Movement_27259E
+ waitmovement 0
+ msgbox FortreeCity_House4_Text_217EA8, 4
+ releaseall
+ end
+
+FortreeCity_House4_Movement_217D1A: @ 8217D1A
+ step_15
+ step_15
+ step_18
+ step_25
+ step_13
+ step_end
+
+FortreeCity_House4_EventScript_217D20:: @ 8217D20
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_WINGULL, 0
+ msgbox FortreeCity_House4_Text_217EE0, 4
+ waitmoncry
+ release
+ end
+
+FortreeCity_House4_Text_217D33: @ 8217D33
+ .string "By being together with POKéMON,\n"
+ .string "people make more and more friends.\p"
+ .string "And that brings the world closer\n"
+ .string "together. I think it’s wonderful!$"
+
+FortreeCity_House4_Text_217DB9: @ 8217DB9
+ .string "There!\n"
+ .string "Go, BIRD POKéMON!$"
+
+FortreeCity_House4_Text_217DD2: @ 8217DD2
+ .string "Heheh, I asked my WINGULL to run\n"
+ .string "an errand for me.$"
+
+FortreeCity_House4_Text_217E05: @ 8217E05
+ .string "Good!\n"
+ .string "Welcome back, WINGULL!\p"
+ .string "Huh? What is this?\n"
+ .string "What is it holding?\p"
+ .string "A MENTAL HERB?\n"
+ .string "It must have picked it up somewhere.\p"
+ .string "But I’m not a TRAINER, so you can\n"
+ .string "have it.$"
+
+FortreeCity_House4_Text_217EA8: @ 8217EA8
+ .string "Thanks to my WINGULL, I have friends\n"
+ .string "who live far away.$"
+
+FortreeCity_House4_Text_217EE0: @ 8217EE0
+ .string "WINGULL: Pihyoh!$"
+
diff --git a/data/scripts/maps/FortreeCity_House5.inc b/data/scripts/maps/FortreeCity_House5.inc
new file mode 100644
index 000000000..d4f1f2b02
--- /dev/null
+++ b/data/scripts/maps/FortreeCity_House5.inc
@@ -0,0 +1,35 @@
+FortreeCity_House5_MapScripts:: @ 8217EF1
+ .byte 0
+
+FortreeCity_House5_EventScript_217EF2:: @ 8217EF2
+ msgbox FortreeCity_House5_Text_217F17, 2
+ end
+
+FortreeCity_House5_EventScript_217EFB:: @ 8217EFB
+ msgbox FortreeCity_House5_Text_217F80, 2
+ end
+
+FortreeCity_House5_EventScript_217F04:: @ 8217F04
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_ZIGZAGOON, 0
+ msgbox FortreeCity_House5_Text_217FFB, 4
+ waitmoncry
+ release
+ end
+
+FortreeCity_House5_Text_217F17: @ 8217F17
+ .string "The tree houses of FORTREE are great!\p"
+ .string "I think it’s the number one town for\n"
+ .string "living together with POKéMON.$"
+
+FortreeCity_House5_Text_217F80: @ 8217F80
+ .string "POKéMON and people have adapted to\n"
+ .string "nature for survival.\p"
+ .string "There’s no need to make nature\n"
+ .string "conform to the way we want to live.$"
+
+FortreeCity_House5_Text_217FFB: @ 8217FFB
+ .string "ZIGZAGOON: Bufuu!$"
+
diff --git a/data/scripts/maps/FortreeCity_Mart.inc b/data/scripts/maps/FortreeCity_Mart.inc
new file mode 100644
index 000000000..050fc8f4c
--- /dev/null
+++ b/data/scripts/maps/FortreeCity_Mart.inc
@@ -0,0 +1,57 @@
+FortreeCity_Mart_MapScripts:: @ 8217665
+ .byte 0
+
+FortreeCity_Mart_EventScript_217666:: @ 8217666
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemart FortreeCity_Mart_Pokemart_217680
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+FortreeCity_Mart_Pokemart_217680: @ 8217680
+ .2byte ITEM_GREAT_BALL
+ .2byte ITEM_ULTRA_BALL
+ .2byte ITEM_SUPER_POTION
+ .2byte ITEM_HYPER_POTION
+ .2byte ITEM_ANTIDOTE
+ .2byte ITEM_PARALYZE_HEAL
+ .2byte ITEM_AWAKENING
+ .2byte ITEM_REVIVE
+ .2byte ITEM_SUPER_REPEL
+ .2byte ITEM_WOOD_MAIL
+ .2byte ITEM_NONE
+ release
+ end
+
+FortreeCity_Mart_EventScript_217698:: @ 8217698
+ msgbox FortreeCity_Mart_Text_2176B3, 2
+ end
+
+FortreeCity_Mart_EventScript_2176A1:: @ 82176A1
+ msgbox FortreeCity_Mart_Text_217715, 2
+ end
+
+FortreeCity_Mart_EventScript_2176AA:: @ 82176AA
+ msgbox FortreeCity_Mart_Text_21778E, 2
+ end
+
+FortreeCity_Mart_Text_2176B3: @ 82176B3
+ .string "SUPER REPEL lasts a long time,\n"
+ .string "and it gets the job done.\p"
+ .string "It’s much better than an ordinary\n"
+ .string "REPEL.$"
+
+FortreeCity_Mart_Text_217715: @ 8217715
+ .string "I always stock up on more items than\n"
+ .string "I’m sure I’ll need.\p"
+ .string "You never know what might happen.\n"
+ .string "Better to be safe than sorry!$"
+
+FortreeCity_Mart_Text_21778E: @ 821778E
+ .string "A RARE CANDY makes a POKéMON grow\n"
+ .string "immediately by one level.$"
+
diff --git a/data/scripts/maps/FortreeCity_PokemonCenter_1F.inc b/data/scripts/maps/FortreeCity_PokemonCenter_1F.inc
new file mode 100644
index 000000000..e119a0f29
--- /dev/null
+++ b/data/scripts/maps/FortreeCity_PokemonCenter_1F.inc
@@ -0,0 +1,55 @@
+FortreeCity_PokemonCenter_1F_MapScripts:: @ 82173D8
+ map_script 3, FortreeCity_PokemonCenter_1F_MapScript1_2173E3
+ map_script 5, FortreeCity_PokemonCenter_1F_MapScript1_277C30
+ .byte 0
+
+FortreeCity_PokemonCenter_1F_MapScript1_2173E3: @ 82173E3
+ setrespawn 7
+ end
+
+FortreeCity_PokemonCenter_1F_EventScript_2173E7:: @ 82173E7
+ setvar VAR_0x800B, 1
+ call FortreeCity_PokemonCenter_1F_EventScript_27191E
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+FortreeCity_PokemonCenter_1F_EventScript_2173F5:: @ 82173F5
+ msgbox FortreeCity_PokemonCenter_1F_Text_217410, 2
+ end
+
+FortreeCity_PokemonCenter_1F_EventScript_2173FE:: @ 82173FE
+ msgbox FortreeCity_PokemonCenter_1F_Text_21746D, 2
+ end
+
+FortreeCity_PokemonCenter_1F_EventScript_217407:: @ 8217407
+ msgbox FortreeCity_PokemonCenter_1F_Text_21751F, 2
+ end
+
+FortreeCity_PokemonCenter_1F_Text_217410: @ 8217410
+ .string "Listen, kid, are you working\n"
+ .string "on a POKéDEX?\p"
+ .string "Hmm… Go to the SAFARI ZONE.\n"
+ .string "That’s my suggestion.$"
+
+FortreeCity_PokemonCenter_1F_Text_21746D: @ 821746D
+ .string "Have you done anything at\n"
+ .string "the RECORD CORNER?\p"
+ .string "It’s pretty neat. It mixes and matches\n"
+ .string "the records of TRAINERS.\p"
+ .string "I don’t know quite how it works,\n"
+ .string "but it’s cool. It’s exciting, even!$"
+
+FortreeCity_PokemonCenter_1F_Text_21751F: @ 821751F
+ .string "Oh, wow, you have a POKéNAV!\n"
+ .string "And it’s just like mine!\p"
+ .string "Do you know about POKéNAV’s\n"
+ .string "MATCH CALL system?\p"
+ .string "Access it, and you can chat with\n"
+ .string "registered TRAINERS anytime.\p"
+ .string "It also shows you which TRAINERS\n"
+ .string "want a rematch with you.\p"
+ .string "It’s really nifty! Those DEVON guys\n"
+ .string "sure know what they’re doing!$"
+
diff --git a/data/scripts/maps/FortreeCity_PokemonCenter_2F.inc b/data/scripts/maps/FortreeCity_PokemonCenter_2F.inc
new file mode 100644
index 000000000..f631aa3c6
--- /dev/null
+++ b/data/scripts/maps/FortreeCity_PokemonCenter_2F.inc
@@ -0,0 +1,19 @@
+FortreeCity_PokemonCenter_2F_MapScripts:: @ 821763E
+ map_script 2, FortreeCity_PokemonCenter_2F_MapScript2_276C3B
+ map_script 4, FortreeCity_PokemonCenter_2F_MapScript2_276B6C
+ map_script 1, FortreeCity_PokemonCenter_2F_MapScript1_276BBE
+ map_script 3, FortreeCity_PokemonCenter_2F_MapScript1_276ACF
+ .byte 0
+
+FortreeCity_PokemonCenter_2F_EventScript_217653:: @ 8217653
+ call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+ end
+
+FortreeCity_PokemonCenter_2F_EventScript_217659:: @ 8217659
+ call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+ end
+
+FortreeCity_PokemonCenter_2F_EventScript_21765F:: @ 821765F
+ call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+ end
+
diff --git a/data/scripts/maps/GraniteCave_1F.inc b/data/scripts/maps/GraniteCave_1F.inc
new file mode 100644
index 000000000..f3d303c0f
--- /dev/null
+++ b/data/scripts/maps/GraniteCave_1F.inc
@@ -0,0 +1,40 @@
+GraniteCave_1F_MapScripts:: @ 822DA5D
+ .byte 0
+
+GraniteCave_1F_EventScript_22DA5E:: @ 822DA5E
+ lock
+ faceplayer
+ checkflag FLAG_0x06D
+ goto_eq GraniteCave_1F_EventScript_22DA8A
+ msgbox GraniteCave_1F_Text_22DA94, 4
+ giveitem_std ITEM_HM05
+ setflag FLAG_0x06D
+ msgbox GraniteCave_1F_Text_22DBB7, 4
+ release
+ end
+
+GraniteCave_1F_EventScript_22DA8A:: @ 822DA8A
+ msgbox GraniteCave_1F_Text_22DBB7, 4
+ release
+ end
+
+GraniteCave_1F_Text_22DA94: @ 822DA94
+ .string "Hey, you.\n"
+ .string "It gets awfully dark ahead.\l"
+ .string "It’ll be tough trying to explore.\p"
+ .string "That guy who came by earlier…\n"
+ .string "STEVEN, I think it was.\p"
+ .string "He knew how to use FLASH, so he ought\n"
+ .string "to be all right, but…\p"
+ .string "Well, for us HIKERS, helping out those\n"
+ .string "that we meet is our motto.\p"
+ .string "Here you go, I’ll pass this on to you.$"
+
+GraniteCave_1F_Text_22DBB7: @ 822DBB7
+ .string "Teach that hidden move FLASH to\n"
+ .string "a POKéMON and use it.\p"
+ .string "It lights up even the inky darkness\n"
+ .string "of caves.\p"
+ .string "But, to use it, you need the GYM BADGE\n"
+ .string "from DEWFORD’s POKéMON GYM.$"
+
diff --git a/data/scripts/maps/GraniteCave_B1F.inc b/data/scripts/maps/GraniteCave_B1F.inc
new file mode 100644
index 000000000..bf5c4297f
--- /dev/null
+++ b/data/scripts/maps/GraniteCave_B1F.inc
@@ -0,0 +1,11 @@
+GraniteCave_B1F_MapScripts:: @ 822DC5E
+ map_script 2, GraniteCave_B1F_MapScript2_2A8327
+ map_script 3, GraniteCave_B1F_MapScript1_2A8331
+ map_script 5, GraniteCave_B1F_MapScript1_22DC6E
+ .byte 0
+
+GraniteCave_B1F_MapScript1_22DC6E: @ 822DC6E
+ setstepcallback 7
+ setholewarp GRANITE_CAVE_B2F, 255, 0, 0
+ end
+
diff --git a/data/scripts/maps/GraniteCave_B2F.inc b/data/scripts/maps/GraniteCave_B2F.inc
new file mode 100644
index 000000000..d8cacbe38
--- /dev/null
+++ b/data/scripts/maps/GraniteCave_B2F.inc
@@ -0,0 +1,3 @@
+GraniteCave_B2F_MapScripts:: @ 822DC79
+ .byte 0
+
diff --git a/data/scripts/maps/GraniteCave_StevensRoom.inc b/data/scripts/maps/GraniteCave_StevensRoom.inc
new file mode 100644
index 000000000..318b80c78
--- /dev/null
+++ b/data/scripts/maps/GraniteCave_StevensRoom.inc
@@ -0,0 +1,124 @@
+GraniteCave_StevensRoom_MapScripts:: @ 822DC7A
+ .byte 0
+
+GraniteCave_StevensRoom_EventScript_22DC7B:: @ 822DC7B
+ lock
+ faceplayer
+ msgbox GraniteCave_StevensRoom_Text_22DD5A, 4
+ setvar VAR_0x8004, 274
+ call GraniteCave_StevensRoom_EventScript_2723E4
+ setflag FLAG_0x0BD
+ msgbox GraniteCave_StevensRoom_Text_22DDBD, 4
+ giveitem_std ITEM_TM47
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, GraniteCave_StevensRoom_EventScript_22DD3C
+ msgbox GraniteCave_StevensRoom_Text_22DE6B, 4
+ closemessage
+ delay 30
+ playfanfare BGM_ME_MATCH_CALL
+ msgbox GraniteCave_StevensRoom_Text_22DF6A, 4
+ waitfanfare
+ closemessage
+ delay 30
+ setflag FLAG_0x131
+ msgbox GraniteCave_StevensRoom_Text_22DF8C, 4
+ closemessage
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, GraniteCave_StevensRoom_EventScript_22DD0D
+ compare_var_to_value VAR_FACING, 1
+ call_if 1, GraniteCave_StevensRoom_EventScript_22DD2A
+ compare_var_to_value VAR_FACING, 3
+ call_if 1, GraniteCave_StevensRoom_EventScript_22DD18
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, GraniteCave_StevensRoom_EventScript_22DD18
+ playse SE_KAIDAN
+ removeobject 1
+ release
+ end
+
+GraniteCave_StevensRoom_EventScript_22DD0D:: @ 822DD0D
+ applymovement 1, GraniteCave_StevensRoom_Movement_22DD45
+ waitmovement 0
+ return
+
+GraniteCave_StevensRoom_EventScript_22DD18:: @ 822DD18
+ applymovement 255, GraniteCave_StevensRoom_Movement_22DD4C
+ applymovement 1, GraniteCave_StevensRoom_Movement_22DD45
+ waitmovement 0
+ return
+
+GraniteCave_StevensRoom_EventScript_22DD2A:: @ 822DD2A
+ applymovement 255, GraniteCave_StevensRoom_Movement_22DD4C
+ applymovement 1, GraniteCave_StevensRoom_Movement_22DD51
+ waitmovement 0
+ return
+
+GraniteCave_StevensRoom_EventScript_22DD3C:: @ 822DD3C
+ msgbox GraniteCave_StevensRoom_Text_22DFAA, 4
+ return
+
+GraniteCave_StevensRoom_Movement_22DD45: @ 822DD45
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_13
+ step_end
+
+GraniteCave_StevensRoom_Movement_22DD4C: @ 822DD4C
+ step_14
+ step_14
+ step_14
+ step_26
+ step_end
+
+GraniteCave_StevensRoom_Movement_22DD51: @ 822DD51
+ step_left
+ step_up
+ step_up
+ step_up
+ step_right
+ step_up
+ step_up
+ step_13
+ step_end
+
+GraniteCave_StevensRoom_Text_22DD5A: @ 822DD5A
+ .string "My name is STEVEN.\p"
+ .string "I’m interested in rare stones,\n"
+ .string "so I travel here and there.\p"
+ .string "Oh?\n"
+ .string "A LETTER for me?$"
+
+GraniteCave_StevensRoom_Text_22DDBD: @ 822DDBD
+ .string "STEVEN: Okay, thank you.\p"
+ .string "You went through all this trouble to\n"
+ .string "deliver that. I need to thank you.\p"
+ .string "Let me see…\n"
+ .string "I’ll give you this TM.\p"
+ .string "It contains my favorite move,\n"
+ .string "STEEL WING.$"
+
+GraniteCave_StevensRoom_Text_22DE6B: @ 822DE6B
+ .string "STEVEN: Your POKéMON appear quite\n"
+ .string "capable.\p"
+ .string "If you keep training, you could even\n"
+ .string "become the CHAMPION of the POKéMON\l"
+ .string "LEAGUE one day. That’s what I think.\p"
+ .string "I know, since we’ve gotten to know each\n"
+ .string "other, let’s register one another in\l"
+ .string "our POKéNAVS.\p"
+ .string "… … … … … …$"
+
+GraniteCave_StevensRoom_Text_22DF6A: @ 822DF6A
+ .string "Registered STEVEN\n"
+ .string "in the POKéNAV.$"
+
+GraniteCave_StevensRoom_Text_22DF8C: @ 822DF8C
+ .string "Now, I’ve got to hurry along.$"
+
+GraniteCave_StevensRoom_Text_22DFAA: @ 822DFAA
+ .string "Oh, your BAG is full…\n"
+ .string "That’s too bad, then.$"
+
diff --git a/data/scripts/maps/InsideOfTruck.inc b/data/scripts/maps/InsideOfTruck.inc
new file mode 100644
index 000000000..eb5eb0522
--- /dev/null
+++ b/data/scripts/maps/InsideOfTruck.inc
@@ -0,0 +1,60 @@
+InsideOfTruck_MapScripts:: @ 823BEDA
+ map_script 1, InsideOfTruck_MapScript1_23BEE5
+ map_script 5, InsideOfTruck_MapScript1_23BF01
+ .byte 0
+
+InsideOfTruck_MapScript1_23BEE5: @ 823BEE5
+ setmetatile 4, 1, 520, 0
+ setmetatile 4, 2, 528, 0
+ setmetatile 4, 3, 536, 0
+ end
+
+InsideOfTruck_MapScript1_23BF01: @ 823BF01
+ setstepcallback 5
+ end
+
+InsideOfTruck_EventScript_23BF04:: @ 823BF04
+ lockall
+ setflag FLAG_SPECIAL_FLAG_0x4000
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq InsideOfTruck_EventScript_23BF20
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq InsideOfTruck_EventScript_23BF46
+ end
+
+InsideOfTruck_EventScript_23BF20:: @ 823BF20
+ setrespawn 1
+ setvar VAR_0x4092, 1
+ setflag FLAG_0x2F7
+ setflag FLAG_0x2FA
+ setflag FLAG_0x310
+ setflag FLAG_0x2DF
+ setflag FLAG_0x331
+ setvar VAR_0x408C, 1
+ setdynamicwarp LITTLEROOT_TOWN, 255, 3, 10
+ releaseall
+ end
+
+InsideOfTruck_EventScript_23BF46:: @ 823BF46
+ setrespawn 2
+ setvar VAR_0x4092, 2
+ setflag FLAG_0x2F6
+ setflag FLAG_0x2F9
+ setflag FLAG_0x311
+ setflag FLAG_0x2E0
+ setflag FLAG_0x332
+ setvar VAR_0x4082, 1
+ setdynamicwarp LITTLEROOT_TOWN, 255, 12, 10
+ releaseall
+ end
+
+InsideOfTruck_EventScript_23BF6C:: @ 823BF6C
+ msgbox InsideOfTruck_Text_23BF75, 3
+ end
+
+InsideOfTruck_Text_23BF75: @ 823BF75
+ .string "The box is printed with a POKéMON logo.\p"
+ .string "It’s a POKéMON brand moving and\n"
+ .string "delivery service.$"
+
diff --git a/data/scripts/maps/IslandCave.inc b/data/scripts/maps/IslandCave.inc
new file mode 100644
index 000000000..69a3ef76a
--- /dev/null
+++ b/data/scripts/maps/IslandCave.inc
@@ -0,0 +1,129 @@
+IslandCave_MapScripts:: @ 8238E2A
+ map_script 5, IslandCave_MapScript1_238E3A
+ map_script 1, IslandCave_MapScript1_238E58
+ map_script 3, IslandCave_MapScript1_238E99
+ .byte 0
+
+IslandCave_MapScript1_238E3A: @ 8238E3A
+ checkflag FLAG_SYS_CTRL_OBJ_DELETE
+ call_if 1, IslandCave_EventScript_238E44
+ end
+
+IslandCave_EventScript_238E44:: @ 8238E44
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 7
+ goto_if 5, IslandCave_EventScript_27374E
+ removeobject VAR_LAST_TALKED
+ return
+
+IslandCave_MapScript1_238E58: @ 8238E58
+ checkflag FLAG_SYS_BRAILLE_WAIT
+ call_if 0, IslandCave_EventScript_238E62
+ end
+
+IslandCave_EventScript_238E62:: @ 8238E62
+ setmetatile 7, 19, 553, 1
+ setmetatile 8, 19, 553, 1
+ setmetatile 9, 19, 553, 1
+ setmetatile 7, 20, 565, 1
+ setmetatile 8, 20, 565, 1
+ setmetatile 9, 20, 565, 1
+ return
+
+IslandCave_MapScript1_238E99: @ 8238E99
+ setflag FLAG_0x8B5
+ call IslandCave_EventScript_238F45
+ checkflag FLAG_0x1BC
+ call_if 0, IslandCave_EventScript_238EAB
+ end
+
+IslandCave_EventScript_238EAB:: @ 8238EAB
+ clearflag FLAG_0x3A8
+ return
+
+IslandCave_EventScript_238EAF:: @ 8238EAF
+ setmetatile 7, 19, 554, 1
+ setmetatile 8, 19, 555, 1
+ setmetatile 9, 19, 556, 1
+ setmetatile 7, 20, 562, 1
+ setmetatile 8, 20, 563, 0
+ setmetatile 9, 20, 564, 1
+ special DrawWholeMapView
+ playse SE_BAN
+ setflag FLAG_SYS_BRAILLE_WAIT
+ end
+
+IslandCave_EventScript_238EEF:: @ 8238EEF
+ lockall
+ checkflag FLAG_0x003
+ call_if 1, IslandCave_EventScript_238F45
+ checkflag FLAG_SYS_BRAILLE_WAIT
+ goto_eq IslandCave_EventScript_238F13
+ braillemessage IslandCave_Braille_2A6CD4
+ setflag FLAG_0x002
+ special ShouldDoBrailleRegicePuzzle
+ goto IslandCave_EventScript_238F41
+ end
+
+IslandCave_EventScript_238F13:: @ 8238F13
+ msgbox gUnknown_0827304E, 4
+ releaseall
+ end
+
+IslandCave_EventScript_238F1D:: @ 8238F1D
+ lockall
+ checkflag FLAG_0x003
+ call_if 1, IslandCave_EventScript_238F45
+ braillemessage IslandCave_Braille_2A6CD4
+ checkflag FLAG_SYS_BRAILLE_WAIT
+ goto_eq IslandCave_EventScript_238F41
+ setflag FLAG_0x002
+ special ShouldDoBrailleRegicePuzzle
+ goto IslandCave_EventScript_238F41
+ end
+
+IslandCave_EventScript_238F41:: @ 8238F41
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
+IslandCave_EventScript_238F45:: @ 8238F45
+ setvar VAR_0x403B, 0
+ setvar VAR_0x403C, 0
+ setvar VAR_0x403D, 0
+ clearflag FLAG_0x003
+ return
+
+IslandCave_EventScript_238F58:: @ 8238F58
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_REGICE, 2
+ delay 40
+ waitmoncry
+ setwildbattle SPECIES_REGICE, 40, ITEM_NONE
+ setflag FLAG_SYS_CTRL_OBJ_DELETE
+ special sub_80B0A74
+ waitstate
+ clearflag FLAG_SYS_CTRL_OBJ_DELETE
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq IslandCave_EventScript_238F9F
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq IslandCave_EventScript_238FA8
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq IslandCave_EventScript_238FA8
+ setflag FLAG_0x1BC
+ release
+ end
+
+IslandCave_EventScript_238F9F:: @ 8238F9F
+ setflag FLAG_0x1BC
+ goto IslandCave_EventScript_27376D
+ end
+
+IslandCave_EventScript_238FA8:: @ 8238FA8
+ setvar VAR_0x8004, 402
+ goto IslandCave_EventScript_273776
+ end
diff --git a/data/scripts/maps/JaggedPass.inc b/data/scripts/maps/JaggedPass.inc
new file mode 100644
index 000000000..1fb3b316e
--- /dev/null
+++ b/data/scripts/maps/JaggedPass.inc
@@ -0,0 +1,279 @@
+JaggedPass_MapScripts:: @ 8230656
+ map_script 5, JaggedPass_MapScript1_230666
+ map_script 3, JaggedPass_MapScript1_23068B
+ map_script 1, JaggedPass_MapScript1_23069C
+ .byte 0
+
+JaggedPass_MapScript1_230666: @ 8230666
+ setstepcallback 1
+ compare_var_to_value VAR_0x40C8, 0
+ call_if 1, JaggedPass_EventScript_230674
+ end
+
+JaggedPass_EventScript_230674:: @ 8230674
+ checkitem ITEM_MAGMA_EMBLEM, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq JaggedPass_EventScript_230685
+ return
+
+JaggedPass_EventScript_230685:: @ 8230685
+ setvar VAR_0x40C8, 1
+ return
+
+JaggedPass_MapScript1_23068B: @ 823068B
+ compare_var_to_value VAR_0x40BD, 1
+ call_if 1, JaggedPass_EventScript_230697
+ end
+
+JaggedPass_EventScript_230697:: @ 8230697
+ setweather 7
+ doweather
+ return
+
+JaggedPass_MapScript1_23069C: @ 823069C
+ compare_var_to_value VAR_0x40C8, 1
+ goto_if 3, JaggedPass_EventScript_2306A8
+ end
+
+JaggedPass_EventScript_2306A8:: @ 82306A8
+ setmetatile 16, 17, 628, 1
+ setmetatile 16, 18, 628, 1
+ end
+
+JaggedPass_EventScript_2306BB:: @ 82306BB
+ lockall
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 8
+ setvar VAR_0x8007, 5
+ special sub_8139560
+ waitstate
+ msgbox JaggedPass_Text_230DBA, 4
+ closemessage
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 16
+ setvar VAR_0x8007, 3
+ special sub_8139560
+ waitstate
+ playse SE_KOUKA_M
+ setmetatile 16, 17, 598, 1
+ setmetatile 16, 18, 606, 0
+ special DrawWholeMapView
+ delay 30
+ setvar VAR_0x40C8, 2
+ waitse
+ releaseall
+ end
+
+JaggedPass_EventScript_230718:: @ 8230718
+ lockall
+ checkflag FLAG_0x139
+ goto_eq JaggedPass_EventScript_230766
+ waitse
+ playse SE_PIN
+ applymovement 5, JaggedPass_Movement_272598
+ waitmovement 0
+ applymovement 5, JaggedPass_Movement_27259A
+ waitmovement 0
+ applymovement 5, JaggedPass_Movement_27259E
+ waitmovement 0
+ msgbox JaggedPass_Text_230CCB, 4
+ closemessage
+ trainerbattle 3, TRAINER_GRUNT_30, 0, JaggedPass_Text_230D2D
+ setflag FLAG_0x139
+ applymovement 5, JaggedPass_Movement_2725A2
+ waitmovement 0
+ releaseall
+ end
+
+JaggedPass_EventScript_230766:: @ 8230766
+ applymovement 5, JaggedPass_Movement_27259E
+ waitmovement 0
+ msgbox JaggedPass_Text_230D65, 4
+ closemessage
+ applymovement 5, JaggedPass_Movement_2725A2
+ waitmovement 0
+ releaseall
+ end
+
+JaggedPass_EventScript_230785:: @ 8230785
+ trainerbattle 0, TRAINER_ERIC, 0, JaggedPass_Text_230888, JaggedPass_Text_2308FF
+ msgbox JaggedPass_Text_230916, 6
+ end
+
+JaggedPass_EventScript_23079C:: @ 823079C
+ trainerbattle 2, TRAINER_DIANA_1, 0, JaggedPass_Text_230974, JaggedPass_Text_2309B5, JaggedPass_EventScript_2307C8
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq JaggedPass_EventScript_2307E4
+ msgbox JaggedPass_Text_2309D8, 4
+ release
+ end
+
+JaggedPass_EventScript_2307C8:: @ 82307C8
+ special sub_80B4808
+ msgbox JaggedPass_Text_230A2C, 4
+ setvar VAR_0x8004, 474
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 474
+ callstd 8
+ release
+ end
+
+JaggedPass_EventScript_2307E4:: @ 82307E4
+ trainerbattle 5, TRAINER_DIANA_1, 0, JaggedPass_Text_230A76, JaggedPass_Text_230AAA
+ msgbox JaggedPass_Text_230AD7, 6
+ end
+
+JaggedPass_EventScript_2307FB:: @ 82307FB
+ trainerbattle 2, TRAINER_ETHAN_1, 0, JaggedPass_Text_230B10, JaggedPass_Text_230B50, JaggedPass_EventScript_230827
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq JaggedPass_EventScript_230843
+ msgbox JaggedPass_Text_230B93, 4
+ release
+ end
+
+JaggedPass_EventScript_230827:: @ 8230827
+ special sub_80B4808
+ msgbox JaggedPass_Text_230BC6, 4
+ setvar VAR_0x8004, 216
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 216
+ callstd 8
+ release
+ end
+
+JaggedPass_EventScript_230843:: @ 8230843
+ trainerbattle 5, TRAINER_ETHAN_1, 0, JaggedPass_Text_230C28, JaggedPass_Text_230C60
+ msgbox JaggedPass_Text_230C94, 6
+ end
+
+JaggedPass_EventScript_23085A:: @ 823085A
+ trainerbattle 0, TRAINER_JULIO, 0, JaggedPass_Text_230DF7, JaggedPass_Text_230E38
+ msgbox JaggedPass_Text_230E57, 6
+ end
+
+JaggedPass_EventScript_230871:: @ 8230871
+ trainerbattle 0, TRAINER_AUTUMN, 0, JaggedPass_Text_230E8E, JaggedPass_Text_230ECD
+ msgbox JaggedPass_Text_230EE3, 6
+ end
+
+JaggedPass_Text_230888: @ 8230888
+ .string "MT. CHIMNEY’s JAGGED PASS…\p"
+ .string "Now this is what I’ve always wanted\n"
+ .string "in a mountain.\p"
+ .string "This jagged bumpiness…\n"
+ .string "It rocks my soul!$"
+
+JaggedPass_Text_2308FF: @ 82308FF
+ .string "Losing left me bitter!$"
+
+JaggedPass_Text_230916: @ 8230916
+ .string "Yes, I did lose at POKéMON…\p"
+ .string "But, when it comes to the love of\n"
+ .string "the mountains, I have you beat!$"
+
+JaggedPass_Text_230974: @ 8230974
+ .string "This place isn’t your casual hike.\n"
+ .string "It’s not suited for a picnic.$"
+
+JaggedPass_Text_2309B5: @ 82309B5
+ .string "Ohhh, no!\n"
+ .string "The ground is too bumpy…$"
+
+JaggedPass_Text_2309D8: @ 82309D8
+ .string "Did you know?\p"
+ .string "Some people cleverly ride their\n"
+ .string "bicycles up this horribly bumpy pass.$"
+
+JaggedPass_Text_230A2C: @ 8230A2C
+ .string "Will you ever be back in this area?\n"
+ .string "If you do return, I’d like a rematch.$"
+
+JaggedPass_Text_230A76: @ 8230A76
+ .string "Picnics are fun wherever you go.\n"
+ .string "Just like POKéMON!$"
+
+JaggedPass_Text_230AAA: @ 8230AAA
+ .string "I only lost because the ground is\n"
+ .string "too bumpy!$"
+
+JaggedPass_Text_230AD7: @ 8230AD7
+ .string "I’ll forget about losing and just\n"
+ .string "enjoy this bumpy hike.$"
+
+JaggedPass_Text_230B10: @ 8230B10
+ .string "JAGGED PASS is hard to walk on.\n"
+ .string "It’s a good place for training.$"
+
+JaggedPass_Text_230B50: @ 8230B50
+ .string "It was all over while we were still\n"
+ .string "trying to find a good footing…$"
+
+JaggedPass_Text_230B93: @ 8230B93
+ .string "If I had an ACRO BIKE, I’d be able to\n"
+ .string "jump ledges.$"
+
+JaggedPass_Text_230BC6: @ 8230BC6
+ .string "When I get more used to this bumpiness,\n"
+ .string "I’ll be sure to win!\p"
+ .string "Can you register me in your POKéNAV?$"
+
+JaggedPass_Text_230C28: @ 8230C28
+ .string "I got used to this bumpiness.\n"
+ .string "I sing while I climb now.$"
+
+JaggedPass_Text_230C60: @ 8230C60
+ .string "It’s still not easy to battle on this\n"
+ .string "bumpy ground…$"
+
+JaggedPass_Text_230C94: @ 8230C94
+ .string "I should get an ACRO BIKE from RYDEL\n"
+ .string "in MAUVILLE CITY…$"
+
+JaggedPass_Text_230CCB: @ 8230CCB
+ .string "Wah!\n"
+ .string "What are you doing here?\p"
+ .string "What am I doing in a place like this?\p"
+ .string "What business is it of yours?$"
+
+JaggedPass_Text_230D2D: @ 8230D2D
+ .string "Urrrgh…\p"
+ .string "I should’ve ducked into our HIDEOUT\n"
+ .string "right away…$"
+
+JaggedPass_Text_230D65: @ 8230D65
+ .string "Okay, oh-kay!\n"
+ .string "I admit it--you’re strong!\p"
+ .string "Don’t worry about me.\n"
+ .string "Go wherever you want!$"
+
+JaggedPass_Text_230DBA: @ 8230DBA
+ .string "Oh! This boulder is shaking in response\n"
+ .string "to the MAGMA EMBLEM!$"
+
+JaggedPass_Text_230DF7: @ 8230DF7
+ .string "Aiyeeh! It’s awfully scary to shoot\n"
+ .string "down the mountain in one go!$"
+
+JaggedPass_Text_230E38: @ 8230E38
+ .string "I feel like I’m falling apart…$"
+
+JaggedPass_Text_230E57: @ 8230E57
+ .string "My bicycle bounced around so much,\n"
+ .string "my rear end’s sore…$"
+
+JaggedPass_Text_230E8E: @ 8230E8E
+ .string "I climb this hill every day.\n"
+ .string "I have confidence in my strength!$"
+
+JaggedPass_Text_230ECD: @ 8230ECD
+ .string "Hmm…\n"
+ .string "What went wrong?$"
+
+JaggedPass_Text_230EE3: @ 8230EE3
+ .string "What is that odd rock protrusion\n"
+ .string "a little up the hill from here?$"
+
diff --git a/data/scripts/maps/LavaridgeTown.inc b/data/scripts/maps/LavaridgeTown.inc
new file mode 100644
index 000000000..ae7ac908c
--- /dev/null
+++ b/data/scripts/maps/LavaridgeTown.inc
@@ -0,0 +1,425 @@
+LavaridgeTown_MapScripts:: @ 81EA4D3
+ map_script 3, LavaridgeTown_MapScript1_1EA4DE
+ map_script 2, LavaridgeTown_MapScript2_1EA547
+ .byte 0
+
+LavaridgeTown_MapScript1_1EA4DE: @ 81EA4DE
+ setflag FLAG_VISITED_LAVARIDGE_TOWN
+ checkflag FLAG_0x06C
+ call_if 1, LavaridgeTown_EventScript_1EA514
+ checkflag FLAG_0x08B
+ call_if 1, LavaridgeTown_EventScript_1EA53F
+ call LavaridgeTown_EventScript_271ED7
+ call LavaridgeTown_EventScript_271EFB
+ compare_var_to_value VAR_0x4053, 1
+ call_if 1, LavaridgeTown_EventScript_1EA518
+ compare_var_to_value VAR_0x4053, 1
+ call_if 1, LavaridgeTown_EventScript_1EA543
+ end
+
+LavaridgeTown_EventScript_1EA514:: @ 81EA514
+ clearflag FLAG_0x06C
+ return
+
+LavaridgeTown_EventScript_1EA518:: @ 81EA518
+ getplayerxy VAR_0x8004, VAR_0x8005
+ compare_var_to_value VAR_0x8004, 9
+ goto_eq LavaridgeTown_EventScript_1EA529
+ return
+
+LavaridgeTown_EventScript_1EA529:: @ 81EA529
+ setobjectxyperm 8, 11, 9
+ setobjectxyperm 7, 9, 8
+ setobjectmovementtype 7, 7
+ clearflag FLAG_0x3A1
+ return
+
+LavaridgeTown_EventScript_1EA53F:: @ 81EA53F
+ clearflag FLAG_0x36D
+ return
+
+LavaridgeTown_EventScript_1EA543:: @ 81EA543
+ setflag FLAG_SPECIAL_FLAG_0x4000
+ return
+
+LavaridgeTown_MapScript2_1EA547: @ 81EA547
+ map_script_2 VAR_0x4053, 1, LavaridgeTown_EventScript_1EA551
+ .2byte 0
+
+LavaridgeTown_EventScript_1EA551:: @ 81EA551
+ lockall
+ getplayerxy VAR_0x8008, VAR_0x8009
+ compare_var_to_value VAR_0x8008, 9
+ call_if 1, LavaridgeTown_EventScript_1EA63A
+ compare_var_to_value VAR_0x8008, 9
+ call_if 5, LavaridgeTown_EventScript_1EA65C
+ delay 20
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LavaridgeTown_EventScript_1EA630
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LavaridgeTown_EventScript_1EA635
+ compare_var_to_value VAR_0x8008, 9
+ call_if 1, LavaridgeTown_EventScript_1EA6A1
+ compare_var_to_value VAR_0x8008, 9
+ call_if 5, LavaridgeTown_EventScript_1EA6AC
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LavaridgeTown_EventScript_1EA5B5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LavaridgeTown_EventScript_1EA5DA
+ end
+
+LavaridgeTown_EventScript_1EA5B5:: @ 81EA5B5
+ msgbox LavaridgeTown_Text_1EA7C0, 4
+ giveitem_std ITEM_GO_GOGGLES
+ setflag FLAG_0x0DD
+ msgbox LavaridgeTown_Text_1EA897, 4
+ goto LavaridgeTown_EventScript_1EA5FF
+ end
+
+LavaridgeTown_EventScript_1EA5DA:: @ 81EA5DA
+ msgbox LavaridgeTown_Text_1EA9A2, 4
+ giveitem_std ITEM_GO_GOGGLES
+ setflag FLAG_0x0DD
+ msgbox LavaridgeTown_Text_1EAA2E, 4
+ goto LavaridgeTown_EventScript_1EA5FF
+ end
+
+LavaridgeTown_EventScript_1EA5FF:: @ 81EA5FF
+ closemessage
+ removeobject 8
+ addobject 7
+ delay 30
+ compare_var_to_value VAR_0x8008, 9
+ call_if 1, LavaridgeTown_EventScript_1EA6B7
+ compare_var_to_value VAR_0x8008, 9
+ call_if 5, LavaridgeTown_EventScript_1EA6C9
+ removeobject 7
+ setvar VAR_0x4053, 2
+ clearflag FLAG_SPECIAL_FLAG_0x4000
+ savebgm SE_STOP
+ fadedefaultbgm
+ releaseall
+ end
+
+LavaridgeTown_EventScript_1EA630:: @ 81EA630
+ playbgm BGM_GIRL_SUP, 1
+ return
+
+LavaridgeTown_EventScript_1EA635:: @ 81EA635
+ playbgm BGM_BOY_SUP, 1
+ return
+
+LavaridgeTown_EventScript_1EA63A:: @ 81EA63A
+ applymovement 8, LavaridgeTown_Movement_2725A6
+ waitmovement 0
+ playse SE_PIN
+ applymovement 8, LavaridgeTown_Movement_272598
+ waitmovement 0
+ applymovement 8, LavaridgeTown_Movement_27259A
+ waitmovement 0
+ return
+
+LavaridgeTown_EventScript_1EA65C:: @ 81EA65C
+ opendoor 12, 15
+ waitdooranim
+ addobject 8
+ applymovement 8, LavaridgeTown_Movement_1EA6F8
+ waitmovement 0
+ closedoor 12, 15
+ waitdooranim
+ applymovement 8, LavaridgeTown_Movement_2725A4
+ waitmovement 0
+ playse SE_PIN
+ applymovement 8, LavaridgeTown_Movement_272598
+ waitmovement 0
+ applymovement 8, LavaridgeTown_Movement_27259A
+ waitmovement 0
+ applymovement 255, LavaridgeTown_Movement_2725A8
+ waitmovement 0
+ return
+
+LavaridgeTown_EventScript_1EA6A1:: @ 81EA6A1
+ applymovement 8, LavaridgeTown_Movement_1EA6F4
+ waitmovement 0
+ return
+
+LavaridgeTown_EventScript_1EA6AC:: @ 81EA6AC
+ applymovement 8, LavaridgeTown_Movement_1EA6ED
+ waitmovement 0
+ return
+
+LavaridgeTown_EventScript_1EA6B7:: @ 81EA6B7
+ applymovement 255, LavaridgeTown_Movement_1EA6DF
+ applymovement 7, LavaridgeTown_Movement_1EA6E3
+ waitmovement 0
+ return
+
+LavaridgeTown_EventScript_1EA6C9:: @ 81EA6C9
+ applymovement 7, LavaridgeTown_Movement_1EA6D4
+ waitmovement 0
+ return
+
+LavaridgeTown_Movement_1EA6D4: @ 81EA6D4
+ step_18
+ step_18
+ step_18
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_end
+
+LavaridgeTown_Movement_1EA6DF: @ 81EA6DF
+ step_14
+ step_13
+ step_28
+ step_end
+
+LavaridgeTown_Movement_1EA6E3: @ 81EA6E3
+ step_15
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_end
+
+LavaridgeTown_Movement_1EA6ED: @ 81EA6ED
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+LavaridgeTown_Movement_1EA6F4: @ 81EA6F4
+ step_left
+ step_left
+ step_up
+ step_end
+
+LavaridgeTown_Movement_1EA6F8: @ 81EA6F8
+ step_down
+ step_end
+
+LavaridgeTown_EventScript_1EA6FA:: @ 81EA6FA
+ specialvar VAR_RESULT, player_get_direction_lower_nybble
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LavaridgeTown_EventScript_1EA70B
+ end
+
+LavaridgeTown_EventScript_1EA70B:: @ 81EA70B
+ incrementgamestat 49
+ end
+
+LavaridgeTown_EventScript_1EA70E:: @ 81EA70E
+ msgbox LavaridgeTown_Text_1EAE03, 2
+ end
+
+LavaridgeTown_EventScript_1EA717:: @ 81EA717
+ msgbox LavaridgeTown_Text_1EAEE1, 3
+ end
+
+LavaridgeTown_EventScript_1EA720:: @ 81EA720
+ msgbox LavaridgeTown_Text_1EAF9B, 2
+ end
+
+LavaridgeTown_EventScript_1EA729:: @ 81EA729
+ msgbox LavaridgeTown_Text_1EB003, 2
+ end
+
+LavaridgeTown_EventScript_1EA732:: @ 81EA732
+ msgbox LavaridgeTown_Text_1EB092, 2
+ end
+
+LavaridgeTown_EventScript_1EA73B:: @ 81EA73B
+ msgbox LavaridgeTown_Text_1EAF4E, 2
+ end
+
+LavaridgeTown_EventScript_1EA744:: @ 81EA744
+ lock
+ faceplayer
+ checkflag FLAG_0x10A
+ goto_eq LavaridgeTown_EventScript_1EA787
+ msgbox LavaridgeTown_Text_1EAB80, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LavaridgeTown_EventScript_1EA79B
+ getpartysize
+ compare_var_to_value VAR_RESULT, 6
+ goto_eq LavaridgeTown_EventScript_1EA791
+ msgbox LavaridgeTown_Text_1EACC0, 4
+ setflag FLAG_0x10A
+ playfanfare BGM_FANFA4
+ message LavaridgeTown_Text_1EACF4
+ waitfanfare
+ giveegg SPECIES_WYNAUT
+ release
+ end
+
+LavaridgeTown_EventScript_1EA787:: @ 81EA787
+ msgbox LavaridgeTown_Text_1EAD9E, 4
+ release
+ end
+
+LavaridgeTown_EventScript_1EA791:: @ 81EA791
+ msgbox LavaridgeTown_Text_1EAD09, 4
+ release
+ end
+
+LavaridgeTown_EventScript_1EA79B:: @ 81EA79B
+ msgbox LavaridgeTown_Text_1EAD44, 4
+ release
+ end
+
+LavaridgeTown_EventScript_1EA7A5:: @ 81EA7A5
+ msgbox LavaridgeTown_Text_1EB12B, 3
+ end
+
+LavaridgeTown_EventScript_1EA7AE:: @ 81EA7AE
+ msgbox LavaridgeTown_Text_1EB178, 3
+ end
+
+LavaridgeTown_EventScript_1EA7B7:: @ 81EA7B7
+ msgbox LavaridgeTown_Text_1EB1CB, 3
+ end
+
+LavaridgeTown_Text_1EA7C0: @ 81EA7C0
+ .string "MAY: {PLAYER}{KUN}! Long time no see!\p"
+ .string "Oh? While I visited the hot springs,\n"
+ .string "you got the LAVARIDGE GYM BADGE.\p"
+ .string "You must have collected\n"
+ .string "good POKéMON…\l"
+ .string "No, I believe you raised some.\p"
+ .string "I guess it would be okay for you to\n"
+ .string "have this.$"
+
+LavaridgeTown_Text_1EA897: @ 81EA897
+ .string "MAY: With those GO-GOGGLES, you’ll\n"
+ .string "have no trouble getting through the\l"
+ .string "desert near ROUTE 111.\p"
+ .string "But, wow, {PLAYER}{KUN}…\n"
+ .string "Challenging GYMS…\p"
+ .string "You’re trying hard because you don’t\n"
+ .string "want to lose to me, I bet!\p"
+ .string "{PLAYER}{KUN}, I think I should challenge\n"
+ .string "your dad in PETALBURG GYM.\p"
+ .string "See you again!$"
+
+LavaridgeTown_Text_1EA9A2: @ 81EA9A2
+ .string "BRENDAN: {PLAYER}, hey, it’s been a while.\n"
+ .string "How’s it going?\p"
+ .string "Hmm…\n"
+ .string "That’s a decent collection of BADGES.\p"
+ .string "All right, then.\n"
+ .string "You may as well have this.$"
+
+LavaridgeTown_Text_1EAA2E: @ 81EAA2E
+ .string "BRENDAN: Keep those with you if you’re\n"
+ .string "planning on going into that desert near\l"
+ .string "ROUTE 111.\p"
+ .string "There should be some POKéMON that\n"
+ .string "are exclusively desert-dwellers.\l"
+ .string "You might look around for those.\p"
+ .string "As for me…\n"
+ .string "I’m considering challenging NORMAN,\l"
+ .string "the GYM LEADER of PETALBURG.\p"
+ .string "Unlike you, {PLAYER}, your dad looks like\n"
+ .string "he really is tough.\p"
+ .string "See you around!$"
+
+LavaridgeTown_Text_1EAB80: @ 81EAB80
+ .string "I have here an EGG.\p"
+ .string "I’d hoped to hatch it by covering it in\n"
+ .string "hot sand by the hot springs.\l"
+ .string "But that doesn’t seem to be enough…\p"
+ .string "I’ve heard it would be best if it were\n"
+ .string "kept together with POKéMON and\l"
+ .string "carried about.\p"
+ .string "You are a TRAINER, yes?\n"
+ .string "And your POKéMON radiate vitality.\p"
+ .string "So, what say you?\n"
+ .string "Will you take this EGG to hatch?$"
+
+LavaridgeTown_Text_1EACC0: @ 81EACC0
+ .string "Good! I hope you’ll walk plenty with\n"
+ .string "this here EGG!$"
+
+LavaridgeTown_Text_1EACF4: @ 81EACF4
+ .string "{PLAYER} received the EGG.$"
+
+LavaridgeTown_Text_1EAD09: @ 81EAD09
+ .string "Oh? You’ve too many POKéMON.\n"
+ .string "There’s no room for this EGG…$"
+
+LavaridgeTown_Text_1EAD44: @ 81EAD44
+ .string "As you wish, then…\p"
+ .string "If you have a change of heart about\n"
+ .string "hatching this EGG, I will be here.$"
+
+LavaridgeTown_Text_1EAD9E: @ 81EAD9E
+ .string "Every so often, an EGG will be found at\n"
+ .string "the POKéMON DAY CARE.\p"
+ .string "Or at least that’s how the rumor goes.$"
+
+LavaridgeTown_Text_1EAE03: @ 81EAE03
+ .string "We draw as much hot water as we need,\n"
+ .string "and yet the hot springs never run dry.\p"
+ .string "Isn’t it magical?\p"
+ .string "These hot springs appear near active\n"
+ .string "volcanoes. Veins of water under the\l"
+ .string "ground are heated by magma to well up\l"
+ .string "as hot springs.$"
+
+LavaridgeTown_Text_1EAEE1: @ 81EAEE1
+ .string "Being buried in this hot sand is…\n"
+ .string "Sigh…\p"
+ .string "So warm and heavenly…\p"
+ .string "Eh? Gyaah! Ouch!\p"
+ .string "A POKéMON nipped my backside!$"
+
+LavaridgeTown_Text_1EAF4E: @ 81EAF4E
+ .string "Oh, you like hot springs, do you?\p"
+ .string "That’s surprising for one as young\n"
+ .string "as you.$"
+
+LavaridgeTown_Text_1EAF9B: @ 81EAF9B
+ .string "I bathe in the hot springs every day.\p"
+ .string "I want to become a beautiful and strong\n"
+ .string "GYM LEADER like FLANNERY.$"
+
+LavaridgeTown_Text_1EB003: @ 81EB003
+ .string "If people put POKéMON in hot springs,\n"
+ .string "it might be seriously strange.\p"
+ .string "Why, it might be an electric bath, or\n"
+ .string "a bubble bath, or even a lava bath…$"
+
+LavaridgeTown_Text_1EB092: @ 81EB092
+ .string "They’re claiming that these hot springs\n"
+ .string "are good for calming nervous tension,\l"
+ .string "relieving aching muscles, solving\l"
+ .string "romantic problems, and attracting\l"
+ .string "money…$"
+
+LavaridgeTown_Text_1EB12B: @ 81EB12B
+ .string "LAVARIDGE TOWN\p"
+ .string "“POKéMON CENTER HOT SPRINGS\n"
+ .string "An excellent place for relaxing!”$"
+
+LavaridgeTown_Text_1EB178: @ 81EB178
+ .string "LAVARIDGE TOWN POKéMON GYM\n"
+ .string "LEADER: FLANNERY\l"
+ .string "“One with a fiery passion that burns!”$"
+
+LavaridgeTown_Text_1EB1CB: @ 81EB1CB
+ .string "POKéMON HERB SHOP\n"
+ .string "“Bitter taste--better cure!”$"
+
diff --git a/data/scripts/maps/LavaridgeTown_Gym_1F.inc b/data/scripts/maps/LavaridgeTown_Gym_1F.inc
new file mode 100644
index 000000000..55ae851e0
--- /dev/null
+++ b/data/scripts/maps/LavaridgeTown_Gym_1F.inc
@@ -0,0 +1,424 @@
+LavaridgeTown_Gym_1F_MapScripts:: @ 81FE6F4
+ map_script 3, LavaridgeTown_Gym_1F_MapScript1_1FE6FA
+ .byte 0
+
+LavaridgeTown_Gym_1F_MapScript1_1FE6FA: @ 81FE6FA
+ call LavaridgeTown_Gym_1F_EventScript_1FE705
+ call LavaridgeTown_Gym_1F_EventScript_1FE757
+ end
+
+LavaridgeTown_Gym_1F_EventScript_1FE705:: @ 81FE705
+ setvar VAR_0x400B, 0
+ setvar VAR_0x400C, 0
+ setvar VAR_0x400D, 0
+ setvar VAR_0x400E, 0
+ setvar VAR_0x400F, 0
+ checktrainerflag TRAINER_COLE
+ goto_eq LavaridgeTown_Gym_1F_EventScript_1FE72C
+ setvar VAR_0x400B, 1
+
+LavaridgeTown_Gym_1F_EventScript_1FE72C:: @ 81FE72C
+ checktrainerflag TRAINER_GERALD
+ goto_eq LavaridgeTown_Gym_1F_EventScript_1FE73A
+ setvar VAR_0x400C, 1
+
+LavaridgeTown_Gym_1F_EventScript_1FE73A:: @ 81FE73A
+ checktrainerflag TRAINER_AXLE
+ goto_eq LavaridgeTown_Gym_1F_EventScript_1FE748
+ setvar VAR_0x400D, 1
+
+LavaridgeTown_Gym_1F_EventScript_1FE748:: @ 81FE748
+ checktrainerflag TRAINER_DANIELLE
+ goto_eq LavaridgeTown_Gym_1F_EventScript_1FE756
+ setvar VAR_0x400E, 1
+
+LavaridgeTown_Gym_1F_EventScript_1FE756:: @ 81FE756
+ return
+
+LavaridgeTown_Gym_1F_EventScript_1FE757:: @ 81FE757
+ checktrainerflag TRAINER_COLE
+ goto_eq LavaridgeTown_Gym_1F_EventScript_1FE764
+ setobjectmovementtype 2, 63
+
+LavaridgeTown_Gym_1F_EventScript_1FE764:: @ 81FE764
+ checktrainerflag TRAINER_GERALD
+ goto_eq LavaridgeTown_Gym_1F_EventScript_1FE771
+ setobjectmovementtype 3, 63
+
+LavaridgeTown_Gym_1F_EventScript_1FE771:: @ 81FE771
+ checktrainerflag TRAINER_AXLE
+ goto_eq LavaridgeTown_Gym_1F_EventScript_1FE77E
+ setobjectmovementtype 4, 63
+
+LavaridgeTown_Gym_1F_EventScript_1FE77E:: @ 81FE77E
+ checktrainerflag TRAINER_DANIELLE
+ goto_eq LavaridgeTown_Gym_1F_EventScript_1FE78B
+ setobjectmovementtype 5, 63
+
+LavaridgeTown_Gym_1F_EventScript_1FE78B:: @ 81FE78B
+ return
+
+LavaridgeTown_Gym_1F_EventScript_1FE78C:: @ 81FE78C
+ trainerbattle 1, TRAINER_FLANNERY_1, 0, LavaridgeTown_Gym_1F_Text_1FF0DC, LavaridgeTown_Gym_1F_Text_1FF233, LavaridgeTown_Gym_1F_EventScript_1FE7C1
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LavaridgeTown_Gym_1F_EventScript_1FE864
+ checkflag FLAG_0x0A8
+ goto_if 0, LavaridgeTown_Gym_1F_EventScript_1FE81D
+ msgbox LavaridgeTown_Gym_1F_Text_1FF546, 4
+ release
+ end
+
+LavaridgeTown_Gym_1F_EventScript_1FE7C1:: @ 81FE7C1
+ message LavaridgeTown_Gym_1F_Text_1FF32F
+ waitmessage
+ call LavaridgeTown_Gym_1F_EventScript_27207E
+ msgbox LavaridgeTown_Gym_1F_Text_1FF359, 4
+ setflag FLAG_0x06C
+ setflag FLAG_0x4F3
+ setflag FLAG_BADGE04_GET
+ addvar VAR_0x4085, 1
+ compare_var_to_value VAR_0x4085, 6
+ call_if 1, LavaridgeTown_Gym_1F_EventScript_271E84
+ setvar VAR_0x8008, 4
+ call LavaridgeTown_Gym_1F_EventScript_271F43
+ setflag FLAG_0x326
+ setvar VAR_0x4053, 1
+ call LavaridgeTown_Gym_1F_EventScript_1FE841
+ closemessage
+ delay 30
+ playfanfare BGM_ME_MATCH_CALL
+ msgbox LavaridgeTown_Gym_1F_Text_1FF517, 4
+ waitfanfare
+ closemessage
+ delay 30
+ setflag FLAG_0x1D6
+ release
+ end
+
+LavaridgeTown_Gym_1F_EventScript_1FE81D:: @ 81FE81D
+ giveitem_std ITEM_TM50
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LavaridgeTown_Gym_1F_EventScript_272054
+ msgbox LavaridgeTown_Gym_1F_Text_1FF45C, 4
+ setflag FLAG_0x0A8
+ release
+ end
+
+LavaridgeTown_Gym_1F_EventScript_1FE841:: @ 81FE841
+ giveitem_std ITEM_TM50
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LavaridgeTown_Gym_1F_EventScript_27205E
+ msgbox LavaridgeTown_Gym_1F_Text_1FF45C, 4
+ setflag FLAG_0x0A8
+ return
+
+LavaridgeTown_Gym_1F_EventScript_1FE864:: @ 81FE864
+ trainerbattle 7, TRAINER_FLANNERY_1, 0, LavaridgeTown_Gym_1F_Text_1FF601, LavaridgeTown_Gym_1F_Text_1FF69F, LavaridgeTown_Gym_1F_Text_1FF75E
+ msgbox LavaridgeTown_Gym_1F_Text_1FF6BF, 6
+ end
+
+LavaridgeTown_Gym_1F_EventScript_1FE87F:: @ 81FE87F
+ trainerbattle 2, TRAINER_COLE, 2, LavaridgeTown_Gym_1F_Text_1FEADE, LavaridgeTown_Gym_1F_Text_1FEAFB, LavaridgeTown_Gym_1F_EventScript_1FE89A
+ msgbox LavaridgeTown_Gym_1F_Text_1FEB1C, 6
+ end
+
+LavaridgeTown_Gym_1F_EventScript_1FE89A:: @ 81FE89A
+LavaridgeTown_Gym_B1F_EventScript_1FE89A:: @ 81FE89A
+ call LavaridgeTown_Gym_1F_EventScript_1FE705
+ release
+ special CheckIfMultipleTrainersWantBattle
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LavaridgeTown_Gym_1F_EventScript_2742F6
+ end
+
+LavaridgeTown_Gym_1F_EventScript_1FE8AF:: @ 81FE8AF
+ trainerbattle 2, TRAINER_AXLE, 4, LavaridgeTown_Gym_1F_Text_1FEB7B, LavaridgeTown_Gym_1F_Text_1FEBC0, LavaridgeTown_Gym_1F_EventScript_1FE89A
+ msgbox LavaridgeTown_Gym_1F_Text_1FEBE1, 6
+ end
+
+LavaridgeTown_Gym_B1F_EventScript_1FE8CA:: @ 81FE8CA
+ trainerbattle 2, TRAINER_KEEGAN, 2, LavaridgeTown_Gym_B1F_Text_1FEC31, LavaridgeTown_Gym_B1F_Text_1FECE3, LavaridgeTown_Gym_B1F_EventScript_1FE89A
+ msgbox LavaridgeTown_Gym_B1F_Text_1FED02, 6
+ end
+
+LavaridgeTown_Gym_1F_EventScript_1FE8E5:: @ 81FE8E5
+ trainerbattle 2, TRAINER_DANIELLE, 5, LavaridgeTown_Gym_1F_Text_1FEE22, LavaridgeTown_Gym_1F_Text_1FEE42, LavaridgeTown_Gym_1F_EventScript_1FE89A
+ msgbox LavaridgeTown_Gym_1F_Text_1FEE5D, 6
+ end
+
+LavaridgeTown_Gym_1F_EventScript_1FE900:: @ 81FE900
+ trainerbattle 2, TRAINER_GERALD, 3, LavaridgeTown_Gym_1F_Text_1FED72, LavaridgeTown_Gym_1F_Text_1FED9E, LavaridgeTown_Gym_1F_EventScript_1FE89A
+ msgbox LavaridgeTown_Gym_1F_Text_1FEDBB, 6
+ end
+
+LavaridgeTown_Gym_B1F_EventScript_1FE91B:: @ 81FE91B
+ trainerbattle 2, TRAINER_JACE, 1, LavaridgeTown_Gym_B1F_Text_1FEE9D, LavaridgeTown_Gym_B1F_Text_1FEED5, LavaridgeTown_Gym_B1F_EventScript_1FE89A
+ msgbox LavaridgeTown_Gym_B1F_Text_1FEF07, 6
+ end
+
+LavaridgeTown_Gym_B1F_EventScript_1FE936:: @ 81FE936
+ trainerbattle 2, TRAINER_JEFF, 3, LavaridgeTown_Gym_B1F_Text_1FEF60, LavaridgeTown_Gym_B1F_Text_1FEFA7, LavaridgeTown_Gym_B1F_EventScript_1FE89A
+ msgbox LavaridgeTown_Gym_B1F_Text_1FEFC2, 6
+ end
+
+LavaridgeTown_Gym_B1F_EventScript_1FE951:: @ 81FE951
+ trainerbattle 2, TRAINER_ELI, 4, LavaridgeTown_Gym_B1F_Text_1FF025, LavaridgeTown_Gym_B1F_Text_1FF05F, LavaridgeTown_Gym_B1F_EventScript_1FE89A
+ msgbox LavaridgeTown_Gym_B1F_Text_1FF09A, 6
+ end
+
+LavaridgeTown_Gym_1F_EventScript_1FE96C:: @ 81FE96C
+ lock
+ faceplayer
+ checkflag FLAG_0x4F3
+ goto_eq LavaridgeTown_Gym_1F_EventScript_1FE981
+ msgbox LavaridgeTown_Gym_1F_Text_1FE9BF, 4
+ release
+ end
+
+LavaridgeTown_Gym_1F_EventScript_1FE981:: @ 81FE981
+ msgbox LavaridgeTown_Gym_1F_Text_1FEAB8, 4
+ release
+ end
+
+LavaridgeTown_Gym_1F_EventScript_1FE98B:: @ 81FE98B
+ lockall
+ checkflag FLAG_BADGE04_GET
+ goto_eq LavaridgeTown_Gym_1F_EventScript_1FE9AB
+ goto LavaridgeTown_Gym_1F_EventScript_1FE9B5
+ end
+
+LavaridgeTown_Gym_1F_EventScript_1FE99B:: @ 81FE99B
+ lockall
+ checkflag FLAG_BADGE04_GET
+ goto_eq LavaridgeTown_Gym_1F_EventScript_1FE9AB
+ goto LavaridgeTown_Gym_1F_EventScript_1FE9B5
+ end
+
+LavaridgeTown_Gym_1F_EventScript_1FE9AB:: @ 81FE9AB
+ msgbox LavaridgeTown_Gym_1F_Text_1FF5C4, 4
+ releaseall
+ end
+
+LavaridgeTown_Gym_1F_EventScript_1FE9B5:: @ 81FE9B5
+ msgbox LavaridgeTown_Gym_1F_Text_1FF5A9, 4
+ releaseall
+ end
+
+LavaridgeTown_Gym_1F_Text_1FE9BF: @ 81FE9BF
+ .string "Hey, how’s it going, CHAMPION-\n"
+ .string "bound {PLAYER}?\p"
+ .string "LAVARIDGE’s GYM LEADER FLANNERY\n"
+ .string "uses FIRE-type POKéMON.\p"
+ .string "Her passion for POKéMON burns stronger\n"
+ .string "and hotter than a volcano.\p"
+ .string "Don’t get too close to her--you’ll burn!\n"
+ .string "Hose her down with water and then\l"
+ .string "go for it!$"
+
+LavaridgeTown_Gym_1F_Text_1FEAB8: @ 81FEAB8
+ .string "Yow! That was a scorching-hot battle!$"
+
+LavaridgeTown_Gym_1F_Text_1FEADE: @ 81FEADE
+ .string "Owowowowow!\n"
+ .string "Yikes, it’s hot!$"
+
+LavaridgeTown_Gym_1F_Text_1FEAFB: @ 81FEAFB
+ .string "I’m blinded by sweat in my eyes…$"
+
+LavaridgeTown_Gym_1F_Text_1FEB1C: @ 81FEB1C
+ .string "Being buried in hot sand promotes\n"
+ .string "circulation.\p"
+ .string "It’s effective for healing pain in\n"
+ .string "your joints.$"
+
+LavaridgeTown_Gym_1F_Text_1FEB7B: @ 81FEB7B
+ .string "I’m trying to relieve my stress.\n"
+ .string "Don’t come along and stress me out!$"
+
+LavaridgeTown_Gym_1F_Text_1FEBC0: @ 81FEBC0
+ .string "I hope FLANNERY flames you good!$"
+
+LavaridgeTown_Gym_1F_Text_1FEBE1: @ 81FEBE1
+ .string "Haaah… Whew…\p"
+ .string "If you spend too much time buried in\n"
+ .string "hot sand, it tuckers you out…$"
+
+LavaridgeTown_Gym_B1F_Text_1FEC31: @ 81FEC31
+ .string "You must be getting tired by now.\n"
+ .string "You’d like to rest in the hot sand,\l"
+ .string "wouldn’t you?\p"
+ .string "But you should know that maintaining\n"
+ .string "your willpower is an important ability\l"
+ .string "for all TRAINERS.$"
+
+LavaridgeTown_Gym_B1F_Text_1FECE3: @ 81FECE3
+ .string "Play with fire, and be burned…$"
+
+LavaridgeTown_Gym_B1F_Text_1FED02: @ 81FED02
+ .string "Your skill is real…\n"
+ .string "But our LEADER FLANNERY is strong.\p"
+ .string "If you don’t watch yourself, you’ll be\n"
+ .string "burned seriously.$"
+
+LavaridgeTown_Gym_1F_Text_1FED72: @ 81FED72
+ .string "Can your POKéMON withstand\n"
+ .string "392-degree heat?$"
+
+LavaridgeTown_Gym_1F_Text_1FED9E: @ 81FED9E
+ .string "It didn’t burn hotly enough…$"
+
+LavaridgeTown_Gym_1F_Text_1FEDBB: @ 81FEDBB
+ .string "The temperature of magma is\n"
+ .string "392 degrees.\p"
+ .string "Your POKéMON beat me, so they should\n"
+ .string "easily survive in magma.$"
+
+LavaridgeTown_Gym_1F_Text_1FEE22: @ 81FEE22
+ .string "Um…\n"
+ .string "Okay, I’ll battle with you.$"
+
+LavaridgeTown_Gym_1F_Text_1FEE42: @ 81FEE42
+ .string "Oh, but you’re too strong.$"
+
+LavaridgeTown_Gym_1F_Text_1FEE5D: @ 81FEE5D
+ .string "I’m going to be a pretty and strong\n"
+ .string "TRAINER just like FLANNERY.$"
+
+LavaridgeTown_Gym_B1F_Text_1FEE9D: @ 81FEE9D
+ .string "Come on, get with it!\n"
+ .string "Let’s go before my feelings cool!$"
+
+LavaridgeTown_Gym_B1F_Text_1FEED5: @ 81FEED5
+ .string "It’s so hot, and yet my heart is\n"
+ .string "clutched by ice…$"
+
+LavaridgeTown_Gym_B1F_Text_1FEF07: @ 81FEF07
+ .string "The way the battling spirit burns\n"
+ .string "within you, you may stand a chance\l"
+ .string "against our LEADER.$"
+
+LavaridgeTown_Gym_B1F_Text_1FEF60: @ 81FEF60
+ .string "See how the flames blaze wildly?\n"
+ .string "They flare in anticipation of my win!$"
+
+LavaridgeTown_Gym_B1F_Text_1FEFA7: @ 81FEFA7
+ .string "Something didn’t go right.$"
+
+LavaridgeTown_Gym_B1F_Text_1FEFC2: @ 81FEFC2
+ .string "Well, so what? I say so what?\n"
+ .string "I can walk on hot coals barefoot!\p"
+ .string "…Don’t even think about trying it!$"
+
+LavaridgeTown_Gym_B1F_Text_1FF025: @ 81FF025
+ .string "As much as I love mountains,\n"
+ .string "I especially love volcanoes.$"
+
+LavaridgeTown_Gym_B1F_Text_1FF05F: @ 81FF05F
+ .string "Well, it seems to me I lost without\n"
+ .string "ever being in control.$"
+
+LavaridgeTown_Gym_B1F_Text_1FF09A: @ 81FF09A
+ .string "I stay here because I became a fan\n"
+ .string "of FLANNERY’s power.\p"
+ .string "Hehehehe.$"
+
+LavaridgeTown_Gym_1F_Text_1FF0DC: @ 81FF0DC
+ .string "Welcome… No, wait.\p"
+ .string "Puny TRAINER, how good to see you’ve\n"
+ .string "made it here!\p"
+ .string "I have been entrusted with the…\n"
+ .string "No, wait.\p"
+ .string "I am FLANNERY, and I’m the GYM\n"
+ .string "LEADER here!\p"
+ .string "Uh…\n"
+ .string "Dare not underestimate me, though\l"
+ .string "I have been LEADER only a short time!\p"
+ .string "With skills inherited from my grand-\n"
+ .string "father, I shall, uh…demonstrate the\l"
+ .string "hot moves we have honed on this land!$"
+
+LavaridgeTown_Gym_1F_Text_1FF233: @ 81FF233
+ .string "Oh…\n"
+ .string "I guess I was trying too hard…\p"
+ .string "I… I’ve only recently become\n"
+ .string "a GYM LEADER.\p"
+ .string "I tried too hard to be someone\n"
+ .string "I’m not.\p"
+ .string "I have to do things my natural way. If\n"
+ .string "I don’t, my POKéMON will be confused.\p"
+ .string "Thanks for teaching me that.\n"
+ .string "For that, you deserve this.$"
+
+LavaridgeTown_Gym_1F_Text_1FF32F: @ 81FF32F
+ .string "{PLAYER} received the HEAT BADGE\n"
+ .string "from FLANNERY.$"
+
+LavaridgeTown_Gym_1F_Text_1FF359: @ 81FF359
+ .string "If you have a HEAT BADGE, all POKéMON\n"
+ .string "up to Level 50, even those you get in\l"
+ .string "trades from other people, will obey\l"
+ .string "you completely.\p"
+ .string "And, it lets POKéMON use the HM move\n"
+ .string "STRENGTH outside of battle.\p"
+ .string "This is a token of my appreciation.\n"
+ .string "Don’t be shy about taking it!$"
+
+LavaridgeTown_Gym_1F_Text_1FF45C: @ 81FF45C
+ .string "That TM50 contains OVERHEAT.\p"
+ .string "That move inflicts serious damage on\n"
+ .string "the opponent.\p"
+ .string "But it also sharply cuts the SP. ATK\n"
+ .string "of the POKéMON using it. It might not\l"
+ .string "be suitable for longer battles.$"
+
+LavaridgeTown_Gym_1F_Text_1FF517: @ 81FF517
+ .string "Registered GYM LEADER FLANNERY\n"
+ .string "in the POKéNAV.$"
+
+LavaridgeTown_Gym_1F_Text_1FF546: @ 81FF546
+ .string "Your power reminds me of someone…\p"
+ .string "Oh! I know! You battle like NORMAN,\n"
+ .string "the GYM LEADER of PETALBURG.$"
+
+LavaridgeTown_Gym_1F_Text_1FF5A9: @ 81FF5A9
+ .string "LAVARIDGE TOWN POKéMON GYM$"
+
+LavaridgeTown_Gym_1F_Text_1FF5C4: @ 81FF5C4
+ .string "LAVARIDGE TOWN POKéMON GYM\p"
+ .string "FLANNERY’S CERTIFIED TRAINERS:\n"
+ .string "{PLAYER}$"
+
+LavaridgeTown_Gym_1F_Text_1FF601: @ 81FF601
+ .string "FLANNERY: Losing a battle isn’t going\n"
+ .string "to deflate me.\p"
+ .string "I love POKéMON.\n"
+ .string "I love to battle.\l"
+ .string "And… I love this GYM!\p"
+ .string "Let’s exchange superhot moves\n"
+ .string "in another battle!$"
+
+LavaridgeTown_Gym_1F_Text_1FF69F: @ 81FF69F
+ .string "Whew!\n"
+ .string "On the verge of eruption!$"
+
+LavaridgeTown_Gym_1F_Text_1FF6BF: @ 81FF6BF
+ .string "FLANNERY: I lost the match,\n"
+ .string "but I’m completely satisfied.\p"
+ .string "It’s not often I get to enjoy a battle\n"
+ .string "this heated.\p"
+ .string "Let’s have another one like this\n"
+ .string "again sometime!$"
+
+LavaridgeTown_Gym_1F_Text_1FF75E: @ 81FF75E
+ .string "FLANNERY: Losing a battle isn’t going\n"
+ .string "to deflate me.\p"
+ .string "I love POKéMON.\n"
+ .string "I love to battle.\l"
+ .string "And… I love this GYM!\p"
+ .string "Let’s exchange superhot moves\n"
+ .string "in another battle!\p"
+ .string "Oh, wait. Do you only have one POKéMON\n"
+ .string "that can battle?\p"
+ .string "I hate to say this, but when you come\n"
+ .string "see me, bring at least two POKéMON.$"
diff --git a/data/scripts/maps/LavaridgeTown_Gym_B1F.inc b/data/scripts/maps/LavaridgeTown_Gym_B1F.inc
new file mode 100644
index 000000000..88b0e66e7
--- /dev/null
+++ b/data/scripts/maps/LavaridgeTown_Gym_B1F.inc
@@ -0,0 +1,59 @@
+LavaridgeTown_Gym_B1F_MapScripts:: @ 81FF87E
+ map_script 3, LavaridgeTown_Gym_B1F_MapScript1_1FF884
+ .byte 0
+
+LavaridgeTown_Gym_B1F_MapScript1_1FF884: @ 81FF884
+ call LavaridgeTown_Gym_B1F_EventScript_1FF88F
+ call LavaridgeTown_Gym_B1F_EventScript_1FF8DC
+ end
+
+LavaridgeTown_Gym_B1F_EventScript_1FF88F:: @ 81FF88F
+ setvar VAR_0x4007, 0
+ setvar VAR_0x4008, 0
+ setvar VAR_0x4009, 0
+ setvar VAR_0x400A, 0
+ checktrainerflag TRAINER_KEEGAN
+ goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8B1
+ setvar VAR_0x4007, 1
+
+LavaridgeTown_Gym_B1F_EventScript_1FF8B1:: @ 81FF8B1
+ checktrainerflag TRAINER_JACE
+ goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8BF
+ setvar VAR_0x4008, 1
+
+LavaridgeTown_Gym_B1F_EventScript_1FF8BF:: @ 81FF8BF
+ checktrainerflag TRAINER_JEFF
+ goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8CD
+ setvar VAR_0x4009, 1
+
+LavaridgeTown_Gym_B1F_EventScript_1FF8CD:: @ 81FF8CD
+ checktrainerflag TRAINER_ELI
+ goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8DB
+ setvar VAR_0x400A, 1
+
+LavaridgeTown_Gym_B1F_EventScript_1FF8DB:: @ 81FF8DB
+ return
+
+LavaridgeTown_Gym_B1F_EventScript_1FF8DC:: @ 81FF8DC
+ checktrainerflag TRAINER_KEEGAN
+ goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8E9
+ setobjectmovementtype 2, 63
+
+LavaridgeTown_Gym_B1F_EventScript_1FF8E9:: @ 81FF8E9
+ checktrainerflag TRAINER_JACE
+ goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8F6
+ setobjectmovementtype 1, 63
+
+LavaridgeTown_Gym_B1F_EventScript_1FF8F6:: @ 81FF8F6
+ checktrainerflag TRAINER_JEFF
+ goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF903
+ setobjectmovementtype 3, 63
+
+LavaridgeTown_Gym_B1F_EventScript_1FF903:: @ 81FF903
+ checktrainerflag TRAINER_ELI
+ goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF910
+ setobjectmovementtype 4, 63
+
+LavaridgeTown_Gym_B1F_EventScript_1FF910:: @ 81FF910
+ return
+
diff --git a/data/scripts/maps/LavaridgeTown_HerbShop.inc b/data/scripts/maps/LavaridgeTown_HerbShop.inc
new file mode 100644
index 000000000..2849371ce
--- /dev/null
+++ b/data/scripts/maps/LavaridgeTown_HerbShop.inc
@@ -0,0 +1,68 @@
+LavaridgeTown_HerbShop_MapScripts:: @ 81FE4D6
+ .byte 0
+
+LavaridgeTown_HerbShop_EventScript_1FE4D7:: @ 81FE4D7
+ lock
+ faceplayer
+ message LavaridgeTown_HerbShop_Text_1FE53E
+ waitmessage
+ pokemart LavaridgeTown_HerbShop_Pokemart_1FE4F0
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+LavaridgeTown_HerbShop_Pokemart_1FE4F0: @ 81FE4F0
+ .2byte ITEM_ENERGY_POWDER
+ .2byte ITEM_ENERGY_ROOT
+ .2byte ITEM_HEAL_POWDER
+ .2byte ITEM_REVIVAL_HERB
+ .2byte ITEM_NONE
+ release
+ end
+
+LavaridgeTown_HerbShop_EventScript_1FE4FC:: @ 81FE4FC
+ msgbox LavaridgeTown_HerbShop_Text_1FE685, 2
+ end
+
+LavaridgeTown_HerbShop_EventScript_1FE505:: @ 81FE505
+ lock
+ faceplayer
+ checkflag FLAG_0x0FE
+ goto_eq LavaridgeTown_HerbShop_EventScript_1FE534
+ msgbox LavaridgeTown_HerbShop_Text_1FE584, 4
+ giveitem_std ITEM_CHARCOAL
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LavaridgeTown_HerbShop_EventScript_272054
+ setflag FLAG_0x0FE
+ release
+ end
+
+LavaridgeTown_HerbShop_EventScript_1FE534:: @ 81FE534
+ msgbox LavaridgeTown_HerbShop_Text_1FE5EB, 4
+ release
+ end
+
+LavaridgeTown_HerbShop_Text_1FE53E: @ 81FE53E
+ .string "Welcome to the HERB SHOP, home of\n"
+ .string "effective and inexpensive medicine!$"
+
+LavaridgeTown_HerbShop_Text_1FE584: @ 81FE584
+ .string "You’ve come to look at herbal medicine\n"
+ .string "in LAVARIDGE?\p"
+ .string "That’s rather commendable.\p"
+ .string "I like you! Take this!$"
+
+LavaridgeTown_HerbShop_Text_1FE5EB: @ 81FE5EB
+ .string "That CHARCOAL I gave you, it’s used\n"
+ .string "for making herbal medicine.\p"
+ .string "It also does wonders when held by\n"
+ .string "a POKéMON.\p"
+ .string "It intensifies the power of FIRE-type\n"
+ .string "moves.$"
+
+LavaridgeTown_HerbShop_Text_1FE685: @ 81FE685
+ .string "Herbal medicine works impressively well.\n"
+ .string "But your POKéMON will dislike you for it.\l"
+ .string "It must be horribly bitter!$"
+
diff --git a/data/scripts/maps/LavaridgeTown_House.inc b/data/scripts/maps/LavaridgeTown_House.inc
new file mode 100644
index 000000000..14d112de9
--- /dev/null
+++ b/data/scripts/maps/LavaridgeTown_House.inc
@@ -0,0 +1,26 @@
+LavaridgeTown_House_MapScripts:: @ 81FF911
+ .byte 0
+
+LavaridgeTown_House_EventScript_1FF912:: @ 81FF912
+ msgbox LavaridgeTown_House_Text_1FF92E, 2
+ end
+
+LavaridgeTown_House_EventScript_1FF91B:: @ 81FF91B
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_ZIGZAGOON, 0
+ msgbox LavaridgeTown_House_Text_1FF9BB, 4
+ waitmoncry
+ release
+ end
+
+LavaridgeTown_House_Text_1FF92E: @ 81FF92E
+ .string "My wife’s warming an EGG in the hot\n"
+ .string "springs. This is what she told me.\p"
+ .string "She left two POKéMON with the DAY CARE.\n"
+ .string "And they discovered that EGG!$"
+
+LavaridgeTown_House_Text_1FF9BB: @ 81FF9BB
+ .string "ZIGZAGOON: Pshoo!$"
+
diff --git a/data/scripts/maps/LavaridgeTown_Mart.inc b/data/scripts/maps/LavaridgeTown_Mart.inc
new file mode 100644
index 000000000..2c5681983
--- /dev/null
+++ b/data/scripts/maps/LavaridgeTown_Mart.inc
@@ -0,0 +1,47 @@
+LavaridgeTown_Mart_MapScripts:: @ 81FF9CD
+ .byte 0
+
+LavaridgeTown_Mart_EventScript_1FF9CE:: @ 81FF9CE
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemart LavaridgeTown_Mart_Pokemart_1FF9E8
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+LavaridgeTown_Mart_Pokemart_1FF9E8: @ 81FF9E8
+ .2byte ITEM_GREAT_BALL
+ .2byte ITEM_SUPER_POTION
+ .2byte ITEM_ANTIDOTE
+ .2byte ITEM_PARALYZE_HEAL
+ .2byte ITEM_AWAKENING
+ .2byte ITEM_BURN_HEAL
+ .2byte ITEM_REVIVE
+ .2byte ITEM_SUPER_REPEL
+ .2byte ITEM_X_SPEED
+ .2byte ITEM_NONE
+ release
+ end
+
+LavaridgeTown_Mart_EventScript_1FF9FE:: @ 81FF9FE
+ msgbox LavaridgeTown_Mart_Text_1FFA10, 2
+ end
+
+LavaridgeTown_Mart_EventScript_1FFA07:: @ 81FFA07
+ msgbox LavaridgeTown_Mart_Text_1FFA83, 2
+ end
+
+LavaridgeTown_Mart_Text_1FFA10: @ 81FFA10
+ .string "Use X SPEED to add to a POKéMON’s\n"
+ .string "SPEED in battle.\p"
+ .string "That will help it get in the first\n"
+ .string "strike--a decided advantage!$"
+
+LavaridgeTown_Mart_Text_1FFA83: @ 81FFA83
+ .string "On MT. CHIMNEY’s peak, there’s a local\n"
+ .string "specialty that you can buy only there.\p"
+ .string "Give it to a POKéMON--it will be elated.$"
+
diff --git a/data/scripts/maps/LavaridgeTown_PokemonCenter_1F.inc b/data/scripts/maps/LavaridgeTown_PokemonCenter_1F.inc
new file mode 100644
index 000000000..24f19b1d0
--- /dev/null
+++ b/data/scripts/maps/LavaridgeTown_PokemonCenter_1F.inc
@@ -0,0 +1,48 @@
+LavaridgeTown_PokemonCenter_1F_MapScripts:: @ 81FFAFA
+ map_script 3, LavaridgeTown_PokemonCenter_1F_MapScript1_1FFB05
+ map_script 5, LavaridgeTown_PokemonCenter_1F_MapScript1_277C30
+ .byte 0
+
+LavaridgeTown_PokemonCenter_1F_MapScript1_1FFB05: @ 81FFB05
+ setrespawn 16
+ call LavaridgeTown_PokemonCenter_1F_EventScript_2718DE
+ end
+
+LavaridgeTown_PokemonCenter_1F_EventScript_1FFB0E:: @ 81FFB0E
+ setvar VAR_0x800B, 1
+ call LavaridgeTown_PokemonCenter_1F_EventScript_27191E
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+LavaridgeTown_PokemonCenter_1F_EventScript_1FFB1C:: @ 81FFB1C
+ msgbox LavaridgeTown_PokemonCenter_1F_Text_1FFBAD, 2
+ end
+
+LavaridgeTown_PokemonCenter_1F_EventScript_1FFB25:: @ 81FFB25
+ msgbox LavaridgeTown_PokemonCenter_1F_Text_1FFB37, 2
+ end
+
+LavaridgeTown_PokemonCenter_1F_EventScript_1FFB2E:: @ 81FFB2E
+ msgbox LavaridgeTown_PokemonCenter_1F_Text_1FFC21, 2
+ end
+
+LavaridgeTown_PokemonCenter_1F_Text_1FFB37: @ 81FFB37
+ .string "I think POKéMON get closer to their\n"
+ .string "TRAINERS if they spend time together.\p"
+ .string "The longer the better.\n"
+ .string "That’s what I think.$"
+
+LavaridgeTown_PokemonCenter_1F_Text_1FFBAD: @ 81FFBAD
+ .string "It’s sort of magical how just sitting\n"
+ .string "in a hot-spring pool can invigorate.\p"
+ .string "I wish I could let my POKéMON\n"
+ .string "soak, too.$"
+
+LavaridgeTown_PokemonCenter_1F_Text_1FFC21: @ 81FFC21
+ .string "Hohoho! Hey, kid, you can reach\n"
+ .string "the hot springs from here.\p"
+ .string "If POKéMON are getting rest, so too\n"
+ .string "should their TRAINERS.$"
+
diff --git a/data/scripts/maps/LavaridgeTown_PokemonCenter_2F.inc b/data/scripts/maps/LavaridgeTown_PokemonCenter_2F.inc
new file mode 100644
index 000000000..b1491f621
--- /dev/null
+++ b/data/scripts/maps/LavaridgeTown_PokemonCenter_2F.inc
@@ -0,0 +1,19 @@
+LavaridgeTown_PokemonCenter_2F_MapScripts:: @ 81FFC97
+ map_script 2, LavaridgeTown_PokemonCenter_2F_MapScript2_276C3B
+ map_script 4, LavaridgeTown_PokemonCenter_2F_MapScript2_276B6C
+ map_script 1, LavaridgeTown_PokemonCenter_2F_MapScript1_276BBE
+ map_script 3, LavaridgeTown_PokemonCenter_2F_MapScript1_276ACF
+ .byte 0
+
+LavaridgeTown_PokemonCenter_2F_EventScript_1FFCAC:: @ 81FFCAC
+ call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+ end
+
+LavaridgeTown_PokemonCenter_2F_EventScript_1FFCB2:: @ 81FFCB2
+ call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+ end
+
+LavaridgeTown_PokemonCenter_2F_EventScript_1FFCB8:: @ 81FFCB8
+ call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+ end
+
diff --git a/data/scripts/maps/LilycoveCity.inc b/data/scripts/maps/LilycoveCity.inc
new file mode 100644
index 000000000..8a3202a49
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity.inc
@@ -0,0 +1,787 @@
+LilycoveCity_MapScripts:: @ 81E2B3C
+ map_script 3, LilycoveCity_MapScript1_1E2B47
+ map_script 1, LilycoveCity_MapScript1_1E2B61
+ .byte 0
+
+LilycoveCity_MapScript1_1E2B47: @ 81E2B47
+ setflag FLAG_VISITED_LILYCOVE_CITY
+ setvar VAR_0x4086, 0
+ setflag FLAG_0x322
+ checkflag FLAG_SYS_WEATHER_CTRL
+ call_if 1, LilycoveCity_EventScript_27207A
+ call LilycoveCity_EventScript_271ED7
+ end
+
+LilycoveCity_MapScript1_1E2B61: @ 81E2B61
+ checkflag FLAG_0x070
+ call_if 0, LilycoveCity_EventScript_1E2B6B
+ end
+
+LilycoveCity_EventScript_1E2B6B:: @ 81E2B6B
+ setmetatile 76, 12, 656, 1
+ setmetatile 77, 12, 657, 1
+ setmetatile 76, 13, 672, 1
+ setmetatile 77, 13, 673, 1
+ setmetatile 76, 14, 664, 1
+ setmetatile 77, 14, 665, 1
+ setmetatile 76, 15, 672, 1
+ setmetatile 77, 15, 673, 1
+ setmetatile 77, 16, 664, 1
+ setmetatile 78, 16, 665, 1
+ setmetatile 77, 17, 672, 1
+ setmetatile 78, 17, 673, 1
+ return
+
+LilycoveCity_EventScript_1E2BD8:: @ 81E2BD8
+ lock
+ faceplayer
+ dodailyevents
+ checkflag FLAG_0x92F
+ goto_eq LilycoveCity_EventScript_1E2C18
+ msgbox LilycoveCity_Text_2A7244, 4
+ random 10
+ addvar VAR_RESULT, 133
+ giveitem_std VAR_RESULT
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_EventScript_272054
+ setflag FLAG_0x92F
+ msgbox LilycoveCity_Text_2A72E3, 4
+ release
+ end
+
+LilycoveCity_EventScript_1E2C18:: @ 81E2C18
+ msgbox LilycoveCity_Text_2A7321, 4
+ release
+ end
+
+LilycoveCity_EventScript_1E2C22:: @ 81E2C22
+ msgbox LilycoveCity_Text_1E3D9E, 2
+ end
+
+LilycoveCity_EventScript_1E2C2B:: @ 81E2C2B
+ lock
+ faceplayer
+ checkflag FLAG_BADGE07_GET
+ goto_eq LilycoveCity_EventScript_1E2C40
+ msgbox LilycoveCity_Text_1E3E3C, 4
+ release
+ end
+
+LilycoveCity_EventScript_1E2C40:: @ 81E2C40
+ msgbox LilycoveCity_Text_1E3E7D, 4
+ release
+ end
+
+LilycoveCity_EventScript_1E2C4A:: @ 81E2C4A
+ msgbox LilycoveCity_Text_1E3F05, 2
+ end
+
+LilycoveCity_EventScript_1E2C53:: @ 81E2C53
+ lock
+ faceplayer
+ checkflag FLAG_0x070
+ goto_eq LilycoveCity_EventScript_1E2C68
+ msgbox LilycoveCity_Text_1E3FAB, 4
+ release
+ end
+
+LilycoveCity_EventScript_1E2C68:: @ 81E2C68
+ msgbox LilycoveCity_Text_1E4020, 4
+ release
+ end
+
+LilycoveCity_EventScript_1E2C72:: @ 81E2C72
+ lock
+ faceplayer
+ checkflag FLAG_0x070
+ goto_eq LilycoveCity_EventScript_1E2C87
+ msgbox LilycoveCity_Text_1E40AD, 4
+ release
+ end
+
+LilycoveCity_EventScript_1E2C87:: @ 81E2C87
+ msgbox LilycoveCity_Text_1E4145, 4
+ release
+ end
+
+LilycoveCity_EventScript_1E2C91:: @ 81E2C91
+ msgbox LilycoveCity_Text_1E417B, 2
+ end
+
+LilycoveCity_EventScript_1E2C9A:: @ 81E2C9A
+ msgbox LilycoveCity_Text_1E420B, 3
+ end
+
+LilycoveCity_EventScript_1E2CA3:: @ 81E2CA3
+ msgbox LilycoveCity_Text_1E4283, 3
+ end
+
+LilycoveCity_EventScript_1E2CAC:: @ 81E2CAC
+ lock
+ faceplayer
+ checkflag FLAG_BADGE07_GET
+ goto_eq LilycoveCity_EventScript_1E2CC1
+ msgbox LilycoveCity_Text_1E42FC, 4
+ release
+ end
+
+LilycoveCity_EventScript_1E2CC1:: @ 81E2CC1
+ msgbox LilycoveCity_Text_1E43FF, 4
+ release
+ end
+
+LilycoveCity_EventScript_1E2CCB:: @ 81E2CCB
+ msgbox LilycoveCity_Text_1E48A5, 2
+ end
+
+LilycoveCity_EventScript_1E2CD4:: @ 81E2CD4
+ msgbox LilycoveCity_Text_1E4902, 2
+ end
+
+LilycoveCity_EventScript_1E2CDD:: @ 81E2CDD
+ lockall
+ msgbox LilycoveCity_Text_1E494D, 2
+ applymovement 20, LilycoveCity_Movement_2725A2
+ end
+
+LilycoveCity_EventScript_1E2CEE:: @ 81E2CEE
+ lockall
+ msgbox LilycoveCity_Text_1E49F4, 2
+ applymovement 19, LilycoveCity_Movement_2725A2
+ end
+
+LilycoveCity_EventScript_1E2CFF:: @ 81E2CFF
+ msgbox LilycoveCity_Text_1E448B, 3
+ end
+
+LilycoveCity_EventScript_1E2D08:: @ 81E2D08
+ msgbox LilycoveCity_Text_1E44C3, 3
+ end
+
+LilycoveCity_EventScript_1E2D11:: @ 81E2D11
+ msgbox LilycoveCity_Text_1E44FC, 3
+ end
+
+LilycoveCity_EventScript_1E2D1A:: @ 81E2D1A
+ lockall
+ specialvar VAR_0x8004, sub_80F8940
+ switch VAR_0x8004
+ case 0, LilycoveCity_EventScript_1E2D3A
+ msgbox LilycoveCity_Text_1E4571, 4
+ releaseall
+ end
+
+LilycoveCity_EventScript_1E2D3A:: @ 81E2D3A
+ msgbox LilycoveCity_Text_1E4534, 4
+ releaseall
+ end
+
+LilycoveCity_EventScript_1E2D44:: @ 81E2D44
+ lockall
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_eq LilycoveCity_EventScript_1E2D58
+ msgbox LilycoveCity_Text_1E45A7, 4
+ releaseall
+ end
+
+LilycoveCity_EventScript_1E2D58:: @ 81E2D58
+ msgbox LilycoveCity_Text_1E4624, 4
+ releaseall
+ end
+
+LilycoveCity_EventScript_1E2D62:: @ 81E2D62
+ msgbox LilycoveCity_Text_1E466E, 3
+ end
+
+LilycoveCity_EventScript_1E2D6B:: @ 81E2D6B
+ msgbox LilycoveCity_Text_1E46BE, 3
+ end
+
+LilycoveCity_EventScript_1E2D74:: @ 81E2D74
+ msgbox LilycoveCity_Text_1E473D, 3
+ end
+
+LilycoveCity_EventScript_1E2D7D:: @ 81E2D7D
+ lockall
+ checkflag FLAG_0x0DA
+ goto_eq LilycoveCity_EventScript_1E2DB0
+ msgbox LilycoveCity_Text_1E3D1F, 4
+ applymovement VAR_LAST_TALKED, LilycoveCity_Movement_27259E
+ waitmovement 0
+ msgbox LilycoveCity_Text_1E3D4A, 4
+ applymovement VAR_LAST_TALKED, LilycoveCity_Movement_2725A2
+ waitmovement 0
+ setflag FLAG_0x0DA
+ releaseall
+ end
+
+LilycoveCity_EventScript_1E2DB0:: @ 81E2DB0
+ msgbox LilycoveCity_Text_1E3D1F, 4
+ releaseall
+ end
+
+LilycoveCity_EventScript_1E2DBA:: @ 81E2DBA
+ msgbox LilycoveCity_Text_1E3B2C, 2
+ end
+
+LilycoveCity_EventScript_1E2DC3:: @ 81E2DC3
+ msgbox LilycoveCity_Text_1E3B95, 2
+ end
+
+LilycoveCity_EventScript_1E2DCC:: @ 81E2DCC
+ msgbox LilycoveCity_Text_1E3C46, 2
+ end
+
+LilycoveCity_EventScript_1E2DD5:: @ 81E2DD5
+ msgbox LilycoveCity_Text_1E3CBE, 2
+ end
+
+LilycoveCity_EventScript_1E2DDE:: @ 81E2DDE
+ lock
+ faceplayer
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_EventScript_1E2DF8
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_EventScript_1E2E6B
+ end
+
+LilycoveCity_EventScript_1E2DF8:: @ 81E2DF8
+ playbgm BGM_GIRL_SUP, 1
+ checkflag FLAG_0x11E
+ call_if 1, LilycoveCity_EventScript_1E2E48
+ checkflag FLAG_0x11E
+ call_if 0, LilycoveCity_EventScript_1E2E51
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_EventScript_1E2E5A
+ msgbox LilycoveCity_Text_1E3234, 4
+ switch VAR_FIRST_POKE
+ case 0, LilycoveCity_EventScript_1E2EDE
+ case 1, LilycoveCity_EventScript_1E2EEE
+ case 2, LilycoveCity_EventScript_1E2EFE
+ end
+
+LilycoveCity_EventScript_1E2E48:: @ 81E2E48
+ msgbox LilycoveCity_Text_1E31F5, 5
+ return
+
+LilycoveCity_EventScript_1E2E51:: @ 81E2E51
+ msgbox LilycoveCity_Text_1E3061, 5
+ return
+
+LilycoveCity_EventScript_1E2E5A:: @ 81E2E5A
+ setflag FLAG_0x11E
+ msgbox LilycoveCity_Text_1E318D, 4
+ savebgm SE_STOP
+ fadedefaultbgm
+ release
+ end
+
+LilycoveCity_EventScript_1E2E6B:: @ 81E2E6B
+ playbgm BGM_BOY_SUP, 1
+ checkflag FLAG_0x11E
+ call_if 1, LilycoveCity_EventScript_1E2EBB
+ checkflag FLAG_0x11E
+ call_if 0, LilycoveCity_EventScript_1E2EC4
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_EventScript_1E2ECD
+ msgbox LilycoveCity_Text_1E373C, 4
+ switch VAR_FIRST_POKE
+ case 0, LilycoveCity_EventScript_1E2F0E
+ case 1, LilycoveCity_EventScript_1E2F1E
+ case 2, LilycoveCity_EventScript_1E2F2E
+ end
+
+LilycoveCity_EventScript_1E2EBB:: @ 81E2EBB
+ msgbox LilycoveCity_Text_1E36FA, 5
+ return
+
+LilycoveCity_EventScript_1E2EC4:: @ 81E2EC4
+ msgbox LilycoveCity_Text_1E3608, 5
+ return
+
+LilycoveCity_EventScript_1E2ECD:: @ 81E2ECD
+ setflag FLAG_0x11E
+ msgbox LilycoveCity_Text_1E36BF, 4
+ savebgm SE_STOP
+ fadedefaultbgm
+ release
+ end
+
+LilycoveCity_EventScript_1E2EDE:: @ 81E2EDE
+ trainerbattle 3, TRAINER_MAY_12, 0, LilycoveCity_Text_1E3275
+ goto LilycoveCity_EventScript_1E2F3E
+ end
+
+LilycoveCity_EventScript_1E2EEE:: @ 81E2EEE
+ trainerbattle 3, TRAINER_MAY_13, 0, LilycoveCity_Text_1E3275
+ goto LilycoveCity_EventScript_1E2F3E
+ end
+
+LilycoveCity_EventScript_1E2EFE:: @ 81E2EFE
+ trainerbattle 3, TRAINER_MAY_11, 0, LilycoveCity_Text_1E3275
+ goto LilycoveCity_EventScript_1E2F3E
+ end
+
+LilycoveCity_EventScript_1E2F0E:: @ 81E2F0E
+ trainerbattle 3, TRAINER_BRENDAN_14, 0, LilycoveCity_Text_1E3777
+ goto LilycoveCity_EventScript_1E2FAA
+ end
+
+LilycoveCity_EventScript_1E2F1E:: @ 81E2F1E
+ trainerbattle 3, TRAINER_BRENDAN_15, 0, LilycoveCity_Text_1E3777
+ goto LilycoveCity_EventScript_1E2FAA
+ end
+
+LilycoveCity_EventScript_1E2F2E:: @ 81E2F2E
+ trainerbattle 3, TRAINER_BRENDAN_13, 0, LilycoveCity_Text_1E3777
+ goto LilycoveCity_EventScript_1E2FAA
+ end
+
+LilycoveCity_EventScript_1E2F3E:: @ 81E2F3E
+ msgbox LilycoveCity_Text_1E32FB, 4
+ setvar VAR_RESULT, 0
+ checkflag FLAG_BADGE06_GET
+ call_if 1, LilycoveCity_EventScript_1E2F76
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LilycoveCity_EventScript_1E2F86
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LilycoveCity_EventScript_1E2F8F
+ clearflag FLAG_0x2D2
+ clearflag FLAG_0x351
+ goto LilycoveCity_EventScript_1E3006
+ end
+
+LilycoveCity_EventScript_1E2F76:: @ 81E2F76
+ checkflag FLAG_BADGE08_GET
+ goto_eq LilycoveCity_EventScript_1E2F80
+ return
+
+LilycoveCity_EventScript_1E2F80:: @ 81E2F80
+ setvar VAR_RESULT, 1
+ return
+
+LilycoveCity_EventScript_1E2F86:: @ 81E2F86
+ msgbox LilycoveCity_Text_1E3398, 4
+ return
+
+LilycoveCity_EventScript_1E2F8F:: @ 81E2F8F
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_eq LilycoveCity_EventScript_1E2FA1
+ msgbox LilycoveCity_Text_1E346D, 4
+ return
+
+LilycoveCity_EventScript_1E2FA1:: @ 81E2FA1
+ msgbox LilycoveCity_Text_1E353A, 4
+ return
+
+LilycoveCity_EventScript_1E2FAA:: @ 81E2FAA
+ msgbox LilycoveCity_Text_1E37D7, 4
+ setvar VAR_RESULT, 0
+ checkflag FLAG_BADGE06_GET
+ call_if 1, LilycoveCity_EventScript_1E2F76
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LilycoveCity_EventScript_1E2FE2
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LilycoveCity_EventScript_1E2FEB
+ clearflag FLAG_0x2F8
+ clearflag FLAG_0x32F
+ goto LilycoveCity_EventScript_1E3006
+ end
+
+LilycoveCity_EventScript_1E2FE2:: @ 81E2FE2
+ msgbox LilycoveCity_Text_1E3876, 4
+ return
+
+LilycoveCity_EventScript_1E2FEB:: @ 81E2FEB
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_eq LilycoveCity_EventScript_1E2FFD
+ msgbox LilycoveCity_Text_1E390C, 4
+ return
+
+LilycoveCity_EventScript_1E2FFD:: @ 81E2FFD
+ msgbox LilycoveCity_Text_1E39E3, 4
+ return
+
+LilycoveCity_EventScript_1E3006:: @ 81E3006
+ closemessage
+ applymovement VAR_LAST_TALKED, LilycoveCity_Movement_2725AA
+ waitmovement 0
+ delay 50
+ setfieldeffectargument 0, 1
+ dofieldeffect 30
+ delay 15
+ removeobject VAR_LAST_TALKED
+ waitfieldeffect 30
+ savebgm SE_STOP
+ fadedefaultbgm
+ setflag FLAG_0x124
+ release
+ end
+
+LilycoveCity_EventScript_1E302D:: @ 81E302D
+ lock
+ faceplayer
+ msgbox LilycoveCity_Text_1E4774, 5
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LilycoveCity_EventScript_1E304F
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LilycoveCity_EventScript_1E3058
+ release
+ end
+
+LilycoveCity_EventScript_1E304F:: @ 81E304F
+ msgbox LilycoveCity_Text_1E47A1, 4
+ return
+
+LilycoveCity_EventScript_1E3058:: @ 81E3058
+ msgbox LilycoveCity_Text_1E4824, 4
+ return
+
+LilycoveCity_Text_1E3061: @ 81E3061
+ .string "MAY: Oh, hey?\n"
+ .string "{PLAYER}{KUN}, are you shopping, too?\p"
+ .string "I bought a whole bunch of DOLLS and\n"
+ .string "POSTERS.\p"
+ .string "Of course, I’ve also caught a lot of\n"
+ .string "POKéMON, and I’m raising them\l"
+ .string "properly, too.\p"
+ .string "Actually, I’m more worried if you’re\n"
+ .string "raising POKéMON properly, {PLAYER}{KUN}.\p"
+ .string "I’ll battle with you, so you can show\n"
+ .string "me your POKéMON, {PLAYER}{KUN}.$"
+
+LilycoveCity_Text_1E318D: @ 81E318D
+ .string "MAY: Oh, why? {PLAYER}{KUN}, haven’t you\n"
+ .string "been raising your POKéMON?\p"
+ .string "That’s not a very good showing as a\n"
+ .string "TRAINER…$"
+
+LilycoveCity_Text_1E31F5: @ 81E31F5
+ .string "MAY: Come on, battle with me, so I can\n"
+ .string "check out your POKéMON!$"
+
+LilycoveCity_Text_1E3234: @ 81E3234
+ .string "MAY: The POKéMON I raised won’t be\n"
+ .string "beaten by your POKéMON, {PLAYER}{KUN}!$"
+
+LilycoveCity_Text_1E3275: @ 81E3275
+ .string "… … … … … … … …\p"
+ .string "I remember the battle I had with you,\n"
+ .string "{PLAYER}{KUN}, on ROUTE 103.\p"
+ .string "That battle helped you become this\n"
+ .string "strong, {PLAYER}{KUN}, didn’t it?$"
+
+LilycoveCity_Text_1E32FB: @ 81E32FB
+ .string "MAY: I’m thinking of going back to\n"
+ .string "LITTLEROOT soon.\p"
+ .string "I’ve caught a decent group of POKéMON,\n"
+ .string "and my POKéDEX is coming along, so\l"
+ .string "I’m going home to show my dad.$"
+
+LilycoveCity_Text_1E3398: @ 81E3398
+ .string "{PLAYER}{KUN}, what are you going to do?\p"
+ .string "Collect all the GYM BADGES and take\n"
+ .string "the POKéMON LEAGUE challenge?\p"
+ .string "Well, while you’re collecting BADGES,\n"
+ .string "{PLAYER}{KUN}, I’m going to work on my\l"
+ .string "POKéDEX. I’ll complete it before you!\p"
+ .string "See you!$"
+
+LilycoveCity_Text_1E346D: @ 81E346D
+ .string "{PLAYER}{KUN}, what are you going to do?\p"
+ .string "Are you taking the POKéMON LEAGUE\n"
+ .string "challenge?\p"
+ .string "Or, are you going to complete your\n"
+ .string "POKéDEX?\p"
+ .string "I might’ve lost to you in battling,\n"
+ .string "but I’ll finish my POKéDEX before you!\p"
+ .string "See you!$"
+
+LilycoveCity_Text_1E353A: @ 81E353A
+ .string "{PLAYER}{KUN}, what are you going to do?\p"
+ .string "Are you taking the BATTLE FRONTIER\n"
+ .string "challenge?\p"
+ .string "Or, are you going to complete your\n"
+ .string "POKéDEX?\p"
+ .string "I might’ve lost to you in battling,\n"
+ .string "but I’ll finish my POKéDEX before you!\p"
+ .string "See you!$"
+
+LilycoveCity_Text_1E3608: @ 81E3608
+ .string "BRENDAN: Oh, hey, it’s {PLAYER}.\p"
+ .string "I’m running an errand for my dad.\n"
+ .string "No, I’m not buying any DOLLS.\p"
+ .string "Anyways, it’s been a while.\p"
+ .string "Want to have a battle to see who’s been\n"
+ .string "raising POKéMON better?$"
+
+LilycoveCity_Text_1E36BF: @ 81E36BF
+ .string "BRENDAN: Oh, what’s the matter?\n"
+ .string "Don’t have the confidence?$"
+
+LilycoveCity_Text_1E36FA: @ 81E36FA
+ .string "BRENDAN: Want to battle to see who’s\n"
+ .string "been raising POKéMON better?$"
+
+LilycoveCity_Text_1E373C: @ 81E373C
+ .string "BRENDAN: Aww, but you know I’m not\n"
+ .string "going to lose to no {PLAYER}.$"
+
+LilycoveCity_Text_1E3777: @ 81E3777
+ .string "Humph…\n"
+ .string "You’ve done a lot of raising.\p"
+ .string "That stings a bit--I had a head start\n"
+ .string "on you as a TRAINER…$"
+
+LilycoveCity_Text_1E37D7: @ 81E37D7
+ .string "BRENDAN: I…\n"
+ .string "I plan on going home to LITTLEROOT.\p"
+ .string "You know I’m helping out my dad on his\n"
+ .string "POKéDEX. It’s coming together pretty\l"
+ .string "decently, so I should go show him.$"
+
+LilycoveCity_Text_1E3876: @ 81E3876
+ .string "{PLAYER}, what are you going to do?\p"
+ .string "Collect all the GYM BADGES and take\n"
+ .string "the POKéMON LEAGUE challenge?\p"
+ .string "Maybe I’ll do that, too…\p"
+ .string "Well, anyway, hang in there!$"
+
+LilycoveCity_Text_1E390C: @ 81E390C
+ .string "{PLAYER}, what are you going to do?\p"
+ .string "Since you’re that strong, are you\n"
+ .string "taking the POKéMON LEAGUE challenge?\p"
+ .string "Heh, even me--if I trained my POKéMON\n"
+ .string "a bit more, I should be stronger than\l"
+ .string "you, {PLAYER}.\p"
+ .string "Well, anyway, hang in there!$"
+
+LilycoveCity_Text_1E39E3: @ 81E39E3
+ .string "{PLAYER}, what are you going to do?\p"
+ .string "Are you taking the BATTLE FRONTIER\n"
+ .string "challenge?\p"
+ .string "Or, are you going to complete your\n"
+ .string "POKéDEX?\p"
+ .string "Since you’re that strong, you should\n"
+ .string "consider the BATTLE FRONTIER.\p"
+ .string "Heh, if I train my POKéMON a bit more,\n"
+ .string "I’ll get stronger than you, {PLAYER}.\p"
+ .string "Maybe I should go to the BATTLE\n"
+ .string "FRONTIER.\p"
+ .string "Well, anyway, hang in there!$"
+
+LilycoveCity_Text_1E3B2C: @ 81E3B2C
+ .string "Fufufu…\p"
+ .string "We moved more loot into our secret\n"
+ .string "HIDEOUT today…\p"
+ .string "Wh-who are you?!\n"
+ .string "I was just talking to myself!$"
+
+LilycoveCity_Text_1E3B95: @ 81E3B95
+ .string "I’m just a GRUNT, so I don’t know what\n"
+ .string "the BOSS is thinking…\p"
+ .string "But being on TEAM AQUA, I know I’ll get\n"
+ .string "the chance to do big things!\p"
+ .string "Wh-who are you?!\n"
+ .string "I was just talking to myself!$"
+
+LilycoveCity_Text_1E3C46: @ 81E3C46
+ .string "Hey, you!\p"
+ .string "Don’t go near the cave in the cove!\p"
+ .string "Why? You don’t need a reason why!\n"
+ .string "I’m an adult, so you just listen to me!$"
+
+LilycoveCity_Text_1E3CBE: @ 81E3CBE
+ .string "If this whole wide world becomes ours,\n"
+ .string "TEAM AQUA’s, it will be a happier\l"
+ .string "place for POKéMON, too.$"
+
+LilycoveCity_Text_1E3D1F: @ 81E3D1F
+ .string "There! WAILMER!\n"
+ .string "Leap out of the water now!$"
+
+LilycoveCity_Text_1E3D4A: @ 81E3D4A
+ .string "Hunh? What do you want?\p"
+ .string "You’re messing up our training,\n"
+ .string "so can you, like, get lost?$"
+
+LilycoveCity_Text_1E3D9E: @ 81E3D9E
+ .string "There’s a POKéMON CONTEST HALL\n"
+ .string "right in this here town. \p"
+ .string "That means well-raised POKéMON will\n"
+ .string "come from all over the country.\p"
+ .string "My heart swells with excitement!$"
+
+LilycoveCity_Text_1E3E3C: @ 81E3E3C
+ .string "Have you seen that strange cave in\n"
+ .string "the cove at the edge of town?$"
+
+LilycoveCity_Text_1E3E7D: @ 81E3E7D
+ .string "I’m going to teach my POKéMON some new\n"
+ .string "moves for entering a CONTEST.\p"
+ .string "So, I’m going to see the MOVE DELETER\n"
+ .string "and make it forget HM moves.$"
+
+LilycoveCity_Text_1E3F05: @ 81E3F05
+ .string "I came from KANTO.\p"
+ .string "The HOENN region is beautiful with\n"
+ .string "all its water and verdant nature.\p"
+ .string "Hunh? Wait a second…\p"
+ .string "Could there be rare POKéMON that live\n"
+ .string "only in this area?$"
+
+LilycoveCity_Text_1E3FAB: @ 81E3FAB
+ .string "TEAM AQUA’s been training their\n"
+ .string "WAILMER in the cove.\p"
+ .string "We SAILORS can’t get our boats out\n"
+ .string "to sea with them in the way!$"
+
+LilycoveCity_Text_1E4020: @ 81E4020
+ .string "Ahoy, did you know?\p"
+ .string "Someone punted TEAM AQUA out of\n"
+ .string "the way for us!\p"
+ .string "That got the WAILMER out of the cove,\n"
+ .string "so we can get our boats out again.$"
+
+LilycoveCity_Text_1E40AD: @ 81E40AD
+ .string "I was taking a relaxing snooze at the\n"
+ .string "seaside inn to the sound of waves…\p"
+ .string "When someone stole my POKéMON!\p"
+ .string "Who’s the abductor?\n"
+ .string "TEAM AQUA? Is it TEAM AQUA?$"
+
+LilycoveCity_Text_1E4145: @ 81E4145
+ .string "My missing POKéMON…\n"
+ .string "It came back without me noticing!$"
+
+LilycoveCity_Text_1E417B: @ 81E417B
+ .string "I’m an ART DEALER.\p"
+ .string "I am a buyer and seller of fine art,\n"
+ .string "especially paintings.\p"
+ .string "I’ve heard that the MUSEUM here has\n"
+ .string "magnificent works on exhibit…$"
+
+LilycoveCity_Text_1E420B: @ 81E420B
+ .string "Even as we grow old and wrinkled,\n"
+ .string "the sea remains forever young with\l"
+ .string "the vivid brilliance of life…\p"
+ .string "Fwohoho fwohohohoho…$"
+
+LilycoveCity_Text_1E4283: @ 81E4283
+ .string "It was sixty years ago that my husband\n"
+ .string "proposed to me here.\l"
+ .string "The sea remains as beautiful as ever.\p"
+ .string "Mufufufu mufufufufufu…$"
+
+LilycoveCity_Text_1E42FC: @ 81E42FC
+ .string "Hm, you know of the peculiar cavern\n"
+ .string "in this cove?\p"
+ .string "That had been a natural formation,\n"
+ .string "but then that TEAM AQUA lot came\l"
+ .string "along and made their renovations.\p"
+ .string "They call themselves\n"
+ .string "the “nature-loving TEAM AQUA”!\p"
+ .string "But what they do and what they say\n"
+ .string "don’t match at all!$"
+
+LilycoveCity_Text_1E43FF: @ 81E43FF
+ .string "That cave in the cove…\p"
+ .string "I didn’t notice it right away,\n"
+ .string "but it’s completely empty now.\p"
+ .string "That TEAM AQUA lot, they must\n"
+ .string "have gone away for good.$"
+
+LilycoveCity_Text_1E448B: @ 81E448B
+ .string "LILYCOVE CITY\p"
+ .string "“Where the land ends and the\n"
+ .string "sea begins.”$"
+
+LilycoveCity_Text_1E44C3: @ 81E44C3
+ .string "POKéMON CONTEST HALL\n"
+ .string "“The gathering place for TRAINERS!”$"
+
+LilycoveCity_Text_1E44FC: @ 81E44FC
+ .string "COVE LILY MOTEL\p"
+ .string "“Remember us as COVE LILY of\n"
+ .string "LILYCOVE.”$"
+
+LilycoveCity_Text_1E4534: @ 81E4534
+ .string "LILYCOVE MUSEUM\p"
+ .string "“POKéMON Masterpiece Collection\n"
+ .string "on exhibit!”$"
+
+LilycoveCity_Text_1E4571: @ 81E4571
+ .string "LILYCOVE MUSEUM\p"
+ .string "“{PLAYER}’s POKéMON Collection\n"
+ .string "on exhibit!”$"
+
+LilycoveCity_Text_1E45A7: @ 81E45A7
+ .string "LILYCOVE CITY HARBOR\p"
+ .string "“The ferry S.S. TIDAL is under\n"
+ .string "construction in SLATEPORT CITY.\p"
+ .string "“Service is scheduled to begin\n"
+ .string "shortly.”$"
+
+LilycoveCity_Text_1E4624: @ 81E4624
+ .string "LILYCOVE CITY HARBOR\p"
+ .string "“Enjoy a delightful cruise on\n"
+ .string "the ferry S.S. TIDAL.”$"
+
+LilycoveCity_Text_1E466E: @ 81E466E
+ .string "POKéMON TRAINER FAN CLUB\p"
+ .string "The names of TRAINERS are scribbled\n"
+ .string "all over the sign…$"
+
+LilycoveCity_Text_1E46BE: @ 81E46BE
+ .string "LILYCOVE DEPARTMENT STORE\p"
+ .string "“Overflowing with great merchandise\n"
+ .string "and excitement!\p"
+ .string "“A great place to find that something\n"
+ .string "you need!”$"
+
+LilycoveCity_Text_1E473D: @ 81E473D
+ .string "MOVE DELETER’S HOUSE\p"
+ .string "“Unwanted POKéMON moves deleted.”$"
+
+LilycoveCity_Text_1E4774: @ 81E4774
+ .string "Do you know about the machine\n"
+ .string "BERRY BLENDER?$"
+
+LilycoveCity_Text_1E47A1: @ 81E47A1
+ .string "People have to work together to get it\n"
+ .string "to spin faster.\p"
+ .string "The faster you can make it spin, the\n"
+ .string "better {POKEBLOCK}S you can get, I’ve heard.$"
+
+LilycoveCity_Text_1E4824: @ 81E4824
+ .string "It’s used for making a kind of candy\n"
+ .string "called a {POKEBLOCK}.\p"
+ .string "If you give a good {POKEBLOCK} to a POKéMON,\n"
+ .string "its condition will improve by a lot.$"
+
+LilycoveCity_Text_1E48A5: @ 81E48A5
+ .string "I heard there’s a tower somewhere out\n"
+ .string "on the sea routes.\p"
+ .string "It’s called the SKY PILLAR, I hear.$"
+
+LilycoveCity_Text_1E4902: @ 81E4902
+ .string "I saw this tall tower somewhere\n"
+ .string "around ROUTE 131.\p"
+ .string "Could that possibly be…?$"
+
+LilycoveCity_Text_1E494D: @ 81E494D
+ .string "We just arrived here on our\n"
+ .string "honeymoon vacation.\p"
+ .string "We happened to see a DRAGON-type\n"
+ .string "POKéMON flying way up in the sky.\p"
+ .string "Do cool POKéMON like that live in\n"
+ .string "the HOENN region?$"
+
+LilycoveCity_Text_1E49F4: @ 81E49F4
+ .string "On our honeymoon, we vowed to see as\n"
+ .string "many rare POKéMON as we can.\p"
+ .string "So we were delighted to see a rare\n"
+ .string "POKéMON as soon as we arrived.\p"
+ .string "I mean, we are totally happy!$"
+
diff --git a/data/scripts/maps/LilycoveCity_ContestHall.inc b/data/scripts/maps/LilycoveCity_ContestHall.inc
new file mode 100644
index 000000000..3f02a404c
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_ContestHall.inc
@@ -0,0 +1,509 @@
+LilycoveCity_ContestHall_MapScripts:: @ 821B484
+ .byte 0
+
+LilycoveCity_ContestHall_EventScript_21B485:: @ 821B485
+ msgbox LilycoveCity_ContestHall_Text_21B74E, 2
+ end
+
+LilycoveCity_ContestHall_EventScript_21B48E:: @ 821B48E
+ msgbox LilycoveCity_ContestHall_Text_21B7D7, 2
+ end
+
+LilycoveCity_ContestHall_EventScript_21B497:: @ 821B497
+ msgbox LilycoveCity_ContestHall_Text_21B899, 2
+ end
+
+LilycoveCity_ContestHall_EventScript_21B4A0:: @ 821B4A0
+ msgbox LilycoveCity_ContestHall_Text_21B911, 2
+ end
+
+LilycoveCity_ContestHall_EventScript_21B4A9:: @ 821B4A9
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21B977, 4
+ closemessage
+ applymovement 4, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B4C0:: @ 821B4C0
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21B9DC, 4
+ closemessage
+ applymovement 5, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B4D7:: @ 821B4D7
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21BA44, 4
+ closemessage
+ applymovement 6, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B4EE:: @ 821B4EE
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21BAD5, 4
+ closemessage
+ applymovement 7, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B505:: @ 821B505
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21BB84, 4
+ closemessage
+ applymovement 8, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B51C:: @ 821B51C
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21BBDD, 4
+ closemessage
+ applymovement 9, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B533:: @ 821B533
+ msgbox LilycoveCity_ContestHall_Text_21BC65, 3
+ end
+
+LilycoveCity_ContestHall_EventScript_21B53C:: @ 821B53C
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21BC89, 4
+ closemessage
+ applymovement 12, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B553:: @ 821B553
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21BD30, 4
+ closemessage
+ applymovement 22, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B56A:: @ 821B56A
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21BD70, 4
+ closemessage
+ applymovement 11, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B581:: @ 821B581
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21BDDD, 4
+ closemessage
+ applymovement 13, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B598:: @ 821B598
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21BE16, 4
+ closemessage
+ applymovement 14, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B5AF:: @ 821B5AF
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21BE77, 4
+ closemessage
+ applymovement 15, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B5C6:: @ 821B5C6
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21BEDE, 4
+ closemessage
+ applymovement 16, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B5DD:: @ 821B5DD
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21BF6E, 4
+ closemessage
+ applymovement 17, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B5F4:: @ 821B5F4
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21BFE3, 4
+ closemessage
+ applymovement 18, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B60B:: @ 821B60B
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21C07F, 4
+ closemessage
+ applymovement 19, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B622:: @ 821B622
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21C0D8, 4
+ closemessage
+ applymovement 21, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B639:: @ 821B639
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21C137, 4
+ closemessage
+ applymovement 20, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B650:: @ 821B650
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21C1A4, 4
+ closemessage
+ applymovement 23, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B667:: @ 821B667
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21C215, 4
+ closemessage
+ applymovement 24, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B67E:: @ 821B67E
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21C27F, 4
+ closemessage
+ applymovement 25, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B695:: @ 821B695
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21C2BB, 4
+ closemessage
+ applymovement 26, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B6AC:: @ 821B6AC
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21C307, 4
+ closemessage
+ applymovement 27, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B6C3:: @ 821B6C3
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21C365, 4
+ closemessage
+ applymovement 28, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B6DA:: @ 821B6DA
+ lockall
+ applymovement 29, LilycoveCity_ContestHall_Movement_27259E
+ waitmovement 0
+ msgbox LilycoveCity_ContestHall_Text_21C3F4, 4
+ closemessage
+ applymovement 29, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ delay 25
+ msgbox LilycoveCity_ContestHall_Text_21C411, 4
+ releaseall
+ end
+
+LilycoveCity_ContestHall_EventScript_21B705:: @ 821B705
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21C4B1, 4
+ closemessage
+ applymovement 31, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B71C:: @ 821B71C
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestHall_Text_21C445, 4
+ closemessage
+ applymovement 30, LilycoveCity_ContestHall_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestHall_EventScript_21B733:: @ 821B733
+ msgbox LilycoveCity_ContestHall_Text_21C512, 3
+ end
+
+LilycoveCity_ContestHall_EventScript_21B73C:: @ 821B73C
+ msgbox LilycoveCity_ContestHall_Text_21C548, 3
+ end
+
+LilycoveCity_ContestHall_EventScript_21B745:: @ 821B745
+ msgbox LilycoveCity_ContestHall_Text_21C57B, 3
+ end
+
+LilycoveCity_ContestHall_Text_21B74E: @ 821B74E
+ .string "This POKéMON won the BEAUTY CONTEST\n"
+ .string "here before.\p"
+ .string "Well, guess what? Today, I made it\n"
+ .string "win a SMARTNESS CONTEST!\p"
+ .string "My abilities scare even me…$"
+
+LilycoveCity_ContestHall_Text_21B7D7: @ 821B7D7
+ .string "I’ve entered a bunch of CONTESTS,\n"
+ .string "so I’m seeing how things work.\p"
+ .string "If you’re in a COOLNESS CONTEST,\n"
+ .string "cool moves go over as appeals.\p"
+ .string "But smart moves and cute moves\n"
+ .string "don’t go over well, for instance.$"
+
+LilycoveCity_ContestHall_Text_21B899: @ 821B899
+ .string "That young man who won earlier had\n"
+ .string "a whole bunch of different {POKEBLOCK}S.\p"
+ .string "Can you win if you had that many\n"
+ .string "of those things?$"
+
+LilycoveCity_ContestHall_Text_21B911: @ 821B911
+ .string "Whoa, isn’t this place humongous!\p"
+ .string "The tension in the air… It’s not\n"
+ .string "like a CONTEST hall in the sticks.$"
+
+LilycoveCity_ContestHall_Text_21B977: @ 821B977
+ .string "MC: Okay, SMART POKéMON and their\n"
+ .string "TRAINERS, are you ready?!\p"
+ .string "Give it your best showing!\n"
+ .string "Let’s appeal!$"
+
+LilycoveCity_ContestHall_Text_21B9DC: @ 821B9DC
+ .string "JUDGE: Are you enjoying this CONTEST?\p"
+ .string "Come back with three friends, and\n"
+ .string "all of you may enter a CONTEST!$"
+
+LilycoveCity_ContestHall_Text_21BA44: @ 821BA44
+ .string "Ayayayay…\n"
+ .string "I entered the wrong CONTEST.\p"
+ .string "I entered this tough POKéMON in\n"
+ .string "the SMARTNESS CONTEST…\p"
+ .string "Come on, wow them with a smart-looking\n"
+ .string "ROCK SMASH.$"
+
+LilycoveCity_ContestHall_Text_21BAD5: @ 821BAD5
+ .string "I’ve spent many a year, and all my\n"
+ .string "wisdom besides, raising this POKéMON\l"
+ .string "to be smart.\p"
+ .string "It won’t be easily bested by some\n"
+ .string "young pup’s POKéMON.\p"
+ .string "My dear wife, are you seeing this?$"
+
+LilycoveCity_ContestHall_Text_21BB84: @ 821BB84
+ .string "There it is!\p"
+ .string "If my POKéMON pulls a smart move next,\n"
+ .string "the audience’s excitement will peak!$"
+
+LilycoveCity_ContestHall_Text_21BBDD: @ 821BBDD
+ .string "Oh, dear, no!\p"
+ .string "My darling ZUBAT’s LEECH LIFE is so\n"
+ .string "cute I kept using it over and over!\p"
+ .string "But these mean people don’t appreciate\n"
+ .string "it at all!$"
+
+LilycoveCity_ContestHall_Text_21BC65: @ 821BC65
+ .string "Kiyaaah! You’re beautiful, Grandpa!$"
+
+LilycoveCity_ContestHall_Text_21BC89: @ 821BC89
+ .string "Even when TRAINERS enter the same\n"
+ .string "kind of POKéMON, they all seem to use\l"
+ .string "different moves for appeals.\p"
+ .string "It’s just like the way people have\n"
+ .string "different styles for battling.$"
+
+LilycoveCity_ContestHall_Text_21BD30: @ 821BD30
+ .string "I think the POKéMON look smarter\n"
+ .string "than their TRAINERS. By a lot.$"
+
+LilycoveCity_ContestHall_Text_21BD70: @ 821BD70
+ .string "When all’s said and done, I still love\n"
+ .string "SMARTNESS CONTESTS.\p"
+ .string "That intellectual green color…\n"
+ .string "It’s so… So… Cool.$"
+
+LilycoveCity_ContestHall_Text_21BDDD: @ 821BDDD
+ .string "MC: Are you entering the BEAUTY\n"
+ .string "CONTEST, too? Good luck!$"
+
+LilycoveCity_ContestHall_Text_21BE16: @ 821BE16
+ .string "JUDGE: Ah, every POKéMON here is\n"
+ .string "a model of pristine beauty!\p"
+ .string "Why, I almost forgot to score them!$"
+
+LilycoveCity_ContestHall_Text_21BE77: @ 821BE77
+ .string "A POKéMON this beautiful…\n"
+ .string "There isn’t another one like it.\p"
+ .string "Everyone’s eyes will be glued to\n"
+ .string "my beauty.$"
+
+LilycoveCity_ContestHall_Text_21BEDE: @ 821BEDE
+ .string "Waaaah!\p"
+ .string "I brushed and groomed my POKéMON\n"
+ .string "carefully for this CONTEST…\p"
+ .string "But I overdid it…\n"
+ .string "My POKéMON’s coat turned all scraggly…\p"
+ .string "What should I do?$"
+
+LilycoveCity_ContestHall_Text_21BF6E: @ 821BF6E
+ .string "This AURORA BEAM is so dazzling,\n"
+ .string "the JUDGE won’t be able to see it.\p"
+ .string "Uh, wait a second…\n"
+ .string "That’ll be meaningless, then!$"
+
+LilycoveCity_ContestHall_Text_21BFE3: @ 821BFE3
+ .string "This pretty POKéMON looks just like\n"
+ .string "me when I was younger.\p"
+ .string "Right when I said that, my husband\n"
+ .string "spewed the coffee he was drinking.\p"
+ .string "Did I say something funny?$"
+
+LilycoveCity_ContestHall_Text_21C07F: @ 821C07F
+ .string "You know, if I win at a BEAUTY\n"
+ .string "CONTEST, sure it makes me\l"
+ .string "happy. More than usual, anyway.$"
+
+LilycoveCity_ContestHall_Text_21C0D8: @ 821C0D8
+ .string "Wahahahah!\p"
+ .string "Will you take a gander at all those\n"
+ .string "pretty POKéMON!\l"
+ .string "I just love this sort of glitz!$"
+
+LilycoveCity_ContestHall_Text_21C137: @ 821C137
+ .string "You can’t always win on just beauty\n"
+ .string "alone.\p"
+ .string "You have to groom your POKéMON so\n"
+ .string "it’s nice and glossy like mine.$"
+
+LilycoveCity_ContestHall_Text_21C1A4: @ 821C1A4
+ .string "MC: Uh-oh! Hello!\n"
+ .string "We’re in the middle of a CONTEST!\p"
+ .string "Please enter at our registration\n"
+ .string "counter and come out, okay?$"
+
+LilycoveCity_ContestHall_Text_21C215: @ 821C215
+ .string "JUDGE: Oh, such charming and cute\n"
+ .string "appeals!\p"
+ .string "Oh, my goodness! What a perfectly\n"
+ .string "adorable WATER SPORT appeal!$"
+
+LilycoveCity_ContestHall_Text_21C27F: @ 821C27F
+ .string "Oh, no… My sweet AZURILL was\n"
+ .string "distracted by another POKéMON.$"
+
+LilycoveCity_ContestHall_Text_21C2BB: @ 821C2BB
+ .string "My POKéMON has never won in a battle,\n"
+ .string "but put it in a CONTEST and look out!$"
+
+LilycoveCity_ContestHall_Text_21C307: @ 821C307
+ .string "My POKéMON’s PETAL DANCE is a marvel\n"
+ .string "of elegance.\p"
+ .string "I won’t let anyone disturb its\n"
+ .string "performance.$"
+
+LilycoveCity_ContestHall_Text_21C365: @ 821C365
+ .string "Everyone’s POKéMON are very cute.\p"
+ .string "However, if my POKéMON were to make\n"
+ .string "a cute appeal…\p"
+ .string "I’m sure that it would be so much \n"
+ .string "cuter than the others.$"
+
+LilycoveCity_ContestHall_Text_21C3F4: @ 821C3F4
+ .string "My child is in this CONTEST.$"
+
+LilycoveCity_ContestHall_Text_21C411: @ 821C411
+ .string "Come on, dear. Go for it!\n"
+ .string "Your POKéMON is the best!$"
+
+LilycoveCity_ContestHall_Text_21C445: @ 821C445
+ .string "I think that girl over there is\n"
+ .string "the cutest of the lot.\p"
+ .string "What’s that? They’re judging\n"
+ .string "POKéMON by their looks?$"
+
+LilycoveCity_ContestHall_Text_21C4B1: @ 821C4B1
+ .string "Ohh, seeing all these cute POKéMON,\n"
+ .string "they make we want to get my own!\p"
+ .string "I’m going to go catch some!$"
+
+LilycoveCity_ContestHall_Text_21C512: @ 821C512
+ .string "BEAUTY CONTEST STAGE\n"
+ .string "BE ALLURED BY BEAUTIFUL POKéMON!$"
+
+LilycoveCity_ContestHall_Text_21C548: @ 821C548
+ .string "CUTENESS CONTEST STAGE\n"
+ .string "BE CHARMED BY CUTE POKéMON!$"
+
+LilycoveCity_ContestHall_Text_21C57B: @ 821C57B
+ .string "SMARTNESS CONTEST STAGE\n"
+ .string "BE IMPRESSED BY SMART POKéMON!$"
+
diff --git a/data/scripts/maps/LilycoveCity_ContestLobby.inc b/data/scripts/maps/LilycoveCity_ContestLobby.inc
new file mode 100644
index 000000000..ab98786e2
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_ContestLobby.inc
@@ -0,0 +1,1121 @@
+LilycoveCity_ContestLobby_MapScripts:: @ 821A211
+ map_script 3, LilycoveCity_ContestLobby_MapScript1_21A21C
+ map_script 2, LilycoveCity_ContestLobby_MapScript2_21A243
+ .byte 0
+
+LilycoveCity_ContestLobby_MapScript1_21A21C: @ 821A21C
+ call LilycoveCity_ContestLobby_EventScript_28CB2B
+ call LilycoveCity_ContestLobby_EventScript_21A227
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A227:: @ 821A227
+ getpricereduction 4
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_21A23C
+ clearflag FLAG_0x369
+ setflag FLAG_0x340
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A23C:: @ 821A23C
+ setflag FLAG_0x369
+ clearflag FLAG_0x340
+ return
+
+LilycoveCity_ContestLobby_MapScript2_21A243: @ 821A243
+ map_script_2 VAR_0x4099, 1, LilycoveCity_ContestLobby_EventScript_21A255
+ map_script_2 VAR_0x4099, 2, LilycoveCity_ContestLobby_EventScript_21A427
+ .2byte 0
+
+LilycoveCity_ContestLobby_EventScript_21A255:: @ 821A255
+ checkflag FLAG_0x307
+ goto_eq LilycoveCity_ContestLobby_EventScript_21A264
+ setvar VAR_0x4099, 0
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A264:: @ 821A264
+ lockall
+ addobject 4
+ applymovement 4, LilycoveCity_ContestLobby_Movement_21A407
+ waitmovement 4
+ applymovement 255, LilycoveCity_ContestLobby_Movement_21A418
+ waitmovement 0
+ msgbox LilycoveCity_ContestLobby_Text_21ADB9, 4
+ lockall
+ fadescreen 1
+ drawcontestwinner 0
+ lockall
+ msgbox LilycoveCity_ContestLobby_Text_21AE78, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_21A2AA
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_21A2E4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A2AA:: @ 821A2AA
+ msgbox LilycoveCity_ContestLobby_Text_21AF63, 4
+ closemessage
+ special sub_80F88DC
+ setvar VAR_0x4099, 0
+ specialvar VAR_RESULT, sub_80F8C7C
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LilycoveCity_ContestLobby_EventScript_21A314
+ applymovement 4, LilycoveCity_ContestLobby_Movement_21A40F
+ waitmovement 0
+ removeobject 4
+ call LilycoveCity_ContestLobby_EventScript_21A360
+ call LilycoveCity_ContestLobby_EventScript_21A3B6
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A2E4:: @ 821A2E4
+ msgbox LilycoveCity_ContestLobby_Text_21B0BC, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_21A2AA
+ msgbox LilycoveCity_ContestLobby_Text_21B132, 4
+ closemessage
+ applymovement 4, LilycoveCity_ContestLobby_Movement_21A40F
+ waitmovement 0
+ setvar VAR_0x4099, 0
+ removeobject 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A314:: @ 821A314
+ incrementgamestat 42
+ special sub_80F8390
+ applymovement 4, LilycoveCity_ContestLobby_Movement_21A41A
+ waitmovement 0
+ playse SE_PIN
+ applymovement 4, LilycoveCity_ContestLobby_Movement_272598
+ waitmovement 0
+ applymovement 4, LilycoveCity_ContestLobby_Movement_21A41E
+ waitmovement 0
+ msgbox LilycoveCity_ContestLobby_Text_21B030, 4
+ playfanfare BGM_FANFA4
+ msgbox LilycoveCity_ContestLobby_Text_21B07E, 4
+ waitfanfare
+ msgbox LilycoveCity_ContestLobby_Text_21B094, 4
+ msgbox LilycoveCity_ContestLobby_Text_21B0AD, 4
+ closemessage
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A360:: @ 821A360
+ specialvar VAR_0x8004, sub_80F8940
+ switch VAR_0x8004
+ case 1, LilycoveCity_ContestLobby_EventScript_21A3A2
+ case 2, LilycoveCity_ContestLobby_EventScript_21A3A6
+ case 3, LilycoveCity_ContestLobby_EventScript_21A3AA
+ case 4, LilycoveCity_ContestLobby_EventScript_21A3AE
+ case 5, LilycoveCity_ContestLobby_EventScript_21A3B2
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A3A2:: @ 821A3A2
+ clearflag FLAG_0x308
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A3A6:: @ 821A3A6
+ clearflag FLAG_0x309
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A3AA:: @ 821A3AA
+ clearflag FLAG_0x30A
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A3AE:: @ 821A3AE
+ clearflag FLAG_0x30B
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A3B2:: @ 821A3B2
+ clearflag FLAG_0x30C
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A3B6:: @ 821A3B6
+ switch VAR_CONTEST_CATEGORY
+ case 0, LilycoveCity_ContestLobby_EventScript_21A3F3
+ case 1, LilycoveCity_ContestLobby_EventScript_21A3F7
+ case 2, LilycoveCity_ContestLobby_EventScript_21A3FB
+ case 3, LilycoveCity_ContestLobby_EventScript_21A3FF
+ case 4, LilycoveCity_ContestLobby_EventScript_21A403
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A3F3:: @ 821A3F3
+ setflag FLAG_0x0A0
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A3F7:: @ 821A3F7
+ setflag FLAG_0x0A1
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A3FB:: @ 821A3FB
+ setflag FLAG_0x0A2
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A3FF:: @ 821A3FF
+ setflag FLAG_0x0A3
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A403:: @ 821A403
+ setflag FLAG_0x0A4
+ return
+
+LilycoveCity_ContestLobby_Movement_21A407: @ 821A407
+ step_down
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+LilycoveCity_ContestLobby_Movement_21A40F: @ 821A40F
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+LilycoveCity_ContestLobby_Movement_21A418: @ 821A418
+ step_27
+ step_end
+
+LilycoveCity_ContestLobby_Movement_21A41A: @ 821A41A
+ step_down
+ step_down
+ step_down
+ step_end
+
+LilycoveCity_ContestLobby_Movement_21A41E: @ 821A41E
+ step_14
+ step_14
+ step_14
+ step_14
+ step_16
+ step_16
+ step_16
+ step_28
+ step_end
+
+LilycoveCity_ContestLobby_EventScript_21A427:: @ 821A427
+ checkflag FLAG_0x307
+ goto_eq LilycoveCity_ContestLobby_EventScript_21A436
+ setvar VAR_0x4099, 0
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A436:: @ 821A436
+ lockall
+ addobject 11
+ applymovement 11, LilycoveCity_ContestLobby_Movement_21A533
+ waitmovement 11
+ applymovement 255, LilycoveCity_ContestLobby_Movement_21A545
+ waitmovement 0
+ msgbox LilycoveCity_ContestLobby_Text_21ADB9, 4
+ lockall
+ fadescreen 1
+ drawcontestwinner 0
+ msgbox LilycoveCity_ContestLobby_Text_21AE78, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_21A47A
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_21A4B4
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A47A:: @ 821A47A
+ msgbox LilycoveCity_ContestLobby_Text_21AF63, 4
+ closemessage
+ special sub_80F88DC
+ setvar VAR_0x4099, 0
+ specialvar VAR_RESULT, sub_80F8C7C
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LilycoveCity_ContestLobby_EventScript_21A4E4
+ applymovement 11, LilycoveCity_ContestLobby_Movement_21A53C
+ waitmovement 0
+ removeobject 11
+ call LilycoveCity_ContestLobby_EventScript_21A360
+ call LilycoveCity_ContestLobby_EventScript_21A3B6
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A4B4:: @ 821A4B4
+ msgbox LilycoveCity_ContestLobby_Text_21B0BC, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_21A47A
+ msgbox LilycoveCity_ContestLobby_Text_21B132, 4
+ closemessage
+ applymovement 11, LilycoveCity_ContestLobby_Movement_21A53C
+ waitmovement 0
+ setvar VAR_0x4099, 0
+ removeobject 11
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A4E4:: @ 821A4E4
+ incrementgamestat 42
+ setflag FLAG_SYS_RIBBON_GET
+ special sub_80F8390
+ applymovement 11, LilycoveCity_ContestLobby_Movement_21A547
+ waitmovement 0
+ playse SE_PIN
+ applymovement 11, LilycoveCity_ContestLobby_Movement_272598
+ waitmovement 0
+ applymovement 11, LilycoveCity_ContestLobby_Movement_21A54B
+ waitmovement 0
+ msgbox LilycoveCity_ContestLobby_Text_21B030, 4
+ playfanfare BGM_FANFA4
+ msgbox LilycoveCity_ContestLobby_Text_21B07E, 4
+ waitfanfare
+ msgbox LilycoveCity_ContestLobby_Text_21B094, 4
+ msgbox LilycoveCity_ContestLobby_Text_21B0AD, 4
+ closemessage
+ return
+
+LilycoveCity_ContestLobby_Movement_21A533: @ 821A533
+ step_down
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+LilycoveCity_ContestLobby_Movement_21A53C: @ 821A53C
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+LilycoveCity_ContestLobby_Movement_21A545: @ 821A545
+ step_28
+ step_end
+
+LilycoveCity_ContestLobby_Movement_21A547: @ 821A547
+ step_down
+ step_down
+ step_down
+ step_end
+
+LilycoveCity_ContestLobby_Movement_21A54B: @ 821A54B
+ step_14
+ step_14
+ step_14
+ step_14
+ step_16
+ step_16
+ step_16
+ step_27
+ step_end
+
+LilycoveCity_ContestLobby_EventScript_21A554:: @ 821A554
+ special sub_80F9154
+ specialvar VAR_RESULT, sub_80F8D24
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_21A5CF
+ call LilycoveCity_ContestLobby_EventScript_279CC5
+ call LilycoveCity_ContestLobby_EventScript_21A670
+ special sub_80F87D8
+ call LilycoveCity_ContestLobby_EventScript_23BEB6
+ call LilycoveCity_ContestLobby_EventScript_21A585
+ call LilycoveCity_ContestLobby_EventScript_21A5EF
+ waitstate
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A585:: @ 821A585
+ switch VAR_CONTEST_RANK
+ case 0, LilycoveCity_ContestLobby_EventScript_21A5B7
+ case 1, LilycoveCity_ContestLobby_EventScript_21A5BD
+ case 2, LilycoveCity_ContestLobby_EventScript_21A5C3
+ case 3, LilycoveCity_ContestLobby_EventScript_21A5C9
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A5B7:: @ 821A5B7
+ setvar VAR_0x4088, 1
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A5BD:: @ 821A5BD
+ setvar VAR_0x4088, 2
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A5C3:: @ 821A5C3
+ setvar VAR_0x4088, 3
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A5C9:: @ 821A5C9
+ setvar VAR_0x4088, 4
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A5CF:: @ 821A5CF
+ setflag FLAG_0x307
+ copyvar VAR_0x4094, 0x1
+ giveitem ITEM_CONTEST_PASS, 1
+ setvar VAR_0x800B, 8
+ setvar VAR_CONTEST_RANK, 3
+ setvar VAR_0x4099, 1
+ setflag FLAG_SYS_RIBBON_GET
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A5EF:: @ 821A5EF
+ setflag FLAG_0x155
+ switch VAR_CONTEST_CATEGORY
+ case 0, LilycoveCity_ContestLobby_EventScript_21A62F
+ case 1, LilycoveCity_ContestLobby_EventScript_21A63C
+ case 2, LilycoveCity_ContestLobby_EventScript_21A649
+ case 3, LilycoveCity_ContestLobby_EventScript_21A656
+ case 4, LilycoveCity_ContestLobby_EventScript_21A663
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A62F:: @ 821A62F
+ setwarp LINK_CONTEST_ROOM_4, 255, 7, 5
+ special sub_80AFC60
+ waitstate
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A63C:: @ 821A63C
+ setwarp LINK_CONTEST_ROOM_2, 255, 7, 5
+ special sub_80AFC60
+ waitstate
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A649:: @ 821A649
+ setwarp LINK_CONTEST_ROOM_6, 255, 7, 5
+ special sub_80AFC60
+ waitstate
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A656:: @ 821A656
+ setwarp LINK_CONTEST_ROOM_5, 255, 7, 5
+ special sub_80AFC60
+ waitstate
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A663:: @ 821A663
+ setwarp LINK_CONTEST_ROOM_3, 255, 7, 5
+ special sub_80AFC60
+ waitstate
+ return
+
+LilycoveCity_ContestLobby_EventScript_21A670:: @ 821A670
+ lockall
+ applymovement 1, LilycoveCity_ContestLobby_Movement_21A6F5
+ waitmovement 0
+ playse SE_HASHI
+ setmetatile 12, 2, 545, 1
+ setmetatile 12, 3, 609, 1
+ special DrawWholeMapView
+ applymovement 1, LilycoveCity_ContestLobby_Movement_21A6F9
+ waitmovement 0
+ playse SE_HASHI
+ setmetatile 12, 2, 721, 1
+ setmetatile 12, 3, 729, 1
+ special DrawWholeMapView
+ delay 20
+ applymovement 1, LilycoveCity_ContestLobby_Movement_21A706
+ waitmovement 0
+ applymovement 255, LilycoveCity_ContestLobby_Movement_21A6F2
+ waitmovement 0
+ msgbox LilycoveCity_ContestLobby_Text_27B653, 4
+ closemessage
+ applymovement 1, LilycoveCity_ContestLobby_Movement_21A6FD
+ applymovement 255, LilycoveCity_ContestLobby_Movement_21A6E8
+ waitmovement 0
+ releaseall
+ return
+
+LilycoveCity_ContestLobby_Movement_21A6E8: @ 821A6E8
+ step_left
+ step_left
+ step_left
+ step_left
+ step_up
+ step_up
+ step_up
+ step_13
+ step_54
+ step_end
+
+LilycoveCity_ContestLobby_Movement_21A6F2: @ 821A6F2
+ step_27
+ step_left
+ step_end
+
+LilycoveCity_ContestLobby_Movement_21A6F5: @ 821A6F5
+ step_left
+ step_left
+ step_25
+ step_end
+
+LilycoveCity_ContestLobby_Movement_21A6F9: @ 821A6F9
+ step_down
+ step_down
+ step_26
+ step_end
+
+LilycoveCity_ContestLobby_Movement_21A6FD: @ 821A6FD
+ step_left
+ step_left
+ step_left
+ step_up
+ step_up
+ step_up
+ step_13
+ step_54
+ step_end
+
+LilycoveCity_ContestLobby_Movement_21A706: @ 821A706
+ step_28
+ step_end
+
+LilycoveCity_ContestLobby_EventScript_21A708:: @ 821A708
+ msgbox LilycoveCity_ContestLobby_Text_21B1B1, 2
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A711:: @ 821A711
+ msgbox LilycoveCity_ContestLobby_Text_21B24D, 2
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A71A:: @ 821A71A
+ msgbox LilycoveCity_ContestLobby_Text_21B2BA, 2
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A723:: @ 821A723
+ msgbox LilycoveCity_ContestLobby_Text_21B334, 2
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A72C:: @ 821A72C
+ msgbox LilycoveCity_ContestLobby_Text_21B392, 2
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A735:: @ 821A735
+ msgbox LilycoveCity_ContestLobby_Text_21B3FC, 2
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A73E:: @ 821A73E
+ lockall
+ fadescreen 1
+ drawcontestwinner 1
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A745:: @ 821A745
+ lockall
+ fadescreen 1
+ drawcontestwinner 2
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A74C:: @ 821A74C
+ lockall
+ fadescreen 1
+ drawcontestwinner 3
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A753:: @ 821A753
+ lockall
+ fadescreen 1
+ drawcontestwinner 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A75A:: @ 821A75A
+ lockall
+ fadescreen 1
+ drawcontestwinner 5
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A761:: @ 821A761
+ lockall
+ fadescreen 1
+ drawcontestwinner 6
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A768:: @ 821A768
+ msgbox LilycoveCity_ContestLobby_Text_2931AA, 2
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A771:: @ 821A771
+ msgbox LilycoveCity_ContestLobby_Text_2931C6, 2
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A77A:: @ 821A77A
+ lockall
+ special ShowBerryBlenderRecordWindow
+ waitbuttonpress
+ special sub_813C5A0
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A784:: @ 821A784
+ lockall
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 7
+ special sub_81A1780
+ waitbuttonpress
+ special sub_813C5A0
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A798:: @ 821A798
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestLobby_Text_2C427C, 4
+ goto LilycoveCity_ContestLobby_EventScript_21A7F9
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A7A8:: @ 821A7A8
+ lock
+ msgbox LilycoveCity_ContestLobby_Text_2C464B, 4
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A7B3:: @ 821A7B3
+ lock
+ msgbox LilycoveCity_ContestLobby_Text_2C465A, 4
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A7BE:: @ 821A7BE
+ lock
+ msgbox LilycoveCity_ContestLobby_Text_2C4669, 4
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A7C9:: @ 821A7C9
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestLobby_Text_2C4679, 4
+ goto LilycoveCity_ContestLobby_EventScript_21A7F9
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A7D9:: @ 821A7D9
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestLobby_Text_2C46B1, 4
+ goto LilycoveCity_ContestLobby_EventScript_21A7F9
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A7E9:: @ 821A7E9
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestLobby_Text_2C4763, 4
+ goto LilycoveCity_ContestLobby_EventScript_21A7F9
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A7F9:: @ 821A7F9
+ closemessage
+ applymovement VAR_LAST_TALKED, LilycoveCity_ContestLobby_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A806:: @ 821A806
+ special sub_80F9154
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestLobby_Text_27C063, 4
+ goto LilycoveCity_ContestLobby_EventScript_21A819
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A819:: @ 821A819
+ message LilycoveCity_ContestLobby_Text_27C0F6
+ waitmessage
+ multichoice 0, 0, 2, 0
+ switch VAR_RESULT
+ case 0, LilycoveCity_ContestLobby_EventScript_21A856
+ case 1, LilycoveCity_ContestLobby_EventScript_21A90D
+ case 2, LilycoveCity_ContestLobby_EventScript_21A97F
+ case 127, LilycoveCity_ContestLobby_EventScript_21A97F
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A856:: @ 821A856
+ msgbox LilycoveCity_ContestLobby_Text_27BD17, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_21A97F
+ call LilycoveCity_ContestLobby_EventScript_27134F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_21A97F
+ message LilycoveCity_ContestLobby_Text_27C8FD
+ waitmessage
+ specialvar VAR_0x400D, sub_80093CC
+ multichoice 0, 0, 85, 0
+ switch VAR_RESULT
+ case 0, LilycoveCity_ContestLobby_EventScript_21A8BB
+ case 1, LilycoveCity_ContestLobby_EventScript_21A8C6
+ case 2, LilycoveCity_ContestLobby_EventScript_21A97F
+ case 127, LilycoveCity_ContestLobby_EventScript_21A97F
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A8BB:: @ 821A8BB
+ setvar VAR_0x400C, 0
+ goto LilycoveCity_ContestLobby_EventScript_21A8DC
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A8C6:: @ 821A8C6
+ setvar VAR_0x400C, 1
+ compare_var_to_value VAR_0x400D, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_21AAFC
+ goto LilycoveCity_ContestLobby_EventScript_21A8DC
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A8DC:: @ 821A8DC
+ message LilycoveCity_ContestLobby_Text_27C119
+ waitmessage
+ multichoice 0, 0, 4, 0
+ switch VAR_RESULT
+ case 5, LilycoveCity_ContestLobby_EventScript_21A97F
+ case 127, LilycoveCity_ContestLobby_EventScript_21A97F
+ copyvar VAR_CONTEST_CATEGORY, VAR_RESULT
+ goto LilycoveCity_ContestLobby_EventScript_21A98C
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A90D:: @ 821A90D
+ message LilycoveCity_ContestLobby_Text_27C0DA
+ waitmessage
+ multichoice 0, 0, 84, 0
+ switch VAR_RESULT
+ case 0, LilycoveCity_ContestLobby_EventScript_21A955
+ case 1, LilycoveCity_ContestLobby_EventScript_21A963
+ case 2, LilycoveCity_ContestLobby_EventScript_21A971
+ case 3, LilycoveCity_ContestLobby_EventScript_21A819
+ case 127, LilycoveCity_ContestLobby_EventScript_21A819
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A955:: @ 821A955
+ msgbox LilycoveCity_ContestLobby_Text_27C340, 4
+ goto LilycoveCity_ContestLobby_EventScript_21A90D
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A963:: @ 821A963
+ msgbox LilycoveCity_ContestLobby_Text_27C5B1, 4
+ goto LilycoveCity_ContestLobby_EventScript_21A90D
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A971:: @ 821A971
+ msgbox LilycoveCity_ContestLobby_Text_27C742, 4
+ goto LilycoveCity_ContestLobby_EventScript_21A90D
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A97F:: @ 821A97F
+ special sub_80097E8
+ msgbox LilycoveCity_ContestLobby_Text_27BD4F, 4
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A98C:: @ 821A98C
+ msgbox LilycoveCity_ContestLobby_Text_27C1C3, 4
+ setvar VAR_CONTEST_RANK, 0
+ choosecontestpkmn
+ compare_var_to_value VAR_0x8004, 255
+ goto_eq LilycoveCity_ContestLobby_EventScript_21A97F
+ special sub_80F7F30
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_21A9E0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_21AA0A
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq LilycoveCity_ContestLobby_EventScript_21AA0A
+ compare_var_to_value VAR_RESULT, 3
+ goto_eq LilycoveCity_ContestLobby_EventScript_21A9EE
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq LilycoveCity_ContestLobby_EventScript_21A9FC
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A9E0:: @ 821A9E0
+ msgbox LilycoveCity_ContestLobby_Text_27B471, 4
+ goto LilycoveCity_ContestLobby_EventScript_21A98C
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A9EE:: @ 821A9EE
+ msgbox LilycoveCity_ContestLobby_Text_27C186, 4
+ goto LilycoveCity_ContestLobby_EventScript_21A98C
+ end
+
+LilycoveCity_ContestLobby_EventScript_21A9FC:: @ 821A9FC
+ msgbox LilycoveCity_ContestLobby_Text_27C140, 4
+ goto LilycoveCity_ContestLobby_EventScript_21A98C
+ end
+
+LilycoveCity_ContestLobby_EventScript_21AA0A:: @ 821AA0A
+ copyvar VAR_0x8008, VAR_0x8004
+ goto LilycoveCity_ContestLobby_EventScript_21AA15
+ end
+
+LilycoveCity_ContestLobby_EventScript_21AA15:: @ 821AA15
+ compare_var_to_value VAR_0x400D, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_21AB4B
+ compare_var_to_value VAR_0x400D, 2
+ goto_if 4, LilycoveCity_ContestLobby_EventScript_21A97F
+ message LilycoveCity_ContestLobby_Text_27BF85
+ waitmessage
+ copyvar VAR_0x8004, VAR_RESULT
+ compare_var_to_value VAR_0x400C, 0
+ call_if 1, LilycoveCity_ContestLobby_EventScript_21AABB
+ compare_var_to_value VAR_0x400C, 1
+ call_if 1, LilycoveCity_ContestLobby_EventScript_21AAC0
+ compare_var_to_value VAR_0x400C, 2
+ goto_if 4, LilycoveCity_ContestLobby_EventScript_21A97F
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq LilycoveCity_ContestLobby_EventScript_21AAD3
+ compare_var_to_value VAR_RESULT, 3
+ goto_eq LilycoveCity_ContestLobby_EventScript_21AAD3
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq LilycoveCity_ContestLobby_EventScript_21A97F
+ compare_var_to_value VAR_RESULT, 6
+ goto_eq LilycoveCity_ContestLobby_EventScript_21AAEF
+ compare_var_to_value VAR_RESULT, 10
+ goto_eq LilycoveCity_ContestLobby_EventScript_21AAE1
+ message3 LilycoveCity_ContestLobby_Text_27BEEC
+ contestlinktransfer
+ switch VAR_0x8004
+ case 0, LilycoveCity_ContestLobby_EventScript_21AB17
+ case 1, LilycoveCity_ContestLobby_EventScript_21AAC5
+ case 2, LilycoveCity_ContestLobby_EventScript_21AB09
+ end
+
+LilycoveCity_ContestLobby_EventScript_21AABB:: @ 821AABB
+ special sub_80B3028
+ waitstate
+ return
+
+LilycoveCity_ContestLobby_EventScript_21AAC0:: @ 821AAC0
+ special sub_80B3000
+ waitstate
+ return
+
+LilycoveCity_ContestLobby_EventScript_21AAC5:: @ 821AAC5
+ msgbox LilycoveCity_ContestLobby_Text_27BF0E, 4
+ goto LilycoveCity_ContestLobby_EventScript_21A97F
+ end
+
+LilycoveCity_ContestLobby_EventScript_21AAD3:: @ 821AAD3
+ msgbox LilycoveCity_ContestLobby_Text_27BF4B, 4
+ goto LilycoveCity_ContestLobby_EventScript_21A97F
+ end
+
+LilycoveCity_ContestLobby_EventScript_21AAE1:: @ 821AAE1
+ msgbox LilycoveCity_ContestLobby_Text_27C254, 4
+ goto LilycoveCity_ContestLobby_EventScript_21A97F
+ end
+
+LilycoveCity_ContestLobby_EventScript_21AAEF:: @ 821AAEF
+ special sub_80097E8
+ msgbox LilycoveCity_ContestLobby_Text_27821C, 4
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_21AAFC:: @ 821AAFC
+ special sub_80097E8
+ msgbox LilycoveCity_ContestLobby_Text_27C879, 4
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_21AB09:: @ 821AB09
+ msgbox LilycoveCity_ContestLobby_Text_27BEFA, 4
+ goto LilycoveCity_ContestLobby_EventScript_21A97F
+ end
+
+LilycoveCity_ContestLobby_EventScript_21AB17:: @ 821AB17
+ special sub_80F84B0
+ addvar VAR_0x8004, 1
+ buffernumberstring 1, VAR_0x8004
+ messageautoscroll LilycoveCity_ContestLobby_Text_27BFF8
+ waitmessage
+ subvar VAR_0x8004, 1
+ call LilycoveCity_ContestLobby_EventScript_21AC49
+ setvar VAR_0x4086, 1
+ special sub_80F8AFC
+ setvar VAR_0x4088, 5
+ setvar VAR_CONTEST_RANK, 3
+ call LilycoveCity_ContestLobby_EventScript_21A5EF
+ end
+
+LilycoveCity_ContestLobby_EventScript_21AB4B:: @ 821AB4B
+ compare_var_to_value VAR_CONTEST_CATEGORY, 0
+ call_if 1, LilycoveCity_ContestLobby_EventScript_21AB88
+ compare_var_to_value VAR_CONTEST_CATEGORY, 1
+ call_if 1, LilycoveCity_ContestLobby_EventScript_21AB8E
+ compare_var_to_value VAR_CONTEST_CATEGORY, 2
+ call_if 1, LilycoveCity_ContestLobby_EventScript_21AB94
+ compare_var_to_value VAR_CONTEST_CATEGORY, 3
+ call_if 1, LilycoveCity_ContestLobby_EventScript_21AB9A
+ compare_var_to_value VAR_CONTEST_CATEGORY, 4
+ call_if 1, LilycoveCity_ContestLobby_EventScript_21ABA0
+ goto LilycoveCity_ContestLobby_EventScript_21ABA6
+ end
+
+LilycoveCity_ContestLobby_EventScript_21AB88:: @ 821AB88
+ setvar VAR_0x8004, 15
+ return
+
+LilycoveCity_ContestLobby_EventScript_21AB8E:: @ 821AB8E
+ setvar VAR_0x8004, 16
+ return
+
+LilycoveCity_ContestLobby_EventScript_21AB94:: @ 821AB94
+ setvar VAR_0x8004, 17
+ return
+
+LilycoveCity_ContestLobby_EventScript_21AB9A:: @ 821AB9A
+ setvar VAR_0x8004, 18
+ return
+
+LilycoveCity_ContestLobby_EventScript_21ABA0:: @ 821ABA0
+ setvar VAR_0x8004, 19
+ return
+
+LilycoveCity_ContestLobby_EventScript_21ABA6:: @ 821ABA6
+ message LilycoveCity_ContestLobby_Text_27C1EA
+ waitmessage
+ multichoice 16, 6, 81, 0
+ switch VAR_RESULT
+ case 0, LilycoveCity_ContestLobby_EventScript_21AC0B
+ case 1, LilycoveCity_ContestLobby_EventScript_21ABE3
+ case 2, LilycoveCity_ContestLobby_EventScript_21A97F
+ case 127, LilycoveCity_ContestLobby_EventScript_21A97F
+ end
+
+LilycoveCity_ContestLobby_EventScript_21ABE3:: @ 821ABE3
+ call LilycoveCity_ContestLobby_EventScript_21AC33
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_21AC3D
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq LilycoveCity_ContestLobby_EventScript_21ABA6
+ compare_var_to_value VAR_RESULT, 8
+ goto_eq LilycoveCity_ContestLobby_EventScript_21ABE3
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_21AC0B:: @ 821AC0B
+ call LilycoveCity_ContestLobby_EventScript_21AC38
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_21AC3D
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq LilycoveCity_ContestLobby_EventScript_21ABA6
+ compare_var_to_value VAR_RESULT, 8
+ goto_eq LilycoveCity_ContestLobby_EventScript_21AC0B
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_21AC33:: @ 821AC33
+ special BerryBlenderLinkBecomeLeader
+ waitstate
+ return
+
+LilycoveCity_ContestLobby_EventScript_21AC38:: @ 821AC38
+ special BerryBlenderLinkJoinGroup
+ waitstate
+ return
+
+LilycoveCity_ContestLobby_EventScript_21AC3D:: @ 821AC3D
+ message3 LilycoveCity_ContestLobby_Text_27BEEC
+ contestlinktransfer
+ goto LilycoveCity_ContestLobby_EventScript_21AB17
+ end
+
+LilycoveCity_ContestLobby_EventScript_21AC49:: @ 821AC49
+ messageautoscroll LilycoveCity_ContestLobby_Text_27C043
+ waitmessage
+ delay 20
+ closemessage
+ applymovement 2, LilycoveCity_ContestLobby_Movement_21ACDD
+ waitmovement 0
+ playse SE_HASHI
+ setmetatile 17, 2, 545, 1
+ setmetatile 17, 3, 609, 1
+ special DrawWholeMapView
+ applymovement 2, LilycoveCity_ContestLobby_Movement_21ACE1
+ waitmovement 0
+ playse SE_HASHI
+ setmetatile 17, 2, 721, 1
+ setmetatile 17, 3, 729, 1
+ special DrawWholeMapView
+ delay 20
+ applymovement 2, LilycoveCity_ContestLobby_Movement_21ACEF
+ waitmovement 0
+ applymovement 255, LilycoveCity_ContestLobby_Movement_21ACDB
+ waitmovement 0
+ messageautoscroll LilycoveCity_ContestLobby_Text_27B653
+ waitmessage
+ delay 20
+ closemessage
+ call LilycoveCity_ContestLobby_EventScript_27AD92
+ applymovement 2, LilycoveCity_ContestLobby_Movement_21ACE5
+ applymovement 255, LilycoveCity_ContestLobby_Movement_21ACD0
+ waitmovement 0
+ release
+ return
+
+LilycoveCity_ContestLobby_Movement_21ACD0: @ 821ACD0
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_up
+ step_up
+ step_up
+ step_13
+ step_54
+ step_end
+
+LilycoveCity_ContestLobby_Movement_21ACDB: @ 821ACDB
+ step_right
+ step_end
+
+LilycoveCity_ContestLobby_Movement_21ACDD: @ 821ACDD
+ step_right
+ step_right
+ step_25
+ step_end
+
+LilycoveCity_ContestLobby_Movement_21ACE1: @ 821ACE1
+ step_down
+ step_down
+ step_26
+ step_end
+
+LilycoveCity_ContestLobby_Movement_21ACE5: @ 821ACE5
+ step_right
+ step_right
+ step_right
+ step_right
+ step_up
+ step_up
+ step_up
+ step_13
+ step_54
+ step_end
+
+LilycoveCity_ContestLobby_Movement_21ACEF: @ 821ACEF
+ step_27
+ step_end
+
+LilycoveCity_ContestLobby_EventScript_21ACF1:: @ 821ACF1
+ lock
+ faceplayer
+ checkflag FLAG_0x05F
+ goto_eq LilycoveCity_ContestLobby_EventScript_21AD06
+ msgbox LilycoveCity_ContestLobby_Text_21AD10, 4
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_21AD06:: @ 821AD06
+ msgbox LilycoveCity_ContestLobby_Text_21AD55, 4
+ release
+ end
+
+LilycoveCity_ContestLobby_Text_21AD10: @ 821AD10
+ .string "Yippee!\p"
+ .string "The lady at the reception counter\n"
+ .string "gave me a case for {POKEBLOCK}S!$"
+
+LilycoveCity_ContestLobby_Text_21AD55: @ 821AD55
+ .string "Make {POKEBLOCK}S and put them in there.\p"
+ .string "When you make a {POKEBLOCK}, everyone\n"
+ .string "has to put in a different BERRY.$"
+
+LilycoveCity_ContestLobby_Text_21ADB9: @ 821ADB9
+ .string "Congratulations!\p"
+ .string "I did a painting of your POKéMON to\n"
+ .string "commemorate its victory…\p"
+ .string "Well, your POKéMON’s appeals were\n"
+ .string "so fantastic, it spurred me into\l"
+ .string "painting better than I usually do.\l"
+ .string "Look, see?$"
+
+LilycoveCity_ContestLobby_Text_21AE78: @ 821AE78
+ .string "What do you think? I’m confident in\n"
+ .string "what I’ve done, but do you like it?\p"
+ .string "A work of this caliber, it wouldn’t look\n"
+ .string "out of place in an art museum.\p"
+ .string "Huh? An art museum really is looking\n"
+ .string "for paintings?\p"
+ .string "Do you think I should take this there?$"
+
+LilycoveCity_ContestLobby_Text_21AF63: @ 821AF63
+ .string "What, really? Then, sure, I will take\n"
+ .string "this painting there right now.\p"
+ .string "I’ll give it a proper title, too.\p"
+ .string "I hope they’ll like it and consider\n"
+ .string "exhibiting this.\p"
+ .string "Please check if they did accept this.\n"
+ .string "Thank you!$"
+
+LilycoveCity_ContestLobby_Text_21B030: @ 821B030
+ .string "Oh, that’s right!\p"
+ .string "As a memento of me painting your\n"
+ .string "POKéMON, please take this.$"
+
+LilycoveCity_ContestLobby_Text_21B07E: @ 821B07E
+ .string "{PLAYER} received a RIBBON.$"
+
+LilycoveCity_ContestLobby_Text_21B094: @ 821B094
+ .string "{PLAYER} put the RIBBON on\n"
+ .string "{STR_VAR_1}.$"
+
+LilycoveCity_ContestLobby_Text_21B0AD: @ 821B0AD
+ .string "Okay, see you!$"
+
+LilycoveCity_ContestLobby_Text_21B0BC: @ 821B0BC
+ .string "Oh… Then, I guess I’ll just take\n"
+ .string "this home with me…\p"
+ .string "But, you know, I would like to take\n"
+ .string "this to the art museum… Okay?$"
+
+LilycoveCity_ContestLobby_Text_21B132: @ 821B132
+ .string "Oh, fine, that’s the way it is.\n"
+ .string "I will hang this in my own house.\p"
+ .string "I’ll just have to try harder next time.\n"
+ .string "Well, be seeing you.$"
+
+LilycoveCity_ContestLobby_Text_21B1B1: @ 821B1B1
+ .string "Hoo, boy… Master Rank CONTESTS,\n"
+ .string "here I come.\p"
+ .string "The world will know that my dearest\n"
+ .string "POKéMON is the cutest being in all\l"
+ .string "existence. The time has come!\l"
+ .string "Uheheheh.$"
+
+LilycoveCity_ContestLobby_Text_21B24D: @ 821B24D
+ .string "You can see a whole variety of\n"
+ .string "POKéMON here.\p"
+ .string "That’s why I make this place a regular\n"
+ .string "part of my daily stroll.$"
+
+LilycoveCity_ContestLobby_Text_21B2BA: @ 821B2BA
+ .string "Wow, coming out to a CONTEST is\n"
+ .string "a feast for these eyes!\p"
+ .string "Would you look at all the POKéMON\n"
+ .string "that just scream to be painted?$"
+
+LilycoveCity_ContestLobby_Text_21B334: @ 821B334
+ .string "The TOUGHNESS CONTEST is like\n"
+ .string "extreme, man!\p"
+ .string "Those muscular appeals…\n"
+ .string "Cascading sweat… I swoon!$"
+
+LilycoveCity_ContestLobby_Text_21B392: @ 821B392
+ .string "Day in and day out, I lavished my care\n"
+ .string "on this POKéMON.\p"
+ .string "Its condition is peaking.\n"
+ .string "Today, victory is mine!$"
+
+LilycoveCity_ContestLobby_Text_21B3FC: @ 821B3FC
+ .string "I made {POKEBLOCK}S with Mom, Dad, and\n"
+ .string "Big Sister. They turned out great!\p"
+ .string "I bet you can make smoother, better\n"
+ .string "{POKEBLOCK}S if you have more people.$"
+
diff --git a/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc b/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc
new file mode 100644
index 000000000..5f2b79a5d
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_CoveLilyMotel_1F.inc
@@ -0,0 +1,131 @@
+LilycoveCity_CoveLilyMotel_1F_MapScripts:: @ 8218188
+ .byte 0
+
+LilycoveCity_CoveLilyMotel_1F_EventScript_218189:: @ 8218189
+ lockall
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_eq LilycoveCity_CoveLilyMotel_1F_EventScript_2181EA
+ checkflag FLAG_BADGE07_GET
+ goto_eq LilycoveCity_CoveLilyMotel_1F_EventScript_2181C3
+ msgbox LilycoveCity_CoveLilyMotel_1F_Text_218264, 4
+ applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_27259E
+ waitmovement 0
+ msgbox LilycoveCity_CoveLilyMotel_1F_Text_21831E, 4
+ closemessage
+ applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_2725A2
+ waitmovement 0
+ releaseall
+ end
+
+LilycoveCity_CoveLilyMotel_1F_EventScript_2181C3:: @ 82181C3
+ msgbox LilycoveCity_CoveLilyMotel_1F_Text_2183C3, 4
+ applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_27259E
+ waitmovement 0
+ msgbox LilycoveCity_CoveLilyMotel_1F_Text_218470, 4
+ closemessage
+ applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_2725A2
+ waitmovement 0
+ releaseall
+ end
+
+LilycoveCity_CoveLilyMotel_1F_EventScript_2181EA:: @ 82181EA
+ msgbox LilycoveCity_CoveLilyMotel_1F_Text_218544, 4
+ applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_27259E
+ waitmovement 0
+ msgbox LilycoveCity_CoveLilyMotel_1F_Text_2185F4, 4
+ closemessage
+ applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_2725A2
+ waitmovement 0
+ releaseall
+ end
+
+LilycoveCity_CoveLilyMotel_1F_EventScript_218211:: @ 8218211
+ lockall
+ playse SE_PIN
+ applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_272598
+ waitmovement 0
+ applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_27259A
+ waitmovement 0
+ applymovement 255, LilycoveCity_CoveLilyMotel_1F_Movement_2725AA
+ waitmovement 0
+ msgbox LilycoveCity_CoveLilyMotel_1F_Text_21839B, 4
+ closemessage
+ applymovement 255, LilycoveCity_CoveLilyMotel_1F_Movement_218259
+ applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_21825E
+ waitmovement 0
+ applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_218260
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_CoveLilyMotel_1F_Movement_218259: @ 8218259
+ step_03
+ step_40
+ step_left
+ step_41
+ step_end
+
+LilycoveCity_CoveLilyMotel_1F_Movement_21825E: @ 821825E
+ step_up
+ step_end
+
+LilycoveCity_CoveLilyMotel_1F_Movement_218260: @ 8218260
+ step_00
+ step_down
+ step_01
+ step_end
+
+LilycoveCity_CoveLilyMotel_1F_Text_218264: @ 8218264
+ .string "Hm, so they doubled the guests by\n"
+ .string "using POKéMON as attractions?\p"
+ .string "Hm, well, maybe I should make a cute\n"
+ .string "POKéMON our inn’s mascot.\p"
+ .string "I wonder if that will attract more\n"
+ .string "guests to stay with us?$"
+
+LilycoveCity_CoveLilyMotel_1F_Text_21831E: @ 821831E
+ .string "Oh, sorry, sorry!\n"
+ .string "I was too involved in watching TV!\p"
+ .string "Since that TEAM AQUA came to town,\n"
+ .string "the tourists have been staying away.$"
+
+LilycoveCity_CoveLilyMotel_1F_Text_21839B: @ 821839B
+ .string "Hey, down in front!\n"
+ .string "I can’t see the TV!$"
+
+LilycoveCity_CoveLilyMotel_1F_Text_2183C3: @ 82183C3
+ .string "Amazing! You’re telling me a POKéMON\n"
+ .string "found someone’s lost item?\p"
+ .string "That’s something. If we had some smart\n"
+ .string "POKéMON like that…\p"
+ .string "We could recover anything that our\n"
+ .string "guests mislaid…$"
+
+LilycoveCity_CoveLilyMotel_1F_Text_218470: @ 8218470
+ .string "Oh, sorry, sorry!\n"
+ .string "I was too involved in watching TV!\p"
+ .string "I heard that someone busted\n"
+ .string "the TEAM AQUA HIDEOUT.\p"
+ .string "Thanks to that, we just booked\n"
+ .string "a reservation from a big group.\p"
+ .string "It was a company called… Uh…\n"
+ .string "GAME something…$"
+
+LilycoveCity_CoveLilyMotel_1F_Text_218544: @ 8218544
+ .string "Amazing! A house-sitting POKéMON\n"
+ .string "caught a burglar?\p"
+ .string "That’s something. If we had a tough\n"
+ .string "POKéMON as a security guard…\p"
+ .string "We would be able to provide our guests\n"
+ .string "with greater safety.$"
+
+LilycoveCity_CoveLilyMotel_1F_Text_2185F4: @ 82185F4
+ .string "Oh, sorry, sorry!\n"
+ .string "I was too involved in watching TV.\p"
+ .string "Oh, yes. A big group of guests arrived\n"
+ .string "a little while ago.\p"
+ .string "They booked in as GAME FREAK,\n"
+ .string "so I guess they must make games.\p"
+ .string "Uh-oh, I’d better get working on\n"
+ .string "their dinner!$"
+
diff --git a/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc b/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc
new file mode 100644
index 000000000..2ec5d8cab
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_CoveLilyMotel_2F.inc
@@ -0,0 +1,140 @@
+LilycoveCity_CoveLilyMotel_2F_MapScripts:: @ 82186D2
+ .byte 0
+
+LilycoveCity_CoveLilyMotel_2F_EventScript_2186D3:: @ 82186D3
+ lock
+ faceplayer
+ checkflag FLAG_0x002
+ call_if 0, LilycoveCity_CoveLilyMotel_2F_EventScript_2186F9
+ checkflag FLAG_0x002
+ call_if 1, LilycoveCity_CoveLilyMotel_2F_EventScript_21870F
+ specialvar VAR_RESULT, sub_80C08E4
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_CoveLilyMotel_2F_EventScript_218702
+ release
+ end
+
+LilycoveCity_CoveLilyMotel_2F_EventScript_2186F9:: @ 82186F9
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_218774, 4
+ return
+
+LilycoveCity_CoveLilyMotel_2F_EventScript_218702:: @ 8218702
+ setflag FLAG_0x002
+ playfanfare BGM_FANFA4
+ waitfanfare
+ goto LilycoveCity_CoveLilyMotel_2F_EventScript_21870F
+ end
+
+LilycoveCity_CoveLilyMotel_2F_EventScript_21870F:: @ 821870F
+ message LilycoveCity_CoveLilyMotel_2F_Text_21881C
+ waitmessage
+ call LilycoveCity_CoveLilyMotel_2F_EventScript_27207E
+ special sub_8137CB4
+ waitstate
+ release
+ end
+
+LilycoveCity_CoveLilyMotel_2F_EventScript_218720:: @ 8218720
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_2188D6, 2
+ end
+
+LilycoveCity_CoveLilyMotel_2F_EventScript_218729:: @ 8218729
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_21892B, 2
+ end
+
+LilycoveCity_CoveLilyMotel_2F_EventScript_218732:: @ 8218732
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_21896C, 2
+ end
+
+LilycoveCity_CoveLilyMotel_2F_EventScript_21873B:: @ 821873B
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_218A21, 2
+ end
+
+LilycoveCity_CoveLilyMotel_2F_EventScript_218744:: @ 8218744
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_218A5B, 2
+ end
+
+LilycoveCity_CoveLilyMotel_2F_EventScript_21874D:: @ 821874D
+ lock
+ faceplayer
+ checkflag FLAG_0x1CE
+ goto_eq LilycoveCity_CoveLilyMotel_2F_EventScript_21876A
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_218ACF, 4
+ addvar VAR_0x40D1, 1
+ setflag FLAG_0x1CE
+ release
+ end
+
+LilycoveCity_CoveLilyMotel_2F_EventScript_21876A:: @ 821876A
+ msgbox LilycoveCity_CoveLilyMotel_2F_Text_218C33, 4
+ release
+ end
+
+LilycoveCity_CoveLilyMotel_2F_Text_218774: @ 8218774
+ .string "I’m the GAME DESIGNER.\p"
+ .string "Oh, is that right?\n"
+ .string "You’re working on a POKéDEX?\p"
+ .string "It’s tough trying to complete it,\n"
+ .string "but don’t give up.\p"
+ .string "If you do complete it, please come\n"
+ .string "show me.$"
+
+LilycoveCity_CoveLilyMotel_2F_Text_21881C: @ 821881C
+ .string "Wow! That’s awesome!\n"
+ .string "Yep, it’s totally awesome!\p"
+ .string "This POKéDEX is completely filled!\n"
+ .string "You really must love POKéMON!\p"
+ .string "I’m so impressed!\p"
+ .string "Let me give you something in\n"
+ .string "recognition of your feat!$"
+
+LilycoveCity_CoveLilyMotel_2F_Text_2188D6: @ 82188D6
+ .string "Me? You’re talking to me?\n"
+ .string "I’m the PROGRAMMER.\p"
+ .string "I wonder what the SLOTS are\n"
+ .string "like here.$"
+
+LilycoveCity_CoveLilyMotel_2F_Text_21892B: @ 821892B
+ .string "I’m the GRAPHIC ARTIST! Aren’t the\n"
+ .string "POKéMON of HOENN interesting?$"
+
+LilycoveCity_CoveLilyMotel_2F_Text_21896C: @ 821896C
+ .string "The girl TUBERS, they’re cute, hey?\n"
+ .string "To battle against a cute TUBER…\p"
+ .string "Whoop, it’s so awesome!\p"
+ .string "And the TWINS! Aren’t they cute?\n"
+ .string "A 2-on-2 battle with TWINS…\p"
+ .string "Whoop, it’s unbearably fun!$"
+
+LilycoveCity_CoveLilyMotel_2F_Text_218A21: @ 8218A21
+ .string "The sea breeze tickles my heart.\n"
+ .string "It feels wonderful here!$"
+
+LilycoveCity_CoveLilyMotel_2F_Text_218A5B: @ 8218A5B
+ .string "You never know when and where\n"
+ .string "people will challenge you.\p"
+ .string "That’s why I never leave home without\n"
+ .string "my GAME BOY ADVANCE.$"
+
+LilycoveCity_CoveLilyMotel_2F_Text_218ACF: @ 8218ACF
+ .string "SCOTT: … … … … …\n"
+ .string "… … … … … Zzz…\p"
+ .string "… … … … … Huh?!\n"
+ .string "Oh, sorry, sorry! I was snoozing!\p"
+ .string "I came to check out this POKéMON\n"
+ .string "CONTEST thing.\p"
+ .string "I have to admit, it does look quite\n"
+ .string "entertaining, but…\p"
+ .string "Consider me a purist--I prefer\n"
+ .string "battles and tough TRAINERS.\p"
+ .string "But that’s just me.\p"
+ .string "{PLAYER}{KUN}, I hope you’ll enjoy everything\n"
+ .string "like the GYMS, CONTESTS, BATTLE TENT,\l"
+ .string "the whole works!$"
+
+LilycoveCity_CoveLilyMotel_2F_Text_218C33: @ 8218C33
+ .string "SCOTT: I think it does take strategy\n"
+ .string "to win a CONTEST.\p"
+ .string "Devising CONTEST strategies is one way\n"
+ .string "of becoming a better TRAINER, I’d say.$"
+
diff --git a/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc b/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc
new file mode 100644
index 000000000..65ed3e6ee
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_DepartmentStoreElevator.inc
@@ -0,0 +1,129 @@
+LilycoveCity_DepartmentStoreElevator_MapScripts:: @ 8220623
+ .byte 0
+
+LilycoveCity_DepartmentStoreElevator_EventScript_220624:: @ 8220624
+ lock
+ faceplayer
+ setvar VAR_0x8004, 0
+ checkflag FLAG_0x002
+ call_if 0, LilycoveCity_DepartmentStoreElevator_EventScript_2207FC
+ copyvar VAR_0x8005, VAR_DEPT_STORE_FLOOR
+ special sub_8139B60
+ message gUnknown_08272C1D
+ waitmessage
+ setvar VAR_0x8004, 0
+ specialvar VAR_RESULT, sub_81399F4
+ switch VAR_RESULT
+ case 0, LilycoveCity_DepartmentStoreElevator_EventScript_220689
+ case 1, LilycoveCity_DepartmentStoreElevator_EventScript_220695
+ case 2, LilycoveCity_DepartmentStoreElevator_EventScript_2206A1
+ case 3, LilycoveCity_DepartmentStoreElevator_EventScript_2206AD
+ case 4, LilycoveCity_DepartmentStoreElevator_EventScript_2206B9
+ end
+
+LilycoveCity_DepartmentStoreElevator_EventScript_220689:: @ 8220689
+ multichoicedefault 0, 0, 57, 0, 0
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_2206C5
+ end
+
+LilycoveCity_DepartmentStoreElevator_EventScript_220695:: @ 8220695
+ multichoicedefault 0, 0, 57, 1, 0
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_2206C5
+ end
+
+LilycoveCity_DepartmentStoreElevator_EventScript_2206A1:: @ 82206A1
+ multichoicedefault 0, 0, 57, 2, 0
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_2206C5
+ end
+
+LilycoveCity_DepartmentStoreElevator_EventScript_2206AD:: @ 82206AD
+ multichoicedefault 0, 0, 57, 3, 0
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_2206C5
+ end
+
+LilycoveCity_DepartmentStoreElevator_EventScript_2206B9:: @ 82206B9
+ multichoicedefault 0, 0, 57, 4, 0
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_2206C5
+ end
+
+LilycoveCity_DepartmentStoreElevator_EventScript_2206C5:: @ 82206C5
+ switch VAR_RESULT
+ case 0, LilycoveCity_DepartmentStoreElevator_EventScript_2207B8
+ case 1, LilycoveCity_DepartmentStoreElevator_EventScript_220790
+ case 2, LilycoveCity_DepartmentStoreElevator_EventScript_220768
+ case 3, LilycoveCity_DepartmentStoreElevator_EventScript_220740
+ case 4, LilycoveCity_DepartmentStoreElevator_EventScript_220718
+ case 5, LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
+ case 127, LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
+ end
+
+LilycoveCity_DepartmentStoreElevator_EventScript_220718:: @ 8220718
+ setvar VAR_0x8006, 4
+ setdynamicwarp LILYCOVE_CITY_DEPARTMENT_STORE_1F, 255, 2, 1
+ compare_var_to_value VAR_DEPT_STORE_FLOOR, 4
+ goto_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
+ call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5
+ setvar VAR_DEPT_STORE_FLOOR, 4
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
+ end
+
+LilycoveCity_DepartmentStoreElevator_EventScript_220740:: @ 8220740
+ setvar VAR_0x8006, 5
+ setdynamicwarp LILYCOVE_CITY_DEPARTMENT_STORE_2F, 255, 2, 1
+ compare_var_to_value VAR_DEPT_STORE_FLOOR, 5
+ goto_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
+ call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5
+ setvar VAR_DEPT_STORE_FLOOR, 5
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
+ end
+
+LilycoveCity_DepartmentStoreElevator_EventScript_220768:: @ 8220768
+ setvar VAR_0x8006, 6
+ setdynamicwarp LILYCOVE_CITY_DEPARTMENT_STORE_3F, 255, 2, 1
+ compare_var_to_value VAR_DEPT_STORE_FLOOR, 6
+ goto_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
+ call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5
+ setvar VAR_DEPT_STORE_FLOOR, 6
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
+ end
+
+LilycoveCity_DepartmentStoreElevator_EventScript_220790:: @ 8220790
+ setvar VAR_0x8006, 7
+ setdynamicwarp LILYCOVE_CITY_DEPARTMENT_STORE_4F, 255, 2, 1
+ compare_var_to_value VAR_DEPT_STORE_FLOOR, 7
+ goto_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
+ call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5
+ setvar VAR_DEPT_STORE_FLOOR, 7
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
+ end
+
+LilycoveCity_DepartmentStoreElevator_EventScript_2207B8:: @ 82207B8
+ setvar VAR_0x8006, 8
+ setdynamicwarp LILYCOVE_CITY_DEPARTMENT_STORE_5F, 255, 2, 1
+ compare_var_to_value VAR_DEPT_STORE_FLOOR, 8
+ goto_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
+ call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5
+ setvar VAR_DEPT_STORE_FLOOR, 8
+ goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
+ end
+
+LilycoveCity_DepartmentStoreElevator_EventScript_2207E0:: @ 82207E0
+ special sub_8139C10
+ release
+ end
+
+LilycoveCity_DepartmentStoreElevator_EventScript_2207E5:: @ 82207E5
+ special sub_8139C10
+ closemessage
+ applymovement VAR_LAST_TALKED, LilycoveCity_DepartmentStoreElevator_Movement_2725AA
+ waitmovement 0
+ waitse
+ special sub_8139A78
+ waitstate
+ setflag FLAG_0x002
+ return
+
+LilycoveCity_DepartmentStoreElevator_EventScript_2207FC:: @ 82207FC
+ special sub_8139994
+ return
+
diff --git a/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc b/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc
new file mode 100644
index 000000000..1c28039a1
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_DepartmentStoreRooftop.inc
@@ -0,0 +1,238 @@
+LilycoveCity_DepartmentStoreRooftop_MapScripts:: @ 8220207
+ map_script 3, LilycoveCity_DepartmentStoreRooftop_MapScript1_22020D
+ .byte 0
+
+LilycoveCity_DepartmentStoreRooftop_MapScript1_22020D: @ 822020D
+ getpricereduction 3
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220227
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_22022B
+ end
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_220227:: @ 8220227
+ clearflag FLAG_0x3C2
+ return
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_22022B:: @ 822022B
+ setflag FLAG_0x3C2
+ return
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_22022F:: @ 822022F
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemartdecoration LilycoveCity_DepartmentStoreRooftop_PokemartDecor_220248
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+LilycoveCity_DepartmentStoreRooftop_PokemartDecor_220248: @ 8220248
+ .2byte 39
+ .2byte 35
+ .2byte 36
+ .2byte 37
+ .2byte 40
+ .2byte 33
+ .2byte 41
+ .2byte 38
+ .2byte 34
+ .2byte 45
+ .2byte 46
+ .2byte 47
+ .2byte 117
+ .2byte 112
+ .2byte 0
+ release
+ end
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_220268:: @ 8220268
+ lock
+ faceplayer
+ getpricereduction 3
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220282
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_220463, 4
+ release
+ end
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_220282:: @ 8220282
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_2204C9, 4
+ release
+ end
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_22028C:: @ 822028C
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_220552, 2
+ end
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_220295:: @ 8220295
+ lockall
+ message LilycoveCity_DepartmentStoreRooftop_Text_22056D
+ waitmessage
+ showmoneybox 0, 0, 0
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_2202A6
+ end
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_2202A6:: @ 82202A6
+ multichoice 16, 0, 42, 0
+ copyvar VAR_0x4001, VAR_RESULT
+ switch VAR_0x4001
+ case 0, LilycoveCity_DepartmentStoreRooftop_EventScript_2202E4
+ case 1, LilycoveCity_DepartmentStoreRooftop_EventScript_2202EF
+ case 2, LilycoveCity_DepartmentStoreRooftop_EventScript_2202FA
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_220603, 4
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_22045E
+ end
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_2202E4:: @ 82202E4
+ setvar VAR_0x4000, 26
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_22032F
+ end
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_2202EF:: @ 82202EF
+ setvar VAR_0x4000, 27
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_22032F
+ end
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_2202FA:: @ 82202FA
+ setvar VAR_0x4000, 28
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_22032F
+ end
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_220305:: @ 8220305
+ checkmoney 0xc8, 0
+ return
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_22030C:: @ 822030C
+ checkmoney 0x12c, 0
+ return
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_220313:: @ 8220313
+ checkmoney 0x15e, 0
+ return
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_22031A:: @ 822031A
+ takemoney 0xc8, 0
+ return
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_220321:: @ 8220321
+ takemoney 0x12c, 0
+ return
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_220328:: @ 8220328
+ takemoney 0x15e, 0
+ return
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_22032F:: @ 822032F
+ compare_var_to_value VAR_0x4001, 0
+ call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220305
+ compare_var_to_value VAR_0x4001, 1
+ call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_22030C
+ compare_var_to_value VAR_0x4001, 2
+ call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220313
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220442
+ checkitemspace VAR_0x4000, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450
+ compare_var_to_value VAR_0x4001, 0
+ call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_22031A
+ compare_var_to_value VAR_0x4001, 1
+ call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220321
+ compare_var_to_value VAR_0x4001, 2
+ call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220328
+ updatemoneybox 0, 0
+ nop
+ bufferitemname 0, VAR_0x4000
+ playse SE_JIHANKI
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205A1, 4
+ giveitem VAR_0x4000, 1
+ bufferitemname 1, VAR_0x4000
+ bufferstdstring 2, 14
+ msgbox gUnknown_08272A9A, 4
+ random 64
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, LilycoveCity_DepartmentStoreRooftop_EventScript_220436
+ checkitemspace VAR_0x4000, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450
+ playse SE_JIHANKI
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205C2, 4
+ giveitem VAR_0x4000, 1
+ bufferitemname 1, VAR_0x4000
+ bufferstdstring 2, 14
+ msgbox gUnknown_08272A9A, 4
+ random 64
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, LilycoveCity_DepartmentStoreRooftop_EventScript_220436
+ checkitemspace VAR_0x4000, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450
+ playse SE_JIHANKI
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205C2, 4
+ giveitem VAR_0x4000, 1
+ bufferitemname 1, VAR_0x4000
+ bufferstdstring 2, 14
+ msgbox gUnknown_08272A9A, 4
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_220436
+ end
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_220436:: @ 8220436
+ message LilycoveCity_DepartmentStoreRooftop_Text_22056D
+ waitmessage
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_2202A6
+ end
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_220442:: @ 8220442
+ msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205F1, 4
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_22045E
+ end
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_220450:: @ 8220450
+ msgbox gUnknown_08272A89, 4
+ goto LilycoveCity_DepartmentStoreRooftop_EventScript_22045E
+ end
+
+LilycoveCity_DepartmentStoreRooftop_EventScript_22045E:: @ 822045E
+ hidemoneybox
+ nop
+ nop
+ releaseall
+ end
+
+LilycoveCity_DepartmentStoreRooftop_Text_220463: @ 8220463
+ .string "Don’t they have set dates for their\n"
+ .string "clear-out sales?\p"
+ .string "I watch TV, but they never show any\n"
+ .string "commercials.$"
+
+LilycoveCity_DepartmentStoreRooftop_Text_2204C9: @ 82204C9
+ .string "Yes! I’ve been waiting a long time for\n"
+ .string "this clear-out sale.\p"
+ .string "They have items that you can only get\n"
+ .string "here. I’m going to load up, that I am!$"
+
+LilycoveCity_DepartmentStoreRooftop_Text_220552: @ 8220552
+ .string "Ohh… I’m bone-dry thirsty!$"
+
+LilycoveCity_DepartmentStoreRooftop_Text_22056D: @ 822056D
+ .string "It’s a VENDING MACHINE.\n"
+ .string "Which drink would you like?$"
+
+LilycoveCity_DepartmentStoreRooftop_Text_2205A1: @ 82205A1
+ .string "Clang!\p"
+ .string "A can of {STR_VAR_1} dropped down.$"
+
+LilycoveCity_DepartmentStoreRooftop_Text_2205C2: @ 82205C2
+ .string "Clang!\p"
+ .string "Score! An extra can of {STR_VAR_1}\n"
+ .string "dropped down!$"
+
+LilycoveCity_DepartmentStoreRooftop_Text_2205F1: @ 82205F1
+ .string "Not enough money…$"
+
+LilycoveCity_DepartmentStoreRooftop_Text_220603: @ 8220603
+ .string "Decided against buying a drink.$"
+
diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc
new file mode 100644
index 000000000..ca3259128
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_DepartmentStore_1F.inc
@@ -0,0 +1,193 @@
+LilycoveCity_DepartmentStore_1F_MapScripts:: @ 821F692
+ .byte 0
+
+LilycoveCity_DepartmentStore_1F_EventScript_21F693:: @ 821F693
+ msgbox LilycoveCity_DepartmentStore_1F_Text_21F866, 2
+ end
+
+LilycoveCity_DepartmentStore_1F_EventScript_21F69C:: @ 821F69C
+ lock
+ faceplayer
+ dodailyevents
+ compare_var_to_value VAR_POKELOT_PRIZE, 0
+ goto_if 5, LilycoveCity_DepartmentStore_1F_EventScript_21F7F7
+ checkflag FLAG_0x92A
+ goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F78D
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A6390, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F797
+ setflag FLAG_0x92A
+ message LilycoveCity_DepartmentStore_1F_Text_2A64C8
+ waitmessage
+ special RetrieveLotteryNumber
+ copyvar VAR_0x8008, VAR_RESULT
+ special sub_81397C4
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A650B, 4
+ applymovement 2, LilycoveCity_DepartmentStore_1F_Movement_2725A8
+ waitmovement 0
+ playse SE_PC_ON
+ special sub_8138EC0
+ special PickLotteryCornerTicket
+ delay 220
+ special sub_8138FAC
+ delay 10
+ applymovement 2, LilycoveCity_DepartmentStore_1F_Movement_27259E
+ waitmovement 0
+ compare_var_to_value VAR_0x8004, 0
+ goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7A1
+ incrementgamestat 46
+ compare_var_to_value VAR_0x8006, 0
+ call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F77B
+ compare_var_to_value VAR_0x8006, 1
+ call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F784
+ bufferitemname 0, VAR_0x8005
+ compare_var_to_value VAR_0x8004, 1
+ call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F7B9
+ compare_var_to_value VAR_0x8004, 2
+ call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F7C2
+ compare_var_to_value VAR_0x8004, 3
+ call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F7CB
+ compare_var_to_value VAR_0x8004, 4
+ call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F7D4
+ giveitem_std VAR_0x8005
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7DD
+ special sub_80EE2CC
+ goto LilycoveCity_DepartmentStore_1F_EventScript_21F7AF
+ end
+
+LilycoveCity_DepartmentStore_1F_EventScript_21F77B:: @ 821F77B
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A6592, 4
+ return
+
+LilycoveCity_DepartmentStore_1F_EventScript_21F784:: @ 821F784
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A65E6, 4
+ return
+
+LilycoveCity_DepartmentStore_1F_EventScript_21F78D:: @ 821F78D
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A6496, 4
+ release
+ end
+
+LilycoveCity_DepartmentStore_1F_EventScript_21F797:: @ 821F797
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A64B1, 4
+ release
+ end
+
+LilycoveCity_DepartmentStore_1F_EventScript_21F7A1:: @ 821F7A1
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A663C, 4
+ goto LilycoveCity_DepartmentStore_1F_EventScript_21F7AF
+ end
+
+LilycoveCity_DepartmentStore_1F_EventScript_21F7AF:: @ 821F7AF
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A6831, 4
+ release
+ end
+
+LilycoveCity_DepartmentStore_1F_EventScript_21F7B9:: @ 821F7B9
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A6664, 4
+ return
+
+LilycoveCity_DepartmentStore_1F_EventScript_21F7C2:: @ 821F7C2
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A66A7, 4
+ return
+
+LilycoveCity_DepartmentStore_1F_EventScript_21F7CB:: @ 821F7CB
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A66ED, 4
+ return
+
+LilycoveCity_DepartmentStore_1F_EventScript_21F7D4:: @ 821F7D4
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A6731, 4
+ return
+
+LilycoveCity_DepartmentStore_1F_EventScript_21F7DD:: @ 821F7DD
+ copyvar VAR_0x404D, VAR_0x8004
+ copyvar VAR_POKELOT_PRIZE, VAR_0x8005
+ goto LilycoveCity_DepartmentStore_1F_EventScript_21F7ED
+ end
+
+LilycoveCity_DepartmentStore_1F_EventScript_21F7ED:: @ 821F7ED
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A678C, 4
+ release
+ end
+
+LilycoveCity_DepartmentStore_1F_EventScript_21F7F7:: @ 821F7F7
+ msgbox LilycoveCity_DepartmentStore_1F_Text_2A67E1, 4
+ giveitem_std VAR_POKELOT_PRIZE
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7ED
+ copyvar VAR_0x8004, VAR_0x404D
+ copyvar VAR_0x8005, VAR_POKELOT_PRIZE
+ special sub_80EE2CC
+ setvar VAR_POKELOT_PRIZE, 0
+ setvar VAR_0x404D, 0
+ release
+ end
+
+LilycoveCity_DepartmentStore_1F_EventScript_21F82F:: @ 821F82F
+ msgbox LilycoveCity_DepartmentStore_1F_Text_21F88C, 2
+ end
+
+LilycoveCity_DepartmentStore_1F_EventScript_21F838:: @ 821F838
+ msgbox LilycoveCity_DepartmentStore_1F_Text_21F8F5, 2
+ end
+
+LilycoveCity_DepartmentStore_1F_EventScript_21F841:: @ 821F841
+ msgbox LilycoveCity_DepartmentStore_1F_Text_21F92B, 2
+ end
+
+LilycoveCity_DepartmentStore_1F_EventScript_21F84A:: @ 821F84A
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_AZUMARILL, 0
+ msgbox LilycoveCity_DepartmentStore_1F_Text_21F974, 4
+ waitmoncry
+ release
+ end
+
+LilycoveCity_DepartmentStore_1F_EventScript_21F85D:: @ 821F85D
+ msgbox LilycoveCity_DepartmentStore_1F_Text_21F98A, 3
+ end
+
+LilycoveCity_DepartmentStore_1F_Text_21F866: @ 821F866
+ .string "Welcome to LILYCOVE DEPARTMENT STORE.$"
+
+LilycoveCity_DepartmentStore_1F_Text_21F88C: @ 821F88C
+ .string "Whenever I come to the DEPARTMENT\n"
+ .string "STORE, I always end up buying all sorts\l"
+ .string "of things because it’s so fun.$"
+
+LilycoveCity_DepartmentStore_1F_Text_21F8F5: @ 821F8F5
+ .string "Today, my mom is going to buy me some\n"
+ .string "nice furniture.$"
+
+LilycoveCity_DepartmentStore_1F_Text_21F92B: @ 821F92B
+ .string "I’m buying something for my AZUMARILL\n"
+ .string "as a reward for winning a CONTEST.$"
+
+LilycoveCity_DepartmentStore_1F_Text_21F974: @ 821F974
+ .string "AZUMARILL: Maririroo!$"
+
+LilycoveCity_DepartmentStore_1F_Text_21F98A: @ 821F98A
+ .string "1F: SERVICE COUNTER\n"
+ .string " LOTTERY CORNER\p"
+ .string "2F: TRAINER’S ZONE\p"
+ .string "3F: BATTLE COLLECTION\p"
+ .string "4F: TM CORNER\p"
+ .string "5F: POKé DOLL FLOOR\p"
+ .string "ROOFTOP: ROOFTOP PLAZA$"
+
+LilycoveCity_DepartmentStore_1F_Text_21FA13: @ 821FA13
+ .string "Wireless Communication is a\n"
+ .string "lot of fun, isn’t it?\p"
+ .string "I think it lets you do things that\n"
+ .string "weren’t possible before.\p"
+ .string "For instance, you can now trade\n"
+ .string "with people you couldn’t before.\p"
+ .string "I think it’s going to be exciting!$"
+
+LilycoveCity_DepartmentStore_1F_Text_21FAE5: @ 821FAE5
+ .string "I want to spread the word about how\n"
+ .string "fun Wireless Communication can be.$"
+
diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_2F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_2F.inc
new file mode 100644
index 000000000..8bc6d8b29
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_DepartmentStore_2F.inc
@@ -0,0 +1,80 @@
+LilycoveCity_DepartmentStore_2F_MapScripts:: @ 821FB2C
+ .byte 0
+
+LilycoveCity_DepartmentStore_2F_EventScript_21FB2D:: @ 821FB2D
+ msgbox LilycoveCity_DepartmentStore_2F_Text_21FBAC, 2
+ end
+
+LilycoveCity_DepartmentStore_2F_EventScript_21FB36:: @ 821FB36
+ msgbox LilycoveCity_DepartmentStore_2F_Text_21FBDF, 2
+ end
+
+LilycoveCity_DepartmentStore_2F_EventScript_21FB3F:: @ 821FB3F
+ msgbox LilycoveCity_DepartmentStore_2F_Text_21FC23, 2
+ end
+
+LilycoveCity_DepartmentStore_2F_EventScript_21FB48:: @ 821FB48
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemart LilycoveCity_DepartmentStore_2F_Pokemart_21FB60
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+LilycoveCity_DepartmentStore_2F_Pokemart_21FB60: @ 821FB60
+ .2byte ITEM_POKE_BALL
+ .2byte ITEM_GREAT_BALL
+ .2byte ITEM_ULTRA_BALL
+ .2byte ITEM_ESCAPE_ROPE
+ .2byte ITEM_FULL_HEAL
+ .2byte ITEM_ANTIDOTE
+ .2byte ITEM_PARALYZE_HEAL
+ .2byte ITEM_BURN_HEAL
+ .2byte ITEM_ICE_HEAL
+ .2byte ITEM_AWAKENING
+ .2byte ITEM_FLUFFY_TAIL
+ .2byte ITEM_NONE
+ release
+ end
+
+LilycoveCity_DepartmentStore_2F_EventScript_21FB7A:: @ 821FB7A
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemart LilycoveCity_DepartmentStore_2F_Pokemart_21FB94
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+LilycoveCity_DepartmentStore_2F_Pokemart_21FB94: @ 821FB94
+ .2byte ITEM_POTION
+ .2byte ITEM_SUPER_POTION
+ .2byte ITEM_HYPER_POTION
+ .2byte ITEM_MAX_POTION
+ .2byte ITEM_REVIVE
+ .2byte ITEM_REPEL
+ .2byte ITEM_SUPER_REPEL
+ .2byte ITEM_MAX_REPEL
+ .2byte ITEM_WAVE_MAIL
+ .2byte ITEM_MECH_MAIL
+ .2byte ITEM_NONE
+ release
+ end
+
+LilycoveCity_DepartmentStore_2F_Text_21FBAC: @ 821FBAC
+ .string "Learn to use items properly.\n"
+ .string "That’s basic, really.$"
+
+LilycoveCity_DepartmentStore_2F_Text_21FBDF: @ 821FBDF
+ .string "My husband is waiting at home.\n"
+ .string "What would make a good gift for him?$"
+
+LilycoveCity_DepartmentStore_2F_Text_21FC23: @ 821FC23
+ .string "I’m leaving on a long journey soon.\n"
+ .string "I need to stock up on items.$"
+
diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_3F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_3F.inc
new file mode 100644
index 000000000..1d980f83e
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_DepartmentStore_3F.inc
@@ -0,0 +1,75 @@
+LilycoveCity_DepartmentStore_3F_MapScripts:: @ 821FC64
+ .byte 0
+
+LilycoveCity_DepartmentStore_3F_EventScript_21FC65:: @ 821FC65
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemart LilycoveCity_DepartmentStore_3F_Pokemart_21FC7C
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+LilycoveCity_DepartmentStore_3F_Pokemart_21FC7C: @ 821FC7C
+ .2byte ITEM_PROTEIN
+ .2byte ITEM_CALCIUM
+ .2byte ITEM_IRON
+ .2byte ITEM_ZINC
+ .2byte ITEM_CARBOS
+ .2byte ITEM_HP_UP
+ .2byte ITEM_NONE
+ release
+ end
+
+LilycoveCity_DepartmentStore_3F_EventScript_21FC8C:: @ 821FC8C
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemart LilycoveCity_DepartmentStore_3F_Pokemart_21FCA4
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+LilycoveCity_DepartmentStore_3F_Pokemart_21FCA4: @ 821FCA4
+ .2byte ITEM_X_SPEED
+ .2byte ITEM_X_SPECIAL
+ .2byte ITEM_X_ATTACK
+ .2byte ITEM_X_DEFEND
+ .2byte ITEM_DIRE_HIT
+ .2byte ITEM_GUARD_SPEC
+ .2byte ITEM_X_ACCURACY
+ .2byte ITEM_NONE
+ release
+ end
+
+LilycoveCity_DepartmentStore_3F_EventScript_21FCB6:: @ 821FCB6
+ msgbox LilycoveCity_DepartmentStore_3F_Text_21FCD1, 2
+ end
+
+LilycoveCity_DepartmentStore_3F_EventScript_21FCBF:: @ 821FCBF
+ msgbox LilycoveCity_DepartmentStore_3F_Text_21FD3B, 2
+ end
+
+LilycoveCity_DepartmentStore_3F_EventScript_21FCC8:: @ 821FCC8
+ msgbox LilycoveCity_DepartmentStore_3F_Text_21FDB4, 2
+ end
+
+LilycoveCity_DepartmentStore_3F_Text_21FCD1: @ 821FCD1
+ .string "For quickly toughening up POKéMON,\n"
+ .string "items are the best.\p"
+ .string "PROTEIN boosts ATTACK,\n"
+ .string "and CALCIUM raises SP. ATK.$"
+
+LilycoveCity_DepartmentStore_3F_Text_21FD3B: @ 821FD3B
+ .string "I want my POKéMON to have more\n"
+ .string "endurance.\p"
+ .string "I’m trying to decide whether to raise\n"
+ .string "DEFENSE with IRON, or SP. DEF with ZINC.$"
+
+LilycoveCity_DepartmentStore_3F_Text_21FDB4: @ 821FDB4
+ .string "I gave a CARBOS to my POKéMON,\n"
+ .string "and its SPEED went up.$"
+
diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_4F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_4F.inc
new file mode 100644
index 000000000..b162c4740
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_DepartmentStore_4F.inc
@@ -0,0 +1,72 @@
+LilycoveCity_DepartmentStore_4F_MapScripts:: @ 821FDEA
+ .byte 0
+
+LilycoveCity_DepartmentStore_4F_EventScript_21FDEB:: @ 821FDEB
+ msgbox LilycoveCity_DepartmentStore_4F_Text_21FE50, 2
+ end
+
+LilycoveCity_DepartmentStore_4F_EventScript_21FDF4:: @ 821FDF4
+ msgbox LilycoveCity_DepartmentStore_4F_Text_21FEC7, 2
+ end
+
+LilycoveCity_DepartmentStore_4F_EventScript_21FDFD:: @ 821FDFD
+ msgbox LilycoveCity_DepartmentStore_4F_Text_21FF2D, 2
+ end
+
+LilycoveCity_DepartmentStore_4F_EventScript_21FE06:: @ 821FE06
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemart LilycoveCity_DepartmentStore_4F_Pokemart_21FE20
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+LilycoveCity_DepartmentStore_4F_Pokemart_21FE20: @ 821FE20
+ .2byte ITEM_TM38
+ .2byte ITEM_TM25
+ .2byte ITEM_TM14
+ .2byte ITEM_TM15
+ .2byte ITEM_NONE
+ release
+ end
+
+LilycoveCity_DepartmentStore_4F_EventScript_21FE2C:: @ 821FE2C
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemart LilycoveCity_DepartmentStore_4F_Pokemart_21FE44
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+LilycoveCity_DepartmentStore_4F_Pokemart_21FE44: @ 821FE44
+ .2byte ITEM_TM17
+ .2byte ITEM_TM20
+ .2byte ITEM_TM33
+ .2byte ITEM_TM16
+ .2byte ITEM_NONE
+ release
+ end
+
+LilycoveCity_DepartmentStore_4F_Text_21FE50: @ 821FE50
+ .string "Hmm…\p"
+ .string "An attacking move…\n"
+ .string "Or a defensive move…\p"
+ .string "It’s no easy matter to decide which TM\n"
+ .string "moves should be taught to POKéMON…$"
+
+LilycoveCity_DepartmentStore_4F_Text_21FEC7: @ 821FEC7
+ .string "There are so many different kinds of\n"
+ .string "TM moves.\p"
+ .string "A catalog I read said there are fifty\n"
+ .string "different kinds.$"
+
+LilycoveCity_DepartmentStore_4F_Text_21FF2D: @ 821FF2D
+ .string "I’d like to get all the different TMs,\n"
+ .string "but a POKéMON learns only four moves.$"
+
diff --git a/data/scripts/maps/LilycoveCity_DepartmentStore_5F.inc b/data/scripts/maps/LilycoveCity_DepartmentStore_5F.inc
new file mode 100644
index 000000000..9e07bf4fc
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_DepartmentStore_5F.inc
@@ -0,0 +1,170 @@
+LilycoveCity_DepartmentStore_5F_MapScripts:: @ 821FF7A
+ map_script 4, LilycoveCity_DepartmentStore_5F_MapScript2_21FF80
+ .byte 0
+
+LilycoveCity_DepartmentStore_5F_MapScript2_21FF80: @ 821FF80
+ map_script_2 VAR_0x405E, 1, LilycoveCity_DepartmentStore_5F_EventScript_21FF9A
+ map_script_2 VAR_0x405E, 2, LilycoveCity_DepartmentStore_5F_EventScript_21FF9A
+ map_script_2 VAR_0x405E, 3, LilycoveCity_DepartmentStore_5F_EventScript_21FF9A
+ .2byte 0
+
+LilycoveCity_DepartmentStore_5F_EventScript_21FF9A:: @ 821FF9A
+ setobjectxy 7, 16, 2
+ turnobject 7, 2
+ end
+
+LilycoveCity_DepartmentStore_5F_EventScript_21FFA6:: @ 821FFA6
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_21FFC0
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+LilycoveCity_DepartmentStore_5F_Pokemart_21FFC0: @ 821FFC0
+ .2byte ITEM_X_DEFEND
+ .2byte ITEM_X_SPEED
+ .2byte ITEM_X_ACCURACY
+ .2byte ITEM_SUPER_REPEL
+ .2byte 91
+ .2byte 92
+ .2byte ITEM_SUN_STONE
+ .2byte ITEM_MOON_STONE
+ .2byte ITEM_FIRE_STONE
+ .2byte ITEM_THUNDER_STONE
+ .2byte ITEM_WATER_STONE
+ .2byte ITEM_LEAF_STONE
+ .2byte ITEM_NONE
+ release
+ end
+
+LilycoveCity_DepartmentStore_5F_EventScript_21FFDC:: @ 821FFDC
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_21FFF4
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+LilycoveCity_DepartmentStore_5F_Pokemart_21FFF4: @ 821FFF4
+ .2byte 101
+ .2byte 102
+ .2byte ITEM_BIG_MUSHROOM
+ .2byte 105
+ .2byte ITEM_PEARL
+ .2byte ITEM_BIG_PEARL
+ .2byte ITEM_STARDUST
+ .2byte ITEM_STAR_PIECE
+ .2byte ITEM_NUGGET
+ .2byte ITEM_NONE
+ release
+ end
+
+LilycoveCity_DepartmentStore_5F_EventScript_22000A:: @ 822000A
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_220024
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+LilycoveCity_DepartmentStore_5F_Pokemart_220024: @ 8220024
+ .2byte ITEM_CARBOS
+ .2byte ITEM_CALCIUM
+ .2byte ITEM_RARE_CANDY
+ .2byte ITEM_PP_UP
+ .2byte ITEM_ZINC
+ .2byte ITEM_PP_MAX
+ .2byte 72
+ .2byte ITEM_GUARD_SPEC
+ .2byte ITEM_DIRE_HIT
+ .2byte ITEM_NONE
+ release
+ end
+
+LilycoveCity_DepartmentStore_5F_EventScript_22003A:: @ 822003A
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemartdecoration2 LilycoveCity_DepartmentStore_5F_Pokemart_220054
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+LilycoveCity_DepartmentStore_5F_Pokemart_220054: @ 8220054
+ .2byte 59
+ .2byte 60
+ .2byte 61
+ .2byte 62
+ .2byte ITEM_HP_UP
+ .2byte ITEM_PROTEIN
+ .2byte ITEM_IRON
+ .2byte ITEM_RED_SHARD
+ .2byte ITEM_BLUE_SHARD
+ .2byte ITEM_YELLOW_SHARD
+ .2byte ITEM_NONE
+ release
+ end
+
+LilycoveCity_DepartmentStore_5F_EventScript_22006C:: @ 822006C
+ msgbox LilycoveCity_DepartmentStore_5F_Text_2200C5, 2
+ end
+
+LilycoveCity_DepartmentStore_5F_EventScript_220075:: @ 8220075
+ lockall
+ applymovement 7, LilycoveCity_DepartmentStore_5F_Movement_27259E
+ waitmovement 0
+ compare_var_to_value VAR_0x405E, 0
+ goto_eq LilycoveCity_DepartmentStore_5F_EventScript_22009C
+ compare_var_to_value VAR_0x405E, 4
+ goto_if 4, LilycoveCity_DepartmentStore_5F_EventScript_22009C
+ goto LilycoveCity_DepartmentStore_5F_EventScript_2200A7
+ end
+
+LilycoveCity_DepartmentStore_5F_EventScript_22009C:: @ 822009C
+ msgbox LilycoveCity_DepartmentStore_5F_Text_22016B, 4
+ closemessage
+ releaseall
+ end
+
+LilycoveCity_DepartmentStore_5F_EventScript_2200A7:: @ 82200A7
+ msgbox LilycoveCity_DepartmentStore_5F_Text_2201C4, 4
+ closemessage
+ applymovement 7, LilycoveCity_DepartmentStore_5F_Movement_2725A6
+ waitmovement 0
+ releaseall
+ end
+
+LilycoveCity_DepartmentStore_5F_EventScript_2200BC:: @ 82200BC
+ msgbox LilycoveCity_DepartmentStore_5F_Text_220122, 2
+ end
+
+LilycoveCity_DepartmentStore_5F_Text_2200C5: @ 82200C5
+ .string "This place is full of cute DOLLS.\p"
+ .string "I should buy some for me, instead of\n"
+ .string "just for my children.$"
+
+LilycoveCity_DepartmentStore_5F_Text_220122: @ 8220122
+ .string "I’m not big enough to raise POKéMON,\n"
+ .string "so I’m getting a cute DOLL instead.$"
+
+LilycoveCity_DepartmentStore_5F_Text_22016B: @ 822016B
+ .string "They sell many cute MATS here.\p"
+ .string "I wonder which one I should get?\n"
+ .string "Maybe I’ll buy them all…$"
+
+LilycoveCity_DepartmentStore_5F_Text_2201C4: @ 82201C4
+ .string "I think they closed the rooftop\n"
+ .string "because the weather is wild today.$"
+
diff --git a/data/scripts/maps/LilycoveCity_Harbor.inc b/data/scripts/maps/LilycoveCity_Harbor.inc
new file mode 100644
index 000000000..8f8d5338f
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_Harbor.inc
@@ -0,0 +1,630 @@
+LilycoveCity_Harbor_MapScripts:: @ 821E000
+ map_script 3, LilycoveCity_Harbor_MapScript1_21E006
+ .byte 0
+
+LilycoveCity_Harbor_MapScript1_21E006: @ 821E006
+ setescapewarp LILYCOVE_CITY, 255, 12, 33
+ end
+
+LilycoveCity_Harbor_EventScript_21E00F:: @ 821E00F
+ lock
+ faceplayer
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_if 0, LilycoveCity_Harbor_EventScript_21E54D
+ call LilycoveCity_Harbor_EventScript_21E194
+ call LilycoveCity_Harbor_EventScript_21E1C6
+ call LilycoveCity_Harbor_EventScript_21E1F8
+ call LilycoveCity_Harbor_EventScript_21E22A
+ call LilycoveCity_Harbor_EventScript_21E25C
+ call LilycoveCity_Harbor_EventScript_21E2A6
+ compare_var_to_value VAR_0x400C, 2
+ goto_eq LilycoveCity_Harbor_EventScript_21E350
+ compare_var_to_value VAR_0x400B, 1
+ goto_eq LilycoveCity_Harbor_EventScript_21E2F0
+ compare_var_to_value VAR_0x400B, 2
+ goto_eq LilycoveCity_Harbor_EventScript_21E320
+ compare_var_to_value VAR_0x400B, 4
+ goto_eq LilycoveCity_Harbor_EventScript_21E350
+ compare_var_to_value VAR_0x400B, 8
+ goto_eq LilycoveCity_Harbor_EventScript_21E41D
+ compare_var_to_value VAR_0x400B, 0
+ goto_if 5, LilycoveCity_Harbor_EventScript_21E44D
+ goto LilycoveCity_Harbor_EventScript_21E080
+ end
+
+LilycoveCity_Harbor_EventScript_21E080:: @ 821E080
+ compare_var_to_value VAR_0x400A, 0
+ goto_eq LilycoveCity_Harbor_EventScript_21E557
+ msgbox LilycoveCity_Harbor_Text_21E758, 4
+ message LilycoveCity_Harbor_Text_21E7ED
+ waitmessage
+ goto LilycoveCity_Harbor_EventScript_21E09F
+ end
+
+LilycoveCity_Harbor_EventScript_21E09F:: @ 821E09F
+ setvar VAR_0x8004, 0
+ special sub_80E2548
+ waitstate
+ special sub_80E2878
+ switch VAR_RESULT
+ case 0, LilycoveCity_Harbor_EventScript_21E149
+ case 1, LilycoveCity_Harbor_EventScript_21E171
+ case 2, LilycoveCity_Harbor_EventScript_21E109
+ case 3, LilycoveCity_Harbor_EventScript_21E119
+ case 4, LilycoveCity_Harbor_EventScript_21E129
+ case 5, LilycoveCity_Harbor_EventScript_21E139
+ case 6, LilycoveCity_Harbor_EventScript_21E626
+ case 127, LilycoveCity_Harbor_EventScript_21E626
+ end
+
+LilycoveCity_Harbor_EventScript_21E109:: @ 821E109
+ call LilycoveCity_Harbor_EventScript_21E5CC
+ warp SOUTHERN_ISLAND_EXTERIOR, 255, 13, 22
+ waitstate
+ release
+ end
+
+LilycoveCity_Harbor_EventScript_21E119:: @ 821E119
+ call LilycoveCity_Harbor_EventScript_21E5CC
+ warp NAVEL_ROCK_HARBOR, 255, 8, 4
+ waitstate
+ release
+ end
+
+LilycoveCity_Harbor_EventScript_21E129:: @ 821E129
+ call LilycoveCity_Harbor_EventScript_21E5CC
+ warp BIRTH_ISLAND_HARBOR, 255, 8, 4
+ waitstate
+ release
+ end
+
+LilycoveCity_Harbor_EventScript_21E139:: @ 821E139
+ call LilycoveCity_Harbor_EventScript_21E5CC
+ warp FARAWAY_ISLAND_ENTRANCE, 255, 13, 38
+ waitstate
+ release
+ end
+
+LilycoveCity_Harbor_EventScript_21E149:: @ 821E149
+ msgbox LilycoveCity_Harbor_Text_21E864, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_Harbor_EventScript_21E5C0
+ setvar VAR_PORTHOLE, 5
+ call LilycoveCity_Harbor_EventScript_21E5CC
+ warp SS_TIDAL_CORRIDOR, 255, 1, 10
+ waitstate
+ release
+ end
+
+LilycoveCity_Harbor_EventScript_21E171:: @ 821E171
+ msgbox LilycoveCity_Harbor_Text_21E880, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_Harbor_EventScript_21E5C0
+ call LilycoveCity_Harbor_EventScript_21E5CC
+ warp BATTLE_FRONTIER_OUTSIDE_WEST, 255, 19, 67
+ waitstate
+ release
+ end
+
+LilycoveCity_Harbor_EventScript_21E194:: @ 821E194
+ setvar VAR_0x400E, 0
+ checkflag FLAG_SYS_HAS_EON_TICKET
+ goto_if 0, LilycoveCity_Harbor_EventScript_27374E
+ checkitem ITEM_EON_TICKET, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_Harbor_EventScript_27374E
+ setvar VAR_0x400E, 1
+ checkflag FLAG_0x1AE
+ goto_eq LilycoveCity_Harbor_EventScript_27374E
+ setvar VAR_0x400E, 2
+ return
+
+LilycoveCity_Harbor_EventScript_21E1C6:: @ 821E1C6
+ setvar VAR_0x400D, 0
+ checkflag FLAG_0x8D5
+ goto_if 0, LilycoveCity_Harbor_EventScript_27374E
+ checkitem ITEM_AURORA_TICKET, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_Harbor_EventScript_27374E
+ setvar VAR_0x400D, 1
+ checkflag FLAG_0x1AF
+ goto_eq LilycoveCity_Harbor_EventScript_27374E
+ setvar VAR_0x400D, 2
+ return
+
+LilycoveCity_Harbor_EventScript_21E1F8:: @ 821E1F8
+ setvar VAR_0x400C, 0
+ checkflag FLAG_0x8D6
+ goto_if 0, LilycoveCity_Harbor_EventScript_27374E
+ checkitem ITEM_OLD_SEA_MAP, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_Harbor_EventScript_27374E
+ setvar VAR_0x400C, 1
+ checkflag FLAG_0x1B0
+ goto_eq LilycoveCity_Harbor_EventScript_27374E
+ setvar VAR_0x400C, 2
+ return
+
+LilycoveCity_Harbor_EventScript_21E22A:: @ 821E22A
+ setvar VAR_0x4009, 0
+ checkflag FLAG_0x8E0
+ goto_if 0, LilycoveCity_Harbor_EventScript_27374E
+ checkitem ITEM_MYSTIC_TICKET, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_Harbor_EventScript_27374E
+ setvar VAR_0x4009, 1
+ checkflag FLAG_0x1DB
+ goto_eq LilycoveCity_Harbor_EventScript_27374E
+ setvar VAR_0x4009, 2
+ return
+
+LilycoveCity_Harbor_EventScript_21E25C:: @ 821E25C
+ setvar VAR_0x400B, 0
+ compare_var_to_value VAR_0x400E, 2
+ call_if 1, LilycoveCity_Harbor_EventScript_21E28E
+ compare_var_to_value VAR_0x400D, 2
+ call_if 1, LilycoveCity_Harbor_EventScript_21E294
+ compare_var_to_value VAR_0x400C, 2
+ call_if 1, LilycoveCity_Harbor_EventScript_21E29A
+ compare_var_to_value VAR_0x4009, 2
+ call_if 1, LilycoveCity_Harbor_EventScript_21E2A0
+ return
+
+LilycoveCity_Harbor_EventScript_21E28E:: @ 821E28E
+ addvar VAR_0x400B, 1
+ return
+
+LilycoveCity_Harbor_EventScript_21E294:: @ 821E294
+ addvar VAR_0x400B, 2
+ return
+
+LilycoveCity_Harbor_EventScript_21E29A:: @ 821E29A
+ addvar VAR_0x400B, 4
+ return
+
+LilycoveCity_Harbor_EventScript_21E2A0:: @ 821E2A0
+ addvar VAR_0x400B, 8
+ return
+
+LilycoveCity_Harbor_EventScript_21E2A6:: @ 821E2A6
+ setvar VAR_0x400A, 0
+ compare_var_to_value VAR_0x400E, 1
+ call_if 1, LilycoveCity_Harbor_EventScript_21E2D8
+ compare_var_to_value VAR_0x400D, 1
+ call_if 1, LilycoveCity_Harbor_EventScript_21E2DE
+ compare_var_to_value VAR_0x400C, 1
+ call_if 1, LilycoveCity_Harbor_EventScript_21E2E4
+ compare_var_to_value VAR_0x4009, 1
+ call_if 1, LilycoveCity_Harbor_EventScript_21E2EA
+ return
+
+LilycoveCity_Harbor_EventScript_21E2D8:: @ 821E2D8
+ addvar VAR_0x400A, 1
+ return
+
+LilycoveCity_Harbor_EventScript_21E2DE:: @ 821E2DE
+ addvar VAR_0x400A, 2
+ return
+
+LilycoveCity_Harbor_EventScript_21E2E4:: @ 821E2E4
+ addvar VAR_0x400A, 4
+ return
+
+LilycoveCity_Harbor_EventScript_21E2EA:: @ 821E2EA
+ addvar VAR_0x400A, 8
+ return
+
+LilycoveCity_Harbor_EventScript_21E2F0:: @ 821E2F0
+ setflag FLAG_0x1AE
+ msgbox LilycoveCity_Harbor_Text_2A68D2, 4
+ closemessage
+ call LilycoveCity_Harbor_EventScript_21E4EE
+ msgbox LilycoveCity_Harbor_Text_2A68FC, 4
+ goto LilycoveCity_Harbor_EventScript_21E30F
+ end
+
+LilycoveCity_Harbor_EventScript_21E30F:: @ 821E30F
+ closemessage
+ call LilycoveCity_Harbor_EventScript_21E514
+ warp SOUTHERN_ISLAND_EXTERIOR, 255, 13, 22
+ waitstate
+ release
+ end
+
+LilycoveCity_Harbor_EventScript_21E320:: @ 821E320
+ setflag FLAG_0x1AF
+ msgbox LilycoveCity_Harbor_Text_2A68D2, 4
+ closemessage
+ call LilycoveCity_Harbor_EventScript_21E4EE
+ msgbox LilycoveCity_Harbor_Text_2C6A71, 4
+ goto LilycoveCity_Harbor_EventScript_21E33F
+ end
+
+LilycoveCity_Harbor_EventScript_21E33F:: @ 821E33F
+ closemessage
+ call LilycoveCity_Harbor_EventScript_21E514
+ warp BIRTH_ISLAND_HARBOR, 255, 8, 4
+ waitstate
+ release
+ end
+
+LilycoveCity_Harbor_EventScript_21E350:: @ 821E350
+ setflag FLAG_0x1B0
+ msgbox LilycoveCity_Harbor_Text_2A6848, 4
+ closemessage
+ call LilycoveCity_Harbor_EventScript_21E4EE
+ msgbox LilycoveCity_Harbor_Text_2C68A5, 4
+ closemessage
+ applymovement 4, LilycoveCity_Harbor_Movement_2725A6
+ waitmovement 0
+ playse SE_PIN
+ applymovement 4, LilycoveCity_Harbor_Movement_272598
+ waitmovement 0
+ applymovement 4, LilycoveCity_Harbor_Movement_27259A
+ waitmovement 0
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, LilycoveCity_Harbor_EventScript_21E656
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, LilycoveCity_Harbor_EventScript_21E661
+ addobject 5
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, LilycoveCity_Harbor_EventScript_21E675
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, LilycoveCity_Harbor_EventScript_21E680
+ msgbox LilycoveCity_Harbor_Text_2C6951, 4
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, LilycoveCity_Harbor_EventScript_21E68B
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, LilycoveCity_Harbor_EventScript_21E696
+ msgbox LilycoveCity_Harbor_Text_2C69AA, 4
+ closemessage
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, LilycoveCity_Harbor_EventScript_21E6A1
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, LilycoveCity_Harbor_EventScript_21E6BA
+ setvar VAR_0x8004, 2
+ call LilycoveCity_Harbor_EventScript_2721E2
+ warp FARAWAY_ISLAND_ENTRANCE, 255, 13, 38
+ waitstate
+ release
+ end
+
+LilycoveCity_Harbor_EventScript_21E40C:: @ 821E40C
+ closemessage
+ call LilycoveCity_Harbor_EventScript_21E514
+ warp FARAWAY_ISLAND_ENTRANCE, 255, 13, 38
+ waitstate
+ release
+ end
+
+LilycoveCity_Harbor_EventScript_21E41D:: @ 821E41D
+ setflag FLAG_0x1DB
+ msgbox LilycoveCity_Harbor_Text_2A68D2, 4
+ closemessage
+ call LilycoveCity_Harbor_EventScript_21E4EE
+ msgbox LilycoveCity_Harbor_Text_2C6A71, 4
+ goto LilycoveCity_Harbor_EventScript_21E43C
+ end
+
+LilycoveCity_Harbor_EventScript_21E43C:: @ 821E43C
+ closemessage
+ call LilycoveCity_Harbor_EventScript_21E514
+ warp NAVEL_ROCK_HARBOR, 255, 8, 4
+ waitstate
+ release
+ end
+
+LilycoveCity_Harbor_EventScript_21E44D:: @ 821E44D
+ msgbox LilycoveCity_Harbor_Text_2A68D2, 4
+ closemessage
+ call LilycoveCity_Harbor_EventScript_21E4EE
+ message LilycoveCity_Harbor_Text_2C6BD4
+ waitmessage
+ setvar VAR_0x8004, 1
+ special sub_80E2548
+ waitstate
+ special sub_80E2878
+ switch VAR_RESULT
+ case 2, LilycoveCity_Harbor_EventScript_21E30F
+ case 3, LilycoveCity_Harbor_EventScript_21E43C
+ case 4, LilycoveCity_Harbor_EventScript_21E33F
+ case 5, LilycoveCity_Harbor_EventScript_21E40C
+ case 6, LilycoveCity_Harbor_EventScript_21E4B6
+ case 127, LilycoveCity_Harbor_EventScript_21E4B6
+ release
+ end
+
+LilycoveCity_Harbor_EventScript_21E4B6:: @ 821E4B6
+ msgbox LilycoveCity_Harbor_Text_2A6A82, 4
+ closemessage
+ applymovement 4, LilycoveCity_Harbor_Movement_2725A6
+ waitmovement 0
+ delay 30
+ removeobject 4
+ delay 30
+ applymovement 1, LilycoveCity_Harbor_Movement_2725AA
+ waitmovement 0
+ showobjectat 1, LILYCOVE_CITY_HARBOR
+ delay 30
+ msgbox LilycoveCity_Harbor_Text_21E842, 4
+ release
+ end
+
+LilycoveCity_Harbor_EventScript_21E4EE:: @ 821E4EE
+ applymovement VAR_LAST_TALKED, LilycoveCity_Harbor_Movement_2725A6
+ waitmovement 0
+ delay 30
+ hideobjectat VAR_LAST_TALKED, LILYCOVE_CITY_HARBOR
+ delay 60
+ addobject 4
+ delay 30
+ applymovement 4, LilycoveCity_Harbor_Movement_27259E
+ waitmovement 0
+ return
+
+LilycoveCity_Harbor_EventScript_21E514:: @ 821E514
+ applymovement 4, LilycoveCity_Harbor_Movement_2725A6
+ waitmovement 0
+ delay 30
+ removeobject 4
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, LilycoveCity_Harbor_EventScript_21E61B
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, LilycoveCity_Harbor_EventScript_21E610
+ delay 30
+ hideobjectat 255, PETALBURG_CITY
+ setvar VAR_0x8004, 2
+ call LilycoveCity_Harbor_EventScript_2721E2
+ return
+
+LilycoveCity_Harbor_EventScript_21E54D:: @ 821E54D
+ msgbox LilycoveCity_Harbor_Text_21E6F1, 4
+ release
+ end
+
+LilycoveCity_Harbor_EventScript_21E557:: @ 821E557
+ msgbox LilycoveCity_Harbor_Text_21E758, 4
+ message LilycoveCity_Harbor_Text_21E7ED
+ waitmessage
+ goto LilycoveCity_Harbor_EventScript_21E09F
+ end
+
+LilycoveCity_Harbor_EventScript_21E56B:: @ 821E56B
+ msgbox LilycoveCity_Harbor_Text_21E792, 4
+ release
+ end
+
+LilycoveCity_Harbor_EventScript_21E575:: @ 821E575
+ msgbox LilycoveCity_Harbor_Text_21E864, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_Harbor_EventScript_21E5C0
+ setvar VAR_PORTHOLE, 5
+ call LilycoveCity_Harbor_EventScript_21E5CC
+ warp SS_TIDAL_CORRIDOR, 255, 1, 10
+ waitstate
+ release
+ end
+
+LilycoveCity_Harbor_EventScript_21E59D:: @ 821E59D
+ msgbox LilycoveCity_Harbor_Text_21E880, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_Harbor_EventScript_21E5C0
+ call LilycoveCity_Harbor_EventScript_21E5CC
+ warp BATTLE_FRONTIER_OUTSIDE_WEST, 255, 19, 67
+ waitstate
+ release
+ end
+
+LilycoveCity_Harbor_EventScript_21E5C0:: @ 821E5C0
+ message LilycoveCity_Harbor_Text_21E8CC
+ waitmessage
+ goto LilycoveCity_Harbor_EventScript_21E09F
+ end
+
+LilycoveCity_Harbor_EventScript_21E5CC:: @ 821E5CC
+ msgbox LilycoveCity_Harbor_Text_21E89D, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, LilycoveCity_Harbor_Movement_2725A6
+ waitmovement 0
+ delay 30
+ hideobjectat VAR_LAST_TALKED, LILYCOVE_CITY_HARBOR
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, LilycoveCity_Harbor_EventScript_21E61B
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, LilycoveCity_Harbor_EventScript_21E610
+ delay 30
+ hideobjectat 255, PETALBURG_CITY
+ setvar VAR_0x8004, 2
+ call LilycoveCity_Harbor_EventScript_2721E2
+ return
+
+LilycoveCity_Harbor_EventScript_21E610:: @ 821E610
+ applymovement 255, LilycoveCity_Harbor_Movement_21E630
+ waitmovement 0
+ return
+
+LilycoveCity_Harbor_EventScript_21E61B:: @ 821E61B
+ applymovement 255, LilycoveCity_Harbor_Movement_21E633
+ waitmovement 0
+ return
+
+LilycoveCity_Harbor_EventScript_21E626:: @ 821E626
+ msgbox LilycoveCity_Harbor_Text_21E842, 4
+ release
+ end
+
+LilycoveCity_Harbor_Movement_21E630: @ 821E630
+ step_right
+ step_26
+ step_end
+
+LilycoveCity_Harbor_Movement_21E633: @ 821E633
+ step_up
+ step_end
+
+LilycoveCity_Harbor_Movement_21E635: @ 821E635
+ step_up
+ step_end
+
+LilycoveCity_Harbor_EventScript_21E637:: @ 821E637
+ lock
+ faceplayer
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_eq LilycoveCity_Harbor_EventScript_21E64C
+ msgbox LilycoveCity_Harbor_Text_21E8EE, 4
+ release
+ end
+
+LilycoveCity_Harbor_EventScript_21E64C:: @ 821E64C
+ msgbox LilycoveCity_Harbor_Text_21E976, 4
+ release
+ end
+
+LilycoveCity_Harbor_EventScript_21E656:: @ 821E656
+ applymovement 4, LilycoveCity_Harbor_Movement_21E66C
+ waitmovement 0
+ return
+
+LilycoveCity_Harbor_EventScript_21E661:: @ 821E661
+ applymovement 4, LilycoveCity_Harbor_Movement_21E671
+ waitmovement 0
+ return
+
+LilycoveCity_Harbor_Movement_21E66C: @ 821E66C
+ step_28
+ step_40
+ step_left
+ step_41
+ step_end
+
+LilycoveCity_Harbor_Movement_21E671: @ 821E671
+ step_40
+ step_down
+ step_41
+ step_end
+
+LilycoveCity_Harbor_EventScript_21E675:: @ 821E675
+ applymovement 5, LilycoveCity_Harbor_Movement_2725A4
+ waitmovement 0
+ return
+
+LilycoveCity_Harbor_EventScript_21E680:: @ 821E680
+ applymovement 5, LilycoveCity_Harbor_Movement_2725AA
+ waitmovement 0
+ return
+
+LilycoveCity_Harbor_EventScript_21E68B:: @ 821E68B
+ applymovement 5, LilycoveCity_Harbor_Movement_2725AA
+ waitmovement 0
+ return
+
+LilycoveCity_Harbor_EventScript_21E696:: @ 821E696
+ applymovement 5, LilycoveCity_Harbor_Movement_2725A4
+ waitmovement 0
+ return
+
+LilycoveCity_Harbor_EventScript_21E6A1:: @ 821E6A1
+ applymovement 5, LilycoveCity_Harbor_Movement_21E6D3
+ applymovement 255, LilycoveCity_Harbor_Movement_21E6D7
+ applymovement 4, LilycoveCity_Harbor_Movement_21E6DC
+ waitmovement 0
+ return
+
+LilycoveCity_Harbor_EventScript_21E6BA:: @ 821E6BA
+ applymovement 5, LilycoveCity_Harbor_Movement_21E6D3
+ applymovement 255, LilycoveCity_Harbor_Movement_21E6E4
+ applymovement 4, LilycoveCity_Harbor_Movement_21E6EA
+ waitmovement 0
+ return
+
+LilycoveCity_Harbor_Movement_21E6D3: @ 821E6D3
+ step_26
+ step_13
+ step_54
+ step_end
+
+LilycoveCity_Harbor_Movement_21E6D7: @ 821E6D7
+ step_14
+ step_up
+ step_14
+ step_54
+ step_end
+
+LilycoveCity_Harbor_Movement_21E6DC: @ 821E6DC
+ step_14
+ step_14
+ step_14
+ step_right
+ step_26
+ step_14
+ step_54
+ step_end
+
+LilycoveCity_Harbor_Movement_21E6E4: @ 821E6E4
+ step_14
+ step_right
+ step_26
+ step_14
+ step_54
+ step_end
+
+LilycoveCity_Harbor_Movement_21E6EA: @ 821E6EA
+ step_14
+ step_14
+ step_14
+ step_up
+ step_14
+ step_54
+ step_end
+
+LilycoveCity_Harbor_Text_21E6F1: @ 821E6F1
+ .string "I beg your pardon?\n"
+ .string "You’re looking for a ship?\p"
+ .string "I’m sorry, the ferry service isn’t\n"
+ .string "available at present…$"
+
+LilycoveCity_Harbor_Text_21E758: @ 821E758
+ .string "Hello, are you here for the ferry?\n"
+ .string "May I see your TICKET?$"
+
+
+LilycoveCity_Harbor_Text_21E792: @ 821E792
+ .string "{PLAYER} doesn’t have the TICKET…\p"
+ .string "I’m terribly sorry.\p"
+ .string "You must have a TICKET to board\n"
+ .string "the ferry.$"
+
+LilycoveCity_Harbor_Text_21E7ED: @ 821E7ED
+ .string "{PLAYER} flashed the TICKET.\p"
+ .string "Perfect! That’s all you need!\p"
+ .string "And where would you like to go?$"
+
+LilycoveCity_Harbor_Text_21E842: @ 821E842
+ .string "Please sail with us another time!$"
+
+LilycoveCity_Harbor_Text_21E864: @ 821E864
+ .string "SLATEPORT CITY it is, then!$"
+
+LilycoveCity_Harbor_Text_21E880: @ 821E880
+ .string "BATTLE FRONTIER it is, then!$"
+
+LilycoveCity_Harbor_Text_21E89D: @ 821E89D
+ .string "Please board the ferry and wait for\n"
+ .string "departure.$"
+
+LilycoveCity_Harbor_Text_21E8CC: @ 821E8CC
+ .string "Then, where would you like to go?$"
+
+LilycoveCity_Harbor_Text_21E8EE: @ 821E8EE
+ .string "Until they finish making the ferry,\n"
+ .string "we sailors have nothing to do…\p"
+ .string "I wish they’d get a move on, the folks\n"
+ .string "at the SHIPYARD in SLATEPORT.$"
+
+LilycoveCity_Harbor_Text_21E976: @ 821E976
+ .string "The ferry S.S. TIDAL is finally in\n"
+ .string "operation.\p"
+ .string "The folks at the SHIPYARD in SLATEPORT\n"
+ .string "must’ve worked extra hard.\p"
+ .string "Well, it’s my turn to get busy now!$"
+
diff --git a/data/scripts/maps/LilycoveCity_House1.inc b/data/scripts/maps/LilycoveCity_House1.inc
new file mode 100644
index 000000000..59418e667
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_House1.inc
@@ -0,0 +1,26 @@
+LilycoveCity_House1_MapScripts:: @ 821ECCD
+ .byte 0
+
+LilycoveCity_House1_EventScript_21ECCE:: @ 821ECCE
+ msgbox LilycoveCity_House1_Text_21ECEA, 2
+ end
+
+LilycoveCity_House1_EventScript_21ECD7:: @ 821ECD7
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_KECLEON, 0
+ msgbox LilycoveCity_House1_Text_21ED63, 4
+ waitmoncry
+ release
+ end
+
+LilycoveCity_House1_Text_21ECEA: @ 821ECEA
+ .string "POKéMON are partners to people.\n"
+ .string "They aren’t our tools.\p"
+ .string "Unfortunately, there are some people\n"
+ .string "who fail to understand that…$"
+
+LilycoveCity_House1_Text_21ED63: @ 821ED63
+ .string "KECLEON: Ruroro?$"
+
diff --git a/data/scripts/maps/LilycoveCity_House2.inc b/data/scripts/maps/LilycoveCity_House2.inc
new file mode 100644
index 000000000..4b71575b0
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_House2.inc
@@ -0,0 +1,32 @@
+LilycoveCity_House2_MapScripts:: @ 821ED74
+ .byte 0
+
+LilycoveCity_House2_EventScript_21ED75:: @ 821ED75
+ lock
+ faceplayer
+ checkflag FLAG_0x0EA
+ goto_eq LilycoveCity_House2_EventScript_21EDAC
+ msgbox LilycoveCity_House2_Text_21EDB6, 4
+ giveitem_std ITEM_TM44
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_House2_EventScript_272054
+ setflag FLAG_0x0EA
+ msgbox LilycoveCity_House2_Text_21EDF9, 4
+ release
+ end
+
+LilycoveCity_House2_EventScript_21EDAC:: @ 821EDAC
+ msgbox LilycoveCity_House2_Text_21EDF9, 4
+ release
+ end
+
+LilycoveCity_House2_Text_21EDB6: @ 821EDB6
+ .string "Huh? What? What’s that?\p"
+ .string "I’m not near awake yet…\n"
+ .string "You can have this…$"
+
+LilycoveCity_House2_Text_21EDF9: @ 821EDF9
+ .string "Yawn…\p"
+ .string "Sleep is essential for good health…\n"
+ .string "Sleep and regain health…$"
+
diff --git a/data/scripts/maps/LilycoveCity_House3.inc b/data/scripts/maps/LilycoveCity_House3.inc
new file mode 100644
index 000000000..dee1eaec6
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_House3.inc
@@ -0,0 +1,169 @@
+LilycoveCity_House3_MapScripts:: @ 821EE3C
+ map_script 3, LilycoveCity_House3_MapScript1_21EE42
+ .byte 0
+
+LilycoveCity_House3_MapScript1_21EE42: @ 821EE42
+ random 4
+ copyvar VAR_0x4001, VAR_RESULT
+ end
+
+LilycoveCity_House3_EventScript_21EE4B:: @ 821EE4B
+ lock
+ faceplayer
+ msgbox LilycoveCity_House3_Text_21EF99, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_House3_EventScript_21EE75
+ msgbox LilycoveCity_House3_Text_21F0F8, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, LilycoveCity_House3_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_House3_EventScript_21EE75:: @ 821EE75
+ msgbox LilycoveCity_House3_Text_21F0A9, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, LilycoveCity_House3_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_House3_EventScript_21EE8A:: @ 821EE8A
+ lock
+ faceplayer
+ msgbox LilycoveCity_House3_Text_21F430, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, LilycoveCity_House3_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_House3_EventScript_21EEA1:: @ 821EEA1
+ lock
+ faceplayer
+ switch VAR_0x4001
+ case 0, LilycoveCity_House3_EventScript_21EF71
+ case 1, LilycoveCity_House3_EventScript_21EF7B
+ case 2, LilycoveCity_House3_EventScript_21EF85
+ case 3, LilycoveCity_House3_EventScript_21EF8F
+ end
+
+LilycoveCity_House3_EventScript_21EED5:: @ 821EED5
+ lock
+ faceplayer
+ switch VAR_0x4001
+ case 0, LilycoveCity_House3_EventScript_21EF71
+ case 1, LilycoveCity_House3_EventScript_21EF7B
+ case 2, LilycoveCity_House3_EventScript_21EF85
+ case 3, LilycoveCity_House3_EventScript_21EF8F
+ end
+
+LilycoveCity_House3_EventScript_21EF09:: @ 821EF09
+ lock
+ faceplayer
+ switch VAR_0x4001
+ case 0, LilycoveCity_House3_EventScript_21EF71
+ case 1, LilycoveCity_House3_EventScript_21EF7B
+ case 2, LilycoveCity_House3_EventScript_21EF85
+ case 3, LilycoveCity_House3_EventScript_21EF8F
+ end
+
+LilycoveCity_House3_EventScript_21EF3D:: @ 821EF3D
+ lock
+ faceplayer
+ switch VAR_0x4001
+ case 0, LilycoveCity_House3_EventScript_21EF71
+ case 1, LilycoveCity_House3_EventScript_21EF7B
+ case 2, LilycoveCity_House3_EventScript_21EF85
+ case 3, LilycoveCity_House3_EventScript_21EF8F
+ end
+
+LilycoveCity_House3_EventScript_21EF71:: @ 821EF71
+ msgbox LilycoveCity_House3_Text_21F4A7, 4
+ release
+ end
+
+LilycoveCity_House3_EventScript_21EF7B:: @ 821EF7B
+ msgbox LilycoveCity_House3_Text_21F4E0, 4
+ release
+ end
+
+LilycoveCity_House3_EventScript_21EF85:: @ 821EF85
+ msgbox LilycoveCity_House3_Text_21F523, 4
+ release
+ end
+
+LilycoveCity_House3_EventScript_21EF8F:: @ 821EF8F
+ msgbox LilycoveCity_House3_Text_21F55A, 4
+ release
+ end
+
+LilycoveCity_House3_Text_21EF99: @ 821EF99
+ .string "Oh, my, my! Are you traveling alone?\n"
+ .string "But you’re so young! Good for you!\p"
+ .string "I’m sure my kids could learn a thing\n"
+ .string "or two from you!\p"
+ .string "Me? I’m a master of {POKEBLOCK}S.\p"
+ .string "If I get serious just a little, why,\n"
+ .string "I can concoct great {POKEBLOCK}S.\p"
+ .string "Would you like to learn from me,\n"
+ .string "a master of {POKEBLOCK}S?$"
+
+LilycoveCity_House3_Text_21F0A9: @ 821F0A9
+ .string "Oh? Are you sure?\p"
+ .string "You shouldn’t always try to do\n"
+ .string "everything by yourself, dear!$"
+
+LilycoveCity_House3_Text_21F0F8: @ 821F0F8
+ .string "Oh, good! You’re a smart soul!\n"
+ .string "This is a bit long, so listen up!\p"
+ .string "Are you ready?\p"
+ .string "If you look at {POKEBLOCK}S, you should see\n"
+ .string "that they are rated on how they feel.\p"
+ .string "The lower the feel rating,\n"
+ .string "the better it is. Don’t forget this!\p"
+ .string "A good {POKEBLOCK} has a low feel\n"
+ .string "rating and a high level.\p"
+ .string "A POKéMON can eat more good\n"
+ .string "{POKEBLOCK}S than ordinary ones, too.\p"
+ .string "And this is important.\p"
+ .string "If you want to make smooth {POKEBLOCK}S,\n"
+ .string "use different kinds of BERRIES.\p"
+ .string "Don’t be stingy--the kinds of BERRIES\n"
+ .string "affect the smoothness of {POKEBLOCK}S.\p"
+ .string "And another thing.\p"
+ .string "The more people blending BERRIES,\n"
+ .string "the smoother the {POKEBLOCK}S.\p"
+ .string "That’s why you should talk to other\n"
+ .string "people and make {POKEBLOCK}S together.\p"
+ .string "That’s about all you need to know to\n"
+ .string "make good {POKEBLOCK}S.\p"
+ .string "If everyone had POKéMON they love,\n"
+ .string "smooth {POKEBLOCK}S, and a loving family,\l"
+ .string "the world would be a happier place.\p"
+ .string "Don’t give up, dear!$"
+
+LilycoveCity_House3_Text_21F430: @ 821F430
+ .string "When my wife gave birth to quadruplets,\n"
+ .string "you bet I was shocked.\p"
+ .string "But, now, seeing them play together,\n"
+ .string "it makes me happy.$"
+
+LilycoveCity_House3_Text_21F4A7: @ 821F4A7
+ .string "We’re having MULTI BATTLES, but I know\n"
+ .string "I’m going to win.$"
+
+LilycoveCity_House3_Text_21F4E0: @ 821F4E0
+ .string "We like mixing stuff at\n"
+ .string "the RECORD CORNER.\p"
+ .string "But what gets mixed up?$"
+
+LilycoveCity_House3_Text_21F523: @ 821F523
+ .string "We’re going to make super {POKEBLOCK}S\n"
+ .string "with a BERRY BLENDER!$"
+
+LilycoveCity_House3_Text_21F55A: @ 821F55A
+ .string "I want to brag about how tough my\n"
+ .string "POKéMON is, so we’re going to enter\l"
+ .string "a CONTEST together.$"
+
diff --git a/data/scripts/maps/LilycoveCity_House4.inc b/data/scripts/maps/LilycoveCity_House4.inc
new file mode 100644
index 000000000..8bfdb2d48
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_House4.inc
@@ -0,0 +1,21 @@
+LilycoveCity_House4_MapScripts:: @ 821F5B4
+ .byte 0
+
+LilycoveCity_House4_EventScript_21F5B5:: @ 821F5B5
+ msgbox LilycoveCity_House4_Text_21F5C7, 2
+ end
+
+LilycoveCity_House4_EventScript_21F5BE:: @ 821F5BE
+ msgbox LilycoveCity_House4_Text_21F62B, 2
+ end
+
+LilycoveCity_House4_Text_21F5C7: @ 821F5C7
+ .string "This planet’s biggest mysteries are\n"
+ .string "at the bottom of the sea.\p"
+ .string "Somebody said that, but I don’t know…$"
+
+LilycoveCity_House4_Text_21F62B: @ 821F62B
+ .string "There’s a deep underwater trench\n"
+ .string "between MOSSDEEP and SOOTOPOLIS.\p"
+ .string "That’s what someone told me, anyway.$"
+
diff --git a/data/scripts/maps/LilycoveCity_LilycoveMuseum_1F.inc b/data/scripts/maps/LilycoveCity_LilycoveMuseum_1F.inc
new file mode 100644
index 000000000..a97e277ef
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_LilycoveMuseum_1F.inc
@@ -0,0 +1,296 @@
+LilycoveCity_LilycoveMuseum_1F_MapScripts:: @ 8218CB8
+ .byte 0
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218CB9:: @ 8218CB9
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_218E4B, 3
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218CC2:: @ 8218CC2
+ lockall
+ applymovement 2, LilycoveCity_LilycoveMuseum_1F_Movement_27259E
+ message LilycoveCity_LilycoveMuseum_1F_Text_218EBC
+ waitmessage
+ multichoice 20, 8, 16, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218CF5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218CEC
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218CEC:: @ 8218CEC
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_218F5C, 2
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218CF5:: @ 8218CF5
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_218F98, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218D14
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218D1E
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218D14:: @ 8218D14
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_218FF8, 3
+ releaseall
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218D1E:: @ 8218D1E
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_219035, 3
+ applymovement 2, LilycoveCity_LilycoveMuseum_1F_Movement_218D99
+ waitmovement 0
+ removeobject 2
+ switch VAR_FACING
+ case 2, LilycoveCity_LilycoveMuseum_1F_EventScript_218D5A
+ case 3, LilycoveCity_LilycoveMuseum_1F_EventScript_218D6F
+ case 4, LilycoveCity_LilycoveMuseum_1F_EventScript_218D84
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218D5A:: @ 8218D5A
+ lockall
+ applymovement 255, LilycoveCity_LilycoveMuseum_1F_Movement_218DA1
+ waitmovement 0
+ warp LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8
+ waitstate
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218D6F:: @ 8218D6F
+ lockall
+ applymovement 255, LilycoveCity_LilycoveMuseum_1F_Movement_218D9B
+ waitmovement 0
+ warp LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8
+ waitstate
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218D84:: @ 8218D84
+ lockall
+ applymovement 255, LilycoveCity_LilycoveMuseum_1F_Movement_218D9E
+ waitmovement 0
+ warp LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8
+ waitstate
+ end
+
+LilycoveCity_LilycoveMuseum_1F_Movement_218D99: @ 8218D99
+ step_up
+ step_end
+
+LilycoveCity_LilycoveMuseum_1F_Movement_218D9B: @ 8218D9B
+ step_left
+ step_up
+ step_end
+
+LilycoveCity_LilycoveMuseum_1F_Movement_218D9E: @ 8218D9E
+ step_right
+ step_up
+ step_end
+
+LilycoveCity_LilycoveMuseum_1F_Movement_218DA1: @ 8218DA1
+ step_up
+ step_up
+ step_end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218DA4:: @ 8218DA4
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_219080, 3
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218DAD:: @ 8218DAD
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_2190BF, 3
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218DB6:: @ 8218DB6
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_2190F9, 3
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218DBF:: @ 8218DBF
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_219142, 3
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218DC8:: @ 8218DC8
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_2191A2, 3
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218DD1:: @ 8218DD1
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_21920D, 3
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218DDA:: @ 8218DDA
+LilycoveCity_LilycoveMuseum_2F_EventScript_218DDA:: @ 8218DDA
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_219260, 3
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218DE3:: @ 8218DE3
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_2192AA, 3
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218DEC:: @ 8218DEC
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_219311, 3
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218DF5:: @ 8218DF5
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_2193B4, 2
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218DFE:: @ 8218DFE
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_21941A, 2
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218E07:: @ 8218E07
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_2194BA, 3
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218E10:: @ 8218E10
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_2194E1, 3
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218E19:: @ 8218E19
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_219515, 2
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218E22:: @ 8218E22
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_21959B, 2
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218E2B:: @ 8218E2B
+ lock
+ faceplayer
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_2195FF, 4
+ closemessage
+ applymovement 8, LilycoveCity_LilycoveMuseum_1F_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+LilycoveCity_LilycoveMuseum_1F_EventScript_218E42:: @ 8218E42
+ msgbox LilycoveCity_LilycoveMuseum_1F_Text_21967A, 2
+ end
+
+LilycoveCity_LilycoveMuseum_1F_Text_218E4B: @ 8218E4B
+ .string "Welcome to LILYCOVE MUSEUM.\p"
+ .string "Please take the time to enjoy our\n"
+ .string "collection of fantastic artwork\l"
+ .string "featuring POKéMON.$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_218EBC: @ 8218EBC
+ .string "I’m the CURATOR of this MUSEUM of\n"
+ .string "fine arts.\p"
+ .string "It’s heartening to see someone so\n"
+ .string "young as you in our MUSEUM.\p"
+ .string "Have you viewed our collection of\n"
+ .string "paintings already?$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_218F5C: @ 8218F5C
+ .string "Ah, then let me not disturb you.\n"
+ .string "Please, do take your time.$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_218F98: @ 8218F98
+ .string "Oh? I do believe that you seem to\n"
+ .string "be a POKéMON TRAINER.\p"
+ .string "Have you an interest in paintings,\n"
+ .string "too?$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_218FF8: @ 8218FF8
+ .string "I see…\p"
+ .string "I’m honored that you would visit\n"
+ .string "us in spite of that.$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_219035: @ 8219035
+ .string "Ah, excellent!\n"
+ .string "You do like paintings!\p"
+ .string "Then, may I ask you to come with me?$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_219080: @ 8219080
+ .string "It’s a very old painting.\n"
+ .string "The paint is peeling here and there.$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_2190BF: @ 82190BF
+ .string "It’s an odd landscape with bizarre\n"
+ .string "and fantastic scenery.$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_2190F9: @ 82190F9
+ .string "It’s a painting of a beautiful, smiling\n"
+ .string "woman with a POKéMON on her lap.$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_219142: @ 8219142
+ .string "It’s a painting of a legendary POKéMON\n"
+ .string "from long ago.\p"
+ .string "The artist painted this from\n"
+ .string "imagination.$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_2191A2: @ 82191A2
+ .string "It’s a painting of GRASS POKéMON\n"
+ .string "swaying in a breeze.\p"
+ .string "They appear to be enjoying the wind’s\n"
+ .string "gentle caress.$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_21920D: @ 821920D
+ .string "It’s a delicious-looking painting\n"
+ .string "of BERRIES.\p"
+ .string "This painting could make you hungry!$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_219260: @ 8219260
+ .string "It’s a replica of a famous sculpture.\p"
+ .string "It depicts an ancient BIRD POKéMON.$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_2192AA: @ 82192AA
+ .string "It’s a big POKé BALL carved from\n"
+ .string "a black stone.\p"
+ .string "It was apparently used in festivals\n"
+ .string "in the olden days.$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_219311: @ 8219311
+ .string "It’s a huge stone tablet inscribed\n"
+ .string "with POKéMON and dense text in the\l"
+ .string "small characters of an ancient,\l"
+ .string "unreadable language.$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_21938C: @ 821938C
+ .string "Hmmm…\n"
+ .string "What works of great magnificence…$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_2193B4: @ 82193B4
+ .string "Battling with POKéMON is fun,\n"
+ .string "I’ll grant you that.\p"
+ .string "But one mustn’t forget our love for\n"
+ .string "the fine arts.$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_21941A: @ 821941A
+ .string "This ART MUSEUM… Well, you could\n"
+ .string "see many fantastic paintings.\p"
+ .string "And the CURATOR is a wonderful person.\p"
+ .string "Among artists like myself, this MUSEUM\n"
+ .string "is an inspiration.$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_2194BA: @ 82194BA
+ .string "This lady is pretty!\n"
+ .string "She’s like Mommy!$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_2194E1: @ 82194E1
+ .string "This POKéMON is adorable!\n"
+ .string "Just like our little boy!$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_219515: @ 8219515
+ .string "I’d heard that this ART MUSEUM got\n"
+ .string "in some new paintings.\p"
+ .string "So, naturally I hurried over.\p"
+ .string "Are the new paintings up on\n"
+ .string "the second floor?$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_21959B: @ 821959B
+ .string "Lately, the CURATOR has been\n"
+ .string "unusually cheerful.\p"
+ .string "I bet something good happened for him.\n"
+ .string "Definitely.$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_2195FF: @ 82195FF
+ .string "I aim to see many great paintings\n"
+ .string "here and learn from them.\p"
+ .string "I have this dream of one day having\n"
+ .string "my artwork exhibited here.$"
+
+LilycoveCity_LilycoveMuseum_1F_Text_21967A: @ 821967A
+ .string "The ART MUSEUM has become a favorite\n"
+ .string "tourist destination.\p"
+ .string "It’s great for LILYCOVE…\n"
+ .string "No, great for the HOENN region!\p"
+ .string "This is what I’ve heard--a lone TRAINER\n"
+ .string "procured all the paintings upstairs.$"
+
diff --git a/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc b/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc
new file mode 100644
index 000000000..f464d08ea
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_LilycoveMuseum_2F.inc
@@ -0,0 +1,340 @@
+LilycoveCity_LilycoveMuseum_2F_MapScripts:: @ 821973A
+ map_script 1, LilycoveCity_LilycoveMuseum_2F_MapScript1_219745
+ map_script 2, LilycoveCity_LilycoveMuseum_2F_MapScript2_2197FE
+ .byte 0
+
+LilycoveCity_LilycoveMuseum_2F_MapScript1_219745: @ 8219745
+ checkflag FLAG_0x0A0
+ goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_21978B
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_219754
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_219754:: @ 8219754
+ checkflag FLAG_0x0A1
+ goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2197A3
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_219763
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_219763:: @ 8219763
+ checkflag FLAG_0x0A2
+ goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2197BB
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_219772
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_219772:: @ 8219772
+ checkflag FLAG_0x0A3
+ goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2197D3
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_219781
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_219781:: @ 8219781
+ checkflag FLAG_0x0A4
+ goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2197EB
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_21978B:: @ 821978B
+ setmetatile 10, 6, 606, 1
+ setmetatile 11, 6, 607, 1
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_219754
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_2197A3:: @ 82197A3
+ setmetatile 18, 6, 604, 1
+ setmetatile 19, 6, 605, 1
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_219763
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_2197BB:: @ 82197BB
+ setmetatile 14, 10, 608, 1
+ setmetatile 15, 10, 609, 1
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_219772
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_2197D3:: @ 82197D3
+ setmetatile 6, 10, 602, 1
+ setmetatile 7, 10, 603, 1
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_219781
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_2197EB:: @ 82197EB
+ setmetatile 2, 6, 610, 1
+ setmetatile 3, 6, 611, 1
+ end
+
+LilycoveCity_LilycoveMuseum_2F_MapScript2_2197FE: @ 82197FE
+ map_script_2 VAR_0x4094, 0, LilycoveCity_LilycoveMuseum_2F_EventScript_219808
+ .2byte 0
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_219808:: @ 8219808
+ lockall
+ applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_27259E
+ applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_219861
+ waitmovement 0
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_2199EB, 3
+ applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_219863
+ waitmovement 0
+ applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_219863
+ waitmovement 0
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_219A0D, 3
+ applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_27259E
+ waitmovement 0
+ applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_219861
+ waitmovement 0
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_219BC4, 3
+ copyvar VAR_0x4094, 0x1
+ releaseall
+ end
+
+LilycoveCity_LilycoveMuseum_2F_Movement_219861: @ 8219861
+ step_27
+ step_end
+
+LilycoveCity_LilycoveMuseum_2F_Movement_219863: @ 8219863
+ step_01
+ step_14
+ step_end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_219866:: @ 8219866
+ lockall
+ checkflag FLAG_0x0EC
+ goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_219921
+ specialvar VAR_0x8004, sub_80F8940
+ switch VAR_0x8004
+ case 1, LilycoveCity_LilycoveMuseum_2F_EventScript_2198BA
+ case 2, LilycoveCity_LilycoveMuseum_2F_EventScript_2198BA
+ case 3, LilycoveCity_LilycoveMuseum_2F_EventScript_2198BA
+ case 4, LilycoveCity_LilycoveMuseum_2F_EventScript_2198BA
+ case 5, LilycoveCity_LilycoveMuseum_2F_EventScript_2198C3
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_219CF3, 2
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_2198BA:: @ 82198BA
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_219D42, 2
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_2198C3:: @ 82198C3
+ applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_27259E
+ waitmovement 0
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_219DD4, 4
+ applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_219863
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_219DE6, 4
+ goto LilycoveCity_LilycoveMuseum_2F_EventScript_2198EA
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_2198EA:: @ 82198EA
+ applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_27259E
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_219EC5, 4
+ givedecoration_std 44
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_219911
+ setflag FLAG_0x0EC
+ closemessage
+ releaseall
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_219911:: @ 8219911
+ call LilycoveCity_LilycoveMuseum_2F_EventScript_272071
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_219EED, 4
+ closemessage
+ releaseall
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_219921:: @ 8219921
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_219F1B, 2
+ releaseall
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_21992B:: @ 821992B
+ lockall
+ checkflag FLAG_0x0A2
+ goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2199C1
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_219FA0, 3
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_21993E:: @ 821993E
+ lockall
+ checkflag FLAG_0x0A4
+ goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2199DD
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_219FD3, 3
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_219951:: @ 8219951
+ lockall
+ checkflag FLAG_0x0A0
+ goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2199A5
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A03B, 3
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_219964:: @ 8219964
+ lockall
+ checkflag FLAG_0x0A1
+ goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2199B3
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A008, 3
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_219977:: @ 8219977
+ lockall
+ checkflag FLAG_0x0A3
+ goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2199CF
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A06D, 3
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_21998A:: @ 821998A
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0BD, 2
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_219993:: @ 8219993
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A132, 2
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_21999C:: @ 821999C
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A1A8, 2
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_2199A5:: @ 82199A5
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, 3
+ fadescreen 1
+ drawcontestwinner 9
+ releaseall
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_2199B3:: @ 82199B3
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, 3
+ fadescreen 1
+ drawcontestwinner 10
+ releaseall
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_2199C1:: @ 82199C1
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, 3
+ fadescreen 1
+ drawcontestwinner 11
+ releaseall
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_2199CF:: @ 82199CF
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, 3
+ fadescreen 1
+ drawcontestwinner 12
+ releaseall
+ end
+
+LilycoveCity_LilycoveMuseum_2F_EventScript_2199DD:: @ 82199DD
+ msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A0A1, 3
+ fadescreen 1
+ drawcontestwinner 13
+ releaseall
+ end
+
+LilycoveCity_LilycoveMuseum_2F_Text_2199EB: @ 82199EB
+ .string "This is our special exhibit hall.$"
+
+LilycoveCity_LilycoveMuseum_2F_Text_219A0D: @ 8219A0D
+ .string "As you can plainly see, there is not\n"
+ .string "a single painting on exhibit.\p"
+ .string "Here, I don’t wish to exhibit works of\n"
+ .string "so-called classical art.\p"
+ .string "Such classical works you can see on\n"
+ .string "our ground floor.\p"
+ .string "I wish to exhibit work that is far\n"
+ .string "different from the classics.\p"
+ .string "Art, after all, is not restricted to old,\n"
+ .string "famous works!\p"
+ .string "This exhibit hall, I wish to fill it with…\p"
+ .string "Modern and vibrant artworks of\n"
+ .string "POKéMON seemingly ready to spring\l"
+ .string "forth into glorious life!$"
+
+LilycoveCity_LilycoveMuseum_2F_Text_219BC4: @ 8219BC4
+ .string "I beg your pardon. I didn’t intend\n"
+ .string "to monopolize the conversation.\p"
+ .string "Now, as you are young, and yet\n"
+ .string "obviously well traveled…\p"
+ .string "You must encounter lively POKéMON\n"
+ .string "and works of art depicting them.\p"
+ .string "If you were to come across such\n"
+ .string "a painting, may we ask you to obtain\l"
+ .string "the artist’s permission to exhibit\l"
+ .string "it here?$"
+
+LilycoveCity_LilycoveMuseum_2F_Text_219CF3: @ 8219CF3
+ .string "I wish to fill this exhibit hall with\n"
+ .string "modern and vibrant paintings of\l"
+ .string "POKéMON.$"
+
+LilycoveCity_LilycoveMuseum_2F_Text_219D42: @ 8219D42
+ .string "Thanks to you, we’ve added a new\n"
+ .string "painting to our collection!\p"
+ .string "I’ve heard it depicts your POKéMON.\n"
+ .string "Truly magnificent!\p"
+ .string "Thank you so very, very much!$"
+
+LilycoveCity_LilycoveMuseum_2F_Text_219DD4: @ 8219DD4
+ .string "Ah! It’s you!\n"
+ .string "{PLAYER}!$"
+
+LilycoveCity_LilycoveMuseum_2F_Text_219DE6: @ 8219DE6
+ .string "Isn’t this marvelous?\n"
+ .string "This collection of paintings!\p"
+ .string "Each one of them flawless!\n"
+ .string "None better than another!\p"
+ .string "These paintings have attracted\n"
+ .string "more guests to our ART MUSEUM.\p"
+ .string "Sincerely, I thank you, {PLAYER}.\n"
+ .string "This is my dream come true!$"
+
+LilycoveCity_LilycoveMuseum_2F_Text_219EC5: @ 8219EC5
+ .string "This is merely a token of my gratitude.$"
+
+LilycoveCity_LilycoveMuseum_2F_Text_219EED: @ 8219EED
+ .string "I will keep this for you until we\n"
+ .string "meet again.$"
+
+LilycoveCity_LilycoveMuseum_2F_Text_219F1B: @ 8219F1B
+ .string "Ah, so good to see you, {PLAYER}!\p"
+ .string "It’s an honor to have you visit us\n"
+ .string "on your busy journeys.\p"
+ .string "Please, relax and do enjoy your\n"
+ .string "visit with us.$"
+
+LilycoveCity_LilycoveMuseum_2F_Text_219FA0: @ 8219FA0
+ .string "It’s a picture frame with pink-colored\n"
+ .string "adornments.$"
+
+LilycoveCity_LilycoveMuseum_2F_Text_219FD3: @ 8219FD3
+ .string "It’s a picture frame with\n"
+ .string "yellow-colored adornments.$"
+
+LilycoveCity_LilycoveMuseum_2F_Text_21A008: @ 821A008
+ .string "It’s a picture frame with\n"
+ .string "blue-colored adornments.$"
+
+LilycoveCity_LilycoveMuseum_2F_Text_21A03B: @ 821A03B
+ .string "It’s a picture frame with\n"
+ .string "red-colored adornments.$"
+
+LilycoveCity_LilycoveMuseum_2F_Text_21A06D: @ 821A06D
+ .string "It’s a picture frame with\n"
+ .string "green-colored adornments.$"
+
+LilycoveCity_LilycoveMuseum_2F_Text_21A0A1: @ 821A0A1
+ .string "It’s a painting of POKéMON.$"
+
+LilycoveCity_LilycoveMuseum_2F_Text_21A0BD: @ 821A0BD
+ .string "I’ve been away awhile, so the new\n"
+ .string "paintings up here surprised me.\p"
+ .string "I wish someone would paint my POKéMON\n"
+ .string "this pretty.$"
+
+LilycoveCity_LilycoveMuseum_2F_Text_21A132: @ 821A132
+ .string "Well… So this is where they show\n"
+ .string "the topical POKéMON paintings.\p"
+ .string "I see, these new paintings are indeed\n"
+ .string "rather amusing.$"
+
+LilycoveCity_LilycoveMuseum_2F_Text_21A1A8: @ 821A1A8
+ .string "Wow, is that right?\n"
+ .string "These paintings are of your POKéMON.\p"
+ .string "Isn’t that just the ultimate joy for\n"
+ .string "a TRAINER?$"
+
diff --git a/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc b/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc
new file mode 100644
index 000000000..0f543fe7d
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_MoveDeletersHouse.inc
@@ -0,0 +1,111 @@
+LilycoveCity_MoveDeletersHouse_MapScripts:: @ 821EA0A
+ .byte 0
+
+LilycoveCity_MoveDeletersHouse_EventScript_21EA0B:: @ 821EA0B
+ lockall
+ applymovement 1, LilycoveCity_MoveDeletersHouse_Movement_27259E
+ waitmovement 0
+ msgbox LilycoveCity_MoveDeletersHouse_Text_21EAFD, 5
+ switch VAR_RESULT
+ case 1, LilycoveCity_MoveDeletersHouse_EventScript_21EA3B
+ case 0, LilycoveCity_MoveDeletersHouse_EventScript_21EAE6
+ releaseall
+ end
+
+LilycoveCity_MoveDeletersHouse_EventScript_21EA3B:: @ 821EA3B
+ msgbox LilycoveCity_MoveDeletersHouse_Text_21EB65, 4
+ special sub_81B94B0
+ waitstate
+ compare_var_to_value VAR_0x8004, 255
+ goto_eq LilycoveCity_MoveDeletersHouse_EventScript_21EAE6
+ special sub_81B98DC
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_MoveDeletersHouse_EventScript_21EADC
+ special sub_81B96D0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_MoveDeletersHouse_EventScript_21EACF
+ msgbox LilycoveCity_MoveDeletersHouse_Text_21EB89, 4
+ fadescreen 1
+ special sub_81B968C
+ fadescreen 0
+ compare_var_to_value VAR_0x8005, 4
+ goto_eq LilycoveCity_MoveDeletersHouse_EventScript_21EA3B
+ special sub_81B9718
+ msgbox LilycoveCity_MoveDeletersHouse_Text_21EBDA, 5
+ switch VAR_RESULT
+ case 1, LilycoveCity_MoveDeletersHouse_EventScript_21EAB0
+ case 0, LilycoveCity_MoveDeletersHouse_EventScript_21EAE6
+ releaseall
+ end
+
+LilycoveCity_MoveDeletersHouse_EventScript_21EAB0:: @ 821EAB0
+ special sub_81B9918
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_MoveDeletersHouse_EventScript_21EAF0
+ special sub_81B9770
+ playfanfare BGM_ME_WASURE
+ waitfanfare
+ msgbox LilycoveCity_MoveDeletersHouse_Text_21EC06, 4
+ releaseall
+ end
+
+LilycoveCity_MoveDeletersHouse_EventScript_21EACF:: @ 821EACF
+ special sub_81B9718
+ msgbox LilycoveCity_MoveDeletersHouse_Text_21EBA9, 4
+ releaseall
+ end
+
+LilycoveCity_MoveDeletersHouse_EventScript_21EADC:: @ 821EADC
+ msgbox LilycoveCity_MoveDeletersHouse_Text_21EC78, 4
+ releaseall
+ end
+
+LilycoveCity_MoveDeletersHouse_EventScript_21EAE6:: @ 821EAE6
+ msgbox LilycoveCity_MoveDeletersHouse_Text_21EC3F, 4
+ releaseall
+ end
+
+LilycoveCity_MoveDeletersHouse_EventScript_21EAF0:: @ 821EAF0
+ special sub_81B9718
+ msgbox LilycoveCity_MoveDeletersHouse_Text_21EC9C, 4
+ releaseall
+ end
+
+LilycoveCity_MoveDeletersHouse_Text_21EAFD: @ 821EAFD
+ .string "Uh…\n"
+ .string "Oh, yes, I’m the MOVE DELETER.\p"
+ .string "I can make POKéMON forget their moves.\p"
+ .string "Would you like me to do that?$"
+
+LilycoveCity_MoveDeletersHouse_Text_21EB65: @ 821EB65
+ .string "Which POKéMON should forget a move?$"
+
+LilycoveCity_MoveDeletersHouse_Text_21EB89: @ 821EB89
+ .string "Which move should be forgotten?$"
+
+LilycoveCity_MoveDeletersHouse_Text_21EBA9: @ 821EBA9
+ .string "{STR_VAR_1} knows only one move\n"
+ .string "so it can’t be forgotten…$"
+
+LilycoveCity_MoveDeletersHouse_Text_21EBDA: @ 821EBDA
+ .string "Hm! {STR_VAR_1}’s {STR_VAR_2}?\n"
+ .string "That move should be forgotten?$"
+
+LilycoveCity_MoveDeletersHouse_Text_21EC06: @ 821EC06
+ .string "It worked to perfection!\p"
+ .string "{STR_VAR_1} has forgotten\n"
+ .string "{STR_VAR_2} completely.$"
+
+LilycoveCity_MoveDeletersHouse_Text_21EC3F: @ 821EC3F
+ .string "Come again if there are moves that\n"
+ .string "need to be forgotten.$"
+
+LilycoveCity_MoveDeletersHouse_Text_21EC78: @ 821EC78
+ .string "What?\n"
+ .string "No EGG should know any moves.$"
+
+LilycoveCity_MoveDeletersHouse_Text_21EC9C: @ 821EC9C
+ .string "Hm!\p"
+ .string "Your {STR_VAR_1} doesn’t seem willing\n"
+ .string "to forget SURF.$"
+
diff --git a/data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc b/data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc
new file mode 100644
index 000000000..43e0a61f2
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_PokemonCenter_1F.inc
@@ -0,0 +1,68 @@
+LilycoveCity_PokemonCenter_1F_MapScripts:: @ 821C5B2
+ map_script 3, LilycoveCity_PokemonCenter_1F_MapScript1_21C5BD
+ map_script 5, LilycoveCity_PokemonCenter_1F_MapScript1_277C30
+ .byte 0
+
+LilycoveCity_PokemonCenter_1F_MapScript1_21C5BD: @ 821C5BD
+ setrespawn 8
+ goto LilycoveCity_PokemonCenter_1F_EventScript_21C5C6
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_21C5C6:: @ 821C5C6
+ special sub_818D9C0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_21C5E0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_21C5E4
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_21C5E0:: @ 821C5E0
+ setflag FLAG_0x3E1
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_21C5E4:: @ 821C5E4
+ clearflag FLAG_0x3E1
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_21C5E8:: @ 821C5E8
+ setvar VAR_0x800B, 1
+ call LilycoveCity_PokemonCenter_1F_EventScript_27191E
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_21C5F6:: @ 821C5F6
+ msgbox LilycoveCity_PokemonCenter_1F_Text_21C61E, 2
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_21C5FF:: @ 821C5FF
+ lock
+ faceplayer
+ checkflag FLAG_BADGE07_GET
+ goto_eq LilycoveCity_PokemonCenter_1F_EventScript_21C614
+ msgbox LilycoveCity_PokemonCenter_1F_Text_21C69D, 4
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_EventScript_21C614:: @ 821C614
+ msgbox LilycoveCity_PokemonCenter_1F_Text_21C6F6, 4
+ release
+ end
+
+LilycoveCity_PokemonCenter_1F_Text_21C61E: @ 821C61E
+ .string "I wonder how many kinds of POKéMON\n"
+ .string "there are in the world.\p"
+ .string "It’d be great to cross seas and\n"
+ .string "trade POKéMON with people far away.$"
+
+LilycoveCity_PokemonCenter_1F_Text_21C69D: @ 821C69D
+ .string "I’ve been hearing about some rotten\n"
+ .string "scoundrels who steal POKéMON and rip\l"
+ .string "off METEORITES.$"
+
+LilycoveCity_PokemonCenter_1F_Text_21C6F6: @ 821C6F6
+ .string "Those rotten scoundrels who steal\n"
+ .string "POKéMON and rip off METEORITES…\p"
+ .string "I haven’t seen them around recently.$"
+
diff --git a/data/scripts/maps/LilycoveCity_PokemonCenter_2F.inc b/data/scripts/maps/LilycoveCity_PokemonCenter_2F.inc
new file mode 100644
index 000000000..f4a25f137
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_PokemonCenter_2F.inc
@@ -0,0 +1,19 @@
+LilycoveCity_PokemonCenter_2F_MapScripts:: @ 821C75D
+ map_script 2, LilycoveCity_PokemonCenter_2F_MapScript2_276C3B
+ map_script 4, LilycoveCity_PokemonCenter_2F_MapScript2_276B6C
+ map_script 1, LilycoveCity_PokemonCenter_2F_MapScript1_276BBE
+ map_script 3, LilycoveCity_PokemonCenter_2F_MapScript1_276ACF
+ .byte 0
+
+LilycoveCity_PokemonCenter_2F_EventScript_21C772:: @ 821C772
+ call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+ end
+
+LilycoveCity_PokemonCenter_2F_EventScript_21C778:: @ 821C778
+ call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+ end
+
+LilycoveCity_PokemonCenter_2F_EventScript_21C77E:: @ 821C77E
+ call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+ end
+
diff --git a/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc b/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc
new file mode 100644
index 000000000..f1921be57
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_PokemonTrainerFanClub.inc
@@ -0,0 +1,864 @@
+LilycoveCity_PokemonTrainerFanClub_MapScripts:: @ 821C785
+ map_script 2, LilycoveCity_PokemonTrainerFanClub_MapScript2_21C790
+ map_script 3, LilycoveCity_PokemonTrainerFanClub_MapScript1_21C80D
+ .byte 0
+
+LilycoveCity_PokemonTrainerFanClub_MapScript2_21C790: @ 821C790
+ map_script_2 VAR_0x4095, 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A
+ .2byte 0
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A:: @ 821C79A
+ lockall
+ applymovement 1, LilycoveCity_PokemonTrainerFanClub_Movement_2725AA
+ waitmovement 0
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21CF00, 4
+ applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C7FD
+ applymovement 2, LilycoveCity_PokemonTrainerFanClub_Movement_21C7F5
+ waitmovement 0
+ applymovement 255, LilycoveCity_PokemonTrainerFanClub_Movement_2725A8
+ waitmovement 0
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21CF12, 4
+ applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C804
+ waitmovement 0
+ applymovement 255, LilycoveCity_PokemonTrainerFanClub_Movement_2725A4
+ waitmovement 0
+ applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C807
+ waitmovement 0
+ setvar VAR_0x4095, 2
+ releaseall
+ end
+
+LilycoveCity_PokemonTrainerFanClub_Movement_21C7F5: @ 821C7F5
+ step_13
+ step_25
+ step_down
+ step_down
+ step_down
+ step_left
+ step_left
+ step_end
+
+LilycoveCity_PokemonTrainerFanClub_Movement_21C7FD: @ 821C7FD
+ step_17
+ step_17
+ step_15
+ step_15
+ step_17
+ step_15
+ step_end
+
+LilycoveCity_PokemonTrainerFanClub_Movement_21C804: @ 821C804
+ step_down
+ step_28
+ step_end
+
+LilycoveCity_PokemonTrainerFanClub_Movement_21C807: @ 821C807
+ step_49
+ step_16
+ step_16
+ step_18
+ step_25
+ step_end
+
+LilycoveCity_PokemonTrainerFanClub_MapScript1_21C80D: @ 821C80D
+ call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8DA
+ compare_var_to_value VAR_0x4095, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F8
+ compare_var_to_value VAR_0x4095, 2
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C829
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21C829:: @ 821C829
+ special sub_813BCE8
+ call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5
+ setvar VAR_0x8004, 8
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B8
+ setvar VAR_0x8004, 9
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C0
+ setvar VAR_0x8004, 10
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C8
+ setvar VAR_0x8004, 11
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D0
+ setvar VAR_0x8004, 12
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D8
+ setvar VAR_0x8004, 13
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E0
+ setvar VAR_0x8004, 14
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E8
+ setvar VAR_0x8004, 15
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F0
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21C8DA:: @ 821C8DA
+ specialvar VAR_RESULT, sub_80EE7C0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F1
+ clearflag FLAG_0x2DA
+ clearflag FLAG_0x0D2
+ return
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F1:: @ 821C8F1
+ setflag FLAG_0x2DA
+ return
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5:: @ 821C8F5
+ setvar VAR_0x8005, 8
+ setvar VAR_0x8004, 8
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
+ setvar VAR_0x8004, 9
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
+ setvar VAR_0x8004, 10
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
+ setvar VAR_0x8004, 11
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
+ setvar VAR_0x8004, 12
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
+ setvar VAR_0x8004, 13
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
+ setvar VAR_0x8004, 14
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
+ setvar VAR_0x8004, 15
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
+ compare_var_to_value VAR_0x8005, 5
+ goto_if 4, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B4
+ return
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE:: @ 821C9AE
+ subvar VAR_0x8005, 1
+ return
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B4:: @ 821C9B4
+ special sub_80EE72C
+ return
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B8:: @ 821C9B8
+ setobjectxyperm 1, 7, 5
+ return
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C0:: @ 821C9C0
+ setobjectxyperm 3, 3, 4
+ return
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C8:: @ 821C9C8
+ setobjectxyperm 4, 7, 2
+ return
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D0:: @ 821C9D0
+ setobjectxyperm 5, 5, 5
+ return
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D8:: @ 821C9D8
+ setobjectxyperm 6, 5, 2
+ return
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E0:: @ 821C9E0
+ setobjectxyperm 2, 8, 4
+ return
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E8:: @ 821C9E8
+ setobjectxyperm 7, 3, 3
+ return
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F0:: @ 821C9F0
+ setobjectxyperm 8, 8, 3
+ return
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F8:: @ 821C9F8
+ call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5
+ call LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C0
+ call LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D0
+ call LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D8
+ call LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E8
+ call LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F0
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CA17:: @ 821CA17
+ lock
+ faceplayer
+ setvar VAR_0x8004, 13
+ special sub_813BDB4
+ compare_var_to_value VAR_0x4095, 0
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA84
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56
+ specialvar VAR_RESULT, sub_813BCA8
+ compare_var_to_value VAR_RESULT, 7
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA7A
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D12A, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56:: @ 821CA56
+ specialvar VAR_RESULT, sub_813BCA8
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA70
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D094, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CA70:: @ 821CA70
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D0BB, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CA7A:: @ 821CA7A
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D1B5, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CA84:: @ 821CA84
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D20C, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CA8E:: @ 821CA8E
+ lock
+ faceplayer
+ setvar VAR_0x8004, 8
+ special sub_813BDB4
+ compare_var_to_value VAR_0x4095, 0
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAFB
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD
+ specialvar VAR_RESULT, sub_813BCA8
+ compare_var_to_value VAR_RESULT, 7
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAF1
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D347, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD:: @ 821CACD
+ specialvar VAR_RESULT, sub_813BCA8
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAE7
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D2A6, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CAE7:: @ 821CAE7
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D2CE, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CAF1:: @ 821CAF1
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D377, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CAFB:: @ 821CAFB
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D3EE, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CB05:: @ 821CB05
+ lock
+ faceplayer
+ setvar VAR_0x8004, 9
+ special sub_813BDB4
+ compare_var_to_value VAR_0x4095, 0
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB72
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44
+ specialvar VAR_RESULT, sub_813BCA8
+ compare_var_to_value VAR_RESULT, 7
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB68
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D52E, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44:: @ 821CB44
+ specialvar VAR_RESULT, sub_813BCA8
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB5E
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D438, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CB5E:: @ 821CB5E
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D4A3, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CB68:: @ 821CB68
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D5DC, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CB72:: @ 821CB72
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D69C, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CB7C:: @ 821CB7C
+ lock
+ faceplayer
+ setvar VAR_0x8004, 10
+ special sub_813BDB4
+ compare_var_to_value VAR_0x4095, 0
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBE9
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB
+ specialvar VAR_RESULT, sub_813BCA8
+ compare_var_to_value VAR_RESULT, 7
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBDF
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D822, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB:: @ 821CBBB
+ specialvar VAR_RESULT, sub_813BCA8
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBD5
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D751, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CBD5:: @ 821CBD5
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D79B, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CBDF:: @ 821CBDF
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D857, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CBE9:: @ 821CBE9
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D8C4, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3:: @ 821CBF3
+ lock
+ faceplayer
+ setvar VAR_0x8004, 11
+ special sub_813BDB4
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27
+ specialvar VAR_RESULT, sub_813BCA8
+ compare_var_to_value VAR_RESULT, 7
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC4B
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D9D1, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27:: @ 821CC27
+ specialvar VAR_RESULT, sub_813BCA8
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC41
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D921, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CC41:: @ 821CC41
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D96A, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CC4B:: @ 821CC4B
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DA0D, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55:: @ 821CC55
+ lock
+ faceplayer
+ setvar VAR_0x8004, 12
+ special sub_813BDB4
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89
+ specialvar VAR_RESULT, sub_813BCA8
+ compare_var_to_value VAR_RESULT, 7
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCAD
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DB69, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89:: @ 821CC89
+ specialvar VAR_RESULT, sub_813BCA8
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCA3
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DA73, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CCA3:: @ 821CCA3
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DAF5, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CCAD:: @ 821CCAD
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DBFB, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7:: @ 821CCB7
+ lock
+ faceplayer
+ setvar VAR_0x8004, 14
+ special sub_813BDB4
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB
+ specialvar VAR_RESULT, sub_813BCA8
+ compare_var_to_value VAR_RESULT, 7
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD0F
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DD36, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB:: @ 821CCEB
+ specialvar VAR_RESULT, sub_813BCA8
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD05
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DC68, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CD05:: @ 821CD05
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DCD6, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CD0F:: @ 821CD0F
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DDCE, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19:: @ 821CD19
+ lock
+ faceplayer
+ setvar VAR_0x8004, 15
+ special sub_813BDB4
+ specialvar VAR_RESULT, sub_813BD60
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D
+ specialvar VAR_RESULT, sub_813BCA8
+ compare_var_to_value VAR_RESULT, 7
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD71
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DEFF, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D:: @ 821CD4D
+ specialvar VAR_RESULT, sub_813BCA8
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD67
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DE72, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CD67:: @ 821CD67
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DE83, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CD71:: @ 821CD71
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DF51, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CD7B:: @ 821CD7B
+ lock
+ faceplayer
+ checkflag FLAG_0x0D2
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEED
+ checkflag FLAG_0x0D2
+ goto_if 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90:: @ 821CD90
+ setvar VAR_0x8005, 11
+ special InterviewBefore
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEFF
+ copyvar VAR_0x800A, VAR_0x8006
+ setvar VAR_0x8004, 8
+ special sub_813BDB4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_281BCB, 4
+ setvar VAR_0x8004, 14
+ copyvar VAR_0x8005, VAR_0x800A
+ call LilycoveCity_PokemonTrainerFanClub_EventScript_271E7C
+ lock
+ faceplayer
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0:: @ 821CDE0
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C06, 4
+ goto LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE:: @ 821CDEE
+ setvar VAR_0x8004, 8
+ special sub_813BDB4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C3D, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15:: @ 821CE15
+ setvar VAR_0x8004, 8
+ special sub_813BDB4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C65, 4
+ setvar VAR_0x8004, 14
+ copyvar VAR_0x8005, VAR_0x800A
+ call LilycoveCity_PokemonTrainerFanClub_EventScript_271E7C
+ lock
+ faceplayer
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D:: @ 821CE4D
+ setvar VAR_0x8004, 8
+ special sub_813BDB4
+ message LilycoveCity_PokemonTrainerFanClub_Text_281C95
+ waitmessage
+ setvar VAR_0x8004, 2
+ special sub_813A128
+ waitstate
+ setvar VAR_0x8004, 8
+ switch VAR_RESULT
+ case 11, LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F
+ case 127, LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F
+ setvar VAR_0x8004, 8
+ special sub_813BDB4
+ copyvar VAR_0x8006, VAR_0x800A
+ copyvar VAR_0x8005, VAR_RESULT
+ special PutFanClubSpecialOnTheAir
+ goto LilycoveCity_PokemonTrainerFanClub_EventScript_21CED8
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F:: @ 821CE9F
+ setvar VAR_0x8004, 8
+ special sub_813BDB4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_281CCD, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6:: @ 821CEC6
+ setvar VAR_0x8004, 8
+ special sub_813BDB4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_281CF5, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CED8:: @ 821CED8
+ setvar VAR_0x8004, 8
+ special sub_813BDB4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_281D40, 4
+ setflag FLAG_0x0D2
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CEED:: @ 821CEED
+ setvar VAR_0x8004, 8
+ special sub_813BDB4
+ msgbox LilycoveCity_PokemonTrainerFanClub_Text_281DB4, 4
+ release
+ end
+
+LilycoveCity_PokemonTrainerFanClub_EventScript_21CEFF:: @ 821CEFF
+ end
+
+LilycoveCity_PokemonTrainerFanClub_Text_21CF00: @ 821CF00
+ .string "Oh, wow!\n"
+ .string "It’s {PLAYER}!$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21CF12: @ 821CF12
+ .string "I’ve heard the news!\n"
+ .string "You’re really strong, aren’t you?\p"
+ .string "We always argue about who is the\n"
+ .string "strongest of all TRAINERS here.\p"
+ .string "So when I heard about you, I decided\n"
+ .string "to be your fan!\p"
+ .string "I hope you’ll keep on battling other\n"
+ .string "tough TRAINERS.\p"
+ .string "That way, we’ll be able to see more\n"
+ .string "of your hot, hot battles.\p"
+ .string "That will make the others here see\n"
+ .string "exactly how great you are.\p"
+ .string "Remember, I’m cheering for you,\n"
+ .string "{PLAYER}!$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D094: @ 821D094
+ .string "Yo, {PLAYER}!\n"
+ .string "You’re the one we want to win!$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D0BB: @ 821D0BB
+ .string "The others, they don’t know that\n"
+ .string "you’re the best of the best!\p"
+ .string "Isn’t that right, {PLAYER}?\n"
+ .string "Show them you’ve got guts!$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D12A: @ 821D12A
+ .string "I hate to say this, but the TRAINER\n"
+ .string "everybody’s talking about is\l"
+ .string "{STR_VAR_1}, no question about it!\p"
+ .string "That TRAINER’s power…\n"
+ .string "It’s out of the ordinary.$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D1B5: @ 821D1B5
+ .string "Darn it… I’ve been telling people\n"
+ .string "that {STR_VAR_1} is the best now…\p"
+ .string "But no one wants to listen…$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D20C: @ 821D20C
+ .string "I’ve been hearing things about\n"
+ .string "a tough new TRAINER.\p"
+ .string "This TRAINER’s supposed to be beating\n"
+ .string "GYM LEADERS, even.\p"
+ .string "Do you know anything about this\n"
+ .string "new TRAINER?$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D2A6: @ 821D2A6
+ .string "Oh!\n"
+ .string "{PLAYER}!\p"
+ .string "Go for it!\n"
+ .string "I’m pulling for you!$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D2CE: @ 821D2CE
+ .string "Sigh…\n"
+ .string "BRAWLY…\p"
+ .string "Oh, no! Wait!\n"
+ .string "That’s not right! No, no, no!\p"
+ .string "I’m your fan through and through!\p"
+ .string "So make me proud!\n"
+ .string "Go for it!$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D347: @ 821D347
+ .string "I can’t help it, I can only get to\n"
+ .string "like BRAWLY…$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D377: @ 821D377
+ .string "Nobody understands the charm of\n"
+ .string "BRAWLY…\p"
+ .string "I don’t care!\p"
+ .string "Even if I’m the only one, I’m going\n"
+ .string "to keep cheering for BRAWLY!$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D3EE: @ 821D3EE
+ .string "Whatever anyone says, my favorite\n"
+ .string "TRAINER is DEWFORD’s GYM LEADER\l"
+ .string "BRAWLY!$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D438: @ 821D438
+ .string "You’ve surpassed your own father in\n"
+ .string "every regard!\p"
+ .string "I’m telling you, so there’s no question\n"
+ .string "about it at all!$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D4A3: @ 821D4A3
+ .string "Even when things turned bleak,\n"
+ .string "your father never gave up.\p"
+ .string "This I know to be true.\p"
+ .string "You never give up even if you lose!\n"
+ .string "So keep on battling!$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D52E: @ 821D52E
+ .string "NORMAN battled with more power,\n"
+ .string "charisma, and showmanship than you.\p"
+ .string "Even though people may say that\n"
+ .string "you’re strong…\p"
+ .string "You’ve still got a long way to go\n"
+ .string "compared to your father.$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D5DC: @ 821D5DC
+ .string "You’re beginning to get the same\n"
+ .string "air of awe NORMAN exudes.\p"
+ .string "But there’s something conclusively\n"
+ .string "different between you and NORMAN.\p"
+ .string "I can’t tell you what that is.\n"
+ .string "You’ll have to find it yourself.$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D69C: @ 821D69C
+ .string "Everyone here, we’re all huge fans\n"
+ .string "of POKéMON battles.\p"
+ .string "We discuss who we consider to be\n"
+ .string "the strongest of all TRAINERS.\p"
+ .string "If you were to become famous,\n"
+ .string "we might even become your fans!$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D751: @ 821D751
+ .string "Oh, woweee! It’s {PLAYER}!\n"
+ .string "For real, too!\p"
+ .string "Please, shake my hand, shake my hand!$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D79B: @ 821D79B
+ .string "I’ll always cheer for you, {PLAYER}!\n"
+ .string "Always, always!\p"
+ .string "I don’t want to see you lose ever,\n"
+ .string "{PLAYER}.\p"
+ .string "Because I know you’re really,\n"
+ .string "really strong, {PLAYER}!$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D822: @ 821D822
+ .string "{STR_VAR_1} is really cool…\p"
+ .string "Everyone thinks so, right, right?$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D857: @ 821D857
+ .string "{STR_VAR_1} really is cool, don’t\n"
+ .string "you think so?\p"
+ .string "Even if it’s just me, I’m going to keep\n"
+ .string "cheering my favorite TRAINER.$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D8C4: @ 821D8C4
+ .string "My favorite TRAINER is…\p"
+ .string "Cool…\p"
+ .string "Strong…\p"
+ .string "And really nice…\p"
+ .string "I wish there was a TRAINER like that…$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D921: @ 821D921
+ .string "Whoa! It’s {PLAYER}!\n"
+ .string "Wicked!\p"
+ .string "When I grow up, I want to be strong\n"
+ .string "like you, {PLAYER}!$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D96A: @ 821D96A
+ .string "Even if I’m the only one…\p"
+ .string "You’ll always be the only one\n"
+ .string "I cheer for, {PLAYER}!\p"
+ .string "Because I believe in you, {PLAYER}!$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21D9D1: @ 821D9D1
+ .string "{STR_VAR_1} is so wickedly cool…\n"
+ .string "I want to shake hands with my hero.$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21DA0D: @ 821DA0D
+ .string "Even if I’m the only one…\p"
+ .string "I’m never going to stop being\n"
+ .string "{STR_VAR_1}’s fan!\p"
+ .string "Because I’ve heard, {STR_VAR_1}\n"
+ .string "never loses!$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21DA73: @ 821DA73
+ .string "{PLAYER}!\n"
+ .string "You are amazing after all!\p"
+ .string "Ever since I set eyes on you,\n"
+ .string "I knew that you were great.\p"
+ .string "It looks like my eyes didn’t deceive me.$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21DAF5: @ 821DAF5
+ .string "Who cares about the others.\n"
+ .string "I’m in your corner!\p"
+ .string "You don’t need to worry. Just get\n"
+ .string "out there and battle like always.$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21DB69: @ 821DB69
+ .string "You’re a pretty decent TRAINER,\n"
+ .string "I think.\p"
+ .string "But I also think that {STR_VAR_1}\n"
+ .string "is number one right now.\p"
+ .string "That’s just my opinion.\n"
+ .string "Don’t worry about it too much.$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21DBFB: @ 821DBFB
+ .string "Wow, you really are strong.\n"
+ .string "Maybe even stronger than {STR_VAR_1}.\p"
+ .string "But {STR_VAR_1} needs me.\p"
+ .string "If I don’t cheer for {STR_VAR_1},\n"
+ .string "who will?$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21DC68: @ 821DC68
+ .string "You’ve changed my mind!\n"
+ .string "You are strong, aren’t you?\p"
+ .string "I’d like you to tell me how you managed\n"
+ .string "to get so strong!$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21DCD6: @ 821DCD6
+ .string "The tougher the situation, the more\n"
+ .string "attractively you battle.\p"
+ .string "I can’t wait for your next battle!$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21DD36: @ 821DD36
+ .string "Among the recently hot TRAINERS,\n"
+ .string "{STR_VAR_1} is the standout.\p"
+ .string "That toughness, it’s simply not normal.\p"
+ .string "You’re doing okay, but you’re not in\n"
+ .string "the same class as {STR_VAR_1}.$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21DDCE: @ 821DDCE
+ .string "You are really popular…\p"
+ .string "You’re strong, and you’re caring to\n"
+ .string "POKéMON. No one can knock you.\p"
+ .string "But, you know, I believe in {STR_VAR_1}.\p"
+ .string "{STR_VAR_1} is definitely stronger!\n"
+ .string "I’m positive!$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21DE72: @ 821DE72
+ .string "You…\p"
+ .string "Impressive!$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21DE83: @ 821DE83
+ .string "Your true worth, it is fine if only\n"
+ .string "I recognized it.\p"
+ .string "The others I doubt will understand\n"
+ .string "the hidden power that beats within.$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21DEFF: @ 821DEFF
+ .string "Yes, I see strength in your eyes.\p"
+ .string "But!\p"
+ .string "You still haven’t realized your\n"
+ .string "potential.$"
+
+LilycoveCity_PokemonTrainerFanClub_Text_21DF51: @ 821DF51
+ .string "It is true that you are tremendously\n"
+ .string "powerful.\p"
+ .string "But!\n"
+ .string "I can tell…\p"
+ .string "That strength cannot be considered\n"
+ .string "true strength yet!\p"
+ .string "True strength is…!\n"
+ .string "… …\p"
+ .string "Actually, I have no idea, either.$"
+
diff --git a/data/scripts/maps/LilycoveCity_UnusedMart.inc b/data/scripts/maps/LilycoveCity_UnusedMart.inc
new file mode 100644
index 000000000..fa0405f68
--- /dev/null
+++ b/data/scripts/maps/LilycoveCity_UnusedMart.inc
@@ -0,0 +1,3 @@
+LilycoveCity_UnusedMart_MapScripts:: @ 821C784
+ .byte 0
+
diff --git a/data/scripts/maps/LinkContestRoom1.inc b/data/scripts/maps/LinkContestRoom1.inc
new file mode 100644
index 000000000..5276adcd8
--- /dev/null
+++ b/data/scripts/maps/LinkContestRoom1.inc
@@ -0,0 +1 @@
+LinkContestRoom1_MapScripts:: @ 823B781
diff --git a/data/scripts/maps/LinkContestRoom2.inc b/data/scripts/maps/LinkContestRoom2.inc
new file mode 100644
index 000000000..ff85310f7
--- /dev/null
+++ b/data/scripts/maps/LinkContestRoom2.inc
@@ -0,0 +1 @@
+LinkContestRoom2_MapScripts:: @ 823B781
diff --git a/data/scripts/maps/LinkContestRoom3.inc b/data/scripts/maps/LinkContestRoom3.inc
new file mode 100644
index 000000000..c3a5c95fb
--- /dev/null
+++ b/data/scripts/maps/LinkContestRoom3.inc
@@ -0,0 +1 @@
+LinkContestRoom3_MapScripts:: @ 823B781
diff --git a/data/scripts/maps/LinkContestRoom4.inc b/data/scripts/maps/LinkContestRoom4.inc
new file mode 100644
index 000000000..9a544e6f3
--- /dev/null
+++ b/data/scripts/maps/LinkContestRoom4.inc
@@ -0,0 +1 @@
+LinkContestRoom4_MapScripts:: @ 823B781
diff --git a/data/scripts/maps/LinkContestRoom5.inc b/data/scripts/maps/LinkContestRoom5.inc
new file mode 100644
index 000000000..f7ea72996
--- /dev/null
+++ b/data/scripts/maps/LinkContestRoom5.inc
@@ -0,0 +1 @@
+LinkContestRoom5_MapScripts:: @ 823B781
diff --git a/data/scripts/maps/LinkContestRoom6.inc b/data/scripts/maps/LinkContestRoom6.inc
new file mode 100644
index 000000000..bea65ea48
--- /dev/null
+++ b/data/scripts/maps/LinkContestRoom6.inc
@@ -0,0 +1 @@
+LinkContestRoom6_MapScripts:: @ 823B781
diff --git a/data/scripts/maps/LittlerootTown.inc b/data/scripts/maps/LittlerootTown.inc
new file mode 100644
index 000000000..3f58bf1e5
--- /dev/null
+++ b/data/scripts/maps/LittlerootTown.inc
@@ -0,0 +1,1040 @@
+LittlerootTown_MapScripts:: @ 81E7DCB
+ map_script 3, LittlerootTown_MapScript1_1E7DDB
+ map_script 2, LittlerootTown_MapScript2_1E7EC1
+ map_script 4, LittlerootTown_MapScript2_1E7FE2
+ .byte 0
+
+LittlerootTown_MapScript1_1E7DDB: @ 81E7DDB
+ setflag FLAG_VISITED_LITTLEROOT_TOWN
+ call LittlerootTown_EventScript_271ED7
+ compare_var_to_value VAR_0x4092, 2
+ call_if 1, LittlerootTown_EventScript_1E7E67
+ checkflag FLAG_0x052
+ call_if 0, LittlerootTown_EventScript_1E7E6F
+ compare_var_to_value VAR_0x4050, 3
+ call_if 1, LittlerootTown_EventScript_1E7E92
+ compare_var_to_value VAR_0x4082, 4
+ call_if 1, LittlerootTown_EventScript_1E7E5C
+ compare_var_to_value VAR_0x408C, 4
+ call_if 1, LittlerootTown_EventScript_1E7E5C
+ compare_var_to_value VAR_0x40C7, 1
+ call_if 1, LittlerootTown_EventScript_1E7E53
+ compare_var_to_value VAR_0x408D, 3
+ call_if 1, LittlerootTown_EventScript_1E7E4F
+ compare_var_to_value VAR_0x40D3, 1
+ call_if 1, LittlerootTown_EventScript_1E7E4B
+ compare_var_to_value VAR_0x40D3, 2
+ call_if 1, LittlerootTown_EventScript_1E7E45
+ end
+
+LittlerootTown_EventScript_1E7E45:: @ 81E7E45
+ setvar VAR_0x40D3, 3
+ return
+
+LittlerootTown_EventScript_1E7E4B:: @ 81E7E4B
+ setflag FLAG_SPECIAL_FLAG_0x4000
+ return
+
+LittlerootTown_EventScript_1E7E4F:: @ 81E7E4F
+ setflag FLAG_0x12D
+ return
+
+LittlerootTown_EventScript_1E7E53:: @ 81E7E53
+ setvar VAR_0x40C7, 2
+ setflag FLAG_0x3D3
+ return
+
+LittlerootTown_EventScript_1E7E5C:: @ 81E7E5C
+ setvar VAR_0x4082, 5
+ setvar VAR_0x408C, 5
+ return
+
+LittlerootTown_EventScript_1E7E67:: @ 81E7E67
+ setobjectxyperm 4, 14, 8
+ return
+
+LittlerootTown_EventScript_1E7E6F:: @ 81E7E6F
+ compare_var_to_value VAR_0x4050, 0
+ goto_eq LittlerootTown_EventScript_1E7E86
+ setobjectxyperm 1, 10, 1
+ setobjectmovementtype 1, 7
+ return
+
+LittlerootTown_EventScript_1E7E86:: @ 81E7E86
+ setobjectxyperm 1, 7, 2
+ setobjectmovementtype 1, 8
+ return
+
+LittlerootTown_EventScript_1E7E92:: @ 81E7E92
+ clearflag FLAG_0x2F0
+ setobjectmovementtype 4, 8
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LittlerootTown_EventScript_1E7EB1
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LittlerootTown_EventScript_1E7EB9
+ return
+
+LittlerootTown_EventScript_1E7EB1:: @ 81E7EB1
+ setobjectxyperm 4, 5, 9
+ return
+
+LittlerootTown_EventScript_1E7EB9:: @ 81E7EB9
+ setobjectxyperm 4, 14, 9
+ return
+
+LittlerootTown_MapScript2_1E7EC1: @ 81E7EC1
+ map_script_2 VAR_0x4092, 1, LittlerootTown_EventScript_1E7EDB
+ map_script_2 VAR_0x4092, 2, LittlerootTown_EventScript_1E7EF9
+ map_script_2 VAR_0x40D3, 1, LittlerootTown_EventScript_1E7FB1
+ .2byte 0
+
+LittlerootTown_EventScript_1E7EDB:: @ 81E7EDB
+ lockall
+ setvar VAR_0x8004, 5
+ setvar VAR_0x8005, 8
+ call LittlerootTown_EventScript_1E7F17
+ setflag FLAG_0x2F9
+ warpsilent LITTLEROOT_TOWN_BRENDANS_HOUSE_1F, 255, 8, 8
+ waitstate
+ releaseall
+ end
+
+LittlerootTown_EventScript_1E7EF9:: @ 81E7EF9
+ lockall
+ setvar VAR_0x8004, 14
+ setvar VAR_0x8005, 8
+ call LittlerootTown_EventScript_1E7F17
+ setflag FLAG_0x2FA
+ warpsilent LITTLEROOT_TOWN_MAYS_HOUSE_1F, 255, 2, 8
+ waitstate
+ releaseall
+ end
+
+LittlerootTown_EventScript_1E7F17:: @ 81E7F17
+ delay 15
+ playse SE_DANSA
+ applymovement 255, LittlerootTown_Movement_1E7FAC
+ waitmovement 0
+ opendoor VAR_0x8004, VAR_0x8005
+ waitdooranim
+ addobject 4
+ applymovement 4, LittlerootTown_Movement_1E7F98
+ waitmovement 0
+ closedoor VAR_0x8004, VAR_0x8005
+ waitdooranim
+ delay 10
+ applymovement 4, LittlerootTown_Movement_1E7F9A
+ waitmovement 0
+ msgbox LittlerootTown_Text_1E86BC, 4
+ closemessage
+ applymovement 4, LittlerootTown_Movement_1E7F9D
+ applymovement 255, LittlerootTown_Movement_1E7FA4
+ waitmovement 0
+ opendoor VAR_0x8004, VAR_0x8005
+ waitdooranim
+ applymovement 4, LittlerootTown_Movement_1E7FA1
+ applymovement 255, LittlerootTown_Movement_1E7FA9
+ waitmovement 0
+ setflag FLAG_0x2F0
+ setvar VAR_0x4092, 3
+ hideobjectat 255, PETALBURG_CITY
+ closedoor VAR_0x8004, VAR_0x8005
+ waitdooranim
+ clearflag FLAG_0x364
+ clearflag FLAG_SPECIAL_FLAG_0x4000
+ return
+
+LittlerootTown_Movement_1E7F98: @ 81E7F98
+ step_down
+ step_end
+
+LittlerootTown_Movement_1E7F9A: @ 81E7F9A
+ step_down
+ step_27
+ step_end
+
+LittlerootTown_Movement_1E7F9D: @ 81E7F9D
+ step_14
+ step_13
+ step_up
+ step_end
+
+LittlerootTown_Movement_1E7FA1: @ 81E7FA1
+ step_up
+ step_54
+ step_end
+
+LittlerootTown_Movement_1E7FA4: @ 81E7FA4
+ step_14
+ step_13
+ step_right
+ step_26
+ step_end
+
+LittlerootTown_Movement_1E7FA9: @ 81E7FA9
+ step_up
+ step_up
+ step_end
+
+LittlerootTown_Movement_1E7FAC: @ 81E7FAC
+ step_45
+ step_14
+ step_14
+ step_14
+ step_end
+
+LittlerootTown_EventScript_1E7FB1:: @ 81E7FB1
+ lockall
+ playse SE_PIN
+ applymovement 8, LittlerootTown_Movement_272598
+ waitmovement 0
+ delay 80
+ msgbox LittlerootTown_Text_1E8DA2, 4
+ closemessage
+ clearflag FLAG_0x31A
+ clearflag FLAG_0x31B
+ delay 20
+ clearflag FLAG_SPECIAL_FLAG_0x4000
+ warp LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB, 255, 6, 5
+ waitstate
+ releaseall
+ end
+
+LittlerootTown_MapScript2_1E7FE2: @ 81E7FE2
+ map_script_2 VAR_0x40D3, 1, LittlerootTown_EventScript_1E7FEC
+ .2byte 0
+
+LittlerootTown_EventScript_1E7FEC:: @ 81E7FEC
+ addobject 8
+ addobject 7
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_EventScript_1E8004
+ goto LittlerootTown_EventScript_1E8013
+ end
+
+LittlerootTown_EventScript_1E8004:: @ 81E8004
+ setobjectxy 7, 6, 10
+ setobjectxy 8, 5, 10
+ end
+
+LittlerootTown_EventScript_1E8013:: @ 81E8013
+ setobjectxy 7, 13, 10
+ setobjectxy 8, 14, 10
+ end
+
+LittlerootTown_EventScript_1E8022:: @ 81E8022
+ msgbox LittlerootTown_Text_1E8ACF, 2
+ end
+
+LittlerootTown_EventScript_1E802B:: @ 81E802B
+ msgbox LittlerootTown_Text_1E8B25, 2
+ end
+
+LittlerootTown_EventScript_1E8034:: @ 81E8034
+ lock
+ faceplayer
+ checkflag FLAG_0x074
+ goto_eq LittlerootTown_EventScript_1E8087
+ checkflag FLAG_0x052
+ goto_eq LittlerootTown_EventScript_1E807A
+ compare_var_to_value VAR_0x4050, 0
+ goto_if 5, LittlerootTown_EventScript_1E805D
+ msgbox LittlerootTown_Text_1E8BB8, 4
+ release
+ end
+
+LittlerootTown_EventScript_1E805D:: @ 81E805D
+ special sub_8138B10
+ msgbox LittlerootTown_Text_1E8C3A, 4
+ closemessage
+ applymovement 1, LittlerootTown_Movement_2725A2
+ waitmovement 0
+ setvar VAR_0x4050, 2
+ release
+ end
+
+LittlerootTown_EventScript_1E807A:: @ 81E807A
+ special sub_8138B10
+ msgbox LittlerootTown_Text_1E8CE3, 4
+ release
+ end
+
+LittlerootTown_EventScript_1E8087:: @ 81E8087
+ msgbox LittlerootTown_Text_1E8D07, 4
+ release
+ end
+
+LittlerootTown_EventScript_1E8091:: @ 81E8091
+ lockall
+ applymovement 1, LittlerootTown_Movement_1E80D1
+ waitmovement 0
+ call LittlerootTown_EventScript_1E80AD
+ applymovement 1, LittlerootTown_Movement_1E80E1
+ waitmovement 0
+ releaseall
+ end
+
+LittlerootTown_EventScript_1E80AD:: @ 81E80AD
+ msgbox LittlerootTown_Text_1E8BB8, 4
+ closemessage
+ applymovement 1, LittlerootTown_Movement_1E80DF
+ applymovement 255, LittlerootTown_Movement_1E80EB
+ waitmovement 0
+ msgbox LittlerootTown_Text_1E8C07, 4
+ closemessage
+ return
+
+LittlerootTown_Movement_1E80D1: @ 81E80D1
+ step_03
+ step_13
+ step_51
+ step_49
+ step_13
+ step_18
+ step_18
+ step_18
+ step_18
+ step_16
+ step_16
+ step_17
+ step_00
+ step_end
+
+LittlerootTown_Movement_1E80DF: @ 81E80DF
+ step_down
+ step_end
+
+LittlerootTown_Movement_1E80E1: @ 81E80E1
+ step_right
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_up
+ step_25
+ step_end
+
+LittlerootTown_Movement_1E80EB: @ 81E80EB
+ step_40
+ step_down
+ step_41
+ step_end
+
+LittlerootTown_EventScript_1E80EF:: @ 81E80EF
+ lockall
+ applymovement 1, LittlerootTown_Movement_1E810B
+ waitmovement 0
+ call LittlerootTown_EventScript_1E80AD
+ applymovement 1, LittlerootTown_Movement_1E8118
+ waitmovement 0
+ releaseall
+ end
+
+LittlerootTown_Movement_1E810B: @ 81E810B
+ step_03
+ step_13
+ step_51
+ step_49
+ step_13
+ step_18
+ step_18
+ step_18
+ step_16
+ step_16
+ step_18
+ step_00
+ step_end
+
+LittlerootTown_Movement_1E8118: @ 81E8118
+ step_left
+ step_down
+ step_left
+ step_left
+ step_left
+ step_25
+ step_end
+
+LittlerootTown_EventScript_1E811F:: @ 81E811F
+ lockall
+ applymovement 1, LittlerootTown_Movement_2725A8
+ waitmovement 0
+ applymovement 255, LittlerootTown_Movement_2725A4
+ waitmovement 0
+ special sub_8138B10
+ msgbox LittlerootTown_Text_1E8C3A, 4
+ closemessage
+ applymovement 1, LittlerootTown_Movement_2725A2
+ waitmovement 0
+ setvar VAR_0x4050, 2
+ releaseall
+ end
+
+LittlerootTown_EventScript_1E8151:: @ 81E8151
+ msgbox LittlerootTown_Text_1E8D32, 3
+ end
+
+LittlerootTown_EventScript_1E815A:: @ 81E815A
+ msgbox LittlerootTown_Text_1E8D69, 3
+ end
+
+LittlerootTown_EventScript_1E8163:: @ 81E8163
+ lockall
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LittlerootTown_EventScript_1E817D
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LittlerootTown_EventScript_1E8186
+ releaseall
+ end
+
+LittlerootTown_EventScript_1E817D:: @ 81E817D
+ msgbox LittlerootTown_Text_1E8D83, 4
+ return
+
+LittlerootTown_EventScript_1E8186:: @ 81E8186
+ msgbox LittlerootTown_Text_1E8D8E, 4
+ return
+
+LittlerootTown_EventScript_1E818F:: @ 81E818F
+ lockall
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LittlerootTown_EventScript_1E81A9
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LittlerootTown_EventScript_1E81B2
+ releaseall
+ end
+
+LittlerootTown_EventScript_1E81A9:: @ 81E81A9
+ msgbox LittlerootTown_Text_1E8D8E, 4
+ return
+
+LittlerootTown_EventScript_1E81B2:: @ 81E81B2
+ msgbox LittlerootTown_Text_1E8D83, 4
+ return
+
+LittlerootTown_EventScript_1E81BB:: @ 81E81BB
+ lockall
+ setvar VAR_0x8008, 0
+ setobjectxy 4, 10, 9
+ goto LittlerootTown_EventScript_1E8211
+ end
+
+LittlerootTown_EventScript_1E81CE:: @ 81E81CE
+ lockall
+ setvar VAR_0x8008, 1
+ setobjectxy 4, 11, 9
+ goto LittlerootTown_EventScript_1E8211
+ end
+
+LittlerootTown_EventScript_1E81E1:: @ 81E81E1
+ lockall
+ setvar VAR_0x8008, 2
+ goto LittlerootTown_EventScript_1E8211
+ end
+
+LittlerootTown_EventScript_1E81ED:: @ 81E81ED
+ lockall
+ setvar VAR_0x8008, 3
+ goto LittlerootTown_EventScript_1E8211
+ end
+
+LittlerootTown_EventScript_1E81F9:: @ 81E81F9
+ lockall
+ setvar VAR_0x8008, 4
+ goto LittlerootTown_EventScript_1E8211
+ end
+
+LittlerootTown_EventScript_1E8205:: @ 81E8205
+ lockall
+ setvar VAR_0x8008, 5
+ goto LittlerootTown_EventScript_1E8211
+ end
+
+LittlerootTown_EventScript_1E8211:: @ 81E8211
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LittlerootTown_EventScript_1E8297
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LittlerootTown_EventScript_1E82A2
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LittlerootTown_EventScript_1E8281
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LittlerootTown_EventScript_1E828C
+ msgbox LittlerootTown_Text_1E87E1, 4
+ closemessage
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LittlerootTown_EventScript_1E82AD
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LittlerootTown_EventScript_1E82F0
+ call LittlerootTown_EventScript_1E8693
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LittlerootTown_EventScript_1E8405
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LittlerootTown_EventScript_1E8448
+ goto LittlerootTown_EventScript_1E8686
+ end
+
+LittlerootTown_EventScript_1E8281:: @ 81E8281
+ setvar VAR_0x8009, 5
+ setvar VAR_0x800A, 8
+ return
+
+LittlerootTown_EventScript_1E828C:: @ 81E828C
+ setvar VAR_0x8009, 14
+ setvar VAR_0x800A, 8
+ return
+
+LittlerootTown_EventScript_1E8297:: @ 81E8297
+ applymovement 4, LittlerootTown_Movement_2725A8
+ waitmovement 0
+ return
+
+LittlerootTown_EventScript_1E82A2:: @ 81E82A2
+ applymovement 4, LittlerootTown_Movement_2725A4
+ waitmovement 0
+ return
+
+LittlerootTown_EventScript_1E82AD:: @ 81E82AD
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, LittlerootTown_EventScript_1E8333
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, LittlerootTown_EventScript_1E8348
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, LittlerootTown_EventScript_1E835D
+ compare_var_to_value VAR_0x8008, 3
+ call_if 1, LittlerootTown_EventScript_1E8372
+ compare_var_to_value VAR_0x8008, 4
+ call_if 1, LittlerootTown_EventScript_1E8387
+ compare_var_to_value VAR_0x8008, 5
+ call_if 1, LittlerootTown_EventScript_1E839C
+ return
+
+LittlerootTown_EventScript_1E82F0:: @ 81E82F0
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, LittlerootTown_EventScript_1E8333
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, LittlerootTown_EventScript_1E8348
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, LittlerootTown_EventScript_1E83B1
+ compare_var_to_value VAR_0x8008, 3
+ call_if 1, LittlerootTown_EventScript_1E83C6
+ compare_var_to_value VAR_0x8008, 4
+ call_if 1, LittlerootTown_EventScript_1E83DB
+ compare_var_to_value VAR_0x8008, 5
+ call_if 1, LittlerootTown_EventScript_1E83F0
+ return
+
+LittlerootTown_EventScript_1E8333:: @ 81E8333
+ applymovement 255, LittlerootTown_Movement_2725AA
+ waitmovement 0
+ applymovement 4, LittlerootTown_Movement_1E85D1
+ waitmovement 0
+ return
+
+LittlerootTown_EventScript_1E8348:: @ 81E8348
+ applymovement 255, LittlerootTown_Movement_2725AA
+ waitmovement 0
+ applymovement 4, LittlerootTown_Movement_1E85D8
+ waitmovement 0
+ return
+
+LittlerootTown_EventScript_1E835D:: @ 81E835D
+ applymovement 255, LittlerootTown_Movement_2725A4
+ waitmovement 0
+ applymovement 4, LittlerootTown_Movement_1E85DF
+ waitmovement 0
+ return
+
+LittlerootTown_EventScript_1E8372:: @ 81E8372
+ applymovement 255, LittlerootTown_Movement_2725A4
+ waitmovement 0
+ applymovement 4, LittlerootTown_Movement_1E85E4
+ waitmovement 0
+ return
+
+LittlerootTown_EventScript_1E8387:: @ 81E8387
+ applymovement 255, LittlerootTown_Movement_2725A4
+ waitmovement 0
+ applymovement 4, LittlerootTown_Movement_1E85EA
+ waitmovement 0
+ return
+
+LittlerootTown_EventScript_1E839C:: @ 81E839C
+ applymovement 255, LittlerootTown_Movement_2725A4
+ waitmovement 0
+ applymovement 4, LittlerootTown_Movement_1E85ED
+ waitmovement 0
+ return
+
+LittlerootTown_EventScript_1E83B1:: @ 81E83B1
+ applymovement 255, LittlerootTown_Movement_2725A8
+ waitmovement 0
+ applymovement 4, LittlerootTown_Movement_1E85F1
+ waitmovement 0
+ return
+
+LittlerootTown_EventScript_1E83C6:: @ 81E83C6
+ applymovement 255, LittlerootTown_Movement_2725A8
+ waitmovement 0
+ applymovement 4, LittlerootTown_Movement_1E85F5
+ waitmovement 0
+ return
+
+LittlerootTown_EventScript_1E83DB:: @ 81E83DB
+ applymovement 255, LittlerootTown_Movement_2725A8
+ waitmovement 0
+ applymovement 4, LittlerootTown_Movement_1E85F8
+ waitmovement 0
+ return
+
+LittlerootTown_EventScript_1E83F0:: @ 81E83F0
+ applymovement 255, LittlerootTown_Movement_2725A8
+ waitmovement 0
+ applymovement 4, LittlerootTown_Movement_1E85FE
+ waitmovement 0
+ return
+
+LittlerootTown_EventScript_1E8405:: @ 81E8405
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, LittlerootTown_EventScript_1E848B
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, LittlerootTown_EventScript_1E8496
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, LittlerootTown_EventScript_1E84A1
+ compare_var_to_value VAR_0x8008, 3
+ call_if 1, LittlerootTown_EventScript_1E84C7
+ compare_var_to_value VAR_0x8008, 4
+ call_if 1, LittlerootTown_EventScript_1E84ED
+ compare_var_to_value VAR_0x8008, 5
+ call_if 1, LittlerootTown_EventScript_1E8513
+ return
+
+LittlerootTown_EventScript_1E8448:: @ 81E8448
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, LittlerootTown_EventScript_1E848B
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, LittlerootTown_EventScript_1E8496
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, LittlerootTown_EventScript_1E8539
+ compare_var_to_value VAR_0x8008, 3
+ call_if 1, LittlerootTown_EventScript_1E855F
+ compare_var_to_value VAR_0x8008, 4
+ call_if 1, LittlerootTown_EventScript_1E8585
+ compare_var_to_value VAR_0x8008, 5
+ call_if 1, LittlerootTown_EventScript_1E85AB
+ return
+
+LittlerootTown_EventScript_1E848B:: @ 81E848B
+ applymovement 4, LittlerootTown_Movement_1E8603
+ waitmovement 0
+ return
+
+LittlerootTown_EventScript_1E8496:: @ 81E8496
+ applymovement 4, LittlerootTown_Movement_1E8609
+ waitmovement 0
+ return
+
+LittlerootTown_EventScript_1E84A1:: @ 81E84A1
+ applymovement 4, LittlerootTown_Movement_1E860F
+ waitmovement 0
+ opendoor VAR_0x8009, VAR_0x800A
+ waitdooranim
+ applymovement 4, LittlerootTown_Movement_1E863B
+ waitmovement 0
+ hideobjectat 4, LITTLEROOT_TOWN
+ closedoor VAR_0x8009, VAR_0x800A
+ waitdooranim
+ return
+
+LittlerootTown_EventScript_1E84C7:: @ 81E84C7
+ applymovement 4, LittlerootTown_Movement_1E8615
+ waitmovement 0
+ opendoor VAR_0x8009, VAR_0x800A
+ waitdooranim
+ applymovement 4, LittlerootTown_Movement_1E863B
+ waitmovement 0
+ hideobjectat 4, LITTLEROOT_TOWN
+ closedoor VAR_0x8009, VAR_0x800A
+ waitdooranim
+ return
+
+LittlerootTown_EventScript_1E84ED:: @ 81E84ED
+ applymovement 4, LittlerootTown_Movement_1E861C
+ waitmovement 0
+ opendoor VAR_0x8009, VAR_0x800A
+ waitdooranim
+ applymovement 4, LittlerootTown_Movement_1E863B
+ waitmovement 0
+ hideobjectat 4, LITTLEROOT_TOWN
+ closedoor VAR_0x8009, VAR_0x800A
+ waitdooranim
+ return
+
+LittlerootTown_EventScript_1E8513:: @ 81E8513
+ applymovement 4, LittlerootTown_Movement_1E8620
+ waitmovement 0
+ opendoor VAR_0x8009, VAR_0x800A
+ waitdooranim
+ applymovement 4, LittlerootTown_Movement_1E863B
+ waitmovement 0
+ hideobjectat 4, LITTLEROOT_TOWN
+ closedoor VAR_0x8009, VAR_0x800A
+ waitdooranim
+ return
+
+LittlerootTown_EventScript_1E8539:: @ 81E8539
+ applymovement 4, LittlerootTown_Movement_1E8625
+ waitmovement 0
+ opendoor VAR_0x8009, VAR_0x800A
+ waitdooranim
+ applymovement 4, LittlerootTown_Movement_1E863B
+ waitmovement 0
+ hideobjectat 4, LITTLEROOT_TOWN
+ closedoor VAR_0x8009, VAR_0x800A
+ waitdooranim
+ return
+
+LittlerootTown_EventScript_1E855F:: @ 81E855F
+ applymovement 4, LittlerootTown_Movement_1E862A
+ waitmovement 0
+ opendoor VAR_0x8009, VAR_0x800A
+ waitdooranim
+ applymovement 4, LittlerootTown_Movement_1E863B
+ waitmovement 0
+ hideobjectat 4, LITTLEROOT_TOWN
+ closedoor VAR_0x8009, VAR_0x800A
+ waitdooranim
+ return
+
+LittlerootTown_EventScript_1E8585:: @ 81E8585
+ applymovement 4, LittlerootTown_Movement_1E862E
+ waitmovement 0
+ opendoor VAR_0x8009, VAR_0x800A
+ waitdooranim
+ applymovement 4, LittlerootTown_Movement_1E863B
+ waitmovement 0
+ hideobjectat 4, LITTLEROOT_TOWN
+ closedoor VAR_0x8009, VAR_0x800A
+ waitdooranim
+ return
+
+LittlerootTown_EventScript_1E85AB:: @ 81E85AB
+ applymovement 4, LittlerootTown_Movement_1E8635
+ waitmovement 0
+ opendoor VAR_0x8009, VAR_0x800A
+ waitdooranim
+ applymovement 4, LittlerootTown_Movement_1E863B
+ waitmovement 0
+ hideobjectat 4, LITTLEROOT_TOWN
+ closedoor VAR_0x8009, VAR_0x800A
+ waitdooranim
+ return
+
+LittlerootTown_Movement_1E85D1: @ 81E85D1
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+LittlerootTown_Movement_1E85D8: @ 81E85D8
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+LittlerootTown_Movement_1E85DF: @ 81E85DF
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+LittlerootTown_Movement_1E85E4: @ 81E85E4
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+LittlerootTown_Movement_1E85EA: @ 81E85EA
+ step_right
+ step_right
+ step_end
+
+LittlerootTown_Movement_1E85ED: @ 81E85ED
+ step_right
+ step_right
+ step_right
+ step_end
+
+LittlerootTown_Movement_1E85F1: @ 81E85F1
+ step_left
+ step_left
+ step_left
+ step_end
+
+LittlerootTown_Movement_1E85F5: @ 81E85F5
+ step_left
+ step_left
+ step_end
+
+LittlerootTown_Movement_1E85F8: @ 81E85F8
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+LittlerootTown_Movement_1E85FE: @ 81E85FE
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+LittlerootTown_Movement_1E8603: @ 81E8603
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+LittlerootTown_Movement_1E8609: @ 81E8609
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+LittlerootTown_Movement_1E860F: @ 81E860F
+ step_left
+ step_left
+ step_left
+ step_left
+ step_26
+ step_end
+
+LittlerootTown_Movement_1E8615: @ 81E8615
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_26
+ step_end
+
+LittlerootTown_Movement_1E861C: @ 81E861C
+ step_left
+ step_left
+ step_26
+ step_end
+
+LittlerootTown_Movement_1E8620: @ 81E8620
+ step_left
+ step_left
+ step_left
+ step_26
+ step_end
+
+LittlerootTown_Movement_1E8625: @ 81E8625
+ step_right
+ step_right
+ step_right
+ step_26
+ step_end
+
+LittlerootTown_Movement_1E862A: @ 81E862A
+ step_right
+ step_right
+ step_26
+ step_end
+
+LittlerootTown_Movement_1E862E: @ 81E862E
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_26
+ step_end
+
+LittlerootTown_Movement_1E8635: @ 81E8635
+ step_right
+ step_right
+ step_right
+ step_right
+ step_26
+ step_end
+
+LittlerootTown_Movement_1E863B: @ 81E863B
+ step_up
+ step_end
+
+LittlerootTown_EventScript_1E863D:: @ 81E863D
+ lock
+ faceplayer
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LittlerootTown_EventScript_1E8281
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LittlerootTown_EventScript_1E828C
+ call LittlerootTown_EventScript_1E8693
+ applymovement 4, LittlerootTown_Movement_2725A6
+ waitmovement 0
+ opendoor VAR_0x8009, VAR_0x800A
+ waitdooranim
+ applymovement 4, LittlerootTown_Movement_1E863B
+ waitmovement 0
+ hideobjectat 4, LITTLEROOT_TOWN
+ closedoor VAR_0x8009, VAR_0x800A
+ waitdooranim
+ goto LittlerootTown_EventScript_1E8686
+ end
+
+LittlerootTown_EventScript_1E8686:: @ 81E8686
+ removeobject 4
+ setflag FLAG_SYS_B_DASH
+ setvar VAR_0x4050, 4
+ release
+ end
+
+LittlerootTown_EventScript_1E8693:: @ 81E8693
+ msgbox LittlerootTown_Text_1E87F0, 4
+ playfanfare BGM_FANFA4
+ message LittlerootTown_Text_1E8925
+ waitfanfare
+ setflag FLAG_0x112
+ msgbox LittlerootTown_Text_1E894F, 4
+ msgbox LittlerootTown_Text_1E8A03, 4
+ closemessage
+ delay 30
+ return
+
+LittlerootTown_Text_1E86BC: @ 81E86BC
+ .string "MOM: {PLAYER}, we’re here, honey!\p"
+ .string "It must be tiring riding with our things\n"
+ .string "in the moving truck.\p"
+ .string "Well, this is LITTLEROOT TOWN.\p"
+ .string "How do you like it?\n"
+ .string "This is our new home!\p"
+ .string "It has a quaint feel, but it seems to be\n"
+ .string "an easy place to live, don’t you think?\p"
+ .string "And, you get your own room, {PLAYER}!\n"
+ .string "Let’s go inside.$"
+
+LittlerootTown_Text_1E87E1: @ 81E87E1
+ .string "MOM: Wait, {PLAYER}!$"
+
+LittlerootTown_Text_1E87F0: @ 81E87F0
+ .string "MOM: {PLAYER}! {PLAYER}! Did you\n"
+ .string "introduce yourself to PROF. BIRCH?\p"
+ .string "Oh! What an adorable POKéMON!\n"
+ .string "You got it from PROF. BIRCH. How nice!\p"
+ .string "You’re your father’s child, all right.\n"
+ .string "You look good together with POKéMON!\p"
+ .string "Here, honey! If you’re going out on an\n"
+ .string "adventure, wear these RUNNING SHOES.\p"
+ .string "They’ll put a zip in your step!$"
+
+LittlerootTown_Text_1E8925: @ 81E8925
+ .string "{PLAYER} switched shoes with the\n"
+ .string "RUNNING SHOES.$"
+
+LittlerootTown_Text_1E894F: @ 81E894F
+ .string "MOM: {PLAYER}, those shoes came with\n"
+ .string "instructions.\p"
+ .string "“Press the B Button while wearing these\n"
+ .string "RUNNING SHOES to run extra-fast!\p"
+ .string "“Slip on these RUNNING SHOES and race\n"
+ .string "in the great outdoors!”$"
+
+LittlerootTown_Text_1E8A03: @ 81E8A03
+ .string "… … … … … … … …\n"
+ .string "… … … … … … … …\p"
+ .string "To think that you have your very own\n"
+ .string "POKéMON now…\l"
+ .string "Your father will be overjoyed.\p"
+ .string "…But please be careful.\n"
+ .string "If anything happens, you can come home.\p"
+ .string "Go on, go get them, honey!$"
+
+LittlerootTown_Text_1E8ACF: @ 81E8ACF
+ .string "If you use a PC, you can store items\n"
+ .string "and POKéMON.\p"
+ .string "The power of science is staggering!$"
+
+LittlerootTown_Text_1E8B25: @ 81E8B25
+ .string "PROF. BIRCH spends days in his LAB\n"
+ .string "studying, then he’ll suddenly go out in\l"
+ .string "the wild to do more research…\p"
+ .string "When does PROF. BIRCH spend time\n"
+ .string "at home?$"
+
+LittlerootTown_Text_1E8BB8: @ 81E8BB8
+ .string "Um, um, um!\p"
+ .string "If you go outside and go in the grass,\n"
+ .string "wild POKéMON will jump out!$"
+
+LittlerootTown_Text_1E8C07: @ 81E8C07
+ .string "It’s dangerous if you don’t have\n"
+ .string "your own POKéMON.$"
+
+LittlerootTown_Text_1E8C3A: @ 81E8C3A
+ .string "Um, hi!\p"
+ .string "There are scary POKéMON outside!\n"
+ .string "I can hear their cries!\p"
+ .string "I want to go see what’s going on,\n"
+ .string "but I don’t have any POKéMON…\p"
+ .string "Can you go see what’s happening\n"
+ .string "for me?$"
+
+LittlerootTown_Text_1E8CE3: @ 81E8CE3
+ .string "You saved PROF. BIRCH!\n"
+ .string "I’m so glad!$"
+
+LittlerootTown_Text_1E8D07: @ 81E8D07
+ .string "Are you going to catch POKéMON?\n"
+ .string "Good luck!$"
+
+LittlerootTown_Text_1E8D32: @ 81E8D32
+ .string "LITTLEROOT TOWN\n"
+ .string "“A town that can’t be shaded any hue.”$"
+
+LittlerootTown_Text_1E8D69: @ 81E8D69
+ .string "PROF. BIRCH’S POKéMON LAB$"
+
+LittlerootTown_Text_1E8D83: @ 81E8D83
+ .string "{PLAYER}’s HOUSE$"
+
+LittlerootTown_Text_1E8D8E: @ 81E8D8E
+ .string "PROF. BIRCH’S HOUSE$"
+
+LittlerootTown_Text_1E8DA2: @ 81E8DA2
+ .string "PROF. BIRCH: Well, well, {PLAYER}{KUN}!\n"
+ .string "That was good work out there!\p"
+ .string "I knew there was something special\n"
+ .string "about you when I first saw you,\l"
+ .string "but I never expected this.\p"
+ .string "Oh, yes. Do you still have the POKéDEX\n"
+ .string "I gave you?\p"
+ .string "I have something to show you.\n"
+ .string "Let’s go to my LAB.$"
+
diff --git a/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc b/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc
new file mode 100644
index 000000000..aa43cc5f2
--- /dev/null
+++ b/data/scripts/maps/LittlerootTown_BrendansHouse_1F.inc
@@ -0,0 +1,451 @@
+LittlerootTown_BrendansHouse_1F_MapScripts:: @ 81F7755
+ map_script 1, LittlerootTown_BrendansHouse_1F_MapScript1_1F7765
+ map_script 3, LittlerootTown_BrendansHouse_1F_MapScript1_1F77A4
+ map_script 2, LittlerootTown_BrendansHouse_1F_MapScript2_1F77EA
+ .byte 0
+
+LittlerootTown_BrendansHouse_1F_MapScript1_1F7765: @ 81F7765
+ compare_var_to_value VAR_0x4092, 6
+ call_if 0, LittlerootTown_BrendansHouse_1F_EventScript_1F777A
+ checkflag FLAG_0x112
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F778D
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F777A:: @ 81F777A
+ setmetatile 5, 4, 624, 1
+ setmetatile 5, 2, 616, 1
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F778D:: @ 81F778D
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_BrendansHouse_1F_EventScript_1F779A
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F779A:: @ 81F779A
+ setmetatile 3, 7, 659, 1
+ return
+
+LittlerootTown_BrendansHouse_1F_MapScript1_1F77A4: @ 81F77A4
+ compare_var_to_value VAR_0x4092, 3
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F77DE
+ compare_var_to_value VAR_0x4092, 5
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F77C6
+ compare_var_to_value VAR_0x4092, 6
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F77D2
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F77C6:: @ 81F77C6
+ setobjectxyperm 1, 8, 4
+ setobjectmovementtype 1, 7
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F77D2:: @ 81F77D2
+ setobjectxyperm 1, 4, 5
+ setobjectmovementtype 1, 7
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F77DE:: @ 81F77DE
+ setobjectxyperm 1, 9, 8
+ setobjectmovementtype 1, 7
+ return
+
+LittlerootTown_BrendansHouse_1F_MapScript2_1F77EA: @ 81F77EA
+ map_script_2 VAR_0x4092, 3, LittlerootTown_BrendansHouse_1F_EventScript_1F783C
+ map_script_2 VAR_0x4092, 5, LittlerootTown_BrendansHouse_1F_EventScript_1F7814
+ map_script_2 VAR_0x4092, 6, LittlerootTown_BrendansHouse_1F_EventScript_1F784D
+ map_script_2 VAR_0x4082, 1, LittlerootTown_BrendansHouse_1F_EventScript_1F785E
+ map_script_2 VAR_0x4082, 3, LittlerootTown_BrendansHouse_1F_EventScript_292AF2
+ .2byte 0
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F7814:: @ 81F7814
+ lockall
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B67, 4
+ closemessage
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1F783A
+ applymovement 1, LittlerootTown_BrendansHouse_1F_Movement_1F783A
+ waitmovement 0
+ warp LITTLEROOT_TOWN_BRENDANS_HOUSE_2F, 255, 7, 1
+ waitstate
+ releaseall
+ end
+
+LittlerootTown_BrendansHouse_1F_Movement_1F783A: @ 81F783A
+ step_up
+ step_end
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F783C:: @ 81F783C
+ lockall
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 0
+ goto LittlerootTown_BrendansHouse_1F_EventScript_292704
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F784D:: @ 81F784D
+ lockall
+ setvar VAR_0x8004, 0
+ setvar VAR_0x8005, 1
+ goto LittlerootTown_BrendansHouse_1F_EventScript_29286D
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F785E:: @ 81F785E
+ lockall
+ playse SE_PIN
+ applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_272598
+ waitmovement 0
+ applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_27259A
+ waitmovement 0
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4
+ applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_1F789C
+ waitmovement 0
+ special sub_8138B48
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F8BC5, 4
+ setflag FLAG_0x057
+ setvar VAR_0x4082, 2
+ releaseall
+ end
+
+LittlerootTown_BrendansHouse_1F_Movement_1F789C: @ 81F789C
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F78A3:: @ 81F78A3
+ lockall
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 0
+ applymovement VAR_0x8004, LittlerootTown_BrendansHouse_1F_Movement_2725A4
+ waitmovement 0
+ goto LittlerootTown_BrendansHouse_1F_EventScript_292765
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F78BE:: @ 81F78BE
+ lockall
+ setvar VAR_0x8008, 0
+ goto LittlerootTown_BrendansHouse_1F_EventScript_1F78E2
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F78CA:: @ 81F78CA
+ lockall
+ setvar VAR_0x8008, 1
+ goto LittlerootTown_BrendansHouse_1F_EventScript_1F78E2
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F78D6:: @ 81F78D6
+ lockall
+ setvar VAR_0x8008, 2
+ goto LittlerootTown_BrendansHouse_1F_EventScript_1F78E2
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F78E2:: @ 81F78E2
+ playse SE_KAIDAN
+ delay 10
+ addobject 7
+ delay 30
+ playse SE_PIN
+ applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_272598
+ waitmovement 0
+ applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_27259A
+ waitmovement 0
+ compare_var_to_value VAR_0x8008, 1
+ call_if 5, LittlerootTown_BrendansHouse_1F_EventScript_1F7981
+ playbgm BGM_BOY_SUP, 1
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F798C
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F7997
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F79A2
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F90B4, 4
+ closemessage
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F79C1
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F79D3
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F79E5
+ playse SE_KAIDAN
+ removeobject 7
+ setflag FLAG_0x2E9
+ setflag FLAG_0x331
+ clearflag FLAG_0x2F8
+ delay 30
+ setvar VAR_0x408D, 3
+ setvar VAR_0x4050, 1
+ savebgm SE_STOP
+ fadedefaultbgm
+ releaseall
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F7981:: @ 81F7981
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725AA
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F798C:: @ 81F798C
+ applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F79AD
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F7997:: @ 81F7997
+ applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F79B5
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F79A2:: @ 81F79A2
+ applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F79B9
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_Movement_1F79AD: @ 81F79AD
+ step_27
+ step_left
+ step_26
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_1F79B5: @ 81F79B5
+ step_up
+ step_up
+ step_up
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_1F79B9: @ 81F79B9
+ step_28
+ step_right
+ step_26
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F79C1:: @ 81F79C1
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1F79F7
+ applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F7A06
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F79D3:: @ 81F79D3
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1F79FB
+ applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F7A0C
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F79E5:: @ 81F79E5
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1F7A02
+ applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F7A16
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_Movement_1F79F7: @ 81F79F7
+ step_14
+ step_13
+ step_28
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_1F79FB: @ 81F79FB
+ step_14
+ step_13
+ step_28
+ step_14
+ step_14
+ step_26
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_1F7A02: @ 81F7A02
+ step_14
+ step_13
+ step_27
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_1F7A06: @ 81F7A06
+ step_28
+ step_right
+ step_26
+ step_up
+ step_up
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_1F7A0C: @ 81F7A0C
+ step_28
+ step_right
+ step_26
+ step_up
+ step_up
+ step_27
+ step_left
+ step_26
+ step_up
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_1F7A16: @ 81F7A16
+ step_27
+ step_left
+ step_26
+ step_up
+ step_up
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Text_1F7A1C: @ 81F7A1C
+ .string "MOM: See, {PLAYER}?\n"
+ .string "Isn’t it nice in here, too?$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F7A46: @ 81F7A46
+ .string "The mover’s POKéMON do all the work\n"
+ .string "of moving us in and cleaning up after.\l"
+ .string "This is so convenient!\p"
+ .string "{PLAYER}, your room is upstairs.\n"
+ .string "Go check it out, dear!\p"
+ .string "DAD bought you a new clock to mark\n"
+ .string "our move here.\l"
+ .string "Don’t forget to set it!$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F7B24: @ 81F7B24
+ .string "MOM: Well, {PLAYER}?\p"
+ .string "Aren’t you interested in seeing your\n"
+ .string "very own room?$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F7B67: @ 81F7B67
+LittlerootTown_MaysHouse_1F_Text_1F7B67: @ 81F7B67
+ .string "MOM: {PLAYER}.\p"
+ .string "Go set the clock in your room, honey.$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F7B96: @ 81F7B96
+ .string "MOM: Oh! {PLAYER}, {PLAYER}!\n"
+ .string "Quick! Come quickly!$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F7BBC: @ 81F7BBC
+LittlerootTown_MaysHouse_1F_Text_1F7BBC: @ 81F7BBC
+ .string "MOM: Look! It’s PETALBURG GYM!\n"
+ .string "Maybe DAD will be on!$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F7BF1: @ 81F7BF1
+LittlerootTown_MaysHouse_1F_Text_1F7BF1: @ 81F7BF1
+ .string "MOM: Oh… It’s over.\p"
+ .string "I think DAD was on, but we missed him.\n"
+ .string "Too bad.$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F7C35: @ 81F7C35
+LittlerootTown_MaysHouse_1F_Text_1F7C35: @ 81F7C35
+ .string "Oh, yes.\n"
+ .string "One of DAD’s friends lives in town.\p"
+ .string "PROF. BIRCH is his name.\p"
+ .string "He lives right next door, so you should\n"
+ .string "go over and introduce yourself.$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F7CC3: @ 81F7CC3
+ .string "MOM: See you, honey!$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F7CD8: @ 81F7CD8
+ .string "MOM: Did you introduce yourself to\n"
+ .string "PROF. BIRCH?$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F7D08: @ 81F7D08
+ .string "MOM: How are you doing, {PLAYER}?\n"
+ .string "You look a little tired.\p"
+ .string "I think you should rest a bit.$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F7D5C: @ 81F7D5C
+ .string "MOM: Take care, honey!$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F7D73: @ 81F7D73
+ .string "MOM: Oh? Did DAD give you that BADGE?\p"
+ .string "Then here’s something from your MOM!$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F7DBE: @ 81F7DBE
+ .string "Don’t push yourself too hard, dear.\n"
+ .string "You can always come home.\p"
+ .string "Go for it, honey!$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F7E0E: @ 81F7E0E
+ .string "MOM: What is that, honey? A POKéNAV?\n"
+ .string "Someone from DEVON gave it to you?\p"
+ .string "Well, honey, how about registering\n"
+ .string "your mom?\p"
+ .string "… … …$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F7E89: @ 81F7E89
+ .string "Registered MOM\n"
+ .string "in the POKéNAV.$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F7EA8: @ 81F7EA8
+ .string "Fugiiiiih!$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F7EB3: @ 81F7EB3
+ .string "Huggoh, uggo uggo…$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F7EC6: @ 81F7EC6
+ .string "INTERVIEWER: …We brought you this\n"
+ .string "report from in front of PETALBURG GYM.$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F7F0F: @ 81F7F0F
+ .string "There is a movie on TV.\p"
+ .string "Two men are dancing on a big piano\n"
+ .string "keyboard.\p"
+ .string "Better get going!$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F7F66: @ 81F7F66
+ .string "It’s the instruction booklet for the\n"
+ .string "RUNNING SHOES.\p"
+ .string "“Press the B Button to run while\n"
+ .string "wearing your RUNNING SHOES.\p"
+ .string "“Lace up your RUNNING SHOES and hit\n"
+ .string "the road running!”$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F800E: @ 81F800E
+ .string "DAD: Hm?\p"
+ .string "Hey, it’s {PLAYER}!\p"
+ .string "It’s been a while since I saw you,\n"
+ .string "but you look…stronger, somehow.\p"
+ .string "That’s the impression I get.\n"
+ .string "But your old man hasn’t given up yet!\p"
+ .string "Oh, yes, I have something for you.\n"
+ .string "This came to you from someone named\l"
+ .string "MR. BRINEY.$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F80FE: @ 81F80FE
+ .string "DAD: Hm, a TICKET for a ferry?\p"
+ .string "If I recall, there are ferry ports in\n"
+ .string "SLATEPORT and LILYCOVE.$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F815B: @ 81F815B
+ .string "I’d better get back to PETALBURG GYM.\p"
+ .string "MOM, thanks for looking after the house\n"
+ .string "while I’m away.$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F81B9: @ 81F81B9
+ .string "MOM: That DAD of yours…\p"
+ .string "He comes home for the first time in a\n"
+ .string "while, but all he talks about is POKéMON.\p"
+ .string "He should relax and stay a little longer.$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F824B: @ 81F824B
+ .string "MOM: Is that a breaking news story?$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F826F: @ 81F826F
+ .string "We bring you this emergency\n"
+ .string "news flash!\p"
+ .string "In various HOENN locales, there have\n"
+ .string "been reports of a BZZT…colored\l"
+ .string "POKéMON in flight.\p"
+ .string "The identity of this POKéMON is\n"
+ .string "currently unknown.\p"
+ .string "We now return you to the regular\n"
+ .string "movie program.$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F8351: @ 81F8351
+ .string "MOM: {PLAYER}, did you catch that?\p"
+ .string "What color did the announcer say\n"
+ .string "that POKéMON was?$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F83A1: @ 81F83A1
+ .string "MOM: Well, isn’t that something!\n"
+ .string "There are still unknown POKéMON.$"
diff --git a/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc b/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc
new file mode 100644
index 000000000..895922471
--- /dev/null
+++ b/data/scripts/maps/LittlerootTown_BrendansHouse_2F.inc
@@ -0,0 +1,318 @@
+LittlerootTown_BrendansHouse_2F_MapScripts:: @ 81F83E3
+ map_script 3, LittlerootTown_BrendansHouse_2F_MapScript1_1F83EE
+ map_script 4, LittlerootTown_BrendansHouse_2F_MapScript2_1F846A
+ .byte 0
+
+LittlerootTown_BrendansHouse_2F_MapScript1_1F83EE: @ 81F83EE
+ compare_var_to_value VAR_0x408D, 2
+ call_if 0, LittlerootTown_BrendansHouse_2F_EventScript_1F8457
+ compare_var_to_value VAR_0x408D, 3
+ call_if 4, LittlerootTown_BrendansHouse_2F_EventScript_1F841A
+ compare_var_to_value VAR_0x4092, 4
+ call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_2926FE
+ call LittlerootTown_BrendansHouse_2F_EventScript_275CE1
+ setvar VAR_0x4089, 0
+ end
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F841A:: @ 81F841A
+ checkflag FLAG_0x124
+ goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8433
+ compare_var_to_value VAR_0x4084, 2
+ goto_if 4, LittlerootTown_BrendansHouse_2F_EventScript_1F8456
+ goto LittlerootTown_BrendansHouse_2F_EventScript_1F8433
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F8433:: @ 81F8433
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8456
+ compare_var_to_value VAR_0x40D3, 2
+ goto_if 4, LittlerootTown_BrendansHouse_2F_EventScript_1F9309
+ setobjectxyperm 1, 0, 2
+ setobjectmovementtype 1, 7
+ return
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F8456:: @ 81F8456
+ return
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F8457:: @ 81F8457
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8464
+ return
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F8464:: @ 81F8464
+ setvar VAR_0x408D, 2
+ return
+
+LittlerootTown_BrendansHouse_2F_MapScript2_1F846A: @ 81F846A
+ map_script_2 VAR_0x4089, 0, LittlerootTown_BrendansHouse_2F_EventScript_1F8474
+ .2byte 0
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F8474:: @ 81F8474
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_275D0C
+ end
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F8481:: @ 81F8481
+ lockall
+ compare_var_to_value VAR_0x408D, 2
+ goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8497
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F9991, 4
+ releaseall
+ end
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F8497:: @ 81F8497
+ delay 10
+ addobject 1
+ applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85BC
+ waitmovement 0
+ playse SE_PIN
+ applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_272598
+ waitmovement 0
+ applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_27259A
+ waitmovement 0
+ delay 10
+ playbgm BGM_BOY_SUP, 1
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F8507
+ compare_var_to_value VAR_FACING, 1
+ call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F8536
+ compare_var_to_value VAR_FACING, 3
+ call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F8565
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F8594
+ setvar VAR_0x408D, 3
+ setflag FLAG_0x331
+ clearflag FLAG_0x2F8
+ setvar VAR_0x4050, 1
+ savebgm SE_STOP
+ fadedefaultbgm
+ releaseall
+ end
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F8507:: @ 81F8507
+ applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85C0
+ waitmovement 0
+ applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8
+ waitmovement 0
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, 4
+ closemessage
+ applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_1F85CF
+ applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85C6
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F8536:: @ 81F8536
+ applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85D7
+ waitmovement 0
+ applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8
+ waitmovement 0
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, 4
+ closemessage
+ applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_1F85E2
+ applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85DB
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F8565:: @ 81F8565
+ applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85E8
+ waitmovement 0
+ applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8
+ waitmovement 0
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, 4
+ closemessage
+ applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_1F85F6
+ applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85ED
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F8594:: @ 81F8594
+ applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85FD
+ waitmovement 0
+ applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A6
+ waitmovement 0
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, 4
+ closemessage
+ applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F8604
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_2F_Movement_1F85BC: @ 81F85BC
+ step_down
+ step_down
+ step_27
+ step_end
+
+LittlerootTown_BrendansHouse_2F_Movement_1F85C0: @ 81F85C0
+ step_left
+ step_left
+ step_down
+ step_down
+ step_left
+ step_end
+
+LittlerootTown_BrendansHouse_2F_Movement_1F85C6: @ 81F85C6
+ step_up
+ step_up
+ step_up
+ step_left
+ step_left
+ step_left
+ step_left
+ step_26
+ step_end
+
+LittlerootTown_BrendansHouse_2F_Movement_1F85CF: @ 81F85CF
+ step_14
+ step_26
+ step_14
+ step_14
+ step_14
+ step_14
+ step_27
+ step_end
+
+LittlerootTown_BrendansHouse_2F_Movement_1F85D7: @ 81F85D7
+ step_left
+ step_left
+ step_left
+ step_end
+
+LittlerootTown_BrendansHouse_2F_Movement_1F85DB: @ 81F85DB
+ step_up
+ step_left
+ step_left
+ step_left
+ step_left
+ step_26
+ step_end
+
+LittlerootTown_BrendansHouse_2F_Movement_1F85E2: @ 81F85E2
+ step_14
+ step_26
+ step_14
+ step_14
+ step_27
+ step_end
+
+LittlerootTown_BrendansHouse_2F_Movement_1F85E8: @ 81F85E8
+ step_left
+ step_left
+ step_down
+ step_27
+ step_end
+
+LittlerootTown_BrendansHouse_2F_Movement_1F85ED: @ 81F85ED
+ step_up
+ step_up
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_26
+ step_end
+
+LittlerootTown_BrendansHouse_2F_Movement_1F85F6: @ 81F85F6
+ step_13
+ step_14
+ step_26
+ step_14
+ step_14
+ step_27
+ step_end
+
+LittlerootTown_BrendansHouse_2F_Movement_1F85FD: @ 81F85FD
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_25
+ step_end
+
+LittlerootTown_BrendansHouse_2F_Movement_1F8604: @ 81F8604
+ step_up
+ step_left
+ step_left
+ step_26
+ step_end
+
+LittlerootTown_BrendansHouse_2F_Movement_1F8609: @ 81F8609
+ step_14
+ step_14
+ step_27
+ step_end
+
+gUnknown_081F860D:: @ 81F860D
+ lockall
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8626
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F864C
+ end
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F8626:: @ 81F8626
+ setvar VAR_0x8004, 1
+ special sp0D9_ComputerRelated
+ playse SE_PC_ON
+ msgbox gUnknown_08272D87, 4
+ special sub_816AE58
+ waitstate
+ releaseall
+ end
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F863F:: @ 81F863F
+ setvar VAR_0x8004, 1
+ playse SE_PC_OFF
+ special sub_8138E20
+ releaseall
+ end
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F864C:: @ 81F864C
+ msgbox gUnknown_08272CD5, 4
+ releaseall
+ end
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F8656:: @ 81F8656
+LittlerootTown_MaysHouse_2F_EventScript_1F8656:: @ 81F8656
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F877F, 3
+ end
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F865F:: @ 81F865F
+LittlerootTown_MaysHouse_2F_EventScript_1F865F:: @ 81F865F
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F884F, 3
+ end
+
+LittlerootTown_BrendansHouse_2F_Text_1F8668: @ 81F8668
+ .string "The clock is stopped…\p"
+ .string "Better set it and start it!$"
+
+LittlerootTown_BrendansHouse_2F_Text_1F869A: @ 81F869A
+ .string "MOM: {PLAYER}, how do you like your\n"
+ .string "new room?\p"
+ .string "Good! Everything’s put away neatly!\p"
+ .string "They finished moving everything in\n"
+ .string "downstairs, too.\p"
+ .string "POKéMON movers are so convenient!\p"
+ .string "Oh, you should make sure that\n"
+ .string "everything’s all there on your desk.$"
+
+LittlerootTown_BrendansHouse_2F_Text_1F877F: @ 81F877F
+ .string "{PLAYER} flipped open the notebook.\p"
+ .string "ADVENTURE RULE NO. 1\n"
+ .string "Open the MENU with START.\p"
+ .string "ADVENTURE RULE NO. 2\n"
+ .string "Record your progress with SAVE.\p"
+ .string "The remaining pages are blank…$"
+
+LittlerootTown_BrendansHouse_2F_Text_1F8820: @ 81F8820
+ .string "{PLAYER} took a closer look at the\n"
+ .string "HOENN region map.$"
+
+LittlerootTown_BrendansHouse_2F_Text_1F884F: @ 81F884F
+ .string "It’s a Nintendo GameCube.\p"
+ .string "A Game Boy Advance is connected to\n"
+ .string "serve as the Controller.$"
diff --git a/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc b/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc
new file mode 100644
index 000000000..ffeaa9499
--- /dev/null
+++ b/data/scripts/maps/LittlerootTown_MaysHouse_1F.inc
@@ -0,0 +1,423 @@
+LittlerootTown_MaysHouse_1F_MapScripts:: @ 81F88A5
+ map_script 1, LittlerootTown_MaysHouse_1F_MapScript1_1F88B5
+ map_script 3, LittlerootTown_MaysHouse_1F_MapScript1_1F88F4
+ map_script 2, LittlerootTown_MaysHouse_1F_MapScript2_1F893A
+ .byte 0
+
+LittlerootTown_MaysHouse_1F_MapScript1_1F88B5: @ 81F88B5
+ compare_var_to_value VAR_0x4092, 6
+ call_if 0, LittlerootTown_MaysHouse_1F_EventScript_1F88CA
+ checkflag FLAG_0x112
+ call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F88DD
+ end
+
+LittlerootTown_MaysHouse_1F_EventScript_1F88CA:: @ 81F88CA
+ setmetatile 5, 4, 624, 1
+ setmetatile 5, 2, 616, 1
+ return
+
+LittlerootTown_MaysHouse_1F_EventScript_1F88DD:: @ 81F88DD
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LittlerootTown_MaysHouse_1F_EventScript_1F88EA
+ return
+
+LittlerootTown_MaysHouse_1F_EventScript_1F88EA:: @ 81F88EA
+ setmetatile 6, 7, 659, 1
+ return
+
+LittlerootTown_MaysHouse_1F_MapScript1_1F88F4: @ 81F88F4
+ compare_var_to_value VAR_0x4092, 3
+ call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F892E
+ compare_var_to_value VAR_0x4092, 5
+ call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8916
+ compare_var_to_value VAR_0x4092, 6
+ call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8922
+ end
+
+LittlerootTown_MaysHouse_1F_EventScript_1F8916:: @ 81F8916
+ setobjectxyperm 1, 2, 4
+ setobjectmovementtype 1, 7
+ return
+
+LittlerootTown_MaysHouse_1F_EventScript_1F8922:: @ 81F8922
+ setobjectxyperm 1, 6, 5
+ setobjectmovementtype 1, 7
+ return
+
+LittlerootTown_MaysHouse_1F_EventScript_1F892E:: @ 81F892E
+ setobjectxyperm 1, 1, 8
+ setobjectmovementtype 1, 7
+ return
+
+LittlerootTown_MaysHouse_1F_MapScript2_1F893A: @ 81F893A
+ map_script_2 VAR_0x4092, 3, LittlerootTown_MaysHouse_1F_EventScript_1F898C
+ map_script_2 VAR_0x4092, 5, LittlerootTown_MaysHouse_1F_EventScript_1F8964
+ map_script_2 VAR_0x4092, 6, LittlerootTown_MaysHouse_1F_EventScript_1F899D
+ map_script_2 VAR_0x408C, 1, LittlerootTown_MaysHouse_1F_EventScript_1F89AE
+ map_script_2 VAR_0x4082, 3, LittlerootTown_MaysHouse_1F_EventScript_292AF2
+ .2byte 0
+
+LittlerootTown_MaysHouse_1F_EventScript_1F8964:: @ 81F8964
+ lockall
+ msgbox LittlerootTown_MaysHouse_1F_Text_1F7B67, 4
+ closemessage
+ applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1F898A
+ applymovement 1, LittlerootTown_MaysHouse_1F_Movement_1F898A
+ waitmovement 0
+ warp LITTLEROOT_TOWN_MAYS_HOUSE_2F, 255, 1, 1
+ waitstate
+ releaseall
+ end
+
+LittlerootTown_MaysHouse_1F_Movement_1F898A: @ 81F898A
+ step_up
+ step_end
+
+LittlerootTown_MaysHouse_1F_EventScript_1F898C:: @ 81F898C
+ lockall
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ goto LittlerootTown_MaysHouse_1F_EventScript_292704
+ end
+
+LittlerootTown_MaysHouse_1F_EventScript_1F899D:: @ 81F899D
+ lockall
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ goto LittlerootTown_MaysHouse_1F_EventScript_2928DC
+ end
+
+LittlerootTown_MaysHouse_1F_EventScript_1F89AE:: @ 81F89AE
+ lockall
+ playse SE_PIN
+ applymovement 4, LittlerootTown_MaysHouse_1F_Movement_272598
+ waitmovement 0
+ applymovement 4, LittlerootTown_MaysHouse_1F_Movement_27259A
+ waitmovement 0
+ applymovement 255, LittlerootTown_MaysHouse_1F_Movement_2725A8
+ applymovement 4, LittlerootTown_MaysHouse_1F_Movement_1F89EC
+ waitmovement 0
+ special sub_8138B48
+ msgbox LittlerootTown_MaysHouse_1F_Text_1F8BC5, 4
+ setflag FLAG_0x057
+ setvar VAR_0x408C, 2
+ releaseall
+ end
+
+LittlerootTown_MaysHouse_1F_Movement_1F89EC: @ 81F89EC
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F89F3:: @ 81F89F3
+LittlerootTown_MaysHouse_1F_EventScript_1F89F3:: @ 81F89F3
+ lock
+ faceplayer
+ checkflag FLAG_0x082
+ goto_eq LittlerootTown_BrendansHouse_1F_EventScript_1F8A33
+ checkflag FLAG_SYS_POKEMON_GET
+ goto_eq LittlerootTown_BrendansHouse_1F_EventScript_1F8A29
+ compare_var_to_value VAR_0x408D, 3
+ goto_eq LittlerootTown_BrendansHouse_1F_EventScript_1F8A1F
+ special sub_8138B48
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F8CA5, 4
+ release
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F8A1F:: @ 81F8A1F
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F8D37, 4
+ release
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F8A29:: @ 81F8A29
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F8D93, 4
+ release
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F8A33:: @ 81F8A33
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F8E01, 4
+ release
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_1F8A3D:: @ 81F8A3D
+LittlerootTown_MaysHouse_1F_EventScript_1F8A3D:: @ 81F8A3D
+ lock
+ faceplayer
+ special sub_8138B10
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F9262, 4
+ release
+ end
+
+LittlerootTown_MaysHouse_1F_EventScript_1F8A4C:: @ 81F8A4C
+ lockall
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ applymovement VAR_0x8004, LittlerootTown_MaysHouse_1F_Movement_2725A8
+ waitmovement 0
+ goto LittlerootTown_MaysHouse_1F_EventScript_292765
+ end
+
+LittlerootTown_MaysHouse_1F_EventScript_1F8A67:: @ 81F8A67
+ lockall
+ setvar VAR_0x8008, 0
+ goto LittlerootTown_MaysHouse_1F_EventScript_1F8A8B
+ end
+
+LittlerootTown_MaysHouse_1F_EventScript_1F8A73:: @ 81F8A73
+ lockall
+ setvar VAR_0x8008, 1
+ goto LittlerootTown_MaysHouse_1F_EventScript_1F8A8B
+ end
+
+LittlerootTown_MaysHouse_1F_EventScript_1F8A7F:: @ 81F8A7F
+ lockall
+ setvar VAR_0x8008, 2
+ goto LittlerootTown_MaysHouse_1F_EventScript_1F8A8B
+ end
+
+LittlerootTown_MaysHouse_1F_EventScript_1F8A8B:: @ 81F8A8B
+ playse SE_KAIDAN
+ delay 10
+ addobject 7
+ delay 30
+ playse SE_PIN
+ applymovement 7, LittlerootTown_MaysHouse_1F_Movement_272598
+ waitmovement 0
+ applymovement 7, LittlerootTown_MaysHouse_1F_Movement_27259A
+ waitmovement 0
+ compare_var_to_value VAR_0x8008, 1
+ call_if 5, LittlerootTown_MaysHouse_1F_EventScript_1F8B2A
+ playbgm BGM_GIRL_SUP, 1
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B35
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B40
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B4B
+ msgbox LittlerootTown_MaysHouse_1F_Text_1F8EC6, 4
+ closemessage
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B6A
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B7C
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B8E
+ playse SE_KAIDAN
+ removeobject 7
+ setflag FLAG_0x2EA
+ setflag FLAG_0x332
+ clearflag FLAG_0x2D2
+ delay 30
+ setvar VAR_0x408D, 3
+ setvar VAR_0x4050, 1
+ savebgm SE_STOP
+ fadedefaultbgm
+ releaseall
+ end
+
+LittlerootTown_MaysHouse_1F_EventScript_1F8B2A:: @ 81F8B2A
+ applymovement 255, LittlerootTown_MaysHouse_1F_Movement_2725AA
+ waitmovement 0
+ return
+
+LittlerootTown_MaysHouse_1F_EventScript_1F8B35:: @ 81F8B35
+ applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8B56
+ waitmovement 0
+ return
+
+LittlerootTown_MaysHouse_1F_EventScript_1F8B40:: @ 81F8B40
+ applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8B5E
+ waitmovement 0
+ return
+
+LittlerootTown_MaysHouse_1F_EventScript_1F8B4B:: @ 81F8B4B
+ applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8B62
+ waitmovement 0
+ return
+
+LittlerootTown_MaysHouse_1F_Movement_1F8B56: @ 81F8B56
+ step_27
+ step_left
+ step_26
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+LittlerootTown_MaysHouse_1F_Movement_1F8B5E: @ 81F8B5E
+ step_up
+ step_up
+ step_up
+ step_end
+
+LittlerootTown_MaysHouse_1F_Movement_1F8B62: @ 81F8B62
+ step_28
+ step_right
+ step_26
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+LittlerootTown_MaysHouse_1F_EventScript_1F8B6A:: @ 81F8B6A
+ applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1F8BA0
+ applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8BAF
+ waitmovement 0
+ return
+
+LittlerootTown_MaysHouse_1F_EventScript_1F8B7C:: @ 81F8B7C
+ applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1F8BA4
+ applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8BB5
+ waitmovement 0
+ return
+
+LittlerootTown_MaysHouse_1F_EventScript_1F8B8E:: @ 81F8B8E
+ applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1F8BAB
+ applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8BBF
+ waitmovement 0
+ return
+
+LittlerootTown_MaysHouse_1F_Movement_1F8BA0: @ 81F8BA0
+ step_14
+ step_13
+ step_28
+ step_end
+
+LittlerootTown_MaysHouse_1F_Movement_1F8BA4: @ 81F8BA4
+ step_14
+ step_13
+ step_28
+ step_14
+ step_14
+ step_26
+ step_end
+
+LittlerootTown_MaysHouse_1F_Movement_1F8BAB: @ 81F8BAB
+ step_14
+ step_13
+ step_27
+ step_end
+
+LittlerootTown_MaysHouse_1F_Movement_1F8BAF: @ 81F8BAF
+ step_28
+ step_right
+ step_26
+ step_up
+ step_up
+ step_end
+
+LittlerootTown_MaysHouse_1F_Movement_1F8BB5: @ 81F8BB5
+ step_28
+ step_right
+ step_26
+ step_up
+ step_up
+ step_27
+ step_left
+ step_26
+ step_up
+ step_end
+
+LittlerootTown_MaysHouse_1F_Movement_1F8BBF: @ 81F8BBF
+ step_27
+ step_left
+ step_26
+ step_up
+ step_up
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Text_1F8BC5: @ 81F8BC5
+LittlerootTown_MaysHouse_1F_Text_1F8BC5: @ 81F8BC5
+ .string "Oh, hello. And you are?\p"
+ .string "… … … … … … … … …\n"
+ .string "… … … … … … … … …\p"
+ .string "Oh, you’re {PLAYER}{KUN}, our new next-door\n"
+ .string "neighbor! Hi!\p"
+ .string "We have a {STR_VAR_1} about the same\n"
+ .string "age as you.\p"
+ .string "Our {STR_VAR_1} was excited about making\n"
+ .string "a new friend.\p"
+ .string "Our {STR_VAR_1} is upstairs, I think.$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F8CA5: @ 81F8CA5
+ .string "Like child, like father.\p"
+ .string "My husband is as wild about POKéMON\n"
+ .string "as our child.\p"
+ .string "If he’s not at his LAB, he’s likely\n"
+ .string "scrabbling about in grassy places.$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F8D37: @ 81F8D37
+ .string "That {RIVAL}!\p"
+ .string "I guess our child is too busy with\n"
+ .string "POKéMON to notice that you came\l"
+ .string "to visit, {PLAYER}{KUN}.$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F8D93: @ 81F8D93
+ .string "Oh, {RIVAL} went out to ROUTE 103\n"
+ .string "just a little while ago.\p"
+ .string "Like father, like child.\n"
+ .string "{RIVAL} can’t stay quietly at home.$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F8E01: @ 81F8E01
+ .string "I think it’s wonderful for people to\n"
+ .string "travel with POKéMON.\p"
+ .string "But you should go home every so often\n"
+ .string "to let your mother know you’re okay.\p"
+ .string "She might not say it, but I’m sure she\n"
+ .string "worries about you, {PLAYER}{KUN}.$"
+
+LittlerootTown_MaysHouse_1F_Text_1F8EC6: @ 81F8EC6
+ .string "Huh?\n"
+ .string "Who… Who are you?\p"
+ .string "… … … … … … … …\n"
+ .string "… … … … … … … …\p"
+ .string "Oh, you’re {PLAYER}{KUN}.\n"
+ .string "So your move was today.\p"
+ .string "Um… I’m MAY.\n"
+ .string "Glad to meet you!\p"
+ .string "I…\n"
+ .string "I have this dream of becoming friends\l"
+ .string "with POKéMON all over the world.\p"
+ .string "I… I heard about you, {PLAYER}{KUN}, from\n"
+ .string "my dad, PROF. BIRCH.\p"
+ .string "I was hoping that you would be nice,\n"
+ .string "{PLAYER}{KUN}, and that we could be friends.\p"
+ .string "Oh, this is silly, isn’t it?\n"
+ .string "I… I’ve just met you, {PLAYER}{KUN}.\p"
+ .string "Eheheh…\p"
+ .string "Oh, no! I forgot!\p"
+ .string "I was supposed to go help Dad catch\n"
+ .string "some wild POKéMON!\p"
+ .string "{PLAYER}{KUN}, I’ll catch you later!$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F90B4: @ 81F90B4
+ .string "Hey!\n"
+ .string "You…\p"
+ .string "Who are you?\p"
+ .string "Oh, you’re {PLAYER}, aren’t you?\n"
+ .string "Moved in next door, right?\p"
+ .string "I didn’t know that you’re a girl.\p"
+ .string "Dad, PROF. BIRCH, said that our new\n"
+ .string "next-door neighbor is a GYM LEADER’s\l"
+ .string "kid, so I assumed you’d be a guy.\p"
+ .string "My name’s BRENDAN.\n"
+ .string "So, hi, neighbor!\p"
+ .string "Huh? Hey, {PLAYER}, don’t you have\n"
+ .string "a POKéMON?\p"
+ .string "Do you want me to go catch you one?\p"
+ .string "Aw, darn, I forgot…\p"
+ .string "I’m supposed to go help my dad catch\n"
+ .string "some wild POKéMON.\p"
+ .string "Some other time, okay?$"
+
+LittlerootTown_BrendansHouse_1F_Text_1F9262: @ 81F9262
+ .string "Hi, neighbor!\p"
+ .string "Do you already have your\n"
+ .string "own POKéMON?$"
diff --git a/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc b/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc
new file mode 100644
index 000000000..efe89144d
--- /dev/null
+++ b/data/scripts/maps/LittlerootTown_MaysHouse_2F.inc
@@ -0,0 +1,422 @@
+LittlerootTown_MaysHouse_2F_MapScripts:: @ 81F9296
+ map_script 3, LittlerootTown_MaysHouse_2F_MapScript1_1F92A1
+ map_script 4, LittlerootTown_MaysHouse_2F_MapScript2_1F931D
+ .byte 0
+
+LittlerootTown_MaysHouse_2F_MapScript1_1F92A1: @ 81F92A1
+ compare_var_to_value VAR_0x408D, 2
+ call_if 0, LittlerootTown_MaysHouse_2F_EventScript_1F930A
+ compare_var_to_value VAR_0x408D, 3
+ call_if 4, LittlerootTown_MaysHouse_2F_EventScript_1F92CD
+ compare_var_to_value VAR_0x4092, 4
+ call_if 1, LittlerootTown_MaysHouse_2F_EventScript_2926FE
+ call LittlerootTown_MaysHouse_2F_EventScript_275CE1
+ setvar VAR_0x4089, 0
+ end
+
+LittlerootTown_MaysHouse_2F_EventScript_1F92CD:: @ 81F92CD
+ checkflag FLAG_0x124
+ goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F92E6
+ compare_var_to_value VAR_0x4084, 2
+ goto_if 4, LittlerootTown_MaysHouse_2F_EventScript_1F9309
+ goto LittlerootTown_MaysHouse_2F_EventScript_1F92E6
+
+LittlerootTown_MaysHouse_2F_EventScript_1F92E6:: @ 81F92E6
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F9309
+ compare_var_to_value VAR_0x40D3, 2
+ goto_if 4, LittlerootTown_MaysHouse_2F_EventScript_1F9309
+ setobjectxyperm 1, 8, 2
+ setobjectmovementtype 1, 7
+ return
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F9309:: @ 81F9309
+LittlerootTown_MaysHouse_2F_EventScript_1F9309:: @ 81F9309
+ return
+
+LittlerootTown_MaysHouse_2F_EventScript_1F930A:: @ 81F930A
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F9317
+ return
+
+LittlerootTown_MaysHouse_2F_EventScript_1F9317:: @ 81F9317
+ setvar VAR_0x408D, 2
+ return
+
+LittlerootTown_MaysHouse_2F_MapScript2_1F931D: @ 81F931D
+ map_script_2 VAR_0x4089, 0, LittlerootTown_MaysHouse_2F_EventScript_1F9327
+ .2byte 0
+
+LittlerootTown_MaysHouse_2F_EventScript_1F9327:: @ 81F9327
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq EventScript_275D0C
+ end
+
+LittlerootTown_MaysHouse_2F_EventScript_1F9334:: @ 81F9334
+ lockall
+ compare_var_to_value VAR_0x408D, 2
+ goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F934A
+ msgbox LittlerootTown_MaysHouse_2F_Text_1F9991, 4
+ releaseall
+ end
+
+LittlerootTown_MaysHouse_2F_EventScript_1F934A:: @ 81F934A
+ delay 10
+ addobject 1
+ applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F946F
+ waitmovement 0
+ playse SE_PIN
+ applymovement 1, LittlerootTown_MaysHouse_2F_Movement_272598
+ waitmovement 0
+ applymovement 1, LittlerootTown_MaysHouse_2F_Movement_27259A
+ waitmovement 0
+ delay 10
+ playbgm BGM_GIRL_SUP, 1
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, LittlerootTown_MaysHouse_2F_EventScript_1F93BA
+ compare_var_to_value VAR_FACING, 1
+ call_if 1, LittlerootTown_MaysHouse_2F_EventScript_1F93E9
+ compare_var_to_value VAR_FACING, 3
+ call_if 1, LittlerootTown_MaysHouse_2F_EventScript_1F9418
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, LittlerootTown_MaysHouse_2F_EventScript_1F9440
+ setvar VAR_0x408D, 3
+ setflag FLAG_0x332
+ clearflag FLAG_0x2D2
+ setvar VAR_0x4050, 1
+ savebgm SE_STOP
+ fadedefaultbgm
+ releaseall
+ end
+
+LittlerootTown_MaysHouse_2F_EventScript_1F93BA:: @ 81F93BA
+ applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F9473
+ waitmovement 0
+ applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A4
+ waitmovement 0
+ msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, 4
+ closemessage
+ applymovement 255, LittlerootTown_MaysHouse_2F_Movement_1F9483
+ applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F9479
+ waitmovement 0
+ return
+
+LittlerootTown_MaysHouse_2F_EventScript_1F93E9:: @ 81F93E9
+ applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F948B
+ waitmovement 0
+ applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A4
+ waitmovement 0
+ msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, 4
+ closemessage
+ applymovement 255, LittlerootTown_MaysHouse_2F_Movement_1F9497
+ applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F948F
+ waitmovement 0
+ return
+
+LittlerootTown_MaysHouse_2F_EventScript_1F9418:: @ 81F9418
+ applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F949D
+ waitmovement 0
+ applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A6
+ waitmovement 0
+ msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, 4
+ closemessage
+ applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F94A4
+ waitmovement 0
+ return
+
+LittlerootTown_MaysHouse_2F_EventScript_1F9440:: @ 81F9440
+ applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F94AD
+ waitmovement 0
+ applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A4
+ waitmovement 0
+ msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, 4
+ closemessage
+ applymovement 255, LittlerootTown_MaysHouse_2F_Movement_1F94BB
+ applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F94B2
+ waitmovement 0
+ return
+
+LittlerootTown_MaysHouse_2F_Movement_1F946F: @ 81F946F
+ step_down
+ step_down
+ step_28
+ step_end
+
+LittlerootTown_MaysHouse_2F_Movement_1F9473: @ 81F9473
+ step_right
+ step_right
+ step_down
+ step_down
+ step_right
+ step_end
+
+LittlerootTown_MaysHouse_2F_Movement_1F9479: @ 81F9479
+ step_up
+ step_up
+ step_up
+ step_28
+ step_right
+ step_right
+ step_right
+ step_right
+ step_26
+ step_end
+
+LittlerootTown_MaysHouse_2F_Movement_1F9483: @ 81F9483
+ step_14
+ step_26
+ step_14
+ step_14
+ step_14
+ step_14
+ step_28
+ step_end
+
+LittlerootTown_MaysHouse_2F_Movement_1F948B: @ 81F948B
+ step_right
+ step_right
+ step_right
+ step_end
+
+LittlerootTown_MaysHouse_2F_Movement_1F948F: @ 81F948F
+ step_up
+ step_28
+ step_right
+ step_right
+ step_right
+ step_right
+ step_26
+ step_end
+
+LittlerootTown_MaysHouse_2F_Movement_1F9497: @ 81F9497
+ step_14
+ step_26
+ step_14
+ step_14
+ step_28
+ step_end
+
+LittlerootTown_MaysHouse_2F_Movement_1F949D: @ 81F949D
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_25
+ step_end
+
+LittlerootTown_MaysHouse_2F_Movement_1F94A4: @ 81F94A4
+ step_up
+ step_right
+ step_right
+ step_26
+ step_end
+
+LittlerootTown_MaysHouse_2F_Movement_1F94A9: @ 81F94A9
+ step_14
+ step_14
+ step_28
+ step_end
+
+LittlerootTown_MaysHouse_2F_Movement_1F94AD: @ 81F94AD
+ step_right
+ step_right
+ step_down
+ step_28
+ step_end
+
+LittlerootTown_MaysHouse_2F_Movement_1F94B2: @ 81F94B2
+ step_up
+ step_up
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_26
+ step_end
+
+LittlerootTown_MaysHouse_2F_Movement_1F94BB: @ 81F94BB
+ step_14
+ step_26
+ step_14
+ step_14
+ step_28
+ step_end
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F94C1:: @ 81F94C1
+LittlerootTown_MaysHouse_2F_EventScript_1F94C1:: @ 81F94C1
+ lockall
+ checkflag FLAG_0x124
+ goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94F7
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94E3
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94ED
+ end
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F94E3:: @ 81F94E3
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F978A, 4
+ releaseall
+ end
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F94ED:: @ 81F94ED
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F9962, 4
+ releaseall
+ end
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F94F7:: @ 81F94F7
+ applymovement VAR_LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_27259E
+ waitmovement 0
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F951D
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F952F
+ setflag FLAG_0x125
+ releaseall
+ end
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F951D:: @ 81F951D
+ checkflag FLAG_0x125
+ goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F9541
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F99C9, 4
+ return
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F952F:: @ 81F952F
+ checkflag FLAG_0x125
+ goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F954A
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F9B0D, 4
+ return
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F9541:: @ 81F9541
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F9A9E, 4
+ return
+
+LittlerootTown_BrendansHouse_2F_EventScript_1F954A:: @ 81F954A
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F9BE7, 4
+ return
+
+gUnknown_081F9553:: @ 81F9553
+ lockall
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F956C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F9576
+ end
+
+LittlerootTown_MaysHouse_2F_EventScript_1F956C:: @ 81F956C
+ msgbox gUnknown_08272CD5, 4
+ releaseall
+ end
+
+LittlerootTown_MaysHouse_2F_EventScript_1F9576:: @ 81F9576
+ setvar VAR_0x8004, 2
+ special sp0D9_ComputerRelated
+ playse SE_PC_ON
+ msgbox gUnknown_08272D87, 4
+ special sub_816AE58
+ waitstate
+ releaseall
+ end
+
+LittlerootTown_MaysHouse_2F_EventScript_1F958F:: @ 81F958F
+ setvar VAR_0x8004, 2
+ playse SE_PC_OFF
+ special sub_8138E20
+ releaseall
+ end
+
+LittlerootTown_MaysHouse_2F_Text_1F959C: @ 81F959C
+ .string "Huh?\n"
+ .string "Who… Who are you?\p"
+ .string "… … … … … … … …\n"
+ .string "… … … … … … … …\p"
+ .string "Oh, you’re {PLAYER}{KUN}.\n"
+ .string "So your move was today.\p"
+ .string "Um… I’m MAY.\n"
+ .string "Glad to meet you!\p"
+ .string "I…\n"
+ .string "I have this dream of becoming friends\l"
+ .string "with POKéMON all over the world.\p"
+ .string "I… I heard about you, {PLAYER}{KUN}, from\n"
+ .string "my dad, PROF. BIRCH.\p"
+ .string "I was hoping that you would be nice,\n"
+ .string "{PLAYER}{KUN}, and that we could be friends.\p"
+ .string "Oh, this is silly, isn’t it?\n"
+ .string "I… I’ve just met you, {PLAYER}{KUN}.\p"
+ .string "Eheheh…\p"
+ .string "Oh, no! I forgot!\p"
+ .string "I was supposed to go help Dad catch\n"
+ .string "some wild POKéMON!\p"
+ .string "{PLAYER}{KUN}, I’ll catch you later!$"
+
+LittlerootTown_BrendansHouse_2F_Text_1F978A: @ 81F978A
+ .string "POKéMON fully restored!\n"
+ .string "Items ready, and…$"
+
+LittlerootTown_BrendansHouse_2F_Text_1F97B4: @ 81F97B4
+ .string "Hey!\n"
+ .string "You…\p"
+ .string "Who are you?\p"
+ .string "Oh, you’re {PLAYER}, aren’t you?\n"
+ .string "Moved in next door, right?\p"
+ .string "I didn’t know that you’re a girl.\p"
+ .string "Dad, PROF. BIRCH, said that our new\n"
+ .string "next-door neighbor is a GYM LEADER’s\l"
+ .string "kid, so I assumed you’d be a guy.\p"
+ .string "My name’s BRENDAN.\n"
+ .string "So, hi, neighbor!\p"
+ .string "Huh? Hey, {PLAYER}, don’t you have\n"
+ .string "a POKéMON?\p"
+ .string "Do you want me to go catch you one?\p"
+ .string "Aw, darn, I forgot…\p"
+ .string "I’m supposed to go help my dad catch\n"
+ .string "some wild POKéMON.\p"
+ .string "Some other time, okay?$"
+
+LittlerootTown_BrendansHouse_2F_Text_1F9962: @ 81F9962
+ .string "POKéMON fully restored…\n"
+ .string "Items all packed, and…$"
+
+LittlerootTown_BrendansHouse_2F_Text_1F9991: @ 81F9991
+LittlerootTown_MaysHouse_2F_Text_1F9991: @ 81F9991
+ .string "It’s {RIVAL}’s POKé BALL!\p"
+ .string "Better leave it right where it is.$"
+
+LittlerootTown_BrendansHouse_2F_Text_1F99C9: @ 81F99C9
+ .string "MAY: {PLAYER}{KUN}!\p"
+ .string "I was just checking my POKéDEX.\p"
+ .string "There’s still a lot of POKéMON that\n"
+ .string "I’ve seen but haven’t caught.\p"
+ .string "And there are many others that\n"
+ .string "I think will evolve.\p"
+ .string "I wonder where I should go catch\n"
+ .string "some POKéMON next?$"
+
+LittlerootTown_BrendansHouse_2F_Text_1F9A9E: @ 81F9A9E
+ .string "MAY: I wonder where I should go catch\n"
+ .string "some POKéMON next?\p"
+ .string "Wouldn’t it be funny if we ran into each\n"
+ .string "other, {PLAYER}{KUN}?$"
+
+LittlerootTown_BrendansHouse_2F_Text_1F9B0D: @ 81F9B0D
+ .string "BRENDAN: Hey, it’s {PLAYER}.\p"
+ .string "I was just checking out my POKéDEX.\p"
+ .string "There are still many POKéMON that\n"
+ .string "I need to catch, I know, but this\l"
+ .string "is looking pretty good.\p"
+ .string "Checking this POKéDEX out gives me\n"
+ .string "the urge to hit the road again.$"
+
+LittlerootTown_BrendansHouse_2F_Text_1F9BE7: @ 81F9BE7
+ .string "BRENDAN: I’m having a hard time deciding\n"
+ .string "where I should catch POKéMON next.\p"
+ .string "Hey, {PLAYER}, if I see you while I’m out\n"
+ .string "catching POKéMON, I can pitch you a\l"
+ .string "battle if you’d like.$"
diff --git a/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc b/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc
new file mode 100644
index 000000000..cef69c7b2
--- /dev/null
+++ b/data/scripts/maps/LittlerootTown_ProfessorBirchsLab.inc
@@ -0,0 +1,1030 @@
+LittlerootTown_ProfessorBirchsLab_MapScripts:: @ 81F9C91
+ map_script 3, LittlerootTown_ProfessorBirchsLab_MapScript1_1F9CA1
+ map_script 4, LittlerootTown_ProfessorBirchsLab_MapScript2_1F9D06
+ map_script 2, LittlerootTown_ProfessorBirchsLab_MapScript2_1F9DB9
+ .byte 0
+
+LittlerootTown_ProfessorBirchsLab_MapScript1_1F9CA1: @ 81F9CA1
+ call LittlerootTown_ProfessorBirchsLab_EventScript_271ED7
+ call LittlerootTown_ProfessorBirchsLab_EventScript_2720AD
+ compare_var_to_value VAR_0x40D3, 6
+ goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF7
+ compare_var_to_value VAR_0x40D3, 4
+ goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF3
+ compare_var_to_value VAR_0x40D3, 3
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9CCD
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9CCD:: @ 81F9CCD
+ specialvar VAR_RESULT, sub_80C08E4
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9CE9
+ setobjectmovementtype 3, 3
+ setobjectxyperm 3, 5, 10
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9CE9:: @ 81F9CE9
+ setvar VAR_0x40D3, 4
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF3
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF3:: @ 81F9CF3
+ setmaplayoutindex 432
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF7:: @ 81F9CF7
+ setmaplayoutindex 432
+ setobjectmovementtype 3, 3
+ setobjectxyperm 3, 5, 10
+ end
+
+LittlerootTown_ProfessorBirchsLab_MapScript2_1F9D06: @ 81F9D06
+ map_script_2 VAR_0x4084, 2, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D40
+ map_script_2 VAR_0x40D3, 1, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D45
+ map_script_2 VAR_0x40D3, 2, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D45
+ map_script_2 VAR_0x40D3, 3, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D71
+ map_script_2 VAR_0x40D3, 6, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D71
+ map_script_2 VAR_0x40D3, 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D75
+ map_script_2 VAR_0x40D3, 5, LittlerootTown_ProfessorBirchsLab_EventScript_1F9D75
+ .2byte 0
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9D40:: @ 81F9D40
+ turnobject 255, 2
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9D45:: @ 81F9D45
+ turnobject 255, 2
+ addobject 2
+ addobject 3
+ turnobject 3, 2
+ setobjectxy 3, 5, 5
+ turnobject 2, 1
+ setobjectxy 2, 6, 4
+ turnobject 1, 4
+ setobjectxy 1, 10, 10
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9D71:: @ 81F9D71
+ addobject 3
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9D75:: @ 81F9D75
+ addobject 4
+ addobject 5
+ addobject 6
+ addobject 3
+ turnobject 4, 1
+ setobjectxy 4, 8, 4
+ turnobject 5, 1
+ setobjectxy 5, 9, 4
+ turnobject 6, 1
+ setobjectxy 6, 10, 4
+ turnobject 2, 1
+ setobjectxy 2, 6, 4
+ turnobject 3, 4
+ setobjectxy 3, 5, 5
+ end
+
+LittlerootTown_ProfessorBirchsLab_MapScript2_1F9DB9: @ 81F9DB9
+ map_script_2 VAR_0x4084, 2, LittlerootTown_ProfessorBirchsLab_EventScript_1F9DDB
+ map_script_2 VAR_0x4084, 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9E67
+ map_script_2 VAR_0x40D3, 1, LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80
+ map_script_2 VAR_0x40D3, 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9F62
+ .2byte 0
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9DDB:: @ 81F9DDB
+ lockall
+ bufferleadmonspeciesname 0
+ message LittlerootTown_ProfessorBirchsLab_Text_1FA74D
+ waitmessage
+ playfanfare BGM_FANFA4
+ waitfanfare
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA8B1, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E07
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E17
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9E07:: @ 81F9E07
+ setvar VAR_0x8004, 0
+ call LittlerootTown_ProfessorBirchsLab_EventScript_2723DD
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_1F9E17
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9E17:: @ 81F9E17
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA8F6, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36:: @ 81F9E36
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA9D5, 4
+ clearflag FLAG_0x3DF
+ setvar VAR_0x4084, 3
+ releaseall
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48:: @ 81F9E48
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAA35, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9E67:: @ 81F9E67
+ lockall
+ applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_1F9E78
+ waitmovement 0
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA2F8
+ end
+
+LittlerootTown_ProfessorBirchsLab_Movement_1F9E78: @ 81F9E78
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80:: @ 81F9E80
+ lockall
+ delay 30
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB16D, 4
+ closemessage
+ applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_1F9F46
+ waitmovement 0
+ delay 20
+ playse SE_TK_KASYA
+ delay 10
+ playse SE_TK_KASYA
+ delay 10
+ playse SE_TK_KASYA
+ delay 10
+ playse SE_TK_KASYA
+ delay 20
+ applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_2725A8
+ applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_2725A4
+ waitmovement 0
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1F9F32
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1F9F3C
+ playse SE_PC_ON
+ waitse
+ delay 20
+ applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_1F9F58
+ waitmovement 0
+ applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_2725A6
+ applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_2725A6
+ waitmovement 0
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB419, 4
+ playfanfare BGM_FANFA4
+ message LittlerootTown_ProfessorBirchsLab_Text_1FB436
+ waitmessage
+ waitfanfare
+ setflag FLAG_SYS_NATIONAL_DEX
+ special EnableNationalPokedex
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB466, 4
+ closemessage
+ setflag FLAG_0x31B
+ setflag FLAG_0x31A
+ setvar VAR_0x40D3, 2
+ setvar VAR_0x40F5, 0
+ setflag FLAG_0x072
+ releaseall
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9F32:: @ 81F9F32
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB30F, 4
+ closemessage
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9F3C:: @ 81F9F3C
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB38E, 4
+ closemessage
+ return
+
+LittlerootTown_ProfessorBirchsLab_Movement_1F9F46: @ 81F9F46
+ step_left
+ step_25
+ step_14
+ step_14
+ step_right
+ step_25
+ step_14
+ step_14
+ step_right
+ step_down
+ step_down
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_26
+ step_end
+
+LittlerootTown_ProfessorBirchsLab_Movement_1F9F58: @ 81F9F58
+ step_left
+ step_left
+ step_left
+ step_up
+ step_up
+ step_up
+ step_up
+ step_left
+ step_25
+ step_end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9F62:: @ 81F9F62
+ lockall
+ applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_1F9F7C
+ waitmovement 0
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB5F9, 4
+ setvar VAR_0x40D3, 5
+ releaseall
+ end
+
+LittlerootTown_ProfessorBirchsLab_Movement_1F9F7C: @ 81F9F7C
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9F84:: @ 81F9F84
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x4084, 3
+ goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FB1
+ checkflag FLAG_0x058
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9FA7
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA4E2, 4
+ setflag FLAG_0x058
+ release
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9FA7:: @ 81F9FA7
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA641, 4
+ release
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9FB1:: @ 81F9FB1
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA6CE, 4
+ release
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9FBB:: @ 81F9FBB
+ release
+ compare_var_to_value VAR_0x40D3, 6
+ goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1FA057
+ applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_2725A8
+ waitmovement 0
+ drawmonpic SPECIES_CYNDAQUIL, 10, 3
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB7F6, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA06C
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1F9FEF:: @ 81F9FEF
+ release
+ compare_var_to_value VAR_0x40D3, 6
+ goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1FA057
+ applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_2725A8
+ waitmovement 0
+ drawmonpic SPECIES_TOTODILE, 10, 3
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB869, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA10D
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA023:: @ 81FA023
+ release
+ compare_var_to_value VAR_0x40D3, 6
+ goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1FA057
+ applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_2725A8
+ waitmovement 0
+ drawmonpic SPECIES_CHIKORITA, 10, 3
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB8E0, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA1AE
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA057:: @ 81FA057
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBAF8, 4
+ releaseall
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA061:: @ 81FA061
+ erasemonpic
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB959, 4
+ releaseall
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA06C:: @ 81FA06C
+ bufferspeciesname 0, SPECIES_CYNDAQUIL
+ setvar VAR_0x4001, 155
+ givemon SPECIES_CYNDAQUIL, 5, ITEM_NONE, 0x0, 0x0, 0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0A1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0CC
+ erasemonpic
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_273811
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA0A1:: @ 81FA0A1
+ call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
+ removeobject 4
+ msgbox gUnknown_08273374, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD
+ call LittlerootTown_ProfessorBirchsLab_EventScript_27378B
+ call LittlerootTown_ProfessorBirchsLab_EventScript_2723DD
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA0CC:: @ 81FA0CC
+ call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
+ removeobject 4
+ msgbox gUnknown_08273374, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2
+ call LittlerootTown_ProfessorBirchsLab_EventScript_273797
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2:: @ 81FA0F2
+ call LittlerootTown_ProfessorBirchsLab_EventScript_2737A0
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD:: @ 81FA0FD
+ erasemonpic
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, 4
+ setvar VAR_0x40D3, 6
+ releaseall
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA10D:: @ 81FA10D
+ bufferspeciesname 0, SPECIES_TOTODILE
+ setvar VAR_0x4001, 158
+ givemon SPECIES_TOTODILE, 5, ITEM_NONE, 0x0, 0x0, 0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA142
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA16D
+ erasemonpic
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_273811
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA142:: @ 81FA142
+ call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
+ removeobject 5
+ msgbox gUnknown_08273374, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E
+ call LittlerootTown_ProfessorBirchsLab_EventScript_27378B
+ call LittlerootTown_ProfessorBirchsLab_EventScript_2723DD
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA16D:: @ 81FA16D
+ call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
+ removeobject 5
+ msgbox gUnknown_08273374, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA193
+ call LittlerootTown_ProfessorBirchsLab_EventScript_273797
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA193
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA193:: @ 81FA193
+ call LittlerootTown_ProfessorBirchsLab_EventScript_2737A0
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E:: @ 81FA19E
+ erasemonpic
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, 4
+ setvar VAR_0x40D3, 6
+ releaseall
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA1AE:: @ 81FA1AE
+ bufferspeciesname 0, SPECIES_CHIKORITA
+ setvar VAR_0x4001, 152
+ givemon SPECIES_CHIKORITA, 5, ITEM_NONE, 0x0, 0x0, 0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA1E3
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA20E
+ erasemonpic
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_273811
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA1E3:: @ 81FA1E3
+ call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
+ removeobject 6
+ msgbox gUnknown_08273374, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F
+ call LittlerootTown_ProfessorBirchsLab_EventScript_27378B
+ call LittlerootTown_ProfessorBirchsLab_EventScript_2723DD
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA20E:: @ 81FA20E
+ call LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F
+ removeobject 6
+ msgbox gUnknown_08273374, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA234
+ call LittlerootTown_ProfessorBirchsLab_EventScript_273797
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA234
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA234:: @ 81FA234
+ call LittlerootTown_ProfessorBirchsLab_EventScript_2737A0
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F:: @ 81FA23F
+ erasemonpic
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBA2C, 4
+ setvar VAR_0x40D3, 6
+ releaseall
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA24F:: @ 81FA24F
+ playfanfare BGM_FANFA4
+ message LittlerootTown_ProfessorBirchsLab_Text_1FB9D7
+ waitmessage
+ waitfanfare
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA25A:: @ 81FA25A
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x40D3, 5
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA28A
+ compare_var_to_value VAR_0x40D3, 2
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA294
+ checkflag FLAG_0x12F
+ goto_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E
+ checkflag FLAG_0x119
+ goto_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA2D2
+ goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA28A:: @ 81FA28A
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB787, 4
+ release
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA294:: @ 81FA294
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB466, 4
+ release
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E:: @ 81FA29E
+ checkflag FLAG_0x380
+ goto_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_272141
+ compare_var_to_value VAR_0x40D3, 3
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_272141
+ compare_var_to_value VAR_0x40D3, 6
+ goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_272141
+ compare_var_to_value VAR_0x4084, 5
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA3C4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAA74, 4
+ release
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA2D2:: @ 81FA2D2
+Route101_EventScript_1FA2D2:: @ 81FA2D2
+ msgbox Route101_Text_2B5F52, 4
+ closemessage
+ delay 30
+ playfanfare BGM_ME_MATCH_CALL
+ msgbox Route101_Text_2B603A, 4
+ waitfanfare
+ closemessage
+ delay 30
+ setflag FLAG_0x119
+ setvar VAR_0x40DA, 2
+ release
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA2F8:: @ 81FA2F8
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAB22, 4
+ call LittlerootTown_ProfessorBirchsLab_EventScript_1FA3AC
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAC4B, 4
+ closemessage
+ applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_1FA3E0
+ waitmovement 0
+ applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_2725A8
+ waitmovement 0
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA352
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA37F
+ setvar VAR_0x4084, 5
+ setflag FLAG_0x074
+ setvar VAR_0x4051, 1
+ setvar VAR_0x408D, 4
+ setvar VAR_0x4050, 3
+ releaseall
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA352:: @ 81FA352
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FADD7, 4
+ giveitem_std ITEM_POKE_BALL, 5
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3CE
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAE40, 4
+ setvar VAR_RESULT, 0
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA37F:: @ 81FA37F
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAF3F, 4
+ giveitem_std ITEM_POKE_BALL, 5
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3D7
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAF8E, 4
+ setvar VAR_RESULT, 1
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA3AC:: @ 81FA3AC
+ playfanfare BGM_FANFA4
+ message LittlerootTown_ProfessorBirchsLab_Text_1FAC32
+ waitfanfare
+ setflag FLAG_SYS_POKEDEX_GET
+ special sub_81AFDA0
+ setflag FLAG_0x8E4
+ setvar VAR_0x40CD, 1
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA3C4:: @ 81FA3C4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAD6F, 4
+ release
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA3CE:: @ 81FA3CE
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAEF3, 4
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA3D7:: @ 81FA3D7
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB05D, 4
+ return
+
+LittlerootTown_ProfessorBirchsLab_Movement_1FA3E0: @ 81FA3E0
+ step_down
+ step_27
+ step_end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA3E3:: @ 81FA3E3
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB0A2, 3
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA3EC:: @ 81FA3EC
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x40D3, 5
+ goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA43A
+ compare_var_to_value VAR_0x40D3, 6
+ goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1FA465
+ compare_var_to_value VAR_0x40D3, 2
+ goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1FA490
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA428
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA431
+ release
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA428:: @ 81FA428
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAF08, 4
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA431:: @ 81FA431
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB073, 4
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA43A:: @ 81FA43A
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA453
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA45C
+ release
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA453:: @ 81FA453
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBB68, 4
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA45C:: @ 81FA45C
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBC2D, 4
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA465:: @ 81FA465
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA47E
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA487
+ release
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA47E:: @ 81FA47E
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBC8D, 4
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA487:: @ 81FA487
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FBCD2, 4
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA490:: @ 81FA490
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4A9
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4B2
+ release
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA4A9:: @ 81FA4A9
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB528, 4
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA4B2:: @ 81FA4B2
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB58A, 4
+ return
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA4BB:: @ 81FA4BB
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB0E7, 3
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA4C4:: @ 81FA4C4
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB124, 3
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA4CD:: @ 81FA4CD
+ msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB148, 3
+ end
+
+LittlerootTown_ProfessorBirchsLab_EventScript_1FA4D6:: @ 81FA4D6
+ lockall
+ pokenavcall LittlerootTown_ProfessorBirchsLab_Text_1FBD1A
+ waitmessage
+ clearflag FLAG_0x072
+ releaseall
+ end
+
+LittlerootTown_ProfessorBirchsLab_Text_1FA4E2: @ 81FA4E2
+ .string "Hunh? PROF. BIRCH?\p"
+ .string "The PROF’s away on fieldwork.\n"
+ .string "Ergo, he isn’t here.\p"
+ .string "Oh, let me explain what fieldwork is.\p"
+ .string "It is to study things in the natural\n"
+ .string "environment, like fields and mountains,\l"
+ .string "instead of a laboratory.\p"
+ .string "The PROF isn’t one for doing desk work.\n"
+ .string "He’s the type of person who would\l"
+ .string "rather go outside and experience\l"
+ .string "things than read about them here.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FA641: @ 81FA641
+ .string "The PROF isn’t one for doing desk work.\n"
+ .string "He’s the type of person who would\l"
+ .string "rather go outside and experience\l"
+ .string "things than read about them here.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FA6CE: @ 81FA6CE
+ .string "PROF. BIRCH is studying the habitats\n"
+ .string "and distribution of POKéMON.\p"
+ .string "The PROF enjoys {RIVAL}’s help, too.\n"
+ .string "There’s a lot of love there.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FA74D: @ 81FA74D
+ .string "PROF. BIRCH: So, {PLAYER}{KUN}.\p"
+ .string "I’ve heard so much about you from\n"
+ .string "your father.\p"
+ .string "I’ve heard that you don’t have your\n"
+ .string "own POKéMON yet.\p"
+ .string "But the way you battled earlier,\n"
+ .string "you pulled it off with aplomb!\p"
+ .string "I guess you have your father’s blood\n"
+ .string "in your veins after all!\p"
+ .string "Oh, yes. As thanks for rescuing me,\n"
+ .string "I’d like you to have the POKéMON you\l"
+ .string "used earlier.\p"
+ .string "{PLAYER} received the {STR_VAR_1}!$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FA8B1: @ 81FA8B1
+ .string "PROF. BIRCH: While you’re at it, why not\n"
+ .string "give a nickname to that {STR_VAR_1}?$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FA8F6: @ 81FA8F6
+ .string "PROF. BIRCH: If you work at POKéMON\n"
+ .string "and gain experience, I think you’ll make\l"
+ .string "an extremely good TRAINER.\p"
+ .string "My kid, {RIVAL}, is also studying\n"
+ .string "POKéMON while helping me out.\p"
+ .string "{PLAYER}{KUN}, don’t you think it might be\n"
+ .string "a good idea to go see {RIVAL}?$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FA9D5: @ 81FA9D5
+ .string "PROF. BIRCH: Great!\n"
+ .string "{RIVAL} should be happy, too.\p"
+ .string "Get {RIVAL} to teach you what it\n"
+ .string "means to be a TRAINER.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FAA35: @ 81FAA35
+ .string "PROF. BIRCH: Oh, don’t be that way.\n"
+ .string "You should go meet my kid.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FAA74: @ 81FAA74
+ .string "PROF. BIRCH: {RIVAL}?\n"
+ .string "Gone home, I think.\p"
+ .string "Or maybe that kid’s scrabbling around\n"
+ .string "in tall grass again somewhere…\p"
+ .string "If you or your POKéMON get tired,\n"
+ .string "you should get some rest at home.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FAB22: @ 81FAB22
+ .string "PROF. BIRCH: Oh, hi, {PLAYER}{KUN}!\p"
+ .string "I heard you beat {RIVAL} on\n"
+ .string "your first try. That’s excellent!\p"
+ .string "{RIVAL}’s been helping with my research\n"
+ .string "for a long time.\p"
+ .string "{RIVAL} has an extensive history as\n"
+ .string "a TRAINER already.\p"
+ .string "Here, {PLAYER}{KUN}, I ordered this for my\n"
+ .string "research, but I think you should have\l"
+ .string "this POKéDEX.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FAC32: @ 81FAC32
+ .string "{PLAYER} received the POKéDEX!$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FAC4B: @ 81FAC4B
+ .string "PROF. BIRCH: The POKéDEX is a high-tech\n"
+ .string "tool that automatically makes a record\l"
+ .string "of any POKéMON you meet or catch.\p"
+ .string "My kid, {RIVAL}, goes everywhere\n"
+ .string "with it.\p"
+ .string "Whenever my kid catches a rare POKéMON\n"
+ .string "and records its data in the POKéDEX,\l"
+ .string "why, {RIVAL} looks for me while I’m out\l"
+ .string "doing fieldwork, and shows me.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FAD6F: @ 81FAD6F
+ .string "PROF. BIRCH: Countless POKéMON\n"
+ .string "await you!\p"
+ .string "Argh, I’m getting the itch to get out\n"
+ .string "and do fieldwork again!$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FADD7: @ 81FADD7
+ .string "MAY: Oh, wow, {PLAYER}{KUN}!\n"
+ .string "You got a POKéDEX, too!\p"
+ .string "That’s great! Just like me!\n"
+ .string "I’ve got something for you, too!$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FAE40: @ 81FAE40
+ .string "MAY: It’s fun if you can get a lot of\n"
+ .string "POKéMON!\p"
+ .string "I’m going to look all over the place\n"
+ .string "because I want different POKéMON.\p"
+ .string "If I find any cute POKéMON, I’ll catch\n"
+ .string "them with POKé BALLS!$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FAEF3: @ 81FAEF3
+ .string "Oh? Your BAG’s full.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FAF08: @ 81FAF08
+ .string "MAY: I wonder where I should go look\n"
+ .string "for POKéMON next?$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FAF3F: @ 81FAF3F
+ .string "BRENDAN: Huh…\n"
+ .string "So you got a POKéDEX, too.\p"
+ .string "Well then, here.\n"
+ .string "I’ll give you these.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FAF8E: @ 81FAF8E
+ .string "BRENDAN: You know it’s more fun to\n"
+ .string "have a whole bunch of POKéMON.\p"
+ .string "I’m going to explore all over the place\n"
+ .string "to find different POKéMON.\p"
+ .string "If I find any cool POKéMON, you bet\n"
+ .string "I’ll try to get them with POKé BALLS.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB05D: @ 81FB05D
+ .string "Hey, your BAG’s full.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB073: @ 81FB073
+ .string "BRENDAN: Where should I look for\n"
+ .string "POKéMON next…$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB0A2: @ 81FB0A2
+ .string "It’s a serious-looking machine.\n"
+ .string "The PROF must use this for research.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB0E7: @ 81FB0E7
+ .string "It’s a PC used for research.\n"
+ .string "Better not mess around with it.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB124: @ 81FB124
+ .string "It’s crammed with books on POKéMON.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB148: @ 81FB148
+ .string "It’s a book that’s too hard to read.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB16D: @ 81FB16D
+ .string "PROF. BIRCH: Now…\p"
+ .string "{PLAYER}{KUN} and {RIVAL}, I’ve had the two\n"
+ .string "of you help me study POKéMON.\p"
+ .string "Thanks to your help, new facts\n"
+ .string "are coming to light.\p"
+ .string "It appears that in the HOENN region,\n"
+ .string "there are also POKéMON from other\l"
+ .string "regions.\p"
+ .string "It goes to show how rich and varied\n"
+ .string "the natural environments of HOENN\l"
+ .string "happen to be.\p"
+ .string "That’s why I think it’s necessary for\n"
+ .string "me to upgrade your POKéDEX to\l"
+ .string "the NATIONAL Mode.\p"
+ .string "Here, let me see your POKéDEX units.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB30F: @ 81FB30F
+ .string "MAY: Eheheh!\p"
+ .string "It’s so cool that even my POKéDEX\n"
+ .string "is getting updated!\p"
+ .string "It’s because you went out and caught\n"
+ .string "so many POKéMON, {PLAYER}{KUN}!$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB38E: @ 81FB38E
+ .string "BRENDAN: I went out all over HOENN\n"
+ .string "and checked out POKéMON.\p"
+ .string "You can thank me for getting\n"
+ .string "the NATIONAL Mode POKéDEX.\p"
+ .string "Yep, you’re lucky, {PLAYER}!$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB419: @ 81FB419
+ .string "PROF. BIRCH: Okay, all done!$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB436: @ 81FB436
+ .string "{PLAYER}’s POKéDEX was upgraded\n"
+ .string "to the NATIONAL Mode!$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB466: @ 81FB466
+ .string "PROF. BIRCH: But listen.\n"
+ .string "You’ve become the CHAMPION,\l"
+ .string "but your POKéMON journey isn’t over.\p"
+ .string "There is no end to the road\n"
+ .string "that is POKéMON.\p"
+ .string "Somewhere, there is a grassy patch\n"
+ .string "that’s waiting for you!$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB528: @ 81FB528
+ .string "MAY: I think I’ll take a short break\n"
+ .string "from fieldwork.\p"
+ .string "I think I’ll help the PROF here for\n"
+ .string "a while.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB58A: @ 81FB58A
+ .string "BRENDAN: For the time being,\n"
+ .string "I’m taking a break from fieldwork.\p"
+ .string "I’ll be helping out the PROF here\n"
+ .string "for a while.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB5F9: @ 81FB5F9
+ .string "PROF. BIRCH: Oh, {PLAYER}{KUN}!\n"
+ .string "Let’s have a look at your POKéDEX.\p"
+ .string "… … … … … …\n"
+ .string "… … … … … …\p"
+ .string "Yes, there’s no doubt about it.\p"
+ .string "You really have completed the HOENN\n"
+ .string "region’s POKéDEX.\p"
+ .string "That’s more than just impressive.\p"
+ .string "I have a gift for you.\p"
+ .string "Consider it my show of appreciation\n"
+ .string "for the fantastic work you’ve done.\p"
+ .string "My gift is a rare POKéMON only found\n"
+ .string "in another region!\p"
+ .string "You can have any one of these\n"
+ .string "three POKéMON!$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB787: @ 81FB787
+ .string "PROF. BIRCH: These are rare POKéMON\n"
+ .string "only found in another region!\p"
+ .string "You can have any one of these\n"
+ .string "three POKéMON!$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB7F6: @ 81FB7F6
+ .string "PROF. BIRCH: The FIRE POKéMON\n"
+ .string "CYNDAQUIL caught your eye!\p"
+ .string "You’re as sharp as ever!\p"
+ .string "So the CYNDAQUIL is your choice?$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB869: @ 81FB869
+ .string "PROF. BIRCH: The WATER POKéMON\n"
+ .string "TOTODILE is your choice!\p"
+ .string "You know how to pick a good one.\p"
+ .string "So, you’ll take the TOTODILE?$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB8E0: @ 81FB8E0
+ .string "PROF. BIRCH: The GRASS POKéMON\n"
+ .string "CHIKORITA is your choice!\p"
+ .string "You sure know what you’re doing.\p"
+ .string "So, you’ll take the CHIKORITA?$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB959: @ 81FB959
+ .string "PROF. BIRCH: Take your time before\n"
+ .string "you decide.\p"
+ .string "They’re all invaluable POKéMON.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB9A8: @ 81FB9A8
+ .string "PROF. BIRCH: I see!\n"
+ .string "You picked a fine POKéMON!$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB9D7: @ 81FB9D7
+ .string "{PLAYER} received the {STR_VAR_1}\n"
+ .string "from PROF. BIRCH!$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FB9FC: @ 81FB9FC
+ .string "Want to give a nickname to\n"
+ .string "the {STR_VAR_1} you received?$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FBA2C: @ 81FBA2C
+ .string "PROF. BIRCH: Listen, {PLAYER}{KUN}.\n"
+ .string "You’ve completed the HOENN POKéDEX,\l"
+ .string "but your POKéMON journey isn’t over.\p"
+ .string "There is no end to the road\n"
+ .string "that is POKéMON.\p"
+ .string "Somewhere, there is a grassy patch\n"
+ .string "that’s waiting for you!$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FBAF8: @ 81FBAF8
+ .string "You received the promised POKéMON.\n"
+ .string "Better leave the others alone.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FBB3A: @ 81FBB3A
+ .string "Oh, you don’t have any room for\n"
+ .string "this POKéMON.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FBB68: @ 81FBB68
+ .string "MAY: {PLAYER}{KUN}, after this…\n"
+ .string "What are you going to do?\p"
+ .string "Are you going to keep battling\n"
+ .string "and sharpening your skills?\p"
+ .string "Or are you going to try filling\n"
+ .string "the NATIONAL POKéDEX?\p"
+ .string "I’m staying here to help the PROF.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FBC2D: @ 81FBC2D
+ .string "BRENDAN: Rather than collecting\n"
+ .string "POKéMON, I prefer slowly and \l"
+ .string "steadily raising the one I chose.$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FBC8D: @ 81FBC8D
+ .string "MAY: Oh, hi, {PLAYER}{KUN}!\n"
+ .string "Have you gone to that place,\l"
+ .string "the BATTLE FRONTIER?$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FBCD2: @ 81FBCD2
+ .string "BRENDAN: Hey, {PLAYER}!\n"
+ .string "Have you gone out to that place,\l"
+ .string "the BATTLE FRONTIER?$"
+
+LittlerootTown_ProfessorBirchsLab_Text_1FBD1A: @ 81FBD1A
+ .string "… … … … … …\n"
+ .string "… … … … … Beep!\p"
+ .string "SCOTT: Hi, hi, {PLAYER}!\n"
+ .string "It’s me, SCOTT.\p"
+ .string "I’m aboard the S.S. TIDAL now.\n"
+ .string "It feels great to be on the sea!\p"
+ .string "By the way…\p"
+ .string "There’s this place that I’d like to\n"
+ .string "invite you to for a visit.\p"
+ .string "If you’re interested, board a ferry\n"
+ .string "at either SLATEPORT or LILYCOVE.\p"
+ .string "I’ll fill you in on the details when\n"
+ .string "we meet. I’ll be waiting!\p"
+ .string "… … … … … …\n"
+ .string "… … … … … Click!$"
diff --git a/data/scripts/maps/MagmaHideout_1F.inc b/data/scripts/maps/MagmaHideout_1F.inc
new file mode 100644
index 000000000..0e133a890
--- /dev/null
+++ b/data/scripts/maps/MagmaHideout_1F.inc
@@ -0,0 +1,53 @@
+MagmaHideout_1F_MapScripts:: @ 8239880
+ map_script 3, MagmaHideout_1F_MapScript1_239886
+ .byte 0
+
+MagmaHideout_1F_MapScript1_239886: @ 8239886
+ setvar VAR_0x40BD, 0
+ end
+
+MagmaHideout_1F_EventScript_23988C:: @ 823988C
+ trainerbattle 0, TRAINER_GRUNT_38, 0, MagmaHideout_1F_Text_2398BA, MagmaHideout_1F_Text_239964
+ msgbox MagmaHideout_1F_Text_2399B1, 6
+ end
+
+MagmaHideout_1F_EventScript_2398A3:: @ 82398A3
+ trainerbattle 0, TRAINER_GRUNT_39, 0, MagmaHideout_1F_Text_2399F5, MagmaHideout_1F_Text_239ABA
+ msgbox MagmaHideout_1F_Text_239ACD, 6
+ end
+
+MagmaHideout_1F_Text_2398BA: @ 82398BA
+ .string "When TEAM MAGMA has roll call, we get\n"
+ .string "important guarding assignments in\l"
+ .string "the order that we line up.\p"
+ .string "That’s why I’m stuck off in this corner.\n"
+ .string "I’m always late to roll call!$"
+
+MagmaHideout_1F_Text_239964: @ 8239964
+ .string "I’m always late for training sessions,\n"
+ .string "too!\p"
+ .string "I hate to say it, but I’m wimpy…$"
+
+MagmaHideout_1F_Text_2399B1: @ 82399B1
+ .string "Okay, I’ll try to put a little more\n"
+ .string "effort into things from now on…$"
+
+MagmaHideout_1F_Text_2399F5: @ 82399F5
+ .string "Our leader told us to dig into\n"
+ .string "MT. CHIMNEY, so we dug and dug.\p"
+ .string "And in the course of digging, we came\n"
+ .string "across something that blew our minds!\p"
+ .string "What did we find?\p"
+ .string "Fuhahaha!\n"
+ .string "I’ll tell you if you beat me!$"
+
+MagmaHideout_1F_Text_239ABA: @ 8239ABA
+ .string "Arrgh!\n"
+ .string "Taken down!$"
+
+MagmaHideout_1F_Text_239ACD: @ 8239ACD
+ .string "I won’t tell you after all.\n"
+ .string "You’ll find out when you get there!\p"
+ .string "It’d be better if you saved surprises\n"
+ .string "to the end, don’t you think?$"
+
diff --git a/data/scripts/maps/MagmaHideout_2F_1R.inc b/data/scripts/maps/MagmaHideout_2F_1R.inc
new file mode 100644
index 000000000..33252bb57
--- /dev/null
+++ b/data/scripts/maps/MagmaHideout_2F_1R.inc
@@ -0,0 +1,75 @@
+MagmaHideout_2F_1R_MapScripts:: @ 8239B50
+ .byte 0
+
+MagmaHideout_2F_1R_EventScript_239B51:: @ 8239B51
+ trainerbattle 0, TRAINER_GRUNT_51, 0, MagmaHideout_2F_1R_Text_239BAD, MagmaHideout_2F_1R_Text_239C4B
+ msgbox MagmaHideout_2F_1R_Text_239C74, 6
+ end
+
+MagmaHideout_2F_1R_EventScript_239B68:: @ 8239B68
+ trainerbattle 0, TRAINER_GRUNT_40, 0, MagmaHideout_2F_1R_Text_239CAB, MagmaHideout_2F_1R_Text_239D09
+ msgbox MagmaHideout_2F_1R_Text_239D1D, 6
+ end
+
+MagmaHideout_2F_1R_EventScript_239B7F:: @ 8239B7F
+ trainerbattle 0, TRAINER_GRUNT_41, 0, MagmaHideout_2F_1R_Text_239D62, MagmaHideout_2F_1R_Text_239D75
+ msgbox MagmaHideout_2F_1R_Text_239D7D, 6
+ end
+
+MagmaHideout_2F_1R_EventScript_239B96:: @ 8239B96
+ trainerbattle 0, TRAINER_GRUNT_42, 0, MagmaHideout_2F_1R_Text_239DC5, MagmaHideout_2F_1R_Text_239DDA
+ msgbox MagmaHideout_2F_1R_Text_239DE2, 6
+ end
+
+MagmaHideout_2F_1R_Text_239BAD: @ 8239BAD
+ .string "What, what, what?\p"
+ .string "Only TEAM MAGMA members are supposed\n"
+ .string "to be in here!\p"
+ .string "But you’re not dressed in TEAM MAGMA’s\n"
+ .string "uniform…\p"
+ .string "You rouse my suspicion!\n"
+ .string "Battle with me!$"
+
+MagmaHideout_2F_1R_Text_239C4B: @ 8239C4B
+ .string "Aiyiyi…\n"
+ .string "My pride as a TEAM MAGMA member…$"
+
+MagmaHideout_2F_1R_Text_239C74: @ 8239C74
+ .string "If you suffer from chills, you should\n"
+ .string "join TEAM MAGMA.$"
+
+MagmaHideout_2F_1R_Text_239CAB: @ 8239CAB
+ .string "Hold it right there!\p"
+ .string "You don’t really expect me to keep\n"
+ .string "my trap shut and let you waltz by me?$"
+
+MagmaHideout_2F_1R_Text_239D09: @ 8239D09
+ .string "Ooh wow!\n"
+ .string "I concede!$"
+
+MagmaHideout_2F_1R_Text_239D1D: @ 8239D1D
+ .string "Maybe it would’ve been better if I did\n"
+ .string "just let you go unchallenged…$"
+
+MagmaHideout_2F_1R_Text_239D62: @ 8239D62
+ .string "Ahah!\n"
+ .string "An intruder!$"
+
+MagmaHideout_2F_1R_Text_239D75: @ 8239D75
+ .string "Graaah!$"
+
+MagmaHideout_2F_1R_Text_239D7D: @ 8239D7D
+ .string "I’ve already lost.\p"
+ .string "Do I really need to keep running\n"
+ .string "around in a circle?$"
+
+MagmaHideout_2F_1R_Text_239DC5: @ 8239DC5
+ .string "Oh, oh!\n"
+ .string "An intruder!$"
+
+MagmaHideout_2F_1R_Text_239DDA: @ 8239DDA
+ .string "Mutter…$"
+
+MagmaHideout_2F_1R_Text_239DE2: @ 8239DE2
+ .string "Actually, I’m no expert at battling…$"
+
diff --git a/data/scripts/maps/MagmaHideout_2F_2R.inc b/data/scripts/maps/MagmaHideout_2F_2R.inc
new file mode 100644
index 000000000..8b1e51f16
--- /dev/null
+++ b/data/scripts/maps/MagmaHideout_2F_2R.inc
@@ -0,0 +1,78 @@
+MagmaHideout_2F_2R_MapScripts:: @ 8239E07
+ .byte 0
+
+MagmaHideout_2F_2R_EventScript_239E08:: @ 8239E08
+ trainerbattle 0, TRAINER_GRUNT_52, 0, MagmaHideout_2F_2R_Text_239E64, MagmaHideout_2F_2R_Text_239EA5
+ msgbox MagmaHideout_2F_2R_Text_239EBB, 6
+ end
+
+MagmaHideout_2F_2R_EventScript_239E1F:: @ 8239E1F
+ trainerbattle 0, TRAINER_GRUNT_43, 0, MagmaHideout_2F_2R_Text_239F31, MagmaHideout_2F_2R_Text_239F71
+ msgbox MagmaHideout_2F_2R_Text_239FA1, 6
+ end
+
+MagmaHideout_2F_2R_EventScript_239E36:: @ 8239E36
+ trainerbattle 0, TRAINER_GRUNT_44, 0, MagmaHideout_2F_2R_Text_239FDE, MagmaHideout_2F_2R_Text_23A050
+ msgbox MagmaHideout_2F_2R_Text_23A07D, 6
+ end
+
+MagmaHideout_2F_2R_EventScript_239E4D:: @ 8239E4D
+ trainerbattle 0, TRAINER_GRUNT_45, 0, MagmaHideout_2F_2R_Text_23A0E4, MagmaHideout_2F_2R_Text_23A14C
+ msgbox MagmaHideout_2F_2R_Text_23A16F, 6
+ end
+
+MagmaHideout_2F_2R_Text_239E64: @ 8239E64
+ .string "I don’t have a bone to pick with you.\n"
+ .string "I’m just following orders!$"
+
+MagmaHideout_2F_2R_Text_239EA5: @ 8239EA5
+ .string "I may have lost, but…$"
+
+MagmaHideout_2F_2R_Text_239EBB: @ 8239EBB
+ .string "We dug up something beyond belief!\n"
+ .string "And, we got the BLUE ORB!\p"
+ .string "All that’s left is for our leader to…\n"
+ .string "Fufufu… Fwahahaha!$"
+
+MagmaHideout_2F_2R_Text_239F31: @ 8239F31
+ .string "I can’t stand heat. Maybe I should’ve\n"
+ .string "joined TEAM AQUA instead…$"
+
+MagmaHideout_2F_2R_Text_239F71: @ 8239F71
+ .string "Yeah, I really may not be right for\n"
+ .string "TEAM MAGMA…$"
+
+MagmaHideout_2F_2R_Text_239FA1: @ 8239FA1
+ .string "Don’t you get lonely for the sea\n"
+ .string "being in a place like this?$"
+
+MagmaHideout_2F_2R_Text_239FDE: @ 8239FDE
+ .string "You can hear tremors here sometimes.\p"
+ .string "Could it be the volcano rattling?\n"
+ .string "Or is it GROU…\p"
+ .string "Whoops!\n"
+ .string "No, no, never mind!$"
+
+MagmaHideout_2F_2R_Text_23A050: @ 823A050
+ .string "You’re a fiery battler.\n"
+ .string "Just like a volcano!$"
+
+MagmaHideout_2F_2R_Text_23A07D: @ 823A07D
+ .string "You just happened to win this time,\n"
+ .string "but that doesn’t matter.\p"
+ .string "TEAM MAGMA’s goal is about to be\n"
+ .string "reached!$"
+
+MagmaHideout_2F_2R_Text_23A0E4: @ 823A0E4
+ .string "One of our guys was freaking out that\n"
+ .string "he lost his MAGMA EMBLEM…\p"
+ .string "Wait a minute!\n"
+ .string "Was it you who found it?$"
+
+MagmaHideout_2F_2R_Text_23A14C: @ 823A14C
+ .string "I’m having trouble believing this…$"
+
+MagmaHideout_2F_2R_Text_23A16F: @ 823A16F
+ .string "I’m getting this feeling that our plan\n"
+ .string "is going to end in failure…$"
+
diff --git a/data/scripts/maps/MagmaHideout_2F_3R.inc b/data/scripts/maps/MagmaHideout_2F_3R.inc
new file mode 100644
index 000000000..cbcb3fd52
--- /dev/null
+++ b/data/scripts/maps/MagmaHideout_2F_3R.inc
@@ -0,0 +1,3 @@
+MagmaHideout_2F_3R_MapScripts:: @ 823AD00
+ .byte 0
+
diff --git a/data/scripts/maps/MagmaHideout_3F_1R.inc b/data/scripts/maps/MagmaHideout_3F_1R.inc
new file mode 100644
index 000000000..068e71492
--- /dev/null
+++ b/data/scripts/maps/MagmaHideout_3F_1R.inc
@@ -0,0 +1,43 @@
+MagmaHideout_3F_1R_MapScripts:: @ 823A1B2
+ .byte 0
+
+MagmaHideout_3F_1R_EventScript_23A1B3:: @ 823A1B3
+ trainerbattle 0, TRAINER_GRUNT_46, 0, MagmaHideout_3F_1R_Text_23A1E1, MagmaHideout_3F_1R_Text_23A229
+ msgbox MagmaHideout_3F_1R_Text_23A246, 6
+ end
+
+MagmaHideout_3F_1R_EventScript_23A1CA:: @ 823A1CA
+ trainerbattle 0, TRAINER_GRUNT_53, 0, MagmaHideout_3F_1R_Text_23A293, MagmaHideout_3F_1R_Text_23A353
+ msgbox MagmaHideout_3F_1R_Text_23A37C, 6
+ end
+
+MagmaHideout_3F_1R_Text_23A1E1: @ 823A1E1
+ .string "What did I do to deserve this guard\n"
+ .string "posting?\p"
+ .string "My left ear is burning up!$"
+
+MagmaHideout_3F_1R_Text_23A229: @ 823A229
+ .string "I’m getting heat exhaustion…$"
+
+MagmaHideout_3F_1R_Text_23A246: @ 823A246
+ .string "Do you think it’s odd that we’re wearing\n"
+ .string "hoods in this magma-filled volcano?$"
+
+MagmaHideout_3F_1R_Text_23A293: @ 823A293
+ .string "We joined so we can help our leader\n"
+ .string "achieve his fantastic vision.\p"
+ .string "I don’t care if you’re with TEAM AQUA\n"
+ .string "or if you’re just some kid passing by.\p"
+ .string "No one interferes with us and gets\n"
+ .string "away with it!$"
+
+MagmaHideout_3F_1R_Text_23A353: @ 823A353
+ .string "Oh, no!\n"
+ .string "You’re not to be trusted at all!$"
+
+MagmaHideout_3F_1R_Text_23A37C: @ 823A37C
+ .string "Listen to me.\n"
+ .string "TEAM MAGMA is right!\p"
+ .string "Don’t listen to TEAM AQUA.\n"
+ .string "Don’t believe their lies!$"
+
diff --git a/data/scripts/maps/MagmaHideout_3F_2R.inc b/data/scripts/maps/MagmaHideout_3F_2R.inc
new file mode 100644
index 000000000..15d0c26ea
--- /dev/null
+++ b/data/scripts/maps/MagmaHideout_3F_2R.inc
@@ -0,0 +1,26 @@
+MagmaHideout_3F_2R_MapScripts:: @ 823A3D4
+ .byte 0
+
+MagmaHideout_3F_2R_EventScript_23A3D5:: @ 823A3D5
+ trainerbattle 0, TRAINER_GRUNT_47, 0, MagmaHideout_3F_2R_Text_23A3EC, MagmaHideout_3F_2R_Text_23A4BB
+ msgbox MagmaHideout_3F_2R_Text_23A4EF, 6
+ end
+
+MagmaHideout_3F_2R_Text_23A3EC: @ 823A3EC
+ .string "I understand everything our leader\n"
+ .string "says. But you know what?\p"
+ .string "Doing stuff like digging up a super-\n"
+ .string "ancient POKéMON and ripping off\l"
+ .string "someone’s METEORITE…\p"
+ .string "I think we’re going a little too far.\n"
+ .string "What do you think?$"
+
+MagmaHideout_3F_2R_Text_23A4BB: @ 823A4BB
+ .string "Yeah, I think we are doing something\n"
+ .string "wrong somehow.$"
+
+MagmaHideout_3F_2R_Text_23A4EF: @ 823A4EF
+ .string "You know, losing to you cleared my mind.\p"
+ .string "The next time I see our leader,\n"
+ .string "I’m going to ask him about what we do.$"
+
diff --git a/data/scripts/maps/MagmaHideout_3F_3R.inc b/data/scripts/maps/MagmaHideout_3F_3R.inc
new file mode 100644
index 000000000..e85cff9a3
--- /dev/null
+++ b/data/scripts/maps/MagmaHideout_3F_3R.inc
@@ -0,0 +1,3 @@
+MagmaHideout_3F_3R_MapScripts:: @ 823ACFF
+ .byte 0
+
diff --git a/data/scripts/maps/MagmaHideout_4F.inc b/data/scripts/maps/MagmaHideout_4F.inc
new file mode 100644
index 000000000..bf96fbb7d
--- /dev/null
+++ b/data/scripts/maps/MagmaHideout_4F.inc
@@ -0,0 +1,228 @@
+MagmaHideout_4F_MapScripts:: @ 823A55F
+ .byte 0
+
+MagmaHideout_4F_EventScript_23A560:: @ 823A560
+ lockall
+ playbgm BGM_MGM0, 0
+ msgbox MagmaHideout_4F_Text_23A9F4, 4
+ closemessage
+ delay 20
+ setvar VAR_RESULT, 1
+ playse SE_W197
+ setfieldeffectargument 0, 18
+ setfieldeffectargument 1, 42
+ setfieldeffectargument 2, 0
+ dofieldeffect 54
+ waitfieldeffect 54
+ setvar VAR_RESULT, 1
+ playfanfare BGM_ME_TAMA
+ playse SE_TAMA
+ special sub_80B0534
+ applymovement 255, MagmaHideout_4F_Movement_2725A6
+ waitmovement 0
+ delay 150
+ removeobject 7
+ addobject 1
+ waitstate
+ delay 60
+ applymovement 1, MagmaHideout_4F_Movement_23A672
+ waitmovement 0
+ special sub_80B058C
+ waitstate
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 8
+ setvar VAR_0x8007, 5
+ special sub_8139560
+ waitstate
+ applymovement 1, MagmaHideout_4F_Movement_23A67D
+ waitmovement 0
+ removeobject 1
+ delay 4
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 8
+ setvar VAR_0x8007, 5
+ special sub_8139560
+ waitstate
+ delay 30
+ applymovement 6, MagmaHideout_4F_Movement_23A680
+ waitmovement 0
+ msgbox MagmaHideout_4F_Text_23AADA, 4
+ closemessage
+ applymovement 255, MagmaHideout_4F_Movement_2725A8
+ waitmovement 0
+ delay 30
+ applymovement 6, MagmaHideout_4F_Movement_27259E
+ waitmovement 0
+ msgbox MagmaHideout_4F_Text_23AB33, 4
+ closemessage
+ trainerbattle 3, TRAINER_MAXIE_1, 0, MagmaHideout_4F_Text_23ABB5
+ msgbox MagmaHideout_4F_Text_23ABE2, 4
+ closemessage
+ clearflag FLAG_0x348
+ clearflag FLAG_0x343
+ setvar VAR_0x4058, 1
+ setflag FLAG_0x06F
+ setvar VAR_0x40A0, 1
+ fadescreen 1
+ removeobject 6
+ removeobject 2
+ removeobject 3
+ removeobject 4
+ removeobject 5
+ setflag FLAG_0x359
+ fadescreen 0
+ releaseall
+ end
+
+MagmaHideout_4F_Movement_23A672: @ 823A672
+ step_14
+ step_14
+ slow_step_down
+ step_14
+ step_14
+ step_14
+ slow_step_down
+ step_14
+ step_14
+ step_14
+ step_end
+
+MagmaHideout_4F_Movement_23A67D: @ 823A67D
+ step_32
+ step_32
+ step_end
+
+MagmaHideout_4F_Movement_23A680: @ 823A680
+ step_02
+ step_14
+ step_03
+ step_14
+ step_02
+ step_14
+ step_03
+ step_14
+ step_01
+ step_14
+ step_14
+ step_end
+
+MagmaHideout_4F_EventScript_23A68C:: @ 823A68C
+ trainerbattle 0, TRAINER_GRUNT_48, 0, MagmaHideout_4F_Text_23A6E8, MagmaHideout_4F_Text_23A775
+ msgbox MagmaHideout_4F_Text_23A7B5, 6
+ end
+
+MagmaHideout_4F_EventScript_23A6A3:: @ 823A6A3
+ trainerbattle 0, TRAINER_GRUNT_49, 0, MagmaHideout_4F_Text_23A7DA, MagmaHideout_4F_Text_23A81B
+ msgbox MagmaHideout_4F_Text_23A841, 6
+ end
+
+MagmaHideout_4F_EventScript_23A6BA:: @ 823A6BA
+ trainerbattle 0, TRAINER_GRUNT_50, 0, MagmaHideout_4F_Text_23A86D, MagmaHideout_4F_Text_23A8A7
+ msgbox MagmaHideout_4F_Text_23A8C6, 6
+ end
+
+MagmaHideout_4F_EventScript_23A6D1:: @ 823A6D1
+ trainerbattle 0, TRAINER_TABITHA_3, 0, MagmaHideout_4F_Text_23A8E1, MagmaHideout_4F_Text_23A994
+ msgbox MagmaHideout_4F_Text_23A9AC, 6
+ end
+
+MagmaHideout_4F_Text_23A6E8: @ 823A6E8
+ .string "I want to see GROUDON, too, but they\n"
+ .string "won’t let me see even its tail…\p"
+ .string "It’s got me feeling really frustrated.\p"
+ .string "Oh, no!\n"
+ .string "I blabbed about GROUDON!$"
+
+MagmaHideout_4F_Text_23A775: @ 823A775
+ .string "I guess it’s impossible to win if one\n"
+ .string "doesn’t have a calm mind…$"
+
+MagmaHideout_4F_Text_23A7B5: @ 823A7B5
+ .string "I wonder if GROUDON even has a tail?$"
+
+MagmaHideout_4F_Text_23A7DA: @ 823A7DA
+ .string "Fuhahaha!\n"
+ .string "Soon! Very soon!\l"
+ .string "Our grand objective will be achieved!$"
+
+MagmaHideout_4F_Text_23A81B: @ 823A81B
+ .string "Grrr…\n"
+ .string "I’ve come so far, but now this?$"
+
+MagmaHideout_4F_Text_23A841: @ 823A841
+ .string "MAXIE, sir!\n"
+ .string "An intruder is headed your way!$"
+
+MagmaHideout_4F_Text_23A86D: @ 823A86D
+ .string "You’re not finished yet!\n"
+ .string "You’re not getting by me easily!$"
+
+MagmaHideout_4F_Text_23A8A7: @ 823A8A7
+ .string "Was I that easy to knock down?$"
+
+MagmaHideout_4F_Text_23A8C6: @ 823A8C6
+ .string "C-come on, one more match…$"
+
+MagmaHideout_4F_Text_23A8E1: @ 823A8E1
+ .string "Hehehe!\n"
+ .string "You made it this far, so I’ll tell you!\p"
+ .string "That’s right!\n"
+ .string "Up ahead, GROUDON is sleeping!\p"
+ .string "MAXIE went to GROUDON just seconds\n"
+ .string "ago!\p"
+ .string "It’s going to awaken real soon!\n"
+ .string "Hehe! Hehehe!$"
+
+MagmaHideout_4F_Text_23A994: @ 823A994
+ .string "Taken down again…\n"
+ .string "Hehe…$"
+
+MagmaHideout_4F_Text_23A9AC: @ 823A9AC
+ .string "…And while you wasted time with me,\n"
+ .string "MAXIE should have awakened GROUDON…$"
+
+MagmaHideout_4F_Text_23A9F4: @ 823A9F4
+ .string "MAXIE: GROUDON…\p"
+ .string "Nothing could awaken you from your\n"
+ .string "sleep bathed in magma…\p"
+ .string "This BLUE ORB is what you sought.\n"
+ .string "Wasn’t it?\p"
+ .string "I have brought you the BLUE ORB.\n"
+ .string "Let its shine awaken you!\p"
+ .string "And show me…\n"
+ .string "Show me the full extent of your power!$"
+
+MagmaHideout_4F_Text_23AADA: @ 823AADA
+ .string "MAXIE: GROUDON!\n"
+ .string "What’s wrong?\p"
+ .string "Wasn’t the BLUE ORB the key?\p"
+ .string "GROUDON!\n"
+ .string "Where have you gone…$"
+
+MagmaHideout_4F_Text_23AB33: @ 823AB33
+ .string "MAXIE: Oh, so it was you?\p"
+ .string "I’ve seen you poking around uninvited\n"
+ .string "here and there…\p"
+ .string "I get it now!\n"
+ .string "You must have pulled a cheap stunt!$"
+
+MagmaHideout_4F_Text_23ABB5: @ 823ABB5
+ .string "What makes you so adept at handling\n"
+ .string "POKéMON?$"
+
+MagmaHideout_4F_Text_23ABE2: @ 823ABE2
+ .string "MAXIE: There has to be some reason\n"
+ .string "why GROUDON fled…\p"
+ .string "That’s what you’re trying to say,\n"
+ .string "aren’t you?\p"
+ .string "… … … … … …\n"
+ .string "… … … … … …\p"
+ .string "Humph…\n"
+ .string "You think I didn’t know that?\p"
+ .string "With GROUDON gone, there is no longer\n"
+ .string "any need for this blasted volcano.\p"
+ .string "I am going after GROUDON, so this\n"
+ .string "is where we part!$"
+
diff --git a/data/scripts/maps/MarineCave_End.inc b/data/scripts/maps/MarineCave_End.inc
new file mode 100644
index 000000000..dc2e2b3a0
--- /dev/null
+++ b/data/scripts/maps/MarineCave_End.inc
@@ -0,0 +1,78 @@
+MarineCave_End_MapScripts:: @ 823AFDF
+ map_script 5, MarineCave_End_MapScript1_23AFEA
+ map_script 3, MarineCave_End_MapScript1_23B008
+ .byte 0
+
+MarineCave_End_MapScript1_23AFEA: @ 823AFEA
+ checkflag FLAG_SYS_CTRL_OBJ_DELETE
+ call_if 1, MarineCave_End_EventScript_23AFF4
+ end
+
+MarineCave_End_EventScript_23AFF4:: @ 823AFF4
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 7
+ goto_if 5, MarineCave_End_EventScript_27374E
+ removeobject 1
+ return
+
+MarineCave_End_MapScript1_23B008: @ 823B008
+ checkflag FLAG_0x1BE
+ call_if 0, MarineCave_End_EventScript_23B012
+ end
+
+MarineCave_End_EventScript_23B012:: @ 823B012
+ clearflag FLAG_0x30E
+ setvar VAR_0x4001, 1
+ return
+
+MarineCave_End_EventScript_23B01B:: @ 823B01B
+ lockall
+ applymovement 255, MarineCave_End_Movement_2725B2
+ waitmovement 0
+ applymovement 1, MarineCave_End_Movement_23B09D
+ waitmovement 0
+ waitse
+ playmoncry SPECIES_KYOGRE, 2
+ delay 40
+ waitmoncry
+ setvar VAR_LAST_TALKED, 1
+ setwildbattle SPECIES_KYOGRE, 70, ITEM_NONE
+ setflag FLAG_SYS_CTRL_OBJ_DELETE
+ special sub_80B0934
+ waitstate
+ clearflag FLAG_SYS_CTRL_OBJ_DELETE
+ setvar VAR_0x4001, 0
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MarineCave_End_EventScript_23B084
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq MarineCave_End_EventScript_23B092
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq MarineCave_End_EventScript_23B092
+ setvar VAR_0x4039, 1
+ setflag FLAG_0x1BE
+ releaseall
+ end
+
+MarineCave_End_EventScript_23B084:: @ 823B084
+ setvar VAR_0x4039, 1
+ setflag FLAG_0x1BE
+ goto MarineCave_End_EventScript_27376D
+ end
+
+MarineCave_End_EventScript_23B092:: @ 823B092
+ setvar VAR_0x8004, 404
+ goto MarineCave_End_EventScript_273776
+ end
+
+MarineCave_End_Movement_23B09D: @ 823B09D
+ step_5e
+ step_62
+ step_14
+ step_14
+ step_63
+ step_14
+ step_14
+ step_63
+ step_end
+
diff --git a/data/scripts/maps/MarineCave_Entrance.inc b/data/scripts/maps/MarineCave_Entrance.inc
new file mode 100644
index 000000000..a1f5489fe
--- /dev/null
+++ b/data/scripts/maps/MarineCave_Entrance.inc
@@ -0,0 +1,8 @@
+MarineCave_Entrance_MapScripts:: @ 823AFD0
+ map_script 5, MarineCave_Entrance_MapScript1_23AFD6
+ .byte 0
+
+MarineCave_Entrance_MapScript1_23AFD6: @ 823AFD6
+ setdivewarp UNDERWATER_MARINE_CAVE, 255, 9, 6
+ end
+
diff --git a/data/scripts/maps/MauvilleCity.inc b/data/scripts/maps/MauvilleCity.inc
new file mode 100644
index 000000000..b470e4432
--- /dev/null
+++ b/data/scripts/maps/MauvilleCity.inc
@@ -0,0 +1,677 @@
+MauvilleCity_MapScripts:: @ 81DF385
+ map_script 3, MauvilleCity_MapScript1_1DF38B
+ .byte 0
+
+MauvilleCity_MapScript1_1DF38B: @ 81DF38B
+ setflag FLAG_VISITED_MAUVILLE_CITY
+ clearflag FLAG_0x09D
+ clearflag FLAG_0x3C1
+ setflag FLAG_SYS_TV_START
+ clearflag FLAG_0x063
+ setvar VAR_0x4093, 0
+ checkflag FLAG_0x0D1
+ call_if 1, MauvilleCity_EventScript_1DF3A9
+ end
+
+MauvilleCity_EventScript_1DF3A9:: @ 81DF3A9
+ clearflag FLAG_0x391
+ setflag FLAG_0x390
+ setflag FLAG_0x05B
+ return
+
+MauvilleCity_EventScript_1DF3B3:: @ 81DF3B3
+ msgbox MauvilleCity_Text_1E0301, 2
+ end
+
+MauvilleCity_EventScript_1DF3BC:: @ 81DF3BC
+ msgbox MauvilleCity_Text_1E037C, 2
+ end
+
+MauvilleCity_EventScript_1DF3C5:: @ 81DF3C5
+ msgbox MauvilleCity_Text_1E03FB, 2
+ end
+
+MauvilleCity_EventScript_1DF3CE:: @ 81DF3CE
+ msgbox MauvilleCity_Text_1E044A, 2
+ end
+
+MauvilleCity_EventScript_1DF3D7:: @ 81DF3D7
+ msgbox MauvilleCity_Text_1E0485, 3
+ end
+
+MauvilleCity_EventScript_1DF3E0:: @ 81DF3E0
+ msgbox MauvilleCity_Text_1E04B7, 3
+ end
+
+MauvilleCity_EventScript_1DF3E9:: @ 81DF3E9
+ msgbox MauvilleCity_Text_1E0504, 3
+ end
+
+MauvilleCity_EventScript_1DF3F2:: @ 81DF3F2
+ msgbox MauvilleCity_Text_1E053C, 3
+ end
+
+MauvilleCity_EventScript_1DF3FB:: @ 81DF3FB
+ lock
+ faceplayer
+ checkflag FLAG_0x062
+ goto_eq MauvilleCity_EventScript_1DF413
+ msgbox MauvilleCity_Text_1E056A, 4
+ setflag FLAG_0x062
+ release
+ end
+
+MauvilleCity_EventScript_1DF413:: @ 81DF413
+ msgbox MauvilleCity_Text_1E0699, 4
+ release
+ end
+
+MauvilleCity_EventScript_1DF41D:: @ 81DF41D
+ lock
+ faceplayer
+ checkflag FLAG_0x11C
+ goto_eq MauvilleCity_EventScript_1DF43D
+ msgbox MauvilleCity_Text_1DF7DC, 4
+ closemessage
+ applymovement 7, MauvilleCity_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+MauvilleCity_EventScript_1DF43D:: @ 81DF43D
+ msgbox MauvilleCity_Text_1DFAA5, 4
+ closemessage
+ applymovement 7, MauvilleCity_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+MauvilleCity_EventScript_1DF452:: @ 81DF452
+ lockall
+ checkflag FLAG_0x11C
+ goto_eq MauvilleCity_EventScript_1DF690
+ applymovement 6, MauvilleCity_Movement_2725A8
+ waitmovement 0
+ msgbox MauvilleCity_Text_1DF845, 4
+ msgbox MauvilleCity_Text_1DF8B9, 4
+ msgbox MauvilleCity_Text_1DF963, 4
+ applymovement 6, MauvilleCity_Movement_27259E
+ waitmovement 0
+ playse SE_PIN
+ applymovement 6, MauvilleCity_Movement_272598
+ waitmovement 0
+ applymovement 6, MauvilleCity_Movement_27259A
+ waitmovement 0
+ msgbox MauvilleCity_Text_1DF9B2, 5
+ goto MauvilleCity_EventScript_1DF4AD
+ end
+
+MauvilleCity_EventScript_1DF4AD:: @ 81DF4AD
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, MauvilleCity_EventScript_1DF63A
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_EventScript_1DF683
+ closemessage
+ switch VAR_FACING
+ case 2, MauvilleCity_EventScript_1DF4E0
+ case 4, MauvilleCity_EventScript_1DF53D
+ end
+
+MauvilleCity_EventScript_1DF4E0:: @ 81DF4E0
+ applymovement 255, MauvilleCity_Movement_1DF6DF
+ applymovement 6, MauvilleCity_Movement_1DF6A8
+ applymovement 7, MauvilleCity_Movement_1DF6E2
+ waitmovement 0
+ applymovement 6, MauvilleCity_Movement_2725A8
+ waitmovement 0
+ delay 30
+ applymovement 255, MauvilleCity_Movement_1DF6EE
+ applymovement 7, MauvilleCity_Movement_1DF6F3
+ waitmovement 0
+ msgbox MauvilleCity_Text_1DFD34, 4
+ closemessage
+ applymovement 255, MauvilleCity_Movement_1DF6CC
+ applymovement 7, MauvilleCity_Movement_1DF6FA
+ applymovement 6, MauvilleCity_Movement_1DF6B4
+ waitmovement 0
+ goto MauvilleCity_EventScript_1DF593
+ end
+
+MauvilleCity_EventScript_1DF53D:: @ 81DF53D
+ applymovement 255, MauvilleCity_Movement_1DF6DC
+ applymovement 6, MauvilleCity_Movement_1DF6AE
+ applymovement 7, MauvilleCity_Movement_1DF6E8
+ waitmovement 0
+ applymovement 6, MauvilleCity_Movement_2725A8
+ waitmovement 0
+ delay 30
+ applymovement 7, MauvilleCity_Movement_1DF6F7
+ waitmovement 0
+ msgbox MauvilleCity_Text_1DFD34, 4
+ closemessage
+ applymovement 255, MauvilleCity_Movement_1DF6D0
+ applymovement 7, MauvilleCity_Movement_1DF703
+ applymovement 6, MauvilleCity_Movement_1DF6C0
+ waitmovement 0
+ goto MauvilleCity_EventScript_1DF593
+ end
+
+MauvilleCity_EventScript_1DF593:: @ 81DF593
+ removeobject 6
+ removeobject 7
+ clearflag FLAG_0x326
+ clearflag FLAG_0x329
+ setflag FLAG_0x0BE
+ setvar VAR_0x40F2, 0
+ setflag FLAG_0x088
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, MauvilleCity_EventScript_1DF5F3
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, MauvilleCity_EventScript_1DF601
+ applymovement 255, MauvilleCity_Movement_2725AA
+ waitmovement 0
+ msgbox MauvilleCity_Text_1DFED5, 4
+ closemessage
+ addvar VAR_0x40D1, 1
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, MauvilleCity_EventScript_1DF616
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, MauvilleCity_EventScript_1DF628
+ removeobject 11
+ releaseall
+ end
+
+MauvilleCity_EventScript_1DF5F3:: @ 81DF5F3
+ addobject 11
+ applymovement 11, MauvilleCity_Movement_1DF70D
+ waitmovement 0
+ return
+
+MauvilleCity_EventScript_1DF601:: @ 81DF601
+ setobjectxyperm 11, 12, 13
+ addobject 11
+ applymovement 11, MauvilleCity_Movement_1DF719
+ waitmovement 0
+ return
+
+MauvilleCity_EventScript_1DF616:: @ 81DF616
+ applymovement 255, MauvilleCity_Movement_1DF6D5
+ applymovement 11, MauvilleCity_Movement_1DF725
+ waitmovement 0
+ return
+
+MauvilleCity_EventScript_1DF628:: @ 81DF628
+ applymovement 255, MauvilleCity_Movement_1DF6D8
+ applymovement 11, MauvilleCity_Movement_1DF72F
+ waitmovement 0
+ return
+
+MauvilleCity_EventScript_1DF63A:: @ 81DF63A
+ msgbox MauvilleCity_Text_1DFB6D, 4
+ trainerbattle 3, TRAINER_WALLY_2, 0, MauvilleCity_Text_1DFB96
+ applymovement 6, MauvilleCity_Movement_2725A8
+ waitmovement 0
+ msgbox MauvilleCity_Text_1DFBC3, 4
+ applymovement 6, MauvilleCity_Movement_27259E
+ waitmovement 0
+ msgbox MauvilleCity_Text_1DFBED, 4
+ applymovement 6, MauvilleCity_Movement_2725A8
+ waitmovement 0
+ msgbox MauvilleCity_Text_1DFC8A, 4
+ return
+
+MauvilleCity_EventScript_1DF683:: @ 81DF683
+ setflag FLAG_0x11C
+ msgbox MauvilleCity_Text_1DFA4A, 4
+ release
+ end
+
+MauvilleCity_EventScript_1DF690:: @ 81DF690
+ applymovement 6, MauvilleCity_Movement_27259E
+ waitmovement 0
+ msgbox MauvilleCity_Text_1DFB42, 5
+ goto MauvilleCity_EventScript_1DF4AD
+ end
+
+MauvilleCity_Movement_1DF6A8: @ 81DF6A8
+ step_left
+ step_left
+ step_down
+ step_down
+ step_left
+ step_end
+
+MauvilleCity_Movement_1DF6AE: @ 81DF6AE
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_end
+
+MauvilleCity_Movement_1DF6B4: @ 81DF6B4
+ step_14
+ step_14
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_13
+ step_end
+
+MauvilleCity_Movement_1DF6C0: @ 81DF6C0
+ step_14
+ step_14
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_13
+ step_end
+
+MauvilleCity_Movement_1DF6CC: @ 81DF6CC
+ step_14
+ step_13
+ step_27
+ step_end
+
+MauvilleCity_Movement_1DF6D0: @ 81DF6D0
+ step_14
+ step_14
+ step_14
+ step_27
+ step_end
+
+MauvilleCity_Movement_1DF6D5: @ 81DF6D5
+ step_14
+ step_27
+ step_end
+
+MauvilleCity_Movement_1DF6D8: @ 81DF6D8
+ step_14
+ step_14
+ step_27
+ step_end
+
+MauvilleCity_Movement_1DF6DC: @ 81DF6DC
+ step_14
+ step_25
+ step_end
+
+MauvilleCity_Movement_1DF6DF: @ 81DF6DF
+ step_14
+ step_27
+ step_end
+
+MauvilleCity_Movement_1DF6E2: @ 81DF6E2
+ step_left
+ step_left
+ step_left
+ step_down
+ step_down
+ step_end
+
+MauvilleCity_Movement_1DF6E8: @ 81DF6E8
+ step_left
+ step_down
+ step_down
+ step_left
+ step_left
+ step_end
+
+MauvilleCity_Movement_1DF6EE: @ 81DF6EE
+ step_14
+ step_13
+ step_12
+ step_25
+ step_end
+
+MauvilleCity_Movement_1DF6F3: @ 81DF6F3
+ step_right
+ step_right
+ step_26
+ step_end
+
+MauvilleCity_Movement_1DF6F7: @ 81DF6F7
+ step_right
+ step_up
+ step_end
+
+MauvilleCity_Movement_1DF6FA: @ 81DF6FA
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+MauvilleCity_Movement_1DF703: @ 81DF703
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+MauvilleCity_Movement_1DF70D: @ 81DF70D
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_left
+ step_left
+ step_left
+ step_left
+ step_26
+ step_end
+
+MauvilleCity_Movement_1DF719: @ 81DF719
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_up
+ step_end
+
+MauvilleCity_Movement_1DF725: @ 81DF725
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+MauvilleCity_Movement_1DF72F: @ 81DF72F
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+MauvilleCity_EventScript_1DF73A:: @ 81DF73A
+ lock
+ faceplayer
+ checkflag FLAG_0x0D1
+ goto_eq MauvilleCity_EventScript_1DF7B0
+ compare_var_to_value VAR_0x40BA, 2
+ goto_eq MauvilleCity_EventScript_1DF784
+ checkflag FLAG_0x0D0
+ goto_eq MauvilleCity_EventScript_1DF77A
+ msgbox MauvilleCity_Text_1DFFE4, 4
+ giveitem_std ITEM_BASEMENT_KEY
+ setflag FLAG_0x0D0
+ msgbox MauvilleCity_Text_1E0154, 4
+ release
+ end
+
+MauvilleCity_EventScript_1DF77A:: @ 81DF77A
+ msgbox MauvilleCity_Text_1E0154, 4
+ release
+ end
+
+MauvilleCity_EventScript_1DF784:: @ 81DF784
+ msgbox MauvilleCity_Text_1E020E, 4
+ giveitem_std ITEM_TM24
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_EventScript_272054
+ setflag FLAG_0x0D1
+ msgbox MauvilleCity_Text_1E02AA, 4
+ release
+ end
+
+MauvilleCity_EventScript_1DF7B0:: @ 81DF7B0
+ msgbox MauvilleCity_Text_1E02AA, 4
+ release
+ end
+
+MauvilleCity_EventScript_1DF7BA:: @ 81DF7BA
+ lockall
+ pokenavcall MauvilleCity_Text_1DFDFB
+ waitmessage
+ delay 30
+ playfanfare BGM_ME_MATCH_CALL
+ msgbox MauvilleCity_Text_1DFEB4, 4
+ waitfanfare
+ closemessage
+ delay 30
+ setflag FLAG_0x0D6
+ clearflag FLAG_0x088
+ releaseall
+ end
+
+MauvilleCity_Text_1DF7DC: @ 81DF7DC
+ .string "UNCLE: It’s because of POKéMON that\n"
+ .string "this boy’s got more pep, I suppose…\l"
+ .string "But he’s become a bit too peppy…$"
+
+MauvilleCity_Text_1DF845: @ 81DF845
+ .string "WALLY: Aww, UNCLE, please?\p"
+ .string "I want to challenge this GYM and see\n"
+ .string "how much better I’ve become.\p"
+ .string "Please? May I, please?$"
+
+MauvilleCity_Text_1DF8B9: @ 81DF8B9
+ .string "UNCLE: Now hold on, WALLY.\p"
+ .string "Since you started living with POKéMON,\n"
+ .string "you have grown quite a lot stronger.\p"
+ .string "But don’t you think you’re pushing it\n"
+ .string "to suddenly challenge a GYM?$"
+
+MauvilleCity_Text_1DF963: @ 81DF963
+ .string "WALLY: I’m not pushing it.\p"
+ .string "If I combine forces with RALTS,\n"
+ .string "we can beat anyone!$"
+
+MauvilleCity_Text_1DF9B2: @ 81DF9B2
+ .string "WALLY: Oh! Hi, {PLAYER}!\p"
+ .string "I’ve gotten a lot stronger since\n"
+ .string "we met.\p"
+ .string "{PLAYER}, I want you and my UNCLE to\n"
+ .string "understand that.\p"
+ .string "{PLAYER}, please, will you have\n"
+ .string "a battle with me?$"
+
+MauvilleCity_Text_1DFA4A: @ 81DFA4A
+ .string "WALLY: Oh… If you won’t battle me,\n"
+ .string "{PLAYER}, my UNCLE won’t know that I’ve\l"
+ .string "become really strong.$"
+
+MauvilleCity_Text_1DFAA5: @ 81DFAA5
+ .string "UNCLE: {PLAYER}{KUN}, was it?\n"
+ .string "On WALLY’s behalf, can I ask you to\l"
+ .string "battle with him just this once?\p"
+ .string "I don’t think he’s going to listen to\n"
+ .string "any reason the way he is now.$"
+
+MauvilleCity_Text_1DFB42: @ 81DFB42
+ .string "WALLY: {PLAYER}, please!\n"
+ .string "Battle with me, please.$"
+
+MauvilleCity_Text_1DFB6D: @ 81DFB6D
+ .string "WALLY: {PLAYER}, thank you.\p"
+ .string "Okay… Here I come!$"
+
+MauvilleCity_Text_1DFB96: @ 81DFB96
+ .string "WALLY: … … … … … … …\p"
+ .string "… … … … … … … …\p"
+ .string "I lost…$"
+
+MauvilleCity_Text_1DFBC3: @ 81DFBC3
+ .string "WALLY: UNCLE…\n"
+ .string "I’ll go back to VERDANTURF…$"
+
+MauvilleCity_Text_1DFBED: @ 81DFBED
+ .string "{PLAYER}, thank you.\n"
+ .string "Being a TRAINER is tough, isn’t it?\p"
+ .string "It’s not enough just to have POKéMON\n"
+ .string "and make them battle. That isn’t what\l"
+ .string "being a real TRAINER is about.$"
+
+MauvilleCity_Text_1DFC8A: @ 81DFC8A
+ .string "UNCLE: WALLY, there’s no need to be so\n"
+ .string "down on yourself.\p"
+ .string "Why, what’s keeping you from becoming\n"
+ .string "stronger and stronger?\p"
+ .string "Come on, let’s go home.\n"
+ .string "Everyone’s waiting for you.$"
+
+MauvilleCity_Text_1DFD34: @ 81DFD34
+ .string "UNCLE: {PLAYER}{KUN}, it just dawned on me\n"
+ .string "that you must be the TRAINER who kept\l"
+ .string "an eye out for WALLY when he caught\l"
+ .string "his POKéMON.\p"
+ .string "Why don’t you visit us in VERDANTURF\n"
+ .string "sometime?\l"
+ .string "I’m sure WALLY would enjoy it.$"
+
+
+MauvilleCity_Text_1DFDFB: @ 81DFDFB
+ .string "… … … … … …\n"
+ .string "… … … … … Beep!\p"
+ .string "WALLY: Oh, hello, {PLAYER}!\p"
+ .string "I just wanted to tell you that\n"
+ .string "my uncle bought me a POKéNAV!\p"
+ .string "Now I can get in touch with you\n"
+ .string "anytime, {PLAYER}!\p"
+ .string "… … … … … …\n"
+ .string "… … … … … Click!$"
+
+MauvilleCity_Text_1DFEB4: @ 81DFEB4
+ .string "Registered WALLY\n"
+ .string "in the POKéNAV.$"
+
+MauvilleCity_Text_1DFED5: @ 81DFED5
+ .string "SCOTT: Hehe…\n"
+ .string "I was watching that match!\p"
+ .string "You’re friends with that boy WALLY,\n"
+ .string "aren’t you?\p"
+ .string "But you didn’t hold anything back\n"
+ .string "and beat him impressively.\p"
+ .string "Yeah! That’s what a real POKéMON\n"
+ .string "battle is all about!\p"
+ .string "I idolize TRAINERS like that!\p"
+ .string "… … … … … …\n"
+ .string "I’ll be cheering for you!$"
+
+MauvilleCity_Text_1DFFE4: @ 81DFFE4
+ .string "WATTSON: Oh, {PLAYER}{KUN}!\n"
+ .string "You look like you have a lot of zip!\l"
+ .string "That’s a good thing, wahahahaha!\p"
+ .string "Fine! I’ve decided!\n"
+ .string "I need a favor, {PLAYER}{KUN}!\p"
+ .string "MAUVILLE CITY has an underground\n"
+ .string "sector called NEW MAUVILLE.\p"
+ .string "{PLAYER}{KUN}, I’d like you to go there and\n"
+ .string "switch off the GENERATOR.\p"
+ .string "The GENERATOR has been running a bit\n"
+ .string "haywire. It’s getting unsafe.\p"
+ .string "Here, this is the KEY to get into\n"
+ .string "NEW MAUVILLE.$"
+
+MauvilleCity_Text_1E0154: @ 81E0154
+ .string "WATTSON: Don’t you worry about it.\n"
+ .string "It won’t be a challenge to you.\p"
+ .string "The entrance to NEW MAUVILLE is just\n"
+ .string "a short SURF away from ROUTE 110.\p"
+ .string "That’s it, then, you have my trust!\n"
+ .string "Wahahahaha!$"
+
+MauvilleCity_Text_1E020E: @ 81E020E
+ .string "WATTSON: Wahahahaha!\p"
+ .string "I knew it, {PLAYER}{KUN}! I knew I’d made\n"
+ .string "the right choice asking you!\p"
+ .string "This is my thanks--a TM containing\n"
+ .string "THUNDERBOLT!\p"
+ .string "Go on, you’ve earned it!$"
+
+MauvilleCity_Text_1E02AA: @ 81E02AA
+ .string "WATTSON: Wahahahaha!\p"
+ .string "It pleases me to no end to see\n"
+ .string "the young step up and take charge!$"
+
+MauvilleCity_Text_1E0301: @ 81E0301
+ .string "You know, it’s cool to have POKéMON\n"
+ .string "battles and stuff…\p"
+ .string "But if your POKéMON gets hurt,\n"
+ .string "you have to nurse it back to health.$"
+
+MauvilleCity_Text_1E037C: @ 81E037C
+ .string "The roads of this town stretch north\n"
+ .string "and south, and east and west.\p"
+ .string "Because of that, we get all sorts of\n"
+ .string "people coming through.$"
+
+MauvilleCity_Text_1E03FB: @ 81E03FB
+ .string "Have you been to RYDEL’S CYCLES yet?\p"
+ .string "RYDEL, the owner, is a very generous\n"
+ .string "man.$"
+
+MauvilleCity_Text_1E044A: @ 81E044A
+ .string "Even if you’re riding a BIKE,\n"
+ .string "wild POKéMON could jump you.$"
+
+MauvilleCity_Text_1E0485: @ 81E0485
+ .string "MAUVILLE CITY\n"
+ .string "“The bright and shiny city of fun!”$"
+
+MauvilleCity_Text_1E04B7: @ 81E04B7
+ .string "MAUVILLE CITY POKéMON GYM\n"
+ .string "LEADER: WATTSON\l"
+ .string "“The cheerfully electrifying man!”$"
+
+MauvilleCity_Text_1E0504: @ 81E0504
+ .string "“Ride in gravel and shake up your\n"
+ .string "soul!”\l"
+ .string "RYDEL’S CYCLES$"
+
+MauvilleCity_Text_1E053C: @ 81E053C
+ .string "“The play spot for all!”\n"
+ .string "MAUVILLE GAME CORNER$"
+
+MauvilleCity_Text_1E056A: @ 81E056A
+ .string "Hi, do you check out TV at all?\p"
+ .string "They’ve added a bunch of cool new\n"
+ .string "shows recently.\p"
+ .string "TV is so cool. I’ve seen my friends on\n"
+ .string "TV just out of the blue.\p"
+ .string "And, sometimes, they even put you on TV\n"
+ .string "without telling you.\p"
+ .string "I wish I would be on TV sometime.\p"
+ .string "That’s why I think you should check\n"
+ .string "out TVs whenever you can.$"
+
+MauvilleCity_Text_1E0699: @ 81E0699
+ .string "Hi, have you been checking out TVs?$"
diff --git a/data/scripts/maps/MauvilleCity_BikeShop.inc b/data/scripts/maps/MauvilleCity_BikeShop.inc
new file mode 100644
index 000000000..1dc08e304
--- /dev/null
+++ b/data/scripts/maps/MauvilleCity_BikeShop.inc
@@ -0,0 +1,329 @@
+MauvilleCity_BikeShop_MapScripts:: @ 820EBBB
+ .byte 0
+
+MauvilleCity_BikeShop_EventScript_20EBBC:: @ 820EBBC
+ lock
+ faceplayer
+ checkflag FLAG_0x05A
+ goto_eq MauvilleCity_BikeShop_EventScript_20EC94
+ checkflag FLAG_0x059
+ goto_eq MauvilleCity_BikeShop_EventScript_20EBF7
+ msgbox MauvilleCity_BikeShop_Text_20EE22, 4
+ msgbox MauvilleCity_BikeShop_Text_20EE99, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_BikeShop_EventScript_20EC4A
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_BikeShop_EventScript_20EC3D
+ end
+
+MauvilleCity_BikeShop_EventScript_20EBF7:: @ 820EBF7
+ msgbox MauvilleCity_BikeShop_Text_20EE99, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_BikeShop_EventScript_20EC4A
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_BikeShop_EventScript_20EC3D
+ end
+
+MauvilleCity_BikeShop_EventScript_20EC16:: @ 820EC16
+ message MauvilleCity_BikeShop_Text_20EF32
+ waitmessage
+ multichoice 21, 8, 12, 1
+ switch VAR_RESULT
+ case 0, MauvilleCity_BikeShop_EventScript_20EC53
+ case 1, MauvilleCity_BikeShop_EventScript_20EC6D
+ end
+
+MauvilleCity_BikeShop_EventScript_20EC3D:: @ 820EC3D
+ setflag FLAG_0x059
+ msgbox MauvilleCity_BikeShop_Text_20EEE8, 4
+ release
+ end
+
+MauvilleCity_BikeShop_EventScript_20EC4A:: @ 820EC4A
+ setflag FLAG_0x05A
+ goto MauvilleCity_BikeShop_EventScript_20EC16
+ end
+
+MauvilleCity_BikeShop_EventScript_20EC53:: @ 820EC53
+ msgbox MauvilleCity_BikeShop_Text_20F18D, 4
+ giveitem_std ITEM_MACH_BIKE
+ goto MauvilleCity_BikeShop_EventScript_20EC87
+ end
+
+MauvilleCity_BikeShop_EventScript_20EC6D:: @ 820EC6D
+ msgbox MauvilleCity_BikeShop_Text_20F1A5, 4
+ giveitem_std ITEM_ACRO_BIKE
+ goto MauvilleCity_BikeShop_EventScript_20EC87
+ end
+
+MauvilleCity_BikeShop_EventScript_20EC87:: @ 820EC87
+ msgbox MauvilleCity_BikeShop_Text_20F1BD, 4
+ special sub_80D6EDC
+ release
+ end
+
+MauvilleCity_BikeShop_EventScript_20EC94:: @ 820EC94
+ msgbox MauvilleCity_BikeShop_Text_20F1FB, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_BikeShop_EventScript_20ECB3
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_BikeShop_EventScript_20ECE5
+ end
+
+MauvilleCity_BikeShop_EventScript_20ECB3:: @ 820ECB3
+ msgbox MauvilleCity_BikeShop_Text_20F22F, 4
+ checkitem ITEM_ACRO_BIKE, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_BikeShop_EventScript_20ECEF
+ checkitem ITEM_MACH_BIKE, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_BikeShop_EventScript_20ED10
+ msgbox MauvilleCity_BikeShop_Text_20F2F3, 4
+ release
+ end
+
+MauvilleCity_BikeShop_EventScript_20ECE5:: @ 820ECE5
+ msgbox MauvilleCity_BikeShop_Text_20F2C4, 4
+ release
+ end
+
+MauvilleCity_BikeShop_EventScript_20ECEF:: @ 820ECEF
+ incrementgamestat 4
+ msgbox MauvilleCity_BikeShop_Text_20F294, 4
+ takeitem ITEM_ACRO_BIKE, 1
+ giveitem_std ITEM_MACH_BIKE
+ goto MauvilleCity_BikeShop_EventScript_20EC87
+ end
+
+MauvilleCity_BikeShop_EventScript_20ED10:: @ 820ED10
+ incrementgamestat 4
+ msgbox MauvilleCity_BikeShop_Text_20F263, 4
+ takeitem ITEM_MACH_BIKE, 1
+ giveitem_std ITEM_ACRO_BIKE
+ goto MauvilleCity_BikeShop_EventScript_20EC87
+ end
+
+MauvilleCity_BikeShop_EventScript_20ED31:: @ 820ED31
+ msgbox MauvilleCity_BikeShop_Text_20F3C3, 2
+ end
+
+MauvilleCity_BikeShop_EventScript_20ED3A:: @ 820ED3A
+ message MauvilleCity_BikeShop_Text_20F445
+ waitmessage
+ goto MauvilleCity_BikeShop_EventScript_20ED46
+ end
+
+MauvilleCity_BikeShop_EventScript_20ED46:: @ 820ED46
+ multichoice 0, 0, 43, 0
+ switch VAR_RESULT
+ case 0, MauvilleCity_BikeShop_EventScript_20ED88
+ case 1, MauvilleCity_BikeShop_EventScript_20ED94
+ case 2, MauvilleCity_BikeShop_EventScript_20EDA0
+ case 3, MauvilleCity_BikeShop_EventScript_20EDAC
+ case 127, MauvilleCity_BikeShop_EventScript_20EDAC
+ end
+
+MauvilleCity_BikeShop_EventScript_20ED88:: @ 820ED88
+ message MauvilleCity_BikeShop_Text_20F487
+ waitmessage
+ goto MauvilleCity_BikeShop_EventScript_20ED46
+ end
+
+MauvilleCity_BikeShop_EventScript_20ED94:: @ 820ED94
+ message MauvilleCity_BikeShop_Text_20F550
+ waitmessage
+ goto MauvilleCity_BikeShop_EventScript_20ED46
+ end
+
+MauvilleCity_BikeShop_EventScript_20EDA0:: @ 820EDA0
+ message MauvilleCity_BikeShop_Text_20F61A
+ waitmessage
+ goto MauvilleCity_BikeShop_EventScript_20ED46
+ end
+
+MauvilleCity_BikeShop_EventScript_20EDAC:: @ 820EDAC
+ release
+ end
+
+MauvilleCity_BikeShop_EventScript_20EDAE:: @ 820EDAE
+ message MauvilleCity_BikeShop_Text_20F6ED
+ waitmessage
+ goto MauvilleCity_BikeShop_EventScript_20EDBA
+ end
+
+MauvilleCity_BikeShop_EventScript_20EDBA:: @ 820EDBA
+ multichoice 0, 0, 44, 0
+ switch VAR_RESULT
+ case 0, MauvilleCity_BikeShop_EventScript_20EDFC
+ case 1, MauvilleCity_BikeShop_EventScript_20EE08
+ case 2, MauvilleCity_BikeShop_EventScript_20EE14
+ case 3, MauvilleCity_BikeShop_EventScript_20EE20
+ case 127, MauvilleCity_BikeShop_EventScript_20EE20
+ end
+
+MauvilleCity_BikeShop_EventScript_20EDFC:: @ 820EDFC
+ message MauvilleCity_BikeShop_Text_20F72F
+ waitmessage
+ goto MauvilleCity_BikeShop_EventScript_20EDBA
+ end
+
+MauvilleCity_BikeShop_EventScript_20EE08:: @ 820EE08
+ message MauvilleCity_BikeShop_Text_20F7F5
+ waitmessage
+ goto MauvilleCity_BikeShop_EventScript_20EDBA
+ end
+
+MauvilleCity_BikeShop_EventScript_20EE14:: @ 820EE14
+ message MauvilleCity_BikeShop_Text_20F898
+ waitmessage
+ goto MauvilleCity_BikeShop_EventScript_20EDBA
+ end
+
+MauvilleCity_BikeShop_EventScript_20EE20:: @ 820EE20
+ release
+ end
+
+MauvilleCity_BikeShop_Text_20EE22: @ 820EE22
+ .string "Well, well, what have we here?\n"
+ .string "A most energetic customer!\p"
+ .string "Me? You may call me RYDEL.\n"
+ .string "I’m the owner of this cycle shop.$"
+
+MauvilleCity_BikeShop_Text_20EE99: @ 820EE99
+ .string "RYDEL: Your RUNNING SHOES…\n"
+ .string "They’re awfully filthy.\p"
+ .string "Did you come from far away?$"
+
+MauvilleCity_BikeShop_Text_20EEE8: @ 820EEE8
+ .string "RYDEL: Is that right?\p"
+ .string "Then, I guess you have no need for\n"
+ .string "any of my BIKES.$"
+
+MauvilleCity_BikeShop_Text_20EF32: @ 820EF32
+ .string "RYDEL: Hm, hm… … … … …\p"
+ .string "You’re saying that you came all this\n"
+ .string "way from LITTLEROOT?\p"
+ .string "My goodness!\n"
+ .string "That’s ridiculously far!\p"
+ .string "If you had one of my BIKES, you could\n"
+ .string "go anywhere easily while feeling the\l"
+ .string "gentle caress of the wind!\p"
+ .string "I’ll tell you what!\n"
+ .string "I’ll give you a BIKE!\p"
+ .string "Oh, wait a second!\p"
+ .string "I forgot to tell you that there are\n"
+ .string "two kinds of BIKES!\p"
+ .string "They are the MACH BIKE and\n"
+ .string "the ACRO BIKE!\p"
+ .string "The MACH BIKE is for cyclists who want\n"
+ .string "to feel the wind with their bodies!\p"
+ .string "And an ACRO BIKE is for those who\n"
+ .string "prefer technical rides!\p"
+ .string "I’m a real sweetheart, so you can\n"
+ .string "have whichever one you like!\p"
+ .string "Which one will you choose?$"
+
+MauvilleCity_BikeShop_Text_20F18D: @ 820F18D
+ .string "{PLAYER} chose the MACH BIKE.$"
+
+MauvilleCity_BikeShop_Text_20F1A5: @ 820F1A5
+ .string "{PLAYER} chose the ACRO BIKE.$"
+
+MauvilleCity_BikeShop_Text_20F1BD: @ 820F1BD
+ .string "RYDEL: If you get the urge to switch\n"
+ .string "BIKES, just come see me!$"
+
+MauvilleCity_BikeShop_Text_20F1FB: @ 820F1FB
+ .string "RYDEL: Oh? Were you thinking about\n"
+ .string "switching BIKES?$"
+
+MauvilleCity_BikeShop_Text_20F22F: @ 820F22F
+ .string "RYDEL: Okay, no problem!\n"
+ .string "I’ll switch BIKES for you!$"
+
+MauvilleCity_BikeShop_Text_20F263: @ 820F263
+ .string "{PLAYER} got the MACH BIKE exchanged\n"
+ .string "for an ACRO BIKE.$"
+
+MauvilleCity_BikeShop_Text_20F294: @ 820F294
+ .string "{PLAYER} got the ACRO BIKE exchanged\n"
+ .string "for a MACH BIKE.$"
+
+MauvilleCity_BikeShop_Text_20F2C4: @ 820F2C4
+ .string "RYDEL: Good, good!\n"
+ .string "I’m happy that you like it!$"
+
+MauvilleCity_BikeShop_Text_20F2F3: @ 820F2F3
+ .string "Oh? What happened to that BIKE\n"
+ .string "I gave you?\p"
+ .string "Oh, I get it, you stored it using your PC.\p"
+ .string "Well, take it out of PC storage,\n"
+ .string "and I’ll be happy to exchange it!\p"
+ .string "May the wind always be at your back\n"
+ .string "on your adventure!$"
+
+MauvilleCity_BikeShop_Text_20F3C3: @ 820F3C3
+ .string "I’m learning about BIKES while\n"
+ .string "I work here.\p"
+ .string "If you need advice on how to ride your\n"
+ .string "BIKE, there’re a couple handbooks in\l"
+ .string "the back.$"
+
+MauvilleCity_BikeShop_Text_20F445: @ 820F445
+ .string "It’s a handbook on the MACH BIKE.\p"
+ .string "Which page do you want to read?$"
+
+MauvilleCity_BikeShop_Text_20F487: @ 820F487
+ .string "A BIKE moves in the direction that\n"
+ .string "the + Control Pad is pressed.\p"
+ .string "It will speed up once it gets rolling.\p"
+ .string "To stop, release the + Control Pad.\n"
+ .string "The BIKE will slow to a stop.\p"
+ .string "Want to read a different page?$"
+
+MauvilleCity_BikeShop_Text_20F550: @ 820F550
+ .string "A MACH BIKE is speedy, but it can’t\n"
+ .string "stop very quickly.\p"
+ .string "It gets a little tricky to get around\n"
+ .string "a corner.\p"
+ .string "Release the + Control Pad a little\n"
+ .string "before the corner and slow down.\p"
+ .string "Want to read a different page?$"
+
+MauvilleCity_BikeShop_Text_20F61A: @ 820F61A
+ .string "There are small sandy slopes\n"
+ .string "throughout the HOENN region.\p"
+ .string "The loose, crumbly sand makes it\n"
+ .string "impossible to climb normally.\p"
+ .string "But if you have a MACH BIKE, you can\n"
+ .string "zip up a sandy slope.\p"
+ .string "Want to read a different page?$"
+
+MauvilleCity_BikeShop_Text_20F6ED: @ 820F6ED
+ .string "It’s a handbook on the ACRO BIKE.\p"
+ .string "Which page do you want to read?$"
+
+MauvilleCity_BikeShop_Text_20F72F: @ 820F72F
+ .string "Press the B Button while riding,\n"
+ .string "and the front wheel lifts up.\p"
+ .string "You can zip around with the front\n"
+ .string "wheel up using the + Control Pad.\p"
+ .string "This technique is called a wheelie.\p"
+ .string "Want to read a different page?$"
+
+MauvilleCity_BikeShop_Text_20F7F5: @ 820F7F5
+ .string "Keeping the B Button pressed,\n"
+ .string "your BIKE can hop on the spot.\p"
+ .string "This technique is called a bunny hop.\p"
+ .string "You can ride while hopping, too.\p"
+ .string "Want to read a different page?$"
+
+MauvilleCity_BikeShop_Text_20F898: @ 820F898
+ .string "Press the B Button and the + Control\n"
+ .string "Pad at the same time to jump.\p"
+ .string "Press the + Control Pad to the side\n"
+ .string "to jump sideways.\p"
+ .string "Press it backwards to make the BIKE\n"
+ .string "change directions while jumping.\p"
+ .string "Want to read a different page?$"
+
diff --git a/data/scripts/maps/MauvilleCity_GameCorner.inc b/data/scripts/maps/MauvilleCity_GameCorner.inc
new file mode 100644
index 000000000..c75fdafec
--- /dev/null
+++ b/data/scripts/maps/MauvilleCity_GameCorner.inc
@@ -0,0 +1,821 @@
+MauvilleCity_GameCorner_MapScripts:: @ 820FBB8
+ .byte 0
+
+MauvilleCity_GameCorner_EventScript_20FBB9:: @ 820FBB9
+ lock
+ faceplayer
+ msgbox MauvilleCity_GameCorner_Text_210460, 4
+ checkitem ITEM_COIN_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_20FCB7
+ message MauvilleCity_GameCorner_Text_2104DF
+ waitmessage
+ showmoneybox 0, 0, 0
+ showcoinsbox 1, 6
+ goto MauvilleCity_GameCorner_EventScript_20FBE5
+
+MauvilleCity_GameCorner_EventScript_20FBE5:: @ 820FBE5
+ multichoicedefault 15, 0, 49, 0, 0
+ switch VAR_RESULT
+ case 0, MauvilleCity_GameCorner_EventScript_20FC33
+ case 1, MauvilleCity_GameCorner_EventScript_20FC75
+ goto MauvilleCity_GameCorner_EventScript_20FCD1
+ end
+
+MauvilleCity_GameCorner_EventScript_20FC0C:: @ 820FC0C
+ multichoicedefault 15, 0, 49, 1, 0
+ switch VAR_RESULT
+ case 0, MauvilleCity_GameCorner_EventScript_20FC33
+ case 1, MauvilleCity_GameCorner_EventScript_20FC75
+ goto MauvilleCity_GameCorner_EventScript_20FCD1
+ end
+
+MauvilleCity_GameCorner_EventScript_20FC33:: @ 820FC33
+ checkcoins VAR_0x4001
+ compare_var_to_value VAR_0x4001, 9950
+ goto_if 4, MauvilleCity_GameCorner_EventScript_20FCE1
+ checkmoney 0x3e8, 0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_20FCC1
+ givecoins 50
+ takemoney 0x3e8, 0
+ updatemoneybox 0, 0
+ nop
+ updatecoinsbox 1, 6
+ playse SE_REGI
+ msgbox MauvilleCity_GameCorner_Text_210529, 4
+ hidemoneybox
+ nop
+ nop
+ hidecoinsbox 0, 5
+ release
+ end
+
+MauvilleCity_GameCorner_EventScript_20FC75:: @ 820FC75
+ checkcoins VAR_0x4001
+ compare_var_to_value VAR_0x4001, 9500
+ goto_if 4, MauvilleCity_GameCorner_EventScript_20FCE1
+ checkmoney 0x2710, 0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_20FCC1
+ givecoins 500
+ takemoney 0x2710, 0
+ updatemoneybox 0, 0
+ nop
+ updatecoinsbox 1, 6
+ playse SE_REGI
+ msgbox MauvilleCity_GameCorner_Text_210529, 4
+ hidemoneybox
+ nop
+ nop
+ hidecoinsbox 0, 5
+ release
+ end
+
+MauvilleCity_GameCorner_EventScript_20FCB7:: @ 820FCB7
+ msgbox MauvilleCity_GameCorner_Text_21047E, 4
+ release
+ end
+
+MauvilleCity_GameCorner_EventScript_20FCC1:: @ 820FCC1
+ msgbox MauvilleCity_GameCorner_Text_210553, 4
+ hidemoneybox
+ nop
+ nop
+ hidecoinsbox 0, 5
+ release
+ end
+
+MauvilleCity_GameCorner_EventScript_20FCD1:: @ 820FCD1
+ msgbox MauvilleCity_GameCorner_Text_21059A, 4
+ hidemoneybox
+ nop
+ nop
+ hidecoinsbox 0, 5
+ release
+ end
+
+MauvilleCity_GameCorner_EventScript_20FCE1:: @ 820FCE1
+ msgbox MauvilleCity_GameCorner_Text_21057E, 4
+ hidemoneybox
+ nop
+ nop
+ hidecoinsbox 0, 5
+ release
+ end
+
+MauvilleCity_GameCorner_EventScript_20FCF1:: @ 820FCF1
+ lock
+ faceplayer
+ msgbox MauvilleCity_GameCorner_Text_2105D7, 4
+ checkitem ITEM_COIN_CASE, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_GameCorner_EventScript_20FD0D
+ release
+ end
+
+MauvilleCity_GameCorner_EventScript_20FD0D:: @ 820FD0D
+ message MauvilleCity_GameCorner_Text_21060D
+ waitmessage
+ setvar VAR_0x4001, 0
+ showcoinsbox 1, 1
+ goto MauvilleCity_GameCorner_EventScript_20FD2B
+
+MauvilleCity_GameCorner_EventScript_20FD20:: @ 820FD20
+ message MauvilleCity_GameCorner_Text_21060D
+ waitmessage
+ goto MauvilleCity_GameCorner_EventScript_20FD2B
+
+MauvilleCity_GameCorner_EventScript_20FD2B:: @ 820FD2B
+ multichoice 12, 0, 48, 0
+ switch VAR_RESULT
+ case 0, MauvilleCity_GameCorner_EventScript_20FD67
+ case 1, MauvilleCity_GameCorner_EventScript_20FD75
+ case 2, MauvilleCity_GameCorner_EventScript_20FD83
+ case 3, MauvilleCity_GameCorner_EventScript_20FE92
+ goto MauvilleCity_GameCorner_EventScript_20FE92
+ end
+
+MauvilleCity_GameCorner_EventScript_20FD67:: @ 820FD67
+ setvar VAR_0x4001, 1
+ bufferdecorationname 0, 88
+ goto MauvilleCity_GameCorner_EventScript_20FD91
+
+MauvilleCity_GameCorner_EventScript_20FD75:: @ 820FD75
+ setvar VAR_0x4001, 2
+ bufferdecorationname 0, 89
+ goto MauvilleCity_GameCorner_EventScript_20FD91
+
+MauvilleCity_GameCorner_EventScript_20FD83:: @ 820FD83
+ setvar VAR_0x4001, 3
+ bufferdecorationname 0, 90
+ goto MauvilleCity_GameCorner_EventScript_20FD91
+
+MauvilleCity_GameCorner_EventScript_20FD91:: @ 820FD91
+ msgbox MauvilleCity_GameCorner_Text_210705, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_20FE92
+ switch VAR_0x4001
+ case 1, MauvilleCity_GameCorner_EventScript_20FDCB
+ case 2, MauvilleCity_GameCorner_EventScript_20FE05
+ case 3, MauvilleCity_GameCorner_EventScript_20FE3F
+ end
+
+MauvilleCity_GameCorner_EventScript_20FDCB:: @ 820FDCB
+ checkcoins VAR_0x4002
+ compare_var_to_value VAR_0x4002, 1000
+ goto_if 0, MauvilleCity_GameCorner_EventScript_20FE79
+ bufferdecorationname 1, 88
+ checkdecorspace 88
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_20FE87
+ takecoins 1000
+ givedecoration 88
+ updatecoinsbox 1, 1
+ playse SE_REGI
+ msgbox MauvilleCity_GameCorner_Text_210646, 4
+ goto MauvilleCity_GameCorner_EventScript_20FD20
+ end
+
+MauvilleCity_GameCorner_EventScript_20FE05:: @ 820FE05
+ checkcoins VAR_0x4002
+ compare_var_to_value VAR_0x4002, 1000
+ goto_if 0, MauvilleCity_GameCorner_EventScript_20FE79
+ bufferdecorationname 1, 89
+ checkdecorspace 89
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_20FE87
+ takecoins 1000
+ givedecoration 89
+ updatecoinsbox 1, 1
+ playse SE_REGI
+ msgbox MauvilleCity_GameCorner_Text_210646, 4
+ goto MauvilleCity_GameCorner_EventScript_20FD20
+ end
+
+MauvilleCity_GameCorner_EventScript_20FE3F:: @ 820FE3F
+ checkcoins VAR_0x4002
+ compare_var_to_value VAR_0x4002, 1000
+ goto_if 0, MauvilleCity_GameCorner_EventScript_20FE79
+ bufferdecorationname 1, 90
+ checkdecorspace 90
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_20FE87
+ takecoins 1000
+ givedecoration 90
+ updatecoinsbox 1, 1
+ playse SE_REGI
+ msgbox MauvilleCity_GameCorner_Text_210646, 4
+ goto MauvilleCity_GameCorner_EventScript_20FD20
+ end
+
+MauvilleCity_GameCorner_EventScript_20FE79:: @ 820FE79
+ msgbox MauvilleCity_GameCorner_Text_210673, 4
+ goto MauvilleCity_GameCorner_EventScript_20FD20
+ end
+
+MauvilleCity_GameCorner_EventScript_20FE87:: @ 820FE87
+ call MauvilleCity_GameCorner_EventScript_272071
+ goto MauvilleCity_GameCorner_EventScript_20FD20
+ end
+
+MauvilleCity_GameCorner_EventScript_20FE92:: @ 820FE92
+ msgbox MauvilleCity_GameCorner_Text_2106BF, 4
+ hidecoinsbox 0, 0
+ release
+ end
+
+MauvilleCity_GameCorner_EventScript_20FE9F:: @ 820FE9F
+ lock
+ faceplayer
+ msgbox MauvilleCity_GameCorner_Text_2105D7, 4
+ checkitem ITEM_COIN_CASE, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_GameCorner_EventScript_20FEBB
+ release
+ end
+
+MauvilleCity_GameCorner_EventScript_20FEBB:: @ 820FEBB
+ message MauvilleCity_GameCorner_Text_21060D
+ waitmessage
+ setvar VAR_0x4001, 0
+ showcoinsbox 1, 1
+ goto MauvilleCity_GameCorner_EventScript_20FED9
+
+MauvilleCity_GameCorner_EventScript_20FECE:: @ 820FECE
+ message MauvilleCity_GameCorner_Text_21060D
+ waitmessage
+ goto MauvilleCity_GameCorner_EventScript_20FED9
+
+MauvilleCity_GameCorner_EventScript_20FED9:: @ 820FED9
+ multichoice 12, 0, 55, 0
+ switch VAR_RESULT
+ case 0, MauvilleCity_GameCorner_EventScript_20FF2B
+ case 1, MauvilleCity_GameCorner_EventScript_20FF3E
+ case 2, MauvilleCity_GameCorner_EventScript_20FF51
+ case 3, MauvilleCity_GameCorner_EventScript_20FF64
+ case 4, MauvilleCity_GameCorner_EventScript_20FF77
+ case 5, MauvilleCity_GameCorner_EventScript_210118
+ goto MauvilleCity_GameCorner_EventScript_210118
+ end
+
+MauvilleCity_GameCorner_EventScript_20FF2B:: @ 820FF2B
+ setvar VAR_0x4001, 1
+ bufferitemname 0, ITEM_TM32
+ setvar VAR_0x8004, 320
+ goto MauvilleCity_GameCorner_EventScript_20FF8A
+
+MauvilleCity_GameCorner_EventScript_20FF3E:: @ 820FF3E
+ setvar VAR_0x4001, 2
+ bufferitemname 0, ITEM_TM29
+ setvar VAR_0x8004, 317
+ goto MauvilleCity_GameCorner_EventScript_20FF8A
+
+MauvilleCity_GameCorner_EventScript_20FF51:: @ 820FF51
+ setvar VAR_0x4001, 3
+ bufferitemname 0, ITEM_TM35
+ setvar VAR_0x8004, 323
+ goto MauvilleCity_GameCorner_EventScript_20FF8A
+
+MauvilleCity_GameCorner_EventScript_20FF64:: @ 820FF64
+ setvar VAR_0x4001, 4
+ bufferitemname 0, ITEM_TM24
+ setvar VAR_0x8004, 312
+ goto MauvilleCity_GameCorner_EventScript_20FF8A
+
+MauvilleCity_GameCorner_EventScript_20FF77:: @ 820FF77
+ setvar VAR_0x4001, 5
+ bufferitemname 0, ITEM_TM13
+ setvar VAR_0x8004, 301
+ goto MauvilleCity_GameCorner_EventScript_20FF8A
+
+MauvilleCity_GameCorner_EventScript_20FF8A:: @ 820FF8A
+ special sub_81398C0
+ msgbox MauvilleCity_GameCorner_Text_210629, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_210118
+ switch VAR_0x4001
+ case 1, MauvilleCity_GameCorner_EventScript_20FFDD
+ case 2, MauvilleCity_GameCorner_EventScript_210017
+ case 3, MauvilleCity_GameCorner_EventScript_210051
+ case 4, MauvilleCity_GameCorner_EventScript_21008B
+ case 5, MauvilleCity_GameCorner_EventScript_2100C5
+ end
+
+MauvilleCity_GameCorner_EventScript_20FFDD:: @ 820FFDD
+ checkcoins VAR_0x4002
+ compare_var_to_value VAR_0x4002, 1500
+ goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF
+ checkitemspace ITEM_TM32, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_21010D
+ takecoins 1500
+ giveitem ITEM_TM32, 1
+ updatecoinsbox 1, 1
+ playse SE_REGI
+ msgbox MauvilleCity_GameCorner_Text_21071B, 4
+ goto MauvilleCity_GameCorner_EventScript_20FECE
+ end
+
+MauvilleCity_GameCorner_EventScript_210017:: @ 8210017
+ checkcoins VAR_0x4002
+ compare_var_to_value VAR_0x4002, 3500
+ goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF
+ checkitemspace ITEM_TM29, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_21010D
+ takecoins 3500
+ giveitem ITEM_TM29, 1
+ updatecoinsbox 1, 1
+ playse SE_REGI
+ msgbox MauvilleCity_GameCorner_Text_21071B, 4
+ goto MauvilleCity_GameCorner_EventScript_20FECE
+ end
+
+MauvilleCity_GameCorner_EventScript_210051:: @ 8210051
+ checkcoins VAR_0x4002
+ compare_var_to_value VAR_0x4002, 4000
+ goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF
+ checkitemspace ITEM_TM35, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_21010D
+ takecoins 4000
+ giveitem ITEM_TM35, 1
+ updatecoinsbox 1, 1
+ playse SE_REGI
+ msgbox MauvilleCity_GameCorner_Text_21071B, 4
+ goto MauvilleCity_GameCorner_EventScript_20FECE
+ end
+
+MauvilleCity_GameCorner_EventScript_21008B:: @ 821008B
+ checkcoins VAR_0x4002
+ compare_var_to_value VAR_0x4002, 4000
+ goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF
+ checkitemspace ITEM_TM24, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_21010D
+ takecoins 4000
+ giveitem ITEM_TM24, 1
+ updatecoinsbox 1, 1
+ playse SE_REGI
+ msgbox MauvilleCity_GameCorner_Text_21071B, 4
+ goto MauvilleCity_GameCorner_EventScript_20FECE
+ end
+
+MauvilleCity_GameCorner_EventScript_2100C5:: @ 82100C5
+ checkcoins VAR_0x4002
+ compare_var_to_value VAR_0x4002, 4000
+ goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF
+ checkitemspace ITEM_TM13, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_21010D
+ takecoins 4000
+ giveitem ITEM_TM13, 1
+ updatecoinsbox 1, 1
+ playse SE_REGI
+ msgbox MauvilleCity_GameCorner_Text_21071B, 4
+ goto MauvilleCity_GameCorner_EventScript_20FECE
+ end
+
+MauvilleCity_GameCorner_EventScript_2100FF:: @ 82100FF
+ msgbox MauvilleCity_GameCorner_Text_210673, 4
+ goto MauvilleCity_GameCorner_EventScript_20FECE
+ end
+
+MauvilleCity_GameCorner_EventScript_21010D:: @ 821010D
+ call MauvilleCity_GameCorner_EventScript_27205E
+ goto MauvilleCity_GameCorner_EventScript_20FECE
+ end
+
+MauvilleCity_GameCorner_EventScript_210118:: @ 8210118
+ msgbox MauvilleCity_GameCorner_Text_2106BF, 4
+ hidecoinsbox 0, 0
+ release
+ end
+
+MauvilleCity_GameCorner_EventScript_210125:: @ 8210125
+ msgbox MauvilleCity_GameCorner_Text_2109D3, 2
+ end
+
+MauvilleCity_GameCorner_EventScript_21012E:: @ 821012E
+ msgbox MauvilleCity_GameCorner_Text_210A05, 2
+ end
+
+MauvilleCity_GameCorner_EventScript_210137:: @ 8210137
+ lock
+ faceplayer
+ checkflag FLAG_0x0E2
+ goto_eq MauvilleCity_GameCorner_EventScript_210213
+ msgbox MauvilleCity_GameCorner_Text_210750, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_210209
+ switch VAR_FIRST_POKE
+ case 0, MauvilleCity_GameCorner_EventScript_21017C
+ case 1, MauvilleCity_GameCorner_EventScript_2101A6
+ case 2, MauvilleCity_GameCorner_EventScript_2101D0
+ end
+
+MauvilleCity_GameCorner_EventScript_21017C:: @ 821017C
+ bufferdecorationname 1, 88
+ checkdecorspace 88
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_2101FA
+ msgbox MauvilleCity_GameCorner_Text_21079C, 4
+ givedecoration_std 88
+ setflag FLAG_0x0E2
+ goto MauvilleCity_GameCorner_EventScript_210213
+ end
+
+MauvilleCity_GameCorner_EventScript_2101A6:: @ 82101A6
+ bufferdecorationname 1, 89
+ checkdecorspace 89
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_2101FA
+ msgbox MauvilleCity_GameCorner_Text_21079C, 4
+ givedecoration_std 89
+ setflag FLAG_0x0E2
+ goto MauvilleCity_GameCorner_EventScript_210213
+ end
+
+MauvilleCity_GameCorner_EventScript_2101D0:: @ 82101D0
+ bufferdecorationname 1, 90
+ checkdecorspace 90
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_2101FA
+ msgbox MauvilleCity_GameCorner_Text_21079C, 4
+ givedecoration_std 90
+ setflag FLAG_0x0E2
+ goto MauvilleCity_GameCorner_EventScript_210213
+ end
+
+MauvilleCity_GameCorner_EventScript_2101FA:: @ 82101FA
+ call MauvilleCity_GameCorner_EventScript_272071
+ msgbox MauvilleCity_GameCorner_Text_2107A9, 4
+ release
+ end
+
+MauvilleCity_GameCorner_EventScript_210209:: @ 8210209
+ msgbox MauvilleCity_GameCorner_Text_2107CE, 4
+ release
+ end
+
+MauvilleCity_GameCorner_EventScript_210213:: @ 8210213
+ msgbox MauvilleCity_GameCorner_Text_2107FB, 4
+ release
+ end
+
+MauvilleCity_GameCorner_EventScript_21021D:: @ 821021D
+ lock
+ faceplayer
+ checkitem ITEM_COIN_CASE, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_GameCorner_EventScript_21023D
+ msgbox MauvilleCity_GameCorner_Text_210830, 4
+ goto MauvilleCity_GameCorner_EventScript_2102A9
+ end
+
+MauvilleCity_GameCorner_EventScript_21023D:: @ 821023D
+ checkflag FLAG_0x0E1
+ goto_eq MauvilleCity_GameCorner_EventScript_21026B
+ checkcoins VAR_0x4001
+ compare_var_to_value VAR_0x4001, 1
+ goto_if 4, MauvilleCity_GameCorner_EventScript_21026B
+ setflag FLAG_0x0E1
+ givecoins 20
+ msgbox MauvilleCity_GameCorner_Text_2108A0, 4
+ playse SE_REGI
+ goto MauvilleCity_GameCorner_EventScript_21026B
+ end
+
+MauvilleCity_GameCorner_EventScript_21026B:: @ 821026B
+ msgbox MauvilleCity_GameCorner_Text_2108EF, 4
+ goto MauvilleCity_GameCorner_EventScript_2102A9
+ end
+
+MauvilleCity_GameCorner_EventScript_210279:: @ 8210279
+ lock
+ faceplayer
+ msgbox MauvilleCity_GameCorner_Text_210932, 4
+ goto MauvilleCity_GameCorner_EventScript_2102A9
+ end
+
+MauvilleCity_GameCorner_EventScript_210289:: @ 8210289
+ lock
+ faceplayer
+ msgbox MauvilleCity_GameCorner_Text_21098E, 4
+ goto MauvilleCity_GameCorner_EventScript_2102A9
+ end
+
+MauvilleCity_GameCorner_EventScript_210299:: @ 8210299
+ lock
+ faceplayer
+ msgbox MauvilleCity_GameCorner_Text_210A51, 4
+ goto MauvilleCity_GameCorner_EventScript_2102A9
+ end
+
+MauvilleCity_GameCorner_EventScript_2102A9:: @ 82102A9
+ closemessage
+ applymovement VAR_LAST_TALKED, MauvilleCity_GameCorner_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+MauvilleCity_GameCorner_EventScript_2102B6:: @ 82102B6
+ lock
+ faceplayer
+ msgbox MauvilleCity_GameCorner_Text_210A82, 4
+ goto MauvilleCity_GameCorner_EventScript_2102A9
+ end
+
+MauvilleCity_GameCorner_EventScript_2102C6:: @ 82102C6
+ lock
+ faceplayer
+ msgbox MauvilleCity_GameCorner_Text_210B04, 4
+ goto MauvilleCity_GameCorner_EventScript_2102A9
+ end
+
+MauvilleCity_GameCorner_EventScript_2102D6:: @ 82102D6
+ lockall
+ checkitem ITEM_COIN_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_210456
+ setvar VAR_0x8004, 0
+ specialvar VAR_RESULT, sub_8139248
+ playslotmachine VAR_RESULT
+ releaseall
+ end
+
+MauvilleCity_GameCorner_EventScript_2102F6:: @ 82102F6
+ lockall
+ checkitem ITEM_COIN_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_210456
+ setvar VAR_0x8004, 1
+ specialvar VAR_RESULT, sub_8139248
+ playslotmachine VAR_RESULT
+ releaseall
+ end
+
+MauvilleCity_GameCorner_EventScript_210316:: @ 8210316
+ lockall
+ checkitem ITEM_COIN_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_210456
+ setvar VAR_0x8004, 2
+ specialvar VAR_RESULT, sub_8139248
+ playslotmachine VAR_RESULT
+ releaseall
+ end
+
+MauvilleCity_GameCorner_EventScript_210336:: @ 8210336
+ lockall
+ checkitem ITEM_COIN_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_210456
+ setvar VAR_0x8004, 3
+ specialvar VAR_RESULT, sub_8139248
+ playslotmachine VAR_RESULT
+ releaseall
+ end
+
+MauvilleCity_GameCorner_EventScript_210356:: @ 8210356
+ lockall
+ checkitem ITEM_COIN_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_210456
+ setvar VAR_0x8004, 4
+ specialvar VAR_RESULT, sub_8139248
+ playslotmachine VAR_RESULT
+ releaseall
+ end
+
+MauvilleCity_GameCorner_EventScript_210376:: @ 8210376
+ lockall
+ checkitem ITEM_COIN_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_210456
+ setvar VAR_0x8004, 5
+ specialvar VAR_RESULT, sub_8139248
+ playslotmachine VAR_RESULT
+ releaseall
+ end
+
+MauvilleCity_GameCorner_EventScript_210396:: @ 8210396
+ lockall
+ checkitem ITEM_COIN_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_210456
+ setvar VAR_0x8004, 6
+ specialvar VAR_RESULT, sub_8139248
+ playslotmachine VAR_RESULT
+ releaseall
+ end
+
+MauvilleCity_GameCorner_EventScript_2103B6:: @ 82103B6
+ lockall
+ checkitem ITEM_COIN_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_210456
+ setvar VAR_0x8004, 7
+ specialvar VAR_RESULT, sub_8139248
+ playslotmachine VAR_RESULT
+ releaseall
+ end
+
+MauvilleCity_GameCorner_EventScript_2103D6:: @ 82103D6
+ lockall
+ checkitem ITEM_COIN_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_210456
+ setvar VAR_0x8004, 8
+ specialvar VAR_RESULT, sub_8139248
+ playslotmachine VAR_RESULT
+ releaseall
+ end
+
+MauvilleCity_GameCorner_EventScript_2103F6:: @ 82103F6
+ lockall
+ checkitem ITEM_COIN_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_210456
+ setvar VAR_0x8004, 9
+ specialvar VAR_RESULT, sub_8139248
+ playslotmachine VAR_RESULT
+ releaseall
+ end
+
+MauvilleCity_GameCorner_EventScript_210416:: @ 8210416
+ lockall
+ checkitem ITEM_COIN_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_210456
+ setvar VAR_0x8004, 10
+ specialvar VAR_RESULT, sub_8139248
+ playslotmachine VAR_RESULT
+ releaseall
+ end
+
+MauvilleCity_GameCorner_EventScript_210436:: @ 8210436
+ lockall
+ checkitem ITEM_COIN_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_GameCorner_EventScript_210456
+ setvar VAR_0x8004, 11
+ specialvar VAR_RESULT, sub_8139248
+ playslotmachine VAR_RESULT
+ releaseall
+ end
+
+MauvilleCity_GameCorner_EventScript_210456:: @ 8210456
+ msgbox MauvilleCity_GameCorner_Text_210C2E, 4
+ releaseall
+ end
+
+MauvilleCity_GameCorner_Text_210460: @ 8210460
+ .string "This is MAUVILLE GAME CORNER.$"
+
+MauvilleCity_GameCorner_Text_21047E: @ 821047E
+ .string "Okay, you wanted some COINS for\n"
+ .string "the games?\p"
+ .string "But you don’t have a COIN CASE for\n"
+ .string "stowing the COINS.$"
+
+MauvilleCity_GameCorner_Text_2104DF: @ 82104DF
+ .string "Were you looking for COINS?\p"
+ .string "It’s ¥1000 for 50 COINS.\n"
+ .string "Would you like some?$"
+
+MauvilleCity_GameCorner_Text_210529: @ 8210529
+ .string "Thank you very much!\n"
+ .string "Here are your COINS!$"
+
+MauvilleCity_GameCorner_Text_210553: @ 8210553
+ .string "Um… You don’t appear to have\n"
+ .string "enough money…$"
+
+MauvilleCity_GameCorner_Text_21057E: @ 821057E
+ .string "Oh?\n"
+ .string "Your COIN CASE is full.$"
+
+MauvilleCity_GameCorner_Text_21059A: @ 821059A
+ .string "Oh… You don’t need COINS, then?\n"
+ .string "Good luck on your adventure!$"
+
+MauvilleCity_GameCorner_Text_2105D7: @ 82105D7
+ .string "Welcome.\p"
+ .string "You can exchange your COINS for\n"
+ .string "prizes here.$"
+
+MauvilleCity_GameCorner_Text_21060D: @ 821060D
+ .string "Which prize would you like?$"
+
+MauvilleCity_GameCorner_Text_210629: @ 8210629
+ .string "So your choice is\n"
+ .string "the {STR_VAR_1} {STR_VAR_2}?$"
+
+MauvilleCity_GameCorner_Text_210646: @ 8210646
+ .string "Thank you!\n"
+ .string "We’ll send it to your PC at home.$"
+
+MauvilleCity_GameCorner_Text_210673: @ 8210673
+ .string "You don’t have enough COINS.$"
+
+MauvilleCity_GameCorner_Text_210690: @ 8210690
+ .string "There isn’t any room available for\n"
+ .string "placing {STR_VAR_1}.$"
+
+MauvilleCity_GameCorner_Text_2106BF: @ 82106BF
+ .string "Oh, is that so? \n"
+ .string "You need to save some COINS before\l"
+ .string "coming back here.$"
+
+MauvilleCity_GameCorner_Text_210705: @ 8210705
+ .string "So your choice is {STR_VAR_1}?$"
+
+MauvilleCity_GameCorner_Text_21071B: @ 821071B
+ .string "Here you go!$"
+
+MauvilleCity_GameCorner_Text_210728: @ 8210728
+ .string "Oh, you can’t carry any more than that.$"
+
+MauvilleCity_GameCorner_Text_210750: @ 8210750
+ .string "I made a mistake and got two of\n"
+ .string "the same DOLLS.\p"
+ .string "Would you like one of them?$"
+
+MauvilleCity_GameCorner_Text_21079C: @ 821079C
+ .string "Here you go!$"
+
+MauvilleCity_GameCorner_Text_2107A9: @ 82107A9
+ .string "Huh?\n"
+ .string "You want it, but not right now?$"
+
+MauvilleCity_GameCorner_Text_2107CE: @ 82107CE
+ .string "Oh, don’t be so negative!\n"
+ .string "You can have this!$"
+
+MauvilleCity_GameCorner_Text_2107FB: @ 82107FB
+ .string "There’s a prize I want, but I can’t win\n"
+ .string "the jackpot.$"
+
+MauvilleCity_GameCorner_Text_210830: @ 8210830
+ .string "Hey, kid, if you want to play here,\n"
+ .string "you need a COIN CASE.\p"
+ .string "I think the young lady next door\n"
+ .string "had one. Go see her!$"
+
+MauvilleCity_GameCorner_Text_2108A0: @ 82108A0
+ .string "My luck can only last so long.\n"
+ .string "This is too much for me.\l"
+ .string "Here, take some COINS!$"
+
+MauvilleCity_GameCorner_Text_2108EF: @ 82108EF
+ .string "MAUVILLE has something for\n"
+ .string "everyone.\p"
+ .string "For me, it’s the GAME CORNER.$"
+
+MauvilleCity_GameCorner_Text_210932: @ 8210932
+ .string "The ROULETTE tables have different\n"
+ .string "rates.\p"
+ .string "Check your COINS if you’re going to\n"
+ .string "pick a table.$"
+
+MauvilleCity_GameCorner_Text_21098E: @ 821098E
+ .string "It’s easy to lose track of time in here. \n"
+ .string "I should get back to work.$"
+
+MauvilleCity_GameCorner_Text_2109D3: @ 82109D3
+ .string "COINS are needed to play here\n"
+ .string "in the GAME CORNER.$"
+
+MauvilleCity_GameCorner_Text_210A05: @ 8210A05
+ .string "This ROULETTE thing…\n"
+ .string "It’s rather demanding.\p"
+ .string "Win or lose, it’s only by luck.$"
+
+MauvilleCity_GameCorner_Text_210A51: @ 8210A51
+ .string "Up to three COINS can be used to play\n"
+ .string "the SLOTS.$"
+
+MauvilleCity_GameCorner_Text_210A82: @ 8210A82
+ .string "It’s very difficult to make it stop\n"
+ .string "right on “7.”\p"
+ .string "If it stops on “7” during the REEL TIME\n"
+ .string "bonus game, you’ll receive extra COINS.$"
+
+MauvilleCity_GameCorner_Text_210B04: @ 8210B04
+ .string "Here’s some information for you\n"
+ .string "about the SLOTS.\p"
+ .string "The more lightning bolts you stock,\n"
+ .string "the more REEL TIME chances you get.\p"
+ .string "In a game with the maximum five\n"
+ .string "REEL TIME chances…\p"
+ .string "It is possible to receive four regular\n"
+ .string "bonuses, then a big bonus.\p"
+ .string "That would total 660 COINS, but it’s\n"
+ .string "very difficult to get.$"
+
+MauvilleCity_GameCorner_Text_210C2E: @ 8210C2E
+ .string "You can’t play if you don’t have\n"
+ .string "a COIN CASE.$"
+
diff --git a/data/scripts/maps/MauvilleCity_Gym.inc b/data/scripts/maps/MauvilleCity_Gym.inc
new file mode 100644
index 000000000..899550337
--- /dev/null
+++ b/data/scripts/maps/MauvilleCity_Gym.inc
@@ -0,0 +1,442 @@
+MauvilleCity_Gym_MapScripts:: @ 820DD6E
+ map_script 1, MauvilleCity_Gym_MapScript1_20DD74
+ .byte 0
+
+MauvilleCity_Gym_MapScript1_20DD74: @ 820DD74
+ checkflag FLAG_0x4F2
+ goto_eq MauvilleCity_Gym_EventScript_20DEE7
+ switch VAR_0x4093
+ case 0, MauvilleCity_Gym_EventScript_20DDBA
+ case 1, MauvilleCity_Gym_EventScript_20DEAF
+ case 2, MauvilleCity_Gym_EventScript_20DEBD
+ case 3, MauvilleCity_Gym_EventScript_20DECB
+ case 4, MauvilleCity_Gym_EventScript_20DED9
+ end
+
+MauvilleCity_Gym_EventScript_20DDBA:: @ 820DDBA
+ checkflag FLAG_0x063
+ goto_eq MauvilleCity_Gym_EventScript_20DDC4
+ end
+
+MauvilleCity_Gym_EventScript_20DDC4:: @ 820DDC4
+ setmetatile 3, 11, 577, 1
+ setmetatile 3, 12, 585, 1
+ setmetatile 3, 13, 592, 1
+ setmetatile 4, 10, 546, 0
+ setmetatile 5, 10, 547, 0
+ setmetatile 4, 11, 554, 1
+ setmetatile 5, 11, 555, 1
+ setmetatile 7, 10, 546, 0
+ setmetatile 8, 10, 547, 0
+ setmetatile 7, 11, 554, 1
+ setmetatile 8, 11, 555, 1
+ setmetatile 4, 13, 560, 0
+ setmetatile 5, 13, 561, 0
+ setmetatile 4, 14, 568, 0
+ setmetatile 5, 14, 569, 0
+ setmetatile 1, 10, 560, 0
+ setmetatile 2, 10, 561, 0
+ setmetatile 1, 11, 568, 0
+ setmetatile 2, 11, 569, 0
+ setmetatile 6, 8, 578, 1
+ setmetatile 6, 9, 538, 0
+ setmetatile 6, 10, 593, 0
+ setmetatile 4, 6, 560, 0
+ setmetatile 5, 6, 561, 0
+ setmetatile 4, 7, 568, 0
+ setmetatile 5, 7, 569, 0
+ end
+
+MauvilleCity_Gym_EventScript_20DEAF:: @ 820DEAF
+ setvar VAR_0x8004, 0
+ special sub_81384F0
+ goto MauvilleCity_Gym_EventScript_20DDBA
+ end
+
+MauvilleCity_Gym_EventScript_20DEBD:: @ 820DEBD
+ setvar VAR_0x8004, 1
+ special sub_81384F0
+ goto MauvilleCity_Gym_EventScript_20DDBA
+ end
+
+MauvilleCity_Gym_EventScript_20DECB:: @ 820DECB
+ setvar VAR_0x8004, 2
+ special sub_81384F0
+ goto MauvilleCity_Gym_EventScript_20DDBA
+ end
+
+MauvilleCity_Gym_EventScript_20DED9:: @ 820DED9
+ setvar VAR_0x8004, 3
+ special sub_81384F0
+ goto MauvilleCity_Gym_EventScript_20DDBA
+ end
+
+MauvilleCity_Gym_EventScript_20DEE7:: @ 820DEE7
+ special sub_8138750
+ end
+
+MauvilleCity_Gym_EventScript_20DEEB:: @ 820DEEB
+ trainerbattle 1, TRAINER_WATTSON_1, 0, MauvilleCity_Gym_Text_20E602, MauvilleCity_Gym_Text_20E734, MauvilleCity_Gym_EventScript_20DF2B
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_Gym_EventScript_20DFDE
+ checkflag FLAG_0x0A7
+ goto_if 0, MauvilleCity_Gym_EventScript_20DF8D
+ compare_var_to_value VAR_0x40BA, 2
+ goto_eq MauvilleCity_Gym_EventScript_20DFD4
+ msgbox MauvilleCity_Gym_Text_20E8E3, 4
+ release
+ end
+
+MauvilleCity_Gym_EventScript_20DF2B:: @ 820DF2B
+ message MauvilleCity_Gym_Text_20E77F
+ waitmessage
+ call MauvilleCity_Gym_EventScript_27207E
+ msgbox MauvilleCity_Gym_Text_20E7AA, 4
+ setvar VAR_0x40D2, 3
+ clearflag FLAG_0x2FE
+ setflag FLAG_0x4F2
+ setflag FLAG_BADGE03_GET
+ addvar VAR_0x4085, 1
+ compare_var_to_value VAR_0x4085, 6
+ call_if 1, MauvilleCity_Gym_EventScript_271E84
+ setvar VAR_0x8008, 3
+ call MauvilleCity_Gym_EventScript_271F43
+ special sub_8138750
+ special DrawWholeMapView
+ playse SE_KI_GASYAN
+ call MauvilleCity_Gym_EventScript_20DFB1
+ closemessage
+ delay 30
+ playfanfare BGM_ME_MATCH_CALL
+ msgbox MauvilleCity_Gym_Text_20E8B5, 4
+ waitfanfare
+ closemessage
+ delay 30
+ setflag FLAG_0x1D5
+ release
+ end
+
+MauvilleCity_Gym_EventScript_20DF8D:: @ 820DF8D
+ giveitem_std ITEM_TM34
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_Gym_EventScript_272054
+ msgbox MauvilleCity_Gym_Text_20E844, 4
+ setflag FLAG_0x0A7
+ release
+ end
+
+MauvilleCity_Gym_EventScript_20DFB1:: @ 820DFB1
+ giveitem_std ITEM_TM34
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_Gym_EventScript_27205E
+ msgbox MauvilleCity_Gym_Text_20E844, 4
+ setflag FLAG_0x0A7
+ return
+
+MauvilleCity_Gym_EventScript_20DFD4:: @ 820DFD4
+ msgbox MauvilleCity_Gym_Text_20E925, 4
+ release
+ end
+
+MauvilleCity_Gym_EventScript_20DFDE:: @ 820DFDE
+ trainerbattle 7, TRAINER_WATTSON_1, 0, MauvilleCity_Gym_Text_20E9A7, MauvilleCity_Gym_Text_20EA42, MauvilleCity_Gym_Text_20EAFD
+ msgbox MauvilleCity_Gym_Text_20EA5E, 6
+ end
+
+MauvilleCity_Gym_EventScript_20DFF9:: @ 820DFF9
+ lockall
+ checkflag FLAG_0x4F2
+ goto_eq MauvilleCity_Gym_EventScript_20E0AD
+ compare_var_to_value VAR_0x4093, 1
+ goto_eq MauvilleCity_Gym_EventScript_20E0AD
+ setvar VAR_0x4093, 1
+ setvar VAR_0x8004, 0
+ goto MauvilleCity_Gym_EventScript_20E08D
+ end
+
+MauvilleCity_Gym_EventScript_20E01E:: @ 820E01E
+ lockall
+ checkflag FLAG_0x4F2
+ goto_eq MauvilleCity_Gym_EventScript_20E0AD
+ compare_var_to_value VAR_0x4093, 2
+ goto_eq MauvilleCity_Gym_EventScript_20E0AD
+ setvar VAR_0x4093, 2
+ setvar VAR_0x8004, 1
+ goto MauvilleCity_Gym_EventScript_20E08D
+ end
+
+MauvilleCity_Gym_EventScript_20E043:: @ 820E043
+ lockall
+ checkflag FLAG_0x4F2
+ goto_eq MauvilleCity_Gym_EventScript_20E0AD
+ compare_var_to_value VAR_0x4093, 3
+ goto_eq MauvilleCity_Gym_EventScript_20E0AD
+ setvar VAR_0x4093, 3
+ setvar VAR_0x8004, 2
+ goto MauvilleCity_Gym_EventScript_20E08D
+ end
+
+MauvilleCity_Gym_EventScript_20E068:: @ 820E068
+ lockall
+ checkflag FLAG_0x4F2
+ goto_eq MauvilleCity_Gym_EventScript_20E0AD
+ compare_var_to_value VAR_0x4093, 4
+ goto_eq MauvilleCity_Gym_EventScript_20E0AD
+ setvar VAR_0x4093, 4
+ setvar VAR_0x8004, 3
+ goto MauvilleCity_Gym_EventScript_20E08D
+ end
+
+MauvilleCity_Gym_EventScript_20E08D:: @ 820E08D
+ special sub_8138540
+ special sub_81384F0
+ special DrawWholeMapView
+ playse SE_KI_GASYAN
+ checkflag FLAG_0x063
+ goto_eq MauvilleCity_Gym_EventScript_20E0B4
+ checkflag FLAG_0x063
+ goto_if 0, MauvilleCity_Gym_EventScript_20E0AF
+ releaseall
+ end
+
+MauvilleCity_Gym_EventScript_20E0AD:: @ 820E0AD
+ releaseall
+ end
+
+MauvilleCity_Gym_EventScript_20E0AF:: @ 820E0AF
+ setflag FLAG_0x063
+ releaseall
+ end
+
+MauvilleCity_Gym_EventScript_20E0B4:: @ 820E0B4
+ clearflag FLAG_0x063
+ releaseall
+ end
+
+MauvilleCity_Gym_EventScript_20E0B9:: @ 820E0B9
+ trainerbattle 0, TRAINER_KIRK, 0, MauvilleCity_Gym_Text_20E2BC, MauvilleCity_Gym_Text_20E2FC
+ msgbox MauvilleCity_Gym_Text_20E336, 6
+ end
+
+MauvilleCity_Gym_EventScript_20E0D0:: @ 820E0D0
+ trainerbattle 0, TRAINER_SHAWN, 0, MauvilleCity_Gym_Text_20E369, MauvilleCity_Gym_Text_20E3A7
+ msgbox MauvilleCity_Gym_Text_20E3C1, 6
+ end
+
+MauvilleCity_Gym_EventScript_20E0E7:: @ 820E0E7
+ trainerbattle 0, TRAINER_BEN, 0, MauvilleCity_Gym_Text_20E443, MauvilleCity_Gym_Text_20E469
+ msgbox MauvilleCity_Gym_Text_20E47E, 6
+ end
+
+MauvilleCity_Gym_EventScript_20E0FE:: @ 820E0FE
+ trainerbattle 0, TRAINER_VIVIAN, 0, MauvilleCity_Gym_Text_20E4BB, MauvilleCity_Gym_Text_20E4F4
+ msgbox MauvilleCity_Gym_Text_20E50F, 6
+ end
+
+MauvilleCity_Gym_EventScript_20E115:: @ 820E115
+ trainerbattle 0, TRAINER_ANGELO, 0, MauvilleCity_Gym_Text_20E593, MauvilleCity_Gym_Text_20E5A8
+ msgbox MauvilleCity_Gym_Text_20E5C2, 6
+ end
+
+MauvilleCity_Gym_EventScript_20E12C:: @ 820E12C
+ lock
+ faceplayer
+ checkflag FLAG_0x4F2
+ goto_eq MauvilleCity_Gym_EventScript_20E141
+ msgbox MauvilleCity_Gym_Text_20E17F, 4
+ release
+ end
+
+MauvilleCity_Gym_EventScript_20E141:: @ 820E141
+ msgbox MauvilleCity_Gym_Text_20E283, 4
+ release
+ end
+
+MauvilleCity_Gym_EventScript_20E14B:: @ 820E14B
+ lockall
+ checkflag FLAG_BADGE03_GET
+ goto_eq MauvilleCity_Gym_EventScript_20E16B
+ goto MauvilleCity_Gym_EventScript_20E175
+ end
+
+MauvilleCity_Gym_EventScript_20E15B:: @ 820E15B
+ lockall
+ checkflag FLAG_BADGE03_GET
+ goto_eq MauvilleCity_Gym_EventScript_20E16B
+ goto MauvilleCity_Gym_EventScript_20E175
+ end
+
+MauvilleCity_Gym_EventScript_20E16B:: @ 820E16B
+ msgbox MauvilleCity_Gym_Text_20E96C, 4
+ releaseall
+ end
+
+MauvilleCity_Gym_EventScript_20E175:: @ 820E175
+ msgbox MauvilleCity_Gym_Text_20E952, 4
+ releaseall
+ end
+
+MauvilleCity_Gym_Text_20E17F: @ 820E17F
+ .string "Hey, how’s it going, CHAMPION-\n"
+ .string "bound {PLAYER}?\p"
+ .string "WATTSON, the LEADER of MAUVILLE\n"
+ .string "GYM, uses ELECTRIC-type POKéMON.\p"
+ .string "If you challenge him with WATER-type\n"
+ .string "POKéMON, he’ll zap them! Bzzt!\p"
+ .string "And, he’s put in switch-controlled\n"
+ .string "doors all over his GYM! Eccentric!\p"
+ .string "Hey, go for it!$"
+
+MauvilleCity_Gym_Text_20E283: @ 820E283
+ .string "Whoa, you’re electrifying!\n"
+ .string "You’ve powered the door open!$"
+
+MauvilleCity_Gym_Text_20E2BC: @ 820E2BC
+ .string "My electric soul, it’ll shatter your\n"
+ .string "dreams whole, whoa-yeahah!$"
+
+MauvilleCity_Gym_Text_20E2FC: @ 820E2FC
+ .string "That was plugged in, amped up,\n"
+ .string "over-driven electric, man!$"
+
+MauvilleCity_Gym_Text_20E336: @ 820E336
+ .string "POKéMON and rock, it’s all about heart,\n"
+ .string "whoa-yeah!$"
+
+MauvilleCity_Gym_Text_20E369: @ 820E369
+ .string "I trained under WATTSON!\n"
+ .string "There ain’t no way I’ll lose easily!$"
+
+MauvilleCity_Gym_Text_20E3A7: @ 820E3A7
+ .string "Unplugged and turned off…$"
+
+MauvilleCity_Gym_Text_20E3C1: @ 820E3C1
+ .string "WATTSON, our GYM LEADER, has been\n"
+ .string "around for a long, long time.\p"
+ .string "He was battling even before your\n"
+ .string "daddy was born, that tough coot.$"
+
+MauvilleCity_Gym_Text_20E443: @ 820E443
+ .string "This GYM’s got puzzles!\n"
+ .string "Isn’t it fun?$"
+
+MauvilleCity_Gym_Text_20E469: @ 820E469
+ .string "It’s no fun to lose…$"
+
+MauvilleCity_Gym_Text_20E47E: @ 820E47E
+ .string "WATTSON says he likes setting up\n"
+ .string "little traps with switches.$"
+
+MauvilleCity_Gym_Text_20E4BB: @ 820E4BB
+ .string "With my charm and my POKéMON’s moves,\n"
+ .string "you’ll be shocked!$"
+
+MauvilleCity_Gym_Text_20E4F4: @ 820E4F4
+ .string "I’m shocked by your power!$"
+
+MauvilleCity_Gym_Text_20E50F: @ 820E50F
+ .string "I’ve heard that MAUVILLE was founded\n"
+ .string "by WATTSON.\p"
+ .string "He was a TRAINER long before we\n"
+ .string "became TRAINERS.\l"
+ .string "He must know all sorts of things!$"
+
+MauvilleCity_Gym_Text_20E593: @ 820E593
+ .string "I love shiny things!$"
+
+MauvilleCity_Gym_Text_20E5A8: @ 820E5A8
+ .string "Oh…\n"
+ .string "My eyes are frazzled…$"
+
+MauvilleCity_Gym_Text_20E5C2: @ 820E5C2
+ .string "MAUVILLE GYM’s WATTSON has a shiny\n"
+ .string "forehead. It makes me happy!$"
+
+MauvilleCity_Gym_Text_20E602: @ 820E602
+ .string "I’ve given up on my plans to convert\n"
+ .string "the city, I have.\p"
+ .string "And so, I put my time into making\n"
+ .string "door traps in my GYM.\p"
+ .string "Oh? Now, what are you doing here?\p"
+ .string "What’s that? You say you’ve gotten\n"
+ .string "past all my rigged doors?\p"
+ .string "Wahahahah!\n"
+ .string "Now, that is amusing!\p"
+ .string "Then, I, WATTSON, the LEADER of\n"
+ .string "MAUVILLE GYM, shall electrify you!$"
+
+MauvilleCity_Gym_Text_20E734: @ 820E734
+ .string "Wahahahah!\n"
+ .string "Fine, I lost!\p"
+ .string "You ended up giving me a thrill!\n"
+ .string "Take this BADGE!$"
+
+MauvilleCity_Gym_Text_20E77F: @ 820E77F
+ .string "{PLAYER} received the DYNAMO BADGE\n"
+ .string "from WATTSON.$"
+
+MauvilleCity_Gym_Text_20E7AA: @ 820E7AA
+ .string "With the DYNAMO BADGE, POKéMON can\n"
+ .string "use ROCK SMASH out of battle.\p"
+ .string "And, it will make your POKéMON a little\n"
+ .string "bit faster, too.\p"
+ .string "Hmm…\n"
+ .string "You should take this, too!$"
+
+MauvilleCity_Gym_Text_20E844: @ 820E844
+ .string "That TM34 there contains SHOCK WAVE.\p"
+ .string "It’s a trustworthy move that never\n"
+ .string "misses! You can count on it!\p"
+ .string "… … … … … …$"
+
+MauvilleCity_Gym_Text_20E8B5: @ 820E8B5
+ .string "Registered GYM LEADER WATTSON\n"
+ .string "in the POKéNAV.$"
+
+MauvilleCity_Gym_Text_20E8E3: @ 820E8E3
+ .string "I swell with optimism, seeing a promising\n"
+ .string "young TRAINER like you!$"
+
+MauvilleCity_Gym_Text_20E925: @ 820E925
+ .string "Wahahahah!\n"
+ .string "Go forth and endeavor, youngster!$"
+
+MauvilleCity_Gym_Text_20E952: @ 820E952
+ .string "MAUVILLE CITY POKéMON GYM$"
+
+MauvilleCity_Gym_Text_20E96C: @ 820E96C
+ .string "MAUVILLE CITY POKéMON GYM\p"
+ .string "WATTSON’S CERTIFIED TRAINERS:\n"
+ .string "{PLAYER}$"
+
+MauvilleCity_Gym_Text_20E9A7: @ 820E9A7
+ .string "WATTSON: Ah-ha! Here at last!\n"
+ .string "I know what you want.\l"
+ .string "You want to battle my POKéMON!\p"
+ .string "Wahahahaha!\p"
+ .string "I’ll make sparks fly from you!\n"
+ .string "Don’t say I didn’t warn you!$"
+
+MauvilleCity_Gym_Text_20EA42: @ 820EA42
+ .string "Oof…\n"
+ .string "Our batteries ran dry…$"
+
+MauvilleCity_Gym_Text_20EA5E: @ 820EA5E
+ .string "WATTSON: We’ll have to recharge our\n"
+ .string "batteries again.\p"
+ .string "When we’re fully charged up, we’ll\n"
+ .string "gladly accept your challenge.\p"
+ .string "So, come back again sometime,\n"
+ .string "won’t you?$"
+
+MauvilleCity_Gym_Text_20EAFD: @ 820EAFD
+ .string "WATTSON: Ah-ha! Here at last!\n"
+ .string "I know what you want.\l"
+ .string "You want to battle my POKéMON!\p"
+ .string "Wahahahaha!\p"
+ .string "Oops! Wait!\n"
+ .string "You’ve only one POKéMON with you!\p"
+ .string "Come see me with two or more\n"
+ .string "POKéMON, all right?$"
+
diff --git a/data/scripts/maps/MauvilleCity_House1.inc b/data/scripts/maps/MauvilleCity_House1.inc
new file mode 100644
index 000000000..b36e116db
--- /dev/null
+++ b/data/scripts/maps/MauvilleCity_House1.inc
@@ -0,0 +1,47 @@
+MauvilleCity_House1_MapScripts:: @ 820F975
+ .byte 0
+
+MauvilleCity_House1_EventScript_20F976:: @ 820F976
+ lock
+ faceplayer
+ checkflag FLAG_0x06B
+ goto_eq MauvilleCity_House1_EventScript_20F9A5
+ msgbox MauvilleCity_House1_Text_20F9AF, 4
+ giveitem_std ITEM_HM06
+ setflag FLAG_0x06B
+ setflag FLAG_0x34B
+ msgbox MauvilleCity_House1_Text_20FAA9, 4
+ release
+ end
+
+MauvilleCity_House1_EventScript_20F9A5:: @ 820F9A5
+ msgbox MauvilleCity_House1_Text_20FB67, 4
+ release
+ end
+
+MauvilleCity_House1_Text_20F9AF: @ 820F9AF
+ .string "Woohoo!\p"
+ .string "I hear people call me the ROCK SMASH\n"
+ .string "GUY, but I find that sort of degrading.\p"
+ .string "I think I deserve a bit more respect,\n"
+ .string "like maybe the ROCK SMASH DUDE.\p"
+ .string "Woohoo!\p"
+ .string "Anyways, your POKéMON look pretty\n"
+ .string "strong.\p"
+ .string "I like that!\n"
+ .string "Here, take this HIDDEN MACHINE!$"
+
+MauvilleCity_House1_Text_20FAA9: @ 820FAA9
+ .string "That HM contains ROCK SMASH.\p"
+ .string "If you come across large boulders\n"
+ .string "that block your path…\p"
+ .string "Well, use that HM move and smash\n"
+ .string "them right out of your way!\p"
+ .string "Yes, sir! Smash rocks aside, I say!\n"
+ .string "Woohoo!$"
+
+MauvilleCity_House1_Text_20FB67: @ 820FB67
+ .string "Oh, yes, if you smash a rock, a POKéMON\n"
+ .string "could come flying out of hiding.\p"
+ .string "Woohoo!$"
+
diff --git a/data/scripts/maps/MauvilleCity_House2.inc b/data/scripts/maps/MauvilleCity_House2.inc
new file mode 100644
index 000000000..35fb02a22
--- /dev/null
+++ b/data/scripts/maps/MauvilleCity_House2.inc
@@ -0,0 +1,69 @@
+MauvilleCity_House2_MapScripts:: @ 8210C5C
+ .byte 0
+
+MauvilleCity_House2_EventScript_210C5D:: @ 8210C5D
+ lock
+ faceplayer
+ checkflag FLAG_0x102
+ goto_eq MauvilleCity_House2_EventScript_210CDA
+ msgbox MauvilleCity_House2_Text_210CEE, 4
+ checkitem ITEM_HARBOR_MAIL, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_House2_EventScript_210C82
+ release
+ end
+
+MauvilleCity_House2_EventScript_210C82:: @ 8210C82
+ playse SE_PIN
+ applymovement VAR_LAST_TALKED, MauvilleCity_House2_Movement_272598
+ waitmovement 0
+ applymovement VAR_LAST_TALKED, MauvilleCity_House2_Movement_27259A
+ waitmovement 0
+ msgbox MauvilleCity_House2_Text_210D76, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_House2_EventScript_210CB8
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_House2_EventScript_210CE4
+ end
+
+MauvilleCity_House2_EventScript_210CB8:: @ 8210CB8
+ msgbox MauvilleCity_House2_Text_210DB3, 4
+ takeitem ITEM_HARBOR_MAIL, 1
+ giveitem_std ITEM_COIN_CASE
+ setflag FLAG_0x102
+ goto MauvilleCity_House2_EventScript_210CDA
+ end
+
+MauvilleCity_House2_EventScript_210CDA:: @ 8210CDA
+ msgbox MauvilleCity_House2_Text_210DE7, 4
+ release
+ end
+
+MauvilleCity_House2_EventScript_210CE4:: @ 8210CE4
+ msgbox MauvilleCity_House2_Text_210E16, 4
+ release
+ end
+
+MauvilleCity_House2_Text_210CEE: @ 8210CEE
+ .string "If I had a BIKE, it’d be easy to cycle to\n"
+ .string "SLATEPORT for some shopping.\p"
+ .string "I’d be able to buy HARBOR MAIL at the\n"
+ .string "POKéMON MART in SLATEPORT…$"
+
+MauvilleCity_House2_Text_210D76: @ 8210D76
+ .string "Oh! You have HARBOR MAIL?\n"
+ .string "Will you trade it for a COIN CASE?$"
+
+MauvilleCity_House2_Text_210DB3: @ 8210DB3
+ .string "Oh, I’m so happy!\n"
+ .string "Okay, I’ll trade you a COIN CASE!$"
+
+MauvilleCity_House2_Text_210DE7: @ 8210DE7
+ .string "That COIN CASE can be used\n"
+ .string "at the GAME CORNER.$"
+
+MauvilleCity_House2_Text_210E16: @ 8210E16
+ .string "Oh, that’s disappointing.\p"
+ .string "A COIN CASE is needed for the\n"
+ .string "GAME CORNER.$"
+
diff --git a/data/scripts/maps/MauvilleCity_Mart.inc b/data/scripts/maps/MauvilleCity_Mart.inc
new file mode 100644
index 000000000..56ee9497f
--- /dev/null
+++ b/data/scripts/maps/MauvilleCity_Mart.inc
@@ -0,0 +1,53 @@
+MauvilleCity_Mart_MapScripts:: @ 82110E5
+ .byte 0
+
+MauvilleCity_Mart_EventScript_2110E6:: @ 82110E6
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemart MauvilleCity_Mart_Pokemart_211100
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+MauvilleCity_Mart_Pokemart_211100: @ 8211100
+ .2byte ITEM_POKE_BALL
+ .2byte ITEM_GREAT_BALL
+ .2byte ITEM_SUPER_POTION
+ .2byte ITEM_ANTIDOTE
+ .2byte ITEM_PARALYZE_HEAL
+ .2byte ITEM_AWAKENING
+ .2byte ITEM_X_SPEED
+ .2byte ITEM_X_ATTACK
+ .2byte ITEM_X_DEFEND
+ .2byte ITEM_GUARD_SPEC
+ .2byte ITEM_DIRE_HIT
+ .2byte ITEM_X_ACCURACY
+ .2byte ITEM_NONE
+ release
+ end
+
+MauvilleCity_Mart_EventScript_21111C:: @ 821111C
+ msgbox MauvilleCity_Mart_Text_21112E, 2
+ end
+
+MauvilleCity_Mart_EventScript_211125:: @ 8211125
+ msgbox MauvilleCity_Mart_Text_2111D8, 2
+ end
+
+MauvilleCity_Mart_Text_21112E: @ 821112E
+ .string "There are items that temporarily\n"
+ .string "elevate the stats of POKéMON.\p"
+ .string "The ones I know you use in battle\n"
+ .string "are X ATTACK and X DEFEND…\p"
+ .string "I do believe that there are others\n"
+ .string "like them.$"
+
+MauvilleCity_Mart_Text_2111D8: @ 82111D8
+ .string "Use a certain move, or use an item\n"
+ .string "instead…\p"
+ .string "The TRAINER’s decisions determine how\n"
+ .string "battles turn out, I think.$"
+
diff --git a/data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc b/data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc
new file mode 100644
index 000000000..9b8561873
--- /dev/null
+++ b/data/scripts/maps/MauvilleCity_PokemonCenter_1F.inc
@@ -0,0 +1,54 @@
+MauvilleCity_PokemonCenter_1F_MapScripts:: @ 8210E5B
+ map_script 3, MauvilleCity_PokemonCenter_1F_MapScript1_210E66
+ map_script 5, MauvilleCity_PokemonCenter_1F_MapScript1_277C30
+ .byte 0
+
+MauvilleCity_PokemonCenter_1F_MapScript1_210E66: @ 8210E66
+ setrespawn 5
+ call MauvilleCity_PokemonCenter_1F_EventScript_2718DE
+ goto MauvilleCity_PokemonCenter_1F_EventScript_210E74
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_210E74:: @ 8210E74
+ special sub_8120B5C
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_210E78:: @ 8210E78
+ setvar VAR_0x800B, 1
+ call MauvilleCity_PokemonCenter_1F_EventScript_27191E
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_210E86:: @ 8210E86
+ msgbox MauvilleCity_PokemonCenter_1F_Text_210EA1, 2
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_210E8F:: @ 8210E8F
+ msgbox MauvilleCity_PokemonCenter_1F_Text_210F06, 2
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_210E98:: @ 8210E98
+ msgbox MauvilleCity_PokemonCenter_1F_Text_210F8A, 2
+ end
+
+MauvilleCity_PokemonCenter_1F_Text_210EA1: @ 8210EA1
+ .string "That man over there, he says weird\n"
+ .string "things!\p"
+ .string "He’s funny in a weird way.\n"
+ .string "I doubt I’ll forget about him!$"
+
+MauvilleCity_PokemonCenter_1F_Text_210F06: @ 8210F06
+ .string "When I accessed the RECORD CORNER,\n"
+ .string "the data for what’s hot in DEWFORD\l"
+ .string "got updated.\p"
+ .string "Now that bit of data is the same\n"
+ .string "as my friend’s!$"
+
+MauvilleCity_PokemonCenter_1F_Text_210F8A: @ 8210F8A
+ .string "A RECORD CORNER opened upstairs in\n"
+ .string "the POKéMON CENTER.\p"
+ .string "I don’t know what it’s about, but it\n"
+ .string "sounds fun. I’ll go check it out!$"
+
diff --git a/data/scripts/maps/MauvilleCity_PokemonCenter_2F.inc b/data/scripts/maps/MauvilleCity_PokemonCenter_2F.inc
new file mode 100644
index 000000000..c430b4440
--- /dev/null
+++ b/data/scripts/maps/MauvilleCity_PokemonCenter_2F.inc
@@ -0,0 +1,31 @@
+MauvilleCity_PokemonCenter_2F_MapScripts:: @ 8211008
+ map_script 2, MauvilleCity_PokemonCenter_2F_MapScript2_276C3B
+ map_script 4, MauvilleCity_PokemonCenter_2F_MapScript2_276B6C
+ map_script 1, MauvilleCity_PokemonCenter_2F_MapScript1_276BBE
+ map_script 3, MauvilleCity_PokemonCenter_2F_MapScript1_276ACF
+ .byte 0
+
+MauvilleCity_PokemonCenter_2F_EventScript_21101D:: @ 821101D
+ call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+ end
+
+MauvilleCity_PokemonCenter_2F_EventScript_211023:: @ 8211023
+ call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+ end
+
+MauvilleCity_PokemonCenter_2F_EventScript_211029:: @ 8211029
+ call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+ end
+
+MauvilleCity_PokemonCenter_2F_EventScript_21102F:: @ 821102F
+ msgbox MauvilleCity_PokemonCenter_2F_Text_211038, 2
+ end
+
+MauvilleCity_PokemonCenter_2F_Text_211038: @ 8211038
+ .string "Did you know that you can link battle\n"
+ .string "at the COLOSSEUM here?\p"
+ .string "They put up your record on the wall\n"
+ .string "for everyone to see.\p"
+ .string "It’s embarrassing if you lose more\n"
+ .string "often than you win…$"
+
diff --git a/data/scripts/maps/MeteorFalls_1F_1R.inc b/data/scripts/maps/MeteorFalls_1F_1R.inc
new file mode 100644
index 000000000..fd0f0935a
--- /dev/null
+++ b/data/scripts/maps/MeteorFalls_1F_1R.inc
@@ -0,0 +1,312 @@
+MeteorFalls_1F_1R_MapScripts:: @ 822BD2A
+ map_script 1, MeteorFalls_1F_1R_MapScript1_22BD30
+ .byte 0
+
+MeteorFalls_1F_1R_MapScript1_22BD30: @ 822BD30
+ checkflag FLAG_SYS_GAME_CLEAR
+ call_if 1, MeteorFalls_1F_1R_EventScript_22BD3A
+ end
+
+MeteorFalls_1F_1R_EventScript_22BD3A:: @ 822BD3A
+ setmetatile 4, 1, 582, 1
+ setmetatile 3, 2, 589, 1
+ setmetatile 4, 2, 590, 0
+ setmetatile 5, 2, 591, 1
+ return
+
+MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F
+ lockall
+ playbgm BGM_MGM0, 0
+ applymovement 255, MeteorFalls_1F_1R_Movement_2725B0
+ waitmovement 0
+ delay 30
+ applymovement 5, MeteorFalls_1F_1R_Movement_2725B4
+ waitmovement 0
+ msgbox MeteorFalls_1F_1R_Text_22BF47, 4
+ closemessage
+ applymovement 5, MeteorFalls_1F_1R_Movement_2725A6
+ applymovement 6, MeteorFalls_1F_1R_Movement_2725A6
+ waitmovement 0
+ playse SE_PIN
+ applymovement 5, MeteorFalls_1F_1R_Movement_272598
+ waitmovement 0
+ applymovement 5, MeteorFalls_1F_1R_Movement_27259A
+ waitmovement 0
+ msgbox MeteorFalls_1F_1R_Text_22BF84, 4
+ closemessage
+ applymovement 5, MeteorFalls_1F_1R_Movement_22BEC0
+ waitmovement 0
+ msgbox MeteorFalls_1F_1R_Text_22BFE4, 4
+ closemessage
+ applymovement 255, MeteorFalls_1F_1R_Movement_2725A4
+ applymovement 5, MeteorFalls_1F_1R_Movement_2725A4
+ applymovement 6, MeteorFalls_1F_1R_Movement_2725A4
+ waitmovement 0
+ addobject 7
+ addobject 8
+ addobject 9
+ playbgm BGM_AQA_0, 0
+ applymovement 7, MeteorFalls_1F_1R_Movement_22BED9
+ applymovement 8, MeteorFalls_1F_1R_Movement_22BEE0
+ applymovement 9, MeteorFalls_1F_1R_Movement_22BEE8
+ waitmovement 0
+ applymovement 5, MeteorFalls_1F_1R_Movement_2725A4
+ applymovement 6, MeteorFalls_1F_1R_Movement_2725A4
+ waitmovement 0
+ msgbox MeteorFalls_1F_1R_Text_22C04E, 4
+ closemessage
+ applymovement 255, MeteorFalls_1F_1R_Movement_22BF1D
+ applymovement 5, MeteorFalls_1F_1R_Movement_22BEC4
+ applymovement 6, MeteorFalls_1F_1R_Movement_22BECE
+ waitmovement 0
+ removeobject 5
+ removeobject 6
+ applymovement 7, MeteorFalls_1F_1R_Movement_22BEF8
+ waitmovement 0
+ msgbox MeteorFalls_1F_1R_Text_22C11C, 4
+ closemessage
+ applymovement 8, MeteorFalls_1F_1R_Movement_22BF08
+ applymovement 9, MeteorFalls_1F_1R_Movement_22BF18
+ waitmovement 0
+ msgbox MeteorFalls_1F_1R_Text_22C268, 4
+ applymovement 7, MeteorFalls_1F_1R_Movement_2725AA
+ waitmovement 0
+ msgbox MeteorFalls_1F_1R_Text_22C292, 4
+ applymovement 7, MeteorFalls_1F_1R_Movement_2725A4
+ waitmovement 0
+ msgbox MeteorFalls_1F_1R_Text_22C2FC, 4
+ closemessage
+ applymovement 7, MeteorFalls_1F_1R_Movement_22BEF0
+ applymovement 8, MeteorFalls_1F_1R_Movement_22BEFE
+ applymovement 9, MeteorFalls_1F_1R_Movement_22BF0D
+ waitmovement 0
+ fadedefaultbgm
+ removeobject 7
+ removeobject 8
+ removeobject 9
+ setflag FLAG_0x333
+ setflag FLAG_0x0CF
+ setflag FLAG_0x2FF
+ setvar VAR_0x40BF, 1
+ releaseall
+ end
+
+MeteorFalls_1F_1R_Movement_22BEC0: @ 822BEC0
+ step_right
+ step_right
+ step_26
+ step_end
+
+MeteorFalls_1F_1R_Movement_22BEC4: @ 822BEC4
+ step_16
+ step_16
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_end
+
+MeteorFalls_1F_1R_Movement_22BECE: @ 822BECE
+ step_16
+ step_16
+ step_16
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_end
+
+MeteorFalls_1F_1R_Movement_22BED9: @ 822BED9
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+MeteorFalls_1F_1R_Movement_22BEE0: @ 822BEE0
+ step_14
+ step_14
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+MeteorFalls_1F_1R_Movement_22BEE8: @ 822BEE8
+ step_14
+ step_14
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+MeteorFalls_1F_1R_Movement_22BEF0: @ 822BEF0
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+MeteorFalls_1F_1R_Movement_22BEF8: @ 822BEF8
+ step_right
+ step_right
+ step_up
+ step_up
+ step_27
+ step_end
+
+MeteorFalls_1F_1R_Movement_22BEFE: @ 822BEFE
+ step_up
+ step_up
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+MeteorFalls_1F_1R_Movement_22BF08: @ 822BF08
+ step_right
+ step_right
+ step_right
+ step_26
+ step_end
+
+MeteorFalls_1F_1R_Movement_22BF0D: @ 822BF0D
+ step_up
+ step_up
+ step_up
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+MeteorFalls_1F_1R_Movement_22BF18: @ 822BF18
+ step_right
+ step_right
+ step_right
+ step_26
+ step_end
+
+MeteorFalls_1F_1R_Movement_22BF1D: @ 822BF1D
+ step_25
+ step_12
+ step_28
+ step_40
+ step_left
+ step_41
+ step_03
+ step_end
+
+MeteorFalls_1F_1R_EventScript_22BF25:: @ 822BF25
+ lock
+ faceplayer
+ checkflag FLAG_0x0F4
+ goto_eq MeteorFalls_1F_1R_EventScript_22BF3D
+ setflag FLAG_0x0F4
+ msgbox MeteorFalls_1F_1R_Text_22C342, 4
+ release
+ end
+
+MeteorFalls_1F_1R_EventScript_22BF3D:: @ 822BF3D
+ msgbox MeteorFalls_1F_1R_Text_22C47D, 4
+ release
+ end
+
+MeteorFalls_1F_1R_Text_22BF47: @ 822BF47
+ .string "Hehehe!\p"
+ .string "With this METEORITE, that thing in\n"
+ .string "MT. CHIMNEY will…$"
+
+MeteorFalls_1F_1R_Text_22BF84: @ 822BF84
+ .string "Heh?\p"
+ .string "I don’t know who you are, but if you get\n"
+ .string "in the way of TEAM MAGMA, don’t\l"
+ .string "expect any mercy!$"
+
+MeteorFalls_1F_1R_Text_22BFE4: @ 822BFE4
+ .string "Hold it right there, TEAM MAGMA!\p"
+ .string "You’re badly mistaken if you think you\n"
+ .string "can have your way with the world!$"
+
+MeteorFalls_1F_1R_Text_22C04E: @ 822C04E
+ .string "Hehehe!\n"
+ .string "Even TEAM AQUA joins us!\p"
+ .string "But it’s too much trouble to deal with\n"
+ .string "you all…\p"
+ .string "Heh, it doesn’t matter!\p"
+ .string "We’ve got the METEORITE, so off to\n"
+ .string "MT. CHIMNEY we go!\p"
+ .string "Hehehe! Be seeing you, you TEAM\n"
+ .string "AQUA dingbats!$"
+
+MeteorFalls_1F_1R_Text_22C11C: @ 822C11C
+ .string "ARCHIE: Didn’t I see you before?\n"
+ .string "At SLATEPORT’s MUSEUM?\p"
+ .string "Ah, so your name is {PLAYER}.\p"
+ .string "At the time, I thought you were one\n"
+ .string "of TEAM MAGMA’s goons.\p"
+ .string "Humph…\n"
+ .string "You’re one odd kid.\p"
+ .string "TEAM MAGMA is a dangerous group of\n"
+ .string "total fanatics.\p"
+ .string "They engage in destruction, claiming\n"
+ .string "to expand the land mass.\p"
+ .string "They are the rivals to us,\n"
+ .string "the sea-loving TEAM AQUA!$"
+
+MeteorFalls_1F_1R_Text_22C268: @ 822C268
+ .string "BOSS, we should give chase to\n"
+ .string "TEAM MAGMA…$"
+
+MeteorFalls_1F_1R_Text_22C292: @ 822C292
+ .string "ARCHIE: Yes, yes, we must!\n"
+ .string "We’ve got to hurry.\p"
+ .string "There’s no telling what TEAM MAGMA\n"
+ .string "will do at MT. CHIMNEY!$"
+
+MeteorFalls_1F_1R_Text_22C2FC: @ 822C2FC
+ .string "ARCHIE: {PLAYER}, you should keep\n"
+ .string "an eye out for TEAM MAGMA, too.\p"
+ .string "Farewell!$"
+
+MeteorFalls_1F_1R_Text_22C342: @ 822C342
+ .string "I… I’m COZMO…\n"
+ .string "I’m a PROFESSOR…\p"
+ .string "TEAM MAGMA asked me to guide them\n"
+ .string "to METEOR FALLS…\p"
+ .string "But they tricked me.\n"
+ .string "They even took my METEORITE away…\p"
+ .string "And then another similar bunch,\n"
+ .string "TEAM AQUA showed up.\p"
+ .string "After that…\n"
+ .string "I don’t understand any of it.\p"
+ .string "But that TEAM MAGMA…\p"
+ .string "What are they going to do with that\n"
+ .string "METEORITE at MT. CHIMNEY?$"
+
+MeteorFalls_1F_1R_Text_22C47D: @ 822C47D
+ .string "PROF. COZMO: But that TEAM MAGMA…\p"
+ .string "What are they going to do with that\n"
+ .string "METEORITE at MT. CHIMNEY?$"
+
diff --git a/data/scripts/maps/MeteorFalls_1F_2R.inc b/data/scripts/maps/MeteorFalls_1F_2R.inc
new file mode 100644
index 000000000..8cf171209
--- /dev/null
+++ b/data/scripts/maps/MeteorFalls_1F_2R.inc
@@ -0,0 +1,195 @@
+MeteorFalls_1F_2R_MapScripts:: @ 822C4DD
+ .byte 0
+
+MeteorFalls_1F_2R_EventScript_22C4DE:: @ 822C4DE
+ trainerbattle 2, TRAINER_NICOLAS_1, 0, MeteorFalls_1F_2R_Text_22C608, MeteorFalls_1F_2R_Text_22C678, MeteorFalls_1F_2R_EventScript_22C50A
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MeteorFalls_1F_2R_EventScript_22C529
+ msgbox MeteorFalls_1F_2R_Text_22C6A3, 4
+ release
+ end
+
+MeteorFalls_1F_2R_EventScript_22C50A:: @ 822C50A
+ special sub_80B4808
+ waitmovement 0
+ msgbox MeteorFalls_1F_2R_Text_22C6F6, 4
+ setvar VAR_0x8004, 392
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 392
+ callstd 8
+ release
+ end
+
+MeteorFalls_1F_2R_EventScript_22C529:: @ 822C529
+ trainerbattle 5, TRAINER_NICOLAS_1, 0, MeteorFalls_1F_2R_Text_22C73F, MeteorFalls_1F_2R_Text_22C7AD
+ msgbox MeteorFalls_1F_2R_Text_22C7D8, 6
+ end
+
+MeteorFalls_1F_2R_EventScript_22C540:: @ 822C540
+ trainerbattle 6, TRAINER_JOHN_AND_JAY_1, 0, MeteorFalls_1F_2R_Text_22C843, MeteorFalls_1F_2R_Text_22C89C, MeteorFalls_1F_2R_Text_22C92B, MeteorFalls_1F_2R_EventScript_22C570
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MeteorFalls_1F_2R_EventScript_22C589
+ msgbox MeteorFalls_1F_2R_Text_22C8C1, 4
+ release
+ end
+
+MeteorFalls_1F_2R_EventScript_22C570:: @ 822C570
+ msgbox MeteorFalls_1F_2R_Text_22C99C, 4
+ setvar VAR_0x8004, 681
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 681
+ callstd 8
+ release
+ end
+
+MeteorFalls_1F_2R_EventScript_22C589:: @ 822C589
+ trainerbattle 7, TRAINER_JOHN_AND_JAY_1, 0, MeteorFalls_1F_2R_Text_22CB47, MeteorFalls_1F_2R_Text_22CBA0, MeteorFalls_1F_2R_Text_22CC27
+ msgbox MeteorFalls_1F_2R_Text_22CBC5, 6
+ end
+
+MeteorFalls_1F_2R_EventScript_22C5A4:: @ 822C5A4
+ trainerbattle 6, TRAINER_JOHN_AND_JAY_1, 0, MeteorFalls_1F_2R_Text_22C9E6, MeteorFalls_1F_2R_Text_22CA44, MeteorFalls_1F_2R_Text_22CACD, MeteorFalls_1F_2R_EventScript_22C5D4
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MeteorFalls_1F_2R_EventScript_22C5ED
+ msgbox MeteorFalls_1F_2R_Text_22CA70, 4
+ release
+ end
+
+MeteorFalls_1F_2R_EventScript_22C5D4:: @ 822C5D4
+ msgbox MeteorFalls_1F_2R_Text_22C99C, 4
+ setvar VAR_0x8004, 681
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 681
+ callstd 8
+ release
+ end
+
+MeteorFalls_1F_2R_EventScript_22C5ED:: @ 822C5ED
+ trainerbattle 7, TRAINER_JOHN_AND_JAY_1, 0, MeteorFalls_1F_2R_Text_22CC98, MeteorFalls_1F_2R_Text_22CD08, MeteorFalls_1F_2R_Text_22CDAB
+ msgbox MeteorFalls_1F_2R_Text_22CD34, 6
+ end
+
+MeteorFalls_1F_2R_Text_22C608: @ 822C608
+ .string "This is where we DRAGON users do our\n"
+ .string "training.\p"
+ .string "The CHAMPION even visits.\n"
+ .string "Now do you see how special it is here?$"
+
+MeteorFalls_1F_2R_Text_22C678: @ 822C678
+ .string "Urgh!\n"
+ .string "I didn’t expect you to be so strong!$"
+
+MeteorFalls_1F_2R_Text_22C6A3: @ 822C6A3
+ .string "The road ahead remains long and harsh.\p"
+ .string "When will my POKéMON and I become\n"
+ .string "the best?$"
+
+MeteorFalls_1F_2R_Text_22C6F6: @ 822C6F6
+ .string "I want to know more about your power.\n"
+ .string "Let me register you in my POKéNAV.$"
+
+MeteorFalls_1F_2R_Text_22C73F: @ 822C73F
+ .string "Since we met, we have trained hard\n"
+ .string "with our sights on number one.\p"
+ .string "Help us see how much stronger we’ve\n"
+ .string "become!$"
+
+MeteorFalls_1F_2R_Text_22C7AD: @ 822C7AD
+ .string "Urgh!\n"
+ .string "I didn’t expect you to be so strong!$"
+
+MeteorFalls_1F_2R_Text_22C7D8: @ 822C7D8
+ .string "You’ve obviously kept up your\n"
+ .string "POKéMON training.\p"
+ .string "So long as you remain strong, I, too,\n"
+ .string "can become stronger!$"
+
+MeteorFalls_1F_2R_Text_22C843: @ 822C843
+ .string "JOHN: We’ve always battled POKéMON\n"
+ .string "together as a twosome.\l"
+ .string "We’ve confidence in ourselves.$"
+
+MeteorFalls_1F_2R_Text_22C89C: @ 822C89C
+ .string "JOHN: Oh, my.\n"
+ .string "We’ve lost, dear wife.$"
+
+MeteorFalls_1F_2R_Text_22C8C1: @ 822C8C1
+ .string "JOHN: We’ve been married for\n"
+ .string "fifty years.\p"
+ .string "Come to think of it, I’ve yet to beat\n"
+ .string "my dear wife in a battle.$"
+
+MeteorFalls_1F_2R_Text_22C92B: @ 822C92B
+ .string "JOHN: Well, well, what a young TRAINER!\p"
+ .string "Will you battle with us? If so, you’ll\n"
+ .string "have to return with more POKéMON.$"
+
+MeteorFalls_1F_2R_Text_22C99C: @ 822C99C
+ .string "JOHN: Young TRAINER, if the chance\n"
+ .string "arises, will you battle with us again?$"
+
+MeteorFalls_1F_2R_Text_22C9E6: @ 822C9E6
+ .string "JAY: We’ve been married for\n"
+ .string "fifty years.\p"
+ .string "The bond we share as a couple could\n"
+ .string "never be broken.$"
+
+MeteorFalls_1F_2R_Text_22CA44: @ 822CA44
+ .string "JAY: Oh, dear.\n"
+ .string "We’ve lost, my dear husband.$"
+
+MeteorFalls_1F_2R_Text_22CA70: @ 822CA70
+ .string "JAY: Fifty years of marriage…\p"
+ .string "If we ever argued, we always settled\n"
+ .string "it with a POKéMON battle…$"
+
+MeteorFalls_1F_2R_Text_22CACD: @ 822CACD
+ .string "JAY: Well, well, aren’t you a young\n"
+ .string "TRAINER?\p"
+ .string "If you’d care to battle with us, you’ll\n"
+ .string "have to come back with more POKéMON.$"
+
+MeteorFalls_1F_2R_Text_22CB47: @ 822CB47
+ .string "JOHN: We’ve always battled POKéMON\n"
+ .string "together as a twosome.\l"
+ .string "We’ve confidence in ourselves.$"
+
+MeteorFalls_1F_2R_Text_22CBA0: @ 822CBA0
+ .string "JOHN: Oh, my.\n"
+ .string "We’ve lost, dear wife.$"
+
+MeteorFalls_1F_2R_Text_22CBC5: @ 822CBC5
+ .string "JOHN: Married for fifty years…\p"
+ .string "On reflection, the dear wife and I,\n"
+ .string "we battled day in and day out…$"
+
+MeteorFalls_1F_2R_Text_22CC27: @ 822CC27
+ .string "JOHN: Well, well, what a young TRAINER!\p"
+ .string "Will you battle with us? If so, you’ll\n"
+ .string "have to return with more POKéMON.$"
+
+MeteorFalls_1F_2R_Text_22CC98: @ 822CC98
+ .string "JAY: We’ve been married for\n"
+ .string "fifty years.\p"
+ .string "We’ve supported each other all that\n"
+ .string "time. We’ve made ourselves strong.$"
+
+MeteorFalls_1F_2R_Text_22CD08: @ 822CD08
+ .string "JAY: Oh, dear.\n"
+ .string "We’ve lost, my dear husband.$"
+
+MeteorFalls_1F_2R_Text_22CD34: @ 822CD34
+ .string "JAY: Fifty years of marriage…\n"
+ .string "Many things have happened.\p"
+ .string "I hope that we will continue to make\n"
+ .string "happy memories together.$"
+
+MeteorFalls_1F_2R_Text_22CDAB: @ 822CDAB
+ .string "JAY: Well, well, aren’t you a young\n"
+ .string "TRAINER?\p"
+ .string "If you’d care to battle with us, you’ll\n"
+ .string "have to come back with more POKéMON.$"
+
diff --git a/data/scripts/maps/MeteorFalls_B1F_1R.inc b/data/scripts/maps/MeteorFalls_B1F_1R.inc
new file mode 100644
index 000000000..551e68180
--- /dev/null
+++ b/data/scripts/maps/MeteorFalls_B1F_1R.inc
@@ -0,0 +1,3 @@
+MeteorFalls_B1F_1R_MapScripts:: @ 822CE25
+ .byte 0
+
diff --git a/data/scripts/maps/MeteorFalls_B1F_2R.inc b/data/scripts/maps/MeteorFalls_B1F_2R.inc
new file mode 100644
index 000000000..775b5787c
--- /dev/null
+++ b/data/scripts/maps/MeteorFalls_B1F_2R.inc
@@ -0,0 +1,3 @@
+MeteorFalls_B1F_2R_MapScripts:: @ 822CE26
+ .byte 0
+
diff --git a/data/scripts/maps/MeteorFalls_StevensCave.inc b/data/scripts/maps/MeteorFalls_StevensCave.inc
new file mode 100644
index 000000000..5226ddb4a
--- /dev/null
+++ b/data/scripts/maps/MeteorFalls_StevensCave.inc
@@ -0,0 +1,58 @@
+MeteorFalls_StevensCave_MapScripts:: @ 823B181
+ .byte 0
+
+MeteorFalls_StevensCave_EventScript_23B182:: @ 823B182
+ lock
+ checkflag FLAG_0x4F8
+ goto_eq MeteorFalls_StevensCave_EventScript_23B1CD
+ waitse
+ playse SE_PIN
+ applymovement 1, MeteorFalls_StevensCave_Movement_272598
+ waitmovement 0
+ applymovement 1, MeteorFalls_StevensCave_Movement_27259A
+ waitmovement 0
+ applymovement 1, MeteorFalls_StevensCave_Movement_27259E
+ waitmovement 0
+ msgbox MeteorFalls_StevensCave_Text_23B1E1, 4
+ trainerbattle 3, TRAINER_STEVEN, 0, MeteorFalls_StevensCave_Text_23B32D
+ msgbox MeteorFalls_StevensCave_Text_23B358, 4
+ setflag FLAG_0x4F8
+ release
+ end
+
+MeteorFalls_StevensCave_EventScript_23B1CD:: @ 823B1CD
+ applymovement 1, MeteorFalls_StevensCave_Movement_27259E
+ waitmovement 0
+ msgbox MeteorFalls_StevensCave_Text_23B358, 4
+ release
+ end
+
+MeteorFalls_StevensCave_Text_23B1E1: @ 823B1E1
+ .string "STEVEN: Oh, wow, {PLAYER}{KUN}.\n"
+ .string "I’m amazed you knew where to find me.\p"
+ .string "Do you, uh…maybe think of me as\n"
+ .string "just a rock maniac?\p"
+ .string "No, that can’t be right.\p"
+ .string "We battled alongside each other at\n"
+ .string "the SOOTOPOLIS SPACE CENTER.\p"
+ .string "You should have a very good idea\n"
+ .string "about how good I am.\p"
+ .string "Okay, {PLAYER}{KUN}, if you’re going to mount\n"
+ .string "a serious challenge, expect the worst!$"
+
+MeteorFalls_StevensCave_Text_23B32D: @ 823B32D
+ .string "You…\n"
+ .string "I had no idea you’d become so strong…$"
+
+MeteorFalls_StevensCave_Text_23B358: @ 823B358
+ .string "STEVEN: Come to think of it, ever since\n"
+ .string "our paths first crossed in GRANITE\l"
+ .string "CAVE in DEWFORD, I had this feeling.\p"
+ .string "I thought that you would eventually\n"
+ .string "become the CHAMPION.\p"
+ .string "My predictions usually come true.\p"
+ .string "And where will you go from here?\p"
+ .string "… … … … … …\n"
+ .string "… … … … … …\p"
+ .string "Fufufu, even I couldn’t tell you that.$"
+
diff --git a/data/scripts/maps/MirageTower_1F.inc b/data/scripts/maps/MirageTower_1F.inc
new file mode 100644
index 000000000..5b9725c9e
--- /dev/null
+++ b/data/scripts/maps/MirageTower_1F.inc
@@ -0,0 +1,10 @@
+MirageTower_1F_MapScripts:: @ 823AD01
+ map_script 3, MirageTower_1F_MapScript1_23AD07
+ .byte 0
+
+MirageTower_1F_MapScript1_23AD07: @ 823AD07
+ setflag FLAG_0x8DC
+ setflag FLAG_0x09D
+ setflag FLAG_0x078
+ end
+
diff --git a/data/scripts/maps/MirageTower_2F.inc b/data/scripts/maps/MirageTower_2F.inc
new file mode 100644
index 000000000..c1a1d18d0
--- /dev/null
+++ b/data/scripts/maps/MirageTower_2F.inc
@@ -0,0 +1,11 @@
+MirageTower_2F_MapScripts:: @ 823AD11
+ map_script 2, MirageTower_2F_MapScript2_2A8327
+ map_script 3, MirageTower_2F_MapScript1_2A8331
+ map_script 5, MirageTower_2F_MapScript1_23AD21
+ .byte 0
+
+MirageTower_2F_MapScript1_23AD21: @ 823AD21
+ setstepcallback 7
+ setholewarp MIRAGE_TOWER_1F, 255, 0, 0
+ end
+
diff --git a/data/scripts/maps/MirageTower_3F.inc b/data/scripts/maps/MirageTower_3F.inc
new file mode 100644
index 000000000..bcf847344
--- /dev/null
+++ b/data/scripts/maps/MirageTower_3F.inc
@@ -0,0 +1,11 @@
+MirageTower_3F_MapScripts:: @ 823AD2C
+ map_script 2, MirageTower_3F_MapScript2_2A8327
+ map_script 3, MirageTower_3F_MapScript1_2A8331
+ map_script 5, MirageTower_3F_MapScript1_23AD3C
+ .byte 0
+
+MirageTower_3F_MapScript1_23AD3C: @ 823AD3C
+ setstepcallback 7
+ setholewarp MIRAGE_TOWER_2F, 255, 0, 0
+ end
+
diff --git a/data/scripts/maps/MirageTower_4F.inc b/data/scripts/maps/MirageTower_4F.inc
new file mode 100644
index 000000000..696d47435
--- /dev/null
+++ b/data/scripts/maps/MirageTower_4F.inc
@@ -0,0 +1,79 @@
+MirageTower_4F_MapScripts:: @ 823AD47
+ .byte 0
+
+MirageTower_4F_EventScript_23AD48:: @ 823AD48
+ lock
+ faceplayer
+ msgbox MirageTower_4F_Text_23ADF9, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MirageTower_4F_EventScript_23AD7F
+ giveitem_std ITEM_ROOT_FOSSIL
+ closemessage
+ setflag FLAG_0x3C3
+ setflag FLAG_0x3C4
+ removeobject 1
+ delay 30
+ setflag FLAG_0x14F
+ goto MirageTower_4F_EventScript_23ADCA
+ end
+
+MirageTower_4F_EventScript_23AD7F:: @ 823AD7F
+ msgbox MirageTower_4F_Text_23AE79, 4
+ release
+ end
+
+MirageTower_4F_EventScript_23AD89:: @ 823AD89
+ lock
+ faceplayer
+ msgbox MirageTower_4F_Text_23AE98, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MirageTower_4F_EventScript_23ADC0
+ giveitem_std ITEM_CLAW_FOSSIL
+ closemessage
+ setflag FLAG_0x3C4
+ setflag FLAG_0x3C3
+ removeobject 2
+ delay 30
+ setflag FLAG_0x150
+ goto MirageTower_4F_EventScript_23ADCA
+ end
+
+MirageTower_4F_EventScript_23ADC0:: @ 823ADC0
+ msgbox MirageTower_4F_Text_23AF18, 4
+ release
+ end
+
+MirageTower_4F_EventScript_23ADCA:: @ 823ADCA
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 32
+ setvar VAR_0x8007, 2
+ special sub_8139560
+ waitstate
+ special sub_81BE994
+ waitstate
+ setvar VAR_0x40CB, 1
+ clearflag FLAG_0x078
+ warp ROUTE_111, 255, 19, 59
+ waitstate
+ release
+ end
+
+MirageTower_4F_Text_23ADF9: @ 823ADF9
+ .string "You found the ROOT FOSSIL.\p"
+ .string "If this FOSSIL is taken, the ground\n"
+ .string "around it will likely crumble away…\p"
+ .string "Take the ROOT FOSSIL anyway?$"
+
+MirageTower_4F_Text_23AE79: @ 823AE79
+ .string "{PLAYER} left the ROOT FOSSIL alone.$"
+
+MirageTower_4F_Text_23AE98: @ 823AE98
+ .string "You found the CLAW FOSSIL.\p"
+ .string "If this FOSSIL is taken, the ground\n"
+ .string "around it will likely crumble away…\p"
+ .string "Take the CLAW FOSSIL anyway?$"
+
+MirageTower_4F_Text_23AF18: @ 823AF18
+ .string "{PLAYER} left the CLAW FOSSIL alone.$"
+
diff --git a/data/scripts/maps/MossdeepCity.inc b/data/scripts/maps/MossdeepCity.inc
new file mode 100644
index 000000000..1253a2a25
--- /dev/null
+++ b/data/scripts/maps/MossdeepCity.inc
@@ -0,0 +1,436 @@
+MossdeepCity_MapScripts:: @ 81E4A96
+ map_script 3, MossdeepCity_MapScript1_1E4A9C
+ .byte 0
+
+MossdeepCity_MapScript1_1E4A9C: @ 81E4A9C
+ clearflag FLAG_0x064
+ clearflag FLAG_0x065
+ clearflag FLAG_0x066
+ clearflag FLAG_0x067
+ checkflag FLAG_SYS_WEATHER_CTRL
+ call_if 1, MossdeepCity_EventScript_27207A
+ end
+
+MossdeepCity_EventScript_1E4AB2:: @ 81E4AB2
+ lock
+ faceplayer
+ checkflag FLAG_0x07B
+ goto_eq MossdeepCity_EventScript_1E4AC7
+ msgbox MossdeepCity_Text_1E4E90, 4
+ release
+ end
+
+MossdeepCity_EventScript_1E4AC7:: @ 81E4AC7
+ msgbox MossdeepCity_Text_1E4F15, 4
+ release
+ end
+
+MossdeepCity_EventScript_1E4AD1:: @ 81E4AD1
+ lock
+ faceplayer
+ checkflag FLAG_0x07B
+ goto_eq MossdeepCity_EventScript_1E4AE6
+ msgbox MossdeepCity_Text_1E4F50, 4
+ release
+ end
+
+MossdeepCity_EventScript_1E4AE6:: @ 81E4AE6
+ msgbox MossdeepCity_Text_1E5051, 4
+ release
+ end
+
+MossdeepCity_EventScript_1E4AF0:: @ 81E4AF0
+ msgbox MossdeepCity_Text_1E4E22, 2
+ end
+
+MossdeepCity_EventScript_1E4AF9:: @ 81E4AF9
+ msgbox MossdeepCity_Text_1E5135, 2
+ end
+
+MossdeepCity_EventScript_1E4B02:: @ 81E4B02
+ msgbox MossdeepCity_Text_1E50D9, 2
+ end
+
+MossdeepCity_EventScript_1E4B0B:: @ 81E4B0B
+ msgbox MossdeepCity_Text_1E529D, 2
+ end
+
+MossdeepCity_EventScript_1E4B14:: @ 81E4B14
+ msgbox MossdeepCity_Text_1E5396, 3
+ end
+
+MossdeepCity_EventScript_1E4B1D:: @ 81E4B1D
+ msgbox MossdeepCity_Text_1E53A9, 3
+ end
+
+MossdeepCity_EventScript_1E4B26:: @ 81E4B26
+ msgbox MossdeepCity_Text_1E53F2, 3
+ end
+
+MossdeepCity_EventScript_1E4B2F:: @ 81E4B2F
+ msgbox MossdeepCity_Text_1E541F, 3
+ end
+
+MossdeepCity_EventScript_1E4B38:: @ 81E4B38
+ setflag FLAG_VISITED_MOSSDEEP_CITY
+ setvar VAR_0x4001, 1
+ end
+
+MossdeepCity_EventScript_1E4B41:: @ 81E4B41
+ lockall
+ applymovement 14, MossdeepCity_Movement_1E4BAD
+ waitmovement 0
+ applymovement 10, MossdeepCity_Movement_1E4BB7
+ applymovement 11, MossdeepCity_Movement_1E4BB7
+ applymovement 12, MossdeepCity_Movement_1E4BB7
+ applymovement 13, MossdeepCity_Movement_1E4BB7
+ waitmovement 0
+ applymovement 14, MossdeepCity_Movement_1E4BBC
+ applymovement 10, MossdeepCity_Movement_1E4BCA
+ applymovement 11, MossdeepCity_Movement_1E4BDD
+ applymovement 12, MossdeepCity_Movement_1E4BEF
+ applymovement 13, MossdeepCity_Movement_1E4C00
+ waitmovement 0
+ removeobject 14
+ removeobject 10
+ removeobject 11
+ removeobject 12
+ removeobject 13
+ delay 30
+ setvar VAR_0x405D, 2
+ setflag FLAG_0x337
+ releaseall
+ end
+
+MossdeepCity_Movement_1E4BAD: @ 81E4BAD
+ step_14
+ step_03
+ step_14
+ step_14
+ step_14
+ step_14
+ step_02
+ step_14
+ step_14
+ step_end
+
+MossdeepCity_Movement_1E4BB7: @ 81E4BB7
+ step_03
+ step_14
+ step_14
+ step_14
+ step_end
+
+MossdeepCity_Movement_1E4BBC: @ 81E4BBC
+ step_down
+ step_right
+ step_right
+ step_down
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+MossdeepCity_Movement_1E4BCA: @ 81E4BCA
+ step_14
+ step_13
+ step_down
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_down
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+MossdeepCity_Movement_1E4BDD: @ 81E4BDD
+ step_14
+ step_13
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_down
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+MossdeepCity_Movement_1E4BEF: @ 81E4BEF
+ step_14
+ step_13
+ step_down
+ step_right
+ step_right
+ step_right
+ step_down
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+MossdeepCity_Movement_1E4C00: @ 81E4C00
+ step_14
+ step_13
+ step_right
+ step_right
+ step_right
+ step_down
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+MossdeepCity_EventScript_1E4C10:: @ 81E4C10
+ lock
+ faceplayer
+ msgbox MossdeepCity_Text_1E5213, 4
+ applymovement VAR_LAST_TALKED, MossdeepCity_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+MossdeepCity_EventScript_1E4C26:: @ 81E4C26
+ lock
+ faceplayer
+ checkflag FLAG_0x114
+ goto_eq MossdeepCity_EventScript_1E4C68
+ msgbox MossdeepCity_Text_1E4CED, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MossdeepCity_EventScript_1E4C72
+ msgbox MossdeepCity_Text_1E4D5B, 4
+ giveitem_std ITEM_KINGS_ROCK
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MossdeepCity_EventScript_272054
+ setflag FLAG_0x114
+ release
+ end
+
+MossdeepCity_EventScript_1E4C68:: @ 81E4C68
+ msgbox MossdeepCity_Text_1E4DB3, 4
+ release
+ end
+
+MossdeepCity_EventScript_1E4C72:: @ 81E4C72
+ msgbox MossdeepCity_Text_1E4DD7, 4
+ release
+ end
+
+MossdeepCity_EventScript_1E4C7C:: @ 81E4C7C
+ msgbox MossdeepCity_Text_1E5581, 2
+ end
+
+MossdeepCity_EventScript_1E4C85:: @ 81E4C85
+ lock
+ faceplayer
+ msgbox MossdeepCity_Text_1E5453, 4
+ closemessage
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, MossdeepCity_EventScript_1E4CB0
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, MossdeepCity_EventScript_1E4CC2
+ addvar VAR_0x40D1, 1
+ removeobject 16
+ release
+ end
+
+MossdeepCity_EventScript_1E4CB0:: @ 81E4CB0
+ applymovement 255, MossdeepCity_Movement_1E4CD4
+ applymovement 16, MossdeepCity_Movement_1E4CD8
+ waitmovement 0
+ return
+
+MossdeepCity_EventScript_1E4CC2:: @ 81E4CC2
+ applymovement 255, MossdeepCity_Movement_1E4CD4
+ applymovement 16, MossdeepCity_Movement_1E4CE2
+ waitmovement 0
+ return
+
+MossdeepCity_Movement_1E4CD4: @ 81E4CD4
+ step_14
+ step_14
+ step_27
+ step_end
+
+MossdeepCity_Movement_1E4CD8: @ 81E4CD8
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+MossdeepCity_Movement_1E4CE2: @ 81E4CE2
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+MossdeepCity_Text_1E4CED: @ 81E4CED
+ .string "I got this from STEVEN, but I don’t\n"
+ .string "know what it’s good for.\p"
+ .string "I think it’s called KING’S ROCK.\n"
+ .string "Do you want it?$"
+
+MossdeepCity_Text_1E4D5B: @ 81E4D5B
+ .string "Why would you want it?\n"
+ .string "You’re weird.\p"
+ .string "You can keep it, but keep it a secret\n"
+ .string "from STEVEN.$"
+
+MossdeepCity_Text_1E4DB3: @ 81E4DB3
+ .string "STEVEN’s house is right over there!$"
+
+MossdeepCity_Text_1E4DD7: @ 81E4DD7
+ .string "Yeah, you think so, too! What are you\n"
+ .string "supposed to do with some weird rock?$"
+
+MossdeepCity_Text_1E4E22: @ 81E4E22
+ .string "Around MOSSDEEP, you can see wild\n"
+ .string "WAILMER.\p"
+ .string "It’s called, uh…\n"
+ .string "What was it now…\p"
+ .string "WAI, WAI, WAI…\p"
+ .string "WAILMER watching!$"
+
+MossdeepCity_Text_1E4E90: @ 81E4E90
+ .string "The island’s SPACE CENTER has been\n"
+ .string "launching huge rockets.\p"
+ .string "There’s been some kind of an uproar\n"
+ .string "over a letter they received recently.$"
+
+MossdeepCity_Text_1E4F15: @ 81E4F15
+ .string "The island’s SPACE CENTER has been\n"
+ .string "launching huge rockets.$"
+
+MossdeepCity_Text_1E4F50: @ 81E4F50
+ .string "I heard from a SAILOR buddy that\n"
+ .string "TEAM AQUA set up shop in LILYCOVE.\p"
+ .string "I also heard that someone came along\n"
+ .string "and wiped the floor with them!\p"
+ .string "But MOSSDEEP here’s been targeted\n"
+ .string "by that TEAM MAGMA.\p"
+ .string "If you want to know what they’re up to,\n"
+ .string "go visit the SPACE CENTER.$"
+
+MossdeepCity_Text_1E5051: @ 81E5051
+ .string "I’m a SAILOR, so the sea’s obviously\n"
+ .string "more important to me.\p"
+ .string "But you know? When I get back on land\n"
+ .string "after a long voyage, I do feel relief!$"
+
+MossdeepCity_Text_1E50D9: @ 81E50D9
+ .string "Wouldn’t it be nice?\p"
+ .string "If the whole world was covered in\n"
+ .string "plants and flowers like this island?$"
+
+MossdeepCity_Text_1E5135: @ 81E5135
+ .string "All life needs the sea to live, even\n"
+ .string "though it makes its home on the land.\p"
+ .string "Life, having run its course, becomes\n"
+ .string "soil and returns to the land.\p"
+ .string "And the sea is always connected to\n"
+ .string "the land.\p"
+ .string "Yes, like the very shoreline here.$"
+
+MossdeepCity_Text_1E5213: @ 81E5213
+ .string "A voyage on a ship is fine.\p"
+ .string "But crossing the sea with POKéMON\n"
+ .string "using SURF…\p"
+ .string "Now that’s an exhilarating trip!\n"
+ .string "Wouldn’t you agree, youngster?$"
+
+MossdeepCity_Text_1E529D: @ 81E529D
+ .string "This rock has a special meaning to\n"
+ .string "the people at the SPACE CENTER.\p"
+ .string "They put it here as their wish for\n"
+ .string "their rockets to fly safely.\p"
+ .string "When you make a wish, what do you use?\n"
+ .string "Do you wish upon a star?\p"
+ .string "I use a wish tag to make it happen.\n"
+ .string "That’s what I do.$"
+
+MossdeepCity_Text_1E5396: @ 81E5396
+ .string "It’s a white rock.$"
+
+MossdeepCity_Text_1E53A9: @ 81E53A9
+ .string "MOSSDEEP CITY POKéMON GYM\n"
+ .string "LEADERS: LIZA & TATE\p"
+ .string "“The mystic combination!”$"
+
+MossdeepCity_Text_1E53F2: @ 81E53F2
+ .string "MOSSDEEP CITY\n"
+ .string "“Our slogan: Cherish POKéMON!”$"
+
+MossdeepCity_Text_1E541F: @ 81E541F
+ .string "MOSSDEEP SPACE CENTER\n"
+ .string "“The closest place to space.”$"
+
+MossdeepCity_Text_1E5453: @ 81E5453
+ .string "SCOTT: {PLAYER}{KUN}, feeling good?\n"
+ .string "I’m doing great!\p"
+ .string "I’d heard MOSSDEEP’s GYM LEADER is\n"
+ .string "pretty strong, so I decided to come\l"
+ .string "take a look-see for myself.\p"
+ .string "But there’s something wrong about\n"
+ .string "this town.\p"
+ .string "People are going on about a warning\n"
+ .string "letter and the SPACE CENTER…\p"
+ .string "I don’t think it concerns me in any\n"
+ .string "way, though.$"
+
+MossdeepCity_Text_1E5581: @ 81E5581
+ .string "Ahh… It feels great letting the waves\n"
+ .string "wash over my feet…\p"
+ .string "Speaking of the waves, you know that\n"
+ .string "island city SOOTOPOLIS?\p"
+ .string "I think the GYM there had a new\n"
+ .string "LEADER come in.\p"
+ .string "People tell me the new LEADER once\n"
+ .string "mentored WALLACE.$"
+
diff --git a/data/scripts/maps/MossdeepCity_GameCorner_1F.inc b/data/scripts/maps/MossdeepCity_GameCorner_1F.inc
new file mode 100644
index 000000000..ff5c14206
--- /dev/null
+++ b/data/scripts/maps/MossdeepCity_GameCorner_1F.inc
@@ -0,0 +1,80 @@
+MossdeepCity_GameCorner_1F_MapScripts:: @ 8224B27
+ map_script 2, MossdeepCity_GameCorner_1F_MapScript2_224B41
+ map_script 4, MossdeepCity_GameCorner_1F_MapScript2_224B37
+ map_script 1, MossdeepCity_GameCorner_1F_MapScript1_276BBE
+ .byte 0
+
+MossdeepCity_GameCorner_1F_MapScript2_224B37: @ 8224B37
+ map_script_2 VAR_0x4087, 8, MossdeepCity_GameCorner_1F_EventScript_276BAE
+ .2byte 0
+
+MossdeepCity_GameCorner_1F_MapScript2_224B41: @ 8224B41
+ map_script_2 VAR_0x4087, 8, MossdeepCity_GameCorner_1F_EventScript_276C9D
+ .2byte 0
+
+MossdeepCity_GameCorner_1F_EventScript_224B4B:: @ 8224B4B
+ lock
+ faceplayer
+ goto MossdeepCity_GameCorner_1F_EventScript_277C34
+ release
+ end
+
+MossdeepCity_GameCorner_1F_EventScript_224B54:: @ 8224B54
+ lock
+ faceplayer
+ goto MossdeepCity_GameCorner_1F_EventScript_277C91
+ release
+ end
+
+MossdeepCity_GameCorner_1F_EventScript_224B5D:: @ 8224B5D
+ msgbox MossdeepCity_GameCorner_1F_Text_224BFD, 3
+ end
+
+MossdeepCity_GameCorner_1F_Text_224B66: @ 8224B66
+ .string "When I was young, I traveled the world\n"
+ .string "as a POKéMON TRAINER.\p"
+ .string "Now that I’ve become an old buzzard,\n"
+ .string "my only amusement is watching young\l"
+ .string "TRAINERS battle.$"
+
+MossdeepCity_GameCorner_1F_Text_224BFD: @ 8224BFD
+ .string "The door appears to be locked.$"
+
+MossdeepCity_GameCorner_1F_Text_224C1C: @ 8224C1C
+ .string "A TRAINER named {STR_VAR_1} is\n"
+ .string "visiting my home.\p"
+ .string "Would you like to challenge\n"
+ .string "{STR_VAR_1}?$"
+
+MossdeepCity_GameCorner_1F_Text_224C64: @ 8224C64
+ .string "You won’t battle? I’m disappointed\n"
+ .string "that I can’t see you battle…$"
+
+MossdeepCity_GameCorner_1F_Text_224CA4: @ 8224CA4
+ .string "Oh, good, good!\p"
+ .string "But my house isn’t all that sturdy.\p"
+ .string "Could I ask you to keep it down to\n"
+ .string "a 3-on-3 match?$"
+
+MossdeepCity_GameCorner_1F_Text_224D0B: @ 8224D0B
+ .string "Before you two battle, you should\n"
+ .string "save your progress.$"
+
+MossdeepCity_GameCorner_1F_Text_224D41: @ 8224D41
+ .string "I hope to see a good match!$"
+
+MossdeepCity_GameCorner_1F_Text_224D5D: @ 8224D5D
+ .string "So, it became a standoff.\p"
+ .string "It was a brilliant match in which\n"
+ .string "neither side conceded a step!$"
+
+MossdeepCity_GameCorner_1F_Text_224DB7: @ 8224DB7
+ .string "That was superlative!\p"
+ .string "Why, it was like seeing myself in\n"
+ .string "my youth again!$"
+
+MossdeepCity_GameCorner_1F_Text_224DFF: @ 8224DFF
+ .string "Ah, too bad for you!\p"
+ .string "But it was a good match.\n"
+ .string "I hope you can win next time.$"
+
diff --git a/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc b/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc
new file mode 100644
index 000000000..695be3c6e
--- /dev/null
+++ b/data/scripts/maps/MossdeepCity_GameCorner_B1F.inc
@@ -0,0 +1,3 @@
+MossdeepCity_GameCorner_B1F_MapScripts:: @ 8224E4B
+ .byte 0
+
diff --git a/data/scripts/maps/MossdeepCity_Gym.inc b/data/scripts/maps/MossdeepCity_Gym.inc
new file mode 100644
index 000000000..89c243767
--- /dev/null
+++ b/data/scripts/maps/MossdeepCity_Gym.inc
@@ -0,0 +1,658 @@
+MossdeepCity_Gym_MapScripts:: @ 8220800
+ map_script 1, MossdeepCity_Gym_MapScript1_220806
+ .byte 0
+
+MossdeepCity_Gym_MapScript1_220806: @ 8220806
+ checkflag FLAG_0x064
+ goto_eq MossdeepCity_Gym_EventScript_22083D
+ goto MossdeepCity_Gym_EventScript_220815
+ end
+
+MossdeepCity_Gym_EventScript_220815:: @ 8220815
+ checkflag FLAG_0x065
+ goto_eq MossdeepCity_Gym_EventScript_220855
+ goto MossdeepCity_Gym_EventScript_220824
+ end
+
+MossdeepCity_Gym_EventScript_220824:: @ 8220824
+ checkflag FLAG_0x066
+ goto_eq MossdeepCity_Gym_EventScript_22086D
+ goto MossdeepCity_Gym_EventScript_220833
+ end
+
+MossdeepCity_Gym_EventScript_220833:: @ 8220833
+ checkflag FLAG_0x067
+ goto_eq MossdeepCity_Gym_EventScript_220885
+ end
+
+MossdeepCity_Gym_EventScript_22083D:: @ 822083D
+ setmetatile 5, 5, 516, 0
+ setmetatile 2, 7, 569, 1
+ goto MossdeepCity_Gym_EventScript_220815
+ end
+
+MossdeepCity_Gym_EventScript_220855:: @ 8220855
+ setmetatile 8, 14, 516, 0
+ setmetatile 8, 10, 569, 1
+ goto MossdeepCity_Gym_EventScript_220824
+ end
+
+MossdeepCity_Gym_EventScript_22086D:: @ 822086D
+ setmetatile 15, 17, 524, 0
+ setmetatile 17, 15, 569, 1
+ goto MossdeepCity_Gym_EventScript_220833
+ end
+
+MossdeepCity_Gym_EventScript_220885:: @ 8220885
+ setmetatile 1, 23, 525, 0
+ setmetatile 5, 24, 569, 1
+ end
+
+MossdeepCity_Gym_EventScript_220898:: @ 8220898
+ trainerbattle 8, TRAINER_TATE_AND_LIZA_1, 0, MossdeepCity_Gym_Text_221783, MossdeepCity_Gym_Text_2218EC, MossdeepCity_Gym_Text_221BCE, MossdeepCity_Gym_EventScript_2208D1
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MossdeepCity_Gym_EventScript_22097E
+ checkflag FLAG_0x0AB
+ goto_if 0, MossdeepCity_Gym_EventScript_220937
+ msgbox MossdeepCity_Gym_Text_221B1D, 4
+ release
+ end
+
+MossdeepCity_Gym_EventScript_2208D1:: @ 82208D1
+ message MossdeepCity_Gym_Text_22196A
+ waitmessage
+ call MossdeepCity_Gym_EventScript_27207E
+ msgbox MossdeepCity_Gym_Text_221999, 4
+ setflag FLAG_0x4F6
+ setflag FLAG_BADGE07_GET
+ setflag FLAG_0x39C
+ clearflag FLAG_0x365
+ clearflag FLAG_0x393
+ setvar VAR_0x8008, 7
+ call MossdeepCity_Gym_EventScript_271F43
+ clearflag FLAG_0x389
+ clearflag FLAG_0x337
+ clearflag FLAG_0x2F4
+ clearflag FLAG_0x35E
+ clearflag FLAG_0x35F
+ setvar VAR_0x405D, 1
+ setflag FLAG_0x2F1
+ setvar VAR_0x409F, 1
+ call MossdeepCity_Gym_EventScript_22095B
+ closemessage
+ delay 30
+ playfanfare BGM_ME_MATCH_CALL
+ msgbox MossdeepCity_Gym_Text_221AEA, 4
+ waitfanfare
+ closemessage
+ delay 30
+ setflag FLAG_0x1D8
+ release
+ end
+
+MossdeepCity_Gym_EventScript_220937:: @ 8220937
+ giveitem_std ITEM_TM04
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MossdeepCity_Gym_EventScript_272054
+ msgbox MossdeepCity_Gym_Text_221A40, 4
+ setflag FLAG_0x0AB
+ release
+ end
+
+MossdeepCity_Gym_EventScript_22095B:: @ 822095B
+ giveitem_std ITEM_TM04
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MossdeepCity_Gym_EventScript_27205E
+ msgbox MossdeepCity_Gym_Text_221A40, 4
+ setflag FLAG_0x0AB
+ return
+
+MossdeepCity_Gym_EventScript_22097E:: @ 822097E
+ trainerbattle 7, TRAINER_TATE_AND_LIZA_1, 0, MossdeepCity_Gym_Text_221D0B, MossdeepCity_Gym_Text_221E05, MossdeepCity_Gym_Text_221EB8
+ msgbox MossdeepCity_Gym_Text_221E45, 6
+ end
+
+MossdeepCity_Gym_EventScript_220999:: @ 8220999
+ lockall
+ checkflag FLAG_0x064
+ goto_eq MossdeepCity_Gym_EventScript_2209D0
+ setflag FLAG_0x064
+ applymovement 255, MossdeepCity_Gym_Movement_220C30
+ waitmovement 0
+ setmetatile 5, 5, 516, 0
+ setmetatile 2, 7, 569, 1
+ goto MossdeepCity_Gym_EventScript_2209C8
+ end
+
+MossdeepCity_Gym_EventScript_2209C8:: @ 82209C8
+ special DrawWholeMapView
+ playse SE_TK_KASYA
+ releaseall
+ end
+
+MossdeepCity_Gym_EventScript_2209D0:: @ 82209D0
+ clearflag FLAG_0x064
+ applymovement 255, MossdeepCity_Gym_Movement_220C30
+ waitmovement 0
+ setmetatile 5, 5, 524, 0
+ setmetatile 2, 7, 568, 1
+ goto MossdeepCity_Gym_EventScript_2209C8
+ end
+
+MossdeepCity_Gym_EventScript_2209F5:: @ 82209F5
+ lockall
+ checkflag FLAG_0x065
+ goto_eq MossdeepCity_Gym_EventScript_220A24
+ setflag FLAG_0x065
+ applymovement 255, MossdeepCity_Gym_Movement_220C30
+ waitmovement 0
+ setmetatile 8, 14, 516, 0
+ setmetatile 8, 10, 569, 1
+ goto MossdeepCity_Gym_EventScript_2209C8
+ end
+
+MossdeepCity_Gym_EventScript_220A24:: @ 8220A24
+ clearflag FLAG_0x065
+ applymovement 255, MossdeepCity_Gym_Movement_220C30
+ waitmovement 0
+ setmetatile 8, 14, 517, 0
+ setmetatile 8, 10, 568, 1
+ goto MossdeepCity_Gym_EventScript_2209C8
+ end
+
+MossdeepCity_Gym_EventScript_220A49:: @ 8220A49
+ lockall
+ checkflag FLAG_0x066
+ goto_eq MossdeepCity_Gym_EventScript_220A78
+ setflag FLAG_0x066
+ applymovement 255, MossdeepCity_Gym_Movement_220C30
+ waitmovement 0
+ setmetatile 15, 17, 524, 0
+ setmetatile 17, 15, 569, 1
+ goto MossdeepCity_Gym_EventScript_2209C8
+ end
+
+MossdeepCity_Gym_EventScript_220A78:: @ 8220A78
+ clearflag FLAG_0x066
+ applymovement 255, MossdeepCity_Gym_Movement_220C30
+ waitmovement 0
+ setmetatile 15, 17, 516, 0
+ setmetatile 17, 15, 568, 1
+ goto MossdeepCity_Gym_EventScript_2209C8
+ end
+
+MossdeepCity_Gym_EventScript_220A9D:: @ 8220A9D
+ lockall
+ checkflag FLAG_0x067
+ goto_eq MossdeepCity_Gym_EventScript_220ACC
+ setflag FLAG_0x067
+ applymovement 255, MossdeepCity_Gym_Movement_220C30
+ waitmovement 0
+ setmetatile 1, 23, 525, 0
+ setmetatile 5, 24, 569, 1
+ goto MossdeepCity_Gym_EventScript_2209C8
+ end
+
+MossdeepCity_Gym_EventScript_220ACC:: @ 8220ACC
+ clearflag FLAG_0x067
+ applymovement 255, MossdeepCity_Gym_Movement_220C30
+ waitmovement 0
+ setmetatile 1, 23, 516, 0
+ setmetatile 5, 24, 568, 1
+ goto MossdeepCity_Gym_EventScript_2209C8
+ end
+
+MossdeepCity_Gym_EventScript_220AF1:: @ 8220AF1
+ lockall
+ warp7 MOSSDEEP_CITY_GYM, 255, 7, 30
+ waitstate
+ releaseall
+ end
+
+MossdeepCity_Gym_EventScript_220AFD:: @ 8220AFD
+ trainerbattle 0, TRAINER_PRESTON, 0, MossdeepCity_Gym_Text_220E5C, MossdeepCity_Gym_Text_220EAC
+ msgbox MossdeepCity_Gym_Text_220ED3, 6
+ end
+
+MossdeepCity_Gym_EventScript_220B14:: @ 8220B14
+ trainerbattle 0, TRAINER_VIRGIL, 0, MossdeepCity_Gym_Text_220F02, MossdeepCity_Gym_Text_220F1A
+ msgbox MossdeepCity_Gym_Text_220F3A, 6
+ end
+
+MossdeepCity_Gym_EventScript_220B2B:: @ 8220B2B
+ trainerbattle 0, TRAINER_BLAKE, 0, MossdeepCity_Gym_Text_220FB0, MossdeepCity_Gym_Text_221024
+ msgbox MossdeepCity_Gym_Text_221055, 6
+ end
+
+MossdeepCity_Gym_EventScript_220B42:: @ 8220B42
+ trainerbattle 0, TRAINER_HANNAH, 0, MossdeepCity_Gym_Text_2210EE, MossdeepCity_Gym_Text_221152
+ msgbox MossdeepCity_Gym_Text_22116A, 6
+ end
+
+MossdeepCity_Gym_EventScript_220B59:: @ 8220B59
+ trainerbattle 0, TRAINER_SAMANTHA, 0, MossdeepCity_Gym_Text_2211E2, MossdeepCity_Gym_Text_221230
+ msgbox MossdeepCity_Gym_Text_22123D, 6
+ end
+
+MossdeepCity_Gym_EventScript_220B70:: @ 8220B70
+ trainerbattle 0, TRAINER_MAURA, 0, MossdeepCity_Gym_Text_2212A6, MossdeepCity_Gym_Text_221309
+ msgbox MossdeepCity_Gym_Text_22132E, 6
+ end
+
+MossdeepCity_Gym_EventScript_220B87:: @ 8220B87
+ trainerbattle 0, TRAINER_SYLVIA, 0, MossdeepCity_Gym_Text_2213C2, MossdeepCity_Gym_Text_2213F4
+ msgbox MossdeepCity_Gym_Text_221412, 6
+ end
+
+MossdeepCity_Gym_EventScript_220B9E:: @ 8220B9E
+ trainerbattle 0, TRAINER_NATE, 0, MossdeepCity_Gym_Text_221460, MossdeepCity_Gym_Text_2214A7
+ msgbox MossdeepCity_Gym_Text_2214D3, 6
+ end
+
+MossdeepCity_Gym_EventScript_220BB5:: @ 8220BB5
+ trainerbattle 0, TRAINER_MACEY, 0, MossdeepCity_Gym_Text_22161B, MossdeepCity_Gym_Text_221658
+ msgbox MossdeepCity_Gym_Text_221680, 6
+ end
+
+MossdeepCity_Gym_EventScript_220BCC:: @ 8220BCC
+ trainerbattle 0, TRAINER_CLIFFORD, 0, MossdeepCity_Gym_Text_22157C, MossdeepCity_Gym_Text_2215B8
+ msgbox MossdeepCity_Gym_Text_2215E2, 6
+ end
+
+MossdeepCity_Gym_EventScript_220BE3:: @ 8220BE3
+ trainerbattle 0, TRAINER_NICHOLAS, 0, MossdeepCity_Gym_Text_2216EE, MossdeepCity_Gym_Text_22172D
+ msgbox MossdeepCity_Gym_Text_22173A, 6
+ end
+
+MossdeepCity_Gym_EventScript_220BFA:: @ 8220BFA
+ trainerbattle 0, TRAINER_KATHLEEN, 0, MossdeepCity_Gym_Text_221507, MossdeepCity_Gym_Text_22153B
+ msgbox MossdeepCity_Gym_Text_221545, 6
+ end
+
+MossdeepCity_Gym_EventScript_220C11:: @ 8220C11
+ lock
+ faceplayer
+ checkflag FLAG_0x4F6
+ goto_eq MossdeepCity_Gym_EventScript_220C26
+ msgbox MossdeepCity_Gym_Text_220CD5, 4
+ release
+ end
+
+MossdeepCity_Gym_EventScript_220C26:: @ 8220C26
+ msgbox MossdeepCity_Gym_Text_220E2A, 4
+ release
+ end
+
+MossdeepCity_Gym_Movement_220C30: @ 8220C30
+ step_14
+ step_14
+ step_end
+
+MossdeepCity_Gym_EventScript_220C33:: @ 8220C33
+ lockall
+ checkflag FLAG_BADGE07_GET
+ goto_eq MossdeepCity_Gym_EventScript_220C53
+ goto MossdeepCity_Gym_EventScript_220C5D
+ end
+
+MossdeepCity_Gym_EventScript_220C43:: @ 8220C43
+ lockall
+ checkflag FLAG_BADGE07_GET
+ goto_eq MossdeepCity_Gym_EventScript_220C53
+ goto MossdeepCity_Gym_EventScript_220C5D
+ end
+
+MossdeepCity_Gym_EventScript_220C53:: @ 8220C53
+ msgbox MossdeepCity_Gym_Text_221CCA, 4
+ releaseall
+ end
+
+MossdeepCity_Gym_EventScript_220C5D:: @ 8220C5D
+ msgbox MossdeepCity_Gym_Text_221CB0, 4
+ releaseall
+ end
+
+MossdeepCity_Gym_EventScript_220C67:: @ 8220C67
+ playse SE_MU_PACHI
+ waitse
+ playse SE_TU_SAA
+ mossdeepgym3 0
+ mossdeepgym1 0
+ waitmovement 0
+ mossdeepgym2
+ waitmovement 0
+ mossdeepgym4
+ end
+
+MossdeepCity_Gym_EventScript_220C7D:: @ 8220C7D
+ playse SE_MU_PACHI
+ waitse
+ playse SE_TU_SAA
+ mossdeepgym3 0
+ mossdeepgym1 1
+ waitmovement 0
+ mossdeepgym2
+ waitmovement 0
+ mossdeepgym4
+ end
+
+MossdeepCity_Gym_EventScript_220C93:: @ 8220C93
+ playse SE_MU_PACHI
+ waitse
+ playse SE_TU_SAA
+ mossdeepgym3 0
+ mossdeepgym1 2
+ waitmovement 0
+ mossdeepgym2
+ waitmovement 0
+ mossdeepgym4
+ end
+
+MossdeepCity_Gym_EventScript_220CA9:: @ 8220CA9
+ playse SE_MU_PACHI
+ waitse
+ playse SE_TU_SAA
+ mossdeepgym3 0
+ mossdeepgym1 3
+ waitmovement 0
+ mossdeepgym2
+ waitmovement 0
+ mossdeepgym4
+ end
+
+MossdeepCity_Gym_EventScript_220CBF:: @ 8220CBF
+ playse SE_MU_PACHI
+ waitse
+ playse SE_TU_SAA
+ mossdeepgym3 0
+ mossdeepgym1 4
+ waitmovement 0
+ mossdeepgym2
+ waitmovement 0
+ mossdeepgym4
+ end
+
+MossdeepCity_Gym_Text_220CD5: @ 8220CD5
+ .string "Yo, how’s it going, CHAMPION-bound\n"
+ .string "{PLAYER}?\p"
+ .string "The GYM LEADERS here use\n"
+ .string "PSYCHIC-type POKéMON.\p"
+ .string "If you go up against them with\n"
+ .string "FIGHTING- or POISON-type POKéMON,\l"
+ .string "they’ll inflict horrible damage!\p"
+ .string "Plus, they’ll come at you with\n"
+ .string "outstanding combination attacks.\p"
+ .string "If you want to win, you’ll need to show\n"
+ .string "them how tight you are with your\l"
+ .string "POKéMON. Go for it!$"
+
+MossdeepCity_Gym_Text_220E2A: @ 8220E2A
+ .string "Wow, you’re astounding!\n"
+ .string "You’re one great TRAINER!$"
+
+MossdeepCity_Gym_Text_220E5C: @ 8220E5C
+ .string "Battles hinge on the strength of your\n"
+ .string "spirit! The weak-spirited will never win!$"
+
+MossdeepCity_Gym_Text_220EAC: @ 8220EAC
+ .string "I lost!\n"
+ .string "I must temper my spirit again!$"
+
+MossdeepCity_Gym_Text_220ED3: @ 8220ED3
+ .string "The indecisive lose.\n"
+ .string "That’s my warning to you.$"
+
+MossdeepCity_Gym_Text_220F02: @ 8220F02
+ .string "Let me see your talent!$"
+
+MossdeepCity_Gym_Text_220F1A: @ 8220F1A
+ .string "You possess spectacular talent!$"
+
+MossdeepCity_Gym_Text_220F3A: @ 8220F3A
+ .string "If there are prodigies in the world,\n"
+ .string "then our GYM LEADERS are them!\p"
+ .string "However, you may be even more talented\n"
+ .string "than them…$"
+
+MossdeepCity_Gym_Text_220FB0: @ 8220FB0
+ .string "Fufufufu… Watch me levitate a POKé\n"
+ .string "BALL telekinetically!\p"
+ .string "Wrooooooooaaaar!\n"
+ .string "… … … … … … …\p"
+ .string "Sometimes, I’m out of sync…$"
+
+MossdeepCity_Gym_Text_221024: @ 8221024
+ .string "My POKéMON battling skills are out\n"
+ .string "of sync, too!$"
+
+MossdeepCity_Gym_Text_221055: @ 8221055
+ .string "A POKé BALL was too heavy to lift\n"
+ .string "psychically. But this dust bunny…\p"
+ .string "Whoooooooooooooooh!\n"
+ .string "… … … … … …\p"
+ .string "No, I’m not cheating!\n"
+ .string "I didn’t blow on it! Honestly!$"
+
+MossdeepCity_Gym_Text_2210EE: @ 82210EE
+ .string "When you lose to me, don’t be too hard\n"
+ .string "on yourself.\p"
+ .string "It’s not that you’re weak--I’m just\n"
+ .string "too strong!$"
+
+MossdeepCity_Gym_Text_221152: @ 8221152
+ .string "You’re just too strong!$"
+
+MossdeepCity_Gym_Text_22116A: @ 822116A
+ .string "I’m not going to get down on myself for\n"
+ .string "losing. I just need to train harder.\p"
+ .string "Positive thinking--that’s my strong\n"
+ .string "point!$"
+
+MossdeepCity_Gym_Text_2211E2: @ 82211E2
+ .string "I see it…\n"
+ .string "I see your future…\p"
+ .string "If you can beat me, I will tell you\n"
+ .string "your future!$"
+
+MossdeepCity_Gym_Text_221230: @ 8221230
+ .string "I surrender!$"
+
+MossdeepCity_Gym_Text_22123D: @ 822123D
+ .string "You will wage a terrifically intense\n"
+ .string "battle with our GYM LEADERS…\p"
+ .string "The result…\n"
+ .string "You won’t hear it from me!$"
+
+MossdeepCity_Gym_Text_2212A6: @ 82212A6
+ .string "The roads you have traveled…\n"
+ .string "What you have experienced…\p"
+ .string "Come at me with everything you’ve\n"
+ .string "learned!$"
+
+MossdeepCity_Gym_Text_221309: @ 8221309
+ .string "You’ve traveled a path of greatness!$"
+
+MossdeepCity_Gym_Text_22132E: @ 822132E
+ .string "A bright future awaits those who have\n"
+ .string "worked diligently.\p"
+ .string "For those who lazed idly, there is\n"
+ .string "only despair at the end.\p"
+ .string "What goes around comes around…$"
+
+MossdeepCity_Gym_Text_2213C2: @ 82213C2
+ .string "Even at the risk of life, I will win\n"
+ .string "this battle!$"
+
+MossdeepCity_Gym_Text_2213F4: @ 82213F4
+ .string "What you do…\n"
+ .string "It horrifies me…$"
+
+MossdeepCity_Gym_Text_221412: @ 8221412
+ .string "How dare you beat me…\p"
+ .string "It won’t be my fault if something\n"
+ .string "horrible befalls you…$"
+
+MossdeepCity_Gym_Text_221460: @ 8221460
+ .string "Hohoho.\p"
+ .string "You need me to show you how tenacious\n"
+ .string "the PSYCHIC type can be.$"
+
+MossdeepCity_Gym_Text_2214A7: @ 82214A7
+ .string "Oh! My, my!\n"
+ .string "Your battle style is fantastic!$"
+
+MossdeepCity_Gym_Text_2214D3: @ 82214D3
+ .string "I… I don’t let defeat rattle m-me,\n"
+ .string "however b-badly.$"
+
+MossdeepCity_Gym_Text_221507: @ 8221507
+ .string "Let me show you a perfectly awful,\n"
+ .string "horrifying time!$"
+
+MossdeepCity_Gym_Text_22153B: @ 822153B
+ .string "N-nooooo!$"
+
+MossdeepCity_Gym_Text_221545: @ 8221545
+ .string "Your vitality is contagious!\n"
+ .string "Get away from me quickly!$"
+
+MossdeepCity_Gym_Text_22157C: @ 822157C
+ .string "I may be past my prime, but I suggest\n"
+ .string "you not patronize me.$"
+
+MossdeepCity_Gym_Text_2215B8: @ 82215B8
+ .string "Ah, you overflow with the power\n"
+ .string "of youth!$"
+
+MossdeepCity_Gym_Text_2215E2: @ 82215E2
+ .string "It seems that I could not overcome\n"
+ .string "your youthful energy.$"
+
+MossdeepCity_Gym_Text_22161B: @ 822161B
+ .string "You’re not getting through to the end!\n"
+ .string "Not if I can help it!$"
+
+MossdeepCity_Gym_Text_221658: @ 8221658
+ .string "How could you be so ludicrously\n"
+ .string "strong?$"
+
+MossdeepCity_Gym_Text_221680: @ 8221680
+ .string "Humph! You may be strong, but you’re\n"
+ .string "not suitable for the PSYCHIC type!\p"
+ .string "The way you battle is somehow brutal!$"
+
+MossdeepCity_Gym_Text_2216EE: @ 82216EE
+ .string "Wroooar! Have a taste of my super\n"
+ .string "POKéMON hard-battling power!$"
+
+MossdeepCity_Gym_Text_22172D: @ 822172D
+ .string "Oh!\n"
+ .string "Done in!$"
+
+MossdeepCity_Gym_Text_22173A: @ 822173A
+ .string "All right! I think I’ll develop a special\n"
+ .string "invincible POKéMON power next.$"
+
+MossdeepCity_Gym_Text_221783: @ 8221783
+ .string "TATE: Hehehe… Were you surprised?\p"
+ .string "LIZA: Fufufu… Were you surprised?\p"
+ .string "TATE: That there are two GYM LEADERS?\n"
+ .string "LIZA: That there are two GYM LEADERS?\p"
+ .string "TATE: We’re twins!\n"
+ .string "LIZA: We’re twins!\p"
+ .string "TATE: We don’t need to talk because…\n"
+ .string "LIZA: We can each determine what…\p"
+ .string "TATE: The other is thinking…\n"
+ .string "LIZA: All in our minds!\p"
+ .string "TATE: This combination of ours…\n"
+ .string "LIZA: Can you beat it?$"
+
+MossdeepCity_Gym_Text_2218EC: @ 82218EC
+ .string "TATE: What?! Our combination…\n"
+ .string "LIZA: Was shattered!\p"
+ .string "TATE: It can’t be helped. You’ve won…\n"
+ .string "LIZA: So, in recognition, take this.$"
+
+MossdeepCity_Gym_Text_22196A: @ 822196A
+ .string "{PLAYER} received the MIND BADGE\n"
+ .string "from TATE and LIZA.$"
+
+MossdeepCity_Gym_Text_221999: @ 8221999
+ .string "TATE: The MIND BADGE enhances the\n"
+ .string "SP. ATK and SP. DEF of POKéMON.\p"
+ .string "LIZA: It also lets you use the HM move\n"
+ .string "DIVE outside of battle.\p"
+ .string "TATE: You should also take this, too.$"
+
+MossdeepCity_Gym_Text_221A40: @ 8221A40
+ .string "TATE: That TM04 contains…\n"
+ .string "LIZA: CALM MIND!\p"
+ .string "TATE: It raises SP. ATK and…\n"
+ .string "LIZA: It raises SP. DEF!\p"
+ .string "TATE: It’s a move that’s perfect…\n"
+ .string "LIZA: For PSYCHIC POKéMON!\p"
+ .string "… … … … … …$"
+
+MossdeepCity_Gym_Text_221AEA: @ 8221AEA
+ .string "Registered GYM LEADERS TATE & LIZA\n"
+ .string "in the POKéNAV.$"
+
+MossdeepCity_Gym_Text_221B1D: @ 8221B1D
+ .string "TATE: Looks like the bond between you\n"
+ .string "and your POKéMON is far stronger than\l"
+ .string "the bond that we share as twins.\p"
+ .string "LIZA: You will become even stronger!\n"
+ .string "We’ve battled you, so we know.$"
+
+MossdeepCity_Gym_Text_221BCE: @ 8221BCE
+ .string "TATE: Hehehe… Were you surprised?\p"
+ .string "LIZA: That there are two GYM LEADERS?\p"
+ .string "TATE: Oops, you have only one…\n"
+ .string "LIZA: POKéMON that can battle.\p"
+ .string "TATE: We can’t battle that way!\p"
+ .string "LIZA: If you want to challenge us,\n"
+ .string "bring some more POKéMON.$"
+
+MossdeepCity_Gym_Text_221CB0: @ 8221CB0
+ .string "MOSSDEEP CITY POKéMON GYM$"
+
+MossdeepCity_Gym_Text_221CCA: @ 8221CCA
+ .string "MOSSDEEP CITY POKéMON GYM\p"
+ .string "LIZA AND TATE’S CERTIFIED TRAINERS:\n"
+ .string "{PLAYER}$"
+
+MossdeepCity_Gym_Text_221D0B: @ 8221D0B
+ .string "TATE: POKéMON…\n"
+ .string "LIZA: POKéMON…\p"
+ .string "TATE: By changing the party’s mix…\n"
+ .string "LIZA: The battle style changes.\p"
+ .string "TATE: But me…\n"
+ .string "LIZA: But me…\p"
+ .string "TATE: I’ll always be with LIZA!\n"
+ .string "LIZA: I’ll always be with TATE!\p"
+ .string "TATE: Our combination…\n"
+ .string "LIZA: We’ll show you again and again!$"
+
+MossdeepCity_Gym_Text_221E05: @ 8221E05
+ .string "TATE: You and your POKéMON…\n"
+ .string "LIZA: It’s as if you were siblings!$"
+
+MossdeepCity_Gym_Text_221E45: @ 8221E45
+ .string "TATE: You can knock us down,\n"
+ .string "but we’ll never stay down!\p"
+ .string "LIZA: Because the two of us,\n"
+ .string "we always support each other!$"
+
+MossdeepCity_Gym_Text_221EB8: @ 8221EB8
+ .string "TATE: You’re back again…\n"
+ .string "LIZA: You’re back again…\p"
+ .string "TATE: To give us a rematch.\n"
+ .string "LIZA: To give us a rematch.\p"
+ .string "TATE: But…\n"
+ .string "LIZA: For our match…\p"
+ .string "TATE: You brought just one POKéMON!\n"
+ .string "LIZA: You brought just one POKéMON!\p"
+ .string "TATE: We need you to bring at least…\n"
+ .string "LIZA: Two POKéMON when you come back.$"
+
diff --git a/data/scripts/maps/MossdeepCity_House1.inc b/data/scripts/maps/MossdeepCity_House1.inc
new file mode 100644
index 000000000..f6c3eac63
--- /dev/null
+++ b/data/scripts/maps/MossdeepCity_House1.inc
@@ -0,0 +1,42 @@
+MossdeepCity_House1_MapScripts:: @ 8221FD5
+ .byte 0
+
+MossdeepCity_House1_EventScript_221FD6:: @ 8221FD6
+ lock
+ faceplayer
+ bufferleadmonspeciesname 0
+ msgbox MossdeepCity_House1_Text_22200F, 4
+ specialvar VAR_RESULT, sub_81391D0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MossdeepCity_House1_EventScript_221FFC
+ msgbox MossdeepCity_House1_Text_22201D, 4
+ release
+ end
+
+MossdeepCity_House1_EventScript_221FFC:: @ 8221FFC
+ msgbox MossdeepCity_House1_Text_222068, 4
+ release
+ end
+
+MossdeepCity_House1_EventScript_222006:: @ 8222006
+ msgbox MossdeepCity_House1_Text_222099, 2
+ end
+
+MossdeepCity_House1_Text_22200F: @ 822200F
+ .string "Hmm!\n"
+ .string "Your {STR_VAR_1}…$"
+
+MossdeepCity_House1_Text_22201D: @ 822201D
+ .string "It likes {STR_VAR_1}S,\n"
+ .string "doesn’t it?\p"
+ .string "No, I’m positive of it! It definitely\n"
+ .string "likes {STR_VAR_1}S!$"
+
+MossdeepCity_House1_Text_222068: @ 8222068
+ .string "It doesn’t appear to like or dislike\n"
+ .string "any {POKEBLOCK}S.$"
+
+MossdeepCity_House1_Text_222099: @ 8222099
+ .string "My husband can tell what kind of\n"
+ .string "{POKEBLOCK}S a POKéMON likes at a glance.$"
+
diff --git a/data/scripts/maps/MossdeepCity_House2.inc b/data/scripts/maps/MossdeepCity_House2.inc
new file mode 100644
index 000000000..22092b6b3
--- /dev/null
+++ b/data/scripts/maps/MossdeepCity_House2.inc
@@ -0,0 +1,70 @@
+MossdeepCity_House2_MapScripts:: @ 82220DE
+ .byte 0
+
+MossdeepCity_House2_EventScript_2220DF:: @ 82220DF
+ msgbox MossdeepCity_House2_Text_222146, 2
+ end
+
+MossdeepCity_House2_EventScript_2220E8:: @ 82220E8
+ msgbox MossdeepCity_House2_Text_2221A6, 2
+ end
+
+MossdeepCity_House2_EventScript_2220F1:: @ 82220F1
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_WINGULL, 0
+ msgbox MossdeepCity_House2_Text_22222E, 4
+ waitmoncry
+ closemessage
+ setflag FLAG_0x0E0
+ clearflag FLAG_0x3A5
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, MossdeepCity_House2_EventScript_222124
+ compare_var_to_value VAR_FACING, 3
+ call_if 1, MossdeepCity_House2_EventScript_22212F
+ removeobject 3
+ release
+ end
+
+MossdeepCity_House2_EventScript_222124:: @ 8222124
+ applymovement 3, MossdeepCity_House2_Movement_22213A
+ waitmovement 0
+ return
+
+MossdeepCity_House2_EventScript_22212F:: @ 822212F
+ applymovement 3, MossdeepCity_House2_Movement_222141
+ waitmovement 0
+ return
+
+MossdeepCity_House2_Movement_22213A: @ 822213A
+ step_18
+ step_15
+ step_15
+ step_17
+ step_15
+ step_13
+ step_end
+
+MossdeepCity_House2_Movement_222141: @ 8222141
+ step_15
+ step_15
+ step_15
+ step_13
+ step_end
+
+MossdeepCity_House2_Text_222146: @ 8222146
+ .string "My little sister exchanges MAIL with\n"
+ .string "her boyfriend in FORTREE.\p"
+ .string "I don’t envy her one bit at all.$"
+
+MossdeepCity_House2_Text_2221A6: @ 82221A6
+ .string "Even though I can’t see my friend in\n"
+ .string "FORTREE, my POKéMON carries MAIL\l"
+ .string "back and forth for us.\p"
+ .string "I’m not lonesome, even though we’re\n"
+ .string "apart.$"
+
+MossdeepCity_House2_Text_22222E: @ 822222E
+ .string "WINGULL: Pihyoh!$"
+
diff --git a/data/scripts/maps/MossdeepCity_House3.inc b/data/scripts/maps/MossdeepCity_House3.inc
new file mode 100644
index 000000000..2209a68a0
--- /dev/null
+++ b/data/scripts/maps/MossdeepCity_House3.inc
@@ -0,0 +1,52 @@
+MossdeepCity_House3_MapScripts:: @ 82225C2
+ .byte 0
+
+MossdeepCity_House3_EventScript_2225C3:: @ 82225C3
+ lock
+ faceplayer
+ checkflag FLAG_0x098
+ goto_eq MossdeepCity_House3_EventScript_222602
+ msgbox MossdeepCity_House3_Text_222616, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MossdeepCity_House3_EventScript_22260C
+ msgbox MossdeepCity_House3_Text_2226B6, 4
+ giveitem_std ITEM_SUPER_ROD
+ setflag FLAG_0x098
+ msgbox MossdeepCity_House3_Text_2226F0, 4
+ release
+ end
+
+MossdeepCity_House3_EventScript_222602:: @ 8222602
+ msgbox MossdeepCity_House3_Text_222751, 4
+ release
+ end
+
+MossdeepCity_House3_EventScript_22260C:: @ 822260C
+ msgbox MossdeepCity_House3_Text_222733, 4
+ release
+ end
+
+MossdeepCity_House3_Text_222616: @ 8222616
+ .string "Hey there, TRAINER!\n"
+ .string "A SUPER ROD really is super!\p"
+ .string "Say all you want, but this baby can\n"
+ .string "catch POKéMON off the seafloor!\p"
+ .string "What do you think?\n"
+ .string "You want it, don’t you?$"
+
+MossdeepCity_House3_Text_2226B6: @ 82226B6
+ .string "You bet, you bet!\n"
+ .string "After all, a SUPER ROD is really super!$"
+
+MossdeepCity_House3_Text_2226F0: @ 82226F0
+ .string "If there’s any water, try dropping in\n"
+ .string "your ROD and see what bites!$"
+
+MossdeepCity_House3_Text_222733: @ 8222733
+ .string "Hunh?\n"
+ .string "Don’t you like to fish?$"
+
+MossdeepCity_House3_Text_222751: @ 8222751
+ .string "Go after the seafloor POKéMON with\n"
+ .string "your SUPER ROD.$"
+
diff --git a/data/scripts/maps/MossdeepCity_House4.inc b/data/scripts/maps/MossdeepCity_House4.inc
new file mode 100644
index 000000000..e95528a20
--- /dev/null
+++ b/data/scripts/maps/MossdeepCity_House4.inc
@@ -0,0 +1,63 @@
+MossdeepCity_House4_MapScripts:: @ 8222DD7
+ .byte 0
+
+MossdeepCity_House4_EventScript_222DD8:: @ 8222DD8
+ lock
+ faceplayer
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_eq MossdeepCity_House4_EventScript_222DED
+ msgbox MossdeepCity_House4_Text_222E31, 4
+ release
+ end
+
+MossdeepCity_House4_EventScript_222DED:: @ 8222DED
+ msgbox MossdeepCity_House4_Text_222E73, 4
+ release
+ end
+
+MossdeepCity_House4_EventScript_222DF7:: @ 8222DF7
+ lock
+ faceplayer
+ special sub_80E8BC8
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MossdeepCity_House4_EventScript_222E14
+ special sub_8139200
+ msgbox MossdeepCity_House4_Text_222ECC, 4
+ release
+ end
+
+MossdeepCity_House4_EventScript_222E14:: @ 8222E14
+ msgbox MossdeepCity_House4_Text_222EF7, 4
+ release
+ end
+
+MossdeepCity_House4_EventScript_222E1E:: @ 8222E1E
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_SKITTY, 0
+ msgbox MossdeepCity_House4_Text_222F31, 4
+ waitmoncry
+ release
+ end
+
+MossdeepCity_House4_Text_222E31: @ 8222E31
+ .string "My little brother says he likes to go\n"
+ .string "find people’s SECRET BASES.$"
+
+MossdeepCity_House4_Text_222E73: @ 8222E73
+ .string "My little brother says he likes to\n"
+ .string "visit people’s SECRET BASES and have\l"
+ .string "POKéMON battles.$"
+
+MossdeepCity_House4_Text_222ECC: @ 8222ECC
+ .string "Was it you who made a SECRET BASE\n"
+ .string "near {STR_VAR_1}?$"
+
+MossdeepCity_House4_Text_222EF7: @ 8222EF7
+ .string "You should make a SECRET BASE\n"
+ .string "somewhere. I’ll go find it!$"
+
+MossdeepCity_House4_Text_222F31: @ 8222F31
+ .string "SKITTY: Miyaan?$"
+
diff --git a/data/scripts/maps/MossdeepCity_Mart.inc b/data/scripts/maps/MossdeepCity_Mart.inc
new file mode 100644
index 000000000..ed7ecd035
--- /dev/null
+++ b/data/scripts/maps/MossdeepCity_Mart.inc
@@ -0,0 +1,60 @@
+MossdeepCity_Mart_MapScripts:: @ 82223C7
+ .byte 0
+
+MossdeepCity_Mart_EventScript_2223C8:: @ 82223C8
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemart MossdeepCity_Mart_Pokemart_2223E0
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+MossdeepCity_Mart_Pokemart_2223E0: @ 82223E0
+ .2byte ITEM_ULTRA_BALL
+ .2byte ITEM_NET_BALL
+ .2byte ITEM_DIVE_BALL
+ .2byte ITEM_HYPER_POTION
+ .2byte ITEM_FULL_HEAL
+ .2byte ITEM_REVIVE
+ .2byte ITEM_MAX_REPEL
+ .2byte ITEM_X_ATTACK
+ .2byte ITEM_X_DEFEND
+ .2byte ITEM_NONE
+ release
+ end
+
+MossdeepCity_Mart_EventScript_2223F6:: @ 82223F6
+ msgbox MossdeepCity_Mart_Text_222411, 2
+ end
+
+MossdeepCity_Mart_EventScript_2223FF:: @ 82223FF
+ msgbox MossdeepCity_Mart_Text_2224A0, 2
+ end
+
+MossdeepCity_Mart_EventScript_222408:: @ 8222408
+ msgbox MossdeepCity_Mart_Text_2224FA, 2
+ end
+
+MossdeepCity_Mart_Text_222411: @ 8222411
+ .string "REVIVE is fantastic!\p"
+ .string "Give it to a fainted POKéMON,\n"
+ .string "and the POKéMON will arise.\p"
+ .string "But be careful, REVIVE doesn’t restore\n"
+ .string "the used-up PP of moves.$"
+
+MossdeepCity_Mart_Text_2224A0: @ 82224A0
+ .string "MAX REPEL keeps all weak POKéMON away.\p"
+ .string "Out of all the REPEL sprays, it lasts\n"
+ .string "the longest.$"
+
+MossdeepCity_Mart_Text_2224FA: @ 82224FA
+ .string "The NET and DIVE BALLS are rare POKé\n"
+ .string "BALLS that are only made in MOSSDEEP.\p"
+ .string "A NET BALL is effective against\n"
+ .string "BUG-type and WATER-type POKéMON.\p"
+ .string "A DIVE BALL works best on POKéMON\n"
+ .string "at the bottom of the sea.$"
+
diff --git a/data/scripts/maps/MossdeepCity_PokemonCenter_1F.inc b/data/scripts/maps/MossdeepCity_PokemonCenter_1F.inc
new file mode 100644
index 000000000..7fd2e61a0
--- /dev/null
+++ b/data/scripts/maps/MossdeepCity_PokemonCenter_1F.inc
@@ -0,0 +1,36 @@
+MossdeepCity_PokemonCenter_1F_MapScripts:: @ 822223F
+ map_script 3, MossdeepCity_PokemonCenter_1F_MapScript1_22224A
+ map_script 5, MossdeepCity_PokemonCenter_1F_MapScript1_277C30
+ .byte 0
+
+MossdeepCity_PokemonCenter_1F_MapScript1_22224A: @ 822224A
+ setrespawn 9
+ end
+
+MossdeepCity_PokemonCenter_1F_EventScript_22224E:: @ 822224E
+ setvar VAR_0x800B, 1
+ call MossdeepCity_PokemonCenter_1F_EventScript_27191E
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+MossdeepCity_PokemonCenter_1F_EventScript_22225C:: @ 822225C
+ msgbox MossdeepCity_PokemonCenter_1F_Text_22226E, 2
+ end
+
+MossdeepCity_PokemonCenter_1F_EventScript_222265:: @ 8222265
+ msgbox MossdeepCity_PokemonCenter_1F_Text_2222D9, 2
+ end
+
+MossdeepCity_PokemonCenter_1F_Text_22226E: @ 822226E
+ .string "The GYM LEADERS in this town are\n"
+ .string "a formidable duo.\p"
+ .string "Their combination attacks are, like,\n"
+ .string "excellent and wow!$"
+
+MossdeepCity_PokemonCenter_1F_Text_2222D9: @ 82222D9
+ .string "Depending on the special abilities of\n"
+ .string "POKéMON, some moves might change\l"
+ .string "or not work at all.$"
+
diff --git a/data/scripts/maps/MossdeepCity_PokemonCenter_2F.inc b/data/scripts/maps/MossdeepCity_PokemonCenter_2F.inc
new file mode 100644
index 000000000..142bce560
--- /dev/null
+++ b/data/scripts/maps/MossdeepCity_PokemonCenter_2F.inc
@@ -0,0 +1,28 @@
+MossdeepCity_PokemonCenter_2F_MapScripts:: @ 8222334
+ map_script 2, MossdeepCity_PokemonCenter_2F_MapScript2_276C3B
+ map_script 4, MossdeepCity_PokemonCenter_2F_MapScript2_276B6C
+ map_script 1, MossdeepCity_PokemonCenter_2F_MapScript1_276BBE
+ map_script 3, MossdeepCity_PokemonCenter_2F_MapScript1_276ACF
+ .byte 0
+
+MossdeepCity_PokemonCenter_2F_EventScript_222349:: @ 8222349
+ call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+ end
+
+MossdeepCity_PokemonCenter_2F_EventScript_22234F:: @ 822234F
+ call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+ end
+
+MossdeepCity_PokemonCenter_2F_EventScript_222355:: @ 8222355
+ call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+ end
+
+MossdeepCity_PokemonCenter_2F_EventScript_22235B:: @ 822235B
+ msgbox MossdeepCity_PokemonCenter_2F_Text_222364, 2
+ end
+
+MossdeepCity_PokemonCenter_2F_Text_222364: @ 8222364
+ .string "If I win a whole lot of link battles\n"
+ .string "and show everyone how good I am,\l"
+ .string "I might get a fan following!$"
+
diff --git a/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc b/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc
new file mode 100644
index 000000000..f69a45029
--- /dev/null
+++ b/data/scripts/maps/MossdeepCity_SpaceCenter_1F.inc
@@ -0,0 +1,439 @@
+MossdeepCity_SpaceCenter_1F_MapScripts:: @ 8222F41
+ map_script 1, MossdeepCity_SpaceCenter_1F_MapScript1_222FC2
+ map_script 3, MossdeepCity_SpaceCenter_1F_MapScript1_222F4C
+ .byte 0
+
+MossdeepCity_SpaceCenter_1F_MapScript1_222F4C: @ 8222F4C
+ compare_var_to_value VAR_0x405D, 2
+ goto_eq MossdeepCity_SpaceCenter_1F_EventScript_222F58
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_222F58:: @ 8222F58
+ setobjectxyperm 3, 1, 9
+ setobjectmovementtype 3, 10
+ setobjectxyperm 5, 0, 8
+ setobjectmovementtype 5, 10
+ setobjectxyperm 4, 1, 6
+ setobjectmovementtype 4, 10
+ setobjectxyperm 1, 3, 4
+ setobjectmovementtype 1, 10
+ setobjectmovementtype 2, 10
+ compare_var_to_value VAR_0x409E, 1
+ goto_eq MossdeepCity_SpaceCenter_1F_EventScript_222FAA
+ compare_var_to_value VAR_0x409E, 2
+ goto_eq MossdeepCity_SpaceCenter_1F_EventScript_222FB2
+ compare_var_to_value VAR_0x409E, 3
+ goto_eq MossdeepCity_SpaceCenter_1F_EventScript_222FBA
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_222FAA:: @ 8222FAA
+ setobjectxyperm 9, 12, 2
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_222FB2:: @ 8222FB2
+ setobjectxyperm 9, 13, 3
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_222FBA:: @ 8222FBA
+ setobjectxyperm 9, 14, 2
+ end
+
+MossdeepCity_SpaceCenter_1F_MapScript1_222FC2: @ 8222FC2
+ compare_var_to_value VAR_0x405D, 2
+ goto_if 3, MossdeepCity_SpaceCenter_1F_EventScript_222FCE
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_222FCE:: @ 8222FCE
+ setmetatile 2, 5, 996, 1
+ return
+
+MossdeepCity_SpaceCenter_1F_EventScript_222FD8:: @ 8222FD8
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x405D, 2
+ goto_eq MossdeepCity_SpaceCenter_1F_EventScript_223024
+ dodailyevents
+ specialvar VAR_RESULT, sub_8138BDC
+ buffernumberstring 0, VAR_RESULT
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, MossdeepCity_SpaceCenter_1F_EventScript_223012
+ compare_var_to_value VAR_RESULT, 1
+ call_if 4, MossdeepCity_SpaceCenter_1F_EventScript_22301B
+ closemessage
+ applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_223012:: @ 8223012
+ msgbox MossdeepCity_SpaceCenter_1F_Text_2232A7, 4
+ return
+
+MossdeepCity_SpaceCenter_1F_EventScript_22301B:: @ 822301B
+ msgbox MossdeepCity_SpaceCenter_1F_Text_2232C8, 4
+ return
+
+MossdeepCity_SpaceCenter_1F_EventScript_223024:: @ 8223024
+ dodailyevents
+ specialvar VAR_RESULT, sub_8138BDC
+ buffernumberstring 0, VAR_RESULT
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, MossdeepCity_SpaceCenter_1F_EventScript_223051
+ compare_var_to_value VAR_RESULT, 1
+ call_if 4, MossdeepCity_SpaceCenter_1F_EventScript_22305A
+ closemessage
+ applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A8
+ waitmovement 0
+ release
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_223051:: @ 8223051
+ msgbox MossdeepCity_SpaceCenter_1F_Text_223305, 4
+ return
+
+MossdeepCity_SpaceCenter_1F_EventScript_22305A:: @ 822305A
+ msgbox MossdeepCity_SpaceCenter_1F_Text_22335E, 4
+ return
+
+MossdeepCity_SpaceCenter_1F_EventScript_223063:: @ 8223063
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x405D, 2
+ goto_eq MossdeepCity_SpaceCenter_1F_EventScript_22307A
+ msgbox MossdeepCity_SpaceCenter_1F_Text_2233D3, 4
+ release
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_22307A:: @ 822307A
+ msgbox MossdeepCity_SpaceCenter_1F_Text_2234B7, 4
+ applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A8
+ waitmovement 0
+ release
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_22308E:: @ 822308E
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x405D, 2
+ goto_eq MossdeepCity_SpaceCenter_1F_EventScript_2230DA
+ checkflag FLAG_0x0C0
+ goto_eq MossdeepCity_SpaceCenter_1F_EventScript_2230D0
+ msgbox MossdeepCity_SpaceCenter_1F_Text_223540, 4
+ giveitem_std ITEM_SUN_STONE
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MossdeepCity_SpaceCenter_1F_EventScript_272054
+ setflag FLAG_0x0C0
+ msgbox MossdeepCity_SpaceCenter_1F_Text_2235A6, 4
+ release
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_2230D0:: @ 82230D0
+ msgbox MossdeepCity_SpaceCenter_1F_Text_2235A6, 4
+ release
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_2230DA:: @ 82230DA
+ checkflag FLAG_0x0C0
+ goto_eq MossdeepCity_SpaceCenter_1F_EventScript_223119
+ msgbox MossdeepCity_SpaceCenter_1F_Text_2235F0, 4
+ giveitem_std ITEM_SUN_STONE
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MossdeepCity_SpaceCenter_1F_EventScript_272054
+ setflag FLAG_0x0C0
+ msgbox MossdeepCity_SpaceCenter_1F_Text_223664, 4
+ applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A8
+ waitmovement 0
+ release
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_223119:: @ 8223119
+ msgbox MossdeepCity_SpaceCenter_1F_Text_223664, 4
+ applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A8
+ waitmovement 0
+ release
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_22312D:: @ 822312D
+ lock
+ faceplayer
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_eq MossdeepCity_SpaceCenter_1F_EventScript_223154
+ compare_var_to_value VAR_0x405D, 2
+ goto_eq MossdeepCity_SpaceCenter_1F_EventScript_22315E
+ compare_var_to_value VAR_0x405D, 2
+ goto_if 0, MossdeepCity_SpaceCenter_1F_EventScript_223154
+ goto MossdeepCity_SpaceCenter_1F_EventScript_22315E
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_223154:: @ 8223154
+ msgbox MossdeepCity_SpaceCenter_1F_Text_2236A6, 4
+ release
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_22315E:: @ 822315E
+ msgbox MossdeepCity_SpaceCenter_1F_Text_2236E8, 4
+ release
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_223168:: @ 8223168
+ lock
+ faceplayer
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_eq MossdeepCity_SpaceCenter_1F_EventScript_22318F
+ compare_var_to_value VAR_0x405D, 2
+ goto_eq MossdeepCity_SpaceCenter_1F_EventScript_2231A4
+ compare_var_to_value VAR_0x405D, 2
+ goto_if 0, MossdeepCity_SpaceCenter_1F_EventScript_22318F
+ goto MossdeepCity_SpaceCenter_1F_EventScript_2231A4
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_22318F:: @ 822318F
+ msgbox MossdeepCity_SpaceCenter_1F_Text_22375B, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_2231A4:: @ 82231A4
+ msgbox MossdeepCity_SpaceCenter_1F_Text_2237B5, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_2231B9:: @ 82231B9
+ lock
+ faceplayer
+ msgbox MossdeepCity_SpaceCenter_1F_Text_223849, 4
+ applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_2231CF:: @ 82231CF
+ lockall
+ msgbox MossdeepCity_SpaceCenter_1F_Text_223C2C, 4
+ releaseall
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_2231DA:: @ 82231DA
+ trainerbattle 0, TRAINER_GRUNT_32, 0, MossdeepCity_SpaceCenter_1F_Text_22396C, MossdeepCity_SpaceCenter_1F_Text_223999
+ msgbox MossdeepCity_SpaceCenter_1F_Text_2239AA, 6
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_2231F1:: @ 82231F1
+ trainerbattle 0, TRAINER_GRUNT_16, 0, MossdeepCity_SpaceCenter_1F_Text_2239E6, MossdeepCity_SpaceCenter_1F_Text_223A21
+ msgbox MossdeepCity_SpaceCenter_1F_Text_223A4B, 6
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_223208:: @ 8223208
+ trainerbattle 0, TRAINER_GRUNT_33, 0, MossdeepCity_SpaceCenter_1F_Text_223A8A, MossdeepCity_SpaceCenter_1F_Text_223AFA
+ msgbox MossdeepCity_SpaceCenter_1F_Text_223B37, 6
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_22321F:: @ 822321F
+ lock
+ faceplayer
+ checkflag FLAG_0x0BF
+ goto_eq MossdeepCity_SpaceCenter_1F_EventScript_22326E
+ msgbox MossdeepCity_SpaceCenter_1F_Text_223B90, 4
+ trainerbattle 3, TRAINER_GRUNT_23, 0, MossdeepCity_SpaceCenter_1F_Text_223BC2
+ setflag FLAG_0x0BF
+ moveobjectoffscreen 9
+ switch VAR_FACING
+ case 3, MossdeepCity_SpaceCenter_1F_EventScript_223278
+ case 3, MossdeepCity_SpaceCenter_1F_EventScript_223289
+ applymovement 9, MossdeepCity_SpaceCenter_1F_Movement_2232A2
+ waitmovement 0
+ setvar VAR_0x409E, 2
+ release
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_22326E:: @ 822326E
+ msgbox MossdeepCity_SpaceCenter_1F_Text_223BD3, 4
+ release
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_223278:: @ 8223278
+ applymovement 9, MossdeepCity_SpaceCenter_1F_Movement_22329A
+ waitmovement 0
+ setvar VAR_0x409E, 1
+ release
+ end
+
+MossdeepCity_SpaceCenter_1F_EventScript_223289:: @ 8223289
+ applymovement 9, MossdeepCity_SpaceCenter_1F_Movement_22329E
+ waitmovement 0
+ setvar VAR_0x409E, 3
+ release
+ end
+
+MossdeepCity_SpaceCenter_1F_Movement_22329A: @ 822329A
+ step_40
+ step_left
+ step_41
+ step_end
+
+MossdeepCity_SpaceCenter_1F_Movement_22329E: @ 822329E
+ step_40
+ step_right
+ step_41
+ step_end
+
+MossdeepCity_SpaceCenter_1F_Movement_2232A2: @ 82232A2
+ step_02
+ step_40
+ step_right
+ step_41
+ step_end
+
+MossdeepCity_SpaceCenter_1F_Text_2232A7: @ 82232A7
+ .string "The rocket’s launch is imminent!$"
+
+MossdeepCity_SpaceCenter_1F_Text_2232C8: @ 82232C8
+ .string "The rocket launched safely!\n"
+ .string "That’s successful launch no. {STR_VAR_1}!$"
+
+MossdeepCity_SpaceCenter_1F_Text_223305: @ 8223305
+ .string "I know that things are a little\n"
+ .string "haywire right now, but…\p"
+ .string "The rocket’s launch is imminent!$"
+
+MossdeepCity_SpaceCenter_1F_Text_22335E: @ 822335E
+ .string "I know that things are a little\n"
+ .string "haywire right now, but…\p"
+ .string "The rocket launched safely!\n"
+ .string "That’s successful launch no. {STR_VAR_1}!$"
+
+MossdeepCity_SpaceCenter_1F_Text_2233D3: @ 82233D3
+ .string "A rocket launch demands perfection.\n"
+ .string "Not even a 1% margin of error is allowed.\p"
+ .string "Even if it’s 99% okay, the whole thing\n"
+ .string "is useless if 1% happens to be no good.\p"
+ .string "Despite that, we never stop trying.\n"
+ .string "Why? It’s a dream that never ends.$"
+
+MossdeepCity_SpaceCenter_1F_Text_2234B7: @ 82234B7
+ .string "Those MAGMA thugs have their sights\n"
+ .string "set on our SPACE CENTER.\p"
+ .string "But we can’t allow anything that minor\n"
+ .string "to interfere with our rocket launch!$"
+
+MossdeepCity_SpaceCenter_1F_Text_223540: @ 8223540
+ .string "I was taking a stroll down the beach\n"
+ .string "when I found this.\p"
+ .string "It’s not anything I need, so you can\n"
+ .string "have it.$"
+
+MossdeepCity_SpaceCenter_1F_Text_2235A6: @ 82235A6
+ .string "The HOENN region has been famous for \n"
+ .string "its meteor showers for a long time.$"
+
+MossdeepCity_SpaceCenter_1F_Text_2235F0: @ 82235F0
+ .string "TEAM MAGMA can’t be allowed to steal\n"
+ .string "the rocket fuel.\p"
+ .string "Oh, by the way, you can have this stone\n"
+ .string "I found on the beach.$"
+
+MossdeepCity_SpaceCenter_1F_Text_223664: @ 8223664
+ .string "With TEAM MAGMA around, I guess\n"
+ .string "strolls on the beach aren’t safe.$"
+
+MossdeepCity_SpaceCenter_1F_Text_2236A6: @ 82236A6
+ .string "Some people claim that POKéMON came\n"
+ .string "from space. Could it be true?$"
+
+MossdeepCity_SpaceCenter_1F_Text_2236E8: @ 82236E8
+ .string "TEAM AQUA should take care of\n"
+ .string "TEAM MAGMA!\p"
+ .string "But if they did that, TEAM AQUA will\n"
+ .string "become bold and brazen, won’t they?$"
+
+MossdeepCity_SpaceCenter_1F_Text_22375B: @ 822375B
+ .string "A giant chunk of metal bursts through\n"
+ .string "the skies and flies into space…\p"
+ .string "It boggles my mind!$"
+
+MossdeepCity_SpaceCenter_1F_Text_2237B5: @ 82237B5
+ .string "A giant chunk of metal bursts through\n"
+ .string "the skies and flies into space…\p"
+ .string "But TEAM MAGMA wants to spoil\n"
+ .string "that dream of mine!\p"
+ .string "I’m not having any of that!$"
+
+MossdeepCity_SpaceCenter_1F_Text_223849: @ 8223849
+ .string "STEVEN: {PLAYER}{KUN}, have you read that\n"
+ .string "proclamation already?\p"
+ .string "TEAM MAGMA is coming after the rocket\n"
+ .string "fuel on this island.\p"
+ .string "I don’t know what they’d need it for,\n"
+ .string "but they can’t be allowed to take it.\p"
+ .string "I’ll keep an eye on things for\n"
+ .string "a while longer.\p"
+ .string "In the meantime, why don’t you go\n"
+ .string "check out the town?$"
+
+MossdeepCity_SpaceCenter_1F_Text_22396C: @ 822396C
+ .string "As promised, we’ve come for\n"
+ .string "the rocket fuel!$"
+
+MossdeepCity_SpaceCenter_1F_Text_223999: @ 8223999
+ .string "Ran out of fuel…$"
+
+MossdeepCity_SpaceCenter_1F_Text_2239AA: @ 82239AA
+ .string "Don’t think you’re on a roll just\n"
+ .string "because you’ve beaten me!$"
+
+MossdeepCity_SpaceCenter_1F_Text_2239E6: @ 82239E6
+ .string "We gave you fair warning!\n"
+ .string "There’s nothing sneaky about us!$"
+
+MossdeepCity_SpaceCenter_1F_Text_223A21: @ 8223A21
+ .string "Grrr…\n"
+ .string "We should’ve used sneaky treachery…$"
+
+MossdeepCity_SpaceCenter_1F_Text_223A4B: @ 8223A4B
+ .string "Okay, I get it already! The next time,\n"
+ .string "we’ll come unannounced.$"
+
+MossdeepCity_SpaceCenter_1F_Text_223A8A: @ 8223A8A
+ .string "The rocket fuel the SPACE CENTER has\n"
+ .string "in storage--that’s what we’re after.\p"
+ .string "We mean to take every last bit of it!$"
+
+MossdeepCity_SpaceCenter_1F_Text_223AFA: @ 8223AFA
+ .string "Please, can you spare some fuel?\n"
+ .string "Even a chintzy cup will do!$"
+
+MossdeepCity_SpaceCenter_1F_Text_223B37: @ 8223B37
+ .string "What are we going to do with\n"
+ .string "the rocket fuel?\p"
+ .string "How would I know?\n"
+ .string "Ask our leader upstairs!$"
+
+MossdeepCity_SpaceCenter_1F_Text_223B90: @ 8223B90
+ .string "Our leader said no one, but no one,\n"
+ .string "gets past me!$"
+
+MossdeepCity_SpaceCenter_1F_Text_223BC2: @ 8223BC2
+ .string "Ack! Ack! Aaack!$"
+
+MossdeepCity_SpaceCenter_1F_Text_223BD3: @ 8223BD3
+ .string "Please, tell our leader that\n"
+ .string "I never abandoned my post.\l"
+ .string "That I stayed to the bitter end…$"
+
+MossdeepCity_SpaceCenter_1F_Text_223C2C: @ 8223C2C
+ .string "This is…\n"
+ .string "An intent-to-steal notice?\p"
+ .string "“To the staff of the SPACE CENTER:\n"
+ .string "How are you? We are doing fine.\p"
+ .string "“We will soon visit you to take your\n"
+ .string "rocket fuel.\p"
+ .string "“Please don’t try to stop us.\n"
+ .string "We will take the fuel no matter what.\p"
+ .string "“Let there be more land!\n"
+ .string " TEAM MAGMA”$"
+
diff --git a/data/scripts/maps/MossdeepCity_SpaceCenter_2F.inc b/data/scripts/maps/MossdeepCity_SpaceCenter_2F.inc
new file mode 100644
index 000000000..824044152
--- /dev/null
+++ b/data/scripts/maps/MossdeepCity_SpaceCenter_2F.inc
@@ -0,0 +1,524 @@
+MossdeepCity_SpaceCenter_2F_MapScripts:: @ 8223D58
+ map_script 3, MossdeepCity_SpaceCenter_2F_MapScript1_223D63
+ map_script 2, MossdeepCity_SpaceCenter_2F_MapScript2_223DB5
+ .byte 0
+
+MossdeepCity_SpaceCenter_2F_MapScript1_223D63: @ 8223D63
+ compare_var_to_value VAR_0x405D, 2
+ call_if 1, MossdeepCity_SpaceCenter_2F_EventScript_223D7A
+ compare_var_to_value VAR_0x409F, 2
+ call_if 1, MossdeepCity_SpaceCenter_2F_EventScript_223D9F
+ end
+
+MossdeepCity_SpaceCenter_2F_EventScript_223D7A:: @ 8223D7A
+ clearflag FLAG_0x0CD
+ setobjectxyperm 3, 5, 3
+ setobjectmovementtype 3, 10
+ setobjectxyperm 1, 3, 2
+ setobjectmovementtype 1, 10
+ setobjectxyperm 2, 1, 3
+ setobjectmovementtype 2, 10
+ return
+
+MossdeepCity_SpaceCenter_2F_EventScript_223D9F:: @ 8223D9F
+ setobjectxyperm 5, 11, 2
+ setobjectxyperm 7, 15, 2
+ setobjectxyperm 6, 13, 4
+ return
+
+MossdeepCity_SpaceCenter_2F_MapScript2_223DB5: @ 8223DB5
+ map_script_2 VAR_0x409F, 1, MossdeepCity_SpaceCenter_2F_EventScript_223DBF
+ .2byte 0
+
+MossdeepCity_SpaceCenter_2F_EventScript_223DBF:: @ 8223DBF
+ playse SE_PIN
+ applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_272598
+ waitmovement 0
+ applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_27259A
+ waitmovement 0
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2243A4, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223E09
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2243FE, 4
+ closemessage
+ applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_223E07
+ waitmovement 0
+ warp MOSSDEEP_CITY_SPACE_CENTER_1F, 255, 13, 1
+ waitstate
+ releaseall
+ end
+
+MossdeepCity_SpaceCenter_2F_Movement_223E07: @ 8223E07
+ step_up
+ step_end
+
+MossdeepCity_SpaceCenter_2F_EventScript_223E09:: @ 8223E09
+ msgbox MossdeepCity_SpaceCenter_2F_Text_22442D, 4
+ trainerbattle 3, TRAINER_GRUNT_34, 0, MossdeepCity_SpaceCenter_2F_Text_224461
+ applymovement 6, MossdeepCity_SpaceCenter_2F_Movement_223E85
+ waitmovement 0
+ applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_2725A4
+ waitmovement 0
+ msgbox MossdeepCity_SpaceCenter_2F_Text_22446E, 4
+ trainerbattle 3, TRAINER_GRUNT_35, 0, MossdeepCity_SpaceCenter_2F_Text_224499
+ applymovement 5, MossdeepCity_SpaceCenter_2F_Movement_223E81
+ waitmovement 0
+ applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_2725A8
+ waitmovement 0
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2244AB, 4
+ trainerbattle 3, TRAINER_GRUNT_36, 0, MossdeepCity_SpaceCenter_2F_Text_2244F1
+ applymovement 7, MossdeepCity_SpaceCenter_2F_Movement_223E89
+ waitmovement 0
+ setvar VAR_0x409F, 2
+ moveobjectoffscreen 5
+ moveobjectoffscreen 7
+ moveobjectoffscreen 6
+ releaseall
+ end
+
+MossdeepCity_SpaceCenter_2F_Movement_223E81: @ 8223E81
+ step_40
+ step_left
+ step_41
+ step_end
+
+MossdeepCity_SpaceCenter_2F_Movement_223E85: @ 8223E85
+ step_40
+ step_down
+ step_41
+ step_end
+
+MossdeepCity_SpaceCenter_2F_Movement_223E89: @ 8223E89
+ step_40
+ step_right
+ step_41
+ step_end
+
+MossdeepCity_SpaceCenter_2F_EventScript_223E8D:: @ 8223E8D
+ lock
+ faceplayer
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223EB4
+ compare_var_to_value VAR_0x405D, 2
+ goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223EBE
+ compare_var_to_value VAR_0x405D, 2
+ goto_if 0, MossdeepCity_SpaceCenter_2F_EventScript_223EB4
+ goto MossdeepCity_SpaceCenter_2F_EventScript_223EBE
+ end
+
+MossdeepCity_SpaceCenter_2F_EventScript_223EB4:: @ 8223EB4
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2241A1, 4
+ release
+ end
+
+MossdeepCity_SpaceCenter_2F_EventScript_223EBE:: @ 8223EBE
+ msgbox MossdeepCity_SpaceCenter_2F_Text_22420C, 4
+ release
+ end
+
+MossdeepCity_SpaceCenter_2F_EventScript_223EC8:: @ 8223EC8
+ lock
+ faceplayer
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223EEF
+ compare_var_to_value VAR_0x405D, 2
+ goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223EF9
+ compare_var_to_value VAR_0x405D, 2
+ goto_if 0, MossdeepCity_SpaceCenter_2F_EventScript_223EEF
+ goto MossdeepCity_SpaceCenter_2F_EventScript_223EF9
+ end
+
+MossdeepCity_SpaceCenter_2F_EventScript_223EEF:: @ 8223EEF
+ msgbox MossdeepCity_SpaceCenter_2F_Text_224253, 4
+ release
+ end
+
+MossdeepCity_SpaceCenter_2F_EventScript_223EF9:: @ 8223EF9
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2242C5, 4
+ release
+ end
+
+MossdeepCity_SpaceCenter_2F_EventScript_223F03:: @ 8223F03
+ lock
+ faceplayer
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223F2A
+ compare_var_to_value VAR_0x405D, 2
+ goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223F34
+ compare_var_to_value VAR_0x405D, 2
+ goto_if 0, MossdeepCity_SpaceCenter_2F_EventScript_223F2A
+ goto MossdeepCity_SpaceCenter_2F_EventScript_223F34
+ end
+
+MossdeepCity_SpaceCenter_2F_EventScript_223F2A:: @ 8223F2A
+ msgbox MossdeepCity_SpaceCenter_2F_Text_224342, 4
+ release
+ end
+
+MossdeepCity_SpaceCenter_2F_EventScript_223F34:: @ 8223F34
+ msgbox MossdeepCity_SpaceCenter_2F_Text_224376, 4
+ release
+ end
+
+MossdeepCity_SpaceCenter_2F_EventScript_223F3E:: @ 8223F3E
+ msgbox MossdeepCity_SpaceCenter_2F_Text_22452C, 2
+ end
+
+MossdeepCity_SpaceCenter_2F_EventScript_223F47:: @ 8223F47
+ msgbox MossdeepCity_SpaceCenter_2F_Text_224570, 2
+ end
+
+MossdeepCity_SpaceCenter_2F_EventScript_223F50:: @ 8223F50
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2245AF, 2
+ end
+
+MossdeepCity_SpaceCenter_2F_EventScript_223F59:: @ 8223F59
+ lock
+ faceplayer
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2245D9, 4
+ applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_2F_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+MossdeepCity_SpaceCenter_2F_EventScript_223F6F:: @ 8223F6F
+ lockall
+ msgbox MossdeepCity_SpaceCenter_2F_Text_22467B, 4
+ releaseall
+ end
+
+MossdeepCity_SpaceCenter_2F_EventScript_223F7A:: @ 8223F7A
+ lockall
+ checkflag FLAG_0x0CD
+ goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223FDA
+ setflag FLAG_0x0CD
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2246B2, 4
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2246F0, 4
+ closemessage
+ delay 30
+ playse SE_KOUKA_L
+ switch VAR_FACING
+ case 1, MossdeepCity_SpaceCenter_2F_EventScript_223FBA
+ applymovement 4, MossdeepCity_SpaceCenter_2F_Movement_223FC6
+ waitmovement 0
+ releaseall
+ end
+
+MossdeepCity_SpaceCenter_2F_EventScript_223FBA:: @ 8223FBA
+ applymovement 4, MossdeepCity_SpaceCenter_2F_Movement_223FCF
+ waitmovement 0
+ releaseall
+ end
+
+MossdeepCity_SpaceCenter_2F_Movement_223FC6: @ 8223FC6
+ step_40
+ step_16
+ step_16
+ step_41
+ step_14
+ step_14
+ slow_step_down
+ slow_step_down
+ step_end
+
+MossdeepCity_SpaceCenter_2F_Movement_223FCF: @ 8223FCF
+ step_02
+ step_40
+ step_18
+ step_18
+ step_41
+ step_14
+ step_14
+ slow_step_left
+ slow_step_left
+ step_00
+ step_end
+
+MossdeepCity_SpaceCenter_2F_EventScript_223FDA:: @ 8223FDA
+ applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_2F_Movement_27259E
+ waitmovement 0
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2247FF, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MossdeepCity_SpaceCenter_2F_EventScript_22400C
+ msgbox MossdeepCity_SpaceCenter_2F_Text_224854, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_2F_Movement_2725AA
+ waitmovement 0
+ releaseall
+ end
+
+MossdeepCity_SpaceCenter_2F_EventScript_22400C:: @ 822400C
+ applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_2F_Movement_2725AA
+ waitmovement 0
+ special copy_player_party_to_sav1
+ fadescreen 1
+ special sub_80F9438
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, MossdeepCity_SpaceCenter_2F_EventScript_224032
+ special copy_player_party_from_sav1
+ goto MossdeepCity_SpaceCenter_2F_EventScript_223FDA
+
+MossdeepCity_SpaceCenter_2F_EventScript_224032:: @ 8224032
+ special sub_80F94E8
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 4
+ special sub_81A1780
+ setvar VAR_0x8004, 8
+ setvar VAR_0x8005, 0
+ special sub_8163AC4
+ waitstate
+ setvar VAR_0x8004, 6
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ switch VAR_RESULT
+ case 1, MossdeepCity_SpaceCenter_2F_EventScript_224071
+ fadescreen 1
+ special sp0C8_whiteout_maybe
+ waitstate
+
+MossdeepCity_SpaceCenter_2F_EventScript_224071:: @ 8224071
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2248C2, 4
+ closemessage
+ delay 20
+ applymovement 9, MossdeepCity_SpaceCenter_2F_Movement_2725A4
+ applymovement 8, MossdeepCity_SpaceCenter_2F_Movement_2725AA
+ waitmovement 0
+ delay 60
+ applymovement 9, MossdeepCity_SpaceCenter_2F_Movement_2725A6
+ applymovement 8, MossdeepCity_SpaceCenter_2F_Movement_2725A8
+ waitmovement 0
+ delay 20
+ msgbox MossdeepCity_SpaceCenter_2F_Text_2249DC, 4
+ closemessage
+ setvar VAR_0x405D, 3
+ fadedefaultbgm
+ fadescreen 1
+ setvar VAR_0x409F, 3
+ setflag FLAG_0x2F4
+ setflag FLAG_0x35E
+ setflag FLAG_0x337
+ removeobject 5
+ removeobject 7
+ removeobject 6
+ removeobject 8
+ removeobject 9
+ setobjectxy 3, 5, 6
+ turnobject 3, 1
+ setobjectxy 2, 11, 8
+ turnobject 2, 2
+ setobjectxy 1, 6, 2
+ turnobject 1, 2
+ call MossdeepCity_SpaceCenter_2F_EventScript_224131
+ fadescreen 0
+ msgbox MossdeepCity_SpaceCenter_2F_Text_224A4A, 4
+ closemessage
+ fadescreen 1
+ setflag FLAG_0x075
+ setflag FLAG_0x3C7
+ removeobject 4
+ setflag FLAG_0x2E1
+ clearflag FLAG_0x3C7
+ setvar VAR_0x40C6, 1
+ setflag FLAG_0x314
+ removeobject 3
+ setobjectxyperm 3, 5, 6
+ setobjectmovementtype 3, 2
+ addobject 3
+ fadescreen 0
+ end
+
+MossdeepCity_SpaceCenter_2F_EventScript_224131:: @ 8224131
+ switch VAR_FACING
+ case 1, MossdeepCity_SpaceCenter_2F_EventScript_22414D
+ case 3, MossdeepCity_SpaceCenter_2F_EventScript_224152
+ return
+
+MossdeepCity_SpaceCenter_2F_EventScript_22414D:: @ 822414D
+ turnobject 4, 2
+ return
+
+MossdeepCity_SpaceCenter_2F_EventScript_224152:: @ 8224152
+ turnobject 4, 4
+ return
+
+MossdeepCity_SpaceCenter_2F_EventScript_224157:: @ 8224157
+ trainerbattle 10, TRAINER_MAXIE_3, 0, MossdeepCity_SpaceCenter_2F_Text_22487C, MossdeepCity_SpaceCenter_2F_Text_22487C
+ end
+
+MossdeepCity_SpaceCenter_2F_EventScript_224166:: @ 8224166
+ trainerbattle 11, TRAINER_TABITHA_1, 0, MossdeepCity_SpaceCenter_Text_2248AD, MossdeepCity_SpaceCenter_Text_2248AD
+ end
+
+MossdeepCity_SpaceCenter_2F_EventScript_224175:: @ 8224175
+ lockall
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, MossdeepCity_SpaceCenter_2F_EventScript_224193
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, MossdeepCity_SpaceCenter_2F_EventScript_22419A
+ closemessage
+ clearflag FLAG_0x075
+ releaseall
+ end
+
+MossdeepCity_SpaceCenter_2F_EventScript_224193:: @ 8224193
+ pokenavcall MossdeepCity_SpaceCenter_2F_Text_2B38C1
+ waitmessage
+ return
+
+MossdeepCity_SpaceCenter_2F_EventScript_22419A:: @ 822419A
+ pokenavcall MossdeepCity_SpaceCenter_2F_Text_2B39C6
+ waitmessage
+ return
+
+MossdeepCity_SpaceCenter_2F_Text_2241A1: @ 82241A1
+ .string "MOSSDEEP has mainly sunny weather,\n"
+ .string "and its winds are stable.\p"
+ .string "It’s an ideal location for launching\n"
+ .string "rockets.$"
+
+MossdeepCity_SpaceCenter_2F_Text_22420C: @ 822420C
+ .string "Why would TEAM MAGMA want to steal\n"
+ .string "our rocket fuel in the first place?$"
+
+MossdeepCity_SpaceCenter_2F_Text_224253: @ 8224253
+ .string "If only I was a little younger, I would\n"
+ .string "have liked being an astronaut…\p"
+ .string "No… It’s not too late!\n"
+ .string "I can and will try!$"
+
+MossdeepCity_SpaceCenter_2F_Text_2242C5: @ 82242C5
+ .string "If TEAM MAGMA takes the rocket fuel,\n"
+ .string "I won’t be able to go to space!\p"
+ .string "They can’t be allowed to get away\n"
+ .string "with such an outrage!$"
+
+MossdeepCity_SpaceCenter_2F_Text_224342: @ 8224342
+ .string "I wish ordinary people could go into\n"
+ .string "space one day…$"
+
+MossdeepCity_SpaceCenter_2F_Text_224376: @ 8224376
+ .string "TEAM MAGMA…\n"
+ .string "Do they want to go to space, too?$"
+
+MossdeepCity_SpaceCenter_2F_Text_2243A4: @ 82243A4
+ .string "What’s wrong with you?\p"
+ .string "You’re outnumbered three to one,\n"
+ .string "but you still want to take us on?$"
+
+MossdeepCity_SpaceCenter_2F_Text_2243FE: @ 82243FE
+ .string "Good answer!\n"
+ .string "That’s what a smart person’ll do!$"
+
+MossdeepCity_SpaceCenter_2F_Text_22442D: @ 822442D
+ .string "A reckless go-getter, are you?\n"
+ .string "Okay, I’ll go first!$"
+
+MossdeepCity_SpaceCenter_2F_Text_224461: @ 8224461
+ .string "I lost!\n"
+ .string "But!$"
+
+MossdeepCity_SpaceCenter_2F_Text_22446E: @ 822446E
+ .string "It’s too soon to be relieved!\n"
+ .string "I’m up next!$"
+
+MossdeepCity_SpaceCenter_2F_Text_224499: @ 8224499
+ .string "I lost, too!\n"
+ .string "But!$"
+
+MossdeepCity_SpaceCenter_2F_Text_2244AB: @ 82244AB
+ .string "I bet you want to take a break.\n"
+ .string "But I’m not about to let you do that!$"
+
+MossdeepCity_SpaceCenter_2F_Text_2244F1: @ 82244F1
+ .string "We should’ve taken a break…\n"
+ .string "That’s what we should’ve done…$"
+
+MossdeepCity_SpaceCenter_2F_Text_22452C: @ 822452C
+ .string "Three of us here, and look at the sorry\n"
+ .string "mess we got ourselves into.$"
+
+MossdeepCity_SpaceCenter_2F_Text_224570: @ 8224570
+ .string "We three losing like this…\n"
+ .string "We look worse than usual by triple!$"
+
+MossdeepCity_SpaceCenter_2F_Text_2245AF: @ 82245AF
+ .string "Are we being useful to our leader\n"
+ .string "at all?$"
+
+MossdeepCity_SpaceCenter_2F_Text_2245D9: @ 82245D9
+ .string "Hehehe!\p"
+ .string "We come all the way here to get some\n"
+ .string "fuel, and we’re interfered with again!\p"
+ .string "If you’re going to mess with us too,\n"
+ .string "we’ll take care of you at the same time!$"
+
+MossdeepCity_SpaceCenter_2F_Text_22467B: @ 822467B
+ .string "MAXIE: Clear out of the way!\n"
+ .string "Don’t you dare interfere!$"
+
+MossdeepCity_SpaceCenter_2F_Text_2246B2: @ 82246B2
+ .string "STEVEN: TEAM MAGMA…\p"
+ .string "What’s the point of stealing rocket\n"
+ .string "fuel?$"
+
+MossdeepCity_SpaceCenter_2F_Text_2246F0: @ 82246F0
+ .string "MAXIE: Fufufu… Since you’re so\n"
+ .string "curious, you deserve an explanation.\p"
+ .string "We’re going to jettison the entire\n"
+ .string "load into MT. CHIMNEY!\p"
+ .string "With GROUDON gone, we have no need\n"
+ .string "for that slag heap of a mountain!\p"
+ .string "So we’ll use the fuel’s power to make\n"
+ .string "the volcano erupt!\p"
+ .string "It will be savage!$"
+
+MossdeepCity_SpaceCenter_2F_Text_2247FF: @ 82247FF
+ .string "STEVEN: {PLAYER}{KUN}!\n"
+ .string "You’re going to help me?\p"
+ .string "Let’s go into battle together!\n"
+ .string "Are you ready?$"
+
+MossdeepCity_SpaceCenter_2F_Text_224854: @ 8224854
+ .string "STEVEN: Then, hurry!\n"
+ .string "Get ready quickly!$"
+
+MossdeepCity_SpaceCenter_2F_Text_22487C: @ 822487C
+ .string "All I want…\n"
+ .string "I just want to expand the land mass…$"
+
+MossdeepCity_SpaceCenter_Text_2248AD: @ 82248AD
+ .string "I’m with our leader…$"
+
+MossdeepCity_SpaceCenter_2F_Text_2248C2: @ 82248C2
+ .string "MAXIE: We failed to make the volcano\n"
+ .string "erupt…\p"
+ .string "We failed to control GROUDON after\n"
+ .string "we had awoken it…\p"
+ .string "Is our goal to expand the land\n"
+ .string "misguided?\p"
+ .string "… … … … … …\n"
+ .string "… … … … … …\p"
+ .string "If…\n"
+ .string "If we, TEAM MAGMA, are wrong…\l"
+ .string "… … … … … …\p"
+ .string "Then might TEAM AQUA’s goal to expand\n"
+ .string "the sea also be equally misguided?$"
+
+MossdeepCity_SpaceCenter_2F_Text_2249DC: @ 82249DC
+ .string "MAXIE: All right…\n"
+ .string "We will give up on the fuel…\p"
+ .string "There appear to be more important\n"
+ .string "matters that I must examine…$"
+
+MossdeepCity_SpaceCenter_2F_Text_224A4A: @ 8224A4A
+ .string "STEVEN: Whew, that was too tense.\n"
+ .string "{PLAYER}{KUN}, thank you.\p"
+ .string "I have something to give you as\n"
+ .string "thanks for your support.\p"
+ .string "Please come see me at home\n"
+ .string "after this.\p"
+ .string "Oh, yes, I don’t live in RUSTBORO CITY.\n"
+ .string "I live right here on this island.$"
+
diff --git a/data/scripts/maps/MossdeepCity_StevensHouse.inc b/data/scripts/maps/MossdeepCity_StevensHouse.inc
new file mode 100644
index 000000000..d0d71eb6b
--- /dev/null
+++ b/data/scripts/maps/MossdeepCity_StevensHouse.inc
@@ -0,0 +1,219 @@
+MossdeepCity_StevensHouse_MapScripts:: @ 8222784
+ map_script 1, MossdeepCity_StevensHouse_MapScript1_222794
+ map_script 3, MossdeepCity_StevensHouse_MapScript1_2227A8
+ map_script 2, MossdeepCity_StevensHouse_MapScript2_2227C0
+ .byte 0
+
+MossdeepCity_StevensHouse_MapScript1_222794: @ 8222794
+ checkflag FLAG_SYS_GAME_CLEAR
+ call_if 0, MossdeepCity_StevensHouse_EventScript_22279E
+ end
+
+MossdeepCity_StevensHouse_EventScript_22279E:: @ 822279E
+ setmetatile 6, 4, 753, 1
+ return
+
+MossdeepCity_StevensHouse_MapScript1_2227A8: @ 82227A8
+ compare_var_to_value VAR_0x40C6, 2
+ call_if 1, MossdeepCity_StevensHouse_EventScript_2227B4
+ end
+
+MossdeepCity_StevensHouse_EventScript_2227B4:: @ 82227B4
+ setobjectxyperm 1, 6, 5
+ setobjectmovementtype 1, 7
+ return
+
+MossdeepCity_StevensHouse_MapScript2_2227C0: @ 82227C0
+ map_script_2 VAR_0x40C6, 1, MossdeepCity_StevensHouse_EventScript_2227CA
+ .2byte 0
+
+MossdeepCity_StevensHouse_EventScript_2227CA:: @ 82227CA
+ lockall
+ applymovement 1, MossdeepCity_StevensHouse_Movement_2725A4
+ waitmovement 0
+ playse SE_PIN
+ applymovement 1, MossdeepCity_StevensHouse_Movement_272598
+ waitmovement 0
+ applymovement 1, MossdeepCity_StevensHouse_Movement_27259A
+ waitmovement 0
+ applymovement 1, MossdeepCity_StevensHouse_Movement_222833
+ waitmovement 0
+ msgbox MossdeepCity_StevensHouse_Text_222936, 4
+ giveitem_std ITEM_HM08
+ setflag FLAG_0x07B
+ setflag FLAG_0x12E
+ msgbox MossdeepCity_StevensHouse_Text_222A0E, 4
+ closemessage
+ delay 20
+ applymovement 1, MossdeepCity_StevensHouse_Movement_22283B
+ waitmovement 0
+ setflag FLAG_0x314
+ setflag FLAG_0x3AD
+ setvar VAR_0x40C6, 2
+ releaseall
+ end
+
+MossdeepCity_StevensHouse_Movement_222833: @ 8222833
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_25
+ step_end
+
+MossdeepCity_StevensHouse_Movement_22283B: @ 822283B
+ step_up
+ step_right
+ step_right
+ step_right
+ step_26
+ step_end
+
+MossdeepCity_StevensHouse_EventScript_222841:: @ 8222841
+ lockall
+ msgbox MossdeepCity_StevensHouse_Text_222B9E, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MossdeepCity_StevensHouse_EventScript_22285B
+ goto MossdeepCity_StevensHouse_EventScript_222865
+ end
+
+MossdeepCity_StevensHouse_EventScript_22285B:: @ 822285B
+ msgbox MossdeepCity_StevensHouse_Text_222C2A, 4
+ releaseall
+ end
+
+MossdeepCity_StevensHouse_EventScript_222865:: @ 8222865
+ setvar VAR_0x4001, 398
+ givemon SPECIES_BELDUM, 5, ITEM_NONE, 0x0, 0x0, 0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MossdeepCity_StevensHouse_EventScript_222895
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MossdeepCity_StevensHouse_EventScript_2228BD
+ goto MossdeepCity_StevensHouse_EventScript_273811
+ end
+
+MossdeepCity_StevensHouse_EventScript_222895:: @ 8222895
+ call MossdeepCity_StevensHouse_EventScript_2228EB
+ msgbox gUnknown_08273374, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MossdeepCity_StevensHouse_EventScript_222901
+ call MossdeepCity_StevensHouse_EventScript_27378B
+ call MossdeepCity_StevensHouse_EventScript_2723DD
+ goto MossdeepCity_StevensHouse_EventScript_222901
+ end
+
+MossdeepCity_StevensHouse_EventScript_2228BD:: @ 82228BD
+ call MossdeepCity_StevensHouse_EventScript_2228EB
+ msgbox gUnknown_08273374, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MossdeepCity_StevensHouse_EventScript_2228E0
+ call MossdeepCity_StevensHouse_EventScript_273797
+ goto MossdeepCity_StevensHouse_EventScript_2228E0
+ end
+
+MossdeepCity_StevensHouse_EventScript_2228E0:: @ 82228E0
+ call MossdeepCity_StevensHouse_EventScript_2737A0
+ goto MossdeepCity_StevensHouse_EventScript_222901
+ end
+
+MossdeepCity_StevensHouse_EventScript_2228EB:: @ 82228EB
+ bufferspeciesname 1, SPECIES_BELDUM
+ removeobject 2
+ playfanfare BGM_FANFA4
+ message MossdeepCity_StevensHouse_Text_222BED
+ waitmessage
+ waitfanfare
+ bufferspeciesname 0, SPECIES_BELDUM
+ return
+
+MossdeepCity_StevensHouse_EventScript_222901:: @ 8222901
+ setflag FLAG_0x3C8
+ setflag FLAG_0x12A
+ releaseall
+ end
+
+MossdeepCity_StevensHouse_EventScript_222909:: @ 8222909
+ msgbox MossdeepCity_StevensHouse_Text_222D97, 3
+ end
+
+MossdeepCity_StevensHouse_EventScript_222912:: @ 8222912
+ msgbox MossdeepCity_StevensHouse_Text_222B11, 2
+ end
+
+MossdeepCity_StevensHouse_EventScript_22291B:: @ 822291B
+ lockall
+ msgbox MossdeepCity_StevensHouse_Text_222C4E, 4
+ releaseall
+ end
+
+MossdeepCity_StevensHouse_EventScript_222926:: @ 8222926
+ giveitem_std ITEM_HM08, 1, 1
+ setflag FLAG_0x07B
+ end
+
+MossdeepCity_StevensHouse_Text_222936: @ 8222936
+ .string "STEVEN: {PLAYER}{KUN}…\p"
+ .string "As you can see, there’s not much here,\n"
+ .string "but this is my home.\p"
+ .string "Thank you for all that you’ve done.\p"
+ .string "This is my token of appreciation.\n"
+ .string "It’s the HIDDEN MACHINE DIVE.\p"
+ .string "No need to be shy--you’ve earned\n"
+ .string "this HM.$"
+
+MossdeepCity_StevensHouse_Text_222A0E: @ 8222A0E
+ .string "STEVEN: While you’re using SURF, you\n"
+ .string "should notice dark patches of water.\p"
+ .string "Use DIVE if you come to deep water\n"
+ .string "like it. You’ll drop to the seafloor.\p"
+ .string "When you want to come back up, use\n"
+ .string "DIVE again.\p"
+ .string "In some places, it won’t be possible\n"
+ .string "for you to surface, though.$"
+
+MossdeepCity_StevensHouse_Text_222B11: @ 8222B11
+ .string "STEVEN: Apparently, there’s an\n"
+ .string "underwater cavern between\l"
+ .string "MOSSDEEP and SOOTOPOLIS.\p"
+ .string "You know, the one that CAPT. STERN\n"
+ .string "found in his submarine.$"
+
+MossdeepCity_StevensHouse_Text_222B9E: @ 8222B9E
+ .string "{PLAYER} checked the POKé BALL.\p"
+ .string "It contained the POKéMON\n"
+ .string "BELDUM.\p"
+ .string "Take the POKé BALL?$"
+
+MossdeepCity_StevensHouse_Text_222BED: @ 8222BED
+ .string "{PLAYER} obtained a BELDUM.$"
+
+MossdeepCity_StevensHouse_Text_222C03: @ 8222C03
+ .string "There is no space for another POKéMON.$"
+
+MossdeepCity_StevensHouse_Text_222C2A: @ 8222C2A
+ .string "{PLAYER} left the POKé BALL where\n"
+ .string "it was.$"
+
+MossdeepCity_StevensHouse_Text_222C4E: @ 8222C4E
+ .string "It’s a letter.\p"
+ .string "… … … … … …\p"
+ .string "To {PLAYER}{KUN}…\p"
+ .string "I’ve decided to do a little soul-\n"
+ .string "searching and train on the road.\p"
+ .string "I don’t plan to return home for some\n"
+ .string "time.\p"
+ .string "I have a favor to ask of you.\p"
+ .string "I want you to take the POKé BALL on\n"
+ .string "the desk.\p"
+ .string "Inside it is a BELDUM, my favorite\n"
+ .string "POKéMON.\p"
+ .string "I’m counting on you.\p"
+ .string "May our paths cross someday.\p"
+ .string "STEVEN STONE$"
+
+MossdeepCity_StevensHouse_Text_222D97: @ 8222D97
+ .string "It’s a collection of rare rocks and\n"
+ .string "stones assembled by STEVEN.$"
+
diff --git a/data/scripts/maps/MtChimney.inc b/data/scripts/maps/MtChimney.inc
new file mode 100644
index 000000000..d7a2ed83a
--- /dev/null
+++ b/data/scripts/maps/MtChimney.inc
@@ -0,0 +1,869 @@
+MtChimney_MapScripts:: @ 822EDC1
+ map_script 5, MtChimney_MapScript1_22EDD2
+ map_script 3, MtChimney_MapScript1_22EDCC
+ .byte 0
+
+MtChimney_MapScript1_22EDCC: @ 822EDCC
+ setvar VAR_0x40BD, 1
+ end
+
+MtChimney_MapScript1_22EDD2: @ 822EDD2
+ setstepcallback 1
+ end
+
+MtChimney_EventScript_22EDD5:: @ 822EDD5
+ lock
+ faceplayer
+ checkflag FLAG_0x0DB
+ call_if 0, MtChimney_EventScript_22EDF9
+ checkflag FLAG_0x0DB
+ call_if 1, MtChimney_EventScript_22EE02
+ closemessage
+ applymovement 1, MtChimney_Movement_2725A2
+ waitmovement 0
+ setflag FLAG_0x0DB
+ release
+ end
+
+MtChimney_EventScript_22EDF9:: @ 822EDF9
+ msgbox MtChimney_Text_22FAD2, 4
+ return
+
+MtChimney_EventScript_22EE02:: @ 822EE02
+ msgbox MtChimney_Text_22FBC7, 4
+ return
+
+MtChimney_EventScript_22EE0B:: @ 822EE0B
+ lockall
+ playbgm BGM_MGM0, 0
+ msgbox MtChimney_Text_22F26A, 4
+ applymovement 2, MtChimney_Movement_27259E
+ waitmovement 0
+ playse SE_PIN
+ applymovement 2, MtChimney_Movement_272598
+ waitmovement 0
+ applymovement 2, MtChimney_Movement_27259A
+ waitmovement 0
+ msgbox MtChimney_Text_22F32E, 4
+ trainerbattle 3, TRAINER_MAXIE_2, 0, MtChimney_Text_22F5CF
+ msgbox MtChimney_Text_22F5F7, 4
+ closemessage
+ delay 30
+ fadescreen 1
+ removeobject 2
+ removeobject 29
+ removeobject 3
+ removeobject 22
+ setflag FLAG_0x39F
+ fadescreen 0
+ setobjectxyperm 1, 10, 12
+ addobject 1
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, MtChimney_EventScript_22EEC7
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, MtChimney_EventScript_22EED2
+ applymovement 255, MtChimney_Movement_2725A4
+ waitmovement 0
+ msgbox MtChimney_Text_22FC3D, 4
+ closemessage
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, MtChimney_EventScript_22EEDD
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, MtChimney_EventScript_22EEE8
+ removeobject 1
+ setflag FLAG_0x39E
+ setflag FLAG_0x08B
+ clearflag FLAG_0x3A0
+ setflag FLAG_0x3AE
+ clearflag FLAG_0x3E2
+ releaseall
+ end
+
+MtChimney_EventScript_22EEC7:: @ 822EEC7
+ applymovement 1, MtChimney_Movement_22EF83
+ waitmovement 0
+ return
+
+MtChimney_EventScript_22EED2:: @ 822EED2
+ applymovement 1, MtChimney_Movement_22EF94
+ waitmovement 0
+ return
+
+MtChimney_EventScript_22EEDD:: @ 822EEDD
+ applymovement 1, MtChimney_Movement_22EF8B
+ waitmovement 0
+ return
+
+MtChimney_EventScript_22EEE8:: @ 822EEE8
+ applymovement 1, MtChimney_Movement_22EF9C
+ waitmovement 0
+ return
+
+MtChimney_EventScript_22EEF3:: @ 822EEF3
+ lock
+ faceplayer
+ showmoneybox 0, 0, 0
+ msgbox MtChimney_Text_22FE04, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MtChimney_EventScript_22EF69
+ checkmoney 0xc8, 0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MtChimney_EventScript_22EF76
+ msgbox MtChimney_Text_22FE4D, 4
+ checkitemspace ITEM_LAVA_COOKIE, 1
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, MtChimney_EventScript_22EF5E
+ giveitem_std ITEM_LAVA_COOKIE
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MtChimney_EventScript_22EF51
+ hidemoneybox
+ nop
+ nop
+ release
+ end
+
+MtChimney_EventScript_22EF51:: @ 822EF51
+ msgbox gUnknown_08272AD0, 4
+ hidemoneybox
+ nop
+ nop
+ release
+ end
+
+MtChimney_EventScript_22EF5E:: @ 822EF5E
+ takemoney 0xc8, 0
+ updatemoneybox 0, 0
+ nop
+ return
+
+MtChimney_EventScript_22EF69:: @ 822EF69
+ msgbox MtChimney_Text_22FE9B, 4
+ hidemoneybox
+ nop
+ nop
+ release
+ end
+
+MtChimney_EventScript_22EF76:: @ 822EF76
+ msgbox MtChimney_Text_22FE5E, 4
+ hidemoneybox
+ nop
+ nop
+ release
+ end
+
+MtChimney_Movement_22EF83: @ 822EF83
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_right
+ step_end
+
+MtChimney_Movement_22EF8B: @ 822EF8B
+ step_left
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+MtChimney_Movement_22EF94: @ 822EF94
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_right
+ step_right
+ step_end
+
+MtChimney_Movement_22EF9C: @ 822EF9C
+ step_left
+ step_left
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+MtChimney_Movement_22EFA6: @ 822EFA6
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_left
+ step_left
+ step_down
+ step_down
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_down
+ step_end
+
+MtChimney_Movement_22EFB8: @ 822EFB8
+ step_down
+ step_down
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_down
+ step_end
+
+MtChimney_Movement_22EFC1: @ 822EFC1
+ step_right
+ step_down
+ step_down
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+MtChimney_Movement_22EFD0: @ 822EFD0
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_left
+ step_left
+ step_down
+ step_down
+ step_down
+ step_left
+ step_left
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_down
+ step_end
+
+MtChimney_Movement_22EFE9: @ 822EFE9
+ step_14
+ step_14
+ step_14
+ step_down
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_down
+ step_end
+
+MtChimney_Movement_22EFF4: @ 822EFF4
+ step_14
+ step_left
+ step_down
+ step_down
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+MtChimney_Movement_22F004: @ 822F004
+ step_14
+ step_left
+ step_left
+ step_down
+ step_down
+ step_down
+ step_left
+ step_left
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_down
+ step_end
+
+MtChimney_Movement_22F015: @ 822F015
+ step_14
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_25
+ step_end
+
+MtChimney_Movement_22F01D: @ 822F01D
+ step_down
+ step_down
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+MtChimney_Movement_22F02B: @ 822F02B
+ step_down
+ step_end
+
+MtChimney_Movement_22F02D: @ 822F02D
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+MtChimney_Movement_22F035: @ 822F035
+ step_14
+ step_14
+ step_27
+ step_14
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+MtChimney_Movement_22F03F: @ 822F03F
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_27
+ step_14
+ step_down
+ step_down
+ step_end
+
+MtChimney_Movement_22F04A: @ 822F04A
+ step_40
+ step_17
+ step_41
+ step_03
+ step_end
+
+MtChimney_Movement_22F04F: @ 822F04F
+ step_left
+ step_28
+ step_14
+ step_end
+
+MtChimney_EventScript_22F053:: @ 822F053
+ msgbox MtChimney_Text_22FD1F, 3
+ end
+
+MtChimney_EventScript_22F05C:: @ 822F05C
+ msgbox MtChimney_Text_22FD5B, 3
+ end
+
+MtChimney_EventScript_22F065:: @ 822F065
+ msgbox MtChimney_Text_22FDA1, 3
+ end
+
+MtChimney_EventScript_22F06E:: @ 822F06E
+ trainerbattle 0, TRAINER_TABITHA_2, 0, MtChimney_Text_22F6AA, MtChimney_Text_22F72C
+ msgbox MtChimney_Text_22F76D, 6
+ end
+
+MtChimney_EventScript_22F085:: @ 822F085
+ trainerbattle 0, TRAINER_GRUNT_31, 0, MtChimney_Text_22F7A2, MtChimney_Text_22F83A
+ msgbox MtChimney_Text_22F859, 6
+ end
+
+MtChimney_EventScript_22F09C:: @ 822F09C
+ msgbox MtChimney_Text_22F978, 3
+ end
+
+MtChimney_EventScript_22F0A5:: @ 822F0A5
+ msgbox MtChimney_Text_22F9B2, 3
+ end
+
+MtChimney_EventScript_22F0AE:: @ 822F0AE
+ msgbox MtChimney_Text_22F9D1, 3
+ end
+
+MtChimney_EventScript_22F0B7:: @ 822F0B7
+ msgbox MtChimney_Text_22FA2F, 3
+ end
+
+MtChimney_EventScript_22F0C0:: @ 822F0C0
+ msgbox MtChimney_Text_22FA8B, 3
+ end
+
+MtChimney_EventScript_22F0C9:: @ 822F0C9
+ msgbox MtChimney_Text_22FAA5, 3
+ end
+
+MtChimney_EventScript_22F0D2:: @ 822F0D2
+ msgbox MtChimney_Text_22FACB, 3
+ end
+
+MtChimney_EventScript_22F0DB:: @ 822F0DB
+ msgbox MtChimney_Text_22FDFC, 3
+ end
+
+MtChimney_EventScript_22F0E4:: @ 822F0E4
+ lockall
+ checkflag FLAG_0x08B
+ goto_if 0, MtChimney_EventScript_22F137
+ checkflag FLAG_0x073
+ goto_eq MtChimney_EventScript_22F12D
+ msgbox MtChimney_Text_22FF12, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MtChimney_EventScript_22F123
+ msgbox MtChimney_Text_22FF66, 4
+ giveitem_std ITEM_METEORITE
+ setflag FLAG_0x073
+ releaseall
+ end
+
+MtChimney_EventScript_22F123:: @ 822F123
+ msgbox MtChimney_Text_22FF9C, 4
+ releaseall
+ end
+
+MtChimney_EventScript_22F12D:: @ 822F12D
+ msgbox MtChimney_Text_22FFC0, 4
+ releaseall
+ end
+
+MtChimney_EventScript_22F137:: @ 822F137
+ msgbox MtChimney_Text_22FEAA, 4
+ releaseall
+ end
+
+MtChimney_EventScript_22F141:: @ 822F141
+ msgbox MtChimney_Text_22FFFA, 3
+ end
+
+MtChimney_EventScript_22F14A:: @ 822F14A
+ trainerbattle 2, TRAINER_SHELBY_1, 0, MtChimney_Text_23001D, MtChimney_Text_230076, MtChimney_EventScript_22F176
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MtChimney_EventScript_22F195
+ msgbox MtChimney_Text_2300A2, 4
+ release
+ end
+
+MtChimney_EventScript_22F176:: @ 822F176
+ special sub_80B4808
+ waitmovement 0
+ msgbox MtChimney_Text_2300E3, 4
+ setvar VAR_0x8004, 313
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 313
+ callstd 8
+ release
+ end
+
+MtChimney_EventScript_22F195:: @ 822F195
+ trainerbattle 5, TRAINER_SHELBY_1, 0, MtChimney_Text_230153, MtChimney_Text_2301BB
+ msgbox MtChimney_Text_2301E7, 6
+ end
+
+MtChimney_EventScript_22F1AC:: @ 822F1AC
+ trainerbattle 0, TRAINER_MELISSA, 0, MtChimney_Text_23022A, MtChimney_Text_23026D
+ msgbox MtChimney_Text_230292, 6
+ end
+
+MtChimney_EventScript_22F1C3:: @ 822F1C3
+ trainerbattle 0, TRAINER_SHEILA, 0, MtChimney_Text_2302BD, MtChimney_Text_230304
+ msgbox MtChimney_Text_23033A, 6
+ end
+
+MtChimney_EventScript_22F1DA:: @ 822F1DA
+ trainerbattle 0, TRAINER_SHIRLEY, 0, MtChimney_Text_2303DF, MtChimney_Text_230436
+ msgbox MtChimney_Text_230463, 6
+ end
+
+MtChimney_EventScript_22F1F1:: @ 822F1F1
+ trainerbattle 0, TRAINER_GRUNT_24, 0, MtChimney_Text_22F8B6, MtChimney_Text_22F921
+ msgbox MtChimney_Text_22F93A, 6
+ end
+
+MtChimney_EventScript_22F208:: @ 822F208
+ trainerbattle 2, TRAINER_SAWYER_1, 0, MtChimney_Text_2304B3, MtChimney_Text_2304F7, MtChimney_EventScript_22F234
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MtChimney_EventScript_22F253
+ msgbox MtChimney_Text_230519, 4
+ release
+ end
+
+MtChimney_EventScript_22F234:: @ 822F234
+ special sub_80B4808
+ waitmovement 0
+ msgbox MtChimney_Text_230557, 4
+ setvar VAR_0x8004, 1
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 1
+ callstd 8
+ release
+ end
+
+MtChimney_EventScript_22F253:: @ 822F253
+ trainerbattle 5, TRAINER_SAWYER_1, 0, MtChimney_Text_23059C, MtChimney_Text_2305E3
+ msgbox MtChimney_Text_230614, 6
+ end
+
+MtChimney_Text_22F26A: @ 822F26A
+ .string "The power contained in the METEORITE…\p"
+ .string "By amplifying its power with this\n"
+ .string "machine, MT. CHIMNEY’s volcanic\l"
+ .string "activity will instantly intensify…\p"
+ .string "Its energy will grow deep inside\n"
+ .string "the crater and…\l"
+ .string "Fufufu…$"
+
+MtChimney_Text_22F32E: @ 822F32E
+ .string "MAXIE: Hm?\n"
+ .string "Who are you?\p"
+ .string "… … … … … …\n"
+ .string "… … … … … …\p"
+ .string "I’d heard ARCHIE bemoaning a child\n"
+ .string "who’s been meddling in TEAM AQUA’s\l"
+ .string "affairs.\p"
+ .string "It must be you he meant.\p"
+ .string "Humph! So you’re thinking of\n"
+ .string "interfering with us, TEAM MAGMA?\p"
+ .string "Now you listen.\n"
+ .string "Long ago, living things used the\l"
+ .string "land to live and grow.\p"
+ .string "That is why land is all important!\n"
+ .string "It is the cradle of all!\p"
+ .string "That is why TEAM MAGMA is dedicated\n"
+ .string "to the expansion of the land mass.\p"
+ .string "It is for further advancement of\n"
+ .string "humankind and POKéMON!\p"
+ .string "And for that, we need the power of\n"
+ .string "what sleeps within this mountain…\p"
+ .string "Oh! There was no need for you to\n"
+ .string "learn that much.\p"
+ .string "But, no matter!\n"
+ .string "I’ll teach you the consequences of\l"
+ .string "meddling in our grand design!$"
+
+MtChimney_Text_22F5CF: @ 822F5CF
+ .string "What?!\p"
+ .string "I, MAXIE, was caught off guard?!$"
+
+MtChimney_Text_22F5F7: @ 822F5F7
+ .string "MAXIE: But, enough.\n"
+ .string "I will back off this time.\p"
+ .string "But don’t think that this is the last\n"
+ .string "you’ve seen of TEAM MAGMA.\p"
+ .string "Fufufu…\p"
+ .string "Even without the METEORITE, if we\n"
+ .string "obtain that ORB… Fufufu…$"
+
+MtChimney_Text_22F6AA: @ 822F6AA
+ .string "Hehehe!\p"
+ .string "So you’ve come all the way here!\p"
+ .string "But you’re too late!\n"
+ .string "I’ve already delivered the METEORITE\l"
+ .string "from METEOR FALLS to the BOSS!$"
+
+MtChimney_Text_22F72C: @ 822F72C
+ .string "Hehehe…\p"
+ .string "Even though I’ve lost, if our leader\n"
+ .string "awakens that thing…$"
+
+MtChimney_Text_22F76D: @ 822F76D
+ .string "BOSS, hurry!\n"
+ .string "Give it the METEORITE’s energy!\p"
+ .string "Hehehe…$"
+
+MtChimney_Text_22F7A2: @ 822F7A2
+ .string "We of TEAM MAGMA are working hard for\n"
+ .string "everyone’s sake.\p"
+ .string "Like, if that thing’s power made more\n"
+ .string "land, there’d be more places to live.\p"
+ .string "Everyone’d be happy!$"
+
+MtChimney_Text_22F83A: @ 822F83A
+ .string "Hunh?\n"
+ .string "What do you mean I lost?$"
+
+MtChimney_Text_22F859: @ 822F859
+ .string "Our BOSS says, “It will make everyone\n"
+ .string "happy.”\p"
+ .string "But why does everyone keep getting\n"
+ .string "in our way?$"
+
+MtChimney_Text_22F8B6: @ 822F8B6
+ .string "If there were more land, I’d be able\n"
+ .string "to get a big house of my own!\p"
+ .string "I’m going to build it on hardened lava!$"
+
+MtChimney_Text_22F921: @ 822F921
+ .string "My dream of a big house…$"
+
+MtChimney_Text_22F93A: @ 822F93A
+ .string "A kid like you, you ought to be\n"
+ .string "splashing about in the waves!$"
+
+MtChimney_Text_22F978: @ 822F978
+ .string "That annoying TEAM AQUA…\n"
+ .string "They always mess with our plans!$"
+
+MtChimney_Text_22F9B2: @ 822F9B2
+ .string "METEORITES pack amazing power!$"
+
+MtChimney_Text_22F9D1: @ 822F9D1
+ .string "You’d better not mess with us!\p"
+ .string "We’re trying to awaken that thing\n"
+ .string "for the benefit of everyone!$"
+
+MtChimney_Text_22FA2F: @ 822FA2F
+ .string "We’re TEAM MAGMA!\p"
+ .string "They’re TEAM AQUA!\p"
+ .string "It totally annoys me that they’d\n"
+ .string "use a name like ours!$"
+
+MtChimney_Text_22FA8B: @ 822FA8B
+ .string "Yeah!\n"
+ .string "Douse them in fire!$"
+
+MtChimney_Text_22FAA5: @ 822FAA5
+ .string "We’re going to keep making more land!$"
+
+MtChimney_Text_22FACB: @ 822FACB
+ .string "Bufoh!$"
+
+MtChimney_Text_22FAD2: @ 822FAD2
+ .string "ARCHIE: Grr, {PLAYER}!\n"
+ .string "I should’ve guessed you’d show up!\p"
+ .string "See for yourself what the fanatics\n"
+ .string "of TEAM MAGMA are up to!\p"
+ .string "They’re trying to inject the stolen\n"
+ .string "METEORITE’s power into the volcano!\p"
+ .string "Doing something like that will cause\n"
+ .string "the volcano’s eruption!$"
+
+MtChimney_Text_22FBC7: @ 822FBC7
+ .string "ARCHIE: Grrr…\p"
+ .string "I want to stop that MAXIE,\n"
+ .string "but I can’t!\p"
+ .string "Not when I have my hands full battling\n"
+ .string "three opponents at once!$"
+
+MtChimney_Text_22FC3D: @ 822FC3D
+ .string "ARCHIE: {PLAYER}!\n"
+ .string "Thank you!\p"
+ .string "With your help, we thwarted TEAM\n"
+ .string "MAGMA’s destructive plan!\p"
+ .string "But… You…\n"
+ .string "Whose side are you on?\p"
+ .string "Ah, it doesn’t matter.\p"
+ .string "We will remain vigilant and keep up\n"
+ .string "our pursuit of TEAM MAGMA.\p"
+ .string "{PLAYER}, we shall meet again!$"
+
+MtChimney_Text_22FD1F: @ 822FD1F
+ .string "Darn… TEAM MAGMA outnumbers us!\n"
+ .string "We can’t keep up with them!$"
+
+MtChimney_Text_22FD5B: @ 822FD5B
+ .string "If they expand the land, there’ll be\n"
+ .string "less habitats for WATER POKéMON!$"
+
+MtChimney_Text_22FDA1: @ 822FDA1
+ .string "We’re TEAM AQUA!\p"
+ .string "They’re TEAM MAGMA!\p"
+ .string "It burns me up that they’d use such\n"
+ .string "a confusing name!$"
+
+MtChimney_Text_22FDFC: @ 822FDFC
+ .string "Bushaa!$"
+
+MtChimney_Text_22FE04: @ 822FE04
+ .string "LAVA COOKIES are MT. CHIMNEY’s local\n"
+ .string "specialty.\p"
+ .string "Try one. It’s just ¥200.$"
+
+MtChimney_Text_22FE4D: @ 822FE4D
+ .string "Thank you, dear!$"
+
+MtChimney_Text_22FE5E: @ 822FE5E
+ .string "Oh, dear. You can’t buy a thing if\n"
+ .string "you’ve not got the money.$"
+
+MtChimney_Text_22FE9B: @ 822FE9B
+ .string "Oh, fine then.$"
+
+MtChimney_Text_22FEAA: @ 822FEAA
+ .string "A METEORITE is fitted on a mysterious\n"
+ .string "machine…\p"
+ .string "The machine seems to be storing\n"
+ .string "energy in the METEORITE.$"
+
+MtChimney_Text_22FF12: @ 822FF12
+ .string "A METEORITE is fitted on a mysterious\n"
+ .string "machine…\p"
+ .string "Do you want to remove the METEORITE?$"
+
+MtChimney_Text_22FF66: @ 822FF66
+ .string "{PLAYER} removed the METEORITE from\n"
+ .string "the mysterious machine.$"
+
+MtChimney_Text_22FF9C: @ 822FF9C
+ .string "{PLAYER} left the METEORITE where\n"
+ .string "it was.$"
+
+MtChimney_Text_22FFC0: @ 822FFC0
+ .string "This mysterious machine…\n"
+ .string "It makes no response whatsoever.$"
+
+MtChimney_Text_22FFFA: @ 822FFFA
+ .string "{0x7A} JAGGED PATH\n"
+ .string "LAVARIDGE TOWN AHEAD$"
+
+MtChimney_Text_23001D: @ 823001D
+ .string "I’ve been to the hot springs and\n"
+ .string "refreshed my tired bones.\l"
+ .string "Right now I’m feeling strong!$"
+
+MtChimney_Text_230076: @ 8230076
+ .string "Oh, my goodness.\n"
+ .string "Now, aren’t you something!$"
+
+MtChimney_Text_2300A2: @ 82300A2
+ .string "Well, well, I’ve lost. I can’t call\n"
+ .string "myself an EXPERT now, can I?$"
+
+MtChimney_Text_2300E3: @ 82300E3
+ .string "Thank you, child. It was fun, as if\n"
+ .string "I were battling my own grandchild.\p"
+ .string "Please, come see me again for\n"
+ .string "a rematch.$"
+
+MtChimney_Text_230153: @ 8230153
+ .string "If you can mesh your heart with those\n"
+ .string "of your POKéMON, why, you should be\l"
+ .string "able to achieve great things.$"
+
+MtChimney_Text_2301BB: @ 82301BB
+ .string "Oh, my goodness.\n"
+ .string "Now, aren’t you something!$"
+
+MtChimney_Text_2301E7: @ 82301E7
+ .string "Perhaps your heart has become one\n"
+ .string "with the hearts of your POKéMON.$"
+
+MtChimney_Text_23022A: @ 823022A
+ .string "I’ve got the fire in me, baby.\n"
+ .string "I can’t stand it! I have to battle!$"
+
+MtChimney_Text_23026D: @ 823026D
+ .string "Ooh, that was a scorching-hot match!$"
+
+MtChimney_Text_230292: @ 8230292
+ .string "The heat of MT. CHIMNEY warms\n"
+ .string "me up, baby!$"
+
+MtChimney_Text_2302BD: @ 82302BD
+ .string "I’ve finally made it to MT. CHIMNEY.\n"
+ .string "I want to make my POKéMON battle!$"
+
+MtChimney_Text_230304: @ 8230304
+ .string "The way you battle…\n"
+ .string "It’s like a MT. CHIMNEY eruption!$"
+
+MtChimney_Text_23033A: @ 823033A
+ .string "Like I said, I’ve finally made it to\n"
+ .string "MT. CHIMNEY. It would be a shame if\l"
+ .string "I only do a little sightseeing…\p"
+ .string "I want to get in some battles and buy\n"
+ .string "COOKIES as souvenirs.$"
+
+MtChimney_Text_2303DF: @ 82303DF
+ .string "Since I bathed in the hot springs,\n"
+ .string "I’ve been feeling great!\l"
+ .string "I’m sure I’m going to win!$"
+
+MtChimney_Text_230436: @ 8230436
+ .string "Yowch!\n"
+ .string "I’m getting a chill out of the water.$"
+
+MtChimney_Text_230463: @ 8230463
+ .string "I’ll have to take another dip in the\n"
+ .string "hot springs. Want to join me?\p"
+ .string "Just joking!$"
+
+MtChimney_Text_2304B3: @ 82304B3
+ .string "This is one fine mountain! Plenty of\n"
+ .string "hot people around for company!$"
+
+MtChimney_Text_2304F7: @ 82304F7
+ .string "Oh, you’re a real firebrand, too!$"
+
+MtChimney_Text_230519: @ 8230519
+ .string "I think I need a dip in LAVARIDGE\n"
+ .string "HOT SPRING with the locals!$"
+
+MtChimney_Text_230557: @ 8230557
+ .string "I like little fireballs like you.\n"
+ .string "Let me register you in my POKéNAV.$"
+
+MtChimney_Text_23059C: @ 823059C
+ .string "I’m happily surrounded by hot people\n"
+ .string "around these parts. I won’t lose!$"
+
+MtChimney_Text_2305E3: @ 82305E3
+ .string "Gosh, you’re still the same\n"
+ .string "firebrand as before!$"
+
+MtChimney_Text_230614: @ 8230614
+ .string "Actually, it really is hot here.\n"
+ .string "I’m overdressed for these parts.$"
+
diff --git a/data/scripts/maps/MtChimney_CableCarStation.inc b/data/scripts/maps/MtChimney_CableCarStation.inc
new file mode 100644
index 000000000..338304ac0
--- /dev/null
+++ b/data/scripts/maps/MtChimney_CableCarStation.inc
@@ -0,0 +1,98 @@
+MtChimney_CableCarStation_MapScripts:: @ 822ABFA
+ map_script 3, MtChimney_CableCarStation_MapScript1_22AC05
+ map_script 2, MtChimney_CableCarStation_MapScript2_22AC1D
+ .byte 0
+
+MtChimney_CableCarStation_MapScript1_22AC05: @ 822AC05
+ compare_var_to_value VAR_0x40A3, 1
+ call_if 1, MtChimney_CableCarStation_EventScript_22AC11
+ end
+
+MtChimney_CableCarStation_EventScript_22AC11:: @ 822AC11
+ setobjectxyperm 1, 5, 4
+ setobjectmovementtype 1, 10
+ return
+
+MtChimney_CableCarStation_MapScript2_22AC1D: @ 822AC1D
+ map_script_2 VAR_0x40A3, 1, MtChimney_CableCarStation_EventScript_22AC27
+ .2byte 0
+
+MtChimney_CableCarStation_EventScript_22AC27:: @ 822AC27
+ lockall
+ applymovement 255, MtChimney_CableCarStation_Movement_22ACB4
+ applymovement 1, MtChimney_CableCarStation_Movement_22ACAA
+ waitmovement 0
+ setvar VAR_0x40A3, 0
+ setobjectxyperm 1, 6, 7
+ setobjectmovementtype 1, 8
+ releaseall
+ end
+
+MtChimney_CableCarStation_EventScript_22AC4B:: @ 822AC4B
+ lock
+ faceplayer
+ msgbox MtChimney_CableCarStation_Text_22ACB9, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MtChimney_CableCarStation_EventScript_22AC6C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MtChimney_CableCarStation_EventScript_22AC9B
+ end
+
+MtChimney_CableCarStation_EventScript_22AC6C:: @ 822AC6C
+ msgbox MtChimney_CableCarStation_Text_22ACF8, 4
+ closemessage
+ applymovement 1, MtChimney_CableCarStation_Movement_22ACA5
+ applymovement 255, MtChimney_CableCarStation_Movement_22ACAF
+ waitmovement 0
+ setvar VAR_0x8004, 1
+ setvar VAR_0x40A3, 2
+ incrementgamestat 48
+ special sub_8138B8C
+ special sub_814FC9C
+ waitstate
+ release
+ end
+
+MtChimney_CableCarStation_EventScript_22AC9B:: @ 822AC9B
+ msgbox MtChimney_CableCarStation_Text_22AD0E, 4
+ release
+ end
+
+MtChimney_CableCarStation_Movement_22ACA5: @ 822ACA5
+ step_up
+ step_up
+ step_left
+ step_28
+ step_end
+
+MtChimney_CableCarStation_Movement_22ACAA: @ 822ACAA
+ step_14
+ step_right
+ step_down
+ step_down
+ step_end
+
+MtChimney_CableCarStation_Movement_22ACAF: @ 822ACAF
+ step_up
+ step_up
+ step_up
+ step_14
+ step_end
+
+MtChimney_CableCarStation_Movement_22ACB4: @ 822ACB4
+ step_down
+ step_down
+ step_down
+ step_14
+ step_end
+
+MtChimney_CableCarStation_Text_22ACB9: @ 822ACB9
+ .string "The CABLE CAR is ready to go down.\n"
+ .string "Would you like to be on it?$"
+
+MtChimney_CableCarStation_Text_22ACF8: @ 822ACF8
+ .string "Please step this way.$"
+
+MtChimney_CableCarStation_Text_22AD0E: @ 822AD0E
+ .string "Please ride with us another time.$"
+
diff --git a/data/scripts/maps/MtPyre_1F.inc b/data/scripts/maps/MtPyre_1F.inc
new file mode 100644
index 000000000..088290bd3
--- /dev/null
+++ b/data/scripts/maps/MtPyre_1F.inc
@@ -0,0 +1,49 @@
+MtPyre_1F_MapScripts:: @ 8230F3E
+ .byte 0
+
+MtPyre_1F_EventScript_230F3F:: @ 8230F3F
+ lock
+ faceplayer
+ checkflag FLAG_0x11A
+ goto_eq MtPyre_1F_EventScript_230F6E
+ msgbox MtPyre_1F_Text_230F8A, 4
+ giveitem_std ITEM_CLEANSE_TAG
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MtPyre_1F_EventScript_272054
+ setflag FLAG_0x11A
+ release
+ end
+
+MtPyre_1F_EventScript_230F6E:: @ 8230F6E
+ msgbox MtPyre_1F_Text_231005, 4
+ release
+ end
+
+MtPyre_1F_EventScript_230F78:: @ 8230F78
+ msgbox MtPyre_1F_Text_23104F, 2
+ end
+
+MtPyre_1F_EventScript_230F81:: @ 8230F81
+ msgbox MtPyre_1F_Text_2310BA, 2
+ end
+
+MtPyre_1F_Text_230F8A: @ 8230F8A
+ .string "All sorts of beings wander the slopes\n"
+ .string "of MT. PYRE…\p"
+ .string "There is no telling what may happen.\n"
+ .string "Take this. It’s for your own good.$"
+
+MtPyre_1F_Text_231005: @ 8231005
+ .string "Have a POKéMON hold that\n"
+ .string "CLEANSE TAG.\p"
+ .string "It will help ward off wild POKéMON.$"
+
+MtPyre_1F_Text_23104F: @ 823104F
+ .string "Did you come to pay your respect\n"
+ .string "to the spirits of departed POKéMON?\p"
+ .string "You must care for your POKéMON a lot.$"
+
+MtPyre_1F_Text_2310BA: @ 82310BA
+ .string "This is the final resting place of my\n"
+ .string "ZIGZAGOON. I cherished it…$"
+
diff --git a/data/scripts/maps/MtPyre_2F.inc b/data/scripts/maps/MtPyre_2F.inc
new file mode 100644
index 000000000..9a479846f
--- /dev/null
+++ b/data/scripts/maps/MtPyre_2F.inc
@@ -0,0 +1,135 @@
+MtPyre_2F_MapScripts:: @ 82310FB
+ map_script 2, MtPyre_2F_MapScript2_2A8327
+ map_script 3, MtPyre_2F_MapScript1_2A8331
+ map_script 5, MtPyre_2F_MapScript1_23110B
+ .byte 0
+
+MtPyre_2F_MapScript1_23110B: @ 823110B
+ setstepcallback 7
+ setholewarp MT_PYRE_1F, 255, 0, 0
+ end
+
+MtPyre_2F_EventScript_231116:: @ 8231116
+ msgbox MtPyre_2F_Text_2311A3, 2
+ end
+
+MtPyre_2F_EventScript_23111F:: @ 823111F
+ msgbox MtPyre_2F_Text_2311E6, 2
+ end
+
+MtPyre_2F_EventScript_231128:: @ 8231128
+ trainerbattle 0, TRAINER_MARK, 0, MtPyre_2F_Text_231258, MtPyre_2F_Text_2312A2
+ msgbox MtPyre_2F_Text_2312CB, 6
+ end
+
+MtPyre_2F_EventScript_23113F:: @ 823113F
+ trainerbattle 4, TRAINER_DEZ_AND_LUKE, 0, MtPyre_2F_Text_23130F, MtPyre_2F_Text_2313A1, MtPyre_2F_Text_231414
+ msgbox MtPyre_2F_Text_2313B1, 6
+ end
+
+MtPyre_2F_EventScript_23115A:: @ 823115A
+ trainerbattle 4, TRAINER_DEZ_AND_LUKE, 0, MtPyre_2F_Text_231492, MtPyre_2F_Text_231534, MtPyre_2F_Text_231582
+ msgbox MtPyre_2F_Text_23154D, 6
+ end
+
+MtPyre_2F_EventScript_231175:: @ 8231175
+ trainerbattle 0, TRAINER_LEAH, 0, MtPyre_2F_Text_231604, MtPyre_2F_Text_231645
+ msgbox MtPyre_2F_Text_23165A, 6
+ end
+
+MtPyre_2F_EventScript_23118C:: @ 823118C
+ trainerbattle 0, TRAINER_ZANDER, 0, MtPyre_2F_Text_2316C7, MtPyre_2F_Text_2316E1
+ msgbox MtPyre_2F_Text_2316FB, 6
+ end
+
+MtPyre_2F_Text_2311A3: @ 82311A3
+ .string "Memories of my darling SKITTY…\n"
+ .string "My eyes overflow thinking about it.$"
+
+MtPyre_2F_Text_2311E6: @ 82311E6
+ .string "Ooch, ouch… There are holes in the\n"
+ .string "ground here and there.\p"
+ .string "I didn’t notice and took a tumble from\n"
+ .string "the floor above.$"
+
+MtPyre_2F_Text_231258: @ 8231258
+ .string "Hey! Are you searching for POKéMON?\n"
+ .string "You came along after me! You’re rude!$"
+
+MtPyre_2F_Text_2312A2: @ 82312A2
+ .string "Ayieeeeh!\n"
+ .string "I’m sorry, forgive me, please!$"
+
+MtPyre_2F_Text_2312CB: @ 82312CB
+ .string "People don’t come here often, so\n"
+ .string "I thought there’d be rare POKéMON.$"
+
+MtPyre_2F_Text_23130F: @ 823130F
+ .string "LUKE: We’re here on a dare.\p"
+ .string "Heheh, if I show her how cool I am,\n"
+ .string "she’ll fall for me. I know it!\p"
+ .string "I know! I’ll cream you and show her\n"
+ .string "how cool I am!$"
+
+MtPyre_2F_Text_2313A1: @ 82313A1
+ .string "LUKE: Whoopsie!$"
+
+MtPyre_2F_Text_2313B1: @ 82313B1
+ .string "LUKE: Well, we lost but that’s okay!\n"
+ .string "I’m right here by your side.\l"
+ .string "We’ll make it through this dare!$"
+
+MtPyre_2F_Text_231414: @ 8231414
+ .string "LUKE: If you want to take me on,\n"
+ .string "bring some more POKéMON.\p"
+ .string "If you don’t, I won’t be able to show\n"
+ .string "off to my girl how cool I am!$"
+
+MtPyre_2F_Text_231492: @ 8231492
+ .string "DEZ: I came here on a dare with my\n"
+ .string "boyfriend.\p"
+ .string "It’s really scary, but I’m with my\n"
+ .string "boyfriend. It’s okay.\p"
+ .string "I know! I’ll get my boyfriend to look\n"
+ .string "cool by beating you!$"
+
+MtPyre_2F_Text_231534: @ 8231534
+ .string "DEZ: Waaaah! I’m scared!$"
+
+MtPyre_2F_Text_23154D: @ 823154D
+ .string "DEZ: We’re lovey-dovey, so we don’t\n"
+ .string "care if we lose!$"
+
+MtPyre_2F_Text_231582: @ 8231582
+ .string "DEZ: If you want to challenge us, you\n"
+ .string "should bring at least two POKéMON.\p"
+ .string "My boyfriend’s strong.\n"
+ .string "Just one POKéMON won’t do at all.$"
+
+MtPyre_2F_Text_231604: @ 8231604
+ .string "You are an unfamiliar sight…\n"
+ .string "Depart before anything befalls you!$"
+
+MtPyre_2F_Text_231645: @ 8231645
+ .string "Hmm…\n"
+ .string "You’re durable.$"
+
+MtPyre_2F_Text_23165A: @ 823165A
+ .string "Our family has been TRAINERS here\n"
+ .string "since my great-grandmother’s time…\p"
+ .string "It is my duty to protect this\n"
+ .string "mountain…$"
+
+MtPyre_2F_Text_2316C7: @ 82316C7
+ .string "Kiyaaaaah!\n"
+ .string "I’m terrified!$"
+
+MtPyre_2F_Text_2316E1: @ 82316E1
+ .string "Nooooooo!\n"
+ .string "I lost my wits!$"
+
+MtPyre_2F_Text_2316FB: @ 82316FB
+ .string "I get freaked out every time I see\n"
+ .string "anything move…\p"
+ .string "I shouldn’t have come here to train…$"
+
diff --git a/data/scripts/maps/MtPyre_3F.inc b/data/scripts/maps/MtPyre_3F.inc
new file mode 100644
index 000000000..ad99e6c9a
--- /dev/null
+++ b/data/scripts/maps/MtPyre_3F.inc
@@ -0,0 +1,103 @@
+MtPyre_3F_MapScripts:: @ 8231752
+ .byte 0
+
+MtPyre_3F_EventScript_231753:: @ 8231753
+ trainerbattle 0, TRAINER_WILLIAM, 0, MtPyre_3F_Text_2317E3, MtPyre_3F_Text_231853
+ msgbox MtPyre_3F_Text_231869, 6
+ end
+
+MtPyre_3F_EventScript_23176A:: @ 823176A
+ trainerbattle 0, TRAINER_KAYLA, 0, MtPyre_3F_Text_2318A1, MtPyre_3F_Text_2318DD
+ msgbox MtPyre_3F_Text_2318F2, 6
+ end
+
+MtPyre_3F_EventScript_231781:: @ 8231781
+ trainerbattle 2, TRAINER_GABRIELLE_1, 0, MtPyre_3F_Text_231952, MtPyre_3F_Text_23196A, MtPyre_3F_EventScript_2317AD
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MtPyre_3F_EventScript_2317CC
+ msgbox MtPyre_3F_Text_23199B, 4
+ release
+ end
+
+MtPyre_3F_EventScript_2317AD:: @ 82317AD
+ special sub_80B4808
+ waitmovement 0
+ msgbox MtPyre_3F_Text_231A49, 4
+ setvar VAR_0x8004, 9
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 9
+ callstd 8
+ release
+ end
+
+MtPyre_3F_EventScript_2317CC:: @ 82317CC
+ trainerbattle 5, TRAINER_GABRIELLE_1, 0, MtPyre_3F_Text_231AAB, MtPyre_3F_Text_231AE6
+ msgbox MtPyre_3F_Text_231B0D, 6
+ end
+
+MtPyre_3F_Text_2317E3: @ 82317E3
+ .string "The rich atmosphere of the mountain\n"
+ .string "has elevated my psychic power!\p"
+ .string "A mere child like you…\n"
+ .string "You dream of winning?$"
+
+MtPyre_3F_Text_231853: @ 8231853
+ .string "I drown in self-pity…$"
+
+MtPyre_3F_Text_231869: @ 8231869
+ .string "My psychic powers have surely\n"
+ .string "grown several times, but…$"
+
+MtPyre_3F_Text_2318A1: @ 82318A1
+ .string "Ahahahaha!\p"
+ .string "This is no place for children, least\n"
+ .string "of all you!$"
+
+MtPyre_3F_Text_2318DD: @ 82318DD
+ .string "I lost that cleanly…$"
+
+MtPyre_3F_Text_2318F2: @ 82318F2
+ .string "This means my training is still not\n"
+ .string "enough…\p"
+ .string "I’ve got to keep working toward the\n"
+ .string "summit…\p"
+ .string "Go, me!$"
+
+MtPyre_3F_Text_231952: @ 8231952
+ .string "Why have you come here?$"
+
+MtPyre_3F_Text_23196A: @ 823196A
+ .string "That was amazing!\n"
+ .string "You’re a very special TRAINER.$"
+
+MtPyre_3F_Text_23199B: @ 823199B
+ .string "POKéMON no longer of this world.\n"
+ .string "POKéMON that are with you now.\p"
+ .string "And the POKéMON that you will meet\n"
+ .string "in the future…\p"
+ .string "They are all to be equally cherished.\n"
+ .string "Please remember that.$"
+
+MtPyre_3F_Text_231A49: @ 8231A49
+ .string "I would like to see your POKéMON\n"
+ .string "when they grow up some more…\p"
+ .string "Please, I need to see your POKéNAV.$"
+
+MtPyre_3F_Text_231AAB: @ 8231AAB
+ .string "Oh, it’s you…\p"
+ .string "Have you come to show me your grown\n"
+ .string "POKéMON?$"
+
+MtPyre_3F_Text_231AE6: @ 8231AE6
+ .string "How amazing!\n"
+ .string "You are a special person.$"
+
+MtPyre_3F_Text_231B0D: @ 8231B0D
+ .string "POKéMON no longer of this world.\n"
+ .string "POKéMON that are with you now.\p"
+ .string "And the POKéMON that you will meet\n"
+ .string "in the future…\p"
+ .string "They are all to be equally cherished.\n"
+ .string "I see that you’ve remembered that.$"
+
diff --git a/data/scripts/maps/MtPyre_4F.inc b/data/scripts/maps/MtPyre_4F.inc
new file mode 100644
index 000000000..0573e0f11
--- /dev/null
+++ b/data/scripts/maps/MtPyre_4F.inc
@@ -0,0 +1,20 @@
+MtPyre_4F_MapScripts:: @ 8231BC8
+ .byte 0
+
+MtPyre_5F_EventScript_231BC9:: @ 8231BC9
+ trainerbattle 0, TRAINER_ATSUSHI, 0, MtPyre_5F_Text_231BE0, MtPyre_5F_Text_231C08
+ msgbox MtPyre_5F_Text_231C24, 6
+ end
+
+MtPyre_5F_Text_231BE0: @ 8231BE0
+ .string "Teacher…\n"
+ .string "Please watch over my progress!$"
+
+MtPyre_5F_Text_231C08: @ 8231C08
+ .string "Teacher…\n"
+ .string "Please forgive me!$"
+
+MtPyre_5F_Text_231C24: @ 8231C24
+ .string "Until I improve, my teacher, who rests\n"
+ .string "here, will never find true peace…$"
+
diff --git a/data/scripts/maps/MtPyre_5F.inc b/data/scripts/maps/MtPyre_5F.inc
new file mode 100644
index 000000000..4678ac7e0
--- /dev/null
+++ b/data/scripts/maps/MtPyre_5F.inc
@@ -0,0 +1,23 @@
+MtPyre_5F_MapScripts:: @ 8231C6D
+ .byte 0
+
+MtPyre_4F_EventScript_231C6E:: @ 8231C6E
+ trainerbattle 0, TRAINER_TASHA, 0, MtPyre_4F_Text_231C85, MtPyre_4F_Text_231CDB
+ msgbox MtPyre_4F_Text_231CEE, 6
+ end
+
+MtPyre_4F_Text_231C85: @ 8231C85
+ .string "I love all things horrifying…\n"
+ .string "It’s like a disease…\p"
+ .string "When I’m here…\n"
+ .string "I shiver with fear…$"
+
+MtPyre_4F_Text_231CDB: @ 8231CDB
+ .string "Losing, I dislike…$"
+
+MtPyre_4F_Text_231CEE: @ 8231CEE
+ .string "I want to see dreadful things…\n"
+ .string "I can’t leave…\p"
+ .string "Stay…\n"
+ .string "Won’t you stay with me?$"
+
diff --git a/data/scripts/maps/MtPyre_6F.inc b/data/scripts/maps/MtPyre_6F.inc
new file mode 100644
index 000000000..36a727daa
--- /dev/null
+++ b/data/scripts/maps/MtPyre_6F.inc
@@ -0,0 +1,73 @@
+MtPyre_6F_MapScripts:: @ 8231D3A
+ .byte 0
+
+MtPyre_6F_EventScript_231D3B:: @ 8231D3B
+ trainerbattle 2, TRAINER_VALERIE_1, 0, MtPyre_6F_Text_231DB4, MtPyre_6F_Text_231DE2, MtPyre_6F_EventScript_231D67
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MtPyre_6F_EventScript_231D86
+ msgbox MtPyre_6F_Text_231DFC, 4
+ release
+ end
+
+MtPyre_6F_EventScript_231D67:: @ 8231D67
+ special sub_80B4808
+ waitmovement 0
+ msgbox MtPyre_6F_Text_231E43, 4
+ setvar VAR_0x8004, 108
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 108
+ callstd 8
+ release
+ end
+
+MtPyre_6F_EventScript_231D86:: @ 8231D86
+ trainerbattle 5, TRAINER_VALERIE_1, 0, MtPyre_6F_Text_231EB3, MtPyre_6F_Text_231ECB
+ msgbox MtPyre_6F_Text_231EE1, 6
+ end
+
+MtPyre_6F_EventScript_231D9D:: @ 8231D9D
+ trainerbattle 0, TRAINER_CEDRIC, 0, MtPyre_6F_Text_231F11, MtPyre_6F_Text_231F4A
+ msgbox MtPyre_6F_Text_231F5C, 6
+ end
+
+MtPyre_6F_Text_231DB4: @ 8231DB4
+ .string "When I’m here…\n"
+ .string "A curious power flows into me…$"
+
+MtPyre_6F_Text_231DE2: @ 8231DE2
+ .string "The power is ebbing away…$"
+
+MtPyre_6F_Text_231DFC: @ 8231DFC
+ .string "Perhaps the power is from the spirits\n"
+ .string "of POKéMON in fitful sleep here…$"
+
+MtPyre_6F_Text_231E43: @ 8231E43
+ .string "Fufufu… I lost the match, but…\n"
+ .string "I have this little ability…\p"
+ .string "Without ever laying my hands on\n"
+ .string "your POKéNAV… Hiyah!$"
+
+MtPyre_6F_Text_231EB3: @ 8231EB3
+ .string "Behind you…\n"
+ .string "What is it…$"
+
+MtPyre_6F_Text_231ECB: @ 8231ECB
+ .string "Something faded away…$"
+
+MtPyre_6F_Text_231EE1: @ 8231EE1
+ .string "The POKéMON at rest here…\n"
+ .string "Sometimes, they play…$"
+
+MtPyre_6F_Text_231F11: @ 8231F11
+ .string "Have you lost your bearings?\n"
+ .string "Have no fear for I am here!$"
+
+MtPyre_6F_Text_231F4A: @ 8231F4A
+ .string "Weren’t you lost?$"
+
+MtPyre_6F_Text_231F5C: @ 8231F5C
+ .string "I had this feeling that a lost TRAINER\n"
+ .string "would be panicked and easy to beat.\p"
+ .string "It’s dirty and I won’t try it again…$"
+
diff --git a/data/scripts/maps/MtPyre_Exterior.inc b/data/scripts/maps/MtPyre_Exterior.inc
new file mode 100644
index 000000000..e67c0e4f8
--- /dev/null
+++ b/data/scripts/maps/MtPyre_Exterior.inc
@@ -0,0 +1,28 @@
+MtPyre_Exterior_MapScripts:: @ 8231FCC
+ map_script 3, MtPyre_Exterior_MapScript1_231FD2
+ .byte 0
+
+MtPyre_Exterior_MapScript1_231FD2: @ 8231FD2
+ call MtPyre_Exterior_EventScript_231FD8
+ end
+
+MtPyre_Exterior_EventScript_231FD8:: @ 8231FD8
+ getplayerxy VAR_0x4000, VAR_0x4001
+ compare_var_to_value VAR_0x4001, 12
+ goto_if 0, MtPyre_Exterior_EventScript_231FE9
+ return
+
+MtPyre_Exterior_EventScript_231FE9:: @ 8231FE9
+ setweather 6
+ return
+
+MtPyre_Exterior_EventScript_231FED:: @ 8231FED
+ setweather 6
+ doweather
+ end
+
+MtPyre_Exterior_EventScript_231FF2:: @ 8231FF2
+ setweather 2
+ doweather
+ end
+
diff --git a/data/scripts/maps/MtPyre_Summit.inc b/data/scripts/maps/MtPyre_Summit.inc
new file mode 100644
index 000000000..c16a6c7a2
--- /dev/null
+++ b/data/scripts/maps/MtPyre_Summit.inc
@@ -0,0 +1,640 @@
+MtPyre_Summit_MapScripts:: @ 8231FF7
+ map_script 3, MtPyre_Summit_MapScript1_231FFD
+ .byte 0
+
+MtPyre_Summit_MapScript1_231FFD: @ 8231FFD
+ compare_var_to_value VAR_0x40B9, 2
+ call_if 1, MtPyre_Summit_EventScript_232009
+ end
+
+MtPyre_Summit_EventScript_232009:: @ 8232009
+ setobjectxyperm 8, 23, 6
+ setobjectxyperm 2, 22, 6
+ end
+
+MtPyre_Summit_EventScript_232018:: @ 8232018
+ lockall
+ setvar VAR_0x8008, 0
+ goto MtPyre_Summit_EventScript_23203C
+ end
+
+MtPyre_Summit_EventScript_232024:: @ 8232024
+ lockall
+ setvar VAR_0x8008, 1
+ goto MtPyre_Summit_EventScript_23203C
+ end
+
+MtPyre_Summit_EventScript_232030:: @ 8232030
+ lockall
+ setvar VAR_0x8008, 2
+ goto MtPyre_Summit_EventScript_23203C
+ end
+
+MtPyre_Summit_EventScript_23203C:: @ 823203C
+ playbgm BGM_AQA_0, 0
+ applymovement 255, MtPyre_Summit_Movement_2725B2
+ waitmovement 0
+ applymovement 2, MtPyre_Summit_Movement_2725AA
+ waitmovement 0
+ delay 50
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, MtPyre_Summit_EventScript_2320E0
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, MtPyre_Summit_EventScript_2320EB
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, MtPyre_Summit_EventScript_2320EC
+ msgbox MtPyre_Summit_Text_23281A, 4
+ closemessage
+ fadescreen 1
+ removeobject 2
+ removeobject 4
+ removeobject 5
+ removeobject 6
+ removeobject 7
+ setflag FLAG_0x394
+ setflag FLAG_0x395
+ fadedefaultbgm
+ fadescreen 0
+ delay 20
+ setvar VAR_0x40B9, 1
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, MtPyre_Summit_EventScript_2320F7
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, MtPyre_Summit_EventScript_23210C
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, MtPyre_Summit_EventScript_232117
+ msgbox MtPyre_Summit_Text_23290E, 4
+ giveitem_std ITEM_MAGMA_EMBLEM
+ setflag FLAG_0x0D4
+ setflag FLAG_0x34F
+ releaseall
+ end
+
+MtPyre_Summit_EventScript_2320E0:: @ 82320E0
+ applymovement 2, MtPyre_Summit_Movement_232136
+ waitmovement 0
+ return
+
+MtPyre_Summit_EventScript_2320EB:: @ 82320EB
+ return
+
+MtPyre_Summit_EventScript_2320EC:: @ 82320EC
+ applymovement 2, MtPyre_Summit_Movement_232139
+ waitmovement 0
+ return
+
+MtPyre_Summit_EventScript_2320F7:: @ 82320F7
+ applymovement 3, MtPyre_Summit_Movement_23212C
+ waitmovement 0
+ applymovement 255, MtPyre_Summit_Movement_2725A8
+ waitmovement 0
+ return
+
+MtPyre_Summit_EventScript_23210C:: @ 823210C
+ applymovement 3, MtPyre_Summit_Movement_232130
+ waitmovement 0
+ return
+
+MtPyre_Summit_EventScript_232117:: @ 8232117
+ applymovement 3, MtPyre_Summit_Movement_232132
+ waitmovement 0
+ applymovement 255, MtPyre_Summit_Movement_2725A4
+ waitmovement 0
+ return
+
+MtPyre_Summit_Movement_23212C: @ 823212C
+ step_down
+ step_down
+ step_27
+ step_end
+
+MtPyre_Summit_Movement_232130: @ 8232130
+ step_down
+ step_end
+
+MtPyre_Summit_Movement_232132: @ 8232132
+ step_down
+ step_down
+ step_28
+ step_end
+
+MtPyre_Summit_Movement_232136: @ 8232136
+ step_left
+ step_25
+ step_end
+
+MtPyre_Summit_Movement_232139: @ 8232139
+ step_right
+ step_25
+ step_end
+
+MtPyre_Summit_EventScript_23213C:: @ 823213C
+ lock
+ faceplayer
+ checkflag FLAG_0x09E
+ goto_eq MtPyre_Summit_EventScript_232167
+ msgbox MtPyre_Summit_Text_232E0C, 5
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, MtPyre_Summit_EventScript_232187
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, MtPyre_Summit_EventScript_232190
+ release
+ end
+
+MtPyre_Summit_EventScript_232167:: @ 8232167
+ msgbox MtPyre_Summit_Text_2331A6, 5
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, MtPyre_Summit_EventScript_232199
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, MtPyre_Summit_EventScript_232190
+ release
+ end
+
+MtPyre_Summit_EventScript_232187:: @ 8232187
+ msgbox MtPyre_Summit_Text_232F27, 4
+ return
+
+MtPyre_Summit_EventScript_232190:: @ 8232190
+ msgbox MtPyre_Summit_Text_233162, 4
+ return
+
+MtPyre_Summit_EventScript_232199:: @ 8232199
+ msgbox MtPyre_Summit_Text_23325D, 4
+ return
+
+MtPyre_Summit_EventScript_2321A2:: @ 82321A2
+ lock
+ faceplayer
+ checkflag FLAG_0x103
+ goto_eq MtPyre_Summit_EventScript_2321E2
+ compare_var_to_value VAR_0x40B9, 3
+ call_if 4, MtPyre_Summit_EventScript_2321CB
+ checkflag FLAG_0x081
+ goto_eq MtPyre_Summit_EventScript_2321D8
+ msgbox MtPyre_Summit_Text_232AD8, 4
+ release
+ end
+
+MtPyre_Summit_EventScript_2321CB:: @ 82321CB
+ msgbox MtPyre_Summit_Text_232CA6, 4
+ setflag FLAG_0x103
+ release
+ end
+
+MtPyre_Summit_EventScript_2321D8:: @ 82321D8
+ msgbox MtPyre_Summit_Text_232B4F, 4
+ release
+ end
+
+MtPyre_Summit_EventScript_2321E2:: @ 82321E2
+ msgbox MtPyre_Summit_Text_232D1E, 4
+ release
+ end
+
+MtPyre_Summit_EventScript_2321EC:: @ 82321EC
+ lockall
+ setvar VAR_0x8008, 0
+ goto MtPyre_Summit_EventScript_232210
+ end
+
+MtPyre_Summit_EventScript_2321F8:: @ 82321F8
+ lockall
+ setvar VAR_0x8008, 1
+ goto MtPyre_Summit_EventScript_232210
+ end
+
+MtPyre_Summit_EventScript_232204:: @ 8232204
+ lockall
+ setvar VAR_0x8008, 2
+ goto MtPyre_Summit_EventScript_232210
+ end
+
+MtPyre_Summit_EventScript_232210:: @ 8232210
+ applymovement 255, MtPyre_Summit_Movement_2725A6
+ waitmovement 0
+ delay 60
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, MtPyre_Summit_EventScript_2322C4
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, MtPyre_Summit_EventScript_2322DD
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, MtPyre_Summit_EventScript_2322F6
+ playse SE_PIN
+ applymovement 8, MtPyre_Summit_Movement_272598
+ waitmovement 0
+ applymovement 8, MtPyre_Summit_Movement_27259A
+ waitmovement 0
+ delay 30
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, MtPyre_Summit_EventScript_23230F
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, MtPyre_Summit_EventScript_232328
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, MtPyre_Summit_EventScript_232341
+ msgbox MtPyre_Summit_Text_233183, 4
+ closemessage
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, MtPyre_Summit_EventScript_23235A
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, MtPyre_Summit_EventScript_232376
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, MtPyre_Summit_EventScript_232392
+ delay 30
+ applymovement 2, MtPyre_Summit_Movement_2323B6
+ applymovement 8, MtPyre_Summit_Movement_2323BD
+ waitmovement 0
+ removeobject 2
+ removeobject 8
+ setvar VAR_0x40B9, 3
+ releaseall
+ end
+
+MtPyre_Summit_EventScript_2322C4:: @ 82322C4
+ applymovement 255, MtPyre_Summit_Movement_2323C4
+ applymovement 2, MtPyre_Summit_Movement_2323B6
+ applymovement 8, MtPyre_Summit_Movement_2323BD
+ waitmovement 0
+ return
+
+MtPyre_Summit_EventScript_2322DD:: @ 82322DD
+ applymovement 255, MtPyre_Summit_Movement_2323CB
+ applymovement 2, MtPyre_Summit_Movement_2323B6
+ applymovement 8, MtPyre_Summit_Movement_2323BD
+ waitmovement 0
+ return
+
+MtPyre_Summit_EventScript_2322F6:: @ 82322F6
+ applymovement 255, MtPyre_Summit_Movement_2323D2
+ applymovement 2, MtPyre_Summit_Movement_2323B6
+ applymovement 8, MtPyre_Summit_Movement_2323BD
+ waitmovement 0
+ return
+
+MtPyre_Summit_EventScript_23230F:: @ 823230F
+ applymovement 255, MtPyre_Summit_Movement_2323AE
+ applymovement 2, MtPyre_Summit_Movement_2323E7
+ applymovement 8, MtPyre_Summit_Movement_2323D8
+ waitmovement 0
+ return
+
+MtPyre_Summit_EventScript_232328:: @ 8232328
+ applymovement 255, MtPyre_Summit_Movement_2323B2
+ applymovement 2, MtPyre_Summit_Movement_2323E7
+ applymovement 8, MtPyre_Summit_Movement_2323DD
+ waitmovement 0
+ return
+
+MtPyre_Summit_EventScript_232341:: @ 8232341
+ applymovement 255, MtPyre_Summit_Movement_2323B2
+ applymovement 2, MtPyre_Summit_Movement_2323E7
+ applymovement 8, MtPyre_Summit_Movement_2323E2
+ waitmovement 0
+ return
+
+MtPyre_Summit_EventScript_23235A:: @ 823235A
+ applymovement 255, MtPyre_Summit_Movement_2323EA
+ applymovement 8, MtPyre_Summit_Movement_2323ED
+ waitmovement 0
+ applymovement 2, MtPyre_Summit_Movement_2725A8
+ waitmovement 0
+ return
+
+MtPyre_Summit_EventScript_232376:: @ 8232376
+ applymovement 255, MtPyre_Summit_Movement_2323EA
+ applymovement 8, MtPyre_Summit_Movement_2323F3
+ waitmovement 0
+ applymovement 2, MtPyre_Summit_Movement_2725A8
+ waitmovement 0
+ return
+
+MtPyre_Summit_EventScript_232392:: @ 8232392
+ applymovement 255, MtPyre_Summit_Movement_2323EA
+ applymovement 8, MtPyre_Summit_Movement_2323F8
+ waitmovement 0
+ applymovement 2, MtPyre_Summit_Movement_2725A8
+ waitmovement 0
+ return
+
+MtPyre_Summit_Movement_2323AE: @ 82323AE
+ step_14
+ step_14
+ step_28
+ step_end
+
+MtPyre_Summit_Movement_2323B2: @ 82323B2
+ step_14
+ step_14
+ step_27
+ step_end
+
+MtPyre_Summit_Movement_2323B6: @ 82323B6
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+MtPyre_Summit_Movement_2323BD: @ 82323BD
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+MtPyre_Summit_Movement_2323C4: @ 82323C4
+ step_14
+ step_13
+ step_left
+ step_28
+ step_14
+ step_25
+ step_end
+
+MtPyre_Summit_Movement_2323CB: @ 82323CB
+ step_14
+ step_13
+ step_right
+ step_27
+ step_14
+ step_25
+ step_end
+
+MtPyre_Summit_Movement_2323D2: @ 82323D2
+ step_14
+ step_13
+ step_27
+ step_14
+ step_25
+ step_end
+
+MtPyre_Summit_Movement_2323D8: @ 82323D8
+ step_up
+ step_up
+ step_up
+ step_left
+ step_end
+
+MtPyre_Summit_Movement_2323DD: @ 82323DD
+ step_up
+ step_up
+ step_up
+ step_28
+ step_end
+
+MtPyre_Summit_Movement_2323E2: @ 82323E2
+ step_up
+ step_up
+ step_up
+ step_28
+ step_end
+
+MtPyre_Summit_Movement_2323E7: @ 82323E7
+ step_14
+ step_26
+ step_end
+
+MtPyre_Summit_Movement_2323EA: @ 82323EA
+ step_14
+ step_25
+ step_end
+
+MtPyre_Summit_Movement_2323ED: @ 82323ED
+ step_down
+ step_right
+ step_down
+ step_down
+ step_27
+ step_end
+
+MtPyre_Summit_Movement_2323F3: @ 82323F3
+ step_down
+ step_down
+ step_down
+ step_27
+ step_end
+
+MtPyre_Summit_Movement_2323F8: @ 82323F8
+ step_down
+ step_down
+ step_down
+ step_27
+ step_end
+
+MtPyre_Summit_EventScript_2323FD:: @ 82323FD
+ trainerbattle 0, TRAINER_GRUNT_17, 0, MtPyre_Summit_Text_232459, MtPyre_Summit_Text_2324A0
+ msgbox MtPyre_Summit_Text_2324E0, 6
+ end
+
+MtPyre_Summit_EventScript_232414:: @ 8232414
+ trainerbattle 0, TRAINER_GRUNT_18, 0, MtPyre_Summit_Text_232513, MtPyre_Summit_Text_2325B0
+ msgbox MtPyre_Summit_Text_2325E4, 6
+ end
+
+MtPyre_Summit_EventScript_23242B:: @ 823242B
+ trainerbattle 0, TRAINER_GRUNT_19, 0, MtPyre_Summit_Text_23261D, MtPyre_Summit_Text_232678
+ msgbox MtPyre_Summit_Text_2326B3, 6
+ end
+
+MtPyre_Summit_EventScript_232442:: @ 8232442
+ trainerbattle 0, TRAINER_GRUNT_29, 0, MtPyre_Summit_Text_23271B, MtPyre_Summit_Text_23279A
+ msgbox MtPyre_Summit_Text_2327D8, 6
+ end
+
+MtPyre_Summit_Text_232459: @ 8232459
+ .string "No! Those TEAM MAGMA goons got\n"
+ .string "here ahead of us!\p"
+ .string "We can’t fall behind!$"
+
+MtPyre_Summit_Text_2324A0: @ 82324A0
+ .string "I thought you were one of the MAGMAS\n"
+ .string "who happened to come back…$"
+
+MtPyre_Summit_Text_2324E0: @ 82324E0
+ .string "Yeah, so you are strong…\n"
+ .string "But there’re a lot of us!$"
+
+MtPyre_Summit_Text_232513: @ 8232513
+ .string "Hah!\n"
+ .string "Too bad for you!\p"
+ .string "If you came earlier, you only would’ve\n"
+ .string "had to battle the wimpy TEAM MAGMA.\p"
+ .string "But since you arrived now, you have\n"
+ .string "to take on us toughies!$"
+
+MtPyre_Summit_Text_2325B0: @ 82325B0
+ .string "Urgh… I should’ve let you take on\n"
+ .string "TEAM MAGMA first…$"
+
+MtPyre_Summit_Text_2325E4: @ 82325E4
+ .string "You don’t know anything!\n"
+ .string "So why are you messing with us?$"
+
+MtPyre_Summit_Text_23261D: @ 823261D
+ .string "You…\n"
+ .string "We saw you at MT. CHIMNEY.\p"
+ .string "You don’t belong to either TEAM,\n"
+ .string "so why would you be here?$"
+
+MtPyre_Summit_Text_232678: @ 8232678
+ .string "If you’re going to mess with anyone,\n"
+ .string "let it be TEAM MAGMA…$"
+
+MtPyre_Summit_Text_2326B3: @ 82326B3
+ .string "Heh, it doesn’t matter!\n"
+ .string "We bought ourselves some time!\p"
+ .string "The BOSS should have snatched what\n"
+ .string "he was after!$"
+
+MtPyre_Summit_Text_23271B: @ 823271B
+ .string "Oh, I know!\n"
+ .string "You tried to join TEAM MAGMA,\l"
+ .string "but they wouldn’t have you!\p"
+ .string "Well, don’t think that we’ll let you\n"
+ .string "join our TEAM AQUA!$"
+
+MtPyre_Summit_Text_23279A: @ 823279A
+ .string "If you want to join TEAM AQUA that\n"
+ .string "badly, we can consider it…$"
+
+MtPyre_Summit_Text_2327D8: @ 82327D8
+ .string "We have a great combination going\n"
+ .string "with us members and our leader.$"
+
+MtPyre_Summit_Text_23281A: @ 823281A
+ .string "ARCHIE: TEAM MAGMA’s MAXIE got ahead\n"
+ .string "of us, but we also got what we wanted.\p"
+ .string "The RED ORB preserved at MT. PYRE…\n"
+ .string "I, ARCHIE, now have it in my possession!\p"
+ .string "Fufufu… Now we can bring our ultimate\n"
+ .string "objective to fruition!\p"
+ .string "Okay, TEAM!\n"
+ .string "We’re pulling out!$"
+
+MtPyre_Summit_Text_23290E: @ 823290E
+ .string "Oh, no…\n"
+ .string "This cannot happen…\p"
+ .string "Not only the BLUE ORB, but even\n"
+ .string "the RED ORB has been taken…\p"
+ .string "The BLUE ORB and RED ORB must never\n"
+ .string "be separated. They belong together.\p"
+ .string "What are those men trying to do with\n"
+ .string "the two ORBS?\p"
+ .string "… … … … … …\n"
+ .string "… … … … … …\p"
+ .string "Oh, yes. Was it TEAM MAGMA who came\n"
+ .string "and took the BLUE ORB first?\p"
+ .string "Well, in their haste, they left this\n"
+ .string "behind.\p"
+ .string "I couldn’t imagine what exactly it\n"
+ .string "could be.\p"
+ .string "I would like you to have it.\n"
+ .string "Perhaps it will be useful in some way.$"
+
+MtPyre_Summit_Text_232AD8: @ 8232AD8
+ .string "The BLUE ORB and RED ORB taken by\n"
+ .string "those sinister men…\p"
+ .string "They must never be apart…\n"
+ .string "I fear something terrible will happen…$"
+
+MtPyre_Summit_Text_232B4F: @ 8232B4F
+ .string "Oh, my goodness…\p"
+ .string "You say that both GROUDON and KYOGRE\n"
+ .string "have been awakened?\p"
+ .string "It is said that the BLUE ORB and\n"
+ .string "the RED ORB quelled the rage of\l"
+ .string "the two POKéMON…\p"
+ .string "It is also said that the true owner\n"
+ .string "of the ORBS still exists.\p"
+ .string "However, no one knows who, or what\n"
+ .string "exactly, the ORBS belong to.\p"
+ .string "It could be a human, or perhaps\n"
+ .string "a POKéMON, but no one knows.$"
+
+MtPyre_Summit_Text_232CA6: @ 8232CA6
+ .string "The two men who took the ORBS came\n"
+ .string "back to return them on their own.\p"
+ .string "Those men…\n"
+ .string "Perhaps they are not so evil after all…$"
+
+MtPyre_Summit_Text_232D1E: @ 8232D1E
+ .string "The embodiments of the land, sea,\n"
+ .string "and the sky…\p"
+ .string "That is said to be the identities of\n"
+ .string "the super-ancient POKéMON…\p"
+ .string "In the same way that we humans and\n"
+ .string "POKéMON have life, our world, too,\l"
+ .string "is alive…\p"
+ .string "The super-ancient POKéMON have\n"
+ .string "taught us that…$"
+
+MtPyre_Summit_Text_232E0C: @ 8232E0C
+ .string "MT. PYRE is where we calm the spirits\n"
+ .string "of POKéMON that have passed on…\p"
+ .string "This is a high place where one can\n"
+ .string "see all of HOENN…\p"
+ .string "The disembodied spirits of POKéMON\n"
+ .string "must find solace here…\p"
+ .string "Is it coincidence that you are here…\p"
+ .string "Will you hear out my tale? A tale long\n"
+ .string "told in the HOENN region?$"
+
+MtPyre_Summit_Text_232F27: @ 8232F27
+ .string "It happened long, long ago…\p"
+ .string "The world was wracked by a ferocious\n"
+ .string "clash between the POKéMON of the land\l"
+ .string "and the POKéMON of the sea…\p"
+ .string "The POKéMON of the land raised\n"
+ .string "mountains and created continents…\p"
+ .string "The POKéMON of the sea raised huge\n"
+ .string "waves and carved out oceans…\p"
+ .string "Their fierce duel raged without end.\p"
+ .string "The world was engulfed in massive\n"
+ .string "infernos and vicious storms.\p"
+ .string "The BLUE ORB and the RED ORB brought\n"
+ .string "an end to the calamity.\p"
+ .string "Light poured from the two ORBS and\n"
+ .string "becalmed the enraged adversaries.\p"
+ .string "The pair, made docile, dove deep into\n"
+ .string "the sea where eventually they\l"
+ .string "disappeared…$"
+
+MtPyre_Summit_Text_233162: @ 8233162
+ .string "I see…\n"
+ .string "Well, that, too, is fine…$"
+
+MtPyre_Summit_Text_233183: @ 8233183
+ .string "MAXIE: {PLAYER}…\p"
+ .string "… … … … … …\n"
+ .string "… … … … … …$"
+
+MtPyre_Summit_Text_2331A6: @ 82331A6
+ .string "It is my role to pass on the legends\n"
+ .string "of HOENN to future generations.\p"
+ .string "And the crisis that just ended in\n"
+ .string "SOOTOPOLIS rewrote a legend…\p"
+ .string "Have you the time to hear the new\n"
+ .string "legend of HOENN?$"
+
+MtPyre_Summit_Text_23325D: @ 823325D
+ .string "It happened long, long ago…\p"
+ .string "The world was wracked by a ferocious\n"
+ .string "clash between the POKéMON of the land\l"
+ .string "and the POKéMON of the sea…\p"
+ .string "The POKéMON of the land raised\n"
+ .string "mountains and created continents…\p"
+ .string "The POKéMON of the sea raised huge\n"
+ .string "waves and carved out oceans…\p"
+ .string "Their fierce duel raged without end.\p"
+ .string "The world was engulfed in massive\n"
+ .string "fires and vicious storms.\p"
+ .string "It was then that the POKéMON of\n"
+ .string "the sky descended from a storm.\p"
+ .string "The POKéMON, shining a vivid green,\n"
+ .string "becalmed the two enraged POKéMON.\p"
+ .string "Then, its duty done, the green POKéMON\n"
+ .string "flew off into the wild blue yonder…$"
+
diff --git a/data/scripts/maps/NavelRock_B1F.inc b/data/scripts/maps/NavelRock_B1F.inc
new file mode 100644
index 000000000..a8906f24d
--- /dev/null
+++ b/data/scripts/maps/NavelRock_B1F.inc
@@ -0,0 +1,3 @@
+NavelRock_B1F_MapScripts:: @ 826910D
+ .byte 0
+
diff --git a/data/scripts/maps/NavelRock_Bottom.inc b/data/scripts/maps/NavelRock_Bottom.inc
new file mode 100644
index 000000000..055697d23
--- /dev/null
+++ b/data/scripts/maps/NavelRock_Bottom.inc
@@ -0,0 +1,88 @@
+NavelRock_Bottom_MapScripts:: @ 8269255
+ map_script 3, NavelRock_Bottom_MapScript1_269260
+ map_script 5, NavelRock_Bottom_MapScript1_269284
+ .byte 0
+
+NavelRock_Bottom_MapScript1_269260: @ 8269260
+ checkflag FLAG_0x091
+ call_if 1, NavelRock_Bottom_EventScript_269273
+ checkflag FLAG_0x091
+ call_if 0, NavelRock_Bottom_EventScript_269277
+ end
+
+NavelRock_Bottom_EventScript_269273:: @ 8269273
+ setflag FLAG_0x320
+ return
+
+NavelRock_Bottom_EventScript_269277:: @ 8269277
+ checkflag FLAG_0x1DD
+ goto_eq NavelRock_Bottom_EventScript_27374E
+ clearflag FLAG_0x320
+ return
+
+NavelRock_Bottom_MapScript1_269284: @ 8269284
+ checkflag FLAG_SYS_CTRL_OBJ_DELETE
+ call_if 1, NavelRock_Bottom_EventScript_26928E
+ end
+
+NavelRock_Bottom_EventScript_26928E:: @ 826928E
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 7
+ goto_if 5, NavelRock_Bottom_EventScript_27374E
+ removeobject 1
+ return
+
+NavelRock_Bottom_EventScript_2692A2:: @ 82692A2
+ lock
+ faceplayer
+ waitse
+ delay 20
+ playse SE_T_AME_E
+ setvar VAR_0x8004, 0
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 4
+ setvar VAR_0x8007, 2
+ special sub_8139560
+ delay 30
+ playse SE_T_AME_E
+ setvar VAR_0x8004, 0
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 4
+ setvar VAR_0x8007, 2
+ special sub_8139560
+ delay 30
+ delay 50
+ waitse
+ playmoncry SPECIES_LUGIA, 2
+ waitmoncry
+ delay 20
+ setvar VAR_0x8004, 249
+ setvar VAR_0x8005, 70
+ setvar VAR_0x8006, 0
+ special DoScriptedWildBattle
+ setflag FLAG_SYS_CTRL_OBJ_DELETE
+ special sub_80B0934
+ waitstate
+ clearflag FLAG_SYS_CTRL_OBJ_DELETE
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq NavelRock_Bottom_EventScript_269336
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq NavelRock_Bottom_EventScript_269344
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq NavelRock_Bottom_EventScript_269344
+ setflag FLAG_0x091
+ release
+ end
+
+NavelRock_Bottom_EventScript_269336:: @ 8269336
+ setflag FLAG_0x1DD
+ setvar VAR_0x8004, 249
+ goto NavelRock_Bottom_EventScript_273776
+ end
+
+NavelRock_Bottom_EventScript_269344:: @ 8269344
+ setvar VAR_0x8004, 249
+ goto NavelRock_Bottom_EventScript_273776
+ end
+
diff --git a/data/scripts/maps/NavelRock_Down01.inc b/data/scripts/maps/NavelRock_Down01.inc
new file mode 100644
index 000000000..9677167eb
--- /dev/null
+++ b/data/scripts/maps/NavelRock_Down01.inc
@@ -0,0 +1,3 @@
+NavelRock_Down01_MapScripts:: @ 826924A
+ .byte 0
+
diff --git a/data/scripts/maps/NavelRock_Down02.inc b/data/scripts/maps/NavelRock_Down02.inc
new file mode 100644
index 000000000..946530a4a
--- /dev/null
+++ b/data/scripts/maps/NavelRock_Down02.inc
@@ -0,0 +1,3 @@
+NavelRock_Down02_MapScripts:: @ 826924B
+ .byte 0
+
diff --git a/data/scripts/maps/NavelRock_Down03.inc b/data/scripts/maps/NavelRock_Down03.inc
new file mode 100644
index 000000000..2a2a702c1
--- /dev/null
+++ b/data/scripts/maps/NavelRock_Down03.inc
@@ -0,0 +1,3 @@
+NavelRock_Down03_MapScripts:: @ 826924C
+ .byte 0
+
diff --git a/data/scripts/maps/NavelRock_Down04.inc b/data/scripts/maps/NavelRock_Down04.inc
new file mode 100644
index 000000000..acf5aa456
--- /dev/null
+++ b/data/scripts/maps/NavelRock_Down04.inc
@@ -0,0 +1,3 @@
+NavelRock_Down04_MapScripts:: @ 826924D
+ .byte 0
+
diff --git a/data/scripts/maps/NavelRock_Down05.inc b/data/scripts/maps/NavelRock_Down05.inc
new file mode 100644
index 000000000..22a0c2059
--- /dev/null
+++ b/data/scripts/maps/NavelRock_Down05.inc
@@ -0,0 +1,3 @@
+NavelRock_Down05_MapScripts:: @ 826924E
+ .byte 0
+
diff --git a/data/scripts/maps/NavelRock_Down06.inc b/data/scripts/maps/NavelRock_Down06.inc
new file mode 100644
index 000000000..9acfe1e6a
--- /dev/null
+++ b/data/scripts/maps/NavelRock_Down06.inc
@@ -0,0 +1,3 @@
+NavelRock_Down06_MapScripts:: @ 826924F
+ .byte 0
+
diff --git a/data/scripts/maps/NavelRock_Down07.inc b/data/scripts/maps/NavelRock_Down07.inc
new file mode 100644
index 000000000..6c08fcc85
--- /dev/null
+++ b/data/scripts/maps/NavelRock_Down07.inc
@@ -0,0 +1,3 @@
+NavelRock_Down07_MapScripts:: @ 8269250
+ .byte 0
+
diff --git a/data/scripts/maps/NavelRock_Down08.inc b/data/scripts/maps/NavelRock_Down08.inc
new file mode 100644
index 000000000..5a40a72a5
--- /dev/null
+++ b/data/scripts/maps/NavelRock_Down08.inc
@@ -0,0 +1,3 @@
+NavelRock_Down08_MapScripts:: @ 8269251
+ .byte 0
+
diff --git a/data/scripts/maps/NavelRock_Down09.inc b/data/scripts/maps/NavelRock_Down09.inc
new file mode 100644
index 000000000..80bbbc0e5
--- /dev/null
+++ b/data/scripts/maps/NavelRock_Down09.inc
@@ -0,0 +1,3 @@
+NavelRock_Down09_MapScripts:: @ 8269252
+ .byte 0
+
diff --git a/data/scripts/maps/NavelRock_Down10.inc b/data/scripts/maps/NavelRock_Down10.inc
new file mode 100644
index 000000000..2b27edeb5
--- /dev/null
+++ b/data/scripts/maps/NavelRock_Down10.inc
@@ -0,0 +1,3 @@
+NavelRock_Down10_MapScripts:: @ 8269253
+ .byte 0
+
diff --git a/data/scripts/maps/NavelRock_Down11.inc b/data/scripts/maps/NavelRock_Down11.inc
new file mode 100644
index 000000000..91c6fa36a
--- /dev/null
+++ b/data/scripts/maps/NavelRock_Down11.inc
@@ -0,0 +1,3 @@
+NavelRock_Down11_MapScripts:: @ 8269254
+ .byte 0
+
diff --git a/data/scripts/maps/NavelRock_Entrance.inc b/data/scripts/maps/NavelRock_Entrance.inc
new file mode 100644
index 000000000..9c25f5054
--- /dev/null
+++ b/data/scripts/maps/NavelRock_Entrance.inc
@@ -0,0 +1,3 @@
+NavelRock_Entrance_MapScripts:: @ 826910C
+ .byte 0
+
diff --git a/data/scripts/maps/NavelRock_Exterior.inc b/data/scripts/maps/NavelRock_Exterior.inc
new file mode 100644
index 000000000..daa3fc964
--- /dev/null
+++ b/data/scripts/maps/NavelRock_Exterior.inc
@@ -0,0 +1,8 @@
+NavelRock_Exterior_MapScripts:: @ 82690B2
+ map_script 3, NavelRock_Exterior_MapScript1_2690B8
+ .byte 0
+
+NavelRock_Exterior_MapScript1_2690B8: @ 82690B8
+ setflag FLAG_0x8E1
+ end
+
diff --git a/data/scripts/maps/NavelRock_Fork.inc b/data/scripts/maps/NavelRock_Fork.inc
new file mode 100644
index 000000000..4269feeac
--- /dev/null
+++ b/data/scripts/maps/NavelRock_Fork.inc
@@ -0,0 +1,3 @@
+NavelRock_Fork_MapScripts:: @ 826910E
+ .byte 0
+
diff --git a/data/scripts/maps/NavelRock_Harbor.inc b/data/scripts/maps/NavelRock_Harbor.inc
new file mode 100644
index 000000000..111a8762a
--- /dev/null
+++ b/data/scripts/maps/NavelRock_Harbor.inc
@@ -0,0 +1,27 @@
+NavelRock_Harbor_MapScripts:: @ 82690BC
+ .byte 0
+
+NavelRock_Harbor_EventScript_2690BD:: @ 82690BD
+ lock
+ faceplayer
+ msgbox NavelRock_Harbor_Text_2C6CE6, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq NavelRock_Harbor_EventScript_269102
+ msgbox NavelRock_Harbor_Text_2A6A5D, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, NavelRock_Harbor_Movement_2725AA
+ waitmovement 0
+ delay 30
+ hideobjectat 1, NAVEL_ROCK_HARBOR
+ setvar VAR_0x8004, 2
+ call NavelRock_Harbor_EventScript_272250
+ warp LILYCOVE_CITY_HARBOR, 255, 8, 11
+ waitstate
+ release
+ end
+
+NavelRock_Harbor_EventScript_269102:: @ 8269102
+ msgbox NavelRock_Harbor_Text_2A6A82, 4
+ release
+ end
+
diff --git a/data/scripts/maps/NavelRock_Top.inc b/data/scripts/maps/NavelRock_Top.inc
new file mode 100644
index 000000000..01c9a1523
--- /dev/null
+++ b/data/scripts/maps/NavelRock_Top.inc
@@ -0,0 +1,127 @@
+NavelRock_Top_MapScripts:: @ 8269113
+ map_script 3, NavelRock_Top_MapScript1_26911E
+ map_script 5, NavelRock_Top_MapScript1_269151
+ .byte 0
+
+NavelRock_Top_MapScript1_26911E: @ 826911E
+ checkflag FLAG_0x092
+ call_if 1, NavelRock_Top_EventScript_269131
+ checkflag FLAG_0x092
+ call_if 0, NavelRock_Top_EventScript_26913A
+ end
+
+NavelRock_Top_EventScript_269131:: @ 8269131
+ setvar VAR_0x4001, 1
+ setflag FLAG_0x321
+ return
+
+NavelRock_Top_EventScript_26913A:: @ 826913A
+ setvar VAR_0x4001, 1
+ checkflag FLAG_0x1DC
+ goto_eq NavelRock_Top_EventScript_27374E
+ setvar VAR_0x4001, 0
+ clearflag FLAG_0x321
+ return
+
+NavelRock_Top_MapScript1_269151: @ 8269151
+ checkflag FLAG_SYS_CTRL_OBJ_DELETE
+ call_if 1, NavelRock_Top_EventScript_26915B
+ end
+
+NavelRock_Top_EventScript_26915B:: @ 826915B
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 7
+ goto_if 5, NavelRock_Top_EventScript_27374E
+ removeobject 1
+ return
+
+NavelRock_Top_EventScript_26916F:: @ 826916F
+ lockall
+ setvar VAR_0x4001, 1
+ special SpawnScriptFieldObject
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 35
+ special sub_813B80C
+ applymovement 1, NavelRock_Top_Movement_269243
+ applymovement 127, NavelRock_Top_Movement_269230
+ waitmovement 0
+ delay 50
+ setweather 0
+ doweather
+ waitse
+ playmoncry SPECIES_HO_OH, 2
+ delay 30
+ waitmoncry
+ delay 60
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 35
+ special sub_813B80C
+ applymovement 127, NavelRock_Top_Movement_269234
+ applymovement 1, NavelRock_Top_Movement_26923A
+ waitmovement 0
+ special RemoveScriptFieldObject
+ setvar VAR_0x8004, 250
+ setvar VAR_0x8005, 70
+ setvar VAR_0x8006, 0
+ special DoScriptedWildBattle
+ setflag FLAG_SYS_CTRL_OBJ_DELETE
+ special sub_80B0934
+ waitstate
+ clearflag FLAG_SYS_CTRL_OBJ_DELETE
+ setvar VAR_LAST_TALKED, 1
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq NavelRock_Top_EventScript_269217
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq NavelRock_Top_EventScript_269225
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq NavelRock_Top_EventScript_269225
+ setflag FLAG_0x092
+ releaseall
+ end
+
+NavelRock_Top_EventScript_269217:: @ 8269217
+ setflag FLAG_0x1DC
+ setvar VAR_0x8004, 250
+ goto NavelRock_Top_EventScript_273776
+ end
+
+NavelRock_Top_EventScript_269225:: @ 8269225
+ setvar VAR_0x8004, 250
+ goto NavelRock_Top_EventScript_273776
+ end
+
+NavelRock_Top_Movement_269230: @ 8269230
+ step_up
+ step_up
+ step_up
+ step_end
+
+NavelRock_Top_Movement_269234: @ 8269234
+ step_14
+ step_14
+ step_down
+ step_down
+ step_down
+ step_end
+
+NavelRock_Top_Movement_26923A: @ 826923A
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_1d
+ step_14
+ step_14
+ step_end
+
+NavelRock_Top_Movement_269243: @ 8269243
+ step_14
+ step_14
+ step_1d
+ step_1d
+ step_1d
+ step_1d
+ step_end
+
diff --git a/data/scripts/maps/NavelRock_Up1.inc b/data/scripts/maps/NavelRock_Up1.inc
new file mode 100644
index 000000000..c85af5f0c
--- /dev/null
+++ b/data/scripts/maps/NavelRock_Up1.inc
@@ -0,0 +1,3 @@
+NavelRock_Up1_MapScripts:: @ 826910F
+ .byte 0
+
diff --git a/data/scripts/maps/NavelRock_Up2.inc b/data/scripts/maps/NavelRock_Up2.inc
new file mode 100644
index 000000000..27ae52190
--- /dev/null
+++ b/data/scripts/maps/NavelRock_Up2.inc
@@ -0,0 +1,3 @@
+NavelRock_Up2_MapScripts:: @ 8269110
+ .byte 0
+
diff --git a/data/scripts/maps/NavelRock_Up3.inc b/data/scripts/maps/NavelRock_Up3.inc
new file mode 100644
index 000000000..a9c3e2a3c
--- /dev/null
+++ b/data/scripts/maps/NavelRock_Up3.inc
@@ -0,0 +1,3 @@
+NavelRock_Up3_MapScripts:: @ 8269111
+ .byte 0
+
diff --git a/data/scripts/maps/NavelRock_Up4.inc b/data/scripts/maps/NavelRock_Up4.inc
new file mode 100644
index 000000000..c6beead6d
--- /dev/null
+++ b/data/scripts/maps/NavelRock_Up4.inc
@@ -0,0 +1,3 @@
+NavelRock_Up4_MapScripts:: @ 8269112
+ .byte 0
+
diff --git a/data/scripts/maps/NewMauville_Entrance.inc b/data/scripts/maps/NewMauville_Entrance.inc
new file mode 100644
index 000000000..e752bbecb
--- /dev/null
+++ b/data/scripts/maps/NewMauville_Entrance.inc
@@ -0,0 +1,61 @@
+NewMauville_Entrance_MapScripts:: @ 82372AD
+ map_script 1, NewMauville_Entrance_MapScript1_2372B8
+ map_script 3, NewMauville_Entrance_MapScript1_2372FB
+ .byte 0
+
+NewMauville_Entrance_MapScript1_2372B8: @ 82372B8
+ compare_var_to_value VAR_0x40BA, 0
+ call_if 1, NewMauville_Entrance_EventScript_2372C4
+ end
+
+NewMauville_Entrance_EventScript_2372C4:: @ 82372C4
+ setmetatile 3, 0, 788, 1
+ setmetatile 4, 0, 789, 1
+ setmetatile 5, 0, 790, 1
+ setmetatile 3, 1, 796, 1
+ setmetatile 4, 1, 797, 1
+ setmetatile 5, 1, 798, 1
+ return
+
+NewMauville_Entrance_MapScript1_2372FB: @ 82372FB
+ setflag FLAG_0x8A0
+ end
+
+NewMauville_Entrance_EventScript_2372FF:: @ 82372FF
+ lockall
+ applymovement 255, NewMauville_Entrance_Movement_2725A6
+ waitmovement 0
+ msgbox NewMauville_Entrance_Text_237382, 4
+ checkitem ITEM_BASEMENT_KEY, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq NewMauville_Entrance_EventScript_237380
+ msgbox NewMauville_Entrance_Text_237396, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq NewMauville_Entrance_EventScript_237380
+ msgbox NewMauville_Entrance_Text_2373AC, 4
+ setmetatile 3, 0, 707, 0
+ setmetatile 4, 0, 708, 0
+ setmetatile 5, 0, 709, 0
+ setmetatile 3, 1, 715, 1
+ setmetatile 4, 1, 716, 0
+ setmetatile 5, 1, 717, 1
+ special DrawWholeMapView
+ playse SE_BAN
+ setvar VAR_0x40BA, 1
+ releaseall
+ end
+
+NewMauville_Entrance_EventScript_237380:: @ 8237380
+ releaseall
+ end
+
+NewMauville_Entrance_Text_237382: @ 8237382
+ .string "The door is locked.$"
+
+NewMauville_Entrance_Text_237396: @ 8237396
+ .string "Use the BASEMENT KEY?$"
+
+NewMauville_Entrance_Text_2373AC: @ 82373AC
+ .string "{PLAYER} used the BASEMENT KEY.\p"
+ .string "The door opened!$"
+
diff --git a/data/scripts/maps/NewMauville_Inside.inc b/data/scripts/maps/NewMauville_Inside.inc
new file mode 100644
index 000000000..b1bd0b114
--- /dev/null
+++ b/data/scripts/maps/NewMauville_Inside.inc
@@ -0,0 +1,282 @@
+NewMauville_Inside_MapScripts:: @ 82373D7
+ map_script 5, NewMauville_Inside_MapScript1_2373E7
+ map_script 3, NewMauville_Inside_MapScript1_23741B
+ map_script 1, NewMauville_Inside_MapScript1_23744D
+ .byte 0
+
+NewMauville_Inside_MapScript1_2373E7: @ 82373E7
+ compare_var_to_value VAR_0x4001, 1
+ call_if 1, NewMauville_Inside_EventScript_237489
+ compare_var_to_value VAR_0x4002, 1
+ call_if 1, NewMauville_Inside_EventScript_2375D7
+ checkflag FLAG_SYS_CTRL_OBJ_DELETE
+ call_if 1, NewMauville_Inside_EventScript_237407
+ end
+
+NewMauville_Inside_EventScript_237407:: @ 8237407
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 7
+ goto_if 5, NewMauville_Inside_EventScript_27374E
+ removeobject VAR_LAST_TALKED
+ return
+
+NewMauville_Inside_MapScript1_23741B: @ 823741B
+ setvar VAR_0x4001, 0
+ setvar VAR_0x4002, 0
+ checkflag FLAG_0x1C1
+ call_if 0, NewMauville_Inside_EventScript_237441
+ checkflag FLAG_0x1C2
+ call_if 0, NewMauville_Inside_EventScript_237445
+ checkflag FLAG_0x1C3
+ call_if 0, NewMauville_Inside_EventScript_237449
+ end
+
+NewMauville_Inside_EventScript_237441:: @ 8237441
+ clearflag FLAG_0x3CE
+ return
+
+NewMauville_Inside_EventScript_237445:: @ 8237445
+ clearflag FLAG_0x3CF
+ return
+
+NewMauville_Inside_EventScript_237449:: @ 8237449
+ clearflag FLAG_0x3D0
+ return
+
+NewMauville_Inside_MapScript1_23744D: @ 823744D
+ compare_var_to_value VAR_0x40BA, 2
+ call_if 1, NewMauville_Inside_EventScript_23773A
+ end
+
+NewMauville_Inside_EventScript_237459:: @ 8237459
+ lockall
+ setvar VAR_0x4001, 1
+ setvar VAR_0x4002, 0
+ playse SE_PIN
+ call NewMauville_Inside_EventScript_237489
+ special DrawWholeMapView
+ releaseall
+ end
+
+NewMauville_Inside_EventScript_237471:: @ 8237471
+ lockall
+ setvar VAR_0x4001, 0
+ setvar VAR_0x4002, 1
+ playse SE_PIN
+ call NewMauville_Inside_EventScript_2375D7
+ special DrawWholeMapView
+ releaseall
+ end
+
+NewMauville_Inside_EventScript_237489:: @ 8237489
+ setmetatile 23, 34, 617, 1
+ setmetatile 23, 35, 625, 1
+ setmetatile 23, 36, 621, 0
+ setmetatile 23, 37, 641, 0
+ setmetatile 10, 16, 617, 1
+ setmetatile 10, 17, 625, 1
+ setmetatile 10, 18, 621, 0
+ setmetatile 10, 19, 641, 0
+ setmetatile 10, 0, 617, 1
+ setmetatile 10, 1, 625, 1
+ setmetatile 10, 2, 621, 0
+ setmetatile 10, 3, 641, 0
+ setmetatile 37, 33, 694, 1
+ setmetatile 37, 34, 702, 1
+ setmetatile 37, 35, 710, 1
+ setmetatile 37, 36, 718, 1
+ setmetatile 28, 22, 694, 1
+ setmetatile 28, 23, 702, 1
+ setmetatile 28, 24, 710, 1
+ setmetatile 28, 25, 718, 1
+ setmetatile 10, 24, 694, 1
+ setmetatile 10, 25, 702, 1
+ setmetatile 10, 26, 710, 1
+ setmetatile 10, 27, 718, 1
+ setmetatile 21, 2, 694, 1
+ setmetatile 21, 3, 702, 1
+ setmetatile 21, 4, 710, 1
+ setmetatile 21, 5, 718, 1
+ setmetatile 6, 11, 591, 0
+ setmetatile 13, 10, 591, 0
+ setmetatile 16, 22, 591, 0
+ setmetatile 4, 26, 591, 0
+ setmetatile 30, 38, 591, 0
+ setmetatile 2, 11, 558, 0
+ setmetatile 17, 10, 558, 0
+ setmetatile 25, 18, 558, 0
+ setmetatile 18, 36, 558, 0
+ return
+
+NewMauville_Inside_EventScript_2375D7:: @ 82375D7
+ setmetatile 23, 34, 695, 1
+ setmetatile 23, 35, 703, 1
+ setmetatile 23, 36, 711, 1
+ setmetatile 23, 37, 719, 1
+ setmetatile 10, 16, 695, 1
+ setmetatile 10, 17, 703, 1
+ setmetatile 10, 18, 711, 1
+ setmetatile 10, 19, 719, 1
+ setmetatile 10, 0, 695, 1
+ setmetatile 10, 1, 703, 1
+ setmetatile 10, 2, 711, 1
+ setmetatile 10, 3, 719, 1
+ setmetatile 37, 33, 617, 1
+ setmetatile 37, 34, 625, 1
+ setmetatile 37, 35, 621, 0
+ setmetatile 37, 36, 641, 0
+ setmetatile 28, 22, 617, 1
+ setmetatile 28, 23, 625, 1
+ setmetatile 28, 24, 621, 0
+ setmetatile 28, 25, 641, 0
+ setmetatile 10, 24, 617, 1
+ setmetatile 10, 25, 625, 1
+ setmetatile 10, 26, 621, 0
+ setmetatile 10, 27, 641, 0
+ setmetatile 21, 2, 617, 1
+ setmetatile 21, 3, 625, 1
+ setmetatile 21, 4, 621, 0
+ setmetatile 21, 5, 641, 0
+ setmetatile 2, 11, 591, 0
+ setmetatile 17, 10, 591, 0
+ setmetatile 25, 18, 591, 0
+ setmetatile 18, 36, 591, 0
+ setmetatile 6, 11, 566, 0
+ setmetatile 13, 10, 566, 0
+ setmetatile 16, 22, 566, 0
+ setmetatile 4, 26, 566, 0
+ setmetatile 30, 38, 566, 0
+ return
+
+NewMauville_Inside_EventScript_237725:: @ 8237725
+ lockall
+ msgbox NewMauville_Inside_Text_237932, 4
+ call NewMauville_Inside_EventScript_23773A
+ setvar VAR_0x40BA, 2
+ releaseall
+ end
+
+NewMauville_Inside_EventScript_23773A:: @ 823773A
+ setmetatile 33, 6, 591, 0
+ setmetatile 32, 2, 752, 1
+ setmetatile 33, 2, 753, 1
+ setmetatile 34, 2, 754, 1
+ setmetatile 35, 2, 755, 1
+ setmetatile 32, 3, 756, 1
+ setmetatile 33, 3, 757, 1
+ setmetatile 34, 3, 758, 1
+ setmetatile 35, 3, 759, 1
+ special DrawWholeMapView
+ return
+
+NewMauville_Inside_EventScript_23778F:: @ 823778F
+ lockall
+ compare_var_to_value VAR_0x40BA, 2
+ goto_eq NewMauville_Inside_EventScript_2377A5
+ msgbox NewMauville_Inside_Text_237896, 4
+ releaseall
+ end
+
+NewMauville_Inside_EventScript_2377A5:: @ 82377A5
+ msgbox NewMauville_Inside_Text_237916, 4
+ releaseall
+ end
+
+NewMauville_Inside_EventScript_2377AF:: @ 82377AF
+ lock
+ faceplayer
+ setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE
+ waitse
+ playmoncry SPECIES_VOLTORB, 2
+ delay 40
+ waitmoncry
+ setflag FLAG_SYS_CTRL_OBJ_DELETE
+ dowildbattle
+ clearflag FLAG_SYS_CTRL_OBJ_DELETE
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq NewMauville_Inside_EventScript_2377F3
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq NewMauville_Inside_EventScript_2377F3
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq NewMauville_Inside_EventScript_2377F3
+ setflag FLAG_0x1C1
+ release
+ end
+
+NewMauville_Inside_EventScript_2377F3:: @ 82377F3
+ setflag FLAG_0x1C1
+ goto NewMauville_Inside_EventScript_27376D
+ end
+
+NewMauville_Inside_EventScript_2377FC:: @ 82377FC
+ lock
+ faceplayer
+ setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE
+ waitse
+ playmoncry SPECIES_VOLTORB, 2
+ delay 40
+ waitmoncry
+ setflag FLAG_SYS_CTRL_OBJ_DELETE
+ dowildbattle
+ clearflag FLAG_SYS_CTRL_OBJ_DELETE
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq NewMauville_Inside_EventScript_237840
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq NewMauville_Inside_EventScript_237840
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq NewMauville_Inside_EventScript_237840
+ setflag FLAG_0x1C2
+ release
+ end
+
+NewMauville_Inside_EventScript_237840:: @ 8237840
+ setflag FLAG_0x1C2
+ goto NewMauville_Inside_EventScript_27376D
+ end
+
+NewMauville_Inside_EventScript_237849:: @ 8237849
+ lock
+ faceplayer
+ setwildbattle SPECIES_VOLTORB, 25, ITEM_NONE
+ waitse
+ playmoncry SPECIES_VOLTORB, 2
+ delay 40
+ waitmoncry
+ setflag FLAG_SYS_CTRL_OBJ_DELETE
+ dowildbattle
+ clearflag FLAG_SYS_CTRL_OBJ_DELETE
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq NewMauville_Inside_EventScript_23788D
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq NewMauville_Inside_EventScript_23788D
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq NewMauville_Inside_EventScript_23788D
+ setflag FLAG_0x1C3
+ release
+ end
+
+NewMauville_Inside_EventScript_23788D:: @ 823788D
+ setflag FLAG_0x1C3
+ goto NewMauville_Inside_EventScript_27376D
+ end
+
+NewMauville_Inside_Text_237896: @ 8237896
+ .string "The generator is radiating heat that\n"
+ .string "can be felt even at a distance.\p"
+ .string "It looks like it should be turned off\n"
+ .string "as soon as possible.$"
+
+NewMauville_Inside_Text_237916: @ 8237916
+ .string "The generator quieted down.$"
+
+NewMauville_Inside_Text_237932: @ 8237932
+ .string "{PLAYER} stepped on the switch.\p"
+ .string "Click…\p"
+ .string "… … … … … … … …\n"
+ .string "… … … … … … … …\p"
+ .string "The generator appears to have\n"
+ .string "stopped…$"
+
diff --git a/data/scripts/maps/OldaleTown.inc b/data/scripts/maps/OldaleTown.inc
new file mode 100644
index 000000000..df1aeb595
--- /dev/null
+++ b/data/scripts/maps/OldaleTown.inc
@@ -0,0 +1,408 @@
+OldaleTown_MapScripts:: @ 81E8EA2
+ map_script 3, OldaleTown_MapScript1_1E8EA8
+ .byte 0
+
+OldaleTown_MapScript1_1E8EA8: @ 81E8EA8
+ call OldaleTown_EventScript_271ED7
+ setflag FLAG_VISITED_OLDALE_TOWN
+ checkflag FLAG_0x074
+ call_if 0, OldaleTown_EventScript_1E8ED2
+ checkflag FLAG_0x084
+ call_if 0, OldaleTown_EventScript_1E8EDE
+ checkflag FLAG_0x074
+ call_if 1, OldaleTown_EventScript_1E8ECC
+ end
+
+OldaleTown_EventScript_1E8ECC:: @ 81E8ECC
+ setvar VAR_0x4051, 1
+ return
+
+OldaleTown_EventScript_1E8ED2:: @ 81E8ED2
+ setobjectxyperm 3, 1, 11
+ setobjectmovementtype 3, 9
+ return
+
+OldaleTown_EventScript_1E8EDE:: @ 81E8EDE
+ setobjectxyperm 2, 13, 14
+ setobjectmovementtype 2, 8
+ return
+
+OldaleTown_EventScript_1E8EEA:: @ 81E8EEA
+ msgbox OldaleTown_Text_1E94DA, 3
+ end
+
+OldaleTown_EventScript_1E8EF3:: @ 81E8EF3
+ msgbox OldaleTown_Text_1E918E, 2
+ end
+
+OldaleTown_EventScript_1E8EFC:: @ 81E8EFC
+ lock
+ faceplayer
+ checkflag FLAG_0x084
+ goto_eq OldaleTown_EventScript_1E8FB9
+ checkflag FLAG_0x001
+ goto_eq OldaleTown_EventScript_1E8FB9
+ setflag FLAG_0x001
+ playbgm BGM_TSURETEK, 0
+ msgbox OldaleTown_Text_1E91C0, 4
+ closemessage
+ switch VAR_FACING
+ case 1, OldaleTown_EventScript_1E8F47
+ case 2, OldaleTown_EventScript_1E8F5E
+ case 4, OldaleTown_EventScript_1E8F75
+ end
+
+OldaleTown_EventScript_1E8F47:: @ 81E8F47
+ applymovement 2, OldaleTown_Movement_1E8FD7
+ applymovement 255, OldaleTown_Movement_1E9001
+ waitmovement 0
+ goto OldaleTown_EventScript_1E8F8C
+ end
+
+OldaleTown_EventScript_1E8F5E:: @ 81E8F5E
+ applymovement 2, OldaleTown_Movement_1E8FE2
+ applymovement 255, OldaleTown_Movement_1E900B
+ waitmovement 0
+ goto OldaleTown_EventScript_1E8F8C
+ end
+
+OldaleTown_EventScript_1E8F75:: @ 81E8F75
+ applymovement 255, OldaleTown_Movement_1E8FF9
+ applymovement 2, OldaleTown_Movement_1E8FCE
+ waitmovement 0
+ goto OldaleTown_EventScript_1E8F8C
+ end
+
+OldaleTown_EventScript_1E8F8C:: @ 81E8F8C
+ msgbox OldaleTown_Text_1E91FD, 4
+ giveitem_std ITEM_POTION
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq OldaleTown_EventScript_1E8FC3
+ msgbox OldaleTown_Text_1E92AF, 4
+ setflag FLAG_0x084
+ fadedefaultbgm
+ release
+ end
+
+OldaleTown_EventScript_1E8FB9:: @ 81E8FB9
+ msgbox OldaleTown_Text_1E92AF, 4
+ release
+ end
+
+OldaleTown_EventScript_1E8FC3:: @ 81E8FC3
+ msgbox gUnknown_08272AD0, 4
+ fadedefaultbgm
+ release
+ end
+
+OldaleTown_Movement_1E8FCE: @ 81E8FCE
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_25
+ step_end
+
+OldaleTown_Movement_1E8FD7: @ 81E8FD7
+ step_left
+ step_up
+ step_up
+ step_right
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_25
+ step_end
+
+OldaleTown_Movement_1E8FE2: @ 81E8FE2
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_25
+ step_end
+
+OldaleTown_Movement_1E8FEB: @ 81E8FEB
+ step_up
+ step_up
+ step_right
+ step_right
+ step_right
+ step_right
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_13
+ step_25
+ step_end
+
+OldaleTown_Movement_1E8FF9: @ 81E8FF9
+ step_right
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+OldaleTown_Movement_1E9001: @ 81E9001
+ step_14
+ step_14
+ step_14
+ step_14
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+OldaleTown_Movement_1E900B: @ 81E900B
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+OldaleTown_Movement_1E9013: @ 81E9013
+ step_left
+ step_up
+ step_up
+ step_right
+ step_right
+ step_right
+ step_right
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+OldaleTown_EventScript_1E901F:: @ 81E901F
+ lock
+ faceplayer
+ checkflag FLAG_0x074
+ goto_eq OldaleTown_EventScript_1E9066
+ msgbox OldaleTown_Text_1E939A, 4
+ closemessage
+ applymovement 3, OldaleTown_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+OldaleTown_EventScript_1E903F:: @ 81E903F
+ lockall
+ applymovement 255, OldaleTown_Movement_1E9182
+ applymovement 3, OldaleTown_Movement_1E9185
+ waitmovement 0
+ msgbox OldaleTown_Text_1E9313, 4
+ closemessage
+ applymovement 3, OldaleTown_Movement_1E918B
+ waitmovement 0
+ releaseall
+ end
+
+OldaleTown_EventScript_1E9066:: @ 81E9066
+ msgbox OldaleTown_Text_1E93F8, 4
+ release
+ end
+
+OldaleTown_EventScript_1E9070:: @ 81E9070
+ lockall
+ applymovement 4, OldaleTown_Movement_27259E
+ waitmovement 0
+ setvar VAR_0x8009, 0
+ goto OldaleTown_EventScript_1E90E6
+ end
+
+OldaleTown_EventScript_1E9086:: @ 81E9086
+ lockall
+ applymovement 4, OldaleTown_Movement_1E9170
+ waitmovement 0
+ applymovement 255, OldaleTown_Movement_2725A8
+ waitmovement 0
+ setvar VAR_0x8009, 1
+ goto OldaleTown_EventScript_1E90E6
+ end
+
+OldaleTown_EventScript_1E90A6:: @ 81E90A6
+ lockall
+ applymovement 4, OldaleTown_Movement_1E9173
+ waitmovement 0
+ applymovement 255, OldaleTown_Movement_2725A8
+ waitmovement 0
+ setvar VAR_0x8009, 1
+ goto OldaleTown_EventScript_1E90E6
+ end
+
+OldaleTown_EventScript_1E90C6:: @ 81E90C6
+ lockall
+ applymovement 4, OldaleTown_Movement_1E9175
+ waitmovement 0
+ applymovement 255, OldaleTown_Movement_2725A8
+ waitmovement 0
+ setvar VAR_0x8009, 1
+ goto OldaleTown_EventScript_1E90E6
+ end
+
+OldaleTown_EventScript_1E90E6:: @ 81E90E6
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq OldaleTown_EventScript_1E90FE
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq OldaleTown_EventScript_1E910C
+ end
+
+OldaleTown_EventScript_1E90FE:: @ 81E90FE
+ msgbox OldaleTown_Text_1E9462, 4
+ goto OldaleTown_EventScript_1E911A
+ end
+
+OldaleTown_EventScript_1E910C:: @ 81E910C
+ msgbox OldaleTown_Text_1E948A, 4
+ goto OldaleTown_EventScript_1E911A
+ end
+
+OldaleTown_EventScript_1E911A:: @ 81E911A
+ closemessage
+ compare_var_to_value VAR_0x8009, 0
+ call_if 1, OldaleTown_EventScript_1E9148
+ compare_var_to_value VAR_0x8009, 1
+ call_if 1, OldaleTown_EventScript_1E915E
+ applymovement 4, OldaleTown_Movement_1E9177
+ waitmovement 0
+ removeobject 4
+ setvar VAR_0x40C7, 2
+ setflag FLAG_0x3D3
+ releaseall
+ end
+
+OldaleTown_EventScript_1E9148:: @ 81E9148
+ compare_var_to_value VAR_FACING, 1
+ goto_if 5, OldaleTown_EventScript_1E915E
+ applymovement 4, OldaleTown_Movement_1E9177
+ waitmovement 0
+ return
+
+OldaleTown_EventScript_1E915E:: @ 81E915E
+ applymovement 255, OldaleTown_Movement_1E917E
+ applymovement 4, OldaleTown_Movement_1E9177
+ waitmovement 0
+ return
+
+OldaleTown_Movement_1E9170: @ 81E9170
+ step_left
+ step_left
+ step_end
+
+OldaleTown_Movement_1E9173: @ 81E9173
+ step_left
+ step_end
+
+OldaleTown_Movement_1E9175: @ 81E9175
+ step_02
+ step_end
+
+OldaleTown_Movement_1E9177: @ 81E9177
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+OldaleTown_Movement_1E917E: @ 81E917E
+ step_13
+ step_12
+ step_25
+ step_end
+
+OldaleTown_Movement_1E9182: @ 81E9182
+ step_13
+ step_right
+ step_end
+
+OldaleTown_Movement_1E9185: @ 81E9185
+ step_16
+ step_27
+ step_40
+ step_right
+ step_41
+ step_end
+
+OldaleTown_Movement_1E918B: @ 81E918B
+ step_down
+ step_left
+ step_end
+
+OldaleTown_Text_1E918E: @ 81E918E
+ .string "I want to take a rest, so I’m saving my\n"
+ .string "progress.$"
+
+OldaleTown_Text_1E91C0: @ 81E91C0
+ .string "Hi!\n"
+ .string "I work at a POKéMON MART.\p"
+ .string "Can I get you to come with me?$"
+
+OldaleTown_Text_1E91FD: @ 81E91FD
+ .string "This is a POKéMON MART.\n"
+ .string "Just look for our blue roof.\p"
+ .string "We sell a variety of goods including\n"
+ .string "POKé BALLS for catching POKéMON.\p"
+ .string "Here, I’d like you to have this as\n"
+ .string "a promotional item.$"
+
+OldaleTown_Text_1E92AF: @ 81E92AF
+ .string "A POTION can be used anytime, so it’s\n"
+ .string "even more useful than a POKéMON CENTER\l"
+ .string "in certain situations.$"
+
+OldaleTown_Text_1E9313: @ 81E9313
+ .string "Aaaaah! Wait!\n"
+ .string "Please don’t come in here.\p"
+ .string "I just discovered the footprints of\n"
+ .string "a rare POKéMON!\p"
+ .string "Wait until I finish sketching\n"
+ .string "them, okay?$"
+
+OldaleTown_Text_1E939A: @ 81E939A
+ .string "I just discovered the footprints of\n"
+ .string "a rare POKéMON!\p"
+ .string "Wait until I finish sketching\n"
+ .string "them, okay?$"
+
+OldaleTown_Text_1E93F8: @ 81E93F8
+ .string "I finished sketching the footprints of\n"
+ .string "a rare POKéMON.\p"
+ .string "But it turns out they were only my\n"
+ .string "own footprints…$"
+
+OldaleTown_Text_1E9462: @ 81E9462
+ .string "MAY: {PLAYER}{KUN}!\n"
+ .string "Over here!\l"
+ .string "Let’s hurry home!$"
+
+OldaleTown_Text_1E948A: @ 81E948A
+ .string "BRENDAN: I’m heading back to my dad’s\n"
+ .string "LAB now.\l"
+ .string "{PLAYER}, you should hustle back, too.$"
+
+OldaleTown_Text_1E94DA: @ 81E94DA
+ .string "OLDALE TOWN\n"
+ .string "“Where things start off scarce.”$"
+
diff --git a/data/scripts/maps/OldaleTown_House1.inc b/data/scripts/maps/OldaleTown_House1.inc
new file mode 100644
index 000000000..6a36ff57e
--- /dev/null
+++ b/data/scripts/maps/OldaleTown_House1.inc
@@ -0,0 +1,15 @@
+OldaleTown_House1_MapScripts:: @ 81FBE85
+ .byte 0
+
+OldaleTown_House1_EventScript_1FBE86:: @ 81FBE86
+ msgbox OldaleTown_House1_Text_1FBE8F, 2
+ end
+
+OldaleTown_House1_Text_1FBE8F: @ 81FBE8F
+ .string "When a POKéMON battle starts, the one\n"
+ .string "at the left of the list goes out first.\p"
+ .string "So, when you get more POKéMON in your\n"
+ .string "party, try switching around the order\l"
+ .string "of your POKéMON.\p"
+ .string "It could give you an advantage.$"
+
diff --git a/data/scripts/maps/OldaleTown_House2.inc b/data/scripts/maps/OldaleTown_House2.inc
new file mode 100644
index 000000000..55941705c
--- /dev/null
+++ b/data/scripts/maps/OldaleTown_House2.inc
@@ -0,0 +1,20 @@
+OldaleTown_House2_MapScripts:: @ 81FBF5A
+ .byte 0
+
+OldaleTown_House2_EventScript_1FBF5B:: @ 81FBF5B
+ msgbox OldaleTown_House2_Text_1FBF6D, 2
+ end
+
+OldaleTown_House2_EventScript_1FBF64:: @ 81FBF64
+ msgbox OldaleTown_House2_Text_1FBFB0, 2
+ end
+
+OldaleTown_House2_Text_1FBF6D: @ 81FBF6D
+ .string "When POKéMON battle, they eventually\n"
+ .string "level up and become stronger.$"
+
+OldaleTown_House2_Text_1FBFB0: @ 81FBFB0
+ .string "If the POKéMON with you become\n"
+ .string "stronger, you’ll be able to go farther\l"
+ .string "away from here.$"
+
diff --git a/data/scripts/maps/OldaleTown_Mart.inc b/data/scripts/maps/OldaleTown_Mart.inc
new file mode 100644
index 000000000..de8893712
--- /dev/null
+++ b/data/scripts/maps/OldaleTown_Mart.inc
@@ -0,0 +1,73 @@
+OldaleTown_Mart_MapScripts:: @ 81FC23F
+ .byte 0
+
+OldaleTown_Mart_EventScript_1FC240:: @ 81FC240
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ checkflag FLAG_0x074
+ goto_eq OldaleTown_Mart_EventScript_1FC26C
+ pokemart OldaleTown_Mart_Pokemart_1FC260
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+OldaleTown_Mart_Pokemart_1FC260: @ 81FC260
+ .2byte ITEM_POTION
+ .2byte ITEM_ANTIDOTE
+ .2byte ITEM_PARALYZE_HEAL
+ .2byte ITEM_AWAKENING
+ .2byte ITEM_NONE
+ release
+ end
+
+OldaleTown_Mart_EventScript_1FC26C:: @ 81FC26C
+ pokemart OldaleTown_Mart_Pokemart_1FC27C
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+OldaleTown_Mart_Pokemart_1FC27C: @ 81FC27C
+ .2byte ITEM_POKE_BALL
+ .2byte ITEM_POTION
+ .2byte ITEM_ANTIDOTE
+ .2byte ITEM_PARALYZE_HEAL
+ .2byte ITEM_AWAKENING
+ .2byte ITEM_NONE
+ release
+ end
+
+OldaleTown_Mart_EventScript_1FC28A:: @ 81FC28A
+ lock
+ faceplayer
+ checkflag FLAG_0x074
+ goto_eq OldaleTown_Mart_EventScript_1FC29F
+ msgbox OldaleTown_Mart_Text_1FC2B2, 4
+ release
+ end
+
+OldaleTown_Mart_EventScript_1FC29F:: @ 81FC29F
+ msgbox OldaleTown_Mart_Text_1FC2F3, 4
+ release
+ end
+
+OldaleTown_Mart_EventScript_1FC2A9:: @ 81FC2A9
+ msgbox OldaleTown_Mart_Text_1FC338, 2
+ end
+
+OldaleTown_Mart_Text_1FC2B2: @ 81FC2B2
+ .string "The clerk says they’re all sold out.\n"
+ .string "I can’t buy any POKé BALLS.$"
+
+OldaleTown_Mart_Text_1FC2F3: @ 81FC2F3
+ .string "I’m going to buy a bunch of POKé BALLS\n"
+ .string "and catch a bunch of POKéMON!$"
+
+OldaleTown_Mart_Text_1FC338: @ 81FC338
+ .string "If a POKéMON gets hurt and loses its HP\n"
+ .string "and faints, it won’t be able to battle.\p"
+ .string "To prevent your POKéMON from fainting,\n"
+ .string "restore its HP with a POTION.$"
+
diff --git a/data/scripts/maps/OldaleTown_PokemonCenter_1F.inc b/data/scripts/maps/OldaleTown_PokemonCenter_1F.inc
new file mode 100644
index 000000000..ece540e70
--- /dev/null
+++ b/data/scripts/maps/OldaleTown_PokemonCenter_1F.inc
@@ -0,0 +1,63 @@
+OldaleTown_PokemonCenter_1F_MapScripts:: @ 81FC006
+ map_script 3, OldaleTown_PokemonCenter_1F_MapScript1_1FC011
+ map_script 5, OldaleTown_PokemonCenter_1F_MapScript1_277C30
+ .byte 0
+
+OldaleTown_PokemonCenter_1F_MapScript1_1FC011: @ 81FC011
+ setrespawn 14
+ call OldaleTown_PokemonCenter_1F_EventScript_2718DE
+ end
+
+OldaleTown_PokemonCenter_1F_EventScript_1FC01A:: @ 81FC01A
+ setvar VAR_0x800B, 1
+ call OldaleTown_PokemonCenter_1F_EventScript_27191E
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+OldaleTown_PokemonCenter_1F_EventScript_1FC028:: @ 81FC028
+ msgbox OldaleTown_PokemonCenter_1F_Text_1FC059, 2
+ end
+
+OldaleTown_PokemonCenter_1F_EventScript_1FC031:: @ 81FC031
+ msgbox OldaleTown_PokemonCenter_1F_Text_1FC0CD, 2
+ end
+
+OldaleTown_PokemonCenter_1F_EventScript_1FC03A:: @ 81FC03A
+ lock
+ faceplayer
+ checkflag FLAG_SYS_POKEDEX_GET
+ goto_eq OldaleTown_PokemonCenter_1F_EventScript_1FC04F
+ msgbox OldaleTown_PokemonCenter_1F_Text_1FC148, 4
+ release
+ end
+
+OldaleTown_PokemonCenter_1F_EventScript_1FC04F:: @ 81FC04F
+ msgbox OldaleTown_PokemonCenter_1F_Text_1FC1B9, 4
+ release
+ end
+
+OldaleTown_PokemonCenter_1F_Text_1FC059: @ 81FC059
+ .string "That PC in the corner there is\n"
+ .string "for any POKéMON TRAINER to use.\p"
+ .string "Naturally, that means you’re welcome\n"
+ .string "to use it, too.$"
+
+OldaleTown_PokemonCenter_1F_Text_1FC0CD: @ 81FC0CD
+ .string "POKéMON CENTERS are great!\p"
+ .string "You can use their services as much\n"
+ .string "as you like, and it’s all for free.\l"
+ .string "You never have to worry!$"
+
+OldaleTown_PokemonCenter_1F_Text_1FC148: @ 81FC148
+ .string "The POKéMON WIRELESS CLUB on\n"
+ .string "the second floor was built recently.\p"
+ .string "But they say they’re still making\n"
+ .string "adjustments.$"
+
+OldaleTown_PokemonCenter_1F_Text_1FC1B9: @ 81FC1B9
+ .string "The POKéMON WIRELESS CLUB on\n"
+ .string "the second floor was built recently.\p"
+ .string "I traded POKéMON right away.$"
+
diff --git a/data/scripts/maps/OldaleTown_PokemonCenter_2F.inc b/data/scripts/maps/OldaleTown_PokemonCenter_2F.inc
new file mode 100644
index 000000000..788157beb
--- /dev/null
+++ b/data/scripts/maps/OldaleTown_PokemonCenter_2F.inc
@@ -0,0 +1,19 @@
+OldaleTown_PokemonCenter_2F_MapScripts:: @ 81FC218
+ map_script 2, OldaleTown_PokemonCenter_2F_MapScript2_276C3B
+ map_script 4, OldaleTown_PokemonCenter_2F_MapScript2_276B6C
+ map_script 1, OldaleTown_PokemonCenter_2F_MapScript1_276BBE
+ map_script 3, OldaleTown_PokemonCenter_2F_MapScript1_276ACF
+ .byte 0
+
+OldaleTown_PokemonCenter_2F_EventScript_1FC22D:: @ 81FC22D
+ call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_1FC233:: @ 81FC233
+ call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+ end
+
+OldaleTown_PokemonCenter_2F_EventScript_1FC239:: @ 81FC239
+ call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+ end
+
diff --git a/data/scripts/maps/PacifidlogTown.inc b/data/scripts/maps/PacifidlogTown.inc
new file mode 100644
index 000000000..1f4f0e872
--- /dev/null
+++ b/data/scripts/maps/PacifidlogTown.inc
@@ -0,0 +1,54 @@
+PacifidlogTown_MapScripts:: @ 81EBAB1
+ map_script 3, PacifidlogTown_MapScript1_1EBABC
+ map_script 5, PacifidlogTown_MapScript1_1EBAC0
+ .byte 0
+
+PacifidlogTown_MapScript1_1EBABC: @ 81EBABC
+ setflag FLAG_VISITED_PACIFIDLOG_TOWN
+ end
+
+PacifidlogTown_MapScript1_1EBAC0: @ 81EBAC0
+ setstepcallback 3
+ end
+
+PacifidlogTown_EventScript_1EBAC3:: @ 81EBAC3
+ msgbox PacifidlogTown_Text_1EBB6C, 2
+ end
+
+PacifidlogTown_EventScript_1EBACC:: @ 81EBACC
+ msgbox PacifidlogTown_Text_1EBAE7, 2
+ end
+
+PacifidlogTown_EventScript_1EBAD5:: @ 81EBAD5
+ msgbox PacifidlogTown_Text_1EBBAC, 2
+ end
+
+PacifidlogTown_EventScript_1EBADE:: @ 81EBADE
+ msgbox PacifidlogTown_Text_1EBC7A, 3
+ end
+
+PacifidlogTown_Text_1EBAE7: @ 81EBAE7
+ .string "The sea between PACIFIDLOG and\n"
+ .string "SLATEPORT has a fast-running tide.\p"
+ .string "If you decide to SURF, you could end\n"
+ .string "up swept away somewhere else.$"
+
+PacifidlogTown_Text_1EBB6C: @ 81EBB6C
+ .string "See, isn’t it neat?\n"
+ .string "These houses are on water!\p"
+ .string "I was born here!$"
+
+PacifidlogTown_Text_1EBBAC: @ 81EBBAC
+ .string "The SKY PILLAR?\p"
+ .string "…Oh, you must mean that tall, tall\n"
+ .string "tower a little further out.\p"
+ .string "If you asked me, I wouldn’t climb it.\n"
+ .string "It’s too scary to get up that high.\p"
+ .string "Life at sea level in PACIFIDLOG,\n"
+ .string "that suits me fine.$"
+
+PacifidlogTown_Text_1EBC7A: @ 81EBC7A
+ .string "PACIFIDLOG TOWN\p"
+ .string "“Where the morning sun smiles upon\n"
+ .string "the waters.”$"
+
diff --git a/data/scripts/maps/PacifidlogTown_House1.inc b/data/scripts/maps/PacifidlogTown_House1.inc
new file mode 100644
index 000000000..b4fe4c979
--- /dev/null
+++ b/data/scripts/maps/PacifidlogTown_House1.inc
@@ -0,0 +1,25 @@
+PacifidlogTown_House1_MapScripts:: @ 820365C
+ .byte 0
+
+PacifidlogTown_House1_EventScript_20365D:: @ 820365D
+ msgbox PacifidlogTown_House1_Text_20366F, 2
+ end
+
+PacifidlogTown_House1_EventScript_203666:: @ 8203666
+ msgbox PacifidlogTown_House1_Text_20373A, 2
+ end
+
+PacifidlogTown_House1_Text_20366F: @ 820366F
+ .string "In the HOENN region, there are three\n"
+ .string "POKéMON that represent the power of\l"
+ .string "rock, ice, and steel.\p"
+ .string "Each of them is said to hide away deep\n"
+ .string "inside caves.\p"
+ .string "That’s the story I heard when I was\n"
+ .string "just a little kid.$"
+
+PacifidlogTown_House1_Text_20373A: @ 820373A
+ .string "“Six dots open three doors.”\p"
+ .string "Grandpa used to say that, but I don’t\n"
+ .string "know what he meant.$"
+
diff --git a/data/scripts/maps/PacifidlogTown_House2.inc b/data/scripts/maps/PacifidlogTown_House2.inc
new file mode 100644
index 000000000..d5c1573ae
--- /dev/null
+++ b/data/scripts/maps/PacifidlogTown_House2.inc
@@ -0,0 +1,156 @@
+PacifidlogTown_House2_MapScripts:: @ 8203791
+ .byte 0
+
+PacifidlogTown_House2_EventScript_203792:: @ 8203792
+ lock
+ faceplayer
+ dodailyevents
+ call PacifidlogTown_House2_EventScript_2037DE
+ checkflag FLAG_0x12B
+ goto_eq PacifidlogTown_House2_EventScript_20387E
+ checkflag FLAG_0x12C
+ call_if 1, PacifidlogTown_House2_EventScript_2037F8
+ checkflag FLAG_0x12C
+ call_if 0, PacifidlogTown_House2_EventScript_203801
+ setflag FLAG_0x12C
+ specialvar VAR_RESULT, sub_8138C04
+ compare_var_to_value VAR_RESULT, 4
+ goto_if 4, PacifidlogTown_House2_EventScript_203816
+ specialvar VAR_RESULT, sub_8138C04
+ compare_var_to_value VAR_RESULT, 2
+ goto_if 4, PacifidlogTown_House2_EventScript_203845
+ goto PacifidlogTown_House2_EventScript_20384F
+ end
+
+PacifidlogTown_House2_EventScript_2037DE:: @ 82037DE
+ checkflag FLAG_0x12B
+ goto_if 0, PacifidlogTown_House2_EventScript_27374E
+ specialvar VAR_RESULT, sub_813970C
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, PacifidlogTown_House2_EventScript_203812
+ return
+
+PacifidlogTown_House2_EventScript_2037F8:: @ 82037F8
+ msgbox PacifidlogTown_House2_Text_20395B, 4
+ return
+
+PacifidlogTown_House2_EventScript_203801:: @ 8203801
+ msgbox PacifidlogTown_House2_Text_2038C7, 4
+ msgbox PacifidlogTown_House2_Text_20395B, 4
+ return
+
+PacifidlogTown_House2_EventScript_203812:: @ 8203812
+ clearflag FLAG_0x12B
+ return
+
+PacifidlogTown_House2_EventScript_203816:: @ 8203816
+ msgbox PacifidlogTown_House2_Text_20396D, 4
+ giveitem_std ITEM_TM27
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PacifidlogTown_House2_EventScript_272054
+ setflag FLAG_0x12B
+ special sub_8139754
+ msgbox PacifidlogTown_House2_Text_203A85, 4
+ release
+ end
+
+PacifidlogTown_House2_EventScript_203845:: @ 8203845
+ msgbox PacifidlogTown_House2_Text_2039CE, 4
+ release
+ end
+
+PacifidlogTown_House2_EventScript_20384F:: @ 820384F
+ msgbox PacifidlogTown_House2_Text_203A2F, 4
+ giveitem_std ITEM_TM21
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PacifidlogTown_House2_EventScript_272054
+ setflag FLAG_0x12B
+ special sub_8139754
+ msgbox PacifidlogTown_House2_Text_203A85, 4
+ release
+ end
+
+PacifidlogTown_House2_EventScript_20387E:: @ 820387E
+ specialvar VAR_RESULT, sub_813970C
+ buffernumberstring 0, VAR_RESULT
+ msgbox PacifidlogTown_House2_Text_203AF4, 4
+ release
+ end
+
+PacifidlogTown_House2_EventScript_203891:: @ 8203891
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_AZURILL, 0
+ msgbox PacifidlogTown_House2_Text_203B8D, 4
+ waitmoncry
+ msgbox PacifidlogTown_House2_Text_203B9D, 4
+ release
+ end
+
+PacifidlogTown_House2_EventScript_2038AC:: @ 82038AC
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_AZURILL, 2
+ msgbox PacifidlogTown_House2_Text_203BCE, 4
+ waitmoncry
+ msgbox PacifidlogTown_House2_Text_203BDF, 4
+ release
+ end
+
+PacifidlogTown_House2_Text_2038C7: @ 82038C7
+ .string "Er-hem!\p"
+ .string "I am the POKéMON FAN CLUB’s most\n"
+ .string "important person, the CHAIRMAN’s\l"
+ .string "younger brother.\p"
+ .string "I’m here enjoying my vacation with\n"
+ .string "POKéMON, yes, indeed.$"
+
+PacifidlogTown_House2_Text_20395B: @ 820395B
+ .string "Ah!\n"
+ .string "Your POKéMON…$"
+
+PacifidlogTown_House2_Text_20396D: @ 820396D
+ .string "It clearly likes you very much.\p"
+ .string "A POKéMON that adoring and adorable\n"
+ .string "deserves a TM like this, no?$"
+
+PacifidlogTown_House2_Text_2039CE: @ 82039CE
+ .string "Hmm…\n"
+ .string "It’s not bad, but it’s also not good.\p"
+ .string "You, as the TRAINER, need to put in\n"
+ .string "some more effort.$"
+
+PacifidlogTown_House2_Text_203A2F: @ 8203A2F
+ .string "It has a vicious look to it.\p"
+ .string "A frightening POKéMON like that\n"
+ .string "deserves a TM like this.$"
+
+PacifidlogTown_House2_Text_203A85: @ 8203A85
+ .string "If a POKéMON likes you a lot, RETURN’s\n"
+ .string "power is enhanced.\p"
+ .string "If it doesn’t like you, FRUSTRATION’s\n"
+ .string "power goes up.$"
+
+PacifidlogTown_House2_Text_203AF4: @ 8203AF4
+ .string "Oh, yes. In about {STR_VAR_1} or so days,\n"
+ .string "I should be getting a good TM or two.\p"
+ .string "You should come see me then.\n"
+ .string "I’ll give you a TM that’s suitable for\l"
+ .string "your POKéMON.$"
+
+PacifidlogTown_House2_Text_203B8D: @ 8203B8D
+ .string "AZURILL: Rurii.$"
+
+PacifidlogTown_House2_Text_203B9D: @ 8203B9D
+ .string "It appears to be very friendly with the\n"
+ .string "TRAINER.$"
+
+PacifidlogTown_House2_Text_203BCE: @ 8203BCE
+ .string "AZURILL: Rururi!$"
+
+PacifidlogTown_House2_Text_203BDF: @ 8203BDF
+ .string "It doesn’t appear to like the TRAINER\n"
+ .string "very much.$"
+
diff --git a/data/scripts/maps/PacifidlogTown_House3.inc b/data/scripts/maps/PacifidlogTown_House3.inc
new file mode 100644
index 000000000..d66a2e3f8
--- /dev/null
+++ b/data/scripts/maps/PacifidlogTown_House3.inc
@@ -0,0 +1,93 @@
+PacifidlogTown_House3_MapScripts:: @ 8203C10
+ .byte 0
+
+PacifidlogTown_House3_EventScript_203C11:: @ 8203C11
+ lock
+ faceplayer
+ checkflag FLAG_0x09A
+ goto_eq PacifidlogTown_House3_EventScript_203CAB
+ setvar VAR_0x8008, 2
+ copyvar VAR_0x8004, VAR_0x8008
+ specialvar VAR_RESULT, sub_807E73C
+ copyvar VAR_0x8009, VAR_RESULT
+ msgbox PacifidlogTown_House3_Text_203CBE, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PacifidlogTown_House3_EventScript_203C93
+ special sub_81B94B0
+ waitstate
+ copyvar VAR_0x800A, VAR_0x8004
+ compare_var_to_value VAR_0x8004, 255
+ goto_eq PacifidlogTown_House3_EventScript_203C93
+ copyvar VAR_0x8005, VAR_0x800A
+ specialvar VAR_RESULT, sub_807E9D4
+ copyvar VAR_0x800B, VAR_RESULT
+ compare_var_to_var VAR_RESULT, VAR_0x8009
+ goto_if 5, PacifidlogTown_House3_EventScript_203C9D
+ copyvar VAR_0x8004, VAR_0x8008
+ copyvar VAR_0x8005, VAR_0x800A
+ special sub_807EA10
+ special sub_807F0E4
+ waitstate
+ bufferspeciesname 0, VAR_0x8009
+ msgbox PacifidlogTown_House3_Text_203D87, 4
+ setflag FLAG_0x09A
+ release
+ end
+
+PacifidlogTown_House3_EventScript_203C93:: @ 8203C93
+ msgbox PacifidlogTown_House3_Text_203E12, 4
+ release
+ end
+
+PacifidlogTown_House3_EventScript_203C9D:: @ 8203C9D
+ bufferspeciesname 0, VAR_0x8009
+ msgbox PacifidlogTown_House3_Text_203DDE, 4
+ release
+ end
+
+PacifidlogTown_House3_EventScript_203CAB:: @ 8203CAB
+ msgbox PacifidlogTown_House3_Text_203E7F, 4
+ release
+ end
+
+PacifidlogTown_House3_EventScript_203CB5:: @ 8203CB5
+ msgbox PacifidlogTown_House3_Text_203EF1, 2
+ end
+
+PacifidlogTown_House3_Text_203CBE: @ 8203CBE
+ .string "Check out this {STR_VAR_2}!\p"
+ .string "It’s the {STR_VAR_2} that I caught\n"
+ .string "yesterday to celebrate my birthday!\p"
+ .string "Oh, I can see that you want it!\n"
+ .string "After all, it’s priceless!\p"
+ .string "I’ll tell you what. I might be willing\n"
+ .string "to trade it for a {STR_VAR_1}.$"
+
+PacifidlogTown_House3_Text_203D87: @ 8203D87
+ .string "Oh, so this is a {STR_VAR_1}?\p"
+ .string "It’s sort of like a {STR_VAR_2},\n"
+ .string "and yet it’s subtly different.\p"
+ .string "Thank you!$"
+
+PacifidlogTown_House3_Text_203DDE: @ 8203DDE
+ .string "No, no, no! I won’t accept any\n"
+ .string "less than a real {STR_VAR_1}!$"
+
+PacifidlogTown_House3_Text_203E12: @ 8203E12
+ .string "Oh, so you’re not going to go through\n"
+ .string "with this?\p"
+ .string "That’s cool. I’m not desperate to make\n"
+ .string "a trade or anything.$"
+
+PacifidlogTown_House3_Text_203E7F: @ 8203E7F
+ .string "I know I could go looking for one\n"
+ .string "on my own, but…\p"
+ .string "But I really wanted to get a BAGON\n"
+ .string "that another TRAINER caught…$"
+
+PacifidlogTown_House3_Text_203EF1: @ 8203EF1
+ .string "Is that a POKéDEX?\p"
+ .string "Did you get to meet a lot of different\n"
+ .string "POKéMON?\p"
+ .string "I wish I was like you.$"
+
diff --git a/data/scripts/maps/PacifidlogTown_House4.inc b/data/scripts/maps/PacifidlogTown_House4.inc
new file mode 100644
index 000000000..48ed67c9e
--- /dev/null
+++ b/data/scripts/maps/PacifidlogTown_House4.inc
@@ -0,0 +1,55 @@
+PacifidlogTown_House4_MapScripts:: @ 8203F4B
+ .byte 0
+
+PacifidlogTown_House4_EventScript_203F4C:: @ 8203F4C
+ msgbox PacifidlogTown_House4_Text_204017, 2
+ end
+
+PacifidlogTown_House4_EventScript_203F55:: @ 8203F55
+ msgbox PacifidlogTown_House4_Text_203F93, 2
+ end
+
+PacifidlogTown_House4_EventScript_203F5E:: @ 8203F5E
+ lock
+ faceplayer
+ msgbox PacifidlogTown_House4_Text_204035, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq PacifidlogTown_House4_EventScript_203F7F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PacifidlogTown_House4_EventScript_203F89
+ end
+
+PacifidlogTown_House4_EventScript_203F7F:: @ 8203F7F
+ msgbox PacifidlogTown_House4_Text_20404E, 4
+ release
+ end
+
+PacifidlogTown_House4_EventScript_203F89:: @ 8203F89
+ msgbox PacifidlogTown_House4_Text_204084, 4
+ release
+ end
+
+PacifidlogTown_House4_Text_203F93: @ 8203F93
+ .string "People were saying they saw a POKéMON\n"
+ .string "flying high above HOENN.\p"
+ .string "Is it flying around all the time?\n"
+ .string "Doesn’t it need to rest somewhere?$"
+
+PacifidlogTown_House4_Text_204017: @ 8204017
+ .string "A sky POKéMON!\n"
+ .string "A sky POKéMON!$"
+
+PacifidlogTown_House4_Text_204035: @ 8204035
+ .string "Where did you come from?$"
+
+PacifidlogTown_House4_Text_20404E: @ 820404E
+ .string "Yes?\n"
+ .string "YES TOWN?\p"
+ .string "I’ve never heard of a place like that.$"
+
+PacifidlogTown_House4_Text_204084: @ 8204084
+ .string "No? That doesn’t make any sense.\n"
+ .string "You have to come from somewhere.\p"
+ .string "Oh! Wait! You’re not going to say you\n"
+ .string "were born at the bottom of the sea?$"
+
diff --git a/data/scripts/maps/PacifidlogTown_House5.inc b/data/scripts/maps/PacifidlogTown_House5.inc
new file mode 100644
index 000000000..441b7fecd
--- /dev/null
+++ b/data/scripts/maps/PacifidlogTown_House5.inc
@@ -0,0 +1,37 @@
+PacifidlogTown_House5_MapScripts:: @ 8204110
+ .byte 0
+
+PacifidlogTown_House5_EventScript_204111:: @ 8204111
+ lock
+ faceplayer
+ specialvar VAR_RESULT, sub_813793C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq PacifidlogTown_House5_EventScript_20412D
+ msgbox PacifidlogTown_House5_Text_204140, 4
+ release
+ end
+
+PacifidlogTown_House5_EventScript_20412D:: @ 820412D
+ msgbox PacifidlogTown_House5_Text_204161, 4
+ release
+ end
+
+PacifidlogTown_House5_EventScript_204137:: @ 8204137
+ msgbox PacifidlogTown_House5_Text_20418B, 2
+ end
+
+PacifidlogTown_House5_Text_204140: @ 8204140
+ .string "I can’t see MIRAGE ISLAND today…$"
+
+PacifidlogTown_House5_Text_204161: @ 8204161
+ .string "Oh! Oh my!\n"
+ .string "I can see MIRAGE ISLAND today!$"
+
+PacifidlogTown_House5_Text_20418B: @ 820418B
+ .string "MIRAGE ISLAND…\p"
+ .string "It must become visible and invisible\n"
+ .string "depending on the weather conditions\l"
+ .string "that make mirages appear.\p"
+ .string "Or is it really appearing and\n"
+ .string "disappearing?$"
+
diff --git a/data/scripts/maps/PacifidlogTown_PokemonCenter_1F.inc b/data/scripts/maps/PacifidlogTown_PokemonCenter_1F.inc
new file mode 100644
index 000000000..fd34cd2aa
--- /dev/null
+++ b/data/scripts/maps/PacifidlogTown_PokemonCenter_1F.inc
@@ -0,0 +1,48 @@
+PacifidlogTown_PokemonCenter_1F_MapScripts:: @ 82034A7
+ map_script 3, PacifidlogTown_PokemonCenter_1F_MapScript1_2034B2
+ map_script 5, PacifidlogTown_PokemonCenter_1F_MapScript1_277C30
+ .byte 0
+
+PacifidlogTown_PokemonCenter_1F_MapScript1_2034B2: @ 82034B2
+ setrespawn 19
+ end
+
+PacifidlogTown_PokemonCenter_1F_EventScript_2034B6:: @ 82034B6
+ setvar VAR_0x800B, 1
+ call PacifidlogTown_PokemonCenter_1F_EventScript_27191E
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+PacifidlogTown_PokemonCenter_1F_EventScript_2034C4:: @ 82034C4
+ msgbox PacifidlogTown_PokemonCenter_1F_Text_2034DF, 2
+ end
+
+PacifidlogTown_PokemonCenter_1F_EventScript_2034CD:: @ 82034CD
+ msgbox PacifidlogTown_PokemonCenter_1F_Text_20350F, 2
+ end
+
+PacifidlogTown_PokemonCenter_1F_EventScript_2034D6:: @ 82034D6
+ msgbox PacifidlogTown_PokemonCenter_1F_Text_20356F, 2
+ end
+
+PacifidlogTown_PokemonCenter_1F_Text_2034DF: @ 82034DF
+ .string "What color is your TRAINER CARD?\n"
+ .string "Mine’s copper!$"
+
+PacifidlogTown_PokemonCenter_1F_Text_20350F: @ 820350F
+ .string "PACIFIDLOG TOWN floats on top of\n"
+ .string "a colony of CORSOLA.\p"
+ .string "If I told you that, would you believe\n"
+ .string "me?$"
+
+PacifidlogTown_PokemonCenter_1F_Text_20356F: @ 820356F
+ .string "The ancestors of the people in\n"
+ .string "PACIFIDLOG were said to have been\l"
+ .string "born on boats and then lived and died \l"
+ .string "aboard them.\p"
+ .string "I understand that they lived that way\n"
+ .string "because they were searching for\l"
+ .string "something.$"
+
diff --git a/data/scripts/maps/PacifidlogTown_PokemonCenter_2F.inc b/data/scripts/maps/PacifidlogTown_PokemonCenter_2F.inc
new file mode 100644
index 000000000..0199c2215
--- /dev/null
+++ b/data/scripts/maps/PacifidlogTown_PokemonCenter_2F.inc
@@ -0,0 +1,19 @@
+PacifidlogTown_PokemonCenter_2F_MapScripts:: @ 8203635
+ map_script 2, PacifidlogTown_PokemonCenter_2F_MapScript2_276C3B
+ map_script 4, PacifidlogTown_PokemonCenter_2F_MapScript2_276B6C
+ map_script 1, PacifidlogTown_PokemonCenter_2F_MapScript1_276BBE
+ map_script 3, PacifidlogTown_PokemonCenter_2F_MapScript1_276ACF
+ .byte 0
+
+PacifidlogTown_PokemonCenter_2F_EventScript_20364A:: @ 820364A
+ call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+ end
+
+PacifidlogTown_PokemonCenter_2F_EventScript_203650:: @ 8203650
+ call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+ end
+
+PacifidlogTown_PokemonCenter_2F_EventScript_203656:: @ 8203656
+ call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+ end
+
diff --git a/data/scripts/maps/PetalburgCity.inc b/data/scripts/maps/PetalburgCity.inc
new file mode 100644
index 000000000..e223bf414
--- /dev/null
+++ b/data/scripts/maps/PetalburgCity.inc
@@ -0,0 +1,771 @@
+PetalburgCity_MapScript1_1DC2D7: @ 81DC2D7
+ setflag FLAG_VISITED_PETALBURG_CITY
+ compare_var_to_value VAR_0x4057, 0
+ call_if 1, PetalburgCity_EventScript_1DC307
+ compare_var_to_value VAR_0x4057, 2
+ call_if 1, PetalburgCity_EventScript_1DC30F
+ compare_var_to_value VAR_0x4057, 4
+ call_if 1, PetalburgCity_EventScript_1DC30F
+ compare_var_to_value VAR_0x4085, 8
+ call_if 1, PetalburgCity_EventScript_1DC316
+ end
+
+PetalburgCity_EventScript_1DC307:: @ 81DC307
+ setobjectxyperm 8, 5, 11
+ return
+
+PetalburgCity_EventScript_1DC30F:: @ 81DC30F
+ setflag FLAG_SPECIAL_FLAG_0x4000
+ savebgm BGM_TSURETEK
+ return
+
+PetalburgCity_EventScript_1DC316:: @ 81DC316
+ setvar VAR_0x4085, 7
+ return
+
+PetalburgCity_MapScript2_1DC31C: @ 81DC31C
+ map_script_2 VAR_0x4057, 2, PetalburgCity_EventScript_1DC32E
+ map_script_2 VAR_0x4057, 4, PetalburgCity_EventScript_1DC390
+ .2byte 0
+
+PetalburgCity_EventScript_1DC32E:: @ 81DC32E
+ lockall
+ special copy_player_party_to_sav1
+ special sub_813946C
+ applymovement 2, PetalburgCity_Movement_1DC451
+ applymovement 255, PetalburgCity_Movement_1DC430
+ waitmovement 0
+ msgbox PetalburgCity_Text_1EC1F8, 4
+ special sub_80B086C
+ waitstate
+ msgbox PetalburgCity_Text_1EC271, 4
+ applymovementat 2, PetalburgCity_Movement_2725A4, PETALBURG_CITY
+ waitmovementat 2, PETALBURG_CITY
+ msgbox PetalburgCity_Text_1EC297, 4
+ closemessage
+ clearflag FLAG_SPECIAL_FLAG_0x4000
+ setvar VAR_0x4057, 3
+ fadedefaultbgm
+ clearflag FLAG_SPECIAL_FLAG_0x4001
+ special copy_player_party_from_sav1
+ setvar VAR_0x4085, 1
+ warp PETALBURG_CITY_GYM, 255, 4, 108
+ waitstate
+ releaseall
+ end
+
+PetalburgCity_EventScript_1DC390:: @ 81DC390
+ lockall
+ setflag FLAG_SPECIAL_FLAG_0x4000
+ applymovement 5, PetalburgCity_Movement_1DC41B
+ applymovement 255, PetalburgCity_Movement_1DC406
+ waitmovement 0
+ setvar VAR_0x8004, 7
+ setvar VAR_0x8005, 5
+ opendoor VAR_0x8004, VAR_0x8005
+ waitdooranim
+ applymovement 5, PetalburgCity_Movement_1DC42D
+ applymovement 255, PetalburgCity_Movement_1DC418
+ waitmovement 0
+ setflag FLAG_0x33E
+ hideobjectat 255, PETALBURG_CITY
+ closedoor VAR_0x8004, VAR_0x8005
+ waitdooranim
+ clearflag FLAG_SPECIAL_FLAG_0x4000
+ fadedefaultbgm
+ clearflag FLAG_SPECIAL_FLAG_0x4001
+ warp PETALBURG_CITY_WALLYS_HOUSE, 255, 2, 4
+ waitstate
+ releaseall
+ end
+
+PetalburgCity_EventScript_1DC3E6:: @ 81DC3E6
+ lock
+ faceplayer
+ msgbox PetalburgCity_Text_1DC985, 4
+ closemessage
+ applymovement 3, PetalburgCity_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+PetalburgCity_EventScript_1DC3FD:: @ 81DC3FD
+ msgbox PetalburgCity_Text_1DC837, 2
+ end
+
+PetalburgCity_Movement_1DC406: @ 81DC406
+ step_13
+ step_down
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+PetalburgCity_Movement_1DC418: @ 81DC418
+ step_up
+ step_up
+ step_end
+
+PetalburgCity_Movement_1DC41B: @ 81DC41B
+ step_13
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+PetalburgCity_Movement_1DC42D: @ 81DC42D
+ step_up
+ step_54
+ step_end
+
+PetalburgCity_Movement_1DC430: @ 81DC430
+ step_13
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_up
+ step_up
+ step_28
+ step_end
+
+PetalburgCity_Movement_1DC451: @ 81DC451
+ step_13
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_up
+ step_up
+ step_right
+ step_14
+ step_26
+ step_14
+ step_14
+ step_28
+ step_end
+
+PetalburgCity_EventScript_1DC476:: @ 81DC476
+ msgbox PetalburgCity_Text_1DCAAA, 3
+ end
+
+PetalburgCity_EventScript_1DC47F:: @ 81DC47F
+ msgbox PetalburgCity_Text_1DCAF1, 3
+ end
+
+PetalburgCity_EventScript_1DC488:: @ 81DC488
+ msgbox PetalburgCity_Text_1DCA30, 2
+ end
+
+PetalburgCity_EventScript_1DC491:: @ 81DC491
+ msgbox PetalburgCity_Text_1DCB23, 3
+ end
+
+PetalburgCity_EventScript_1DC49A:: @ 81DC49A
+ lockall
+ setvar VAR_0x8008, 0
+ goto PetalburgCity_EventScript_1DC4CA
+ end
+
+PetalburgCity_EventScript_1DC4A6:: @ 81DC4A6
+ lockall
+ setvar VAR_0x8008, 1
+ goto PetalburgCity_EventScript_1DC4CA
+ end
+
+PetalburgCity_EventScript_1DC4B2:: @ 81DC4B2
+ lockall
+ setvar VAR_0x8008, 2
+ goto PetalburgCity_EventScript_1DC4CA
+ end
+
+PetalburgCity_EventScript_1DC4BE:: @ 81DC4BE
+ lockall
+ setvar VAR_0x8008, 3
+ goto PetalburgCity_EventScript_1DC4CA
+ end
+
+PetalburgCity_EventScript_1DC4CA:: @ 81DC4CA
+ applymovement 8, PetalburgCity_Movement_27259E
+ waitmovement 0
+ playbgm BGM_TSURETEK, 0
+ playse SE_PIN
+ applymovement 8, PetalburgCity_Movement_272598
+ waitmovement 0
+ applymovement 8, PetalburgCity_Movement_27259A
+ waitmovement 0
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, PetalburgCity_EventScript_1DC57F
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, PetalburgCity_EventScript_1DC594
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, PetalburgCity_EventScript_1DC59F
+ compare_var_to_value VAR_0x8008, 3
+ call_if 1, PetalburgCity_EventScript_1DC5B4
+ msgbox PetalburgCity_Text_1DC881, 4
+ closemessage
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, PetalburgCity_EventScript_1DC5C9
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, PetalburgCity_EventScript_1DC5DB
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, PetalburgCity_EventScript_1DC5ED
+ compare_var_to_value VAR_0x8008, 3
+ call_if 1, PetalburgCity_EventScript_1DC5FF
+ msgbox PetalburgCity_Text_1DC91B, 4
+ applymovement 8, PetalburgCity_Movement_2725A8
+ applymovement 255, PetalburgCity_Movement_2725A8
+ waitmovement 0
+ msgbox PetalburgCity_Text_1DC93E, 4
+ closemessage
+ applymovement 8, PetalburgCity_Movement_1DC658
+ waitmovement 0
+ fadedefaultbgm
+ releaseall
+ end
+
+PetalburgCity_EventScript_1DC57F:: @ 81DC57F
+ applymovement 8, PetalburgCity_Movement_1DC615
+ waitmovement 0
+ applymovement 255, PetalburgCity_Movement_2725AA
+ waitmovement 0
+ return
+
+PetalburgCity_EventScript_1DC594:: @ 81DC594
+ applymovement 8, PetalburgCity_Movement_1DC61A
+ waitmovement 0
+ return
+
+PetalburgCity_EventScript_1DC59F:: @ 81DC59F
+ applymovement 8, PetalburgCity_Movement_1DC61D
+ waitmovement 0
+ applymovement 255, PetalburgCity_Movement_2725A6
+ waitmovement 0
+ return
+
+PetalburgCity_EventScript_1DC5B4:: @ 81DC5B4
+ applymovement 8, PetalburgCity_Movement_1DC622
+ waitmovement 0
+ applymovement 255, PetalburgCity_Movement_2725A6
+ waitmovement 0
+ return
+
+PetalburgCity_EventScript_1DC5C9:: @ 81DC5C9
+ applymovement 8, PetalburgCity_Movement_1DC628
+ applymovement 255, PetalburgCity_Movement_1DC665
+ waitmovement 0
+ return
+
+PetalburgCity_EventScript_1DC5DB:: @ 81DC5DB
+ applymovement 8, PetalburgCity_Movement_1DC633
+ applymovement 255, PetalburgCity_Movement_1DC66F
+ waitmovement 0
+ return
+
+PetalburgCity_EventScript_1DC5ED:: @ 81DC5ED
+ applymovement 8, PetalburgCity_Movement_1DC641
+ applymovement 255, PetalburgCity_Movement_1DC67C
+ waitmovement 0
+ return
+
+PetalburgCity_EventScript_1DC5FF:: @ 81DC5FF
+ applymovement 8, PetalburgCity_Movement_1DC64C
+ applymovement 255, PetalburgCity_Movement_1DC686
+ waitmovement 0
+ return
+
+PetalburgCity_Movement_1DC611:: @ 81DC611
+ step_14
+ step_14
+ step_14
+ step_end
+
+PetalburgCity_Movement_1DC615: @ 81DC615
+ step_right
+ step_right
+ step_right
+ step_26
+ step_end
+
+PetalburgCity_Movement_1DC61A: @ 81DC61A
+ step_right
+ step_right
+ step_end
+
+PetalburgCity_Movement_1DC61D: @ 81DC61D
+ step_right
+ step_right
+ step_right
+ step_25
+ step_end
+
+PetalburgCity_Movement_1DC622: @ 81DC622
+ step_down
+ step_right
+ step_right
+ step_right
+ step_25
+ step_end
+
+PetalburgCity_Movement_1DC628: @ 81DC628
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_up
+ step_right
+ step_26
+ step_end
+
+PetalburgCity_Movement_1DC633: @ 81DC633
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_up
+ step_up
+ step_right
+ step_26
+ step_end
+
+PetalburgCity_Movement_1DC641: @ 81DC641
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_up
+ step_right
+ step_26
+ step_end
+
+PetalburgCity_Movement_1DC64C: @ 81DC64C
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_up
+ step_up
+ step_right
+ step_26
+ step_end
+
+PetalburgCity_Movement_1DC658: @ 81DC658
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+PetalburgCity_Movement_1DC665: @ 81DC665
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_up
+ step_end
+
+PetalburgCity_Movement_1DC66F: @ 81DC66F
+ step_14
+ step_14
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_up
+ step_up
+ step_end
+
+PetalburgCity_Movement_1DC67C: @ 81DC67C
+ step_up
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_up
+ step_end
+
+PetalburgCity_Movement_1DC686: @ 81DC686
+ step_up
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_up
+ step_up
+ step_end
+
+PetalburgCity_EventScript_1DC691:: @ 81DC691
+ lockall
+ addobject 9
+ setvar VAR_0x8008, 0
+ setobjectxy 9, 13, 10
+ goto PetalburgCity_EventScript_1DC6E9
+ end
+
+PetalburgCity_EventScript_1DC6A7:: @ 81DC6A7
+ lockall
+ addobject 9
+ setvar VAR_0x8008, 1
+ setobjectxy 9, 13, 11
+ goto PetalburgCity_EventScript_1DC6E9
+ end
+
+PetalburgCity_EventScript_1DC6BD:: @ 81DC6BD
+ lockall
+ addobject 9
+ setvar VAR_0x8008, 2
+ setobjectxy 9, 13, 12
+ goto PetalburgCity_EventScript_1DC6E9
+ end
+
+PetalburgCity_EventScript_1DC6D3:: @ 81DC6D3
+ lockall
+ addobject 9
+ setvar VAR_0x8008, 3
+ setobjectxy 9, 13, 13
+ goto PetalburgCity_EventScript_1DC6E9
+ end
+
+PetalburgCity_EventScript_1DC6E9:: @ 81DC6E9
+ applymovement 9, PetalburgCity_Movement_1DC7D6
+ waitmovement 0
+ playse SE_PIN
+ applymovement 9, PetalburgCity_Movement_272598
+ waitmovement 0
+ applymovement 9, PetalburgCity_Movement_27259A
+ waitmovement 0
+ applymovement 9, PetalburgCity_Movement_1DC7DB
+ waitmovement 0
+ applymovement 255, PetalburgCity_Movement_2725A8
+ waitmovement 0
+ setvar VAR_0x40D1, 1
+ msgbox PetalburgCity_Text_1DCB31, 4
+ closemessage
+ applymovement 9, PetalburgCity_Movement_2725A8
+ waitmovement 0
+ delay 30
+ msgbox PetalburgCity_Text_1DCB82, 4
+ closemessage
+ applymovement 9, PetalburgCity_Movement_2725A4
+ waitmovement 0
+ delay 30
+ msgbox PetalburgCity_Text_1DCC09, 4
+ closemessage
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, PetalburgCity_EventScript_1DC78E
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, PetalburgCity_EventScript_1DC7A0
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, PetalburgCity_EventScript_1DC7B2
+ compare_var_to_value VAR_0x8008, 3
+ call_if 1, PetalburgCity_EventScript_1DC7C4
+ setvar VAR_0x40C9, 1
+ removeobject 9
+ releaseall
+ end
+
+PetalburgCity_EventScript_1DC78E:: @ 81DC78E
+ applymovement 255, PetalburgCity_Movement_1DC7EE
+ applymovement 9, PetalburgCity_Movement_1DC7E0
+ waitmovement 0
+ return
+
+PetalburgCity_EventScript_1DC7A0:: @ 81DC7A0
+ applymovement 255, PetalburgCity_Movement_1DC802
+ applymovement 9, PetalburgCity_Movement_1DC7F5
+ waitmovement 0
+ return
+
+PetalburgCity_EventScript_1DC7B2:: @ 81DC7B2
+ applymovement 255, PetalburgCity_Movement_1DC815
+ applymovement 9, PetalburgCity_Movement_1DC808
+ waitmovement 0
+ return
+
+PetalburgCity_EventScript_1DC7C4:: @ 81DC7C4
+ applymovement 255, PetalburgCity_Movement_1DC828
+ applymovement 9, PetalburgCity_Movement_1DC81B
+ waitmovement 0
+ return
+
+PetalburgCity_Movement_1DC7D6: @ 81DC7D6
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+PetalburgCity_Movement_1DC7DB: @ 81DC7DB
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+PetalburgCity_Movement_1DC7E0: @ 81DC7E0
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+PetalburgCity_Movement_1DC7EE: @ 81DC7EE
+ step_14
+ step_25
+ step_14
+ step_14
+ step_13
+ step_27
+ step_end
+
+PetalburgCity_Movement_1DC7F5: @ 81DC7F5
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+PetalburgCity_Movement_1DC802: @ 81DC802
+ step_14
+ step_25
+ step_14
+ step_13
+ step_27
+ step_end
+
+PetalburgCity_Movement_1DC808: @ 81DC808
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+PetalburgCity_Movement_1DC815: @ 81DC815
+ step_14
+ step_25
+ step_14
+ step_13
+ step_27
+ step_end
+
+PetalburgCity_Movement_1DC81B: @ 81DC81B
+ step_up
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+PetalburgCity_Movement_1DC828: @ 81DC828
+ step_14
+ step_26
+ step_14
+ step_13
+ step_27
+ step_end
+
+PetalburgCity_EventScript_1DC82E:: @ 81DC82E
+ msgbox PetalburgCity_Text_1DC881, 2
+ end
+
+PetalburgCity_Text_1DC837: @ 81DC837
+ .string "Where has our WALLY gone?\p"
+ .string "We have to leave for VERDANTURF TOWN\n"
+ .string "very soon…$"
+
+PetalburgCity_Text_1DC881: @ 81DC881
+ .string "Hiya! Are you maybe…\n"
+ .string "A rookie TRAINER?\p"
+ .string "Do you know what POKéMON TRAINERS\n"
+ .string "do when they reach a new town?\p"
+ .string "They first check what kind of GYM\n"
+ .string "is in the town.$"
+
+PetalburgCity_Text_1DC91B: @ 81DC91B
+ .string "See? This is PETALBURG CITY’s GYM.$"
+
+PetalburgCity_Text_1DC93E: @ 81DC93E
+ .string "This is the GYM’s sign. Look for it\n"
+ .string "whenever you’re looking for a GYM.$"
+
+PetalburgCity_Text_1DC985: @ 81DC985
+ .string "My face is reflected in the water.\p"
+ .string "It’s a shining grin full of hope…\p"
+ .string "Or it could be a look of somber silence\n"
+ .string "struggling with fear…\p"
+ .string "What do you see reflected in your face?$"
+
+PetalburgCity_Text_1DCA30: @ 81DCA30
+ .string "Let’s say you have six POKéMON.\n"
+ .string "If you catch another one…\p"
+ .string "It is automatically sent to a STORAGE\n"
+ .string "BOX over a PC connection.$"
+
+PetalburgCity_Text_1DCAAA: @ 81DCAAA
+ .string "PETALBURG CITY POKéMON GYM\n"
+ .string "LEADER: NORMAN\l"
+ .string "“A man in pursuit of power!”$"
+
+PetalburgCity_Text_1DCAF1: @ 81DCAF1
+ .string "PETALBURG CITY\n"
+ .string "“Where people mingle with nature.”$"
+
+PetalburgCity_Text_1DCB23: @ 81DCB23
+ .string "WALLY’S HOUSE$"
+
+PetalburgCity_Text_1DCB31: @ 81DCB31
+ .string "Excuse me!\p"
+ .string "Let me guess, from the way you’re\n"
+ .string "dressed, are you a POKéMON TRAINER?$"
+
+PetalburgCity_Text_1DCB82: @ 81DCB82
+ .string "… … … … … …\p"
+ .string "Well, maybe not.\n"
+ .string "Your clothes aren’t all that dirty.\p"
+ .string "You’re either a rookie TRAINER,\n"
+ .string "or maybe you’re just an ordinary kid.$"
+
+PetalburgCity_Text_1DCC09: @ 81DCC09
+ .string "I’m roaming the land in search of\n"
+ .string "talented TRAINERS.\p"
+ .string "I’m sorry to have taken your time.$"
diff --git a/data/scripts/maps/PetalburgCity_Gym.inc b/data/scripts/maps/PetalburgCity_Gym.inc
new file mode 100644
index 000000000..e6cdd1334
--- /dev/null
+++ b/data/scripts/maps/PetalburgCity_Gym.inc
@@ -0,0 +1,1703 @@
+PetalburgCity_Gym_MapScripts:: @ 8204889
+ map_script 1, PetalburgCity_Gym_MapScript1_20489E
+ map_script 3, PetalburgCity_Gym_MapScript1_20492D
+ map_script 4, PetalburgCity_Gym_MapScript2_20498B
+ map_script 2, PetalburgCity_Gym_MapScript2_20499A
+ .byte 0
+
+PetalburgCity_Gym_MapScript1_20489E: @ 820489E
+ compare_var_to_value VAR_0x4085, 6
+ goto_eq PetalburgCity_Gym_EventScript_2048B5
+ compare_var_to_value VAR_0x4085, 7
+ call_if 4, PetalburgCity_Gym_EventScript_2048FF
+ end
+
+PetalburgCity_Gym_EventScript_2048B5:: @ 82048B5
+ setvar VAR_0x8005, 1
+ call PetalburgCity_Gym_EventScript_20555E
+ checktrainerflag TRAINER_RANDALL
+ call_if 1, PetalburgCity_Gym_EventScript_20557F
+ checktrainerflag TRAINER_MARY
+ call_if 1, PetalburgCity_Gym_EventScript_2055A0
+ checktrainerflag TRAINER_PARKER
+ call_if 1, PetalburgCity_Gym_EventScript_2055C1
+ checktrainerflag TRAINER_ALEXIA
+ call_if 1, PetalburgCity_Gym_EventScript_2055E2
+ checktrainerflag TRAINER_GEORGE
+ call_if 1, PetalburgCity_Gym_EventScript_205603
+ checktrainerflag TRAINER_JODY
+ call_if 1, PetalburgCity_Gym_EventScript_205624
+ checktrainerflag TRAINER_BERKE
+ call_if 1, PetalburgCity_Gym_EventScript_205645
+ end
+
+PetalburgCity_Gym_EventScript_2048FF:: @ 82048FF
+ setvar VAR_0x8005, 1
+ call PetalburgCity_Gym_EventScript_20555E
+ call PetalburgCity_Gym_EventScript_20557F
+ call PetalburgCity_Gym_EventScript_2055A0
+ call PetalburgCity_Gym_EventScript_2055C1
+ call PetalburgCity_Gym_EventScript_2055E2
+ call PetalburgCity_Gym_EventScript_205603
+ call PetalburgCity_Gym_EventScript_205624
+ call PetalburgCity_Gym_EventScript_205645
+ return
+
+PetalburgCity_Gym_MapScript1_20492D: @ 820492D
+ compare_var_to_value VAR_0x4085, 1
+ call_if 1, PetalburgCity_Gym_EventScript_20494D
+ compare_var_to_value VAR_0x4085, 6
+ call_if 0, PetalburgCity_Gym_EventScript_204955
+ checkflag FLAG_SYS_GAME_CLEAR
+ call_if 1, PetalburgCity_Gym_EventScript_20495D
+ end
+
+PetalburgCity_Gym_EventScript_20494D:: @ 820494D
+ setobjectxyperm 10, 5, 108
+ return
+
+PetalburgCity_Gym_EventScript_204955:: @ 8204955
+ setobjectxyperm 1, 4, 107
+ return
+
+PetalburgCity_Gym_EventScript_20495D:: @ 820495D
+ setorcopyvar 0x8015, 269
+ specialvar VAR_RESULT, sub_80B22A0
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq PetalburgCity_Gym_EventScript_204985
+ compare_var_to_value VAR_0x4085, 8
+ goto_eq PetalburgCity_Gym_EventScript_204985
+ setobjectxyperm 1, 4, 107
+ return
+
+PetalburgCity_Gym_EventScript_204985:: @ 8204985
+ setvar VAR_0x4085, 8
+ end
+
+PetalburgCity_Gym_MapScript2_20498B: @ 820498B
+ map_script_2 VAR_0x4085, 1, PetalburgCity_Gym_EventScript_204995
+ .2byte 0
+
+PetalburgCity_Gym_EventScript_204995:: @ 8204995
+ turnobject 255, 2
+ end
+
+PetalburgCity_Gym_MapScript2_20499A: @ 820499A
+ map_script_2 VAR_0x4085, 1, PetalburgCity_Gym_EventScript_2049A4
+ .2byte 0
+
+PetalburgCity_Gym_EventScript_2049A4:: @ 82049A4
+ lockall
+ msgbox PetalburgCity_Gym_Text_205B32, 4
+ msgbox PetalburgCity_Gym_Text_205B4C, 4
+ closemessage
+ applymovement 255, PetalburgCity_Gym_Movement_2725AA
+ applymovement 10, PetalburgCity_Gym_Movement_2049EC
+ waitmovement 0
+ playse SE_KAIDAN
+ removeobject 10
+ setflag FLAG_0x2D6
+ delay 30
+ applymovement 255, PetalburgCity_Gym_Movement_2725A6
+ waitmovement 0
+ msgbox PetalburgCity_Gym_Text_205C40, 4
+ setvar VAR_0x4085, 2
+ releaseall
+ end
+
+PetalburgCity_Gym_Movement_2049EC: @ 82049EC
+ step_down
+ step_down
+ step_down
+ step_14
+ step_end
+
+PetalburgCity_Gym_EventScript_2049F1:: @ 82049F1
+ lock
+ faceplayer
+ switch VAR_0x4085
+ case 2, PetalburgCity_Gym_EventScript_204D4A
+ case 3, PetalburgCity_Gym_EventScript_204D54
+ case 4, PetalburgCity_Gym_EventScript_204D5E
+ case 5, PetalburgCity_Gym_EventScript_204D68
+ case 6, PetalburgCity_Gym_EventScript_204E3B
+ case 7, PetalburgCity_Gym_EventScript_204D80
+ case 8, PetalburgCity_Gym_EventScript_204DB3
+ msgbox PetalburgCity_Gym_Text_2057A2, 4
+ closemessage
+ switch VAR_FACING
+ case 1, PetalburgCity_Gym_EventScript_204A80
+ case 2, PetalburgCity_Gym_EventScript_204A8B
+ case 3, PetalburgCity_Gym_EventScript_204A96
+ case 4, PetalburgCity_Gym_EventScript_204AA1
+ end
+
+PetalburgCity_Gym_EventScript_204A80:: @ 8204A80
+ setvar VAR_0x8008, 0
+ goto PetalburgCity_Gym_EventScript_204AAC
+ end
+
+PetalburgCity_Gym_EventScript_204A8B:: @ 8204A8B
+ setvar VAR_0x8008, 1
+ goto PetalburgCity_Gym_EventScript_204AAC
+ end
+
+PetalburgCity_Gym_EventScript_204A96:: @ 8204A96
+ setvar VAR_0x8008, 2
+ goto PetalburgCity_Gym_EventScript_204AAC
+ end
+
+PetalburgCity_Gym_EventScript_204AA1:: @ 8204AA1
+ setvar VAR_0x8008, 3
+ goto PetalburgCity_Gym_EventScript_204AAC
+ end
+
+PetalburgCity_Gym_EventScript_204AAC:: @ 8204AAC
+ addobject 10
+ playse SE_DOOR
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, PetalburgCity_Gym_EventScript_204C31
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, PetalburgCity_Gym_EventScript_204C43
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, PetalburgCity_Gym_EventScript_204C5F
+ compare_var_to_value VAR_0x8008, 3
+ call_if 1, PetalburgCity_Gym_EventScript_204C5F
+ msgbox PetalburgCity_Gym_Text_2058B1, 4
+ msgbox PetalburgCity_Gym_Text_2058DB, 4
+ msgbox PetalburgCity_Gym_Text_205910, 4
+ msgbox PetalburgCity_Gym_Text_2059D8, 4
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, PetalburgCity_Gym_EventScript_204CC7
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, PetalburgCity_Gym_EventScript_204CD2
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, PetalburgCity_Gym_EventScript_204CE4
+ compare_var_to_value VAR_0x8008, 3
+ call_if 1, PetalburgCity_Gym_EventScript_204CF6
+ msgbox PetalburgCity_Gym_Text_2059E8, 4
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, PetalburgCity_Gym_EventScript_204D08
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, PetalburgCity_Gym_EventScript_204D13
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, PetalburgCity_Gym_EventScript_204D1E
+ compare_var_to_value VAR_0x8008, 3
+ call_if 1, PetalburgCity_Gym_EventScript_204D29
+ msgbox PetalburgCity_Gym_Text_205A46, 4
+ msgbox PetalburgCity_Gym_Text_205A89, 4
+ msgbox PetalburgCity_Gym_Text_205AF4, 4
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, PetalburgCity_Gym_EventScript_204D72
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, PetalburgCity_Gym_EventScript_204D73
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, PetalburgCity_Gym_EventScript_204D7E
+ compare_var_to_value VAR_0x8008, 3
+ call_if 1, PetalburgCity_Gym_EventScript_204D7F
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, PetalburgCity_Gym_EventScript_204D34
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, PetalburgCity_Gym_EventScript_204D3F
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, PetalburgCity_Gym_EventScript_204D34
+ compare_var_to_value VAR_0x8008, 3
+ call_if 1, PetalburgCity_Gym_EventScript_204D34
+ msgbox PetalburgCity_Gym_Text_205B0F, 4
+ closemessage
+ setflag FLAG_SPECIAL_FLAG_0x4001
+ playbgm BGM_TSURETEK, 0
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, PetalburgCity_Gym_EventScript_204C78
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, PetalburgCity_Gym_EventScript_204C91
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, PetalburgCity_Gym_EventScript_204CA3
+ compare_var_to_value VAR_0x8008, 3
+ call_if 1, PetalburgCity_Gym_EventScript_204CB5
+ removeobject 10
+ setflag FLAG_0x2D8
+ setvar VAR_0x4085, 1
+ setvar VAR_0x4057, 2
+ clearflag FLAG_0x2D6
+ clearflag FLAG_0x362
+ setflag FLAG_0x379
+ special sub_8137A0C
+ warp PETALBURG_CITY, 255, 15, 8
+ waitstate
+ release
+ end
+
+PetalburgCity_Gym_EventScript_204C31:: @ 8204C31
+ applymovement 1, PetalburgCity_Gym_Movement_2725AA
+ applymovement 10, PetalburgCity_Gym_Movement_2050EB
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_204C43:: @ 8204C43
+ applymovement 10, PetalburgCity_Gym_Movement_2050E1
+ waitmovement 0
+ applymovement 1, PetalburgCity_Gym_Movement_2725A8
+ applymovement 255, PetalburgCity_Gym_Movement_2725A8
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_204C5F:: @ 8204C5F
+ applymovement 1, PetalburgCity_Gym_Movement_2725AA
+ applymovement 255, PetalburgCity_Gym_Movement_2725AA
+ applymovement 10, PetalburgCity_Gym_Movement_2050EB
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_204C78:: @ 8204C78
+ applymovement 1, PetalburgCity_Gym_Movement_2725AA
+ applymovement 10, PetalburgCity_Gym_Movement_205102
+ applymovement 255, PetalburgCity_Gym_Movement_205111
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_204C91:: @ 8204C91
+ applymovement 10, PetalburgCity_Gym_Movement_2050F2
+ applymovement 255, PetalburgCity_Gym_Movement_205109
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_204CA3:: @ 8204CA3
+ applymovement 10, PetalburgCity_Gym_Movement_205102
+ applymovement 255, PetalburgCity_Gym_Movement_20511B
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_204CB5:: @ 8204CB5
+ applymovement 10, PetalburgCity_Gym_Movement_2050FA
+ applymovement 255, PetalburgCity_Gym_Movement_205123
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_204CC7:: @ 8204CC7
+ applymovement 1, PetalburgCity_Gym_Movement_2725A6
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_204CD2:: @ 8204CD2
+ applymovement 1, PetalburgCity_Gym_Movement_2725AA
+ applymovement 255, PetalburgCity_Gym_Movement_2725A6
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_204CE4:: @ 8204CE4
+ applymovement 1, PetalburgCity_Gym_Movement_2725A8
+ applymovement 255, PetalburgCity_Gym_Movement_2725A4
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_204CF6:: @ 8204CF6
+ applymovement 1, PetalburgCity_Gym_Movement_2725A4
+ applymovement 255, PetalburgCity_Gym_Movement_2725A8
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_204D08:: @ 8204D08
+ applymovement 1, PetalburgCity_Gym_Movement_2725AA
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_204D13:: @ 8204D13
+ applymovement 1, PetalburgCity_Gym_Movement_2725A8
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_204D1E:: @ 8204D1E
+ applymovement 1, PetalburgCity_Gym_Movement_2725AA
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_204D29:: @ 8204D29
+ applymovement 1, PetalburgCity_Gym_Movement_2725AA
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_204D34:: @ 8204D34
+ applymovement 10, PetalburgCity_Gym_Movement_27259E
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_204D3F:: @ 8204D3F
+ applymovement 10, PetalburgCity_Gym_Movement_2725AA
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_204D4A:: @ 8204D4A
+ msgbox PetalburgCity_Gym_Text_205DB4, 4
+ release
+ end
+
+PetalburgCity_Gym_EventScript_204D54:: @ 8204D54
+ msgbox PetalburgCity_Gym_Text_205EAE, 4
+ release
+ end
+
+PetalburgCity_Gym_EventScript_204D5E:: @ 8204D5E
+ msgbox PetalburgCity_Gym_Text_205F87, 4
+ release
+ end
+
+PetalburgCity_Gym_EventScript_204D68:: @ 8204D68
+ msgbox PetalburgCity_Gym_Text_205F87, 4
+ release
+ end
+
+PetalburgCity_Gym_EventScript_204D72:: @ 8204D72
+ return
+
+PetalburgCity_Gym_EventScript_204D73:: @ 8204D73
+ applymovement 1, PetalburgCity_Gym_Movement_2725AA
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_204D7E:: @ 8204D7E
+ return
+
+PetalburgCity_Gym_EventScript_204D7F:: @ 8204D7F
+ return
+
+PetalburgCity_Gym_EventScript_204D80:: @ 8204D80
+ call PetalburgCity_Gym_EventScript_204DCE
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq PetalburgCity_Gym_EventScript_204E1D
+ checkflag FLAG_0x0A9
+ goto_if 0, PetalburgCity_Gym_EventScript_204DAC
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_eq PetalburgCity_Gym_EventScript_20512D
+ msgbox PetalburgCity_Gym_Text_206417, 4
+ release
+ end
+
+PetalburgCity_Gym_EventScript_204DAC:: @ 8204DAC
+ call PetalburgCity_Gym_EventScript_204ED2
+ release
+ end
+
+PetalburgCity_Gym_EventScript_204DB3:: @ 8204DB3
+ trainerbattle 7, TRAINER_NORMAN_1, 0, PetalburgCity_Gym_Text_2074A2, PetalburgCity_Gym_Text_2075CE, PetalburgCity_Gym_Text_20764A
+ msgbox PetalburgCity_Gym_Text_2075F7, 6
+ end
+
+PetalburgCity_Gym_EventScript_204DCE:: @ 8204DCE
+ specialvar VAR_RESULT, IsEnigmaBerryValid
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PetalburgCity_Gym_EventScript_204E17
+ checkitem ITEM_ENIGMA_BERRY, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq PetalburgCity_Gym_EventScript_204E17
+ checkpcitem ITEM_ENIGMA_BERRY, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq PetalburgCity_Gym_EventScript_204E17
+ compare_var_to_value VAR_0x402D, 0
+ goto_eq PetalburgCity_Gym_EventScript_204E17
+ msgbox PetalburgCity_Gym_Text_2A6D3D, 4
+ setvar VAR_RESULT, 1
+ return
+
+PetalburgCity_Gym_EventScript_204E17:: @ 8204E17
+ setvar VAR_RESULT, 0
+ return
+
+PetalburgCity_Gym_EventScript_204E1D:: @ 8204E1D
+ giveitem_std ITEM_ENIGMA_BERRY
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PetalburgCity_Gym_EventScript_272054
+ setvar VAR_0x402D, 0
+ release
+ end
+
+PetalburgCity_Gym_EventScript_204E3B:: @ 8204E3B
+ msgbox PetalburgCity_Gym_Text_205FE5, 4
+ trainerbattle 3, TRAINER_NORMAN_1, 0, PetalburgCity_Gym_Text_206107
+ message PetalburgCity_Gym_Text_206162
+ waitmessage
+ call PetalburgCity_Gym_EventScript_27207E
+ msgbox PetalburgCity_Gym_Text_20618A, 4
+ setflag FLAG_0x4F4
+ setvar VAR_0x4085, 7
+ setflag FLAG_BADGE05_GET
+ special sub_813B9A0
+ call PetalburgCity_Gym_EventScript_2721F8
+ setflag FLAG_0x391
+ clearflag FLAG_0x390
+ setvar VAR_0x8008, 5
+ call PetalburgCity_Gym_EventScript_271F43
+ clearflag FLAG_0x3AC
+ call PetalburgCity_Gym_EventScript_2048FF
+ special DrawWholeMapView
+ call PetalburgCity_Gym_EventScript_204ED2
+ delay 30
+ msgbox PetalburgCity_Gym_Text_2062FB, 4
+ closemessage
+ delay 40
+ playse SE_DOOR
+ delay 10
+ addobject 11
+ switch VAR_FACING
+ case 2, PetalburgCity_Gym_EventScript_204EF5
+ case 3, PetalburgCity_Gym_EventScript_204F09
+ case 4, PetalburgCity_Gym_EventScript_204EFF
+ end
+
+PetalburgCity_Gym_EventScript_204ED2:: @ 8204ED2
+ giveitem_std ITEM_TM42
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PetalburgCity_Gym_EventScript_27205E
+ setflag FLAG_0x0A9
+ msgbox PetalburgCity_Gym_Text_206254, 4
+ return
+
+PetalburgCity_Gym_EventScript_204EF5:: @ 8204EF5
+ setvar VAR_0x8008, 1
+ goto PetalburgCity_Gym_EventScript_204F13
+
+PetalburgCity_Gym_EventScript_204EFF:: @ 8204EFF
+ setvar VAR_0x8008, 2
+ goto PetalburgCity_Gym_EventScript_204F13
+
+PetalburgCity_Gym_EventScript_204F09:: @ 8204F09
+ setvar VAR_0x8008, 3
+ goto PetalburgCity_Gym_EventScript_204F13
+
+PetalburgCity_Gym_EventScript_204F13:: @ 8204F13
+ applymovement 11, PetalburgCity_Gym_Movement_2050BB
+ waitmovement 0
+ playse SE_PIN
+ applymovement 11, PetalburgCity_Gym_Movement_272598
+ waitmovement 0
+ applymovement 11, PetalburgCity_Gym_Movement_27259A
+ waitmovement 0
+ delay 10
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, PetalburgCity_Gym_EventScript_204FED
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, PetalburgCity_Gym_EventScript_205009
+ compare_var_to_value VAR_0x8008, 3
+ call_if 1, PetalburgCity_Gym_EventScript_205025
+ msgbox PetalburgCity_Gym_Text_206377, 4
+ closemessage
+ delay 20
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, PetalburgCity_Gym_EventScript_204FCC
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, PetalburgCity_Gym_EventScript_204FD7
+ compare_var_to_value VAR_0x8008, 3
+ call_if 1, PetalburgCity_Gym_EventScript_204FE2
+ msgbox PetalburgCity_Gym_Text_2063CA, 4
+ closemessage
+ setflag FLAG_SPECIAL_FLAG_0x4001
+ playbgm BGM_TSURETEK, 0
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, PetalburgCity_Gym_EventScript_205041
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, PetalburgCity_Gym_EventScript_20505A
+ compare_var_to_value VAR_0x8008, 3
+ call_if 1, PetalburgCity_Gym_EventScript_20506C
+ removeobject 11
+ setvar VAR_0x4057, 4
+ clearflag FLAG_0x33E
+ warp PETALBURG_CITY, 255, 15, 8
+ waitstate
+ release
+ end
+
+PetalburgCity_Gym_EventScript_204FCC:: @ 8204FCC
+ applymovement 11, PetalburgCity_Gym_Movement_2725A6
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_204FD7:: @ 8204FD7
+ applymovement 11, PetalburgCity_Gym_Movement_2725A8
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_204FE2:: @ 8204FE2
+ applymovement 11, PetalburgCity_Gym_Movement_2725A4
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_204FED:: @ 8204FED
+ applymovement 11, PetalburgCity_Gym_Movement_2050C3
+ waitmovement 0
+ applymovement 255, PetalburgCity_Gym_Movement_2725A4
+ applymovement 1, PetalburgCity_Gym_Movement_2725A4
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_205009:: @ 8205009
+ applymovement 11, PetalburgCity_Gym_Movement_2050CA
+ waitmovement 0
+ applymovement 255, PetalburgCity_Gym_Movement_2725AA
+ applymovement 1, PetalburgCity_Gym_Movement_2725AA
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_205025:: @ 8205025
+ applymovement 11, PetalburgCity_Gym_Movement_2050D0
+ waitmovement 0
+ applymovement 255, PetalburgCity_Gym_Movement_2725AA
+ applymovement 1, PetalburgCity_Gym_Movement_2725AA
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_205041:: @ 8205041
+ applymovement 11, PetalburgCity_Gym_Movement_20507E
+ applymovement 1, PetalburgCity_Gym_Movement_2725AA
+ applymovement 255, PetalburgCity_Gym_Movement_2050A1
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_20505A:: @ 820505A
+ applymovement 11, PetalburgCity_Gym_Movement_205089
+ applymovement 255, PetalburgCity_Gym_Movement_2050A9
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_EventScript_20506C:: @ 820506C
+ applymovement 11, PetalburgCity_Gym_Movement_205094
+ applymovement 255, PetalburgCity_Gym_Movement_2050B1
+ waitmovement 0
+ return
+
+PetalburgCity_Gym_Movement_20507E: @ 820507E
+ step_down
+ step_down
+ step_left
+ step_left
+ step_down
+ step_down
+ step_26
+ step_13
+ step_1d
+ step_54
+ step_end
+
+PetalburgCity_Gym_Movement_205089: @ 8205089
+ step_down
+ step_down
+ step_left
+ step_left
+ step_down
+ step_down
+ step_26
+ step_13
+ step_1d
+ step_54
+ step_end
+
+PetalburgCity_Gym_Movement_205094: @ 8205094
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_down
+ step_down
+ step_26
+ step_13
+ step_1d
+ step_54
+ step_end
+
+PetalburgCity_Gym_Movement_2050A1: @ 82050A1
+ step_14
+ step_down
+ step_down
+ step_left
+ step_left
+ step_down
+ step_down
+ step_end
+
+PetalburgCity_Gym_Movement_2050A9: @ 82050A9
+ step_14
+ step_down
+ step_down
+ step_left
+ step_down
+ step_down
+ step_down
+ step_end
+
+PetalburgCity_Gym_Movement_2050B1: @ 82050B1
+ step_14
+ step_down
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_down
+ step_down
+ step_end
+
+PetalburgCity_Gym_Movement_2050BB: @ 82050BB
+ step_up
+ step_13
+ step_28
+ step_13
+ step_27
+ step_14
+ step_26
+ step_end
+
+PetalburgCity_Gym_Movement_2050C3: @ 82050C3
+ step_right
+ step_right
+ step_up
+ step_up
+ step_up
+ step_28
+ step_end
+
+PetalburgCity_Gym_Movement_2050CA: @ 82050CA
+ step_right
+ step_right
+ step_up
+ step_up
+ step_up
+ step_end
+
+PetalburgCity_Gym_Movement_2050D0: @ 82050D0
+ step_right
+ step_right
+ step_up
+ step_up
+ step_right
+ step_right
+ step_up
+ step_end
+
+PetalburgCity_Gym_Movement_2050D8: @ 82050D8
+ step_26
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_13
+ step_25
+ step_end
+
+PetalburgCity_Gym_Movement_2050E1: @ 82050E1
+ step_14
+ step_up
+ step_14
+ step_13
+ step_up
+ step_right
+ step_up
+ step_up
+ step_27
+ step_end
+
+PetalburgCity_Gym_Movement_2050EB: @ 82050EB
+ step_14
+ step_up
+ step_14
+ step_13
+ step_up
+ step_up
+ step_end
+
+PetalburgCity_Gym_Movement_2050F2: @ 82050F2
+ step_down
+ step_down
+ step_down
+ step_down
+ step_26
+ step_14
+ step_1d
+ step_end
+
+PetalburgCity_Gym_Movement_2050FA: @ 82050FA
+ step_down
+ step_down
+ step_right
+ step_down
+ step_26
+ step_14
+ step_1d
+ step_end
+
+PetalburgCity_Gym_Movement_205102: @ 8205102
+ step_down
+ step_down
+ step_down
+ step_26
+ step_14
+ step_1d
+ step_end
+
+PetalburgCity_Gym_Movement_205109: @ 8205109
+ step_14
+ step_14
+ step_14
+ step_down
+ step_down
+ step_down
+ step_13
+ step_end
+
+PetalburgCity_Gym_Movement_205111: @ 8205111
+ step_14
+ step_14
+ step_right
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_13
+ step_end
+
+PetalburgCity_Gym_Movement_20511B: @ 820511B
+ step_14
+ step_14
+ step_down
+ step_down
+ step_down
+ step_down
+ step_13
+ step_end
+
+PetalburgCity_Gym_Movement_205123: @ 8205123
+ step_25
+ step_14
+ step_14
+ step_down
+ step_down
+ step_down
+ step_right
+ step_down
+ step_13
+ step_end
+
+PetalburgCity_Gym_EventScript_20512D:: @ 820512D
+ msgbox PetalburgCity_Gym_Text_2064C3, 4
+ release
+ end
+
+PetalburgCity_Gym_EventScript_205137:: @ 8205137
+ lockall
+ compare_var_to_value VAR_0x4085, 6
+ goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ setvar VAR_0x8008, 7
+ setvar VAR_0x8009, 85
+ msgbox PetalburgCity_Gym_Text_20721E, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq PetalburgCity_Gym_EventScript_20516C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PetalburgCity_Gym_EventScript_20517B
+ end
+
+PetalburgCity_Gym_EventScript_20516C:: @ 820516C
+ closemessage
+ delay 30
+ warpdoor PETALBURG_CITY_GYM, 255, 32776, 32777
+ waitstate
+ releaseall
+ end
+
+PetalburgCity_Gym_EventScript_20517B:: @ 820517B
+ releaseall
+ end
+
+PetalburgCity_Gym_EventScript_20517D:: @ 820517D
+ msgbox PetalburgCity_Gym_Text_2071F4, 4
+ releaseall
+ end
+
+PetalburgCity_Gym_EventScript_205187:: @ 8205187
+ lockall
+ compare_var_to_value VAR_0x4085, 6
+ goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ setvar VAR_0x8008, 1
+ setvar VAR_0x8009, 98
+ msgbox PetalburgCity_Gym_Text_207280, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq PetalburgCity_Gym_EventScript_20516C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PetalburgCity_Gym_EventScript_20517B
+ end
+
+PetalburgCity_Gym_EventScript_2051BC:: @ 82051BC
+ lockall
+ checktrainerflag TRAINER_RANDALL
+ goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ setvar VAR_0x8008, 7
+ setvar VAR_0x8009, 46
+ msgbox PetalburgCity_Gym_Text_2072BB, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq PetalburgCity_Gym_EventScript_20516C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PetalburgCity_Gym_EventScript_20517B
+ end
+
+PetalburgCity_Gym_EventScript_2051EF:: @ 82051EF
+ lockall
+ checktrainerflag TRAINER_RANDALL
+ goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ setvar VAR_0x8008, 1
+ setvar VAR_0x8009, 59
+ msgbox PetalburgCity_Gym_Text_2072F7, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq PetalburgCity_Gym_EventScript_20516C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PetalburgCity_Gym_EventScript_20517B
+ end
+
+PetalburgCity_Gym_EventScript_205222:: @ 8205222
+ lockall
+ checktrainerflag TRAINER_MARY
+ goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ setvar VAR_0x8008, 7
+ setvar VAR_0x8009, 59
+ msgbox PetalburgCity_Gym_Text_2072F7, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq PetalburgCity_Gym_EventScript_20516C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PetalburgCity_Gym_EventScript_20517B
+ end
+
+PetalburgCity_Gym_EventScript_205255:: @ 8205255
+ lockall
+ checktrainerflag TRAINER_MARY
+ goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ setvar VAR_0x8008, 1
+ setvar VAR_0x8009, 72
+ msgbox PetalburgCity_Gym_Text_207331, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq PetalburgCity_Gym_EventScript_20516C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PetalburgCity_Gym_EventScript_20517B
+ end
+
+PetalburgCity_Gym_EventScript_205288:: @ 8205288
+ lockall
+ checktrainerflag TRAINER_PARKER
+ goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ setvar VAR_0x8008, 1
+ setvar VAR_0x8009, 20
+ msgbox PetalburgCity_Gym_Text_20736C, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq PetalburgCity_Gym_EventScript_20516C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PetalburgCity_Gym_EventScript_20517B
+ end
+
+PetalburgCity_Gym_EventScript_2052BB:: @ 82052BB
+ lockall
+ checktrainerflag TRAINER_ALEXIA
+ goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ setvar VAR_0x8008, 7
+ setvar VAR_0x8009, 20
+ msgbox PetalburgCity_Gym_Text_20736C, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq PetalburgCity_Gym_EventScript_20516C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PetalburgCity_Gym_EventScript_20517B
+ end
+
+PetalburgCity_Gym_EventScript_2052EE:: @ 82052EE
+ lockall
+ checktrainerflag TRAINER_ALEXIA
+ goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ setvar VAR_0x8008, 1
+ setvar VAR_0x8009, 33
+ msgbox PetalburgCity_Gym_Text_2073A7, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq PetalburgCity_Gym_EventScript_20516C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PetalburgCity_Gym_EventScript_20517B
+ end
+
+PetalburgCity_Gym_EventScript_205321:: @ 8205321
+ lockall
+ checktrainerflag TRAINER_GEORGE
+ goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ setvar VAR_0x8008, 7
+ setvar VAR_0x8009, 33
+ msgbox PetalburgCity_Gym_Text_2073A7, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq PetalburgCity_Gym_EventScript_20516C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PetalburgCity_Gym_EventScript_20517B
+ end
+
+PetalburgCity_Gym_EventScript_205354:: @ 8205354
+ lockall
+ checktrainerflag TRAINER_JODY
+ goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ setvar VAR_0x8008, 1
+ setvar VAR_0x8009, 7
+ msgbox PetalburgCity_Gym_Text_2073E4, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq PetalburgCity_Gym_EventScript_20516C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PetalburgCity_Gym_EventScript_20517B
+ end
+
+PetalburgCity_Gym_EventScript_205387:: @ 8205387
+ lockall
+ checktrainerflag TRAINER_BERKE
+ goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ setvar VAR_0x8008, 7
+ setvar VAR_0x8009, 7
+ msgbox PetalburgCity_Gym_Text_2073E4, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq PetalburgCity_Gym_EventScript_20516C
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PetalburgCity_Gym_EventScript_20517B
+ end
+
+PetalburgCity_Gym_EventScript_2053BA:: @ 82053BA
+ trainerbattle 2, TRAINER_RANDALL, 0, PetalburgCity_Gym_Text_20674F, PetalburgCity_Gym_Text_2067B9, PetalburgCity_Gym_EventScript_2053DE
+ checkflag FLAG_0x4F4
+ goto_eq PetalburgCity_Gym_EventScript_2053ED
+ msgbox PetalburgCity_Gym_Text_2067D8, 6
+ end
+
+PetalburgCity_Gym_EventScript_2053DE:: @ 82053DE
+ setvar VAR_0x8005, 0
+ call PetalburgCity_Gym_EventScript_20557F
+ special DrawWholeMapView
+ release
+ end
+
+PetalburgCity_Gym_EventScript_2053ED:: @ 82053ED
+ msgbox PetalburgCity_Gym_Text_20685E, 2
+ end
+
+PetalburgCity_Gym_EventScript_2053F6:: @ 82053F6
+ trainerbattle 2, TRAINER_PARKER, 0, PetalburgCity_Gym_Text_2068FD, PetalburgCity_Gym_Text_20694F, PetalburgCity_Gym_EventScript_20541A
+ checkflag FLAG_0x4F4
+ goto_eq PetalburgCity_Gym_EventScript_205429
+ msgbox PetalburgCity_Gym_Text_206996, 6
+ end
+
+PetalburgCity_Gym_EventScript_20541A:: @ 820541A
+ setvar VAR_0x8005, 0
+ call PetalburgCity_Gym_EventScript_2055C1
+ special DrawWholeMapView
+ release
+ end
+
+PetalburgCity_Gym_EventScript_205429:: @ 8205429
+ msgbox PetalburgCity_Gym_Text_2069D9, 2
+ end
+
+PetalburgCity_Gym_EventScript_205432:: @ 8205432
+ trainerbattle 2, TRAINER_GEORGE, 0, PetalburgCity_Gym_Text_206A1B, PetalburgCity_Gym_Text_206AB8, PetalburgCity_Gym_EventScript_205456
+ checkflag FLAG_0x4F4
+ goto_eq PetalburgCity_Gym_EventScript_205465
+ msgbox PetalburgCity_Gym_Text_206AE9, 6
+ end
+
+PetalburgCity_Gym_EventScript_205456:: @ 8205456
+ setvar VAR_0x8005, 0
+ call PetalburgCity_Gym_EventScript_205603
+ special DrawWholeMapView
+ release
+ end
+
+PetalburgCity_Gym_EventScript_205465:: @ 8205465
+ msgbox PetalburgCity_Gym_Text_206BB1, 2
+ end
+
+PetalburgCity_Gym_EventScript_20546E:: @ 820546E
+ trainerbattle 2, TRAINER_BERKE, 0, PetalburgCity_Gym_Text_206BF4, PetalburgCity_Gym_Text_206C7D, PetalburgCity_Gym_EventScript_205492
+ checkflag FLAG_0x4F4
+ goto_eq PetalburgCity_Gym_EventScript_2054A1
+ msgbox PetalburgCity_Gym_Text_206C9F, 6
+ end
+
+PetalburgCity_Gym_EventScript_205492:: @ 8205492
+ setvar VAR_0x8005, 0
+ call PetalburgCity_Gym_EventScript_205645
+ special DrawWholeMapView
+ release
+ end
+
+PetalburgCity_Gym_EventScript_2054A1:: @ 82054A1
+ msgbox PetalburgCity_Gym_Text_206D56, 2
+ end
+
+PetalburgCity_Gym_EventScript_2054AA:: @ 82054AA
+ trainerbattle 2, TRAINER_MARY, 0, PetalburgCity_Gym_Text_206DB2, PetalburgCity_Gym_Text_206E0D, PetalburgCity_Gym_EventScript_2054CE
+ checkflag FLAG_0x4F4
+ goto_eq PetalburgCity_Gym_EventScript_2054DD
+ msgbox PetalburgCity_Gym_Text_206E26, 6
+ end
+
+PetalburgCity_Gym_EventScript_2054CE:: @ 82054CE
+ setvar VAR_0x8005, 0
+ call PetalburgCity_Gym_EventScript_2055A0
+ special DrawWholeMapView
+ release
+ end
+
+PetalburgCity_Gym_EventScript_2054DD:: @ 82054DD
+ msgbox PetalburgCity_Gym_Text_206ED8, 2
+ end
+
+PetalburgCity_Gym_EventScript_2054E6:: @ 82054E6
+ trainerbattle 2, TRAINER_ALEXIA, 0, PetalburgCity_Gym_Text_206F44, PetalburgCity_Gym_Text_206F82, PetalburgCity_Gym_EventScript_20550A
+ checkflag FLAG_0x4F4
+ goto_eq PetalburgCity_Gym_EventScript_205519
+ msgbox PetalburgCity_Gym_Text_206F9F, 6
+ end
+
+PetalburgCity_Gym_EventScript_20550A:: @ 820550A
+ setvar VAR_0x8005, 0
+ call PetalburgCity_Gym_EventScript_2055E2
+ special DrawWholeMapView
+ release
+ end
+
+PetalburgCity_Gym_EventScript_205519:: @ 8205519
+ msgbox PetalburgCity_Gym_Text_207069, 2
+ end
+
+PetalburgCity_Gym_EventScript_205522:: @ 8205522
+ trainerbattle 2, TRAINER_JODY, 0, PetalburgCity_Gym_Text_207088, PetalburgCity_Gym_Text_2070E6, PetalburgCity_Gym_EventScript_205546
+ checkflag FLAG_0x4F4
+ goto_eq PetalburgCity_Gym_EventScript_205555
+ msgbox PetalburgCity_Gym_Text_2070FB, 6
+ end
+
+PetalburgCity_Gym_EventScript_205546:: @ 8205546
+ setvar VAR_0x8005, 0
+ call PetalburgCity_Gym_EventScript_205624
+ special DrawWholeMapView
+ release
+ end
+
+PetalburgCity_Gym_EventScript_205555:: @ 8205555
+ msgbox PetalburgCity_Gym_Text_207170, 2
+ end
+
+PetalburgCity_Gym_EventScript_20555E:: @ 820555E
+ setvar VAR_0x8004, 1
+ compare_var_to_value VAR_0x8005, 0
+ call_if 1, PetalburgCity_Gym_EventScript_205746
+ compare_var_to_value VAR_0x8005, 1
+ call_if 1, PetalburgCity_Gym_EventScript_20574B
+ call PetalburgCity_Gym_EventScript_205666
+ return
+
+PetalburgCity_Gym_EventScript_20557F:: @ 820557F
+ setvar VAR_0x8004, 2
+ compare_var_to_value VAR_0x8005, 0
+ call_if 1, PetalburgCity_Gym_EventScript_205746
+ compare_var_to_value VAR_0x8005, 1
+ call_if 1, PetalburgCity_Gym_EventScript_20574B
+ call PetalburgCity_Gym_EventScript_20568B
+ return
+
+PetalburgCity_Gym_EventScript_2055A0:: @ 82055A0
+ setvar VAR_0x8004, 3
+ compare_var_to_value VAR_0x8005, 0
+ call_if 1, PetalburgCity_Gym_EventScript_205746
+ compare_var_to_value VAR_0x8005, 1
+ call_if 1, PetalburgCity_Gym_EventScript_20574B
+ call PetalburgCity_Gym_EventScript_2056B0
+ return
+
+PetalburgCity_Gym_EventScript_2055C1:: @ 82055C1
+ setvar VAR_0x8004, 4
+ compare_var_to_value VAR_0x8005, 0
+ call_if 1, PetalburgCity_Gym_EventScript_205746
+ compare_var_to_value VAR_0x8005, 1
+ call_if 1, PetalburgCity_Gym_EventScript_20574B
+ call PetalburgCity_Gym_EventScript_2056D5
+ return
+
+PetalburgCity_Gym_EventScript_2055E2:: @ 82055E2
+ setvar VAR_0x8004, 5
+ compare_var_to_value VAR_0x8005, 0
+ call_if 1, PetalburgCity_Gym_EventScript_205746
+ compare_var_to_value VAR_0x8005, 1
+ call_if 1, PetalburgCity_Gym_EventScript_20574B
+ call PetalburgCity_Gym_EventScript_2056E8
+ return
+
+PetalburgCity_Gym_EventScript_205603:: @ 8205603
+ setvar VAR_0x8004, 6
+ compare_var_to_value VAR_0x8005, 0
+ call_if 1, PetalburgCity_Gym_EventScript_205746
+ compare_var_to_value VAR_0x8005, 1
+ call_if 1, PetalburgCity_Gym_EventScript_20574B
+ call PetalburgCity_Gym_EventScript_20570D
+ return
+
+PetalburgCity_Gym_EventScript_205624:: @ 8205624
+ setvar VAR_0x8004, 7
+ compare_var_to_value VAR_0x8005, 0
+ call_if 1, PetalburgCity_Gym_EventScript_205746
+ compare_var_to_value VAR_0x8005, 1
+ call_if 1, PetalburgCity_Gym_EventScript_20574B
+ call PetalburgCity_Gym_EventScript_205720
+ return
+
+PetalburgCity_Gym_EventScript_205645:: @ 8205645
+ setvar VAR_0x8004, 8
+ compare_var_to_value VAR_0x8005, 0
+ call_if 1, PetalburgCity_Gym_EventScript_205746
+ compare_var_to_value VAR_0x8005, 1
+ call_if 1, PetalburgCity_Gym_EventScript_20574B
+ call PetalburgCity_Gym_EventScript_205733
+ return
+
+PetalburgCity_Gym_EventScript_205666:: @ 8205666
+ setmetatile 6, 85, 528, 0
+ setmetatile 7, 85, 529, 0
+ setmetatile 1, 98, 528, 0
+ setmetatile 2, 98, 529, 0
+ return
+
+PetalburgCity_Gym_EventScript_20568B:: @ 820568B
+ setmetatile 6, 46, 528, 0
+ setmetatile 7, 46, 529, 0
+ setmetatile 1, 59, 528, 0
+ setmetatile 2, 59, 529, 0
+ return
+
+PetalburgCity_Gym_EventScript_2056B0:: @ 82056B0
+ setmetatile 6, 59, 528, 0
+ setmetatile 7, 59, 529, 0
+ setmetatile 1, 72, 528, 0
+ setmetatile 2, 72, 529, 0
+ return
+
+PetalburgCity_Gym_EventScript_2056D5:: @ 82056D5
+ setmetatile 1, 20, 528, 0
+ setmetatile 2, 20, 529, 0
+ return
+
+PetalburgCity_Gym_EventScript_2056E8:: @ 82056E8
+ setmetatile 6, 20, 528, 0
+ setmetatile 7, 20, 529, 0
+ setmetatile 1, 33, 528, 0
+ setmetatile 2, 33, 529, 0
+ return
+
+PetalburgCity_Gym_EventScript_20570D:: @ 820570D
+ setmetatile 6, 33, 528, 0
+ setmetatile 7, 33, 529, 0
+ return
+
+PetalburgCity_Gym_EventScript_205720:: @ 8205720
+ setmetatile 1, 7, 528, 0
+ setmetatile 2, 7, 529, 0
+ return
+
+PetalburgCity_Gym_EventScript_205733:: @ 8205733
+ setmetatile 6, 7, 528, 0
+ setmetatile 7, 7, 529, 0
+ return
+
+PetalburgCity_Gym_EventScript_205746:: @ 8205746
+ special sub_81388E4
+ waitstate
+ return
+
+PetalburgCity_Gym_EventScript_20574B:: @ 820574B
+ special sub_8138AA4
+ return
+
+PetalburgCity_Gym_EventScript_20574F:: @ 820574F
+ lock
+ faceplayer
+ checkflag FLAG_0x4F4
+ goto_eq PetalburgCity_Gym_EventScript_205764
+ msgbox PetalburgCity_Gym_Text_206542, 4
+ release
+ end
+
+PetalburgCity_Gym_EventScript_205764:: @ 8205764
+ msgbox PetalburgCity_Gym_Text_2066F3, 4
+ release
+ end
+
+PetalburgCity_Gym_EventScript_20576E:: @ 820576E
+ lockall
+ checkflag FLAG_BADGE05_GET
+ goto_eq PetalburgCity_Gym_EventScript_20578E
+ goto PetalburgCity_Gym_EventScript_205798
+ end
+
+PetalburgCity_Gym_EventScript_20577E:: @ 820577E
+ lockall
+ checkflag FLAG_BADGE05_GET
+ goto_eq PetalburgCity_Gym_EventScript_20578E
+ goto PetalburgCity_Gym_EventScript_205798
+ end
+
+PetalburgCity_Gym_EventScript_20578E:: @ 820578E
+ msgbox PetalburgCity_Gym_Text_207467, 4
+ releaseall
+ end
+
+PetalburgCity_Gym_EventScript_205798:: @ 8205798
+ msgbox PetalburgCity_Gym_Text_20744C, 4
+ releaseall
+ end
+
+PetalburgCity_Gym_Text_2057A2: @ 82057A2
+ .string "DAD: Hm?\p"
+ .string "Well, if it isn’t {PLAYER}!\n"
+ .string "So you’re all finished moving in?\p"
+ .string "I’m surprised that you managed to\n"
+ .string "get here by yourself.\p"
+ .string "Oh, I see.\n"
+ .string "You’re with your POKéMON.\p"
+ .string "Hm… Then I guess you’re going to\n"
+ .string "become a TRAINER like me, {PLAYER}.\p"
+ .string "That’s great news!\n"
+ .string "I’ll be looking forward to it!$"
+
+PetalburgCity_Gym_Text_2058B1: @ 82058B1
+ .string "Um… I…\n"
+ .string "I’d like to get a POKéMON, please…$"
+
+PetalburgCity_Gym_Text_2058DB: @ 82058DB
+ .string "DAD: Hm? You’re… Uh… Oh, right.\n"
+ .string "You’re WALLY, right?$"
+
+PetalburgCity_Gym_Text_205910: @ 8205910
+ .string "WALLY: I’m going to go stay with my\n"
+ .string "relatives in VERDANTURF TOWN.\p"
+ .string "I thought I would be lonely by myself,\n"
+ .string "so I wanted to take a POKéMON along.\p"
+ .string "But I’ve never caught a POKéMON before.\n"
+ .string "I don’t know how…$"
+
+PetalburgCity_Gym_Text_2059D8: @ 82059D8
+ .string "DAD: Hm. I see.$"
+
+PetalburgCity_Gym_Text_2059E8: @ 82059E8
+ .string "DAD: {PLAYER}, you heard that,\n"
+ .string "right?\p"
+ .string "Go with WALLY and make sure that he\n"
+ .string "safely catches a POKéMON.$"
+
+PetalburgCity_Gym_Text_205A46: @ 8205A46
+ .string "WALLY, here, I’ll loan you my POKéMON.\p"
+ .string "WALLY received a ZIGZAGOON!$"
+
+PetalburgCity_Gym_Text_205A89: @ 8205A89
+ .string "WALLY: Oh, wow!\n"
+ .string "A POKéMON!\p"
+ .string "DAD: Hm. I’ll give you a POKé BALL, too.\n"
+ .string "Go for it!\p"
+ .string "WALLY received a POKé BALL!$"
+
+PetalburgCity_Gym_Text_205AF4: @ 8205AF4
+ .string "WALLY: Oh, wow!\n"
+ .string "Thank you!$"
+
+PetalburgCity_Gym_Text_205B0F: @ 8205B0F
+ .string "{PLAYER}… Would you really come\n"
+ .string "with me?$"
+
+PetalburgCity_Gym_Text_205B32: @ 8205B32
+ .string "DAD: So, did it work out?$"
+
+PetalburgCity_Gym_Text_205B4C: @ 8205B4C
+ .string "WALLY: Thank you, yes, it did.\n"
+ .string "Here’s your POKéMON back.\p"
+ .string "{PLAYER}, thank you for coming along\n"
+ .string "with me.\p"
+ .string "You two are why I was able to catch\n"
+ .string "my POKéMON.\p"
+ .string "I promise I’ll take really good\n"
+ .string "care of it.\p"
+ .string "Oh! My mom’s waiting for me,\n"
+ .string "so I have to go!\p"
+ .string "Bye, {PLAYER}!$"
+
+PetalburgCity_Gym_Text_205C40: @ 8205C40
+ .string "DAD: Now…\p"
+ .string "{PLAYER}, if you want to become a\n"
+ .string "strong TRAINER, here’s my advice.\p"
+ .string "Head for RUSTBORO CITY beyond this\n"
+ .string "town.\p"
+ .string "There, you should challenge\n"
+ .string "the GYM LEADER, ROXANNE.\p"
+ .string "After her, go on to other POKéMON\n"
+ .string "GYMS and defeat their LEADERS.\p"
+ .string "Collect BADGES from them,\n"
+ .string "understood?\p"
+ .string "Of course, I’m a GYM LEADER, too.\n"
+ .string "We’ll battle one day, {PLAYER}.\p"
+ .string "But that’s only after you become\n"
+ .string "stronger.$"
+
+PetalburgCity_Gym_Text_205DB4: @ 8205DB4
+ .string "DAD: Hm? Aren’t you going to the\n"
+ .string "POKéMON GYM in RUSTBORO CITY?\p"
+ .string "There’s no challenge for me to\n"
+ .string "battle a greenhorn TRAINER.\p"
+ .string "{PLAYER}, I want you to challenge me\n"
+ .string "when you become a lot stronger.\p"
+ .string "I’ll battle you, {PLAYER}, when you\n"
+ .string "can show me four GYM BADGES, okay?$"
+
+PetalburgCity_Gym_Text_205EAE: @ 8205EAE
+ .string "DAD: I see… So, you’ve beaten\n"
+ .string "the GYM LEADER in RUSTBORO CITY.\p"
+ .string "But there are many more TRAINERS\n"
+ .string "who are stronger than you, {PLAYER}.\p"
+ .string "Across the sea in DEWFORD TOWN is a\n"
+ .string "GYM LEADER named BRAWLY.\p"
+ .string "You should go challenge him.$"
+
+PetalburgCity_Gym_Text_205F87: @ 8205F87
+ .string "DAD: Hm… {PLAYER}, you have gotten\n"
+ .string "stronger.\p"
+ .string "I can tell by the number of BADGES\n"
+ .string "that you’ve earned.$"
+
+PetalburgCity_Gym_Text_205FE5: @ 8205FE5
+ .string "DAD: Hm…\n"
+ .string "So, you did get four GYM BADGES.\p"
+ .string "Fine, as I promised, we will have\n"
+ .string "a POKéMON battle.\p"
+ .string "{PLAYER}…\p"
+ .string "I’m so happy that I can have\n"
+ .string "a real battle with my own child.\p"
+ .string "But, a battle is a battle!\p"
+ .string "I will do everything in my power as\n"
+ .string "a GYM LEADER to win.\p"
+ .string "{PLAYER}, you’d better give it your\n"
+ .string "best shot, too!$"
+
+PetalburgCity_Gym_Text_206107: @ 8206107
+ .string "…\p"
+ .string "I… I can’t…\p"
+ .string "I can’t believe it. {PLAYER}…\p"
+ .string "I lost to {PLAYER}?\p"
+ .string "But, rules are rules!\n"
+ .string "Here, take this.$"
+
+PetalburgCity_Gym_Text_206162: @ 8206162
+ .string "{PLAYER} received the BALANCE BADGE\n"
+ .string "from DAD!$"
+
+PetalburgCity_Gym_Text_20618A: @ 820618A
+ .string "DAD: With that BADGE, the DEFENSE\n"
+ .string "of all your POKéMON will increase.\p"
+ .string "POKéMON that know the HM move SURF\n"
+ .string "will be able to travel over water.\p"
+ .string "This is my gift to you. {PLAYER}, I’m\n"
+ .string "sure you can use it correctly.$"
+
+PetalburgCity_Gym_Text_206254: @ 8206254
+ .string "DAD: TM42 contains FACADE.\p"
+ .string "It doubles the power of moves if\n"
+ .string "the POKéMON is poisoned, paralyzed,\l"
+ .string "or burned.\p"
+ .string "It might be able to turn a bad\n"
+ .string "situation into an advantage.$"
+
+PetalburgCity_Gym_Text_2062FB: @ 82062FB
+ .string "DAD: As the GYM LEADER, I can’t\n"
+ .string "express how upset I am…\p"
+ .string "But as a father, it makes me both\n"
+ .string "happy and a little sad. It’s odd…$"
+
+PetalburgCity_Gym_Text_206377: @ 8206377
+ .string "Ah, there you are, {PLAYER}{KUN}!\p"
+ .string "Please come with me.\n"
+ .string "I have something I want you to have.$"
+
+PetalburgCity_Gym_Text_2063CA: @ 82063CA
+ .string "NORMAN, you don’t mind, do you?\p"
+ .string "Let me borrow your {PLAYER}{KUN} for\n"
+ .string "a minute or two.$"
+
+PetalburgCity_Gym_Text_206417: @ 8206417
+ .string "DAD: {PLAYER}, you should go visit\n"
+ .string "your mother every so often.\p"
+ .string "I’m going to stay here and redouble\n"
+ .string "my training.\p"
+ .string "It would bother me as a TRAINER to\n"
+ .string "not avenge my loss to you, {PLAYER}!$"
+
+PetalburgCity_Gym_Text_2064C3: @ 82064C3
+ .string "DAD: {PLAYER}, how are things going?\p"
+ .string "The world of POKéMON is deep.\p"
+ .string "I honestly think that no amount of\n"
+ .string "training would ever be enough.$"
+
+PetalburgCity_Gym_Text_206542: @ 8206542
+ .string "Hey, how’s it going, CHAMPION-\n"
+ .string "bound {PLAYER}?\p"
+ .string "The doors in this GYM open when you\n"
+ .string "beat the awaiting TRAINERS.\p"
+ .string "Whoops! The doors in this room are\n"
+ .string "already open, so don’t attack me!\p"
+ .string "The TRAINERS of PETALBURG GYM\n"
+ .string "use all kinds of items.\p"
+ .string "The door at the left leads to\n"
+ .string "the SPEED ROOM.\p"
+ .string "The door at the right leads to\n"
+ .string "the ACCURACY ROOM.\p"
+ .string "The room’s name will be on\n"
+ .string "the door, so choose carefully.\p"
+ .string "Once you’ve chosen the door…\n"
+ .string "Well, hey, go for it!$"
+
+PetalburgCity_Gym_Text_2066F3: @ 82066F3
+ .string "{PLAYER}! Whoa! You’ve overcome even\n"
+ .string "your own father!\p"
+ .string "Like, whoa!\n"
+ .string "What a stunning turn of events!$"
+
+PetalburgCity_Gym_Text_20674F: @ 820674F
+ .string "The ability to attack before the\n"
+ .string "opponent…\p"
+ .string "Just that alone puts me at a great\n"
+ .string "advantage, don’t you agree?$"
+
+PetalburgCity_Gym_Text_2067B9: @ 82067B9
+ .string "That was a magnificent battle!$"
+
+PetalburgCity_Gym_Text_2067D8: @ 82067D8
+ .string "Go on to the next room where a new\n"
+ .string "challenge awaits you.\p"
+ .string "At the left is the CONFUSION ROOM.\p"
+ .string "The right door leads to the DEFENSE\n"
+ .string "ROOM.$"
+
+PetalburgCity_Gym_Text_20685E: @ 820685E
+ .string "Whomever you beat, and whomever you\n"
+ .string "may lose to, you never shirk from\l"
+ .string "training yourself and your POKéMON.\p"
+ .string "That’s what I think being a\n"
+ .string "GYM LEADER is all about.$"
+
+PetalburgCity_Gym_Text_2068FD: @ 82068FD
+ .string "This is the CONFUSION ROOM.\p"
+ .string "Let me see how well bonded you are\n"
+ .string "with your POKéMON!$"
+
+PetalburgCity_Gym_Text_20694F: @ 820694F
+ .string "I couldn’t confuse your team enough…\n"
+ .string "You share a strong bond together.$"
+
+PetalburgCity_Gym_Text_206996: @ 8206996
+ .string "The next room is the STRENGTH ROOM.\n"
+ .string "Can you withstand brute force?$"
+
+PetalburgCity_Gym_Text_2069D9: @ 82069D9
+ .string "After you beat our LEADER, the\n"
+ .string "training has become a lot tougher.$"
+
+PetalburgCity_Gym_Text_206A1B: @ 8206A1B
+ .string "Just when you think you’re going to\n"
+ .string "win, your opponent restores HP…\p"
+ .string "Can you just imagine how awful that\n"
+ .string "must feel?\p"
+ .string "I’ll show you exactly how awful it\n"
+ .string "feels!$"
+
+PetalburgCity_Gym_Text_206AB8: @ 8206AB8
+ .string "I couldn’t restore HP enough…\n"
+ .string "What ATTACK power…$"
+
+PetalburgCity_Gym_Text_206AE9: @ 8206AE9
+ .string "I should have expected no less from\n"
+ .string "our LEADER’s kid.\p"
+ .string "No, wait! A TRAINER’s abilities are\n"
+ .string "earned only through effort.\p"
+ .string "I lost because my own efforts\n"
+ .string "weren’t enough.\p"
+ .string "Go on! The ONE-HIT KO ROOM is next.$"
+
+PetalburgCity_Gym_Text_206BB1: @ 8206BB1
+ .string "I’m going to keep training at GYMS.\n"
+ .string "One day, I’ll become a LEADER.$"
+
+PetalburgCity_Gym_Text_206BF4: @ 8206BF4
+ .string "I’m not going to take it easy just\n"
+ .string "because you’re our LEADER’s kid.\p"
+ .string "I’ll show you how horrid it is for\n"
+ .string "a POKéMON to take a critical hit!$"
+
+PetalburgCity_Gym_Text_206C7D: @ 8206C7D
+ .string "Your power…\n"
+ .string "You’re the real deal.$"
+
+PetalburgCity_Gym_Text_206C9F: @ 8206C9F
+ .string "Your father really is strong.\n"
+ .string "He’s a TRAINER worth my respect.\p"
+ .string "And, I sense the same glow coming\n"
+ .string "from you as your father.\p"
+ .string "I hope that you’ll stage a terrific\n"
+ .string "battle with your father!$"
+
+PetalburgCity_Gym_Text_206D56: @ 8206D56
+ .string "Since your dad became the LEADER,\n"
+ .string "the TRAINERS of PETALBURG CITY have\l"
+ .string "become a lot tougher.$"
+
+PetalburgCity_Gym_Text_206DB2: @ 8206DB2
+ .string "Giggle…\n"
+ .string "This is the ACCURACY ROOM.\p"
+ .string "It’s pretty nasty when every attack\n"
+ .string "lands without fail.$"
+
+PetalburgCity_Gym_Text_206E0D: @ 8206E0D
+ .string "You were a cut above me…$"
+
+PetalburgCity_Gym_Text_206E26: @ 8206E26
+ .string "There are some even stronger\n"
+ .string "TRAINERS waiting for you.\p"
+ .string "The left is the DEFENSE ROOM, and\n"
+ .string "the right is the RECOVERY ROOM.\p"
+ .string "Your POKéMON’s ATTACK power will be\n"
+ .string "on trial either way.$"
+
+PetalburgCity_Gym_Text_206ED8: @ 8206ED8
+ .string "Do you know what we’re trying to\n"
+ .string "achieve as TRAINERS?\p"
+ .string "We’re striving to become soul mates\n"
+ .string "with our POKéMON.$"
+
+PetalburgCity_Gym_Text_206F44: @ 8206F44
+ .string "The higher the DEFENSE, the more\n"
+ .string "reckless I can be in attack.$"
+
+PetalburgCity_Gym_Text_206F82: @ 8206F82
+ .string "Our defenses weren’t enough…$"
+
+PetalburgCity_Gym_Text_206F9F: @ 8206F9F
+ .string "I think you’ve taught me a valuable\n"
+ .string "lesson here.\p"
+ .string "Now, go on! The left door goes to\n"
+ .string "the STRENGTH ROOM.\p"
+ .string "The right door opens to\n"
+ .string "the ONE-HIT KO ROOM.\p"
+ .string "Both of them have TRAINERS who are\n"
+ .string "skilled at offense.$"
+
+PetalburgCity_Gym_Text_207069: @ 8207069
+ .string "Hi! Have you tried using SURF?$"
+
+PetalburgCity_Gym_Text_207088: @ 8207088
+ .string "Our GYM LEADER told us to go all out\n"
+ .string "and beat you.\p"
+ .string "Even if you happen to be the\n"
+ .string "LEADER’s kid!$"
+
+PetalburgCity_Gym_Text_2070E6: @ 82070E6
+ .string "But… I went all out!$"
+
+PetalburgCity_Gym_Text_2070FB: @ 82070FB
+ .string "The way you use your POKéMON…\n"
+ .string "It’s like your father’s style.\p"
+ .string "Go on through! The GYM LEADER, your\n"
+ .string "father, is waiting!$"
+
+PetalburgCity_Gym_Text_207170: @ 8207170
+ .string "Sure, it’s fine to make your POKéMON\n"
+ .string "stronger.\p"
+ .string "But what decides the winner?\p"
+ .string "Why, it’s the feelings TRAINERS have\n"
+ .string "for their POKéMON.$"
+
+PetalburgCity_Gym_Text_2071F4: @ 82071F4
+ .string "This door appears to be locked\n"
+ .string "right now…$"
+
+PetalburgCity_Gym_Text_20721E: @ 820721E
+ .string "“SPEED ROOM,” the sign says.\p"
+ .string "Do you want to go through?$"
+
+PetalburgCity_Gym_Text_207256: @ 8207256
+ .string "This door appears to be locked\n"
+ .string "right now…$"
+
+PetalburgCity_Gym_Text_207280: @ 8207280
+ .string "“ACCURACY ROOM,” the sign says.\p"
+ .string "Do you want to go through?$"
+
+PetalburgCity_Gym_Text_2072BB: @ 82072BB
+ .string "“CONFUSION ROOM,” the sign says.\p"
+ .string "Do you want to go through?$"
+
+PetalburgCity_Gym_Text_2072F7: @ 82072F7
+ .string "“DEFENSE ROOM,” the sign says.\p"
+ .string "Do you want to go through?$"
+
+PetalburgCity_Gym_Text_207331: @ 8207331
+ .string "“RECOVERY ROOM,” the sign says.\p"
+ .string "Do you want to go through?$"
+
+PetalburgCity_Gym_Text_20736C: @ 820736C
+ .string "“STRENGTH ROOM,” the sign says.\p"
+ .string "Do you want to go through?$"
+
+PetalburgCity_Gym_Text_2073A7: @ 82073A7
+ .string "“ONE-HIT KO ROOM,” the sign says.\p"
+ .string "Do you want to go through?$"
+
+PetalburgCity_Gym_Text_2073E4: @ 82073E4
+ .string "“GYM LEADER’S ROOM\p"
+ .string "“See for yourself what POKéMON await\n"
+ .string "you!” the sign says.\p"
+ .string "Do you want to go through?$"
+
+PetalburgCity_Gym_Text_20744C: @ 820744C
+ .string "PETALBURG CITY POKéMON GYM$"
+
+PetalburgCity_Gym_Text_207467: @ 8207467
+ .string "PETALBURG CITY POKéMON GYM\p"
+ .string "NORMAN’S CERTIFIED TRAINERS:\n"
+ .string "{PLAYER}$"
+
+PetalburgCity_Gym_Text_2074A2: @ 82074A2
+ .string "DAD: {PLAYER}…\n"
+ .string "I had a feeling that you would come.\p"
+ .string "I would never refuse to accept\n"
+ .string "a challenge from you.\p"
+ .string "You do understand, don’t you?\p"
+ .string "Inside a GYM, it doesn’t matter that\n"
+ .string "we are a parent and child.\p"
+ .string "…No, because we are parent and child,\n"
+ .string "we owe it to each other to do the best\l"
+ .string "we can. Isn’t that right, {PLAYER}?$"
+
+PetalburgCity_Gym_Text_2075CE: @ 82075CE
+ .string "Uh… Haha…\n"
+ .string "Maybe that was going too hard…$"
+
+PetalburgCity_Gym_Text_2075F7: @ 82075F7
+ .string "DAD: {PLAYER}…\n"
+ .string "What is your dream?\p"
+ .string "My dream…\n"
+ .string "Hahaha…\l"
+ .string "It has already come true, actually.$"
+
+PetalburgCity_Gym_Text_20764A: @ 820764A
+ .string "DAD: {PLAYER}…\n"
+ .string "I had a feeling that you would come.\p"
+ .string "I would never refuse to accept\n"
+ .string "a challenge from you.\p"
+ .string "You do understand, don’t you?\p"
+ .string "Inside a GYM, it doesn’t matter that\n"
+ .string "we are a parent and child.\p"
+ .string "Hm? Wait a second, {PLAYER}.\p"
+ .string "Do you only have one POKéMON that is\n"
+ .string "capable of battle?\p"
+ .string "Sorry, but you’ll have to come back\n"
+ .string "with at least two POKéMON.$"
+
diff --git a/data/scripts/maps/PetalburgCity_House1.inc b/data/scripts/maps/PetalburgCity_House1.inc
new file mode 100644
index 000000000..f727ec8a1
--- /dev/null
+++ b/data/scripts/maps/PetalburgCity_House1.inc
@@ -0,0 +1,28 @@
+PetalburgCity_House1_MapScripts:: @ 8207799
+ .byte 0
+
+PetalburgCity_House1_EventScript_20779A:: @ 820779A
+ msgbox PetalburgCity_House1_Text_2077AC, 2
+ end
+
+PetalburgCity_House1_EventScript_2077A3:: @ 82077A3
+ msgbox PetalburgCity_House1_Text_2077FB, 2
+ end
+
+PetalburgCity_House1_Text_2077AC: @ 82077AC
+ .string "Traveling is wonderful!\p"
+ .string "When I was young, I roamed the seas\n"
+ .string "and the mountains!$"
+
+PetalburgCity_House1_Text_2077FB: @ 82077FB
+ .string "Sigh…\p"
+ .string "I wish I could go on an adventure\n"
+ .string "with some POKéMON…\p"
+ .string "Crawl through some damp grass…\n"
+ .string "Climb rocky, rugged mountains…\p"
+ .string "Cross the raging seas…\n"
+ .string "Wander about in dark caves…\p"
+ .string "And, sometimes, even get a little\n"
+ .string "homesick…\p"
+ .string "It must be fabulous to travel!$"
+
diff --git a/data/scripts/maps/PetalburgCity_House2.inc b/data/scripts/maps/PetalburgCity_House2.inc
new file mode 100644
index 000000000..44987b3d6
--- /dev/null
+++ b/data/scripts/maps/PetalburgCity_House2.inc
@@ -0,0 +1,24 @@
+PetalburgCity_House2_MapScripts:: @ 82078F2
+ .byte 0
+
+PetalburgCity_House2_EventScript_2078F3:: @ 82078F3
+ msgbox PetalburgCity_House2_Text_207905, 2
+ end
+
+PetalburgCity_House2_EventScript_2078FC:: @ 82078FC
+ msgbox PetalburgCity_House2_Text_207969, 2
+ end
+
+PetalburgCity_House2_Text_207905: @ 8207905
+ .string "NORMAN became our town’s new\n"
+ .string "GYM LEADER.\p"
+ .string "I think he called his family over from\n"
+ .string "somewhere far away.$"
+
+PetalburgCity_House2_Text_207969: @ 8207969
+ .string "I battled NORMAN once, but, whew,\n"
+ .string "he was way too strong.\p"
+ .string "How would I put it?\p"
+ .string "I just got the feeling that he\n"
+ .string "lives for POKéMON.$"
+
diff --git a/data/scripts/maps/PetalburgCity_Mart.inc b/data/scripts/maps/PetalburgCity_Mart.inc
new file mode 100644
index 000000000..665ad3bae
--- /dev/null
+++ b/data/scripts/maps/PetalburgCity_Mart.inc
@@ -0,0 +1,87 @@
+PetalburgCity_Mart_MapScripts:: @ 8207D68
+ .byte 0
+
+PetalburgCity_Mart_EventScript_207D69:: @ 8207D69
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ checkflag FLAG_0x128
+ goto_eq PetalburgCity_Mart_EventScript_207DA6
+ pokemart PetalburgCity_Mart_Pokemart_207D8C
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+PetalburgCity_Mart_Pokemart_207D8C: @ 8207D8C
+ .2byte ITEM_POKE_BALL
+ .2byte ITEM_POTION
+ .2byte ITEM_ANTIDOTE
+ .2byte ITEM_PARALYZE_HEAL
+ .2byte ITEM_AWAKENING
+ .2byte ITEM_ESCAPE_ROPE
+ .2byte ITEM_REPEL
+ .2byte ITEM_X_SPEED
+ .2byte ITEM_X_ATTACK
+ .2byte ITEM_X_DEFEND
+ .2byte ITEM_ORANGE_MAIL
+ .2byte ITEM_NONE
+ release
+ end
+
+PetalburgCity_Mart_EventScript_207DA6:: @ 8207DA6
+ pokemart PetalburgCity_Mart_Pokemart_207DB8
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+PetalburgCity_Mart_Pokemart_207DB8: @ 8207DB8
+ .2byte ITEM_POKE_BALL
+ .2byte ITEM_GREAT_BALL
+ .2byte ITEM_POTION
+ .2byte ITEM_SUPER_POTION
+ .2byte ITEM_ANTIDOTE
+ .2byte ITEM_PARALYZE_HEAL
+ .2byte ITEM_AWAKENING
+ .2byte ITEM_ESCAPE_ROPE
+ .2byte ITEM_REPEL
+ .2byte ITEM_X_SPEED
+ .2byte ITEM_X_ATTACK
+ .2byte ITEM_X_DEFEND
+ .2byte ITEM_ORANGE_MAIL
+ .2byte ITEM_NONE
+ release
+ end
+
+PetalburgCity_Mart_EventScript_207DD6:: @ 8207DD6
+ msgbox PetalburgCity_Mart_Text_207DF1, 2
+ end
+
+PetalburgCity_Mart_EventScript_207DDF:: @ 8207DDF
+ msgbox PetalburgCity_Mart_Text_207E60, 2
+ end
+
+PetalburgCity_Mart_EventScript_207DE8:: @ 8207DE8
+ msgbox PetalburgCity_Mart_Text_207EB0, 2
+ end
+
+PetalburgCity_Mart_Text_207DF1: @ 8207DF1
+ .string "Even if a POKéMON is weak now,\n"
+ .string "it will grow stronger.\p"
+ .string "The most important thing is love!\n"
+ .string "Love for your POKéMON!$"
+
+PetalburgCity_Mart_Text_207E60: @ 8207E60
+ .string "Do you use REPEL?\n"
+ .string "It keeps POKéMON away, so it’s\l"
+ .string "useful when you’re in a hurry.$"
+
+PetalburgCity_Mart_Text_207EB0: @ 8207EB0
+ .string "Do you have any ANTIDOTES with\n"
+ .string "you?\p"
+ .string "If you walk around with a poisoned\n"
+ .string "POKéMON, it will lose HP until it faints.\l"
+ .string "Take some ANTIDOTES with you.$"
+
diff --git a/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc b/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc
new file mode 100644
index 000000000..91ea469de
--- /dev/null
+++ b/data/scripts/maps/PetalburgCity_PokemonCenter_1F.inc
@@ -0,0 +1,98 @@
+PetalburgCity_PokemonCenter_1F_MapScripts:: @ 82079E8
+ map_script 3, PetalburgCity_PokemonCenter_1F_MapScript1_2079F3
+ map_script 5, PetalburgCity_PokemonCenter_1F_MapScript1_277C30
+ .byte 0
+
+PetalburgCity_PokemonCenter_1F_MapScript1_2079F3: @ 82079F3
+ setrespawn 3
+ call PetalburgCity_PokemonCenter_1F_EventScript_2718DE
+ end
+
+PetalburgCity_PokemonCenter_1F_EventScript_2079FC:: @ 82079FC
+ setvar VAR_0x800B, 1
+ call PetalburgCity_PokemonCenter_1F_EventScript_27191E
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+PetalburgCity_PokemonCenter_1F_EventScript_207A0A:: @ 8207A0A
+ msgbox PetalburgCity_PokemonCenter_1F_Text_207A76, 2
+ end
+
+PetalburgCity_PokemonCenter_1F_EventScript_207A13:: @ 8207A13
+ msgbox PetalburgCity_PokemonCenter_1F_Text_207AD6, 2
+ end
+
+PetalburgCity_PokemonCenter_1F_EventScript_207A1C:: @ 8207A1C
+ lock
+ faceplayer
+ msgbox PetalburgCity_PokemonCenter_1F_Text_207B09, 4
+ specialvar VAR_RESULT, sub_81394D8
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq PetalburgCity_PokemonCenter_1F_EventScript_207A38
+ release
+ end
+
+PetalburgCity_PokemonCenter_1F_EventScript_207A38:: @ 8207A38
+ compare_var_to_value VAR_FIRST_POKE, 0
+ call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_207A5B
+ compare_var_to_value VAR_FIRST_POKE, 1
+ call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_207A64
+ compare_var_to_value VAR_FIRST_POKE, 2
+ call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_207A6D
+ release
+ end
+
+PetalburgCity_PokemonCenter_1F_EventScript_207A5B:: @ 8207A5B
+ msgbox PetalburgCity_PokemonCenter_1F_Text_207BB0, 4
+ return
+
+PetalburgCity_PokemonCenter_1F_EventScript_207A64:: @ 8207A64
+ msgbox PetalburgCity_PokemonCenter_1F_Text_207C35, 4
+ return
+
+PetalburgCity_PokemonCenter_1F_EventScript_207A6D:: @ 8207A6D
+ msgbox PetalburgCity_PokemonCenter_1F_Text_207CB7, 4
+ return
+
+PetalburgCity_PokemonCenter_1F_Text_207A76: @ 8207A76
+ .string "That PC-based POKéMON Storage\n"
+ .string "System…\p"
+ .string "Whoever made it must be some kind\n"
+ .string "of a scientific wizard!$"
+
+PetalburgCity_PokemonCenter_1F_Text_207AD6: @ 8207AD6
+ .string "When my POKéMON ate an\n"
+ .string "ORAN BERRY, it regained HP!$"
+
+PetalburgCity_PokemonCenter_1F_Text_207B09: @ 8207B09
+ .string "There are many types of POKéMON.\p"
+ .string "All types have their strengths and\n"
+ .string "weaknesses against other types.\p"
+ .string "Depending on the types of POKéMON,\n"
+ .string "a battle could be easy or hard.$"
+
+PetalburgCity_PokemonCenter_1F_Text_207BB0: @ 8207BB0
+ .string "For example, your TREECKO\n"
+ .string "is a GRASS type.\p"
+ .string "It’s strong against the WATER and\n"
+ .string "GROUND types.\p"
+ .string "But, it’s weak against FIRE-type\n"
+ .string "POKéMON.$"
+
+PetalburgCity_PokemonCenter_1F_Text_207C35: @ 8207C35
+ .string "For example, your TORCHIC\n"
+ .string "is a FIRE type.\p"
+ .string "It’s strong against the GRASS and\n"
+ .string "BUG types.\p"
+ .string "But, it’s weak against WATER-type\n"
+ .string "POKéMON.$"
+
+PetalburgCity_PokemonCenter_1F_Text_207CB7: @ 8207CB7
+ .string "For example, your MUDKIP\n"
+ .string "is a WATER type.\p"
+ .string "It’s strong against the FIRE type.\p"
+ .string "But, it’s weak against GRASS-type\n"
+ .string "and ELECTRIC-type POKéMON.$"
+
diff --git a/data/scripts/maps/PetalburgCity_PokemonCenter_2F.inc b/data/scripts/maps/PetalburgCity_PokemonCenter_2F.inc
new file mode 100644
index 000000000..38d01972a
--- /dev/null
+++ b/data/scripts/maps/PetalburgCity_PokemonCenter_2F.inc
@@ -0,0 +1,19 @@
+PetalburgCity_PokemonCenter_2F_MapScripts:: @ 8207D41
+ map_script 2, PetalburgCity_PokemonCenter_2F_MapScript2_276C3B
+ map_script 4, PetalburgCity_PokemonCenter_2F_MapScript2_276B6C
+ map_script 1, PetalburgCity_PokemonCenter_2F_MapScript1_276BBE
+ map_script 3, PetalburgCity_PokemonCenter_2F_MapScript1_276ACF
+ .byte 0
+
+PetalburgCity_PokemonCenter_2F_EventScript_207D56:: @ 8207D56
+ call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+ end
+
+PetalburgCity_PokemonCenter_2F_EventScript_207D5C:: @ 8207D5C
+ call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+ end
+
+PetalburgCity_PokemonCenter_2F_EventScript_207D62:: @ 8207D62
+ call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+ end
+
diff --git a/data/scripts/maps/PetalburgCity_WallysHouse.inc b/data/scripts/maps/PetalburgCity_WallysHouse.inc
new file mode 100644
index 000000000..e64bd57b1
--- /dev/null
+++ b/data/scripts/maps/PetalburgCity_WallysHouse.inc
@@ -0,0 +1,139 @@
+PetalburgCity_WallysHouse_MapScripts:: @ 8204229
+ map_script 2, PetalburgCity_WallysHouse_MapScript2_204247
+ map_script 4, PetalburgCity_WallysHouse_MapScript2_204234
+ .byte 0
+
+PetalburgCity_WallysHouse_MapScript2_204234: @ 8204234
+ map_script_2 VAR_0x4057, 4, PetalburgCity_WallysHouse_EventScript_20423E
+ .2byte 0
+
+PetalburgCity_WallysHouse_EventScript_20423E:: @ 820423E
+ turnobject 255, 4
+ turnobject 1, 3
+ end
+
+PetalburgCity_WallysHouse_MapScript2_204247: @ 8204247
+ map_script_2 VAR_0x4057, 4, PetalburgCity_WallysHouse_EventScript_204251
+ .2byte 0
+
+PetalburgCity_WallysHouse_EventScript_204251:: @ 8204251
+ lockall
+ msgbox PetalburgCity_WallysHouse_Text_20446E, 4
+ giveitem_std ITEM_HM03
+ setflag FLAG_0x07A
+ msgbox PetalburgCity_WallysHouse_Text_20461A, 4
+ setvar VAR_0x4057, 5
+ releaseall
+ end
+
+PetalburgCity_WallysHouse_EventScript_204278:: @ 8204278
+ lock
+ faceplayer
+ checkflag FLAG_0x07E
+ goto_eq PetalburgCity_WallysHouse_EventScript_2042AC
+ checkflag FLAG_0x07A
+ goto_eq PetalburgCity_WallysHouse_EventScript_2042A2
+ checkflag FLAG_0x087
+ goto_eq PetalburgCity_WallysHouse_EventScript_2042B6
+ msgbox PetalburgCity_WallysHouse_Text_2042DF, 4
+ setflag FLAG_0x087
+ release
+ end
+
+PetalburgCity_WallysHouse_EventScript_2042A2:: @ 82042A2
+ msgbox PetalburgCity_WallysHouse_Text_204661, 4
+ release
+ end
+
+PetalburgCity_WallysHouse_EventScript_2042AC:: @ 82042AC
+ msgbox PetalburgCity_WallysHouse_Text_204698, 4
+ release
+ end
+
+PetalburgCity_WallysHouse_EventScript_2042B6:: @ 82042B6
+ msgbox PetalburgCity_WallysHouse_Text_20444D, 4
+ release
+ end
+
+PetalburgCity_WallysHouse_EventScript_2042C0:: @ 82042C0
+ lock
+ faceplayer
+ checkflag FLAG_0x07A
+ goto_eq PetalburgCity_WallysHouse_EventScript_2042D5
+ msgbox PetalburgCity_WallysHouse_Text_204732, 4
+ release
+ end
+
+PetalburgCity_WallysHouse_EventScript_2042D5:: @ 82042D5
+ msgbox PetalburgCity_WallysHouse_Text_2047A7, 4
+ release
+ end
+
+PetalburgCity_WallysHouse_Text_2042DF: @ 82042DF
+ .string "You’re…\n"
+ .string "Ah, you must be {PLAYER}{KUN}, right?\p"
+ .string "Thank you for playing with WALLY a\n"
+ .string "little while ago.\p"
+ .string "He’s been frail and sickly ever\n"
+ .string "since he was a baby.\p"
+ .string "We’ve sent him to stay with my relatives\n"
+ .string "in VERDANTURF TOWN for a while.\p"
+ .string "The air is a lot cleaner there\n"
+ .string "than it is here.\p"
+ .string "What’s that? Where’s WALLY?\n"
+ .string "He’s already left, our WALLY.\p"
+ .string "I wonder where he could have\n"
+ .string "gotten by now?$"
+
+PetalburgCity_WallysHouse_Text_20444D: @ 820444D
+ .string "I wonder how our WALLY is doing?$"
+
+PetalburgCity_WallysHouse_Text_20446E: @ 820446E
+ .string "{PLAYER}{KUN}! Please excuse us for\n"
+ .string "dragging you here this way.\p"
+ .string "But our WALLY’s become very healthy\n"
+ .string "since he went to VERDANTURF TOWN.\p"
+ .string "We owe it all to you!\p"
+ .string "When WALLY left town, you helped\n"
+ .string "him catch a POKéMON, right?\p"
+ .string "I think that made WALLY really\n"
+ .string "happy.\p"
+ .string "Actually, not just WALLY.\n"
+ .string "It made me, his father, happy too.\p"
+ .string "Happy that he’s gained such a great\n"
+ .string "friend as you.\p"
+ .string "This isn’t a bribe or anything, but\n"
+ .string "I’d really like you to have this.$"
+
+PetalburgCity_WallysHouse_Text_20461A: @ 820461A
+ .string "If your POKéMON can SURF, you’ll be\n"
+ .string "able to go to all sorts of places.$"
+
+PetalburgCity_WallysHouse_Text_204661: @ 8204661
+ .string "WALLY’s coming home soon.\n"
+ .string "I’m looking forward to that.$"
+
+PetalburgCity_WallysHouse_Text_204698: @ 8204698
+ .string "Oh? You met WALLY in\n"
+ .string "EVER GRANDE CITY?\p"
+ .string "Oh, {PLAYER}{KUN}, don’t be silly.\p"
+ .string "He may have gotten healthy, but he\n"
+ .string "can’t go somewhere far away like\l"
+ .string "that all by himself.$"
+
+PetalburgCity_WallysHouse_Text_204732: @ 8204732
+ .string "WALLY was really happy when he told\n"
+ .string "us that he caught a POKéMON.\p"
+ .string "It’s been ages since I’ve seen him\n"
+ .string "smile like that.$"
+
+PetalburgCity_WallysHouse_Text_2047A7: @ 82047A7
+ .string "I want you to keep this a secret\n"
+ .string "from my husband…\p"
+ .string "But our WALLY left VERDANTURF TOWN\n"
+ .string "without telling anyone.\p"
+ .string "You know, WALLY is frail, but\n"
+ .string "he’s surprisingly strong-willed.\p"
+ .string "I’m sure that he’ll come back safe\n"
+ .string "and sound one day!$"
+
diff --git a/data/scripts/maps/PetalburgWoods.inc b/data/scripts/maps/PetalburgWoods.inc
new file mode 100644
index 000000000..a6b018134
--- /dev/null
+++ b/data/scripts/maps/PetalburgWoods.inc
@@ -0,0 +1,486 @@
+PetalburgWoods_MapScripts:: @ 822DFD6
+ .byte 0
+
+PetalburgWoods_EventScript_22DFD7:: @ 822DFD7
+ lockall
+ call PetalburgWoods_EventScript_22E124
+ applymovement 4, PetalburgWoods_Movement_22E1CB
+ waitmovement 0
+ msgbox PetalburgWoods_Text_22E34F, 4
+ closemessage
+ playbgm BGM_AQA_0, 0
+ applymovement 3, PetalburgWoods_Movement_22E209
+ waitmovement 0
+ msgbox PetalburgWoods_Text_22E3AA, 4
+ closemessage
+ applymovement 3, PetalburgWoods_Movement_22E1F6
+ waitmovement 0
+ applymovement 4, PetalburgWoods_Movement_2725A6
+ waitmovement 0
+ msgbox PetalburgWoods_Text_22E428, 4
+ closemessage
+ applymovement 4, PetalburgWoods_Movement_22E1E4
+ waitmovement 0
+ msgbox PetalburgWoods_Text_22E457, 4
+ closemessage
+ applymovement 3, PetalburgWoods_Movement_22E20E
+ waitmovement 0
+ msgbox PetalburgWoods_Text_22E4A5, 4
+ trainerbattle 3, TRAINER_GRUNT_8, 0, PetalburgWoods_Text_22E542
+ applymovement 3, PetalburgWoods_Movement_22E1F9
+ waitmovement 0
+ call PetalburgWoods_EventScript_22E138
+ applymovement 255, PetalburgWoods_Movement_22E1E0
+ applymovement 4, PetalburgWoods_Movement_22E1C2
+ waitmovement 0
+ goto PetalburgWoods_EventScript_22E1A7
+ end
+
+PetalburgWoods_EventScript_22E079:: @ 822E079
+ lockall
+ call PetalburgWoods_EventScript_22E124
+ applymovement 4, PetalburgWoods_Movement_22E1D0
+ waitmovement 0
+ applymovement 255, PetalburgWoods_Movement_2725A4
+ waitmovement 0
+ msgbox PetalburgWoods_Text_22E34F, 4
+ closemessage
+ playbgm BGM_AQA_0, 0
+ applymovement 3, PetalburgWoods_Movement_22E209
+ waitmovement 0
+ msgbox PetalburgWoods_Text_22E3AA, 4
+ closemessage
+ applymovement 3, PetalburgWoods_Movement_22E205
+ waitmovement 0
+ applymovement 4, PetalburgWoods_Movement_2725A6
+ waitmovement 0
+ msgbox PetalburgWoods_Text_22E428, 4
+ closemessage
+ applymovement 4, PetalburgWoods_Movement_22E1EA
+ waitmovement 0
+ msgbox PetalburgWoods_Text_22E457, 4
+ applymovement 255, PetalburgWoods_Movement_2725A6
+ waitmovement 0
+ msgbox PetalburgWoods_Text_22E4A5, 4
+ trainerbattle 3, TRAINER_GRUNT_8, 0, PetalburgWoods_Text_22E542
+ applymovement 3, PetalburgWoods_Movement_22E1F9
+ waitmovement 0
+ call PetalburgWoods_EventScript_22E138
+ applymovement 255, PetalburgWoods_Movement_22E1E0
+ applymovement 4, PetalburgWoods_Movement_22E1D7
+ waitmovement 0
+ goto PetalburgWoods_EventScript_22E1A7
+ end
+
+PetalburgWoods_EventScript_22E124:: @ 822E124
+ applymovement 4, PetalburgWoods_Movement_22E1B1
+ waitmovement 0
+ msgbox PetalburgWoods_Text_22E332, 4
+ closemessage
+ return
+
+PetalburgWoods_EventScript_22E138:: @ 822E138
+ msgbox PetalburgWoods_Text_22E563, 4
+ closemessage
+ applymovement 3, PetalburgWoods_Movement_22E1FD
+ waitmovement 0
+ removeobject 3
+ applymovement 255, PetalburgWoods_Movement_2725AA
+ waitmovement 0
+ msgbox PetalburgWoods_Text_22E63D, 4
+ giveitem_std ITEM_GREAT_BALL
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PetalburgWoods_EventScript_22E17D
+ goto PetalburgWoods_EventScript_22E18B
+ end
+
+PetalburgWoods_EventScript_22E17D:: @ 822E17D
+ msgbox PetalburgWoods_Text_22E741, 4
+ goto PetalburgWoods_EventScript_22E18B
+ end
+
+PetalburgWoods_EventScript_22E18B:: @ 822E18B
+ msgbox PetalburgWoods_Text_22E6C7, 4
+ applymovement 4, PetalburgWoods_Movement_22E1EE
+ waitmovement 0
+ msgbox PetalburgWoods_Text_22E712, 4
+ closemessage
+ return
+
+PetalburgWoods_EventScript_22E1A7:: @ 822E1A7
+ removeobject 4
+ setvar VAR_0x4098, 1
+ releaseall
+ end
+
+PetalburgWoods_Movement_22E1B1: @ 822E1B1
+ step_01
+ step_14
+ step_12
+ step_03
+ step_14
+ step_13
+ step_02
+ step_14
+ step_13
+ step_00
+ step_14
+ step_03
+ step_14
+ step_13
+ step_01
+ step_14
+ step_end
+
+PetalburgWoods_Movement_22E1C2: @ 822E1C2
+ step_18
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_end
+
+PetalburgWoods_Movement_22E1CB: @ 822E1CB
+ step_14
+ step_3e
+ step_down
+ step_down
+ step_end
+
+PetalburgWoods_Movement_22E1D0: @ 822E1D0
+ step_14
+ step_3e
+ step_down
+ step_down
+ step_down
+ step_28
+ step_end
+
+PetalburgWoods_Movement_22E1D7: @ 822E1D7
+ step_17
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_end
+
+PetalburgWoods_Movement_22E1E0: @ 822E1E0
+ step_14
+ step_14
+ step_26
+ step_end
+
+PetalburgWoods_Movement_22E1E4: @ 822E1E4
+ step_18
+ step_15
+ step_15
+ step_17
+ step_26
+ step_end
+
+PetalburgWoods_Movement_22E1EA: @ 822E1EA
+ step_15
+ step_18
+ step_26
+ step_end
+
+PetalburgWoods_Movement_22E1EE: @ 822E1EE
+ step_25
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_01
+ step_end
+
+PetalburgWoods_Movement_22E1F6: @ 822E1F6
+ step_15
+ step_15
+ step_end
+
+PetalburgWoods_Movement_22E1F9: @ 822E1F9
+ step_40
+ step_up
+ step_41
+ step_end
+
+PetalburgWoods_Movement_22E1FD: @ 822E1FD
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_14
+ step_14
+ step_end
+
+PetalburgWoods_Movement_22E205: @ 822E205
+ step_15
+ step_15
+ step_15
+ step_end
+
+PetalburgWoods_Movement_22E209: @ 822E209
+ step_down
+ step_down
+ step_14
+ step_14
+ step_end
+
+PetalburgWoods_Movement_22E20E: @ 822E20E
+ step_down
+ step_end
+
+PetalburgWoods_EventScript_22E210:: @ 822E210
+ msgbox PetalburgWoods_Text_22EA0C, 2
+ end
+
+PetalburgWoods_EventScript_22E219:: @ 822E219
+ msgbox PetalburgWoods_Text_22EA8B, 2
+ end
+
+PetalburgWoods_EventScript_22E222:: @ 822E222
+ lock
+ faceplayer
+ checkflag FLAG_0x129
+ goto_eq PetalburgWoods_EventScript_22E251
+ msgbox PetalburgWoods_Text_22EAFE, 4
+ giveitem_std ITEM_MIRACLE_SEED
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PetalburgWoods_EventScript_272054
+ setflag FLAG_0x129
+ release
+ end
+
+PetalburgWoods_EventScript_22E251:: @ 822E251
+ msgbox PetalburgWoods_Text_22EB63, 4
+ release
+ end
+
+PetalburgWoods_EventScript_22E25B:: @ 822E25B
+ msgbox PetalburgWoods_Text_22EC10, 3
+ end
+
+PetalburgWoods_EventScript_22E264:: @ 822E264
+ msgbox PetalburgWoods_Text_22ED07, 3
+ end
+
+PetalburgWoods_EventScript_22E26D:: @ 822E26D
+ trainerbattle 0, TRAINER_LYLE, 0, PetalburgWoods_Text_22E77D, PetalburgWoods_Text_22E7C1
+ msgbox PetalburgWoods_Text_22E7EF, 6
+ end
+
+PetalburgWoods_EventScript_22E284:: @ 822E284
+ trainerbattle 2, TRAINER_JAMES_1, 0, PetalburgWoods_Text_22E827, PetalburgWoods_Text_22E86B, PetalburgWoods_EventScript_22E2C5
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq PetalburgWoods_EventScript_22E31B
+ setvar VAR_0x8004, 621
+ specialvar VAR_RESULT, sub_813B4E0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PetalburgWoods_EventScript_22E2EF
+ msgbox PetalburgWoods_Text_22E889, 4
+ release
+ end
+
+PetalburgWoods_EventScript_22E2C5:: @ 822E2C5
+ special sub_80B4808
+ waitmovement 0
+ checkflag FLAG_0x12F
+ goto_eq PetalburgWoods_EventScript_22E2D6
+ release
+ end
+
+PetalburgWoods_EventScript_22E2D6:: @ 822E2D6
+ msgbox PetalburgWoods_Text_22E8C3, 4
+ setvar VAR_0x8004, 621
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 621
+ callstd 8
+ release
+ end
+
+PetalburgWoods_EventScript_22E2EF:: @ 822E2EF
+ checkflag FLAG_0x12F
+ goto_eq PetalburgWoods_EventScript_22E302
+ msgbox PetalburgWoods_Text_22E889, 4
+ release
+ end
+
+PetalburgWoods_EventScript_22E302:: @ 822E302
+ msgbox PetalburgWoods_Text_22E914, 4
+ setvar VAR_0x8004, 621
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 621
+ callstd 8
+ release
+ end
+
+PetalburgWoods_EventScript_22E31B:: @ 822E31B
+ trainerbattle 5, TRAINER_JAMES_1, 0, PetalburgWoods_Text_22E966, PetalburgWoods_Text_22E998
+ msgbox PetalburgWoods_Text_22E9B6, 6
+ end
+
+PetalburgWoods_Text_22E332: @ 822E332
+ .string "Hmmm…\n"
+ .string "Not a one to be found…$"
+
+PetalburgWoods_Text_22E34F: @ 822E34F
+ .string "Hello, have you seen any POKéMON\n"
+ .string "called SHROOMISH around here?\p"
+ .string "I really love that POKéMON.$"
+
+PetalburgWoods_Text_22E3AA: @ 822E3AA
+ .string "I was going to ambush you, but you\n"
+ .string "had to dawdle in PETALBURG WOODS\l"
+ .string "forever, didn’t you?\p"
+ .string "I got sick of waiting, so here I am!$"
+
+PetalburgWoods_Text_22E428: @ 822E428
+ .string "You! DEVON RESEARCHER!\p"
+ .string "Hand over those papers!$"
+
+PetalburgWoods_Text_22E457: @ 822E457
+ .string "Aiyeeeh!\p"
+ .string "You’re a POKéMON TRAINER, aren’t you?\n"
+ .string "You’ve got to help me, please!$"
+
+PetalburgWoods_Text_22E4A5: @ 822E4A5
+ .string "Hunh? What do you think you’re doing?\n"
+ .string "What, you’re going to protect him?\p"
+ .string "No one who crosses TEAM AQUA\n"
+ .string "gets any mercy, not even a kid!\p"
+ .string "Come on and battle me!$"
+
+PetalburgWoods_Text_22E542: @ 822E542
+ .string "You’re kidding me! You’re tough!$"
+
+PetalburgWoods_Text_22E563: @ 822E563
+ .string "Grrr… You’ve got some nerve\n"
+ .string "meddling with TEAM AQUA!\l"
+ .string "Come on and battle me again!\p"
+ .string "I wish I could say that, but I’m out of\n"
+ .string "POKéMON…\p"
+ .string "And, hey, we of TEAM AQUA are also\n"
+ .string "after something in RUSTBORO.\p"
+ .string "I’ll let you go today!$"
+
+PetalburgWoods_Text_22E63D: @ 822E63D
+ .string "Whew…\n"
+ .string "That was awfully close!\p"
+ .string "Thanks to you, he didn’t rob me of\n"
+ .string "these important papers.\p"
+ .string "I know, I’ll give you a GREAT BALL as\n"
+ .string "my thanks!$"
+
+PetalburgWoods_Text_22E6C7: @ 822E6C7
+ .string "Didn’t that TEAM AQUA thug say\n"
+ .string "they were after something in\l"
+ .string "RUSTBORO, too?$"
+
+PetalburgWoods_Text_22E712: @ 822E712
+ .string "Uh-oh! It’s a crisis!\n"
+ .string "I can’t be wasting time!$"
+
+PetalburgWoods_Text_22E741: @ 822E741
+ .string "You’re loaded with items.\n"
+ .string "I can’t give you this GREAT BALL.$"
+
+PetalburgWoods_Text_22E77D: @ 822E77D
+ .string "I caught a whole bunch of POKéMON!\p"
+ .string "Go, go, go!\n"
+ .string "My BUG POKéMON team!$"
+
+PetalburgWoods_Text_22E7C1: @ 822E7C1
+ .string "I have all these POKéMON,\n"
+ .string "but I couldn’t win…$"
+
+PetalburgWoods_Text_22E7EF: @ 822E7EF
+ .string "I caught a bunch of POKéMON.\n"
+ .string "Now I’m out of POKé BALLS.$"
+
+PetalburgWoods_Text_22E827: @ 822E827
+ .string "If you take BUG POKéMON to school,\n"
+ .string "you get to be instantly popular!$"
+
+PetalburgWoods_Text_22E86B: @ 822E86B
+ .string "I can’t be popular if I lose.$"
+
+PetalburgWoods_Text_22E889: @ 822E889
+ .string "If you have a big BUG POKéMON,\n"
+ .string "people respect you for it.$"
+
+PetalburgWoods_Text_22E8C3: @ 822E8C3
+ .string "I want a rematch when my BUG\n"
+ .string "POKéMON grow up!\p"
+ .string "I’m registering you in my POKéNAV!$"
+
+PetalburgWoods_Text_22E914: @ 822E914
+ .string "I want a rematch when my BUG \n"
+ .string "POKéMON grow up!\p"
+ .string "I’m registering you in my POKéNAV!$"
+
+PetalburgWoods_Text_22E966: @ 822E966
+ .string "My BUG POKéMON have grown.\n"
+ .string "I’ll be popular again.$"
+
+PetalburgWoods_Text_22E998: @ 822E998
+ .string "I can’t be popular if I lose.$"
+
+PetalburgWoods_Text_22E9B6: @ 822E9B6
+ .string "You get to be popular if you have\n"
+ .string "strong POKéMON, right?\l"
+ .string "So, I’ve been training hard.$"
+
+PetalburgWoods_Text_22EA0C: @ 822EA0C
+ .string "Yo, there!\n"
+ .string "Your POKéMON doing okay?\p"
+ .string "If your POKéMON are weak and you want\n"
+ .string "to avoid battles, you should stay out\l"
+ .string "of tall grass.$"
+
+PetalburgWoods_Text_22EA8B: @ 822EA8B
+ .string "Sometimes, there are things on the\n"
+ .string "ground even if you can’t see them.\p"
+ .string "That’s why I always check where I’m\n"
+ .string "walking.$"
+
+PetalburgWoods_Text_22EAFE: @ 822EAFE
+ .string "Oh, neat!\n"
+ .string "That’s the BADGE from RUSTBORO GYM!\p"
+ .string "You must be a TRAINER.\n"
+ .string "You should try using this item.$"
+
+PetalburgWoods_Text_22EB63: @ 822EB63
+ .string "It’s a MIRACLE SEED.\n"
+ .string "If a POKéMON holds that item, its\l"
+ .string "GRASS-type moves become stronger.\p"
+ .string "Besides MIRACLE SEED, I think there are\n"
+ .string "other convenient items for POKéMON\l"
+ .string "to hold.$"
+
+PetalburgWoods_Text_22EC10: @ 822EC10
+ .string "TRAINER TIPS\p"
+ .string "Any POKéMON that appears even once\n"
+ .string "in a battle is awarded EXP Points.\p"
+ .string "To raise a weak POKéMON, put it at the\n"
+ .string "left of the team list.\p"
+ .string "As soon as a battle starts, switch it\n"
+ .string "out. It will earn EXP Points without\l"
+ .string "being exposed to any harm.$"
+
+PetalburgWoods_Text_22ED07: @ 822ED07
+ .string "TRAINER TIPS\p"
+ .string "In addition to Hit Points (HP), POKéMON\n"
+ .string "have Power Points (PP) that are used to\l"
+ .string "make moves during battle.\p"
+ .string "If a POKéMON runs out of PP, it must be\n"
+ .string "taken to a POKéMON CENTER.$"
+
diff --git a/data/scripts/maps/RecordCorner.inc b/data/scripts/maps/RecordCorner.inc
new file mode 100644
index 000000000..4f342b860
--- /dev/null
+++ b/data/scripts/maps/RecordCorner.inc
@@ -0,0 +1,3 @@
+RecordCorner_MapScripts:: @ 823B77F
+ .byte 0
+
diff --git a/data/scripts/maps/Route101.inc b/data/scripts/maps/Route101.inc
new file mode 100644
index 000000000..27c83f3d0
--- /dev/null
+++ b/data/scripts/maps/Route101.inc
@@ -0,0 +1,301 @@
+Route101_MapScripts:: @ 81EBCBA
+ map_script 3, Route101_MapScript1_1EBCC5
+ map_script 2, Route101_MapScript2_1EBCCB
+ .byte 0
+
+Route101_MapScript1_1EBCC5: @ 81EBCC5
+ call Route101_EventScript_2720AD
+ end
+
+Route101_MapScript2_1EBCCB: @ 81EBCCB
+ map_script_2 VAR_0x4060, 0, Route101_EventScript_1EBCD5
+ .2byte 0
+
+Route101_EventScript_1EBCD5:: @ 81EBCD5
+ setflag FLAG_SPECIAL_FLAG_0x4000
+ setvar VAR_0x4060, 1
+ end
+
+Route101_EventScript_1EBCDE:: @ 81EBCDE
+ lockall
+ playbgm BGM_EVENT0, 1
+ msgbox Route101_Text_1EBE8F, 4
+ closemessage
+ setobjectxy 2, 0, 15
+ setobjectxy 4, 0, 16
+ applymovement 255, Route101_Movement_1EBDC2
+ applymovement 2, Route101_Movement_1EBDE7
+ applymovement 4, Route101_Movement_1EBDB5
+ waitmovement 0
+ applymovement 4, Route101_Movement_1EBD96
+ applymovement 2, Route101_Movement_1EBDC8
+ waitmovement 0
+ applymovement 2, Route101_Movement_2725A8
+ waitmovement 0
+ applymovement 4, Route101_Movement_1EBDBD
+ applymovement 2, Route101_Movement_1EBDEF
+ waitmovement 0
+ msgbox Route101_Text_1EBE9A, 4
+ closemessage
+ setvar VAR_0x4060, 2
+ releaseall
+ end
+
+Route101_EventScript_1EBD4E:: @ 81EBD4E
+ lockall
+ msgbox Route101_Text_1EBEDF, 4
+ closemessage
+ applymovement 255, Route101_Movement_1EBD90
+ waitmovement 0
+ releaseall
+ end
+
+Route101_EventScript_1EBD64:: @ 81EBD64
+ lockall
+ msgbox Route101_Text_1EBEDF, 4
+ closemessage
+ applymovement 255, Route101_Movement_1EBD92
+ waitmovement 0
+ releaseall
+ end
+
+Route101_EventScript_1EBD7A:: @ 81EBD7A
+ lockall
+ msgbox Route101_Text_1EBEDF, 4
+ closemessage
+ applymovement 255, Route101_Movement_1EBD94
+ waitmovement 0
+ releaseall
+ end
+
+Route101_Movement_1EBD90: @ 81EBD90
+ step_up
+ step_end
+
+Route101_Movement_1EBD92: @ 81EBD92
+ step_right
+ step_end
+
+Route101_Movement_1EBD94: @ 81EBD94
+ step_down
+ step_end
+
+Route101_Movement_1EBD96: @ 81EBD96
+ step_16
+ step_16
+ step_16
+ step_18
+ step_18
+ step_18
+ step_15
+ step_15
+ step_17
+ step_17
+ step_17
+ step_16
+ step_16
+ step_18
+ step_18
+ step_18
+ step_15
+ step_15
+ step_17
+ step_17
+ step_17
+ step_16
+ step_16
+ step_18
+ step_18
+ step_18
+ step_15
+ step_15
+ step_17
+ step_17
+ step_end
+
+Route101_Movement_1EBDB5: @ 81EBDB5
+ step_16
+ step_18
+ step_18
+ step_18
+ step_18
+ step_16
+ step_end
+
+Route101_Movement_1EBDBC: @ 81EBDBC
+ step_end
+
+Route101_Movement_1EBDBD: @ 81EBDBD
+ step_23
+ step_23
+ step_23
+ step_23
+ step_end
+
+Route101_Movement_1EBDC2: @ 81EBDC2
+ step_16
+ step_16
+ step_16
+ step_16
+ step_27
+ step_end
+
+Route101_Movement_1EBDC8: @ 81EBDC8
+ step_16
+ step_16
+ step_18
+ step_18
+ step_18
+ step_15
+ step_15
+ step_17
+ step_17
+ step_17
+ step_16
+ step_16
+ step_18
+ step_18
+ step_18
+ step_15
+ step_15
+ step_17
+ step_17
+ step_17
+ step_16
+ step_16
+ step_18
+ step_18
+ step_18
+ step_15
+ step_15
+ step_17
+ step_17
+ step_17
+ step_end
+
+Route101_Movement_1EBDE7: @ 81EBDE7
+ step_18
+ step_18
+ step_18
+ step_18
+ step_16
+ step_16
+ step_end
+
+Route101_Movement_1EBDEE: @ 81EBDEE
+ step_end
+
+Route101_Movement_1EBDEF: @ 81EBDEF
+ step_24
+ step_24
+ step_24
+ step_24
+ step_end
+
+Route101_Movement_1EBDF4: @ 81EBDF4
+ step_up
+ step_up
+ step_end
+
+Route101_Movement_1EBDF7: @ 81EBDF7
+ step_up
+ step_left
+ step_up
+ step_end
+
+Route101_EventScript_1EBDFB:: @ 81EBDFB
+ msgbox Route101_Text_1EBFDD, 2
+ end
+
+Route101_EventScript_1EBE04:: @ 81EBE04
+ msgbox Route101_Text_1EC04A, 2
+ end
+
+Route101_EventScript_1EBE0D:: @ 81EBE0D
+ msgbox Route101_Text_1EC0C8, 3
+ end
+
+Route101_EventScript_1EBE16:: @ 81EBE16
+ lock
+ faceplayer
+ setflag FLAG_SYS_POKEMON_GET
+ setflag FLAG_0x052
+ fadescreen 1
+ removeobject 4
+ setobjectxy 255, 6, 13
+ applymovement 255, Route101_Movement_2725A4
+ waitmovement 0
+ special sub_80B1138
+ waitstate
+ applymovement 2, Route101_Movement_1EBE8D
+ waitmovement 0
+ msgbox Route101_Text_1EBF12, 4
+ special sp000_heal_pokemon
+ setflag FLAG_0x2D0
+ clearflag FLAG_0x2D1
+ setflag FLAG_0x2BC
+ setvar VAR_0x4084, 2
+ setvar VAR_0x4060, 3
+ clearflag FLAG_SPECIAL_FLAG_0x4000
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, Route101_EventScript_1EBE85
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, Route101_EventScript_1EBE89
+ warp LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB, 255, 6, 5
+ waitstate
+ release
+ end
+
+Route101_EventScript_1EBE85:: @ 81EBE85
+ setflag FLAG_0x2D2
+ return
+
+Route101_EventScript_1EBE89:: @ 81EBE89
+ setflag FLAG_0x2F8
+ return
+
+Route101_Movement_1EBE8D: @ 81EBE8D
+ step_right
+ step_end
+
+Route101_Text_1EBE8F: @ 81EBE8F
+ .string "H-help me!$"
+
+Route101_Text_1EBE9A: @ 81EBE9A
+ .string "Hello! You over there!\n"
+ .string "Please! Help!\p"
+ .string "In my BAG!\n"
+ .string "There’s a POKé BALL!$"
+
+Route101_Text_1EBEDF: @ 81EBEDF
+ .string "Wh-Where are you going?!\n"
+ .string "Don’t leave me like this!$"
+
+Route101_Text_1EBF12: @ 81EBF12
+ .string "PROF. BIRCH: Whew…\p"
+ .string "I was in the tall grass studying wild\n"
+ .string "POKéMON when I was jumped.\p"
+ .string "You saved me.\n"
+ .string "Thanks a lot!\p"
+ .string "Oh?\p"
+ .string "Hi, you’re {PLAYER}{KUN}!\p"
+ .string "This is not the place to chat, so come\n"
+ .string "by my POKéMON LAB later, okay?$"
+
+Route101_Text_1EBFDD: @ 81EBFDD
+ .string "If POKéMON get tired, take them to\n"
+ .string "a POKéMON CENTER.\p"
+ .string "There’s a POKéMON CENTER in OLDALE\n"
+ .string "TOWN right close by.$"
+
+Route101_Text_1EC04A: @ 81EC04A
+ .string "Wild POKéMON will jump out at you in\n"
+ .string "tall grass.\p"
+ .string "If you want to catch POKéMON, you have\n"
+ .string "to go into the tall grass and search.$"
+
+Route101_Text_1EC0C8: @ 81EC0C8
+ .string "ROUTE 101\n"
+ .string "{0x79} OLDALE TOWN$"
+
diff --git a/data/scripts/maps/Route102.inc b/data/scripts/maps/Route102.inc
new file mode 100644
index 000000000..00c8c309f
--- /dev/null
+++ b/data/scripts/maps/Route102.inc
@@ -0,0 +1,119 @@
+Route102_MapScripts:: @ 81EC0E0
+ .byte 0
+
+Route102_EventScript_1EC0E1:: @ 81EC0E1
+ msgbox Route102_Text_1EC2C0, 2
+ end
+
+Route102_EventScript_1EC0EA:: @ 81EC0EA
+ msgbox Route102_Text_1EC35B, 3
+ end
+
+Route102_EventScript_1EC0F3:: @ 81EC0F3
+ msgbox Route102_Text_1EC373, 3
+ end
+
+Route102_EventScript_1EC0FC:: @ 81EC0FC
+ msgbox Route102_Text_1EC32E, 2
+ end
+
+Route102_EventScript_1EC105:: @ 81EC105
+ trainerbattle 2, TRAINER_CALVIN_1, 0, Route102_Text_294513, Route102_Text_29457C, Route102_EventScript_1EC146
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route102_EventScript_1EC19C
+ setvar VAR_0x8004, 318
+ specialvar VAR_RESULT, sub_813B4E0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route102_EventScript_1EC170
+ msgbox Route102_Text_2945AC, 4
+ release
+ end
+
+Route102_EventScript_1EC146:: @ 81EC146
+ special sub_80B4808
+ waitmovement 0
+ checkflag FLAG_0x12F
+ goto_eq Route102_EventScript_1EC157
+ release
+ end
+
+Route102_EventScript_1EC157:: @ 81EC157
+ msgbox Route102_Text_294668, 4
+ setvar VAR_0x8004, 318
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 318
+ callstd 8
+ release
+ end
+
+Route102_EventScript_1EC170:: @ 81EC170
+ checkflag FLAG_0x12F
+ goto_eq Route102_EventScript_1EC183
+ msgbox Route102_Text_2945AC, 4
+ release
+ end
+
+Route102_EventScript_1EC183:: @ 81EC183
+ msgbox Route102_Text_2945EB, 4
+ setvar VAR_0x8004, 318
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 318
+ callstd 8
+ release
+ end
+
+Route102_EventScript_1EC19C:: @ 81EC19C
+ trainerbattle 5, TRAINER_CALVIN_1, 0, Route102_Text_2946AE, Route102_Text_29470C
+ msgbox Route102_Text_29473C, 6
+ end
+
+Route102_EventScript_1EC1B3:: @ 81EC1B3
+ trainerbattle 0, TRAINER_RICK, 0, Route102_Text_29480C, Route102_Text_294847
+ msgbox Route102_Text_294859, 6
+ end
+
+Route102_EventScript_1EC1CA:: @ 81EC1CA
+ trainerbattle 0, TRAINER_TIANA, 0, Route102_Text_29489E, Route102_Text_2948F3
+ msgbox Route102_Text_294916, 6
+ end
+
+Route102_EventScript_1EC1E1:: @ 81EC1E1
+ trainerbattle 0, TRAINER_ALLEN, 0, Route102_Text_294775, Route102_Text_2947AA
+ msgbox Route102_Text_2947DB, 6
+ end
+
+PetalburgCity_Text_1EC1F8: @ 81EC1F8
+ .string "WALLY: {PLAYER}…\n"
+ .string "POKéMON hide in tall grass like this,\l"
+ .string "don’t they?\p"
+ .string "Please watch me and see if I can\n"
+ .string "catch one properly.\p"
+ .string "…Whoa!$"
+
+PetalburgCity_Text_1EC271: @ 81EC271
+ .string "WALLY: I did it… It’s my…\n"
+ .string "My POKéMON!$"
+
+PetalburgCity_Text_1EC297: @ 81EC297
+ .string "{PLAYER}, thank you!\n"
+ .string "Let’s go back to the GYM!$"
+
+Route102_Text_1EC2C0: @ 81EC2C0
+ .string "I’m…not very tall, so I sink right\n"
+ .string "into tall grass.\p"
+ .string "The grass goes up my nose and…\n"
+ .string "Fwafwafwafwafwa…\p"
+ .string "Fwatchoo!$"
+
+Route102_Text_1EC32E: @ 81EC32E
+ .string "I’m going to catch a whole bunch of\n"
+ .string "POKéMON!$"
+
+Route102_Text_1EC35B: @ 81EC35B
+ .string "ROUTE 102\n"
+ .string "{0x7C} OLDALE TOWN$"
+
+Route102_Text_1EC373: @ 81EC373
+ .string "ROUTE 102\n"
+ .string "{0x7B} PETALBURG CITY$"
diff --git a/data/scripts/maps/Route103.inc b/data/scripts/maps/Route103.inc
new file mode 100644
index 000000000..4dd68204a
--- /dev/null
+++ b/data/scripts/maps/Route103.inc
@@ -0,0 +1,368 @@
+Route103_MapScripts:: @ 81EC38E
+ map_script 3, Route103_MapScript1_1EC399
+ map_script 1, Route103_MapScript1_1EC3A4
+ .byte 0
+
+Route103_MapScript1_1EC399: @ 81EC399
+ call Route103_EventScript_271ED7
+ call Route103_EventScript_2720AD
+ end
+
+Route103_MapScript1_1EC3A4: @ 81EC3A4
+ checkflag FLAG_SYS_GAME_CLEAR
+ call_if 1, Route103_EventScript_1EC3AE
+ end
+
+Route103_EventScript_1EC3AE:: @ 81EC3AE
+ setmetatile 45, 5, 159, 1
+ setmetatile 45, 6, 167, 0
+ return
+
+Route103_EventScript_1EC3C1:: @ 81EC3C1
+ lockall
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route103_EventScript_1EC3DA
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route103_EventScript_1EC434
+ end
+
+Route103_EventScript_1EC3DA:: @ 81EC3DA
+ msgbox Route103_Text_1EC7A6, 4
+ closemessage
+ playbgm BGM_GIRL_SUP, 1
+ applymovement 2, Route103_Movement_27259E
+ waitmovement 0
+ applymovement 2, Route103_Movement_272598
+ waitmovement 0
+ applymovement 2, Route103_Movement_27259A
+ waitmovement 0
+ msgbox Route103_Text_1EC7DE, 4
+ switch VAR_FIRST_POKE
+ case 0, Route103_EventScript_1EC48E
+ case 1, Route103_EventScript_1EC49E
+ case 2, Route103_EventScript_1EC4AE
+ end
+
+Route103_EventScript_1EC434:: @ 81EC434
+ msgbox Route103_Text_1EC989, 4
+ closemessage
+ playbgm BGM_BOY_SUP, 1
+ applymovement 2, Route103_Movement_27259E
+ waitmovement 0
+ applymovement 2, Route103_Movement_272598
+ waitmovement 0
+ applymovement 2, Route103_Movement_27259A
+ waitmovement 0
+ msgbox Route103_Text_1EC9CE, 4
+ switch VAR_FIRST_POKE
+ case 0, Route103_EventScript_1EC4BE
+ case 1, Route103_EventScript_1EC4CE
+ case 2, Route103_EventScript_1EC4DE
+ end
+
+Route103_EventScript_1EC48E:: @ 81EC48E
+ trainerbattle 3, TRAINER_MAY_4, 0, Route103_Text_1EC881
+ goto Route103_EventScript_1EC4EE
+ end
+
+Route103_EventScript_1EC49E:: @ 81EC49E
+ trainerbattle 3, TRAINER_MAY_7, 0, Route103_Text_1EC881
+ goto Route103_EventScript_1EC4EE
+ end
+
+Route103_EventScript_1EC4AE:: @ 81EC4AE
+ trainerbattle 3, TRAINER_MAY_1, 0, Route103_Text_1EC881
+ goto Route103_EventScript_1EC4EE
+ end
+
+Route103_EventScript_1EC4BE:: @ 81EC4BE
+ trainerbattle 3, TRAINER_BRENDAN_4, 0, Route103_Text_1ECA59
+ goto Route103_EventScript_1EC4FC
+ end
+
+Route103_EventScript_1EC4CE:: @ 81EC4CE
+ trainerbattle 3, TRAINER_BRENDAN_7, 0, Route103_Text_1ECA59
+ goto Route103_EventScript_1EC4FC
+ end
+
+Route103_EventScript_1EC4DE:: @ 81EC4DE
+ trainerbattle 3, TRAINER_BRENDAN_1, 0, Route103_Text_1ECA59
+ goto Route103_EventScript_1EC4FC
+ end
+
+Route103_EventScript_1EC4EE:: @ 81EC4EE
+ msgbox Route103_Text_1EC8AE, 4
+ goto Route103_EventScript_1EC50A
+ end
+
+Route103_EventScript_1EC4FC:: @ 81EC4FC
+ msgbox Route103_Text_1ECA79, 4
+ goto Route103_EventScript_1EC50A
+ end
+
+Route103_EventScript_1EC50A:: @ 81EC50A
+ closemessage
+ switch VAR_FACING
+ case 1, Route103_EventScript_1EC585
+ case 2, Route103_EventScript_1EC53D
+ case 3, Route103_EventScript_1EC561
+ case 4, Route103_EventScript_1EC561
+ end
+
+Route103_EventScript_1EC53D:: @ 81EC53D
+ applymovement 255, Route103_Movement_1EC5C8
+ applymovement 2, Route103_Movement_1EC5BE
+ waitmovement 0
+ playse SE_DANSA
+ applymovement 2, Route103_Movement_1EC5C1
+ waitmovement 0
+ goto Route103_EventScript_1EC5A2
+ end
+
+Route103_EventScript_1EC561:: @ 81EC561
+ applymovement 255, Route103_Movement_1EC5D6
+ applymovement 2, Route103_Movement_1EC5CE
+ waitmovement 0
+ playse SE_DANSA
+ applymovement 2, Route103_Movement_1EC5D0
+ waitmovement 0
+ goto Route103_EventScript_1EC5A2
+ end
+
+Route103_EventScript_1EC585:: @ 81EC585
+ applymovement 2, Route103_Movement_1EC5CE
+ waitmovement 0
+ playse SE_DANSA
+ applymovement 2, Route103_Movement_1EC5D0
+ waitmovement 0
+ goto Route103_EventScript_1EC5A2
+ end
+
+Route103_EventScript_1EC5A2:: @ 81EC5A2
+ removeobject 2
+ setvar VAR_0x4084, 4
+ clearflag FLAG_0x379
+ setflag FLAG_0x082
+ setvar VAR_0x40C7, 1
+ clearflag FLAG_0x3D3
+ savebgm SE_STOP
+ fadedefaultbgm
+ releaseall
+ end
+
+Route103_Movement_1EC5BE: @ 81EC5BE
+ step_left
+ step_down
+ step_end
+
+Route103_Movement_1EC5C1: @ 81EC5C1
+ fast_step_down
+ step_14
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+Route103_Movement_1EC5C8: @ 81EC5C8
+ step_14
+ step_12
+ step_27
+ step_14
+ step_25
+ step_end
+
+Route103_Movement_1EC5CE: @ 81EC5CE
+ step_down
+ step_end
+
+Route103_Movement_1EC5D0: @ 81EC5D0
+ fast_step_down
+ step_14
+ step_down
+ step_down
+ step_down
+ step_end
+
+Route103_Movement_1EC5D6: @ 81EC5D6
+ step_14
+ step_25
+ step_end
+
+Route103_EventScript_1EC5D9:: @ 81EC5D9
+ msgbox Route103_Text_1ECB73, 2
+ end
+
+Route103_EventScript_1EC5E2:: @ 81EC5E2
+ msgbox Route103_Text_1ECBB5, 2
+ end
+
+Route103_EventScript_1EC5EB:: @ 81EC5EB
+ msgbox Route103_Text_1ECC1A, 3
+ end
+
+Route103_EventScript_1EC5F4:: @ 81EC5F4
+ trainerbattle 0, TRAINER_DAISY, 0, Route103_Text_29495A, Route103_Text_29498F
+ msgbox Route103_Text_2949B4, 6
+ end
+
+Route103_EventScript_1EC60B:: @ 81EC60B
+ trainerbattle 6, TRAINER_AMY_AND_LIV_1, 0, Route103_Text_2949F9, Route103_Text_294A3D, Route103_Text_294AAE, Route103_EventScript_1EC63A
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route103_EventScript_1EC653
+ msgbox Route103_Text_294A52, 6
+ end
+
+Route103_EventScript_1EC63A:: @ 81EC63A
+ msgbox Route103_Text_294B8A, 4
+ setvar VAR_0x8004, 481
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 481
+ callstd 8
+ release
+ end
+
+Route103_EventScript_1EC653:: @ 81EC653
+ trainerbattle 7, TRAINER_AMY_AND_LIV_1, 0, Route103_Text_294C29, Route103_Text_294C6D, Route103_Text_294CEF
+ msgbox Route103_Text_294C93, 6
+ end
+
+Route103_EventScript_1EC66E:: @ 81EC66E
+ trainerbattle 6, TRAINER_AMY_AND_LIV_1, 0, Route103_Text_294AFD, Route103_Text_294B22, Route103_Text_294BD0, Route103_EventScript_1EC69D
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route103_EventScript_1EC6B6
+ msgbox Route103_Text_294B40, 6
+ end
+
+Route103_EventScript_1EC69D:: @ 81EC69D
+ msgbox Route103_Text_294B8A, 4
+ setvar VAR_0x8004, 481
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 481
+ callstd 8
+ release
+ end
+
+Route103_EventScript_1EC6B6:: @ 81EC6B6
+ trainerbattle 7, TRAINER_AMY_AND_LIV_1, 0, Route103_Text_294D3E, Route103_Text_294D63, Route103_Text_294DDB
+ msgbox Route103_Text_294D89, 6
+ end
+
+Route103_EventScript_1EC6D1:: @ 81EC6D1
+ trainerbattle 0, TRAINER_ANDREW, 0, Route103_Text_294E34, Route103_Text_294E92
+ msgbox Route103_Text_294EBB, 6
+ end
+
+Route103_EventScript_1EC6E8:: @ 81EC6E8
+ trainerbattle 2, TRAINER_MIGUEL_1, 0, Route103_Text_294EDF, Route103_Text_294F21, Route103_EventScript_1EC714
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route103_EventScript_1EC733
+ msgbox Route103_Text_294F42, 4
+ release
+ end
+
+Route103_EventScript_1EC714:: @ 81EC714
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route103_Text_294F7E, 4
+ setvar VAR_0x8004, 293
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 293
+ callstd 8
+ release
+ end
+
+Route103_EventScript_1EC733:: @ 81EC733
+ trainerbattle 5, TRAINER_MIGUEL_1, 0, Route103_Text_294FC3, Route103_Text_295006
+ msgbox Route103_Text_29501E, 6
+ end
+
+Route103_EventScript_1EC74A:: @ 81EC74A
+ trainerbattle 0, TRAINER_MARCOS, 0, Route103_Text_295206, Route103_Text_29522B
+ msgbox Route103_Text_295246, 6
+ end
+
+Route103_EventScript_1EC761:: @ 81EC761
+ trainerbattle 0, TRAINER_RHETT, 0, Route103_Text_295199, Route103_Text_2951C6
+ msgbox Route103_Text_2951DE, 6
+ end
+
+Route103_EventScript_1EC778:: @ 81EC778
+ trainerbattle 0, TRAINER_PETE, 0, Route103_Text_295063, Route103_Text_295093
+ msgbox Route103_Text_2950AA, 6
+ end
+
+Route103_EventScript_1EC78F:: @ 81EC78F
+ trainerbattle 0, TRAINER_ISABELLE, 0, Route103_Text_295116, Route103_Text_295146
+ msgbox Route103_Text_29514D, 6
+ end
+
+Route103_Text_1EC7A6: @ 81EC7A6
+ .string "MAY: Let’s see… The POKéMON found\n"
+ .string "on ROUTE 103 include…$"
+
+Route103_Text_1EC7DE: @ 81EC7DE
+ .string "Oh, hi, {PLAYER}{KUN}!\p"
+ .string "…Oh, I see, my dad gave you\n"
+ .string "a POKéMON as a gift.\p"
+ .string "Since we’re here, let’s have a quick\n"
+ .string "battle!\p"
+ .string "I’ll give you a taste of what being\n"
+ .string "a TRAINER is like.$"
+
+Route103_Text_1EC881: @ 81EC881
+ .string "Wow! That’s great!\n"
+ .string "{PLAYER}{KUN}, you’re pretty good!$"
+
+Route103_Text_1EC8AE: @ 81EC8AE
+ .string "MAY: I think I know why my dad has\n"
+ .string "an eye out for you now.\p"
+ .string "I mean, you just got that POKéMON,\n"
+ .string "but it already likes you.\p"
+ .string "You might be able to befriend any\n"
+ .string "kind of POKéMON easily.\p"
+ .string "Well, it’s time to head back to\n"
+ .string "the LAB.$"
+
+Route103_Text_1EC989: @ 81EC989
+ .string "BRENDAN: Okay, so it’s this one and\n"
+ .string "that one that live on ROUTE 103…$"
+
+Route103_Text_1EC9CE: @ 81EC9CE
+ .string "Hey, it’s {PLAYER}!\p"
+ .string "…Oh, yeah, Dad gave you a POKéMON.\p"
+ .string "Since we’re here, how about a little\n"
+ .string "battle?\p"
+ .string "I’ll teach you what being a TRAINER’s\n"
+ .string "about!$"
+
+Route103_Text_1ECA59: @ 81ECA59
+ .string "Huh, {PLAYER}, you’re not too shabby.$"
+
+Route103_Text_1ECA79: @ 81ECA79
+ .string "BRENDAN: I think I get it.\n"
+ .string "I think I know why my dad has his eye\l"
+ .string "out for you now.\p"
+ .string "Look, your POKéMON already likes you,\n"
+ .string "even though you just got it.\p"
+ .string "{PLAYER}, I get the feeling that you\n"
+ .string "could befriend any POKéMON with ease.\p"
+ .string "We should head back to the LAB.$"
+
+Route103_Text_1ECB73: @ 81ECB73
+ .string "My POKéMON is staggeringly tired…\n"
+ .string "I should have brought a POTION…$"
+
+Route103_Text_1ECBB5: @ 81ECBB5
+ .string "If you cross the sea from here,\n"
+ .string "it’ll be a shortcut to OLDALE TOWN.\p"
+ .string "Fufufu, that’s useful, isn’t it?$"
+
+Route103_Text_1ECC1A: @ 81ECC1A
+ .string "ROUTE 103\n"
+ .string "{0x7A} OLDALE TOWN$"
+
diff --git a/data/scripts/maps/Route104.inc b/data/scripts/maps/Route104.inc
new file mode 100644
index 000000000..8c4138f11
--- /dev/null
+++ b/data/scripts/maps/Route104.inc
@@ -0,0 +1,1227 @@
+Route104_MapScripts:: @ 81ECC32
+ map_script 2, Route104_MapScript2_1ECC3D
+ map_script 3, Route104_MapScript1_1ECC4E
+ .byte 0
+
+Route104_MapScript2_1ECC3D: @ 81ECC3D
+ map_script_2 VAR_0x408E, 1, Route104_EventScript_1ECC47
+ .2byte 0
+
+Route104_EventScript_1ECC47:: @ 81ECC47
+ lockall
+ goto Route104_EventScript_1ED099
+ end
+
+Route104_MapScript1_1ECC4E: @ 81ECC4E
+ call Route104_EventScript_271ED7
+ call Route104_EventScript_1ECC78
+ call Route104_EventScript_1ECC5E
+ end
+
+Route104_EventScript_1ECC5E:: @ 81ECC5E
+ checkflag FLAG_0x07F
+ goto_if 0, Route104_EventScript_1ECC74
+ checkflag FLAG_BADGE03_GET
+ goto_if 0, Route104_EventScript_1ECC74
+ clearflag FLAG_0x38A
+ return
+
+Route104_EventScript_1ECC74:: @ 81ECC74
+ setflag FLAG_0x38A
+ return
+
+Route104_EventScript_1ECC78:: @ 81ECC78
+ compare_var_to_value VAR_0x408E, 1
+ goto_if 4, Route104_EventScript_1ECC9D
+ checkflag FLAG_0x120
+ goto_eq Route104_EventScript_1ECC9D
+ checkflag FLAG_0x07C
+ goto_if 0, Route104_EventScript_1ECC9D
+ setobjectxyperm 34, 17, 52
+ return
+
+Route104_EventScript_1ECC9D:: @ 81ECC9D
+ return
+
+Route104_EventScript_1ECC9E:: @ 81ECC9E
+ lockall
+ setvar VAR_0x8008, 1
+ applymovement 34, Route104_Movement_27259E
+ waitmovement 0
+ goto Route104_EventScript_1ECD33
+
+Route104_EventScript_1ECCB3:: @ 81ECCB3
+ lockall
+ setflag FLAG_0x32E
+ setvar VAR_0x405A, 8
+ setvar VAR_0x4063, 2
+ applymovement 255, Route104_Movement_2725A6
+ waitmovement 0
+ delay 10
+ addobject 34
+ clearflag FLAG_0x2CF
+ applymovement 255, Route104_Movement_1ECF86
+ waitmovement 0
+ applymovement 34, Route104_Movement_1ECF8A
+ waitmovement 0
+ delay 20
+ setvar VAR_0x8008, 0
+ call Route104_EventScript_1E0DD1
+ playse SE_PIN
+ applymovement 34, Route104_Movement_272598
+ waitmovement 0
+ applymovement 34, Route104_Movement_27259A
+ waitmovement 0
+ goto Route104_EventScript_1ECD33
+
+Route104_EventScript_1ECD11:: @ 81ECD11
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route104_EventScript_1ECD29
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route104_EventScript_1ECD2E
+ return
+
+Route104_EventScript_1ECD29:: @ 81ECD29
+ playbgm BGM_GIRL_SUP, 1
+ return
+
+Route104_EventScript_1ECD2E:: @ 81ECD2E
+ playbgm BGM_BOY_SUP, 1
+ return
+
+Route104_EventScript_1ECD33:: @ 81ECD33
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route104_EventScript_1ECD4B
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route104_EventScript_1ECE6F
+ end
+
+Route104_EventScript_1ECD4B:: @ 81ECD4B
+ checkflag FLAG_0x07D
+ goto_eq Route104_EventScript_1ECE1C
+ checkflag FLAG_0x07C
+ goto_eq Route104_EventScript_1ECDD0
+ setflag FLAG_0x07C
+ msgbox Route104_Text_1EDBFF, 4
+ closemessage
+ delay 30
+ playfanfare BGM_ME_MATCH_CALL
+ msgbox Route104_Text_1EDC8F, 4
+ waitfanfare
+ closemessage
+ delay 30
+ setflag FLAG_0x0FD
+ applymovement 255, Route104_Movement_1ECDCD
+ applymovement 34, Route104_Movement_1ECDC8
+ msgbox Route104_Text_1EDCB1, 4
+ closemessage
+ waitmovement 0
+ applymovement 34, Route104_Movement_1ECDCA
+ waitmovement 0
+ moveobjectoffscreen 34
+ msgbox Route104_Text_1EDCED, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route104_EventScript_1ECDED
+ msgbox Route104_Text_1EDD2A, 4
+ call Route104_EventScript_1ECE31
+ releaseall
+ end
+
+Route104_Movement_1ECDC8: @ 81ECDC8
+ slow_step_left
+ step_end
+
+Route104_Movement_1ECDCA: @ 81ECDCA
+ step_down
+ step_03
+ step_end
+
+Route104_Movement_1ECDCD: @ 81ECDCD
+ step_12
+ step_27
+ step_end
+
+Route104_EventScript_1ECDD0:: @ 81ECDD0
+ msgbox Route104_Text_1EDD9F, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route104_EventScript_1ECDED
+ msgbox Route104_Text_1EDD2A, 4
+ releaseall
+ end
+
+Route104_EventScript_1ECDED:: @ 81ECDED
+ msgbox Route104_Text_1EDDDB, 4
+ switch VAR_FIRST_POKE
+ case 0, Route104_EventScript_1ECE36
+ case 1, Route104_EventScript_1ECE49
+ case 2, Route104_EventScript_1ECE5C
+ end
+
+Route104_EventScript_1ECE1C:: @ 81ECE1C
+ msgbox Route104_Text_1EDE3E, 4
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, Route104_EventScript_1ECE31
+ releaseall
+ end
+
+Route104_EventScript_1ECE31:: @ 81ECE31
+ savebgm SE_STOP
+ fadedefaultbgm
+ return
+
+Route104_EventScript_1ECE36:: @ 81ECE36
+ trainerbattle 3, TRAINER_MAY_14, 0, Route104_Text_1EDE18
+ setflag FLAG_0x07D
+ goto Route104_EventScript_1ECE1C
+ end
+
+Route104_EventScript_1ECE49:: @ 81ECE49
+ trainerbattle 3, TRAINER_MAY_15, 0, Route104_Text_1EDE18
+ setflag FLAG_0x07D
+ goto Route104_EventScript_1ECE1C
+ end
+
+Route104_EventScript_1ECE5C:: @ 81ECE5C
+ trainerbattle 3, TRAINER_MAY_10, 0, Route104_Text_1EDE18
+ setflag FLAG_0x07D
+ goto Route104_EventScript_1ECE1C
+ end
+
+Route104_EventScript_1ECE6F:: @ 81ECE6F
+ checkflag FLAG_0x07D
+ goto_eq Route104_EventScript_1ECF38
+ checkflag FLAG_0x07C
+ goto_eq Route104_EventScript_1ECEEC
+ setflag FLAG_0x07C
+ msgbox Route104_Text_1EDF04, 4
+ closemessage
+ delay 30
+ playfanfare BGM_ME_MATCH_CALL
+ msgbox Route104_Text_1EDFA0, 4
+ waitfanfare
+ closemessage
+ delay 30
+ setflag FLAG_0x0FD
+ applymovement 255, Route104_Movement_1ECDCD
+ applymovement 34, Route104_Movement_1ECDC8
+ msgbox Route104_Text_1EDFC6, 4
+ closemessage
+ waitmovement 0
+ applymovement 34, Route104_Movement_1ECDCA
+ waitmovement 0
+ moveobjectoffscreen 34
+ msgbox Route104_Text_1EE009, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route104_EventScript_1ECF09
+ msgbox Route104_Text_1EE04D, 4
+ call Route104_EventScript_1ECE31
+ releaseall
+ end
+
+Route104_EventScript_1ECEEC:: @ 81ECEEC
+ msgbox Route104_Text_1EE094, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route104_EventScript_1ECF09
+ msgbox Route104_Text_1EE04D, 4
+ releaseall
+ end
+
+Route104_EventScript_1ECF09:: @ 81ECF09
+ msgbox Route104_Text_1EE0C7, 4
+ switch VAR_FIRST_POKE
+ case 0, Route104_EventScript_1ECF4D
+ case 1, Route104_EventScript_1ECF60
+ case 2, Route104_EventScript_1ECF73
+ end
+
+Route104_EventScript_1ECF38:: @ 81ECF38
+ msgbox Route104_Text_1EE120, 4
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, Route104_EventScript_1ECE31
+ releaseall
+ end
+
+Route104_EventScript_1ECF4D:: @ 81ECF4D
+ trainerbattle 3, TRAINER_BRENDAN_10, 0, Route104_Text_1EE107
+ setflag FLAG_0x07D
+ goto Route104_EventScript_1ECF38
+ end
+
+Route104_EventScript_1ECF60:: @ 81ECF60
+ trainerbattle 3, TRAINER_BRENDAN_12, 0, Route104_Text_1EE107
+ setflag FLAG_0x07D
+ goto Route104_EventScript_1ECF38
+ end
+
+Route104_EventScript_1ECF73:: @ 81ECF73
+ trainerbattle 3, TRAINER_BRENDAN_11, 0, Route104_Text_1EE107
+ setflag FLAG_0x07D
+ goto Route104_EventScript_1ECF38
+ end
+
+Route104_Movement_1ECF86: @ 81ECF86
+ step_40
+ step_down
+ step_41
+ step_end
+
+Route104_Movement_1ECF8A: @ 81ECF8A
+ step_down
+ step_end
+
+Route104_EventScript_1ECF8C:: @ 81ECF8C
+ lock
+ faceplayer
+ checkflag FLAG_0x0F6
+ goto_eq Route104_EventScript_1ECFC3
+ msgbox Route104_Text_2A6D86, 4
+ giveitem_std ITEM_CHESTO_BERRY
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route104_EventScript_272054
+ setflag FLAG_0x0F6
+ msgbox Route104_Text_2A6E32, 4
+ release
+ end
+
+Route104_EventScript_1ECFC3:: @ 81ECFC3
+ msgbox Route104_Text_2A6E32, 4
+ release
+ end
+
+Route104_EventScript_1ECFCD:: @ 81ECFCD
+ lock
+ faceplayer
+ checkflag FLAG_0x117
+ goto_eq Route104_EventScript_1ECFFC
+ msgbox Route104_Text_1ED96A, 4
+ giveitem_std ITEM_WHITE_HERB
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route104_EventScript_272054
+ setflag FLAG_0x117
+ release
+ end
+
+Route104_EventScript_1ECFFC:: @ 81ECFFC
+ msgbox Route104_Text_1EDA0F, 4
+ release
+ end
+
+Route104_EventScript_1ED006:: @ 81ED006
+ msgbox Route104_Text_1ED5EC, 2
+ end
+
+Route104_EventScript_1ED00F:: @ 81ED00F
+ msgbox Route104_Text_1ED662, 3
+ end
+
+Route104_EventScript_1ED018:: @ 81ED018
+ msgbox Route104_Text_1EDA8C, 3
+ end
+
+Route104_EventScript_1ED021:: @ 81ED021
+ msgbox Route104_Text_1EDAA1, 3
+ end
+
+Route104_EventScript_1ED02A:: @ 81ED02A
+ msgbox Route104_Text_1EDABC, 3
+ end
+
+Route104_EventScript_1ED033:: @ 81ED033
+ msgbox Route104_Text_1EDAD6, 3
+ end
+
+Route104_EventScript_1ED03C:: @ 81ED03C
+ msgbox Route104_Text_1EDAEF, 3
+ end
+
+Route104_EventScript_1ED045:: @ 81ED045
+ msgbox Route104_Text_1ED6A2, 2
+ end
+
+Route104_EventScript_1ED04E:: @ 81ED04E
+ msgbox Route104_Text_1ED735, 2
+ end
+
+Route104_EventScript_1ED057:: @ 81ED057
+ lock
+ faceplayer
+ checkflag FLAG_0x106
+ goto_eq Route104_EventScript_1ED086
+ msgbox Route104_Text_1ED838, 4
+ giveitem_std ITEM_TM09
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route104_EventScript_272054
+ setflag FLAG_0x106
+ release
+ end
+
+Route104_EventScript_1ED086:: @ 81ED086
+ msgbox Route104_Text_1ED8E7, 4
+ release
+ end
+
+Route104_EventScript_1ED090:: @ 81ED090
+ msgbox Route104_Text_1ED7A2, 2
+ end
+
+Route104_EventScript_1ED099:: @ 81ED099
+ setobjectpriority 8, ROUTE_104, 0
+ setobjectpriority 255, ROUTE_104, 0
+ applymovement 8, Route104_Movement_1ED359
+ waitmovement 0
+ removeobject 8
+ applymovement 255, Route104_Movement_1ED34F
+ waitmovement 0
+ hideobjectat 255, ROUTE_104
+ call Route104_EventScript_2720A0
+ checkflag FLAG_0x132
+ goto_eq Route104_EventScript_1ED0D9
+ checkflag FLAG_0x132
+ goto_if 0, Route104_EventScript_1ED0EF
+ end
+
+Route104_EventScript_1ED0D9:: @ 81ED0D9
+ applymovement 7, Route104_Movement_1ED28C
+ applymovement 255, Route104_Movement_1ED28C
+ waitmovement 0
+ goto Route104_EventScript_1ED139
+
+Route104_EventScript_1ED0EF:: @ 81ED0EF
+ applymovement 7, Route104_Movement_1ED1C8
+ applymovement 255, Route104_Movement_1ED1C8
+ waitmovement 0
+ pokenavcall Route104_Text_1EE336
+ waitmessage
+ delay 30
+ playfanfare BGM_ME_MATCH_CALL
+ msgbox Route104_Text_1EE463, 4
+ waitfanfare
+ closemessage
+ delay 30
+ setflag FLAG_0x132
+ applymovement 255, Route104_Movement_1ED22A
+ applymovementat 7, Route104_Movement_1ED22A, ROUTE_104
+ waitmovementat 7, ROUTE_104
+ waitmovement 0
+ goto Route104_EventScript_1ED139
+
+Route104_EventScript_1ED139:: @ 81ED139
+ delay 50
+ applymovement 255, Route104_Movement_1ED353
+ waitmovement 0
+ call Route104_EventScript_2720A8
+ showobjectat 255, DEWFORD_TOWN
+ applymovement 255, Route104_Movement_1ED355
+ waitmovement 0
+ setobjectxyperm 2, 12, 8
+ addobject 2
+ setobjectpriority 2, DEWFORD_TOWN, 0
+ clearflag FLAG_0x2E4
+ applymovement 2, Route104_Movement_1ED35C
+ waitmovement 0
+ addobject 4
+ clearflag FLAG_0x2E7
+ call Route104_EventScript_2720A8
+ setflag FLAG_0x2E6
+ hideobjectat 7, ROUTE_104
+ copyvar VAR_0x4096, VAR_0x8008
+ resetobjectpriority 255, ROUTE_104
+ resetobjectpriority 2, DEWFORD_TOWN
+ moveobjectoffscreen 2
+ setvar VAR_0x408E, 0
+ checkflag FLAG_0x0BD
+ goto_if 0, Route104_EventScript_1ED1B4
+ checkflag FLAG_0x0BD
+ goto_eq Route104_EventScript_1ED1BE
+ end
+
+Route104_EventScript_1ED1B4:: @ 81ED1B4
+ msgbox Route104_Text_1E9AAF, 4
+ releaseall
+ end
+
+Route104_EventScript_1ED1BE:: @ 81ED1BE
+ msgbox Route104_Text_1E9C1D, 4
+ releaseall
+ end
+
+Route104_Movement_1ED1C8: @ 81ED1C8
+ step_down
+ step_down
+ step_down
+ step_down
+ step_15
+ step_15
+ step_15
+ step_15
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_15
+ step_15
+ step_15
+ step_15
+ step_18
+ step_18
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_18
+ step_18
+ step_15
+ step_15
+ step_15
+ step_15
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_end
+
+Route104_Movement_1ED22A: @ 81ED22A
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_15
+ step_15
+ step_15
+ step_15
+ step_18
+ step_18
+ step_18
+ step_18
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_18
+ step_18
+ step_18
+ step_18
+ step_right
+ step_right
+ step_down
+ step_down
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_down
+ step_down
+ step_end
+
+Route104_Movement_1ED28C: @ 81ED28C
+ step_down
+ step_down
+ step_down
+ step_down
+ step_15
+ step_15
+ step_15
+ step_15
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_15
+ step_15
+ step_15
+ step_15
+ step_18
+ step_18
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_18
+ step_18
+ step_15
+ step_15
+ step_15
+ step_15
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_15
+ step_15
+ step_15
+ step_15
+ step_18
+ step_18
+ step_18
+ step_18
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_30
+ step_18
+ step_18
+ step_18
+ step_18
+ step_right
+ step_right
+ step_down
+ step_down
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_down
+ step_down
+ step_end
+
+Route104_Movement_1ED34F: @ 81ED34F
+ step_left
+ step_down
+ step_down
+ step_end
+
+Route104_Movement_1ED353: @ 81ED353
+ step_down
+ step_end
+
+Route104_Movement_1ED355: @ 81ED355
+ step_down
+ step_left
+ step_28
+ step_end
+
+Route104_Movement_1ED359: @ 81ED359
+ step_down
+ step_down
+ step_end
+
+Route104_Movement_1ED35C: @ 81ED35C
+ step_down
+ step_27
+ step_end
+
+Route104_EventScript_1ED35F:: @ 81ED35F
+ trainerbattle 0, TRAINER_IVAN, 0, Route104_Text_2954BD, Route104_Text_295509
+ msgbox Route104_Text_29554E, 6
+ end
+
+Route104_EventScript_1ED376:: @ 81ED376
+ trainerbattle 0, TRAINER_BILLY, 0, Route104_Text_29558A, Route104_Text_2955B4
+ msgbox Route104_Text_2955E8, 6
+ end
+
+Route104_EventScript_1ED38D:: @ 81ED38D
+ trainerbattle 2, TRAINER_HALEY_1, 0, Route104_Text_29563A, Route104_Text_29566F, Route104_EventScript_1ED3CE
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route104_EventScript_1ED424
+ setvar VAR_0x8004, 604
+ specialvar VAR_RESULT, sub_813B4E0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route104_EventScript_1ED3F8
+ msgbox Route104_Text_295689, 4
+ release
+ end
+
+Route104_EventScript_1ED3CE:: @ 81ED3CE
+ special sub_80B4808
+ waitmovement 0
+ checkflag FLAG_0x12F
+ goto_eq Route104_EventScript_1ED3DF
+ release
+ end
+
+Route104_EventScript_1ED3DF:: @ 81ED3DF
+ msgbox Route104_Text_29576B, 4
+ setvar VAR_0x8004, 604
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 604
+ callstd 8
+ release
+ end
+
+Route104_EventScript_1ED3F8:: @ 81ED3F8
+ checkflag FLAG_0x12F
+ goto_eq Route104_EventScript_1ED40B
+ msgbox Route104_Text_295689, 4
+ release
+ end
+
+Route104_EventScript_1ED40B:: @ 81ED40B
+ msgbox Route104_Text_2956FF, 4
+ setvar VAR_0x8004, 604
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 604
+ callstd 8
+ release
+ end
+
+Route104_EventScript_1ED424:: @ 81ED424
+ trainerbattle 5, TRAINER_HALEY_1, 0, Route104_Text_2957D7, Route104_Text_2957F0
+ msgbox Route104_Text_29580C, 6
+ end
+
+Route104_EventScript_1ED43B:: @ 81ED43B
+ trainerbattle 2, TRAINER_WINSTON_1, 0, Route104_Text_295870, Route104_Text_2958AD, Route104_EventScript_1ED47C
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route104_EventScript_1ED4D2
+ setvar VAR_0x8004, 136
+ specialvar VAR_RESULT, sub_813B4E0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route104_EventScript_1ED4A6
+ msgbox Route104_Text_2958C1, 4
+ release
+ end
+
+Route104_EventScript_1ED47C:: @ 81ED47C
+ special sub_80B4808
+ waitmovement 0
+ checkflag FLAG_0x12F
+ goto_eq Route104_EventScript_1ED48D
+ release
+ end
+
+Route104_EventScript_1ED48D:: @ 81ED48D
+ msgbox Route104_Text_29595A, 4
+ setvar VAR_0x8004, 136
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 136
+ callstd 8
+ release
+ end
+
+Route104_EventScript_1ED4A6:: @ 81ED4A6
+ checkflag FLAG_0x12F
+ goto_eq Route104_EventScript_1ED4B9
+ msgbox Route104_Text_2958C1, 4
+ release
+ end
+
+Route104_EventScript_1ED4B9:: @ 81ED4B9
+ msgbox Route104_Text_2958F8, 4
+ setvar VAR_0x8004, 136
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 136
+ callstd 8
+ release
+ end
+
+Route104_EventScript_1ED4D2:: @ 81ED4D2
+ trainerbattle 5, TRAINER_WINSTON_1, 0, Route104_Text_2959BC, Route104_Text_2959FC
+ msgbox Route104_Text_295A1E, 6
+ end
+
+Route104_EventScript_1ED4E9:: @ 81ED4E9
+ trainerbattle 2, TRAINER_CINDY_1, 0, Route104_Text_295A7E, Route104_Text_295ABB, Route104_EventScript_1ED52A
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route104_EventScript_1ED580
+ setvar VAR_0x8004, 114
+ specialvar VAR_RESULT, sub_813B4E0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route104_EventScript_1ED554
+ msgbox Route104_Text_295AC3, 4
+ release
+ end
+
+Route104_EventScript_1ED52A:: @ 81ED52A
+ special sub_80B4808
+ waitmovement 0
+ checkflag FLAG_0x12F
+ goto_eq Route104_EventScript_1ED53B
+ release
+ end
+
+Route104_EventScript_1ED53B:: @ 81ED53B
+ msgbox Route104_Text_295B60, 4
+ setvar VAR_0x8004, 114
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 114
+ callstd 8
+ release
+ end
+
+Route104_EventScript_1ED554:: @ 81ED554
+ checkflag FLAG_0x12F
+ goto_eq Route104_EventScript_1ED567
+ msgbox Route104_Text_295AC3, 4
+ release
+ end
+
+Route104_EventScript_1ED567:: @ 81ED567
+ msgbox Route104_Text_295B01, 4
+ setvar VAR_0x8004, 114
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 114
+ callstd 8
+ release
+ end
+
+Route104_EventScript_1ED580:: @ 81ED580
+ trainerbattle 5, TRAINER_CINDY_1, 0, Route104_Text_295BC8, Route104_Text_295BFA
+ msgbox Route104_Text_295C1F, 6
+ end
+
+Route104_EventScript_1ED597:: @ 81ED597
+ trainerbattle 4, TRAINER_GINA_AND_MIA_1, 0, Route104_Text_2952BB, Route104_Text_2952E6, Route104_Text_295330
+ special sub_8138B10
+ msgbox Route104_Text_2952FE, 4
+ release
+ end
+
+Route104_EventScript_1ED5B6:: @ 81ED5B6
+ trainerbattle 4, TRAINER_GINA_AND_MIA_1, 0, Route104_Text_2953AF, Route104_Text_2953E1, Route104_Text_295449
+ special sub_8138B10
+ msgbox Route104_Text_29540D, 4
+ release
+ end
+
+Route104_EventScript_1ED5D5:: @ 81ED5D5
+ trainerbattle 0, TRAINER_DARIAN, 0, Route104_Text_295C5D, Route104_Text_295CC9
+ msgbox Route104_Text_295CD3, 6
+ end
+
+Route104_Text_1ED5EC: @ 81ED5EC
+ .string "That seaside cottage is where\n"
+ .string "MR. BRINEY lives.\p"
+ .string "He was once a mighty sailor who never\n"
+ .string "feared the sea, however stormy.$"
+
+Route104_Text_1ED662: @ 81ED662
+ .string "The sea, huh?\p"
+ .string "I wonder what it’s like at the bottom\n"
+ .string "of the sea?$"
+
+Route104_Text_1ED6A2: @ 81ED6A2
+ .string "If you’re going to throw a POKé BALL,\n"
+ .string "weaken the wild POKéMON first.\p"
+ .string "It will be easier to catch if it’s been\n"
+ .string "poisoned, burned, or lulled to sleep.$"
+
+Route104_Text_1ED735: @ 81ED735
+ .string "You’re a thief if you try to steal\n"
+ .string "someone else’s POKéMON.\p"
+ .string "You should throw POKé BALLS only at\n"
+ .string "wild POKéMON.$"
+
+Route104_Text_1ED7A2: @ 81ED7A2
+ .string "Oh, no, I’m not a TRAINER.\p"
+ .string "But that’s right, if TRAINERS lock eyes,\n"
+ .string "it’s a challenge to battle.\p"
+ .string "If you don’t want to battle, stay out\n"
+ .string "of their sight.$"
+
+Route104_Text_1ED838: @ 81ED838
+ .string "I like filling my mouth with seeds,\n"
+ .string "then spitting them out fast!\p"
+ .string "You can have this, so you try it out!\p"
+ .string "Use it on a POKéMON, and it will learn\n"
+ .string "a move for firing seeds rapidly.$"
+
+Route104_Text_1ED8E7: @ 81ED8E7
+ .string "A word of advice!\p"
+ .string "A TM, TECHNICAL MACHINE, is good only\n"
+ .string "for one-time use.\p"
+ .string "Once you use it, it’s gone.\n"
+ .string "Think twice before using it!$"
+
+Route104_Text_1ED96A: @ 81ED96A
+ .string "This FLOWER SHOP started selling\n"
+ .string "saplings recently.\p"
+ .string "It made me so happy, I went overboard\n"
+ .string "shopping.\p"
+ .string "I don’t need this WHITE HERB anymore.\n"
+ .string "Would you take it, please?$"
+
+Route104_Text_1EDA0F: @ 81EDA0F
+ .string "This FLOWER SHOP started selling\n"
+ .string "saplings recently.\p"
+ .string "It made me so happy, I went overboard\n"
+ .string "shopping. Where should I put them?$"
+
+Route104_Text_1EDA8C: @ 81EDA8C
+ .string "MR. BRINEY’S COTTAGE$"
+
+Route104_Text_1EDAA1: @ 81EDAA1
+ .string "ROUTE 1O4\n"
+ .string "{0x7C} PETALBURG CITY$"
+
+Route104_Text_1EDABC: @ 81EDABC
+ .string "ROUTE 1O4\n"
+ .string "{0x79} RUSTBORO CITY$"
+
+Route104_Text_1EDAD6: @ 81EDAD6
+ .string "PRETTY PETAL FLOWER SHOP$"
+
+Route104_Text_1EDAEF: @ 81EDAEF
+ .string "TRAINER TIPS\p"
+ .string "In the HOENN region there are pairs\n"
+ .string "of TRAINERS who challenge others\l"
+ .string "for 2-on-2 POKéMON battles called\l"
+ .string "DOUBLE BATTLES.\p"
+ .string "In a DOUBLE BATTLE, the TRAINER must\n"
+ .string "send out two POKéMON, the one at the\l"
+ .string "left of the list and the top one.\l"
+ .string "Watch how POKéMON are lined up.$"
+
+Route104_Text_1EDBFF: @ 81EDBFF
+ .string "MAY: Oh, hi, {PLAYER}{KUN}!\p"
+ .string "DEVON upgraded your POKéNAV with\n"
+ .string "the MATCH CALL system, huh?\p"
+ .string "We should register each other so we\n"
+ .string "can get in contact anytime.$"
+
+Route104_Text_1EDC8F: @ 81EDC8F
+ .string "{PLAYER} registered MAY\n"
+ .string "in the POKéNAV.$"
+
+Route104_Text_1EDCB1: @ 81EDCB1
+ .string "MAY: Oh, by the way, {PLAYER}{KUN},\n"
+ .string "how’s your POKéDEX coming along?$"
+
+Route104_Text_1EDCED: @ 81EDCED
+ .string "Mine’s looking pretty decent.\n"
+ .string "So…\l"
+ .string "How about a little battle?$"
+
+Route104_Text_1EDD2A: @ 81EDD2A
+ .string "MAY: Oh, what’s the matter?\p"
+ .string "Haven’t you caught or raised your\n"
+ .string "POKéMON very much?\p"
+ .string "That’s not very good for a TRAINER!$"
+
+Route104_Text_1EDD9F: @ 81EDD9F
+ .string "MAY: So, what do you think?\n"
+ .string "How about a little battle here?$"
+
+Route104_Text_1EDDDB: @ 81EDDDB
+ .string "MAY: You just became a TRAINER,\n"
+ .string "{PLAYER}{KUN}. I’m not going to lose!$"
+
+Route104_Text_1EDE18: @ 81EDE18
+ .string "Yikes!\n"
+ .string "You’re better than I expected!$"
+
+Route104_Text_1EDE3E: @ 81EDE3E
+ .string "MAY: I can tell you’ve gotten pretty\n"
+ .string "good with the way you handle POKéMON.\p"
+ .string "But instead of only making them\n"
+ .string "battle, you should be like MR. BRINEY.\p"
+ .string "It’s important to become friends with\n"
+ .string "POKéMON, too.$"
+
+Route104_Text_1EDF04: @ 81EDF04
+ .string "BRENDAN: Oh, hey, {PLAYER}!\p"
+ .string "Cool, you had DEVON install the MATCH\n"
+ .string "CALL system on your POKéNAV!\p"
+ .string "Let’s register each other in our\n"
+ .string "POKéNAVS so we can keep in touch.$"
+
+Route104_Text_1EDFA0: @ 81EDFA0
+ .string "{PLAYER} registered BRENDAN\n"
+ .string "in the POKéNAV.$"
+
+Route104_Text_1EDFC6: @ 81EDFC6
+ .string "BRENDAN: {PLAYER}, how’s your POKéDEX?\n"
+ .string "Have you filled in any pages yet?$"
+
+Route104_Text_1EE009: @ 81EE009
+ .string "Me, I’m doing great!\p"
+ .string "Want to check out how good I am with\n"
+ .string "a battle?$"
+
+Route104_Text_1EE04D: @ 81EE04D
+ .string "BRENDAN: What’s the matter? Don’t have\n"
+ .string "any confidence in your POKéMON?$"
+
+Route104_Text_1EE094: @ 81EE094
+ .string "BRENDAN: What’s up?\n"
+ .string "Want to have a battle with me?$"
+
+Route104_Text_1EE0C7: @ 81EE0C7
+ .string "BRENDAN: I know you just became\n"
+ .string "a TRAINER, but I won’t go easy!$"
+
+Route104_Text_1EE107: @ 81EE107
+ .string "Hmm…\n"
+ .string "You’re pretty good.$"
+
+Route104_Text_1EE120: @ 81EE120
+ .string "BRENDAN: You’ve gotten pretty decent\n"
+ .string "at handling POKéMON.\p"
+ .string "But, you know, you shouldn’t just be\n"
+ .string "making POKéMON battle.\p"
+ .string "Like MR. BRINEY, it’s important to\n"
+ .string "become friends with your POKéMON.$"
+
diff --git a/data/scripts/maps/Route104_MrBrineysHouse.inc b/data/scripts/maps/Route104_MrBrineysHouse.inc
new file mode 100644
index 000000000..f870ba0c8
--- /dev/null
+++ b/data/scripts/maps/Route104_MrBrineysHouse.inc
@@ -0,0 +1,166 @@
+Route104_MrBrineysHouse_MapScripts:: @ 8229D2E
+ map_script 3, Route104_MrBrineysHouse_MapScript1_229D34
+ .byte 0
+
+Route104_MrBrineysHouse_MapScript1_229D34: @ 8229D34
+ setflag FLAG_0x89D
+ compare_var_to_value VAR_0x4090, 1
+ call_if 1, Route104_MrBrineysHouse_EventScript_229D50
+ checkflag FLAG_0x0BC
+ call_if 1, Route104_MrBrineysHouse_EventScript_229D4C
+ end
+
+Route104_MrBrineysHouse_EventScript_229D4C:: @ 8229D4C
+ setflag FLAG_0x32E
+ return
+
+Route104_MrBrineysHouse_EventScript_229D50:: @ 8229D50
+ setobjectxyperm 1, 9, 3
+ setobjectmovementtype 1, 50
+ setobjectxyperm 2, 9, 6
+ setobjectmovementtype 2, 51
+ return
+
+Route104_MrBrineysHouse_EventScript_229D67:: @ 8229D67
+ lock
+ faceplayer
+ checkflag FLAG_0x093
+ call_if 0, Route104_MrBrineysHouse_EventScript_229D8A
+ checkflag FLAG_0x0BD
+ goto_if 0, Route104_MrBrineysHouse_EventScript_229DE1
+ checkflag FLAG_0x095
+ goto_if 0, Route104_MrBrineysHouse_EventScript_229DFA
+ goto Route104_MrBrineysHouse_EventScript_229DAE
+ end
+
+Route104_MrBrineysHouse_EventScript_229D8A:: @ 8229D8A
+ setflag FLAG_0x093
+ msgbox Route104_MrBrineysHouse_Text_229E70, 4
+ msgbox Route104_MrBrineysHouse_Text_229E9B, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route104_MrBrineysHouse_EventScript_229E13
+ goto Route104_MrBrineysHouse_EventScript_229E27
+ end
+
+Route104_MrBrineysHouse_EventScript_229DAE:: @ 8229DAE
+ message Route104_MrBrineysHouse_Text_22A268
+ waitmessage
+ multichoicedefault 20, 8, 14, 1, 0
+ switch VAR_RESULT
+ case 0, Route104_MrBrineysHouse_EventScript_229E27
+ case 1, Route104_MrBrineysHouse_EventScript_229E1D
+ case 127, Route104_MrBrineysHouse_EventScript_229E1D
+ end
+
+Route104_MrBrineysHouse_EventScript_229DE1:: @ 8229DE1
+ msgbox Route104_MrBrineysHouse_Text_22A0AD, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route104_MrBrineysHouse_EventScript_229E13
+ goto Route104_MrBrineysHouse_EventScript_229E27
+ end
+
+Route104_MrBrineysHouse_EventScript_229DFA:: @ 8229DFA
+ msgbox Route104_MrBrineysHouse_Text_22A18F, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route104_MrBrineysHouse_EventScript_229E13
+ goto Route104_MrBrineysHouse_EventScript_229E27
+ end
+
+Route104_MrBrineysHouse_EventScript_229E13:: @ 8229E13
+ msgbox Route104_MrBrineysHouse_Text_22A041, 4
+ release
+ end
+
+Route104_MrBrineysHouse_EventScript_229E1D:: @ 8229E1D
+ msgbox Route104_MrBrineysHouse_Text_22A2C3, 4
+ release
+ end
+
+Route104_MrBrineysHouse_EventScript_229E27:: @ 8229E27
+ msgbox Route104_MrBrineysHouse_Text_229FE9, 4
+ call Route104_MrBrineysHouse_EventScript_271E95
+ setvar VAR_0x408E, 1
+ clearflag FLAG_0x2E2
+ setflag FLAG_0x2E3
+ setflag FLAG_0x371
+ setvar VAR_0x405A, 8
+ setvar VAR_0x4063, 2
+ setflag FLAG_0x32E
+ setflag FLAG_0x2CF
+ warp ROUTE_104, 255, 13, 51
+ waitstate
+ releaseall
+ end
+
+Route104_MrBrineysHouse_EventScript_229E5D:: @ 8229E5D
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_WINGULL, 0
+ msgbox Route104_MrBrineysHouse_Text_22A337, 4
+ waitmoncry
+ release
+ end
+
+Route104_MrBrineysHouse_Text_229E70: @ 8229E70
+ .string "MR. BRINEY: Hold on, lass!\n"
+ .string "Wait up, PEEKO!$"
+
+Route104_MrBrineysHouse_Text_229E9B: @ 8229E9B
+ .string "Hm? You’re {PLAYER}{KUN}!\n"
+ .string "You saved my darling PEEKO!\l"
+ .string "We owe so much to you!\p"
+ .string "What’s that?\n"
+ .string "You want to sail with me?\p"
+ .string "Hmhm…\p"
+ .string "You have a LETTER bound for DEWFORD\n"
+ .string "and a package for SLATEPORT, then?\p"
+ .string "Quite the busy life you must lead!\p"
+ .string "But, certainly, what you’re asking is\n"
+ .string "no problem at all.\p"
+ .string "You’ve come to the right man!\n"
+ .string "We’ll set sail for DEWFORD.$"
+
+Route104_MrBrineysHouse_Text_229FE9: @ 8229FE9
+ .string "MR. BRINEY: DEWFORD it is, then!\p"
+ .string "Anchors aweigh!\n"
+ .string "PEEKO, we’re setting sail, my darling!$"
+
+Route104_MrBrineysHouse_Text_22A041: @ 822A041
+ .string "MR. BRINEY: Is that so?\n"
+ .string "Your deliveries can wait?\p"
+ .string "You just go on and tell me whenever\n"
+ .string "you want to set sail!$"
+
+Route104_MrBrineysHouse_Text_22A0AD: @ 822A0AD
+ .string "MR. BRINEY: Ahoy!\n"
+ .string "I know exactly what you want to say!\p"
+ .string "You’re to deliver a LETTER to DEWFORD\n"
+ .string "and a package to SLATEPORT.\p"
+ .string "What you need me to do is no problem\n"
+ .string "at all--I’m the man for the job!\p"
+ .string "First, we’ll set sail for DEWFORD.$"
+
+Route104_MrBrineysHouse_Text_22A18F: @ 822A18F
+ .string "MR. BRINEY: Ahoy!\n"
+ .string "I know exactly what you want to say!\p"
+ .string "You’re to deliver a package to\n"
+ .string "CAPT. STERN in SLATEPORT.\p"
+ .string "What you need me to do is no problem\n"
+ .string "at all--I’m the man for the job!\p"
+ .string "First, we’ll set sail for DEWFORD.$"
+
+Route104_MrBrineysHouse_Text_22A268: @ 822A268
+ .string "MR. BRINEY: Ahoy!\n"
+ .string "For you, I’ll go out to sea anytime!\p"
+ .string "Now, my friend, where are we bound?$"
+
+Route104_MrBrineysHouse_Text_22A2C3: @ 822A2C3
+ .string "MR. BRINEY: Is that so?\n"
+ .string "Well, PEEKO owes her life to you.\p"
+ .string "You just go on and tell me whenever\n"
+ .string "you want to set sail!$"
+
+Route104_MrBrineysHouse_Text_22A337: @ 822A337
+ .string "PEEKO: Pii piihyoro!$"
+
diff --git a/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc b/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc
new file mode 100644
index 000000000..755612b6c
--- /dev/null
+++ b/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc
@@ -0,0 +1,110 @@
+Route104_PrettyPetalFlowerShop_MapScripts:: @ 822A34C
+ map_script 3, Route104_PrettyPetalFlowerShop_MapScript1_22A352
+ .byte 0
+
+Route104_PrettyPetalFlowerShop_MapScript1_22A352: @ 822A352
+ setflag FLAG_0x89C
+ checkflag FLAG_0x07F
+ goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_22A36B
+ checkflag FLAG_BADGE03_GET
+ goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_22A36B
+ setflag FLAG_0x001
+ end
+
+Route104_PrettyPetalFlowerShop_EventScript_22A36B:: @ 822A36B
+ setobjectxyperm 1, 4, 6
+ end
+
+Route104_PrettyPetalFlowerShop_EventScript_22A373:: @ 822A373
+ lock
+ faceplayer
+ checkflag FLAG_0x001
+ goto_eq Route104_PrettyPetalFlowerShop_EventScript_22A3E4
+ msgbox Route104_PrettyPetalFlowerShop_Text_2A7686, 4
+ checkflag FLAG_0x07F
+ goto_eq Route104_PrettyPetalFlowerShop_EventScript_22A3B2
+ setflag FLAG_0x07F
+ msgbox Route104_PrettyPetalFlowerShop_Text_2A7706, 5
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, Route104_PrettyPetalFlowerShop_EventScript_22A3D2
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, Route104_PrettyPetalFlowerShop_EventScript_22A3DB
+ release
+ end
+
+Route104_PrettyPetalFlowerShop_EventScript_22A3B2:: @ 822A3B2
+ msgbox Route104_PrettyPetalFlowerShop_Text_2A76D9, 5
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, Route104_PrettyPetalFlowerShop_EventScript_22A3D2
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, Route104_PrettyPetalFlowerShop_EventScript_22A3DB
+ release
+ end
+
+Route104_PrettyPetalFlowerShop_EventScript_22A3D2:: @ 822A3D2
+ msgbox Route104_PrettyPetalFlowerShop_Text_2A775B, 4
+ return
+
+Route104_PrettyPetalFlowerShop_EventScript_22A3DB:: @ 822A3DB
+ msgbox Route104_PrettyPetalFlowerShop_Text_2A78DF, 4
+ return
+
+Route104_PrettyPetalFlowerShop_EventScript_22A3E4:: @ 822A3E4
+ message gUnknown_08272A52
+ waitmessage
+ pokemartdecoration2 Route104_PrettyPetalFlowerShop_Pokemart_22A3FC
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+Route104_PrettyPetalFlowerShop_Pokemart_22A3FC: @ 822A3FC
+ .2byte ITEM_FULL_RESTORE
+ .2byte ITEM_MAX_POTION
+ .2byte ITEM_HYPER_POTION
+ .2byte ITEM_SUPER_POTION
+ .2byte ITEM_FULL_HEAL
+ .2byte ITEM_REVIVE
+ .2byte ITEM_NONE
+ release
+ end
+
+Route104_PrettyPetalFlowerShop_EventScript_22A40C:: @ 822A40C
+ lock
+ faceplayer
+ checkflag FLAG_0x05E
+ goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_22A421
+ msgbox Route104_PrettyPetalFlowerShop_Text_2A79A6, 4
+ release
+ end
+
+Route104_PrettyPetalFlowerShop_EventScript_22A421:: @ 822A421
+ msgbox Route104_PrettyPetalFlowerShop_Text_2A7916, 4
+ giveitem_std ITEM_WAILMER_PAIL
+ msgbox Route104_PrettyPetalFlowerShop_Text_2A79A6, 4
+ setflag FLAG_0x05E
+ release
+ end
+
+Route104_PrettyPetalFlowerShop_EventScript_22A442:: @ 822A442
+ lock
+ faceplayer
+ dodailyevents
+ checkflag FLAG_0x930
+ goto_eq Route104_PrettyPetalFlowerShop_EventScript_22A482
+ msgbox Route104_PrettyPetalFlowerShop_Text_2A7A98, 4
+ random 8
+ addvar VAR_RESULT, 133
+ giveitem_std VAR_RESULT
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route104_PrettyPetalFlowerShop_EventScript_272054
+ setflag FLAG_0x930
+ msgbox Route104_PrettyPetalFlowerShop_Text_2A7AF3, 4
+ release
+ end
+
+Route104_PrettyPetalFlowerShop_EventScript_22A482:: @ 822A482
+ msgbox Route104_PrettyPetalFlowerShop_Text_2A7AF3, 4
+ release
+ end
+
diff --git a/data/scripts/maps/Route104_Prototype.inc b/data/scripts/maps/Route104_Prototype.inc
new file mode 100644
index 000000000..d8274fffc
--- /dev/null
+++ b/data/scripts/maps/Route104_Prototype.inc
@@ -0,0 +1,3 @@
+Route104_Prototype_MapScripts:: @ 82693F2
+ .byte 0
+
diff --git a/data/scripts/maps/Route104_PrototypePrettyPetalFlowerShop.inc b/data/scripts/maps/Route104_PrototypePrettyPetalFlowerShop.inc
new file mode 100644
index 000000000..bacbad7e9
--- /dev/null
+++ b/data/scripts/maps/Route104_PrototypePrettyPetalFlowerShop.inc
@@ -0,0 +1,3 @@
+Route104_PrototypePrettyPetalFlowerShop_MapScripts:: @ 82693F3
+ .byte 0
+
diff --git a/data/scripts/maps/Route105.inc b/data/scripts/maps/Route105.inc
new file mode 100644
index 000000000..72b35e7b0
--- /dev/null
+++ b/data/scripts/maps/Route105.inc
@@ -0,0 +1,107 @@
+Route105_MapScripts:: @ 81EE1DB
+ map_script 1, Route105_MapScript1_1EE1EB
+ map_script 3, Route105_MapScript1_1EE21E
+ map_script 2, Route105_MapScript2_1EE240
+ .byte 0
+
+Route105_MapScript1_1EE1EB: @ 81EE1EB
+ checkflag FLAG_0x0E4
+ call_if 0, Route105_EventScript_1EE20B
+ compare_var_to_value VAR_0x4037, 9
+ call_if 1, Route105_EventScript_2739AB
+ compare_var_to_value VAR_0x4037, 10
+ call_if 1, Route105_EventScript_273A18
+ end
+
+Route105_EventScript_1EE20B:: @ 81EE20B
+ setmetatile 9, 19, 124, 1
+ setmetatile 9, 20, 145, 1
+ return
+
+Route105_MapScript1_1EE21E: @ 81EE21E
+ compare_var_to_value VAR_0x4039, 1
+ call_if 1, Route105_EventScript_273D13
+ compare_var_to_value VAR_0x4037, 9
+ call_if 1, Route105_EventScript_273D17
+ compare_var_to_value VAR_0x4037, 10
+ call_if 1, Route105_EventScript_273D17
+ end
+
+Route105_MapScript2_1EE240: @ 81EE240
+ map_script_2 VAR_0x4039, 1, gUnknown_08273D1F
+ .2byte 0
+
+Route105_EventScript_1EE24A:: @ 81EE24A
+ trainerbattle 0, TRAINER_FOSTER, 0, Route105_Text_295D0F, Route105_Text_295D62
+ msgbox Route105_Text_295DAB, 6
+ end
+
+Route105_EventScript_1EE261:: @ 81EE261
+ trainerbattle 0, TRAINER_LUIS, 0, Route105_Text_295DF5, Route105_Text_295E66
+ msgbox Route105_Text_295E72, 6
+ end
+
+Route105_EventScript_1EE278:: @ 81EE278
+ trainerbattle 0, TRAINER_DOMINIK, 0, Route105_Text_295EB7, Route105_Text_295EEA
+ msgbox Route105_Text_295F08, 6
+ end
+
+Route105_EventScript_1EE28F:: @ 81EE28F
+ trainerbattle 0, TRAINER_BEVERLY, 0, Route105_Text_295F5C, Route105_Text_295FA0
+ msgbox Route105_Text_295FAE, 6
+ end
+
+Route105_EventScript_1EE2A6:: @ 81EE2A6
+ trainerbattle 0, TRAINER_IMANI, 0, Route105_Text_296025, Route105_Text_296059
+ msgbox Route105_Text_296076, 6
+ end
+
+Route105_EventScript_1EE2BD:: @ 81EE2BD
+ trainerbattle 0, TRAINER_JOSUE, 0, Route105_Text_29626F, Route105_Text_2962CB
+ msgbox Route105_Text_2962EC, 6
+ end
+
+Route105_EventScript_1EE2D4:: @ 81EE2D4
+ trainerbattle 2, TRAINER_ANDRES_1, 0, Route105_Text_2960A9, Route105_Text_2960DB, Route105_EventScript_1EE300
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route105_EventScript_1EE31F
+ msgbox Route105_Text_2960FA, 4
+ release
+ end
+
+Route105_EventScript_1EE300:: @ 81EE300
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route105_Text_296159, 4
+ setvar VAR_0x8004, 737
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 737
+ callstd 8
+ release
+ end
+
+Route105_EventScript_1EE31F:: @ 81EE31F
+ trainerbattle 5, TRAINER_ANDRES_1, 0, Route105_Text_29619E, Route105_Text_2961DD
+ msgbox Route105_Text_2961FE, 6
+ end
+
+Route104_Text_1EE336: @ 81EE336
+ .string "… … … … … …\n"
+ .string "… … … … … Beep!\p"
+ .string "DAD: Oh, {PLAYER}?\p"
+ .string "… … … … … …\n"
+ .string "Where are you now?\l"
+ .string "It sounds windy wherever you are.\p"
+ .string "I just heard from DEVON’s MR. STONE\n"
+ .string "about your POKéNAV, so I decided\l"
+ .string "to give you a call.\p"
+ .string "It sounds like you’re doing fine,\n"
+ .string "so that’s fine with me.\p"
+ .string "You take care now.\p"
+ .string "… … … … … …\n"
+ .string "… … … … … Click!$"
+
+Route104_Text_1EE463: @ 81EE463
+ .string "Registered DAD NORMAN\n"
+ .string "in the POKéNAV.$"
diff --git a/data/scripts/maps/Route106.inc b/data/scripts/maps/Route106.inc
new file mode 100644
index 000000000..3bb5e27e7
--- /dev/null
+++ b/data/scripts/maps/Route106.inc
@@ -0,0 +1,52 @@
+Route106_MapScripts:: @ 81EE489
+ .byte 0
+
+Route106_EventScript_1EE48A:: @ 81EE48A
+ msgbox Route106_Text_1EE53A, 3
+ end
+
+Route106_EventScript_1EE493:: @ 81EE493
+ trainerbattle 0, TRAINER_DOUGLAS, 0, Route106_Text_2965BB, Route106_Text_2965FD
+ msgbox Route106_Text_296608, 6
+ end
+
+Route106_EventScript_1EE4AA:: @ 81EE4AA
+ trainerbattle 0, TRAINER_KYLA, 0, Route106_Text_296628, Route106_Text_296674
+ msgbox Route106_Text_29669E, 6
+ end
+
+Route106_EventScript_1EE4C1:: @ 81EE4C1
+ trainerbattle 2, TRAINER_ELLIOT_1, 0, Route106_Text_296327, Route106_Text_29635C, Route106_EventScript_1EE4ED
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route106_EventScript_1EE50C
+ msgbox Route106_Text_29638C, 4
+ release
+ end
+
+Route106_EventScript_1EE4ED:: @ 81EE4ED
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route106_Text_2963E3, 4
+ setvar VAR_0x8004, 339
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 339
+ callstd 8
+ release
+ end
+
+Route106_EventScript_1EE50C:: @ 81EE50C
+ trainerbattle 5, TRAINER_ELLIOT_1, 0, Route106_Text_29642E, Route106_Text_296477
+ msgbox Route106_Text_296493, 6
+ end
+
+Route106_EventScript_1EE523:: @ 81EE523
+ trainerbattle 0, TRAINER_NED, 0, Route106_Text_2964D4, Route106_Text_296553
+ msgbox Route106_Text_296588, 6
+ end
+
+Route106_Text_1EE53A: @ 81EE53A
+ .string "TRAINER TIPS\p"
+ .string "Advice on catching POKéMON with a ROD:\n"
+ .string "Press the A Button if you get a bite.$"
+
diff --git a/data/scripts/maps/Route107.inc b/data/scripts/maps/Route107.inc
new file mode 100644
index 000000000..736eaa8ee
--- /dev/null
+++ b/data/scripts/maps/Route107.inc
@@ -0,0 +1,58 @@
+Route107_MapScripts:: @ 81EE594
+ .byte 0
+
+Route107_EventScript_1EE595:: @ 81EE595
+ trainerbattle 0, TRAINER_DARRIN, 0, Route107_Text_2966E5, Route107_Text_29672F
+ msgbox Route107_Text_29675B, 6
+ end
+
+Route107_EventScript_1EE5AC:: @ 81EE5AC
+ trainerbattle 2, TRAINER_TONY_1, 0, Route107_Text_2967AD, Route107_Text_2967D8, Route107_EventScript_1EE5D8
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route107_EventScript_1EE5F7
+ msgbox Route107_Text_2967FF, 4
+ release
+ end
+
+Route107_EventScript_1EE5D8:: @ 81EE5D8
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route107_Text_29685A, 4
+ setvar VAR_0x8004, 155
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 155
+ callstd 8
+ release
+ end
+
+Route107_EventScript_1EE5F7:: @ 81EE5F7
+ trainerbattle 5, TRAINER_TONY_1, 0, Route107_Text_296897, Route107_Text_2968D5
+ msgbox Route107_Text_296923, 6
+ end
+
+Route107_EventScript_1EE60E:: @ 81EE60E
+ trainerbattle 0, TRAINER_DENISE, 0, Route107_Text_296974, Route107_Text_29699E
+ msgbox Route107_Text_2969AB, 6
+ end
+
+Route107_EventScript_1EE625:: @ 81EE625
+ trainerbattle 0, TRAINER_BETH, 0, Route107_Text_2969E4, Route107_Text_296A17
+ msgbox Route107_Text_296A35, 6
+ end
+
+Route107_EventScript_1EE63C:: @ 81EE63C
+ trainerbattle 4, TRAINER_LISA_AND_RAY, 0, Route107_Text_296A77, Route107_Text_296AA7, Route107_Text_296B1E
+ msgbox Route107_Text_296ADC, 6
+ end
+
+Route107_EventScript_1EE657:: @ 81EE657
+ trainerbattle 4, TRAINER_LISA_AND_RAY, 0, Route107_Text_296B57, Route107_Text_296BB3, Route107_Text_296C34
+ msgbox Route107_Text_296BE1, 6
+ end
+
+Route107_EventScript_1EE672:: @ 81EE672
+ trainerbattle 0, TRAINER_CAMRON, 0, Route107_Text_296C6F, Route107_Text_296CAD
+ msgbox Route107_Text_296CC0, 6
+ end
+
diff --git a/data/scripts/maps/Route108.inc b/data/scripts/maps/Route108.inc
new file mode 100644
index 000000000..d88f63ca1
--- /dev/null
+++ b/data/scripts/maps/Route108.inc
@@ -0,0 +1,53 @@
+Route108_MapScripts:: @ 81EE689
+ .byte 0
+
+Route108_EventScript_1EE68A:: @ 81EE68A
+ trainerbattle 0, TRAINER_JEROME, 0, Route108_Text_296D10, Route108_Text_296D3C
+ msgbox Route108_Text_296D6E, 6
+ end
+
+Route108_EventScript_1EE6A1:: @ 81EE6A1
+ trainerbattle 0, TRAINER_MATTHEW, 0, Route108_Text_296DAF, Route108_Text_296DEA
+ msgbox Route108_Text_296E03, 6
+ end
+
+Route108_EventScript_1EE6B8:: @ 81EE6B8
+ trainerbattle 0, TRAINER_TARA, 0, Route108_Text_296E33, Route108_Text_296E71
+ msgbox Route108_Text_296E7A, 6
+ end
+
+Route108_EventScript_1EE6CF:: @ 81EE6CF
+ trainerbattle 0, TRAINER_MISSY, 0, Route108_Text_296EC7, Route108_Text_296EFC
+ msgbox Route108_Text_296F2A, 6
+ end
+
+Route108_EventScript_1EE6E6:: @ 81EE6E6
+ trainerbattle 0, TRAINER_CAROLINA, 0, Route108_Text_297094, Route108_Text_2970D7
+ msgbox Route108_Text_2970F0, 6
+ end
+
+Route108_EventScript_1EE6FD:: @ 81EE6FD
+ trainerbattle 2, TRAINER_CORY_1, 0, Route108_Text_296F5D, Route108_Text_296F93, Route108_EventScript_1EE729
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route108_EventScript_1EE748
+ msgbox Route108_Text_296FB0, 4
+ release
+ end
+
+Route108_EventScript_1EE729:: @ 81EE729
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route108_Text_296FD8, 4
+ setvar VAR_0x8004, 740
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 740
+ callstd 8
+ release
+ end
+
+Route108_EventScript_1EE748:: @ 81EE748
+ trainerbattle 5, TRAINER_CORY_1, 0, Route108_Text_297011, Route108_Text_297036
+ msgbox Route108_Text_297059, 6
+ end
+
diff --git a/data/scripts/maps/Route109.inc b/data/scripts/maps/Route109.inc
new file mode 100644
index 000000000..4cdd835ff
--- /dev/null
+++ b/data/scripts/maps/Route109.inc
@@ -0,0 +1,573 @@
+Route109_MapScripts:: @ 81EE75F
+ .byte 0
+
+Route109_EventScript_1EE760:: @ 81EE760
+ call Route109_EventScript_271E95
+ setobjectpriority 2, ROUTE_109, 0
+ setobjectpriority 255, ROUTE_109, 0
+ applymovement 2, Route109_Movement_1EE90B
+ waitmovement 0
+ removeobject 2
+ switch VAR_FACING
+ case 1, Route109_EventScript_1EE7A5
+ case 3, Route109_EventScript_1EE7C5
+ case 4, Route109_EventScript_1EE7B5
+ end
+
+Route109_EventScript_1EE7A5:: @ 81EE7A5
+ applymovement 255, Route109_Movement_1EE8FD
+ waitmovement 0
+ goto Route109_EventScript_1EE7D5
+ end
+
+Route109_EventScript_1EE7B5:: @ 81EE7B5
+ applymovement 255, Route109_Movement_1EE905
+ waitmovement 0
+ goto Route109_EventScript_1EE7D5
+ end
+
+Route109_EventScript_1EE7C5:: @ 81EE7C5
+ applymovement 255, Route109_Movement_1EE908
+ waitmovement 0
+ goto Route109_EventScript_1EE7D5
+ end
+
+Route109_EventScript_1EE7D5:: @ 81EE7D5
+ hideobjectat 255, ROUTE_109
+ call Route109_EventScript_2720A0
+ applymovement 1, Route109_Movement_1EE84F
+ applymovement 255, Route109_Movement_1EE84F
+ waitmovement 0
+ delay 50
+ call Route109_EventScript_2720A8
+ showobjectat 255, DEWFORD_TOWN
+ applymovement 255, Route109_Movement_1EE900
+ waitmovement 0
+ addobject 4
+ clearflag FLAG_0x2E7
+ setobjectxyperm 2, 12, 8
+ addobject 2
+ setobjectpriority 2, DEWFORD_TOWN, 0
+ applymovement 2, Route109_Movement_1EE90D
+ waitmovement 0
+ clearflag FLAG_0x2E4
+ setflag FLAG_0x2E8
+ hideobjectat 1, ROUTE_109
+ msgbox Route109_Text_1E9C1D, 4
+ closemessage
+ copyvar VAR_0x4096, VAR_0x8008
+ resetobjectpriority 255, ROUTE_109
+ resetobjectpriority 2, DEWFORD_TOWN
+ moveobjectoffscreen 2
+ release
+ end
+
+Route109_Movement_1EE84F: @ 81EE84F
+ step_25
+ step_down
+ step_down
+ step_15
+ step_15
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_2d
+ step_15
+ step_15
+ step_17
+ step_17
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_2f
+ step_17
+ step_17
+ step_17
+ step_17
+ step_17
+ step_17
+ step_17
+ step_17
+ step_17
+ step_left
+ step_left
+ step_25
+ step_end
+
+Route109_Movement_1EE8FD: @ 81EE8FD
+ step_down
+ step_down
+ step_end
+
+Route109_Movement_1EE900: @ 81EE900
+ step_down
+ step_down
+ step_left
+ step_28
+ step_end
+
+Route109_Movement_1EE905: @ 81EE905
+ step_right
+ step_down
+ step_end
+
+Route109_Movement_1EE908: @ 81EE908
+ step_left
+ step_down
+ step_end
+
+Route109_Movement_1EE90B: @ 81EE90B
+ step_down
+ step_end
+
+Route109_Movement_1EE90D: @ 81EE90D
+ step_down
+ step_27
+ step_end
+
+Route109_EventScript_1EE910:: @ 81EE910
+ lock
+ faceplayer
+ checkflag FLAG_0x095
+ goto_if 0, Route109_EventScript_1EE921
+ goto Route109_EventScript_1EE93F
+ end
+
+Route109_EventScript_1EE921:: @ 81EE921
+ message Route109_Text_1EEC96
+ msgbox Route109_Text_1EEC96, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route109_EventScript_1EE981
+ goto Route109_EventScript_1EE972
+ end
+
+Route109_EventScript_1EE93F:: @ 81EE93F
+ message Route109_Text_1EEE17
+ waitmessage
+ multichoicedefault 21, 8, 14, 1, 0
+ switch VAR_RESULT
+ case 0, Route109_EventScript_1EE972
+ case 1, Route109_EventScript_1EE98B
+ case 127, Route109_EventScript_1EE98B
+ end
+
+Route109_EventScript_1EE972:: @ 81EE972
+ msgbox Route109_Text_1EED06, 4
+ closemessage
+ goto Route109_EventScript_1EE760
+ end
+
+Route109_EventScript_1EE981:: @ 81EE981
+ msgbox Route109_Text_1EED5E, 4
+ release
+ end
+
+Route109_EventScript_1EE98B:: @ 81EE98B
+ msgbox Route109_Text_1EEE72, 4
+ release
+ end
+
+Route109_EventScript_1EE995:: @ 81EE995
+ msgbox Route109_Text_1EEEB4, 2
+ end
+
+Route109_EventScript_1EE99E:: @ 81EE99E
+ lock
+ faceplayer
+ msgbox Route109_Text_1EEFB0, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, Route109_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+Route109_EventScript_1EE9B5:: @ 81EE9B5
+ lock
+ faceplayer
+ special sub_8138B10
+ checkflag FLAG_0x118
+ goto_eq Route109_EventScript_1EE9F2
+ msgbox Route109_Text_1EEFDE, 4
+ giveitem_std ITEM_SOFT_SAND
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route109_EventScript_272054
+ closemessage
+ applymovement VAR_LAST_TALKED, Route109_Movement_2725A2
+ waitmovement 0
+ setflag FLAG_0x118
+ release
+ end
+
+Route109_EventScript_1EE9F2:: @ 81EE9F2
+ msgbox Route109_Text_1EEFF1, 4
+ applymovement VAR_LAST_TALKED, Route109_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+Route109_EventScript_1EEA06:: @ 81EEA06
+ msgbox Route109_Text_1EEF08, 2
+ end
+
+Route109_EventScript_1EEA0F:: @ 81EEA0F
+ msgbox Route109_Text_1EF080, 2
+ end
+
+Route109_EventScript_1EEA18:: @ 81EEA18
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_ZIGZAGOON, 0
+ msgbox Route109_Text_1EF173, 4
+ waitmoncry
+ release
+ end
+
+Route109_EventScript_1EEA2B:: @ 81EEA2B
+ msgbox Route109_Text_1EF185, 3
+ end
+
+Route109_EventScript_1EEA34:: @ 81EEA34
+ msgbox Route109_Text_1EF1D5, 3
+ end
+
+Route109_EventScript_1EEA3D:: @ 81EEA3D
+ trainerbattle 0, TRAINER_DAVID, 0, Route109_Text_297140, Route109_Text_29717D
+ msgbox Route109_Text_297191, 6
+ end
+
+Route109_EventScript_1EEA54:: @ 81EEA54
+ trainerbattle 0, TRAINER_ALICE, 0, Route109_Text_2971D1, Route109_Text_2971FD
+ msgbox Route109_Text_29720F, 6
+ end
+
+Route109_EventScript_1EEA6B:: @ 81EEA6B
+ trainerbattle 0, TRAINER_HUEY, 0, Route109_Text_297235, Route109_Text_29727B
+ msgbox Route109_Text_29728C, 6
+ end
+
+Route109_EventScript_1EEA82:: @ 81EEA82
+ trainerbattle 0, TRAINER_EDMOND, 0, Route109_Text_2972B3, Route109_Text_2972CE
+ msgbox Route109_Text_2972ED, 6
+ end
+
+Route109_EventScript_1EEA99:: @ 81EEA99
+ trainerbattle 2, TRAINER_RICKY_1, 0, Route109_Text_29733B, Route109_Text_297379, Route109_EventScript_1EEAC5
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route109_EventScript_1EEAE4
+ msgbox Route109_Text_297380, 4
+ release
+ end
+
+Route109_EventScript_1EEAC5:: @ 81EEAC5
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route109_Text_2973C1, 4
+ setvar VAR_0x8004, 64
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 64
+ callstd 8
+ release
+ end
+
+Route109_EventScript_1EEAE4:: @ 81EEAE4
+ trainerbattle 5, TRAINER_RICKY_1, 0, Route109_Text_2973FF, Route109_Text_297437
+ msgbox Route109_Text_297458, 6
+ end
+
+Route109_EventScript_1EEAFB:: @ 81EEAFB
+ trainerbattle 2, TRAINER_LOLA_1, 0, Route109_Text_29749C, Route109_Text_2974CF, Route109_EventScript_1EEB27
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route109_EventScript_1EEB46
+ msgbox Route109_Text_2974D6, 4
+ release
+ end
+
+Route109_EventScript_1EEB27:: @ 81EEB27
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route109_Text_297520, 4
+ setvar VAR_0x8004, 57
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 57
+ callstd 8
+ release
+ end
+
+Route109_EventScript_1EEB46:: @ 81EEB46
+ trainerbattle 5, TRAINER_LOLA_1, 0, Route109_Text_297538, Route109_Text_297576
+ msgbox Route109_Text_29757D, 6
+ end
+
+Route109_EventScript_1EEB5D:: @ 81EEB5D
+ trainerbattle 0, TRAINER_AUSTINA, 0, Route109_Text_2975C0, Route109_Text_297601
+ msgbox Route109_Text_29762A, 6
+ end
+
+Route109_EventScript_1EEB74:: @ 81EEB74
+ trainerbattle 0, TRAINER_GWEN, 0, Route109_Text_297667, Route109_Text_297691
+ msgbox Route109_Text_2976A4, 6
+ end
+
+Route109_EventScript_1EEB8B:: @ 81EEB8B
+ trainerbattle 0, TRAINER_CARTER, 0, Route109_Text_2976C5, Route109_Text_2976FC
+ msgbox Route109_Text_297715, 6
+ end
+
+Route109_EventScript_1EEBA2:: @ 81EEBA2
+ trainerbattle 4, TRAINER_MEL_AND_PAUL, 0, Route109_Text_297754, Route109_Text_2977B0, Route109_Text_29781D
+ msgbox Route109_Text_2977C7, 6
+ end
+
+Route109_EventScript_1EEBBD:: @ 81EEBBD
+ trainerbattle 4, TRAINER_MEL_AND_PAUL, 0, Route109_Text_297872, Route109_Text_2978BD, Route109_Text_29792E
+ msgbox Route109_Text_2978F1, 6
+ end
+
+Route109_EventScript_1EEBD8:: @ 81EEBD8
+ trainerbattle 0, TRAINER_CHANDLER, 0, Route109_Text_29798A, Route109_Text_2979AE
+ msgbox Route109_Text_2979BF, 6
+ end
+
+Route109_EventScript_1EEBEF:: @ 81EEBEF
+ trainerbattle 0, TRAINER_HAILEY, 0, Route109_Text_2979EC, Route109_Text_297A15
+ msgbox Route109_Text_297A40, 6
+ end
+
+Route109_EventScript_1EEC06:: @ 81EEC06
+ trainerbattle 0, TRAINER_ELIJAH, 0, Route109_Text_297A82, Route109_Text_297AC7
+ msgbox Route109_Text_297AE5, 6
+ end
+
+DewfordTown_Text_1EEC1D: @ 81EEC1D
+ .string "MR. BRINEY: Ahoy!\n"
+ .string "We’ve made land in SLATEPORT!\p"
+ .string "I suppose you’re going to visit CAPT.\n"
+ .string "STERN and deliver the DEVON GOODS?$"
+
+Route109_Text_1EEC96: @ 81EEC96
+ .string "MR. BRINEY: I thought you’re supposed\n"
+ .string "to deliver the DEVON GOODS.\p"
+ .string "Would you like to sail back to\n"
+ .string "DEWFORD, then?$"
+
+Route109_Text_1EED06: @ 81EED06
+ .string "MR. BRINEY: DEWFORD it is, then!\p"
+ .string "Anchors aweigh!\n"
+ .string "PEEKO, we’re setting sail, my darling!$"
+
+Route109_Text_1EED5E: @ 81EED5E
+ .string "MR. BRINEY: Then you go on and deliver\n"
+ .string "the DEVON GOODS. I’ll be waiting.$"
+
+DewfordTown_Text_1EEDA7: @ 81EEDA7
+ .string "MR. BRINEY: Ahoy! We’ve made land in\n"
+ .string "SLATEPORT!\p"
+ .string "You just go on and tell me whenever\n"
+ .string "you want to set sail again!$"
+
+Route109_Text_1EEE17: @ 81EEE17
+ .string "MR. BRINEY: Ahoy!\n"
+ .string "For you, I’ll go out to sea anytime!\p"
+ .string "Now, my friend, where are we bound?$"
+
+Route109_Text_1EEE72: @ 81EEE72
+ .string "MR. BRINEY: You just tell me whenever\n"
+ .string "you need to set sail again!$"
+
+Route109_Text_1EEEB4: @ 81EEEB4
+ .string "Yo, TRAINERS!\n"
+ .string "Whether you’re hot to trot,\l"
+ .string "or cool cat not,\l"
+ .string "chill at my papa’s spot!$"
+
+Route109_Text_1EEF08: @ 81EEF08
+ .string "Little kids can dart around so quickly…\p"
+ .string "You don’t dare take your eyes off them\n"
+ .string "for an instant. It’s very taxing.\p"
+ .string "Mine are with my POKéMON, so they\n"
+ .string "should be okay, but…$"
+
+Route109_Text_1EEFB0: @ 81EEFB0
+ .string "Our sand castle’s taking a long time\n"
+ .string "to make.$"
+
+Route109_Text_1EEFDE: @ 81EEFDE
+ .string "You can have this!$"
+
+Route109_Text_1EEFF1: @ 81EEFF1
+ .string "We’re going to get all the sand from\n"
+ .string "the beach and make a big castle!\p"
+ .string "And then we’re going to be a king and\n"
+ .string "queen.\p"
+ .string "We’ll let you be a servant.$"
+
+Route109_Text_1EF080: @ 81EF080
+ .string "The water around these parts is clean.\p"
+ .string "But, I get my ZIGZAGOON to pick up\n"
+ .string "litter from the shoreline at times.\p"
+ .string "Dirty water becomes rain and joins our\n"
+ .string "rivers, which we drink from…\p"
+ .string "If we pollute the sea, it all comes\n"
+ .string "back to haunt us eventually.$"
+
+Route109_Text_1EF173: @ 81EF173
+ .string "ZIGZAGOON: Guguu?$"
+
+Route109_Text_1EF185: @ 81EF185
+ .string "SEASHORE HOUSE\p"
+ .string "“May hot battles rage on hot sands!\n"
+ .string "The place for hot TRAINERS!”$"
+
+Route109_Text_1EF1D5: @ 81EF1D5
+ .string "TRAINER TIPS\p"
+ .string "POKéMON at the same level may not\n"
+ .string "always have identical stats.\p"
+ .string "POKéMON raised by TRAINERS are said\n"
+ .string "to grow stronger than wild POKéMON.$"
diff --git a/data/scripts/maps/Route109_SeashoreHouse.inc b/data/scripts/maps/Route109_SeashoreHouse.inc
new file mode 100644
index 000000000..6a1c487fe
--- /dev/null
+++ b/data/scripts/maps/Route109_SeashoreHouse.inc
@@ -0,0 +1,196 @@
+Route109_SeashoreHouse_MapScripts:: @ 82693F4
+ map_script 3, Route109_SeashoreHouse_MapScript1_2693FA
+ .byte 0
+
+Route109_SeashoreHouse_MapScript1_2693FA: @ 82693FA
+ setflag FLAG_0x89F
+ end
+
+Route109_SeashoreHouse_EventScript_2693FE:: @ 82693FE
+ lock
+ faceplayer
+ checkflag FLAG_0x08C
+ goto_eq Route109_SeashoreHouse_EventScript_269460
+ checkflag FLAG_0x08D
+ goto_eq Route109_SeashoreHouse_EventScript_269432
+ checkflag FLAG_0x002
+ goto_eq Route109_SeashoreHouse_EventScript_269428
+ msgbox Route109_SeashoreHouse_Text_269555, 4
+ setflag FLAG_0x002
+ release
+ end
+
+Route109_SeashoreHouse_EventScript_269428:: @ 8269428
+ msgbox Route109_SeashoreHouse_Text_269635, 4
+ release
+ end
+
+Route109_SeashoreHouse_EventScript_269432:: @ 8269432
+ msgbox Route109_SeashoreHouse_Text_269685, 4
+ giveitem_std ITEM_SODA_POP, 6
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route109_SeashoreHouse_EventScript_269456
+ setflag FLAG_0x08C
+ release
+ end
+
+Route109_SeashoreHouse_EventScript_269456:: @ 8269456
+ msgbox Route109_SeashoreHouse_Text_26973A, 4
+ release
+ end
+
+Route109_SeashoreHouse_EventScript_269460:: @ 8269460
+ showmoneybox 0, 0, 0
+ msgbox Route109_SeashoreHouse_Text_26977E, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route109_SeashoreHouse_EventScript_269484
+ msgbox Route109_SeashoreHouse_Text_2697EF, 4
+ hidemoneybox
+ nop
+ nop
+ release
+ end
+
+Route109_SeashoreHouse_EventScript_269484:: @ 8269484
+ checkmoney 0x12c, 0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route109_SeashoreHouse_EventScript_2694C8
+ checkitemspace ITEM_SODA_POP, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route109_SeashoreHouse_EventScript_2694D5
+ msgbox Route109_SeashoreHouse_Text_2697C8, 4
+ takemoney 0x12c, 0
+ updatemoneybox 0, 0
+ nop
+ giveitem_std ITEM_SODA_POP
+ hidemoneybox
+ nop
+ nop
+ release
+ end
+
+Route109_SeashoreHouse_EventScript_2694C8:: @ 82694C8
+ msgbox Route109_SeashoreHouse_Text_2697D5, 4
+ hidemoneybox
+ nop
+ nop
+ release
+ end
+
+Route109_SeashoreHouse_EventScript_2694D5:: @ 82694D5
+ msgbox gUnknown_08272AD0, 4
+ hidemoneybox
+ nop
+ nop
+ release
+ end
+
+Route109_SeashoreHouse_EventScript_2694E2:: @ 82694E2
+ trainerbattle 2, TRAINER_DWAYNE, 0, Route109_SeashoreHouse_Text_269803, Route109_SeashoreHouse_Text_269867, Route109_SeashoreHouse_EventScript_269533
+ msgbox Route109_SeashoreHouse_Text_26989D, 6
+ end
+
+Route109_SeashoreHouse_EventScript_2694FD:: @ 82694FD
+ trainerbattle 2, TRAINER_JOHANNA, 0, Route109_SeashoreHouse_Text_2698E3, Route109_SeashoreHouse_Text_269947, Route109_SeashoreHouse_EventScript_269533
+ msgbox Route109_SeashoreHouse_Text_269953, 6
+ end
+
+Route109_SeashoreHouse_EventScript_269518:: @ 8269518
+ trainerbattle 2, TRAINER_SIMON, 0, Route109_SeashoreHouse_Text_269986, Route109_SeashoreHouse_Text_2699C5, Route109_SeashoreHouse_EventScript_269533
+ msgbox Route109_SeashoreHouse_Text_2699DF, 6
+ end
+
+Route109_SeashoreHouse_EventScript_269533:: @ 8269533
+ checktrainerflag TRAINER_DWAYNE
+ goto_if 0, Route109_SeashoreHouse_EventScript_269553
+ checktrainerflag TRAINER_JOHANNA
+ goto_if 0, Route109_SeashoreHouse_EventScript_269553
+ checktrainerflag TRAINER_SIMON
+ goto_if 0, Route109_SeashoreHouse_EventScript_269553
+ setflag FLAG_0x08D
+ release
+ end
+
+Route109_SeashoreHouse_EventScript_269553:: @ 8269553
+ release
+ end
+
+Route109_SeashoreHouse_Text_269555: @ 8269555
+ .string "I’m the owner of the SEASHORE HOUSE.\n"
+ .string "But you can call me MR. SEA!\p"
+ .string "What I love above all is to see hot\n"
+ .string "POKéMON battles.\p"
+ .string "Let me see that your heart burns hot!\p"
+ .string "If you can defeat all the TRAINERS\n"
+ .string "here, I’ll reward your efforts.$"
+
+Route109_SeashoreHouse_Text_269635: @ 8269635
+ .string "Show me some hot matches!\p"
+ .string "I run this SEASHORE HOUSE just for\n"
+ .string "that reason alone!$"
+
+Route109_SeashoreHouse_Text_269685: @ 8269685
+ .string "You’re scorching hot!\n"
+ .string "Those battles blazed!\l"
+ .string "I’m more than just satisfied!\p"
+ .string "As thanks for showing me your hot\n"
+ .string "streak, I want you to take these.\p"
+ .string "It’s half a dozen bottles of SODA POP!$"
+
+Route109_SeashoreHouse_Text_26973A: @ 826973A
+ .string "Oh, but hey, your BAG’s jammed full.\n"
+ .string "I’ll hang on to these for you.$"
+
+Route109_SeashoreHouse_Text_26977E: @ 826977E
+ .string "Want to buy some SODA POP?\n"
+ .string "POKéMON love it!\p"
+ .string "Just ¥300 a bottle!\n"
+ .string "Buy some!$"
+
+Route109_SeashoreHouse_Text_2697C8: @ 82697C8
+ .string "Here you go!$"
+
+Route109_SeashoreHouse_Text_2697D5: @ 82697D5
+ .string "You don’t have the money.$"
+
+Route109_SeashoreHouse_Text_2697EF: @ 82697EF
+ .string "No?\n"
+ .string "That’s too bad.$"
+
+Route109_SeashoreHouse_Text_269803: @ 8269803
+ .string "If you’re looking for a battle in the\n"
+ .string "SEASHORE HOUSE, you’ll find no\l"
+ .string "hotter TRAINER than me, matey!$"
+
+Route109_SeashoreHouse_Text_269867: @ 8269867
+ .string "That was a hot battle!\n"
+ .string "I can accept that loss, matey!$"
+
+Route109_SeashoreHouse_Text_26989D: @ 826989D
+ .string "Whenever I’m in SLATEPORT, I enjoy\n"
+ .string "hot battles and ice-cold SODA POP!$"
+
+Route109_SeashoreHouse_Text_2698E3: @ 82698E3
+ .string "Boring battles aren’t worth the effort.\p"
+ .string "Fiery hot battles are what toughen up\n"
+ .string "TRAINERS and POKéMON!$"
+
+Route109_SeashoreHouse_Text_269947: @ 8269947
+ .string "That’s hot!$"
+
+Route109_SeashoreHouse_Text_269953: @ 8269953
+ .string "Whew, I’m all thirsty.\n"
+ .string "Maybe I’ll have a SODA POP.$"
+
+Route109_SeashoreHouse_Text_269986: @ 8269986
+ .string "I’m going to show you how great\n"
+ .string "my POKéMON are, but don’t cry!$"
+
+Route109_SeashoreHouse_Text_2699C5: @ 82699C5
+ .string "…I lost, but I won’t cry…$"
+
+Route109_SeashoreHouse_Text_2699DF: @ 82699DF
+ .string "If one of my POKéMON knew the move\n"
+ .string "for carrying me across water on its\l"
+ .string "back, I could get rid of this inner tube.$"
+
diff --git a/data/scripts/maps/Route110.inc b/data/scripts/maps/Route110.inc
new file mode 100644
index 000000000..0fa78b385
--- /dev/null
+++ b/data/scripts/maps/Route110.inc
@@ -0,0 +1,1030 @@
+Route110_MapScripts:: @ 81EF269
+ map_script 5, Route110_MapScript1_1EF279
+ map_script 3, Route110_MapScript1_1EF27D
+ map_script 2, Route110_MapScript2_1EF297
+ .byte 0
+
+Route110_MapScript1_1EF279: @ 81EF279
+ special sub_8137F44
+ end
+
+Route110_MapScript1_1EF27D: @ 81EF27D
+ call Route110_EventScript_271ED7
+ call Route110_EventScript_271EFB
+ compare_var_to_value VAR_0x40A9, 1
+ call_if 1, Route110_EventScript_1EF293
+ end
+
+Route110_EventScript_1EF293:: @ 81EF293
+ savebgm BGM_CYCLING
+ return
+
+Route110_MapScript2_1EF297: @ 81EF297
+ map_script_2 VAR_0x40A9, 1, Route110_EventScript_1EF2A1
+ .2byte 0
+
+Route110_EventScript_1EF2A1:: @ 81EF2A1
+ special sub_8137D0C
+ setvar VAR_0x40A9, 2
+ return
+
+Route110_EventScript_1EF2AA:: @ 81EF2AA
+ lock
+ faceplayer
+ msgbox Route110_Text_1EFB5D, 4
+ applymovement VAR_LAST_TALKED, Route110_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+Route110_EventScript_1EF2C0:: @ 81EF2C0
+ lock
+ faceplayer
+ msgbox Route110_Text_1EFB93, 4
+ applymovement VAR_LAST_TALKED, Route110_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+Route110_EventScript_1EF2D6:: @ 81EF2D6
+ lock
+ faceplayer
+ msgbox Route110_Text_1EFBCA, 4
+ applymovement VAR_LAST_TALKED, Route110_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+Route110_EventScript_1EF2EC:: @ 81EF2EC
+ lock
+ faceplayer
+ msgbox Route110_Text_1EFC0D, 4
+ applymovement VAR_LAST_TALKED, Route110_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+Route110_EventScript_1EF302:: @ 81EF302
+ msgbox Route110_Text_1EFFC3, 2
+ end
+
+Route110_EventScript_1EF30B:: @ 81EF30B
+ msgbox Route110_Text_1F0006, 2
+ end
+
+Route110_EventScript_1EF314:: @ 81EF314
+ msgbox Route110_Text_1F006A, 2
+ end
+
+Route110_EventScript_1EF31D:: @ 81EF31D
+ msgbox Route110_Text_1F0261, 2
+ end
+
+Route110_EventScript_1EF326:: @ 81EF326
+ msgbox Route110_Text_1F02CA, 2
+ end
+
+Route110_EventScript_1EF32F:: @ 81EF32F
+ msgbox Route110_Text_1F030E, 2
+ end
+
+Route110_EventScript_1EF338:: @ 81EF338
+ msgbox Route110_Text_1F0390, 2
+ end
+
+Route110_EventScript_1EF341:: @ 81EF341
+ msgbox Route110_Text_1F0812, 3
+ end
+
+Route110_EventScript_1EF34A:: @ 81EF34A
+ msgbox Route110_Text_1F082D, 3
+ end
+
+Route110_EventScript_1EF353:: @ 81EF353
+ msgbox Route110_Text_1F0842, 3
+ end
+
+Route110_EventScript_1EF35C:: @ 81EF35C
+ msgbox Route110_Text_1F08CD, 3
+ end
+
+Route110_EventScript_1EF365:: @ 81EF365
+ msgbox Route110_Text_1F08E3, 3
+ end
+
+Route110_EventScript_1EF36E:: @ 81EF36E
+ msgbox Route110_Text_1F08F3, 3
+ end
+
+Route110_EventScript_1EF377:: @ 81EF377
+ msgbox Route110_Text_1F090D, 3
+ end
+
+Route110_EventScript_1EF380:: @ 81EF380
+ msgbox Route110_Text_1F0992, 3
+ end
+
+Route110_EventScript_1EF389:: @ 81EF389
+ msgbox Route110_Text_1F09DB, 3
+ end
+
+Route110_EventScript_1EF392:: @ 81EF392
+ lockall
+ specialvar VAR_RESULT, sub_8137EFC
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route110_EventScript_1EF3AD
+ msgbox Route110_Text_1F0A1E, 4
+ releaseall
+ end
+
+Route110_EventScript_1EF3AD:: @ 81EF3AD
+ msgbox Route110_Text_1F0A5E, 4
+ releaseall
+ end
+
+Route110_EventScript_1EF3B7:: @ 81EF3B7
+ lock
+ faceplayer
+ specialvar VAR_RESULT, sp0E3_walkrun_bitfield_interpretation
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route110_EventScript_1EF3E8
+ compare_var_to_value VAR_0x40A9, 0
+ goto_eq Route110_EventScript_1EF3DE
+ msgbox Route110_Text_1F06FB, 4
+ release
+ end
+
+Route110_EventScript_1EF3DE:: @ 81EF3DE
+ msgbox Route110_Text_1F0661, 4
+ release
+ end
+
+Route110_EventScript_1EF3E8:: @ 81EF3E8
+ msgbox Route110_Text_1F0755, 4
+ release
+ end
+
+Route110_EventScript_1EF3F2:: @ 81EF3F2
+ trainerbattle 0, TRAINER_EDWARD, 0, Route110_Text_29802B, Route110_Text_298064
+ msgbox Route110_Text_29808A, 6
+ end
+
+Route110_EventScript_1EF409:: @ 81EF409
+ trainerbattle 0, TRAINER_JACLYN, 0, Route110_Text_2980B9, Route110_Text_2980E5
+ msgbox Route110_Text_2980F8, 6
+ end
+
+Route110_EventScript_1EF420:: @ 81EF420
+ trainerbattle 2, TRAINER_EDWIN_1, 0, Route110_Text_29815E, Route110_Text_29818F, Route110_EventScript_1EF44C
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route110_EventScript_1EF46B
+ msgbox Route110_Text_2981B3, 4
+ release
+ end
+
+Route110_EventScript_1EF44C:: @ 81EF44C
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route110_Text_298201, 4
+ setvar VAR_0x8004, 512
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 512
+ callstd 8
+ release
+ end
+
+Route110_EventScript_1EF46B:: @ 81EF46B
+ trainerbattle 5, TRAINER_EDWIN_1, 0, Route110_Text_298232, Route110_Text_298288
+ msgbox Route110_Text_2982A2, 6
+ end
+
+Route110_EventScript_1EF482:: @ 81EF482
+ trainerbattle 0, TRAINER_DALE, 0, Route110_Text_2982CC, Route110_Text_2982F5
+ msgbox Route110_Text_298303, 6
+ end
+
+Route110_EventScript_1EF499:: @ 81EF499
+ trainerbattle 0, TRAINER_JACOB, 0, Route110_Text_297B3F, Route110_Text_297B77
+ msgbox Route110_Text_297B8F, 6
+ end
+
+Route110_EventScript_1EF4B0:: @ 81EF4B0
+ trainerbattle 0, TRAINER_ANTHONY, 0, Route110_Text_297BE7, Route110_Text_297C0F
+ msgbox Route110_Text_297C1F, 6
+ end
+
+Route110_EventScript_1EF4C7:: @ 81EF4C7
+ trainerbattle 2, TRAINER_BENJAMIN_1, 0, Route110_Text_297C63, Route110_Text_297C8A, Route110_EventScript_1EF4F3
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route110_EventScript_1EF512
+ msgbox Route110_Text_297CB4, 4
+ release
+ end
+
+Route110_EventScript_1EF4F3:: @ 81EF4F3
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route110_Text_297CFE, 4
+ setvar VAR_0x8004, 353
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 353
+ callstd 8
+ release
+ end
+
+Route110_EventScript_1EF512:: @ 81EF512
+ trainerbattle 5, TRAINER_BENJAMIN_1, 0, Route110_Text_297D4B, Route110_Text_297D8E
+ msgbox Route110_Text_297DB0, 6
+ end
+
+Route110_EventScript_1EF529:: @ 81EF529
+ trainerbattle 0, TRAINER_JASMINE, 0, Route110_Text_297F93, Route110_Text_297FD0
+ msgbox Route110_Text_297FF1, 6
+ end
+
+Route110_EventScript_1EF540:: @ 81EF540
+ trainerbattle 2, TRAINER_ABIGAIL_1, 0, Route110_Text_297DFA, Route110_Text_297E69, Route110_EventScript_1EF56C
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route110_EventScript_1EF58B
+ msgbox Route110_Text_297E88, 4
+ release
+ end
+
+Route110_EventScript_1EF56C:: @ 81EF56C
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route110_Text_297ECD, 4
+ setvar VAR_0x8004, 358
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 358
+ callstd 8
+ release
+ end
+
+Route110_EventScript_1EF58B:: @ 81EF58B
+ trainerbattle 5, TRAINER_ABIGAIL_1, 0, Route110_Text_297F09, Route110_Text_297F37
+ msgbox Route110_Text_297F58, 6
+ end
+
+Route110_EventScript_1EF5A2:: @ 81EF5A2
+ trainerbattle 2, TRAINER_ISABEL_1, 0, Route110_Text_298349, Route110_Text_298389, Route110_EventScript_1EF5CE
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route110_EventScript_1EF5ED
+ msgbox Route110_Text_2983A2, 4
+ release
+ end
+
+Route110_EventScript_1EF5CE:: @ 81EF5CE
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route110_Text_2983EE, 4
+ setvar VAR_0x8004, 302
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 302
+ callstd 8
+ release
+ end
+
+Route110_EventScript_1EF5ED:: @ 81EF5ED
+ trainerbattle 5, TRAINER_ISABEL_1, 0, Route110_Text_298466, Route110_Text_2984AF
+ msgbox Route110_Text_2984C8, 6
+ end
+
+Route110_EventScript_1EF604:: @ 81EF604
+ trainerbattle 0, TRAINER_TIMMY, 0, Route110_Text_298525, Route110_Text_298559
+ msgbox Route110_Text_298579, 6
+ end
+
+Route110_EventScript_1EF61B:: @ 81EF61B
+ end
+
+Route110_EventScript_1EF61C:: @ 81EF61C
+ trainerbattle 0, TRAINER_KALEB, 0, Route110_Text_2986ED, Route110_Text_298735
+ msgbox Route110_Text_298755, 6
+ end
+
+Route110_EventScript_1EF633:: @ 81EF633
+ trainerbattle 0, TRAINER_JOSEPH, 0, Route110_Text_298642, Route110_Text_298686
+ msgbox Route110_Text_2986A9, 6
+ end
+
+Route110_EventScript_1EF64A:: @ 81EF64A
+ trainerbattle 0, TRAINER_ALYSSA, 0, Route110_Text_2985AB, Route110_Text_2985F9
+ msgbox Route110_Text_298612, 6
+ end
+
+Route110_EventScript_1EF661:: @ 81EF661
+ lockall
+ applymovement 21, Route110_Movement_2725A8
+ waitmovement 0
+ call Route110_EventScript_1EF673
+ releaseall
+ end
+
+Route110_EventScript_1EF673:: @ 81EF673
+ special sub_8137E6C
+ msgbox Route110_Text_1F03FF, 4
+ switch VAR_RESULT
+ case 10, Route110_EventScript_1EF6FD
+ case 9, Route110_EventScript_1EF70B
+ case 8, Route110_EventScript_1EF70B
+ case 7, Route110_EventScript_1EF70B
+ case 6, Route110_EventScript_1EF719
+ case 5, Route110_EventScript_1EF719
+ case 4, Route110_EventScript_1EF719
+ case 3, Route110_EventScript_1EF727
+ case 2, Route110_EventScript_1EF727
+ case 1, Route110_EventScript_1EF727
+ case 0, Route110_EventScript_1EF735
+ end
+
+Route110_EventScript_1EF6FD:: @ 81EF6FD
+ msgbox Route110_Text_1F0431, 4
+ goto Route110_EventScript_1EF743
+ end
+
+Route110_EventScript_1EF70B:: @ 81EF70B
+ msgbox Route110_Text_1F04A4, 4
+ goto Route110_EventScript_1EF743
+ end
+
+Route110_EventScript_1EF719:: @ 81EF719
+ msgbox Route110_Text_1F0500, 4
+ goto Route110_EventScript_1EF743
+ end
+
+Route110_EventScript_1EF727:: @ 81EF727
+ msgbox Route110_Text_1F0567, 4
+ goto Route110_EventScript_1EF743
+ end
+
+Route110_EventScript_1EF735:: @ 81EF735
+ msgbox Route110_Text_1F05CE, 4
+ goto Route110_EventScript_1EF743
+ end
+
+Route110_EventScript_1EF743:: @ 81EF743
+ setvar VAR_0x40A9, 3
+ savebgm SE_STOP
+ fadedefaultbgm
+ return
+
+Route110_EventScript_1EF74D:: @ 81EF74D
+ setvar VAR_0x8008, 1
+ goto Route110_EventScript_1EF76E
+ end
+
+Route110_EventScript_1EF758:: @ 81EF758
+ setvar VAR_0x8008, 2
+ goto Route110_EventScript_1EF76E
+ end
+
+Route110_EventScript_1EF763:: @ 81EF763
+ setvar VAR_0x8008, 3
+ goto Route110_EventScript_1EF76E
+ end
+
+Route110_EventScript_1EF76E:: @ 81EF76E
+ lockall
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, Route110_EventScript_1EF7E1
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, Route110_EventScript_1EF7E6
+ applymovement 28, Route110_Movement_2725AA
+ waitmovement 0
+ applymovement 28, Route110_Movement_272598
+ waitmovement 0
+ applymovement 28, Route110_Movement_27259A
+ waitmovement 0
+ delay 30
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, Route110_EventScript_1EF94E
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, Route110_EventScript_1EF959
+ compare_var_to_value VAR_0x8008, 3
+ call_if 1, Route110_EventScript_1EF964
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route110_EventScript_1EF7EB
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route110_EventScript_1EF865
+ releaseall
+ end
+
+Route110_EventScript_1EF7E1:: @ 81EF7E1
+ playbgm BGM_GIRL_SUP, 1
+ return
+
+Route110_EventScript_1EF7E6:: @ 81EF7E6
+ playbgm BGM_BOY_SUP, 1
+ return
+
+Route110_EventScript_1EF7EB:: @ 81EF7EB
+ msgbox Route110_Text_1EFC48, 4
+ switch VAR_FIRST_POKE
+ case 0, Route110_EventScript_1EF81A
+ case 1, Route110_EventScript_1EF82A
+ case 2, Route110_EventScript_1EF83A
+ end
+
+Route110_EventScript_1EF81A:: @ 81EF81A
+ trainerbattle 3, TRAINER_MAY_5, 0, Route110_Text_1EFCCB
+ goto Route110_EventScript_1EF84A
+ end
+
+Route110_EventScript_1EF82A:: @ 81EF82A
+ trainerbattle 3, TRAINER_MAY_8, 0, Route110_Text_1EFCCB
+ goto Route110_EventScript_1EF84A
+ end
+
+Route110_EventScript_1EF83A:: @ 81EF83A
+ trainerbattle 3, TRAINER_MAY_2, 0, Route110_Text_1EFCCB
+ goto Route110_EventScript_1EF84A
+ end
+
+Route110_EventScript_1EF84A:: @ 81EF84A
+ msgbox Route110_Text_1EFCF1, 4
+ call Route110_EventScript_1EF8DF
+ msgbox Route110_Text_1EFD58, 4
+ goto Route110_EventScript_1EF8EC
+ end
+
+Route110_EventScript_1EF865:: @ 81EF865
+ msgbox Route110_Text_1EFE3F, 4
+ switch VAR_FIRST_POKE
+ case 0, Route110_EventScript_1EF894
+ case 1, Route110_EventScript_1EF8A4
+ case 2, Route110_EventScript_1EF8B4
+ end
+
+Route110_EventScript_1EF894:: @ 81EF894
+ trainerbattle 3, TRAINER_BRENDAN_5, 0, Route110_Text_1EFEB4
+ goto Route110_EventScript_1EF8C4
+ end
+
+Route110_EventScript_1EF8A4:: @ 81EF8A4
+ trainerbattle 3, TRAINER_BRENDAN_8, 0, Route110_Text_1EFEB4
+ goto Route110_EventScript_1EF8C4
+ end
+
+Route110_EventScript_1EF8B4:: @ 81EF8B4
+ trainerbattle 3, TRAINER_BRENDAN_2, 0, Route110_Text_1EFEB4
+ goto Route110_EventScript_1EF8C4
+ end
+
+Route110_EventScript_1EF8C4:: @ 81EF8C4
+ msgbox Route110_Text_1EFECD, 4
+ call Route110_EventScript_1EF8DF
+ msgbox Route110_Text_1EFF1C, 4
+ goto Route110_EventScript_1EF8EC
+ end
+
+Route110_EventScript_1EF8DF:: @ 81EF8DF
+ giveitem_std ITEM_ITEMFINDER
+ return
+
+Route110_EventScript_1EF8EC:: @ 81EF8EC
+ closemessage
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, Route110_EventScript_1EF990
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, Route110_EventScript_1EF998
+ compare_var_to_value VAR_0x8008, 3
+ call_if 1, Route110_EventScript_1EF9A0
+ setobjectmovementtype 28, 10
+ setobjectmovementtype 29, 10
+ removeobject 28
+ addobject 29
+ delay 45
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, Route110_EventScript_1EF96F
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, Route110_EventScript_1EF97A
+ compare_var_to_value VAR_0x8008, 3
+ call_if 1, Route110_EventScript_1EF985
+ removeobject 29
+ setvar VAR_0x4069, 1
+ savebgm SE_STOP
+ fadedefaultbgm
+ releaseall
+ end
+
+Route110_EventScript_1EF94E:: @ 81EF94E
+ applymovement 28, Route110_Movement_1EF9A8
+ waitmovement 0
+ return
+
+Route110_EventScript_1EF959:: @ 81EF959
+ applymovement 28, Route110_Movement_1EF9AC
+ waitmovement 0
+ return
+
+Route110_EventScript_1EF964:: @ 81EF964
+ applymovement 28, Route110_Movement_1EF9AE
+ waitmovement 0
+ return
+
+Route110_EventScript_1EF96F:: @ 81EF96F
+ applymovement 29, Route110_Movement_1EF9B2
+ waitmovement 0
+ return
+
+Route110_EventScript_1EF97A:: @ 81EF97A
+ applymovement 29, Route110_Movement_1EF9BA
+ waitmovement 0
+ return
+
+Route110_EventScript_1EF985:: @ 81EF985
+ applymovement 29, Route110_Movement_1EF9C3
+ waitmovement 0
+ return
+
+Route110_EventScript_1EF990:: @ 81EF990
+ setobjectxyperm 29, 33, 55
+ return
+
+Route110_EventScript_1EF998:: @ 81EF998
+ setobjectxyperm 29, 34, 55
+ return
+
+Route110_EventScript_1EF9A0:: @ 81EF9A0
+ setobjectxyperm 29, 35, 55
+ return
+
+Route110_Movement_1EF9A8: @ 81EF9A8
+ step_down
+ step_left
+ step_25
+ step_end
+
+Route110_Movement_1EF9AC: @ 81EF9AC
+ step_down
+ step_end
+
+Route110_Movement_1EF9AE: @ 81EF9AE
+ step_down
+ step_right
+ step_25
+ step_end
+
+Route110_Movement_1EF9B2: @ 81EF9B2
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_end
+
+Route110_Movement_1EF9BA: @ 81EF9BA
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_15
+ step_end
+
+Route110_Movement_1EF9C3: @ 81EF9C3
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_end
+
+Route110_EventScript_1EF9CB:: @ 81EF9CB
+ lockall
+ setvar VAR_0x8008, 1
+ goto Route110_EventScript_1EF9F7
+
+Route110_EventScript_1EF9D6:: @ 81EF9D6
+ lockall
+ setvar VAR_0x8008, 2
+ goto Route110_EventScript_1EF9F7
+
+Route110_EventScript_1EF9E1:: @ 81EF9E1
+ lockall
+ setvar VAR_0x8008, 3
+ goto Route110_EventScript_1EF9F7
+
+Route110_EventScript_1EF9EC:: @ 81EF9EC
+ lockall
+ setvar VAR_0x8008, 4
+ goto Route110_EventScript_1EF9F7
+
+Route110_EventScript_1EF9F7:: @ 81EF9F7
+ addobject 36
+ applymovement 36, Route110_Movement_1EFB30
+ waitmovement 0
+ playse SE_PIN
+ applymovement 36, Route110_Movement_272598
+ waitmovement 0
+ applymovement 36, Route110_Movement_27259A
+ waitmovement 0
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, Route110_EventScript_1EFAD8
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, Route110_EventScript_1EFAE3
+ compare_var_to_value VAR_0x8008, 3
+ call_if 1, Route110_EventScript_1EFAEE
+ compare_var_to_value VAR_0x8008, 4
+ call_if 1, Route110_EventScript_1EFAF9
+ msgbox Route110_Text_1F0AB5, 4
+ closemessage
+ delay 20
+ applymovement 36, Route110_Movement_2725A4
+ waitmovement 0
+ delay 10
+ applymovement 36, Route110_Movement_2725A8
+ waitmovement 0
+ delay 20
+ applymovement 36, Route110_Movement_2725AA
+ waitmovement 0
+ delay 30
+ msgbox Route110_Text_1F0AFF, 4
+ closemessage
+ delay 30
+ playfanfare BGM_ME_MATCH_CALL
+ msgbox Route110_Text_1F0C0C, 4
+ waitfanfare
+ closemessage
+ delay 30
+ setflag FLAG_0x119
+ msgbox Route110_Text_1F0C33, 4
+ closemessage
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, Route110_EventScript_1EFB04
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, Route110_EventScript_1EFB0F
+ compare_var_to_value VAR_0x8008, 3
+ call_if 1, Route110_EventScript_1EFB1A
+ compare_var_to_value VAR_0x8008, 4
+ call_if 1, Route110_EventScript_1EFB25
+ removeobject 36
+ setvar VAR_0x40DA, 2
+ releaseall
+ end
+
+Route110_EventScript_1EFAD8:: @ 81EFAD8
+ applymovement 36, Route110_Movement_1EFB34
+ waitmovement 0
+ return
+
+Route110_EventScript_1EFAE3:: @ 81EFAE3
+ applymovement 36, Route110_Movement_1EFB39
+ waitmovement 0
+ return
+
+Route110_EventScript_1EFAEE:: @ 81EFAEE
+ applymovement 36, Route110_Movement_1EFB3D
+ waitmovement 0
+ return
+
+Route110_EventScript_1EFAF9:: @ 81EFAF9
+ applymovement 36, Route110_Movement_1EFB40
+ waitmovement 0
+ return
+
+Route110_EventScript_1EFB04:: @ 81EFB04
+ applymovement 36, Route110_Movement_1EFB44
+ waitmovement 0
+ return
+
+Route110_EventScript_1EFB0F:: @ 81EFB0F
+ applymovement 36, Route110_Movement_1EFB4B
+ waitmovement 0
+ return
+
+Route110_EventScript_1EFB1A:: @ 81EFB1A
+ applymovement 36, Route110_Movement_1EFB51
+ waitmovement 0
+ return
+
+Route110_EventScript_1EFB25:: @ 81EFB25
+ applymovement 36, Route110_Movement_1EFB57
+ waitmovement 0
+ return
+
+Route110_Movement_1EFB30: @ 81EFB30
+ step_down
+ step_down
+ step_down
+ step_end
+
+Route110_Movement_1EFB34: @ 81EFB34
+ step_down
+ step_left
+ step_left
+ step_down
+ step_end
+
+Route110_Movement_1EFB39: @ 81EFB39
+ step_down
+ step_left
+ step_down
+ step_end
+
+Route110_Movement_1EFB3D: @ 81EFB3D
+ step_down
+ step_down
+ step_end
+
+Route110_Movement_1EFB40: @ 81EFB40
+ step_down
+ step_right
+ step_down
+ step_end
+
+Route110_Movement_1EFB44: @ 81EFB44
+ step_up
+ step_up
+ step_right
+ step_up
+ step_up
+ step_up
+ step_end
+
+Route110_Movement_1EFB4B: @ 81EFB4B
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+Route110_Movement_1EFB51: @ 81EFB51
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+Route110_Movement_1EFB57: @ 81EFB57
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+Route110_Text_1EFB5D: @ 81EFB5D
+ .string "TEAM AQUA’s activities…\n"
+ .string "We can’t talk about them yet.$"
+
+Route110_Text_1EFB93: @ 81EFB93
+ .string "I want to get going to SLATEPORT and\n"
+ .string "kick up a ruckus!$"
+
+Route110_Text_1EFBCA: @ 81EFBCA
+ .string "This is my first job after joining\n"
+ .string "TEAM AQUA. It’s a little scary.$"
+
+Route110_Text_1EFC0D: @ 81EFC0D
+ .string "TEAM AQUA’s actions should bring\n"
+ .string "smiles to people’s faces!$"
+
+Route110_Text_1EFC48: @ 81EFC48
+ .string "MAY: Hi, {PLAYER}{KUN}, long time no see!\p"
+ .string "While I was searching for other\n"
+ .string "POKéMON, my POKéMON grew stronger.\p"
+ .string "So…\n"
+ .string "How about a little battle?$"
+
+Route110_Text_1EFCCB: @ 81EFCCB
+ .string "Yikes!\n"
+ .string "You’re better than I expected!$"
+
+Route110_Text_1EFCF1: @ 81EFCF1
+ .string "MAY: {PLAYER}{KUN}, you’ve been busy\n"
+ .string "training, too, haven’t you?\p"
+ .string "I think you deserve a reward!\n"
+ .string "This is from me!$"
+
+Route110_Text_1EFD58: @ 81EFD58
+ .string "MAY: That’s an ITEMFINDER.\p"
+ .string "Try it out. If there is an item that’s\n"
+ .string "not visible, it emits a sound.\p"
+ .string "Okay, {PLAYER}{KUN}, let’s meet again!\p"
+ .string "I know it’s a little silly coming from\n"
+ .string "me, but I think you should train a lot\l"
+ .string "harder for the next time.$"
+
+Route110_Text_1EFE3F: @ 81EFE3F
+ .string "BRENDAN: Hey, {PLAYER}.\n"
+ .string "So this is where you were.\l"
+ .string "How’s it going?\p"
+ .string "Have you been raising your POKéMON?\n"
+ .string "I’ll check for you.$"
+
+Route110_Text_1EFEB4: @ 81EFEB4
+ .string "Hmm…\n"
+ .string "You’re pretty good.$"
+
+Route110_Text_1EFECD: @ 81EFECD
+ .string "BRENDAN: {PLAYER}, you’ve trained\n"
+ .string "without me noticing…\p"
+ .string "Good enough!\n"
+ .string "Here, take this.$"
+
+Route110_Text_1EFF1C: @ 81EFF1C
+ .string "BRENDAN: That’s an ITEMFINDER.\p"
+ .string "Use it to root around for items that\n"
+ .string "aren’t visible.\p"
+ .string "If it senses something, it emits\n"
+ .string "a sound.\p"
+ .string "Anyway, I’m off to look for new\n"
+ .string "POKéMON.$"
+
+Route110_Text_1EFFC3: @ 81EFFC3
+ .string "Wouldn’t it be great to ride a BIKE\n"
+ .string "at full speed on CYCLING ROAD?$"
+
+Route110_Text_1F0006: @ 81F0006
+ .string "How do you like the way my raven-\n"
+ .string "colored hair streams behind me?\p"
+ .string "I grew my hair out just for that.$"
+
+Route110_Text_1F006A: @ 81F006A
+ .string "Oh, hey, you got that BIKE from RYDEL!\p"
+ .string "Oh, it’s glaringly obvious.\n"
+ .string "It says right on your bike…\p"
+ .string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\n"
+ .string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\p"
+ .string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\n"
+ .string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\p"
+ .string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\n"
+ .string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\p"
+ .string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\n"
+ .string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL,\p"
+ .string "RYDEL, RYDEL, RYDEL, RYDEL, RYDEL…\n"
+ .string "That name’s everywhere.\p"
+ .string "You should ride it around all over\n"
+ .string "the place--it’s good advertising!$"
+
+Route110_Text_1F0261: @ 81F0261
+ .string "The two roads, one above, one below…\p"
+ .string "A road each for people and POKéMON.\n"
+ .string "Perhaps that is right and fair.$"
+
+Route110_Text_1F02CA: @ 81F02CA
+ .string "I don’t have a BIKE, so I’ll take\n"
+ .string "a leisurely walk on the low road.$"
+
+Route110_Text_1F030E: @ 81F030E
+ .string "Learning techniques will make BIKE\n"
+ .string "riding even more fun.\p"
+ .string "There are some places that you can\n"
+ .string "reach only by using a BIKE technique.$"
+
+Route110_Text_1F0390: @ 81F0390
+ .string "Which should I choose?\p"
+ .string "Make a beeline for MAUVILLE on\n"
+ .string "CYCLING ROAD, or take the low road\l"
+ .string "and look for POKéMON?$"
+
+Route110_Text_1F03FF: @ 81F03FF
+ .string "Number of collisions:\n"
+ .string "… … {STR_VAR_1}!\p"
+ .string "Total time:\n"
+ .string "… … {STR_VAR_2}!$"
+
+Route110_Text_1F0431: @ 81F0431
+ .string "Bravo! Splendid showing!\p"
+ .string "Your love of cycling comes from deep\n"
+ .string "within your heart.\l"
+ .string "You’ve shaken me to my very soul!$"
+
+Route110_Text_1F04A4: @ 81F04A4
+ .string "Your technique is remarkable.\p"
+ .string "I suggest you speed up a bit while\n"
+ .string "still avoiding collisions.$"
+
+Route110_Text_1F0500: @ 81F0500
+ .string "I would consider you a work in\n"
+ .string "progress.\p"
+ .string "Still, I hope you don’t forget the\n"
+ .string "sheer pleasure of cycling.$"
+
+Route110_Text_1F0567: @ 81F0567
+ .string "My word… Your cycling skills border\n"
+ .string "on terrifying.\p"
+ .string "Most certainly, you need much more\n"
+ .string "practice riding.$"
+
+Route110_Text_1F05CE: @ 81F05CE
+ .string "…I am aghast…\p"
+ .string "You’re perhaps not cut out for this\n"
+ .string "unfortunate cycling business.\p"
+ .string "You ought to give serious thought to\n"
+ .string "returning that BIKE to RYDEL.$"
+
+Route110_Text_1F0661: @ 81F0661
+ .string "This is CYCLING ROAD.\p"
+ .string "If you were to ride from MAUVILLE to\n"
+ .string "SLATEPORT on a MACH BIKE, you would\l"
+ .string "be rated for the number of collisions\l"
+ .string "and your total time.$"
+
+Route110_Text_1F06FB: @ 81F06FB
+ .string "Regardless of the results, I count on\n"
+ .string "seeing more challenges from you.\l"
+ .string "Always aim higher!$"
+
+Route110_Text_1F0755: @ 81F0755
+ .string "On this CYCLING ROAD, those riding\n"
+ .string "MACH BIKES are rated for their number\l"
+ .string "of collisions and their total times.\p"
+ .string "ACRO BIKES do not qualify for rating.\n"
+ .string "They are easy to turn, so it’s not fair.$"
+
+Route110_Text_1F0812: @ 81F0812
+ .string "ROUTE 110\n"
+ .string "{0x7A} SLATEPORT CITY$"
+
+Route110_Text_1F082D: @ 81F082D
+ .string "SEASIDE CYCLING ROAD$"
+
+Route110_Text_1F0842: @ 81F0842
+ .string "“TEAM AQUA was here!”\p"
+ .string "Someone painted that onto this sign,\n"
+ .string "but then someone else painted over it.\p"
+ .string "“TEAM MAGMA rules!” is what it\n"
+ .string "says now.$"
+
+Route110_Text_1F08CD: @ 81F08CD
+ .string "ROUTE 110\n"
+ .string "{0x7B} ROUTE 103$"
+
+Route110_Text_1F08E3: @ 81F08E3
+ .string "SEASIDE PARKING$"
+
+Route110_Text_1F08F3: @ 81F08F3
+ .string "ROUTE 110\n"
+ .string "{0x79} MAUVILLE CITY$"
+
+Route110_Text_1F090D: @ 81F090D
+ .string "TRAINER TIPS\p"
+ .string "The foe can be made helpless by\n"
+ .string "paralyzing it or causing it to sleep.\p"
+ .string "It is an important technique for\n"
+ .string "POKéMON battles.$"
+
+Route110_Text_1F0992: @ 81F0992
+ .string "TRAINER TIPS\p"
+ .string "The items in the BAG can be reorganized\n"
+ .string "by pressing SELECT.$"
+
+Route110_Text_1F09DB: @ 81F09DB
+ .string "“Three steps {0x7C} and two steps {0x79}\n"
+ .string "to reach the wondrous TRICK HOUSE.”$"
+
+Route110_Text_1F0A1E: @ 81F0A1E
+ .string "THE BEST RECORD TO DATE…\p"
+ .string "No. of collisions: {STR_VAR_1}\p"
+ .string "Elapsed time: {STR_VAR_2}$"
+
+Route110_Text_1F0A5E: @ 81F0A5E
+ .string "THE BEST RECORD TO DATE…\p"
+ .string "No one seems to have taken the\n"
+ .string "challenge. There is no record…$"
+
+Route110_Text_1F0AB5: @ 81F0AB5
+ .string "PROF. BIRCH: Oh, {PLAYER}{KUN}!\n"
+ .string "Imagine seeing you here!\p"
+ .string "And where might my {RIVAL} be?$"
+
+Route110_Text_1F0AFF: @ 81F0AFF
+ .string "Oh, I see!\n"
+ .string "You two are running separately.\l"
+ .string "Well, that’s fine.\p"
+ .string "Oh, yes, I heard that your POKéNAV\n"
+ .string "had the MATCH CALL system installed.\p"
+ .string "Well, then, I should register you in\n"
+ .string "my POKéNAV as well.\p"
+ .string "That way, even when we’re apart,\n"
+ .string "I can rate your POKéDEX anytime.\p"
+ .string "… … … … … …$"
+
+Route110_Text_1F0C0C: @ 81F0C0C
+ .string "Registered PROF. BIRCH\n"
+ .string "in the POKéNAV.$"
+
+Route110_Text_1F0C33: @ 81F0C33
+ .string "PROF. BIRCH: {PLAYER}{KUN}…\p"
+ .string "Please keep an eye out for my {RIVAL}.\n"
+ .string "… … … … … …\p"
+ .string "Well, I had better get going.\n"
+ .string "See you again, {PLAYER}{KUN}!$"
+
diff --git a/data/scripts/maps/Route110_SeasideCyclingRoadEntrance1.inc b/data/scripts/maps/Route110_SeasideCyclingRoadEntrance1.inc
new file mode 100644
index 000000000..2ea2092d5
--- /dev/null
+++ b/data/scripts/maps/Route110_SeasideCyclingRoadEntrance1.inc
@@ -0,0 +1,50 @@
+Route110_SeasideCyclingRoadEntrance1_MapScripts:: @ 826EA77
+ .byte 0
+
+Route110_SeasideCyclingRoadEntrance1_EventScript_26EA78:: @ 826EA78
+ lock
+ faceplayer
+ msgbox Route110_SeasideCyclingRoadEntrance1_Text_26EAC1, 4
+ release
+ end
+
+Route110_SeasideCyclingRoadEntrance1_EventScript_26EA84:: @ 826EA84
+ lockall
+ specialvar VAR_RESULT, sp0E3_walkrun_bitfield_interpretation
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route110_SeasideCyclingRoadEntrance1_EventScript_26EA9F
+ setflag FLAG_SYS_CYCLING_ROAD
+ setvar VAR_0x4001, 1
+ releaseall
+ end
+
+Route110_SeasideCyclingRoadEntrance1_EventScript_26EA9F:: @ 826EA9F
+ msgbox Route110_SeasideCyclingRoadEntrance1_Text_26EB48, 4
+ closemessage
+ applymovement 255, Route110_SeasideCyclingRoadEntrance1_Movement_26EAB4
+ waitmovement 0
+ releaseall
+ end
+
+Route110_SeasideCyclingRoadEntrance1_Movement_26EAB4: @ 826EAB4
+ step_left
+ step_end
+
+Route110_SeasideCyclingRoadEntrance1_EventScript_26EAB6:: @ 826EAB6
+ lockall
+ clearflag FLAG_SYS_CYCLING_ROAD
+ setvar VAR_0x4001, 0
+ releaseall
+ end
+
+Route110_SeasideCyclingRoadEntrance1_Text_26EAC1: @ 826EAC1
+ .string "On CYCLING ROAD, you can go all out\n"
+ .string "and cycle as fast as you’d like.\p"
+ .string "It feels great to go that fast, but try\n"
+ .string "not to crash into anyone!$"
+
+Route110_SeasideCyclingRoadEntrance1_Text_26EB48: @ 826EB48
+ .string "Sorry, you can’t walk on CYCLING\n"
+ .string "ROAD. It’s too dangerous.\p"
+ .string "Please come back with a BIKE.$"
+
diff --git a/data/scripts/maps/Route110_SeasideCyclingRoadEntrance2.inc b/data/scripts/maps/Route110_SeasideCyclingRoadEntrance2.inc
new file mode 100644
index 000000000..92ef38d9a
--- /dev/null
+++ b/data/scripts/maps/Route110_SeasideCyclingRoadEntrance2.inc
@@ -0,0 +1,69 @@
+Route110_SeasideCyclingRoadEntrance2_MapScripts:: @ 826EBA1
+ map_script 3, Route110_SeasideCyclingRoadEntrance2_MapScript1_26EBA7
+ .byte 0
+
+Route110_SeasideCyclingRoadEntrance2_MapScript1_26EBA7: @ 826EBA7
+ compare_var_to_value VAR_0x40A9, 3
+ call_if 1, Route110_SeasideCyclingRoadEntrance2_EventScript_26EBBE
+ compare_var_to_value VAR_0x40A9, 2
+ call_if 1, Route110_SeasideCyclingRoadEntrance2_EventScript_26EBBE
+ end
+
+Route110_SeasideCyclingRoadEntrance2_EventScript_26EBBE:: @ 826EBBE
+ setvar VAR_0x40A9, 1
+ return
+
+Route110_SeasideCyclingRoadEntrance2_EventScript_26EBC4:: @ 826EBC4
+ lock
+ faceplayer
+ msgbox Route110_SeasideCyclingRoadEntrance2_Text_26EC23, 4
+ release
+ end
+
+Route110_SeasideCyclingRoadEntrance2_EventScript_26EBD0:: @ 826EBD0
+ lockall
+ specialvar VAR_RESULT, sp0E3_walkrun_bitfield_interpretation
+ compare_var_to_value VAR_RESULT, 2
+ call_if 1, Route110_SeasideCyclingRoadEntrance2_EventScript_26EBF6
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route110_SeasideCyclingRoadEntrance2_EventScript_26EBFC
+ setflag FLAG_SYS_CYCLING_ROAD
+ setvar VAR_0x4001, 1
+ releaseall
+ end
+
+Route110_SeasideCyclingRoadEntrance2_EventScript_26EBF6:: @ 826EBF6
+ setvar VAR_0x40A9, 1
+ return
+
+Route110_SeasideCyclingRoadEntrance2_EventScript_26EBFC:: @ 826EBFC
+ msgbox Route110_SeasideCyclingRoadEntrance2_Text_26ECAA, 4
+ closemessage
+ applymovement 255, Route110_SeasideCyclingRoadEntrance2_Movement_26EC11
+ waitmovement 0
+ releaseall
+ end
+
+Route110_SeasideCyclingRoadEntrance2_Movement_26EC11: @ 826EC11
+ step_left
+ step_end
+
+Route110_SeasideCyclingRoadEntrance2_EventScript_26EC13:: @ 826EC13
+ lockall
+ setvar VAR_0x40A9, 0
+ clearflag FLAG_SYS_CYCLING_ROAD
+ setvar VAR_0x4001, 0
+ releaseall
+ end
+
+Route110_SeasideCyclingRoadEntrance2_Text_26EC23: @ 826EC23
+ .string "On CYCLING ROAD, you can go all out\n"
+ .string "and cycle as fast as you’d like.\p"
+ .string "It feels great to go that fast, but try\n"
+ .string "not to crash into anyone!$"
+
+Route110_SeasideCyclingRoadEntrance2_Text_26ECAA: @ 826ECAA
+ .string "Sorry, you can’t walk on CYCLING\n"
+ .string "ROAD. It’s too dangerous.\p"
+ .string "Please come back with a BIKE.$"
+
diff --git a/data/scripts/maps/Route110_TrickHouseCorridor.inc b/data/scripts/maps/Route110_TrickHouseCorridor.inc
new file mode 100644
index 000000000..cf520c81f
--- /dev/null
+++ b/data/scripts/maps/Route110_TrickHouseCorridor.inc
@@ -0,0 +1,8 @@
+Route110_TrickHouseCorridor_MapScripts:: @ 826B903
+ map_script 3, Route110_TrickHouseCorridor_MapScript1_26B909
+ .byte 0
+
+Route110_TrickHouseCorridor_MapScript1_26B909: @ 826B909
+ setvar VAR_0x40B5, 1
+ end
+
diff --git a/data/scripts/maps/Route110_TrickHouseEnd.inc b/data/scripts/maps/Route110_TrickHouseEnd.inc
new file mode 100644
index 000000000..17fe81ad5
--- /dev/null
+++ b/data/scripts/maps/Route110_TrickHouseEnd.inc
@@ -0,0 +1,369 @@
+Route110_TrickHouseEnd_MapScripts:: @ 826ACAF
+ map_script 5, Route110_TrickHouseEnd_MapScript1_26ACC4
+ map_script 3, Route110_TrickHouseEnd_MapScript1_26ACD0
+ map_script 2, Route110_TrickHouseEnd_MapScript2_26ACF5
+ map_script 4, Route110_TrickHouseEnd_MapScript2_26ACDE
+ .byte 0
+
+Route110_TrickHouseEnd_MapScript1_26ACC4: @ 826ACC4
+ compare_var_to_value VAR_0x4001, 1
+ call_if 1, Route110_TrickHouseEnd_EventScript_26AD0D
+ end
+
+Route110_TrickHouseEnd_MapScript1_26ACD0: @ 826ACD0
+ setvar VAR_0x4001, 0
+ setvar VAR_0x4002, 0
+ special sub_8138FD4
+ end
+
+Route110_TrickHouseEnd_MapScript2_26ACDE: @ 826ACDE
+ map_script_2 VAR_0x4002, 0, Route110_TrickHouseEnd_EventScript_26ACE8
+ .2byte 0
+
+Route110_TrickHouseEnd_EventScript_26ACE8:: @ 826ACE8
+ addobject 1
+ showobjectat 1, ROUTE_110_TRICK_HOUSE_END
+ turnobject 1, 4
+ end
+
+Route110_TrickHouseEnd_MapScript2_26ACF5: @ 826ACF5
+ map_script_2 VAR_0x4001, 0, Route110_TrickHouseEnd_EventScript_26ACFF
+ .2byte 0
+
+Route110_TrickHouseEnd_EventScript_26ACFF:: @ 826ACFF
+ setvar VAR_0x4001, 1
+ call Route110_TrickHouseEnd_EventScript_26AD0D
+ special DrawWholeMapView
+ end
+
+Route110_TrickHouseEnd_EventScript_26AD0D:: @ 826AD0D
+ setmetatile 10, 1, 539, 1
+ return
+
+Route110_TrickHouseEnd_EventScript_26AD17:: @ 826AD17
+ lock
+ faceplayer
+ msgbox Route110_TrickHouseEnd_Text_26B08D, 4
+ setvar VAR_0x4002, 1
+ switch VAR_0x4044
+ case 0, Route110_TrickHouseEnd_EventScript_26AD84
+ case 1, Route110_TrickHouseEnd_EventScript_26ADC0
+ case 2, Route110_TrickHouseEnd_EventScript_26ADFC
+ case 3, Route110_TrickHouseEnd_EventScript_26AE38
+ case 4, Route110_TrickHouseEnd_EventScript_26AE74
+ case 5, Route110_TrickHouseEnd_EventScript_26AEB0
+ case 6, Route110_TrickHouseEnd_EventScript_26AEEC
+ case 7, Route110_TrickHouseEnd_EventScript_26AF28
+ end
+
+Route110_TrickHouseEnd_EventScript_26AD84:: @ 826AD84
+ msgbox Route110_TrickHouseEnd_Text_26B0BC, 4
+ msgbox Route110_TrickHouseEnd_Text_26B73D, 4
+ setvar VAR_0x40C1, 0
+ giveitem_std ITEM_RARE_CANDY
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF
+ msgbox Route110_TrickHouseEnd_Text_26B7EF, 4
+ closemessage
+ call Route110_TrickHouseEnd_EventScript_26AFCF
+ release
+ end
+
+Route110_TrickHouseEnd_EventScript_26ADC0:: @ 826ADC0
+ msgbox Route110_TrickHouseEnd_Text_26B13B, 4
+ msgbox Route110_TrickHouseEnd_Text_26B73D, 4
+ setvar VAR_0x40C1, 0
+ giveitem_std ITEM_TIMER_BALL
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF
+ msgbox Route110_TrickHouseEnd_Text_26B7EF, 4
+ closemessage
+ call Route110_TrickHouseEnd_EventScript_26AFCF
+ release
+ end
+
+Route110_TrickHouseEnd_EventScript_26ADFC:: @ 826ADFC
+ msgbox Route110_TrickHouseEnd_Text_26B1AD, 4
+ msgbox Route110_TrickHouseEnd_Text_26B73D, 4
+ setvar VAR_0x40C1, 0
+ giveitem_std ITEM_HARD_STONE
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF
+ msgbox Route110_TrickHouseEnd_Text_26B7EF, 4
+ closemessage
+ call Route110_TrickHouseEnd_EventScript_26AFCF
+ release
+ end
+
+Route110_TrickHouseEnd_EventScript_26AE38:: @ 826AE38
+ msgbox Route110_TrickHouseEnd_Text_26B223, 4
+ msgbox Route110_TrickHouseEnd_Text_26B73D, 4
+ setvar VAR_0x40C1, 0
+ giveitem_std ITEM_SMOKE_BALL
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF
+ msgbox Route110_TrickHouseEnd_Text_26B7EF, 4
+ closemessage
+ call Route110_TrickHouseEnd_EventScript_26AFCF
+ release
+ end
+
+Route110_TrickHouseEnd_EventScript_26AE74:: @ 826AE74
+ msgbox Route110_TrickHouseEnd_Text_26B293, 4
+ msgbox Route110_TrickHouseEnd_Text_26B73D, 4
+ setvar VAR_0x40C1, 0
+ giveitem_std ITEM_TM12
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF
+ msgbox Route110_TrickHouseEnd_Text_26B7EF, 4
+ closemessage
+ call Route110_TrickHouseEnd_EventScript_26AFCF
+ release
+ end
+
+Route110_TrickHouseEnd_EventScript_26AEB0:: @ 826AEB0
+ msgbox Route110_TrickHouseEnd_Text_26B315, 4
+ msgbox Route110_TrickHouseEnd_Text_26B73D, 4
+ setvar VAR_0x40C1, 0
+ giveitem_std ITEM_MAGNET
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF
+ msgbox Route110_TrickHouseEnd_Text_26B7EF, 4
+ closemessage
+ call Route110_TrickHouseEnd_EventScript_26AFCF
+ release
+ end
+
+Route110_TrickHouseEnd_EventScript_26AEEC:: @ 826AEEC
+ msgbox Route110_TrickHouseEnd_Text_26B365, 4
+ msgbox Route110_TrickHouseEnd_Text_26B73D, 4
+ setvar VAR_0x40C1, 0
+ giveitem_std ITEM_PP_MAX
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF
+ msgbox Route110_TrickHouseEnd_Text_26B7EF, 4
+ closemessage
+ call Route110_TrickHouseEnd_EventScript_26AFCF
+ release
+ end
+
+Route110_TrickHouseEnd_EventScript_26AF28:: @ 826AF28
+ msgbox Route110_TrickHouseEnd_Text_26B3AB, 4
+ closemessage
+ compare_var_to_value VAR_FACING, 1
+ call_if 1, Route110_TrickHouseEnd_EventScript_26B015
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, Route110_TrickHouseEnd_EventScript_26B020
+ compare_var_to_value VAR_FACING, 3
+ call_if 1, Route110_TrickHouseEnd_EventScript_26B02B
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, Route110_TrickHouseEnd_EventScript_26B036
+ delay 30
+ msgbox Route110_TrickHouseEnd_Text_26B3FA, 4
+ closemessage
+ applymovement 1, Route110_TrickHouseEnd_Movement_27259E
+ waitmovement 0
+ delay 30
+ msgbox Route110_TrickHouseEnd_Text_26B485, 4
+ setvar VAR_0x40C1, 0
+ call Route110_TrickHouseEnd_EventScript_26AFA5
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, Route110_TrickHouseEnd_EventScript_26B002
+ msgbox Route110_TrickHouseEnd_Text_26B69A, 4
+ call Route110_TrickHouseEnd_EventScript_26AFCF
+ special sub_8138FEC
+ release
+ end
+
+Route110_TrickHouseEnd_EventScript_26AFA5:: @ 826AFA5
+ multichoice 0, 0, 88, 1
+ switch VAR_RESULT
+ case 0, Route110_TrickHouseEnd_EventScript_26AFBF
+ goto Route110_TrickHouseEnd_EventScript_26AFC7
+
+Route110_TrickHouseEnd_EventScript_26AFBF:: @ 826AFBF
+ givedecoration_std 31
+ return
+
+Route110_TrickHouseEnd_EventScript_26AFC7:: @ 826AFC7
+ givedecoration_std 32
+ return
+
+Route110_TrickHouseEnd_EventScript_26AFCF:: @ 826AFCF
+ applymovement 1, Route110_TrickHouseEnd_Movement_269E36
+ waitmovement 0
+ playse SE_W153
+ applymovement 1, Route110_TrickHouseEnd_Movement_269E3F
+ waitmovement 0
+ removeobject 1
+ addvar VAR_0x4044, 1
+ return
+
+Route110_TrickHouseEnd_EventScript_26AFEF:: @ 826AFEF
+ call Route110_TrickHouseEnd_EventScript_27205E
+ msgbox Route110_TrickHouseEnd_Text_26B760, 4
+ setvar VAR_0x40C1, 1
+ return
+
+Route110_TrickHouseEnd_EventScript_26B002:: @ 826B002
+ call Route110_TrickHouseEnd_EventScript_272071
+ msgbox Route110_TrickHouseEnd_Text_26B615, 4
+ setvar VAR_0x40C1, 1
+ return
+
+Route110_TrickHouseEnd_EventScript_26B015:: @ 826B015
+ applymovement 1, Route110_TrickHouseEnd_Movement_2725AA
+ waitmovement 0
+ return
+
+Route110_TrickHouseEnd_EventScript_26B020:: @ 826B020
+ applymovement 1, Route110_TrickHouseEnd_Movement_2725A6
+ waitmovement 0
+ return
+
+Route110_TrickHouseEnd_EventScript_26B02B:: @ 826B02B
+ applymovement 1, Route110_TrickHouseEnd_Movement_2725A4
+ waitmovement 0
+ return
+
+Route110_TrickHouseEnd_EventScript_26B036:: @ 826B036
+ applymovement 1, Route110_TrickHouseEnd_Movement_2725A8
+ waitmovement 0
+ return
+
+Route110_TrickHouseEnd_EventScript_26B041:: @ 826B041
+ lockall
+ turnobject 1, 3
+ playse SE_PIN
+ applymovement 1, Route110_TrickHouseEnd_Movement_272598
+ waitmovement 0
+ delay 20
+ applymovement 1, Route110_TrickHouseEnd_Movement_26B08B
+ waitmovement 0
+ playse SE_W153
+ applymovement 255, Route110_TrickHouseEnd_Movement_2725AA
+ waitmovement 0
+ msgbox Route110_TrickHouseEnd_Text_26B8BD, 4
+ closemessage
+ applymovement 255, Route110_TrickHouseEnd_Movement_26B089
+ waitmovement 0
+ delay 4
+ turnobject 1, 4
+ releaseall
+ end
+
+Route110_TrickHouseEnd_Movement_26B089: @ 826B089
+ step_down
+ step_end
+
+Route110_TrickHouseEnd_Movement_26B08B: @ 826B08B
+ step_48
+ step_end
+
+Route110_TrickHouseEnd_Text_26B08D: @ 826B08D
+ .string "Aak!\n"
+ .string "You’ve made it to me?\l"
+ .string "Hmmm… You’re sharp!$"
+
+Route110_TrickHouseEnd_Text_26B0BC: @ 826B0BC
+ .string "It took me all night to plant all those\n"
+ .string "trees…\p"
+ .string "You’re almost my equal in greatness by\n"
+ .string "one, two, three, four, five, six places!$"
+
+Route110_TrickHouseEnd_Text_26B13B: @ 826B13B
+ .string "It took me all night to make the maze…\p"
+ .string "You’re almost my equal in greatness by\n"
+ .string "one, two, three, four, five places!$"
+
+Route110_TrickHouseEnd_Text_26B1AD: @ 826B1AD
+ .string "It took me all night to prepare\n"
+ .string "the wall panels…\p"
+ .string "You’re almost my equal in greatness by\n"
+ .string "one, two, three, four places!$"
+
+Route110_TrickHouseEnd_Text_26B223: @ 826B223
+ .string "It took me all night to shove in those\n"
+ .string "boulders…\p"
+ .string "You’re almost my equal in greatness by\n"
+ .string "one, two, three places!$"
+
+Route110_TrickHouseEnd_Text_26B293: @ 826B293
+ .string "It took me all night to make MECHADOLLS\n"
+ .string "and another to think up the quiz…\p"
+ .string "You’re almost my equal in greatness by\n"
+ .string "one, two places!$"
+
+Route110_TrickHouseEnd_Text_26B315: @ 826B315
+ .string "It took me all night to install\n"
+ .string "the doors…\p"
+ .string "You’re almost my equal in greatness!$"
+
+Route110_TrickHouseEnd_Text_26B365: @ 826B365
+ .string "It took me all night setting up arrows…\p"
+ .string "You’re my equal in greatness!$"
+
+Route110_TrickHouseEnd_Text_26B3AB: @ 826B3AB
+ .string "It took me all night polishing floors…\p"
+ .string "You’re above me in greatness!\n"
+ .string "Possibly…$"
+
+Route110_TrickHouseEnd_Text_26B3FA: @ 826B3FA
+ .string "Wh-what should I do?\n"
+ .string "My fountain of ideas for tricks has\l"
+ .string "run dry…\p"
+ .string "Perhaps it is time I toured the country\n"
+ .string "on a quest to devise new tricks…$"
+
+Route110_TrickHouseEnd_Text_26B485: @ 826B485
+ .string "I hate to admit defeat, but you have\n"
+ .string "bested me!\p"
+ .string "Still, you must have been reeled in by\n"
+ .string "my charisma for you to visit me again\l"
+ .string "and again. Yes, you must have!\p"
+ .string "But that has nothing to do with my\n"
+ .string "losing!\p"
+ .string "In recognition of the friendship\n"
+ .string "between you, the driven, and the genius\l"
+ .string "that is myself, I demand that you take\l"
+ .string "this keepsake!\p"
+ .string "Actually there are two--\n"
+ .string "a RED TENT and a BLUE TENT.\l"
+ .string "Which do you prefer?$"
+
+Route110_TrickHouseEnd_Text_26B615: @ 826B615
+ .string "What? No room in your PC?\n"
+ .string "What am I to make of that?\p"
+ .string "I wish I could say that, but I am much\n"
+ .string "too kind and caring, so come back later!$"
+
+Route110_TrickHouseEnd_Text_26B69A: @ 826B69A
+ .string "… … … … … …\p"
+ .string "I am leaving on a journey of discovery.\n"
+ .string "A quest in search of new tricks.\p"
+ .string "I wish that you will one day visit and\n"
+ .string "entertain me again.\p"
+ .string "And now, farewell!$"
+
+Route110_TrickHouseEnd_Text_26B73D: @ 826B73D
+ .string "Fine!\n"
+ .string "You have earned this reward!$"
+
+Route110_TrickHouseEnd_Text_26B760: @ 826B760
+ .string "What? Have you no room for this?\n"
+ .string "What manner of items do you carry?\p"
+ .string "But fine, since you’ve reached me,\n"
+ .string "your reward will be with me till later.$"
+
+Route110_TrickHouseEnd_Text_26B7EF: @ 826B7EF
+ .string "Scrub that smug smirk from your face!\n"
+ .string "It’s much too early to think you’ve won!\p"
+ .string "I’ll make new tricks to stump you, I will.\n"
+ .string "You may mock me only when you’re done.\p"
+ .string "Come back for the next exciting\n"
+ .string "installment!$"
+
+Route110_TrickHouseEnd_Text_26B8BD: @ 826B8BD
+ .string "Now, now! You’re ignoring me now?\n"
+ .string "Now that, I consider heartbreaking!$"
+
diff --git a/data/scripts/maps/Route110_TrickHouseEntrance.inc b/data/scripts/maps/Route110_TrickHouseEntrance.inc
new file mode 100644
index 000000000..b7b9453e3
--- /dev/null
+++ b/data/scripts/maps/Route110_TrickHouseEntrance.inc
@@ -0,0 +1,901 @@
+Route110_TrickHouseEntrance_MapScripts:: @ 8269A50
+ map_script 3, Route110_TrickHouseEntrance_MapScript1_269A60
+ map_script 2, Route110_TrickHouseEntrance_MapScript2_269CEE
+ map_script 4, Route110_TrickHouseEntrance_MapScript2_269BD3
+ .byte 0
+
+Route110_TrickHouseEntrance_MapScript1_269A60: @ 8269A60
+ setflag FLAG_0x8A2
+ compare_var_to_value VAR_0x40B5, 1
+ goto_eq Route110_TrickHouseEntrance_EventScript_269AF3
+ compare_var_to_value VAR_0x40C1, 1
+ goto_eq Route110_TrickHouseEntrance_EventScript_269AD7
+ compare_var_to_value VAR_0x40A6, 1
+ goto_eq Route110_TrickHouseEntrance_EventScript_269BB3
+ compare_var_to_value VAR_0x40A7, 5
+ call_if 1, Route110_TrickHouseEntrance_EventScript_269B03
+ compare_var_to_value VAR_0x40A7, 3
+ call_if 1, Route110_TrickHouseEntrance_EventScript_269B03
+ compare_var_to_value VAR_0x40A7, 0
+ call_if 1, Route110_TrickHouseEntrance_EventScript_269B03
+ switch VAR_0x40A7
+ case 0, Route110_TrickHouseEntrance_EventScript_269BBB
+ case 1, Route110_TrickHouseEntrance_EventScript_269BC1
+ case 3, Route110_TrickHouseEntrance_EventScript_269BC7
+ case 4, Route110_TrickHouseEntrance_EventScript_269BCD
+ end
+
+Route110_TrickHouseEntrance_EventScript_269AD7:: @ 8269AD7
+ setvar VAR_0x40A5, 1
+ compare_var_to_value VAR_0x4044, 8
+ goto_eq Route110_TrickHouseEntrance_EventScript_269AED
+ setvar VAR_0x40A7, 2
+ end
+
+Route110_TrickHouseEntrance_EventScript_269AED:: @ 8269AED
+ setvar VAR_0x40A7, 6
+ end
+
+Route110_TrickHouseEntrance_EventScript_269AF3:: @ 8269AF3
+ setvar VAR_0x40B5, 0
+ setvar VAR_0x40A7, 5
+ setvar VAR_0x40A5, 1
+ end
+
+Route110_TrickHouseEntrance_EventScript_269B03:: @ 8269B03
+ setvar VAR_0x40A7, 0
+ compare_var_to_value VAR_0x4044, 1
+ call_if 1, Route110_TrickHouseEntrance_EventScript_269B61
+ compare_var_to_value VAR_0x4044, 2
+ call_if 1, Route110_TrickHouseEntrance_EventScript_269B6B
+ compare_var_to_value VAR_0x4044, 3
+ call_if 1, Route110_TrickHouseEntrance_EventScript_269B75
+ compare_var_to_value VAR_0x4044, 4
+ call_if 1, Route110_TrickHouseEntrance_EventScript_269B7F
+ compare_var_to_value VAR_0x4044, 5
+ call_if 1, Route110_TrickHouseEntrance_EventScript_269B89
+ compare_var_to_value VAR_0x4044, 6
+ call_if 1, Route110_TrickHouseEntrance_EventScript_269B93
+ compare_var_to_value VAR_0x4044, 7
+ call_if 1, Route110_TrickHouseEntrance_EventScript_269B9D
+ compare_var_to_value VAR_0x4044, 8
+ call_if 1, Route110_TrickHouseEntrance_EventScript_269BA7
+ return
+
+Route110_TrickHouseEntrance_EventScript_269B61:: @ 8269B61
+ checkflag FLAG_BADGE03_GET
+ call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD
+ return
+
+Route110_TrickHouseEntrance_EventScript_269B6B:: @ 8269B6B
+ checkflag FLAG_BADGE04_GET
+ call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD
+ return
+
+Route110_TrickHouseEntrance_EventScript_269B75:: @ 8269B75
+ checkflag FLAG_BADGE05_GET
+ call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD
+ return
+
+Route110_TrickHouseEntrance_EventScript_269B7F:: @ 8269B7F
+ checkflag FLAG_BADGE06_GET
+ call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD
+ return
+
+Route110_TrickHouseEntrance_EventScript_269B89:: @ 8269B89
+ checkflag FLAG_BADGE07_GET
+ call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD
+ return
+
+Route110_TrickHouseEntrance_EventScript_269B93:: @ 8269B93
+ checkflag FLAG_BADGE08_GET
+ call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD
+ return
+
+Route110_TrickHouseEntrance_EventScript_269B9D:: @ 8269B9D
+ checkflag FLAG_SYS_GAME_CLEAR
+ call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD
+ return
+
+Route110_TrickHouseEntrance_EventScript_269BA7:: @ 8269BA7
+ setvar VAR_0x40A7, 4
+ return
+
+Route110_TrickHouseEntrance_EventScript_269BAD:: @ 8269BAD
+ setvar VAR_0x40A7, 3
+ return
+
+Route110_TrickHouseEntrance_EventScript_269BB3:: @ 8269BB3
+ setobjectxyperm 1, 5, 2
+ end
+
+Route110_TrickHouseEntrance_EventScript_269BBB:: @ 8269BBB
+ setvar VAR_0x40A5, 0
+ end
+
+Route110_TrickHouseEntrance_EventScript_269BC1:: @ 8269BC1
+ setvar VAR_0x40A5, 1
+ end
+
+Route110_TrickHouseEntrance_EventScript_269BC7:: @ 8269BC7
+ setvar VAR_0x40A5, 1
+ end
+
+Route110_TrickHouseEntrance_EventScript_269BCD:: @ 8269BCD
+ setvar VAR_0x40A5, 1
+ end
+
+Route110_TrickHouseEntrance_MapScript2_269BD3: @ 8269BD3
+ map_script_2 VAR_0x40A6, 1, Route110_TrickHouseEntrance_EventScript_269C15
+ map_script_2 VAR_0x40A7, 0, Route110_TrickHouseEntrance_EventScript_269C26
+ map_script_2 VAR_0x40A7, 1, Route110_TrickHouseEntrance_EventScript_269CCC
+ map_script_2 VAR_0x40A7, 2, Route110_TrickHouseEntrance_EventScript_269CD0
+ map_script_2 VAR_0x40A7, 3, Route110_TrickHouseEntrance_EventScript_269CD0
+ map_script_2 VAR_0x40A7, 4, Route110_TrickHouseEntrance_EventScript_269CCC
+ map_script_2 VAR_0x40A7, 5, Route110_TrickHouseEntrance_EventScript_269CCC
+ map_script_2 VAR_0x40A7, 6, Route110_TrickHouseEntrance_EventScript_269CDF
+ .2byte 0
+
+Route110_TrickHouseEntrance_EventScript_269C15:: @ 8269C15
+ addobject 1
+ showobjectat 1, ROUTE_110_TRICK_HOUSE_ENTRANCE
+ turnobject 1, 4
+ turnobject 255, 3
+ end
+
+Route110_TrickHouseEntrance_EventScript_269C26:: @ 8269C26
+ addobject 1
+ hideobjectat 1, ROUTE_110_TRICK_HOUSE_ENTRANCE
+ switch VAR_0x4044
+ case 0, Route110_TrickHouseEntrance_EventScript_269C8C
+ case 1, Route110_TrickHouseEntrance_EventScript_269C94
+ case 2, Route110_TrickHouseEntrance_EventScript_269C9C
+ case 3, Route110_TrickHouseEntrance_EventScript_269CA4
+ case 4, Route110_TrickHouseEntrance_EventScript_269CAC
+ case 5, Route110_TrickHouseEntrance_EventScript_269CB4
+ case 6, Route110_TrickHouseEntrance_EventScript_269CBC
+ case 7, Route110_TrickHouseEntrance_EventScript_269CC4
+ end
+
+Route110_TrickHouseEntrance_EventScript_269C8C:: @ 8269C8C
+ setobjectxy 1, 6, 3
+ end
+
+Route110_TrickHouseEntrance_EventScript_269C94:: @ 8269C94
+ setobjectxy 1, 11, 5
+ end
+
+Route110_TrickHouseEntrance_EventScript_269C9C:: @ 8269C9C
+ setobjectxy 1, 9, 1
+ end
+
+Route110_TrickHouseEntrance_EventScript_269CA4:: @ 8269CA4
+ setobjectxy 1, 3, 1
+ end
+
+Route110_TrickHouseEntrance_EventScript_269CAC:: @ 8269CAC
+ setobjectxy 1, 0, 5
+ end
+
+Route110_TrickHouseEntrance_EventScript_269CB4:: @ 8269CB4
+ setobjectxy 1, 11, 1
+ end
+
+Route110_TrickHouseEntrance_EventScript_269CBC:: @ 8269CBC
+ setobjectxy 1, 8, 1
+ end
+
+Route110_TrickHouseEntrance_EventScript_269CC4:: @ 8269CC4
+ setobjectxy 1, 4, 4
+ end
+
+Route110_TrickHouseEntrance_EventScript_269CCC:: @ 8269CCC
+ removeobject 1
+ end
+
+Route110_TrickHouseEntrance_EventScript_269CD0:: @ 8269CD0
+ addobject 1
+ setobjectxy 1, 5, 2
+ turnobject 1, 2
+ end
+
+Route110_TrickHouseEntrance_EventScript_269CDF:: @ 8269CDF
+ addobject 1
+ setobjectxy 1, 5, 2
+ turnobject 1, 1
+ end
+
+Route110_TrickHouseEntrance_MapScript2_269CEE: @ 8269CEE
+ map_script_2 VAR_0x40A6, 1, Route110_TrickHouseEntrance_EventScript_269CF8
+ .2byte 0
+
+Route110_TrickHouseEntrance_EventScript_269CF8:: @ 8269CF8
+ lockall
+ delay 20
+ compare_var_to_value VAR_0x4044, 0
+ call_if 1, Route110_TrickHouseEntrance_EventScript_269E48
+ msgbox Route110_TrickHouseEntrance_Text_26A78C, 4
+ closemessage
+ delay 20
+ applymovement 1, Route110_TrickHouseEntrance_Movement_269E36
+ waitmovement 0
+ playse SE_W153
+ applymovement 1, Route110_TrickHouseEntrance_Movement_269E3F
+ waitmovement 0
+ removeobject 1
+ setvar VAR_0x40A7, 1
+ setvar VAR_0x40A6, 0
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_269D39:: @ 8269D39
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_269D3B:: @ 8269D3B
+ lockall
+ switch VAR_0x40A7
+ case 0, Route110_TrickHouseEntrance_EventScript_269D6E
+ case 2, Route110_TrickHouseEntrance_EventScript_269E8F
+ case 3, Route110_TrickHouseEntrance_EventScript_269E51
+ case 6, Route110_TrickHouseEntrance_EventScript_26A039
+ end
+
+Route110_TrickHouseEntrance_EventScript_269D6E:: @ 8269D6E
+ playse SE_PIN
+ applymovement 255, Route110_TrickHouseEntrance_Movement_272598
+ waitmovement 0
+ applymovement 255, Route110_TrickHouseEntrance_Movement_27259A
+ waitmovement 0
+ compare_var_to_value VAR_0x4044, 0
+ call_if 1, Route110_TrickHouseEntrance_EventScript_269DEE
+ compare_var_to_value VAR_0x4044, 1
+ call_if 1, Route110_TrickHouseEntrance_EventScript_269DF7
+ compare_var_to_value VAR_0x4044, 2
+ call_if 1, Route110_TrickHouseEntrance_EventScript_269E00
+ compare_var_to_value VAR_0x4044, 3
+ call_if 1, Route110_TrickHouseEntrance_EventScript_269E09
+ compare_var_to_value VAR_0x4044, 4
+ call_if 1, Route110_TrickHouseEntrance_EventScript_269E12
+ compare_var_to_value VAR_0x4044, 5
+ call_if 1, Route110_TrickHouseEntrance_EventScript_269E1B
+ compare_var_to_value VAR_0x4044, 6
+ call_if 1, Route110_TrickHouseEntrance_EventScript_269E24
+ compare_var_to_value VAR_0x4044, 7
+ call_if 1, Route110_TrickHouseEntrance_EventScript_269E2D
+ closemessage
+ setvar VAR_0x40A6, 1
+ warpsilent ROUTE_110_TRICK_HOUSE_ENTRANCE, 255, 6, 2
+ waitstate
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_269DEE:: @ 8269DEE
+ msgbox Route110_TrickHouseEntrance_Text_26A48A, 4
+ return
+
+Route110_TrickHouseEntrance_EventScript_269DF7:: @ 8269DF7
+ msgbox Route110_TrickHouseEntrance_Text_26A4DA, 4
+ return
+
+Route110_TrickHouseEntrance_EventScript_269E00:: @ 8269E00
+ msgbox Route110_TrickHouseEntrance_Text_26A529, 4
+ return
+
+Route110_TrickHouseEntrance_EventScript_269E09:: @ 8269E09
+ msgbox Route110_TrickHouseEntrance_Text_26A577, 4
+ return
+
+Route110_TrickHouseEntrance_EventScript_269E12:: @ 8269E12
+ msgbox Route110_TrickHouseEntrance_Text_26A5C8, 4
+ return
+
+Route110_TrickHouseEntrance_EventScript_269E1B:: @ 8269E1B
+ msgbox Route110_TrickHouseEntrance_Text_26A616, 4
+ return
+
+Route110_TrickHouseEntrance_EventScript_269E24:: @ 8269E24
+ msgbox Route110_TrickHouseEntrance_Text_26A665, 4
+ return
+
+Route110_TrickHouseEntrance_EventScript_269E2D:: @ 8269E2D
+ msgbox Route110_TrickHouseEntrance_Text_26A6B6, 4
+ return
+
+Route110_TrickHouseEnd_Movement_269E36: @ 8269E36
+Route110_TrickHouseEntrance_Movement_269E36: @ 8269E36
+ step_01
+ step_12
+ step_02
+ step_12
+ step_00
+ step_12
+ step_03
+ step_12
+ step_end
+
+Route110_TrickHouseEnd_Movement_269E3F: @ 8269E3F
+Route110_TrickHouseEntrance_Movement_269E3F: @ 8269E3F
+ step_01
+ step_52
+ step_32
+ step_32
+ step_32
+ step_32
+ step_32
+ step_32
+ step_end
+
+Route110_TrickHouseEntrance_EventScript_269E48:: @ 8269E48
+ msgbox Route110_TrickHouseEntrance_Text_26A709, 4
+ return
+
+Route110_TrickHouseEntrance_EventScript_269E51:: @ 8269E51
+ msgbox Route110_TrickHouseEntrance_Text_26A921, 4
+ closemessage
+ applymovement 1, Route110_TrickHouseEntrance_Movement_27259E
+ waitmovement 0
+ playse SE_PIN
+ applymovement 1, Route110_TrickHouseEntrance_Movement_272598
+ waitmovement 0
+ applymovement 1, Route110_TrickHouseEntrance_Movement_27259A
+ waitmovement 0
+ msgbox Route110_TrickHouseEntrance_Text_26A9AF, 4
+ applymovement 1, Route110_TrickHouseEntrance_Movement_2725A6
+ waitmovement 0
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_269E8F:: @ 8269E8F
+ applymovement 1, Route110_TrickHouseEntrance_Movement_27259E
+ waitmovement 0
+ msgbox Route110_TrickHouseEntrance_Text_26AA82, 4
+ compare_var_to_value VAR_0x4044, 1
+ goto_eq Route110_TrickHouseEntrance_EventScript_269EEF
+ compare_var_to_value VAR_0x4044, 2
+ goto_eq Route110_TrickHouseEntrance_EventScript_269F1B
+ compare_var_to_value VAR_0x4044, 3
+ goto_eq Route110_TrickHouseEntrance_EventScript_269F47
+ compare_var_to_value VAR_0x4044, 4
+ goto_eq Route110_TrickHouseEntrance_EventScript_269F73
+ compare_var_to_value VAR_0x4044, 5
+ goto_eq Route110_TrickHouseEntrance_EventScript_269F9F
+ compare_var_to_value VAR_0x4044, 6
+ goto_eq Route110_TrickHouseEntrance_EventScript_269FCB
+ compare_var_to_value VAR_0x4044, 7
+ goto_eq Route110_TrickHouseEntrance_EventScript_269FF7
+ end
+
+Route110_TrickHouseEntrance_EventScript_269EEF:: @ 8269EEF
+ giveitem_std ITEM_RARE_CANDY
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route110_TrickHouseEntrance_EventScript_26A023
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, Route110_TrickHouseEntrance_EventScript_27205E
+ msgbox Route110_TrickHouseEntrance_Text_26AB00, 4
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_269F1B:: @ 8269F1B
+ giveitem_std ITEM_TIMER_BALL
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route110_TrickHouseEntrance_EventScript_26A023
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, Route110_TrickHouseEntrance_EventScript_27205E
+ msgbox Route110_TrickHouseEntrance_Text_26AB00, 4
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_269F47:: @ 8269F47
+ giveitem_std ITEM_HARD_STONE
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route110_TrickHouseEntrance_EventScript_26A023
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, Route110_TrickHouseEntrance_EventScript_27205E
+ msgbox Route110_TrickHouseEntrance_Text_26AB00, 4
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_269F73:: @ 8269F73
+ giveitem_std ITEM_SMOKE_BALL
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route110_TrickHouseEntrance_EventScript_26A023
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, Route110_TrickHouseEntrance_EventScript_27205E
+ msgbox Route110_TrickHouseEntrance_Text_26AB00, 4
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_269F9F:: @ 8269F9F
+ giveitem_std ITEM_TM12
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route110_TrickHouseEntrance_EventScript_26A023
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, Route110_TrickHouseEntrance_EventScript_27205E
+ msgbox Route110_TrickHouseEntrance_Text_26AB00, 4
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_269FCB:: @ 8269FCB
+ giveitem_std ITEM_MAGNET
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route110_TrickHouseEntrance_EventScript_26A023
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, Route110_TrickHouseEntrance_EventScript_27205E
+ msgbox Route110_TrickHouseEntrance_Text_26AB00, 4
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_269FF7:: @ 8269FF7
+ giveitem_std ITEM_PP_MAX
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route110_TrickHouseEntrance_EventScript_26A023
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, Route110_TrickHouseEntrance_EventScript_27205E
+ msgbox Route110_TrickHouseEntrance_Text_26AB00, 4
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A023:: @ 826A023
+ setvar VAR_0x40C1, 0
+ setvar VAR_0x40A7, 3
+ applymovement 1, Route110_TrickHouseEntrance_Movement_2725A6
+ waitmovement 0
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A039:: @ 826A039
+ applymovement 1, Route110_TrickHouseEntrance_Movement_27259E
+ waitmovement 0
+ msgbox Route110_TrickHouseEntrance_Text_26AB2C, 4
+ call Route110_TrickHouseEntrance_EventScript_26A070
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route110_TrickHouseEntrance_EventScript_26A09A
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, Route110_TrickHouseEntrance_EventScript_272071
+ msgbox Route110_TrickHouseEntrance_Text_26ABBD, 4
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A070:: @ 826A070
+ multichoice 0, 0, 88, 1
+ switch VAR_RESULT
+ case 0, Route110_TrickHouseEntrance_EventScript_26A08A
+ goto Route110_TrickHouseEntrance_EventScript_26A092
+
+Route110_TrickHouseEntrance_EventScript_26A08A:: @ 826A08A
+ givedecoration_std 31
+ return
+
+Route110_TrickHouseEntrance_EventScript_26A092:: @ 826A092
+ givedecoration_std 32
+ return
+
+Route110_TrickHouseEntrance_EventScript_26A09A:: @ 826A09A
+ msgbox Route110_TrickHouseEntrance_Text_26ABAE, 4
+ closemessage
+ applymovement 1, Route110_TrickHouseEntrance_Movement_26D632
+ waitmovement 0
+ applymovement 1, Route110_TrickHouseEntrance_Movement_269E36
+ waitmovement 0
+ playse SE_W153
+ applymovement 1, Route110_TrickHouseEntrance_Movement_269E3F
+ waitmovement 0
+ removeobject 1
+ setvar VAR_0x40C1, 0
+ setvar VAR_0x40A7, 5
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A0D3:: @ 826A0D3
+ lockall
+ switch VAR_0x40A7
+ case 0, Route110_TrickHouseEntrance_EventScript_26A106
+ case 1, Route110_TrickHouseEntrance_EventScript_26A110
+ case 4, Route110_TrickHouseEntrance_EventScript_26A201
+ case 5, Route110_TrickHouseEntrance_EventScript_26A20B
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A106:: @ 826A106
+ msgbox Route110_TrickHouseEntrance_Text_26A878, 4
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A110:: @ 826A110
+ msgbox Route110_TrickHouseEntrance_Text_26A887, 5
+ closemessage
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route110_TrickHouseEntrance_EventScript_26A126
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A126:: @ 826A126
+ setmetatile 5, 1, 537, 0
+ special DrawWholeMapView
+ delay 20
+ applymovement 255, Route110_TrickHouseEntrance_Movement_2725C9
+ waitmovement 0
+ applymovement 255, Route110_TrickHouseEntrance_Movement_26A1A7
+ waitmovement 0
+ switch VAR_0x4044
+ case 0, Route110_TrickHouseEntrance_EventScript_26A1A9
+ case 1, Route110_TrickHouseEntrance_EventScript_26A1B4
+ case 2, Route110_TrickHouseEntrance_EventScript_26A1BF
+ case 3, Route110_TrickHouseEntrance_EventScript_26A1CA
+ case 4, Route110_TrickHouseEntrance_EventScript_26A1D5
+ case 5, Route110_TrickHouseEntrance_EventScript_26A1E0
+ case 6, Route110_TrickHouseEntrance_EventScript_26A1EB
+ case 7, Route110_TrickHouseEntrance_EventScript_26A1F6
+ end
+
+Route110_TrickHouseEntrance_Movement_26A1A7: @ 826A1A7
+ step_54
+ step_end
+
+Route110_TrickHouseEntrance_EventScript_26A1A9:: @ 826A1A9
+ warp ROUTE_110_TRICK_HOUSE_PUZZLE_1, 255, 0, 21
+ waitstate
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A1B4:: @ 826A1B4
+ warp ROUTE_110_TRICK_HOUSE_PUZZLE_2, 255, 0, 21
+ waitstate
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A1BF:: @ 826A1BF
+ warp ROUTE_110_TRICK_HOUSE_PUZZLE_3, 255, 0, 21
+ waitstate
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A1CA:: @ 826A1CA
+ warp ROUTE_110_TRICK_HOUSE_PUZZLE_4, 255, 0, 21
+ waitstate
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A1D5:: @ 826A1D5
+ warp ROUTE_110_TRICK_HOUSE_PUZZLE_5, 255, 0, 21
+ waitstate
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A1E0:: @ 826A1E0
+ warp ROUTE_110_TRICK_HOUSE_PUZZLE_6, 255, 0, 21
+ waitstate
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A1EB:: @ 826A1EB
+ warp ROUTE_110_TRICK_HOUSE_PUZZLE_7, 255, 0, 21
+ waitstate
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A1F6:: @ 826A1F6
+ warp ROUTE_110_TRICK_HOUSE_PUZZLE_8, 255, 0, 21
+ waitstate
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A201:: @ 826A201
+ msgbox Route110_TrickHouseEntrance_Text_26A8BD, 4
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A20B:: @ 826A20B
+ compare_var_to_value VAR_0x4044, 8
+ goto_eq Route110_TrickHouseEntrance_EventScript_26A220
+ msgbox Route110_TrickHouseEntrance_Text_26A878, 4
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A220:: @ 826A220
+ msgbox Route110_TrickHouseEntrance_Text_26A8BD, 4
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A22A:: @ 826A22A
+ lockall
+ switch VAR_0x4044
+ case 0, Route110_TrickHouseEntrance_EventScript_26A289
+ case 1, Route110_TrickHouseEntrance_EventScript_26A2B2
+ case 2, Route110_TrickHouseEntrance_EventScript_26A2DB
+ case 3, Route110_TrickHouseEntrance_EventScript_26A304
+ case 4, Route110_TrickHouseEntrance_EventScript_26A32D
+ case 5, Route110_TrickHouseEntrance_EventScript_26A356
+ case 6, Route110_TrickHouseEntrance_EventScript_26A37F
+ case 7, Route110_TrickHouseEntrance_EventScript_26A3A8
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A289:: @ 826A289
+ compare_var_to_value VAR_0x40AB, 0
+ goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
+ msgbox Route110_TrickHousePuzzle1_Text_26B98D, 4
+ playse SE_PIN
+ setvar VAR_0x40AB, 2
+ setmetatile 13, 1, 523, 0
+ special DrawWholeMapView
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A2B2:: @ 826A2B2
+ compare_var_to_value VAR_0x40AC, 0
+ goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
+ msgbox Route110_TrickHousePuzzle2_Text_26BCBA, 4
+ playse SE_PIN
+ setvar VAR_0x40AC, 2
+ setmetatile 13, 1, 523, 0
+ special DrawWholeMapView
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A2DB:: @ 826A2DB
+ compare_var_to_value VAR_0x40AD, 0
+ goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
+ msgbox Route110_TrickHousePuzzle3_Text_26C609, 4
+ playse SE_PIN
+ setvar VAR_0x40AD, 2
+ setmetatile 13, 1, 523, 0
+ special DrawWholeMapView
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A304:: @ 826A304
+ compare_var_to_value VAR_0x40AE, 0
+ goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
+ msgbox Route110_TrickHousePuzzle4_Text_26C8C3, 4
+ playse SE_PIN
+ setvar VAR_0x40AE, 2
+ setmetatile 13, 1, 523, 0
+ special DrawWholeMapView
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A32D:: @ 826A32D
+ compare_var_to_value VAR_0x40AF, 0
+ goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
+ msgbox Route110_TrickHousePuzzle5_Text_26D660, 4
+ playse SE_PIN
+ setvar VAR_0x40AF, 2
+ setmetatile 13, 1, 523, 0
+ special DrawWholeMapView
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A356:: @ 826A356
+ compare_var_to_value VAR_0x40B0, 0
+ goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
+ msgbox Route110_TrickHousePuzzle6_Text_26DE26, 4
+ playse SE_PIN
+ setvar VAR_0x40B0, 2
+ setmetatile 13, 1, 523, 0
+ special DrawWholeMapView
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A37F:: @ 826A37F
+ compare_var_to_value VAR_0x40B1, 0
+ goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
+ msgbox Route110_TrickHousePuzzle7_EventScript_26E413, 4
+ playse SE_PIN
+ setvar VAR_0x40B1, 2
+ setmetatile 13, 1, 523, 0
+ special DrawWholeMapView
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A3A8:: @ 826A3A8
+ compare_var_to_value VAR_0x40B2, 0
+ goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
+ msgbox Route110_TrickHousePuzzle8_EventScript_26E864, 4
+ playse SE_PIN
+ setvar VAR_0x40B2, 2
+ setmetatile 13, 1, 523, 0
+ special DrawWholeMapView
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A3D1:: @ 826A3D1
+ msgbox Route110_TrickHouseEntrance_Text_26AC4F, 4
+ releaseall
+ end
+
+Route110_TrickHousePuzzle1_EventScript_26A3DB:: @ 826A3DB
+Route110_TrickHousePuzzle2_EventScript_26A3DB:: @ 826A3DB
+Route110_TrickHousePuzzle3_EventScript_26A3DB:: @ 826A3DB
+Route110_TrickHousePuzzle4_EventScript_26A3DB:: @ 826A3DB
+Route110_TrickHousePuzzle5_EventScript_26A3DB:: @ 826A3DB
+Route110_TrickHousePuzzle6_EventScript_26A3DB:: @ 826A3DB
+Route110_TrickHousePuzzle7_EventScript_26A3DB:: @ 826A3DB
+Route110_TrickHousePuzzle8_EventScript_26A3DB:: @ 826A3DB
+ msgbox Route110_TrickHousePuzzle1_Text_26AC2F, 4
+ releaseall
+ end
+
+Route110_TrickHousePuzzle1_EventScript_26A3E5:: @ 826A3E5
+Route110_TrickHousePuzzle2_EventScript_26A3E5:: @ 826A3E5
+Route110_TrickHousePuzzle3_EventScript_26A3E5:: @ 826A3E5
+Route110_TrickHousePuzzle4_EventScript_26A3E5:: @ 826A3E5
+Route110_TrickHousePuzzle5_EventScript_26A3E5:: @ 826A3E5
+Route110_TrickHousePuzzle6_EventScript_26A3E5:: @ 826A3E5
+Route110_TrickHousePuzzle7_EventScript_26A3E5:: @ 826A3E5
+Route110_TrickHousePuzzle8_EventScript_26A3E5:: @ 826A3E5
+ playfanfare BGM_FANFA4
+ message Route110_TrickHousePuzzle1_Text_26ABE8
+ waitfanfare
+ msgbox Route110_TrickHousePuzzle1_Text_26ABFB, 4
+ releaseall
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A3F8:: @ 826A3F8
+ lockall
+ msgbox Route110_TrickHouseEntrance_Text_26A474, 4
+ releaseall
+ compare_var_to_value VAR_0x4044, 0
+ call_if 1, Route110_TrickHouseEntrance_EventScript_26A429
+ compare_var_to_value VAR_0x4044, 1
+ call_if 1, Route110_TrickHouseEntrance_EventScript_26A439
+ compare_var_to_value VAR_0x4044, 2
+ call_if 1, Route110_TrickHouseEntrance_EventScript_26A449
+ setvar VAR_0x40A5, 1
+ end
+
+Route110_TrickHouseEntrance_EventScript_26A429:: @ 826A429
+ setvar VAR_0x8004, 6
+ setvar VAR_0x8005, 3
+ call Route110_TrickHouseEntrance_EventScript_26A459
+ return
+
+Route110_TrickHouseEntrance_EventScript_26A439:: @ 826A439
+ setvar VAR_0x8004, 11
+ setvar VAR_0x8005, 5
+ call Route110_TrickHouseEntrance_EventScript_26A459
+ return
+
+Route110_TrickHouseEntrance_EventScript_26A449:: @ 826A449
+ setvar VAR_0x8004, 9
+ setvar VAR_0x8005, 2
+ call Route110_TrickHouseEntrance_EventScript_26A459
+ return
+
+Route110_TrickHouseEntrance_EventScript_26A459:: @ 826A459
+ setvar VAR_0x8006, 0
+ setfieldeffectargument 0, VAR_0x8004
+ setfieldeffectargument 1, VAR_0x8005
+ setfieldeffectargument 2, VAR_0x8006
+ dofieldeffect 54
+ waitfieldeffect 54
+ delay 10
+ return
+
+Route110_TrickHouseEntrance_Text_26A474: @ 826A474
+ .string "You’re being watched…$"
+
+Route110_TrickHouseEntrance_Text_26A48A: @ 826A48A
+ .string "Hah? Grrr…\p"
+ .string "How did you know I concealed myself\n"
+ .string "beneath this desk? You’re sharp!$"
+
+Route110_TrickHouseEntrance_Text_26A4DA: @ 826A4DA
+ .string "Hah? Grrr…\p"
+ .string "How did you know I concealed myself\n"
+ .string "behind this tree? You’re sharp!$"
+
+Route110_TrickHouseEntrance_Text_26A529: @ 826A529
+ .string "Hah? Grrr…\p"
+ .string "How did you know I concealed myself\n"
+ .string "in this dresser? You’re sharp!$"
+
+Route110_TrickHouseEntrance_Text_26A577: @ 826A577
+ .string "Hah? Grrr…\p"
+ .string "How did you know I concealed myself\n"
+ .string "beyond this window? You’re sharp!$"
+
+Route110_TrickHouseEntrance_Text_26A5C8: @ 826A5C8
+ .string "Hah? Grrr…\p"
+ .string "How did you know I concealed myself\n"
+ .string "in this planter? You’re sharp!$"
+
+Route110_TrickHouseEntrance_Text_26A616: @ 826A616
+ .string "Hah? Grrr…\p"
+ .string "How did you know I concealed myself\n"
+ .string "in this cupboard? You’re sharp!$"
+
+Route110_TrickHouseEntrance_Text_26A665: @ 826A665
+ .string "Hah? Grrr…\p"
+ .string "How did you know I concealed myself\n"
+ .string "behind this window? You’re sharp!$"
+
+Route110_TrickHouseEntrance_Text_26A6B6: @ 826A6B6
+ .string "Hah? Grrr…\p"
+ .string "How did you know I concealed myself\n"
+ .string "beneath this cushion? You’re sharp!$"
+
+Route110_TrickHouseEntrance_Text_26A709: @ 826A709
+ .string "Behold!\p"
+ .string "For I am the greatest living mystery\n"
+ .string "of a man in all of HOENN!\l"
+ .string "They call me…\p"
+ .string "The TRICK MASTER!\n"
+ .string "Wahahaha! Glad to meet you!$"
+
+Route110_TrickHouseEntrance_Text_26A78C: @ 826A78C
+ .string "You, you’ve come to challenge\n"
+ .string "my TRICK HOUSE, haven’t you?\p"
+ .string "That’s why you’re here, isn’t it?\n"
+ .string "Yes, it is!\p"
+ .string "Consider your challenge accepted!\p"
+ .string "Enter through the scroll there,\n"
+ .string "and let your challenge commence!\p"
+ .string "I shall be waiting in the back!$"
+
+Route110_TrickHouseEntrance_Text_26A878: @ 826A878
+ .string "It’s a scroll.$"
+
+Route110_TrickHouseEntrance_Text_26A887: @ 826A887
+ .string "There is a big hole behind the scroll!\p"
+ .string "Want to go in?$"
+
+Route110_TrickHouseEntrance_Text_26A8BD: @ 826A8BD
+ .string "There is a note affixed to the scroll…\p"
+ .string "“I am leaving on a journey.\n"
+ .string "Don’t look for me. TRICK MASTER”$"
+
+Route110_TrickHouseEntrance_Text_26A921: @ 826A921
+ .string "For the next time, I’ll use this trick,\n"
+ .string "and that scheme, and those ruses…\p"
+ .string "Mufufufu… If I may say so, it’s\n"
+ .string "brilliantly difficult, even for me!$"
+
+Route110_TrickHouseEntrance_Text_26A9AF: @ 826A9AF
+ .string "Hah? What?!\n"
+ .string "Oh, it’s you!\p"
+ .string "I’m in the midst of devising new tricky\n"
+ .string "challenges!\p"
+ .string "It’s not too much to ask for a bit more\n"
+ .string "time for me to think, is it now?\l"
+ .string "You wouldn’t begrudge me that?\l"
+ .string "Come back in a little while!$"
+
+Route110_TrickHouseEntrance_Text_26AA82: @ 826AA82
+ .string "Ah, it’s you! You’re here to accept the\n"
+ .string "reward from before, isn’t that right?\l"
+ .string "Yes, right I am!\p"
+ .string "Here!\n"
+ .string "I’ll give it to you now!$"
+
+Route110_TrickHouseEntrance_Text_26AB00: @ 826AB00
+ .string "Hah?\n"
+ .string "Did you not come to claim your reward?$"
+
+Route110_TrickHouseEntrance_Text_26AB2C: @ 826AB2C
+ .string "MECHADOLL 5 I AM!\n"
+ .string "IF REWARD IS NOT TAKEN BY YOU,\l"
+ .string "THEN TRICK MASTER YOU CANNOT FOLLOW.\p"
+ .string "RED TENT OR BLUE TENT,\n"
+ .string "WHICH DO YOU PREFER?$"
+
+Route110_TrickHouseEntrance_Text_26ABAE: @ 826ABAE
+ .string "THEN FAREWELL.$"
+
+Route110_TrickHouseEntrance_Text_26ABBD: @ 826ABBD
+ .string "YOUR PC STATUS: FULL AGAIN.\n"
+ .string "MEAN, YOU ARE.$"
+
+Route110_TrickHousePuzzle1_Text_26ABE8: @ 826ABE8
+ .string "{PLAYER} found a scroll.$"
+
+Route110_TrickHousePuzzle1_Text_26ABFB: @ 826ABFB
+ .string "{PLAYER} memorized the secret code\n"
+ .string "written on the scroll.$"
+
+Route110_TrickHousePuzzle1_Text_26AC2F: @ 826AC2F
+ .string "A secret code is written on it.$"
+
+Route110_TrickHouseEntrance_Text_26AC4F: @ 826AC4F
+ .string "The door is locked.\p"
+ .string "…On closer inspection, this is written\n"
+ .string "on it: “Write the secret code here.”$"
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle1.inc b/data/scripts/maps/Route110_TrickHousePuzzle1.inc
new file mode 100644
index 000000000..97db16860
--- /dev/null
+++ b/data/scripts/maps/Route110_TrickHousePuzzle1.inc
@@ -0,0 +1,79 @@
+Route110_TrickHousePuzzle1_MapScripts:: @ 826B90F
+ map_script 1, Route110_TrickHousePuzzle1_MapScript1_26B915
+ .byte 0
+
+Route110_TrickHousePuzzle1_MapScript1_26B915: @ 826B915
+ compare_var_to_value VAR_0x40AB, 2
+ goto_eq Route110_TrickHousePuzzle1_EventScript_26B921
+ end
+
+Route110_TrickHousePuzzle1_EventScript_26B921:: @ 826B921
+ setmetatile 13, 1, 523, 0
+ end
+
+Route110_TrickHousePuzzle1_EventScript_26B92B:: @ 826B92B
+ lockall
+ compare_var_to_value VAR_0x40AB, 0
+ goto_eq Route110_TrickHousePuzzle1_EventScript_26B93D
+ goto Route110_TrickHousePuzzle1_EventScript_26A3DB
+ end
+
+Route110_TrickHousePuzzle1_EventScript_26B93D:: @ 826B93D
+ setvar VAR_0x40AB, 1
+ goto Route110_TrickHousePuzzle1_EventScript_26A3E5
+ end
+
+Route110_TrickHousePuzzle1_EventScript_26B948:: @ 826B948
+ trainerbattle 0, TRAINER_SALLY, 0, Route110_TrickHousePuzzle1_Text_26B9FB, Route110_TrickHousePuzzle1_Text_26BA3F
+ msgbox Route110_TrickHousePuzzle1_Text_26BA57, 6
+ end
+
+Route110_TrickHousePuzzle1_EventScript_26B95F:: @ 826B95F
+ trainerbattle 0, TRAINER_EDDIE, 0, Route110_TrickHousePuzzle1_Text_26BA82, Route110_TrickHousePuzzle1_Text_26BAB0
+ msgbox Route110_TrickHousePuzzle1_Text_26BAC3, 6
+ end
+
+Route110_TrickHousePuzzle1_EventScript_26B976:: @ 826B976
+ trainerbattle 0, TRAINER_ROBIN, 0, Route110_TrickHousePuzzle1_Text_26BB10, Route110_TrickHousePuzzle1_Text_26BB2E
+ msgbox Route110_TrickHousePuzzle1_Text_26BB52, 6
+ end
+
+Route110_TrickHousePuzzle1_Text_26B98D:: @ 826B98D
+ .string "{PLAYER} wrote down the secret code\n"
+ .string "on the door.\p"
+ .string "“TRICK MASTER is fabulous.”\n"
+ .string "… … … … … … … …\p"
+ .string "The lock clicked open!$"
+
+Route110_TrickHousePuzzle1_Text_26B9FB: @ 826B9FB
+ .string "I’ll hack and slash my way to victory\n"
+ .string "with the CUT we just learned!$"
+
+Route110_TrickHousePuzzle1_Text_26BA3F: @ 826BA3F
+ .string "Why are you so serious?$"
+
+Route110_TrickHousePuzzle1_Text_26BA57: @ 826BA57
+ .string "I never get tired of hacking\n"
+ .string "and slashing!$"
+
+Route110_TrickHousePuzzle1_Text_26BA82: @ 826BA82
+ .string "I wandered into this weird house\n"
+ .string "by accident…$"
+
+Route110_TrickHousePuzzle1_Text_26BAB0: @ 826BAB0
+ .string "And now I’ve lost…$"
+
+Route110_TrickHousePuzzle1_Text_26BAC3: @ 826BAC3
+ .string "I lost my way, I lost a battle, and I’m\n"
+ .string "now even more lost… I can’t get out…$"
+
+Route110_TrickHousePuzzle1_Text_26BB10: @ 826BB10
+ .string "Just who is the TRICK MASTER?$"
+
+Route110_TrickHousePuzzle1_Text_26BB2E: @ 826BB2E
+ .string "I lost while I was lost in thought!$"
+
+Route110_TrickHousePuzzle1_Text_26BB52: @ 826BB52
+ .string "You’re strong!\n"
+ .string "Just who are you?$"
+
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle2.inc b/data/scripts/maps/Route110_TrickHousePuzzle2.inc
new file mode 100644
index 000000000..d7981a534
--- /dev/null
+++ b/data/scripts/maps/Route110_TrickHousePuzzle2.inc
@@ -0,0 +1,146 @@
+Route110_TrickHousePuzzle2_MapScripts:: @ 826BB73
+ map_script 5, Route110_TrickHousePuzzle2_MapScript1_26BB7E
+ map_script 3, Route110_TrickHousePuzzle2_MapScript1_26BBAB
+ .byte 0
+
+Route110_TrickHousePuzzle2_MapScript1_26BB7E: @ 826BB7E
+ compare_var_to_value VAR_0x4001, 1
+ call_if 1, Route110_TrickHousePuzzle2_EventScript_26BC29
+ compare_var_to_value VAR_0x4002, 1
+ call_if 1, Route110_TrickHousePuzzle2_EventScript_26BC3C
+ compare_var_to_value VAR_0x4003, 1
+ call_if 1, Route110_TrickHousePuzzle2_EventScript_26BC4F
+ compare_var_to_value VAR_0x4004, 1
+ call_if 1, Route110_TrickHousePuzzle2_EventScript_26BC62
+ end
+
+Route110_TrickHousePuzzle2_MapScript1_26BBAB: @ 826BBAB
+ setvar VAR_0x4001, 0
+ setvar VAR_0x4002, 0
+ setvar VAR_0x4003, 0
+ setvar VAR_0x4004, 0
+ end
+
+Route110_TrickHousePuzzle2_EventScript_26BBC0:: @ 826BBC0
+ lockall
+ compare_var_to_value VAR_0x40AC, 0
+ goto_eq Route110_TrickHousePuzzle2_EventScript_26BBD2
+ goto Route110_TrickHousePuzzle2_EventScript_26A3DB
+ end
+
+Route110_TrickHousePuzzle2_EventScript_26BBD2:: @ 826BBD2
+ setvar VAR_0x40AC, 1
+ goto Route110_TrickHousePuzzle2_EventScript_26A3E5
+ end
+
+Route110_TrickHousePuzzle2_EventScript_26BBDD:: @ 826BBDD
+ lockall
+ setvar VAR_0x4001, 1
+ playse SE_PIN
+ call Route110_TrickHousePuzzle2_EventScript_26BC29
+ special DrawWholeMapView
+ releaseall
+ end
+
+Route110_TrickHousePuzzle2_EventScript_26BBF0:: @ 826BBF0
+ lockall
+ setvar VAR_0x4002, 1
+ playse SE_PIN
+ call Route110_TrickHousePuzzle2_EventScript_26BC3C
+ special DrawWholeMapView
+ releaseall
+ end
+
+Route110_TrickHousePuzzle2_EventScript_26BC03:: @ 826BC03
+ lockall
+ setvar VAR_0x4003, 1
+ playse SE_PIN
+ call Route110_TrickHousePuzzle2_EventScript_26BC4F
+ special DrawWholeMapView
+ releaseall
+ end
+
+Route110_TrickHousePuzzle2_EventScript_26BC16:: @ 826BC16
+ lockall
+ setvar VAR_0x4004, 1
+ playse SE_PIN
+ call Route110_TrickHousePuzzle2_EventScript_26BC62
+ special DrawWholeMapView
+ releaseall
+ end
+
+Route110_TrickHousePuzzle2_EventScript_26BC29:: @ 826BC29
+ setmetatile 11, 12, 601, 0
+ setmetatile 1, 13, 618, 0
+ return
+
+Route110_TrickHousePuzzle2_EventScript_26BC3C:: @ 826BC3C
+ setmetatile 0, 4, 601, 0
+ setmetatile 5, 6, 618, 0
+ return
+
+Route110_TrickHousePuzzle2_EventScript_26BC4F:: @ 826BC4F
+ setmetatile 14, 5, 601, 0
+ setmetatile 7, 15, 618, 0
+ return
+
+Route110_TrickHousePuzzle2_EventScript_26BC62:: @ 826BC62
+ setmetatile 7, 11, 601, 0
+ setmetatile 14, 12, 618, 0
+ return
+
+Route110_TrickHousePuzzle2_EventScript_26BC75:: @ 826BC75
+ trainerbattle 0, TRAINER_TED, 0, Route110_TrickHousePuzzle2_Text_26BD25, Route110_TrickHousePuzzle2_Text_26BD45
+ msgbox Route110_TrickHousePuzzle2_Text_26BD70, 6
+ end
+
+Route110_TrickHousePuzzle2_EventScript_26BC8C:: @ 826BC8C
+ trainerbattle 0, TRAINER_PAUL, 0, Route110_TrickHousePuzzle2_Text_26BD9E, Route110_TrickHousePuzzle2_Text_26BDCF
+ msgbox Route110_TrickHousePuzzle2_Text_26BDEC, 6
+ end
+
+Route110_TrickHousePuzzle2_EventScript_26BCA3:: @ 826BCA3
+ trainerbattle 0, TRAINER_GEORGIA, 0, Route110_TrickHousePuzzle2_Text_26BE31, Route110_TrickHousePuzzle2_Text_26BE77
+ msgbox Route110_TrickHousePuzzle2_Text_26BE97, 6
+ end
+
+Route110_TrickHousePuzzle2_Text_26BCBA: @ 826BCBA
+ .string "{PLAYER} wrote down the secret code\n"
+ .string "on the door.\p"
+ .string "“TRICK MASTER is smart.”\n"
+ .string "… … … … … … … …\p"
+ .string "The lock clicked open!$"
+
+Route110_TrickHousePuzzle2_Text_26BD25: @ 826BD25
+ .string "Which switch closes which hole?$"
+
+Route110_TrickHousePuzzle2_Text_26BD45: @ 826BD45
+ .string "After that battle, I’m even more\n"
+ .string "confused!$"
+
+Route110_TrickHousePuzzle2_Text_26BD70: @ 826BD70
+ .string "Can I get you to push all the buttons\n"
+ .string "for me?$"
+
+Route110_TrickHousePuzzle2_Text_26BD9E: @ 826BD9E
+ .string "Oh! You’re on your second TRICK HOUSE\n"
+ .string "challenge!$"
+
+Route110_TrickHousePuzzle2_Text_26BDCF: @ 826BDCF
+ .string "You’re good at battling too?$"
+
+Route110_TrickHousePuzzle2_Text_26BDEC: @ 826BDEC
+ .string "The TRICK MASTER rigged all the tricks\n"
+ .string "in this house all by himself.$"
+
+Route110_TrickHousePuzzle2_Text_26BE31: @ 826BE31
+ .string "I want to make my own GYM one day.\n"
+ .string "So, I’m studying how to set traps.$"
+
+Route110_TrickHousePuzzle2_Text_26BE77: @ 826BE77
+ .string "I didn’t study battling enough!$"
+
+Route110_TrickHousePuzzle2_Text_26BE97: @ 826BE97
+ .string "You’re strong, aren’t you?\n"
+ .string "Maybe even enough to be a GYM LEADER!$"
+
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle3.inc b/data/scripts/maps/Route110_TrickHousePuzzle3.inc
new file mode 100644
index 000000000..a8c62db41
--- /dev/null
+++ b/data/scripts/maps/Route110_TrickHousePuzzle3.inc
@@ -0,0 +1,360 @@
+Route110_TrickHousePuzzle3_MapScripts:: @ 826BED8
+ map_script 5, Route110_TrickHousePuzzle3_MapScript1_26BEE3
+ map_script 3, Route110_TrickHousePuzzle3_MapScript1_26BEFF
+ .byte 0
+
+Route110_TrickHousePuzzle3_MapScript1_26BEE3: @ 826BEE3
+ call Route110_TrickHousePuzzle3_EventScript_26BF1E
+ compare_var_to_value VAR_0x4009, 0
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF97
+ compare_var_to_value VAR_0x4009, 1
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_26C232
+ end
+
+Route110_TrickHousePuzzle3_MapScript1_26BEFF: @ 826BEFF
+ setvar VAR_0x4001, 0
+ setvar VAR_0x4002, 0
+ setvar VAR_0x4003, 0
+ setvar VAR_0x4004, 0
+ setvar VAR_0x4008, 0
+ setvar VAR_0x4009, 0
+ end
+
+Route110_TrickHousePuzzle3_EventScript_26BF1E:: @ 826BF1E
+ setmetatile 4, 14, 600, 0
+ setmetatile 3, 11, 600, 0
+ setmetatile 12, 5, 600, 0
+ setmetatile 8, 2, 600, 0
+ compare_var_to_value VAR_0x4008, 1
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF6F
+ compare_var_to_value VAR_0x4008, 2
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF79
+ compare_var_to_value VAR_0x4008, 3
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF83
+ compare_var_to_value VAR_0x4008, 4
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF8D
+ return
+
+Route110_TrickHousePuzzle3_EventScript_26BF6F:: @ 826BF6F
+ setmetatile 4, 14, 601, 0
+ return
+
+Route110_TrickHousePuzzle3_EventScript_26BF79:: @ 826BF79
+ setmetatile 3, 11, 601, 0
+ return
+
+Route110_TrickHousePuzzle3_EventScript_26BF83:: @ 826BF83
+ setmetatile 12, 5, 601, 0
+ return
+
+Route110_TrickHousePuzzle3_EventScript_26BF8D:: @ 826BF8D
+ setmetatile 8, 2, 601, 0
+ return
+
+Route110_TrickHousePuzzle3_EventScript_26BF97:: @ 826BF97
+ setmetatile 1, 6, 587, 0
+ setmetatile 2, 6, 588, 0
+ setmetatile 1, 7, 595, 0
+ setmetatile 2, 7, 596, 0
+ setmetatile 1, 9, 587, 0
+ setmetatile 2, 9, 588, 0
+ setmetatile 1, 10, 595, 0
+ setmetatile 2, 10, 596, 0
+ setmetatile 4, 15, 587, 0
+ setmetatile 5, 15, 588, 0
+ setmetatile 4, 16, 595, 0
+ setmetatile 5, 16, 596, 0
+ setmetatile 13, 9, 587, 0
+ setmetatile 14, 9, 588, 0
+ setmetatile 13, 10, 595, 0
+ setmetatile 14, 10, 596, 0
+ setmetatile 13, 15, 587, 0
+ setmetatile 14, 15, 588, 0
+ setmetatile 13, 16, 595, 0
+ setmetatile 14, 16, 596, 0
+ setmetatile 3, 7, 589, 1
+ setmetatile 3, 8, 597, 0
+ setmetatile 3, 13, 589, 1
+ setmetatile 3, 14, 597, 0
+ setmetatile 6, 4, 589, 1
+ setmetatile 6, 5, 597, 0
+ setmetatile 9, 16, 589, 1
+ setmetatile 9, 17, 597, 0
+ setmetatile 12, 7, 589, 1
+ setmetatile 12, 8, 597, 0
+ setmetatile 1, 3, 568, 0
+ setmetatile 2, 3, 569, 0
+ setmetatile 1, 4, 576, 1
+ setmetatile 2, 4, 577, 1
+ setmetatile 1, 12, 568, 0
+ setmetatile 2, 12, 569, 0
+ setmetatile 1, 13, 576, 1
+ setmetatile 2, 13, 577, 1
+ setmetatile 4, 6, 568, 0
+ setmetatile 5, 6, 569, 0
+ setmetatile 4, 7, 576, 1
+ setmetatile 5, 7, 577, 1
+ setmetatile 4, 12, 568, 0
+ setmetatile 5, 12, 569, 0
+ setmetatile 4, 13, 576, 1
+ setmetatile 5, 13, 577, 1
+ setmetatile 4, 18, 568, 0
+ setmetatile 5, 18, 569, 0
+ setmetatile 4, 19, 576, 1
+ setmetatile 5, 19, 577, 1
+ setmetatile 7, 9, 568, 0
+ setmetatile 8, 9, 569, 0
+ setmetatile 7, 10, 576, 1
+ setmetatile 8, 10, 577, 1
+ setmetatile 10, 6, 568, 0
+ setmetatile 11, 6, 569, 0
+ setmetatile 10, 7, 576, 1
+ setmetatile 11, 7, 577, 1
+ setmetatile 10, 12, 568, 0
+ setmetatile 11, 12, 569, 0
+ setmetatile 10, 13, 576, 1
+ setmetatile 11, 13, 577, 1
+ setmetatile 10, 18, 568, 0
+ setmetatile 11, 18, 569, 0
+ setmetatile 10, 19, 576, 1
+ setmetatile 11, 19, 577, 1
+ setmetatile 13, 3, 568, 0
+ setmetatile 14, 3, 569, 0
+ setmetatile 13, 4, 576, 1
+ setmetatile 14, 4, 577, 1
+ setmetatile 3, 16, 570, 1
+ setmetatile 3, 17, 578, 1
+ setmetatile 9, 4, 570, 1
+ setmetatile 9, 5, 578, 1
+ return
+
+Route110_TrickHousePuzzle3_EventScript_26C232:: @ 826C232
+ setmetatile 1, 6, 571, 0
+ setmetatile 2, 6, 572, 0
+ setmetatile 1, 7, 579, 1
+ setmetatile 2, 7, 580, 1
+ setmetatile 1, 9, 571, 0
+ setmetatile 2, 9, 572, 0
+ setmetatile 1, 10, 579, 1
+ setmetatile 2, 10, 580, 1
+ setmetatile 4, 15, 571, 0
+ setmetatile 5, 15, 572, 0
+ setmetatile 4, 16, 579, 1
+ setmetatile 5, 16, 580, 1
+ setmetatile 13, 9, 571, 0
+ setmetatile 14, 9, 572, 0
+ setmetatile 13, 10, 579, 1
+ setmetatile 14, 10, 580, 1
+ setmetatile 13, 15, 571, 0
+ setmetatile 14, 15, 572, 0
+ setmetatile 13, 16, 579, 1
+ setmetatile 14, 16, 580, 1
+ setmetatile 3, 7, 573, 1
+ setmetatile 3, 8, 581, 1
+ setmetatile 3, 13, 573, 1
+ setmetatile 3, 14, 581, 1
+ setmetatile 6, 4, 573, 1
+ setmetatile 6, 5, 581, 1
+ setmetatile 9, 16, 573, 1
+ setmetatile 9, 17, 581, 1
+ setmetatile 12, 7, 573, 1
+ setmetatile 12, 8, 581, 1
+ setmetatile 1, 3, 584, 0
+ setmetatile 2, 3, 585, 0
+ setmetatile 1, 4, 592, 0
+ setmetatile 2, 4, 593, 0
+ setmetatile 1, 12, 584, 0
+ setmetatile 2, 12, 585, 0
+ setmetatile 1, 13, 592, 0
+ setmetatile 2, 13, 593, 0
+ setmetatile 4, 6, 584, 0
+ setmetatile 5, 6, 585, 0
+ setmetatile 4, 7, 592, 0
+ setmetatile 5, 7, 593, 0
+ setmetatile 4, 12, 584, 0
+ setmetatile 5, 12, 585, 0
+ setmetatile 4, 13, 592, 0
+ setmetatile 5, 13, 593, 0
+ setmetatile 4, 18, 584, 0
+ setmetatile 5, 18, 585, 0
+ setmetatile 4, 19, 592, 0
+ setmetatile 5, 19, 593, 0
+ setmetatile 7, 9, 584, 0
+ setmetatile 8, 9, 585, 0
+ setmetatile 7, 10, 592, 0
+ setmetatile 8, 10, 593, 0
+ setmetatile 10, 6, 584, 0
+ setmetatile 11, 6, 585, 0
+ setmetatile 10, 7, 592, 0
+ setmetatile 11, 7, 593, 0
+ setmetatile 10, 12, 584, 0
+ setmetatile 11, 12, 585, 0
+ setmetatile 10, 13, 592, 0
+ setmetatile 11, 13, 593, 0
+ setmetatile 10, 18, 584, 0
+ setmetatile 11, 18, 585, 0
+ setmetatile 10, 19, 592, 0
+ setmetatile 11, 19, 593, 0
+ setmetatile 13, 3, 584, 0
+ setmetatile 14, 3, 585, 0
+ setmetatile 13, 4, 592, 0
+ setmetatile 14, 4, 593, 0
+ setmetatile 3, 16, 586, 1
+ setmetatile 3, 17, 594, 0
+ setmetatile 9, 4, 586, 1
+ setmetatile 9, 5, 594, 0
+ return
+
+Route110_TrickHousePuzzle3_EventScript_26C4CD:: @ 826C4CD
+ lockall
+ setvar VAR_0x4008, 1
+ goto Route110_TrickHousePuzzle3_EventScript_26C4FD
+ end
+
+Route110_TrickHousePuzzle3_EventScript_26C4D9:: @ 826C4D9
+ lockall
+ setvar VAR_0x4008, 2
+ goto Route110_TrickHousePuzzle3_EventScript_26C4FD
+ end
+
+Route110_TrickHousePuzzle3_EventScript_26C4E5:: @ 826C4E5
+ lockall
+ setvar VAR_0x4008, 3
+ goto Route110_TrickHousePuzzle3_EventScript_26C4FD
+ end
+
+Route110_TrickHousePuzzle3_EventScript_26C4F1:: @ 826C4F1
+ lockall
+ setvar VAR_0x4008, 4
+ goto Route110_TrickHousePuzzle3_EventScript_26C4FD
+ end
+
+Route110_TrickHousePuzzle3_EventScript_26C4FD:: @ 826C4FD
+ call Route110_TrickHousePuzzle3_EventScript_26C510
+ playse SE_PIN
+ call Route110_TrickHousePuzzle3_EventScript_26BF1E
+ goto Route110_TrickHousePuzzle3_EventScript_26C569
+ end
+
+Route110_TrickHousePuzzle3_EventScript_26C510:: @ 826C510
+ setvar VAR_0x4001, 0
+ setvar VAR_0x4002, 0
+ setvar VAR_0x4003, 0
+ setvar VAR_0x4004, 0
+ compare_var_to_value VAR_0x4008, 1
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_26C551
+ compare_var_to_value VAR_0x4008, 2
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_26C557
+ compare_var_to_value VAR_0x4008, 3
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_26C55D
+ compare_var_to_value VAR_0x4008, 4
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_26C563
+ return
+
+Route110_TrickHousePuzzle3_EventScript_26C551:: @ 826C551
+ setvar VAR_0x4001, 1
+ return
+
+Route110_TrickHousePuzzle3_EventScript_26C557:: @ 826C557
+ setvar VAR_0x4002, 1
+ return
+
+Route110_TrickHousePuzzle3_EventScript_26C55D:: @ 826C55D
+ setvar VAR_0x4003, 1
+ return
+
+Route110_TrickHousePuzzle3_EventScript_26C563:: @ 826C563
+ setvar VAR_0x4004, 1
+ return
+
+Route110_TrickHousePuzzle3_EventScript_26C569:: @ 826C569
+ compare_var_to_value VAR_0x4009, 1
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF97
+ compare_var_to_value VAR_0x4009, 0
+ call_if 1, Route110_TrickHousePuzzle3_EventScript_26C232
+ special DrawWholeMapView
+ compare_var_to_value VAR_0x4009, 1
+ goto_eq Route110_TrickHousePuzzle3_EventScript_26C599
+ compare_var_to_value VAR_0x4009, 0
+ goto_eq Route110_TrickHousePuzzle3_EventScript_26C5A0
+ end
+
+Route110_TrickHousePuzzle3_EventScript_26C599:: @ 826C599
+ setvar VAR_0x4009, 0
+ releaseall
+ end
+
+Route110_TrickHousePuzzle3_EventScript_26C5A0:: @ 826C5A0
+ setvar VAR_0x4009, 1
+ releaseall
+ end
+
+Route110_TrickHousePuzzle3_EventScript_26C5A7:: @ 826C5A7
+ lockall
+ compare_var_to_value VAR_0x40AD, 0
+ goto_eq Route110_TrickHousePuzzle3_EventScript_26C5B9
+ goto Route110_TrickHousePuzzle3_EventScript_26A3DB
+ end
+
+Route110_TrickHousePuzzle3_EventScript_26C5B9:: @ 826C5B9
+ setvar VAR_0x40AD, 1
+ goto Route110_TrickHousePuzzle3_EventScript_26A3E5
+ end
+
+Route110_TrickHousePuzzle3_EventScript_26C5C4:: @ 826C5C4
+ trainerbattle 0, TRAINER_JUSTIN, 0, Route110_TrickHousePuzzle3_Text_26C676, Route110_TrickHousePuzzle3_Text_26C69D
+ msgbox Route110_TrickHousePuzzle3_Text_26C6E6, 6
+ end
+
+Route110_TrickHousePuzzle3_EventScript_26C5DB:: @ 826C5DB
+ trainerbattle 0, TRAINER_MARTHA, 0, Route110_TrickHousePuzzle3_Text_26C726, Route110_TrickHousePuzzle3_Text_26C763
+ msgbox Route110_TrickHousePuzzle3_Text_26C776, 6
+ end
+
+Route110_TrickHousePuzzle3_EventScript_26C5F2:: @ 826C5F2
+ trainerbattle 0, TRAINER_ALAN, 0, Route110_TrickHousePuzzle3_Text_26C7AA, Route110_TrickHousePuzzle3_Text_26C7EC
+ msgbox Route110_TrickHousePuzzle3_Text_26C80C, 6
+ end
+
+Route110_TrickHousePuzzle3_Text_26C609: @ 826C609
+ .string "{PLAYER} wrote down the secret code\n"
+ .string "on the door.\p"
+ .string "“TRICK MASTER is coveted.”\n"
+ .string "… … … … … … … …\p"
+ .string "The lock clicked open!$"
+
+Route110_TrickHousePuzzle3_Text_26C676: @ 826C676
+ .string "I keep coming back to this same place!$"
+
+Route110_TrickHousePuzzle3_Text_26C69D: @ 826C69D
+ .string "I’m already having trouble, and then\n"
+ .string "you have to beat me? It’s not fair!$"
+
+Route110_TrickHousePuzzle3_Text_26C6E6: @ 826C6E6
+ .string "It’s full of doors here!\n"
+ .string "It’s too small and dark in here! Help!$"
+
+Route110_TrickHousePuzzle3_Text_26C726: @ 826C726
+ .string "I don’t know what’s going on here.\n"
+ .string "I’m starting to feel sad…$"
+
+Route110_TrickHousePuzzle3_Text_26C763: @ 826C763
+ .string "You… You’re awful!$"
+
+Route110_TrickHousePuzzle3_Text_26C776: @ 826C776
+ .string "I know I’m weak!\n"
+ .string "And, I have no sense of direction!$"
+
+Route110_TrickHousePuzzle3_Text_26C7AA: @ 826C7AA
+ .string "I don’t get it. What would anyone want\n"
+ .string "with a house this bizarre?$"
+
+Route110_TrickHousePuzzle3_Text_26C7EC: @ 826C7EC
+ .string "I don’t get it.\n"
+ .string "How did I lose?$"
+
+Route110_TrickHousePuzzle3_Text_26C80C: @ 826C80C
+ .string "I don’t get it.\n"
+ .string "How many traps are in this house?\p"
+ .string "You may be the one to solve that.$"
+
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle4.inc b/data/scripts/maps/Route110_TrickHousePuzzle4.inc
new file mode 100644
index 000000000..9b2e2e57f
--- /dev/null
+++ b/data/scripts/maps/Route110_TrickHousePuzzle4.inc
@@ -0,0 +1,71 @@
+Route110_TrickHousePuzzle4_MapScripts:: @ 826C860
+ .byte 0
+
+Route110_TrickHousePuzzle4_EventScript_26C861:: @ 826C861
+ lockall
+ compare_var_to_value VAR_0x40AE, 0
+ goto_eq Route110_TrickHousePuzzle4_EventScript_26C873
+ goto Route110_TrickHousePuzzle4_EventScript_26A3DB
+ end
+
+Route110_TrickHousePuzzle4_EventScript_26C873:: @ 826C873
+ setvar VAR_0x40AE, 1
+ goto Route110_TrickHousePuzzle4_EventScript_26A3E5
+ end
+
+Route110_TrickHousePuzzle4_EventScript_26C87E:: @ 826C87E
+ trainerbattle 0, TRAINER_CORA, 0, Route110_TrickHousePuzzle4_Text_26C92D, Route110_TrickHousePuzzle4_Text_26C96E
+ msgbox Route110_TrickHousePuzzle4_Text_26C9A2, 6
+ end
+
+Route110_TrickHousePuzzle4_EventScript_26C895:: @ 826C895
+ trainerbattle 0, TRAINER_YUJI, 0, Route110_TrickHousePuzzle4_Text_26C9E4, Route110_TrickHousePuzzle4_Text_26CA20
+ msgbox Route110_TrickHousePuzzle4_Text_26CA53, 6
+ end
+
+Route110_TrickHousePuzzle4_EventScript_26C8AC:: @ 826C8AC
+ trainerbattle 0, TRAINER_PAULA, 0, Route110_TrickHousePuzzle4_Text_26CA9C, Route110_TrickHousePuzzle4_Text_26CACB
+ msgbox Route110_TrickHousePuzzle4_Text_26CAD1, 6
+ end
+
+Route110_TrickHousePuzzle4_Text_26C8C3: @ 826C8C3
+ .string "{PLAYER} wrote down the secret code\n"
+ .string "on the door.\p"
+ .string "“TRICK MASTER is cool.”\n"
+ .string "… … … … … … … …\p"
+ .string "The lock clicked open!$"
+
+Route110_TrickHousePuzzle4_Text_26C92D: @ 826C92D
+ .string "It’s too much bother to think this out.\n"
+ .string "I only wanted to battle!$"
+
+Route110_TrickHousePuzzle4_Text_26C96E: @ 826C96E
+ .string "Even though I lost, I still like battling\n"
+ .string "the best!$"
+
+Route110_TrickHousePuzzle4_Text_26C9A2: @ 826C9A2
+ .string "Wouldn’t you agree? You would go\n"
+ .string "anywhere if TRAINERS were there.$"
+
+Route110_TrickHousePuzzle4_Text_26C9E4: @ 826C9E4
+ .string "Heh! Boulders like this, I can brush\n"
+ .string "aside with one finger!$"
+
+Route110_TrickHousePuzzle4_Text_26CA20: @ 826CA20
+ .string "I can push boulders, but I can’t solve\n"
+ .string "the puzzle…$"
+
+Route110_TrickHousePuzzle4_Text_26CA53: @ 826CA53
+ .string "It’s not good enough to be brawny…\n"
+ .string "You have to use your head. Be brainy!$"
+
+Route110_TrickHousePuzzle4_Text_26CA9C: @ 826CA9C
+ .string "The TRICK HOUSE is getting trickier,\n"
+ .string "isn’t it?$"
+
+Route110_TrickHousePuzzle4_Text_26CACB: @ 826CACB
+ .string "Aaak!$"
+
+Route110_TrickHousePuzzle4_Text_26CAD1: @ 826CAD1
+ .string "Has anyone made it to the end?$"
+
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle5.inc b/data/scripts/maps/Route110_TrickHousePuzzle5.inc
new file mode 100644
index 000000000..5f90e7f1d
--- /dev/null
+++ b/data/scripts/maps/Route110_TrickHousePuzzle5.inc
@@ -0,0 +1,1091 @@
+Route110_TrickHousePuzzle5_MapScripts:: @ 826CAF0
+ map_script 3, Route110_TrickHousePuzzle5_MapScript1_26CAF6
+ .byte 0
+
+Route110_TrickHousePuzzle5_MapScript1_26CAF6: @ 826CAF6
+ setvar VAR_0x4001, 0
+ setvar VAR_0x4002, 0
+ setvar VAR_0x4003, 0
+ setvar VAR_0x4004, 0
+ setvar VAR_0x4005, 0
+ setvar VAR_0x4008, 0
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CB15:: @ 826CB15
+ lockall
+ compare_var_to_value VAR_0x40AF, 0
+ goto_eq Route110_TrickHousePuzzle5_EventScript_26CB27
+ goto Route110_TrickHousePuzzle5_EventScript_26A3DB
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CB27:: @ 826CB27
+ setvar VAR_0x40AF, 1
+ goto Route110_TrickHousePuzzle5_EventScript_26A3E5
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CB32:: @ 826CB32
+ lockall
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_27259E
+ waitmovement 0
+ compare_var_to_value VAR_0x4001, 1
+ goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA
+ setvar VAR_0x4009, 0
+ goto Route110_TrickHousePuzzle5_EventScript_26CCEB
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CB53:: @ 826CB53
+ lockall
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_27259E
+ waitmovement 0
+ compare_var_to_value VAR_0x4002, 1
+ goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA
+ setvar VAR_0x4009, 0
+ goto Route110_TrickHousePuzzle5_EventScript_26CD6A
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CB74:: @ 826CB74
+ lockall
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_27259E
+ waitmovement 0
+ compare_var_to_value VAR_0x4003, 1
+ goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA
+ setvar VAR_0x4009, 0
+ goto Route110_TrickHousePuzzle5_EventScript_26CDF4
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CB95:: @ 826CB95
+ lockall
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_27259E
+ waitmovement 0
+ compare_var_to_value VAR_0x4004, 1
+ goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA
+ setvar VAR_0x4009, 0
+ goto Route110_TrickHousePuzzle5_EventScript_26CE73
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CBB6:: @ 826CBB6
+ lockall
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_27259E
+ waitmovement 0
+ compare_var_to_value VAR_0x4005, 1
+ goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA
+ setvar VAR_0x4009, 0
+ goto Route110_TrickHousePuzzle5_EventScript_26CEF2
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CBD7:: @ 826CBD7
+ lockall
+ setvar VAR_0x4009, 0
+ goto Route110_TrickHousePuzzle5_EventScript_26CCEB
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CBE3:: @ 826CBE3
+ lockall
+ setvar VAR_0x4009, 1
+ goto Route110_TrickHousePuzzle5_EventScript_26CCEB
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CBEF:: @ 826CBEF
+ lockall
+ setvar VAR_0x4009, 2
+ goto Route110_TrickHousePuzzle5_EventScript_26CCEB
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CBFB:: @ 826CBFB
+ lockall
+ setvar VAR_0x4009, 3
+ goto Route110_TrickHousePuzzle5_EventScript_26CCEB
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CC07:: @ 826CC07
+ lockall
+ setvar VAR_0x4009, 4
+ goto Route110_TrickHousePuzzle5_EventScript_26CCEB
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CC13:: @ 826CC13
+ lockall
+ setvar VAR_0x4009, 0
+ goto Route110_TrickHousePuzzle5_EventScript_26CD6A
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CC1F:: @ 826CC1F
+ lockall
+ setvar VAR_0x4009, 1
+ goto Route110_TrickHousePuzzle5_EventScript_26CD6A
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CC2B:: @ 826CC2B
+ lockall
+ setvar VAR_0x4009, 2
+ goto Route110_TrickHousePuzzle5_EventScript_26CD6A
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CC37:: @ 826CC37
+ lockall
+ setvar VAR_0x4009, 3
+ goto Route110_TrickHousePuzzle5_EventScript_26CD6A
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CC43:: @ 826CC43
+ lockall
+ setvar VAR_0x4009, 4
+ goto Route110_TrickHousePuzzle5_EventScript_26CD6A
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CC4F:: @ 826CC4F
+ lockall
+ setvar VAR_0x4009, 5
+ goto Route110_TrickHousePuzzle5_EventScript_26CD6A
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CC5B:: @ 826CC5B
+ lockall
+ setvar VAR_0x4009, 0
+ goto Route110_TrickHousePuzzle5_EventScript_26CDF4
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CC67:: @ 826CC67
+ lockall
+ setvar VAR_0x4009, 1
+ goto Route110_TrickHousePuzzle5_EventScript_26CDF4
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CC73:: @ 826CC73
+ lockall
+ setvar VAR_0x4009, 2
+ goto Route110_TrickHousePuzzle5_EventScript_26CDF4
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CC7F:: @ 826CC7F
+ lockall
+ setvar VAR_0x4009, 3
+ goto Route110_TrickHousePuzzle5_EventScript_26CDF4
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CC8B:: @ 826CC8B
+ lockall
+ setvar VAR_0x4009, 4
+ goto Route110_TrickHousePuzzle5_EventScript_26CDF4
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CC97:: @ 826CC97
+ lockall
+ setvar VAR_0x4009, 0
+ goto Route110_TrickHousePuzzle5_EventScript_26CE73
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CCA3:: @ 826CCA3
+ lockall
+ setvar VAR_0x4009, 1
+ goto Route110_TrickHousePuzzle5_EventScript_26CE73
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CCAF:: @ 826CCAF
+ lockall
+ setvar VAR_0x4009, 2
+ goto Route110_TrickHousePuzzle5_EventScript_26CE73
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CCBB:: @ 826CCBB
+ lockall
+ setvar VAR_0x4009, 3
+ goto Route110_TrickHousePuzzle5_EventScript_26CE73
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CCC7:: @ 826CCC7
+ lockall
+ setvar VAR_0x4009, 4
+ goto Route110_TrickHousePuzzle5_EventScript_26CE73
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CCD3:: @ 826CCD3
+ lockall
+ setvar VAR_0x4009, 5
+ goto Route110_TrickHousePuzzle5_EventScript_26CE73
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CCDF:: @ 826CCDF
+ lockall
+ setvar VAR_0x4009, 0
+ goto Route110_TrickHousePuzzle5_EventScript_26CEF2
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CCEB:: @ 826CCEB
+ setvar VAR_0x4001, 1
+ setvar VAR_0x4008, 1
+ playse SE_PIN
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_272598
+ waitmovement 0
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_27259A
+ waitmovement 0
+ compare_var_to_value VAR_0x4009, 1
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1B4
+ compare_var_to_value VAR_0x4009, 2
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1EC
+ compare_var_to_value VAR_0x4009, 3
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D224
+ compare_var_to_value VAR_0x4009, 4
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D25C
+ msgbox Route110_TrickHousePuzzle5_Text_26D6CE, 4
+ random 3
+ switch VAR_RESULT
+ case 0, Route110_TrickHousePuzzle5_EventScript_26CF45
+ case 1, Route110_TrickHousePuzzle5_EventScript_26CF68
+ case 2, Route110_TrickHousePuzzle5_EventScript_26CF8B
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CD6A:: @ 826CD6A
+ setvar VAR_0x4002, 1
+ setvar VAR_0x4008, 2
+ playse SE_PIN
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_272598
+ waitmovement 0
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_27259A
+ waitmovement 0
+ compare_var_to_value VAR_0x4009, 1
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D2CC
+ compare_var_to_value VAR_0x4009, 2
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D304
+ compare_var_to_value VAR_0x4009, 3
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D33C
+ compare_var_to_value VAR_0x4009, 4
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D374
+ compare_var_to_value VAR_0x4009, 5
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D3AC
+ msgbox Route110_TrickHousePuzzle5_Text_26D8EA, 4
+ random 3
+ switch VAR_RESULT
+ case 0, Route110_TrickHousePuzzle5_EventScript_26CFAE
+ case 1, Route110_TrickHousePuzzle5_EventScript_26CFD1
+ case 2, Route110_TrickHousePuzzle5_EventScript_26CFF4
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CDF4:: @ 826CDF4
+ setvar VAR_0x4003, 1
+ setvar VAR_0x4008, 3
+ playse SE_PIN
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_272598
+ waitmovement 0
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_27259A
+ waitmovement 0
+ compare_var_to_value VAR_0x4009, 1
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1B4
+ compare_var_to_value VAR_0x4009, 2
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1EC
+ compare_var_to_value VAR_0x4009, 3
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D224
+ compare_var_to_value VAR_0x4009, 4
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D25C
+ msgbox Route110_TrickHousePuzzle5_Text_26DA1E, 4
+ random 3
+ switch VAR_RESULT
+ case 0, Route110_TrickHousePuzzle5_EventScript_26D017
+ case 1, Route110_TrickHousePuzzle5_EventScript_26D03A
+ case 2, Route110_TrickHousePuzzle5_EventScript_26D05D
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CE73:: @ 826CE73
+ setvar VAR_0x4004, 1
+ setvar VAR_0x4008, 4
+ playse SE_PIN
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_272598
+ waitmovement 0
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_27259A
+ waitmovement 0
+ compare_var_to_value VAR_0x4009, 1
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1B4
+ compare_var_to_value VAR_0x4009, 2
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1EC
+ compare_var_to_value VAR_0x4009, 3
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D224
+ compare_var_to_value VAR_0x4009, 4
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D25C
+ msgbox Route110_TrickHousePuzzle5_Text_26DB4C, 4
+ random 3
+ switch VAR_RESULT
+ case 0, Route110_TrickHousePuzzle5_EventScript_26D080
+ case 1, Route110_TrickHousePuzzle5_EventScript_26D0A3
+ case 2, Route110_TrickHousePuzzle5_EventScript_26D0C6
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CEF2:: @ 826CEF2
+ setvar VAR_0x4005, 1
+ setvar VAR_0x4008, 5
+ playse SE_PIN
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_272598
+ waitmovement 0
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_27259A
+ waitmovement 0
+ msgbox Route110_TrickHousePuzzle5_Text_26DC78, 4
+ random 3
+ switch VAR_RESULT
+ case 0, Route110_TrickHousePuzzle5_EventScript_26D0E9
+ case 1, Route110_TrickHousePuzzle5_EventScript_26D10C
+ case 2, Route110_TrickHousePuzzle5_EventScript_26D12F
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CF45:: @ 826CF45
+ msgbox Route110_TrickHousePuzzle5_Text_26D757, 4
+ multichoice 0, 0, 25, 1
+ switch VAR_RESULT
+ case 2, Route110_TrickHousePuzzle5_EventScript_26D1A0
+ goto Route110_TrickHousePuzzle5_EventScript_26D152
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CF68:: @ 826CF68
+ msgbox Route110_TrickHousePuzzle5_Text_26D7AA, 4
+ multichoice 0, 0, 26, 1
+ switch VAR_RESULT
+ case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0
+ goto Route110_TrickHousePuzzle5_EventScript_26D152
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CF8B:: @ 826CF8B
+ msgbox Route110_TrickHousePuzzle5_Text_26D7FC, 4
+ multichoice 0, 0, 27, 1
+ switch VAR_RESULT
+ case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0
+ goto Route110_TrickHousePuzzle5_EventScript_26D152
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CFAE:: @ 826CFAE
+ msgbox Route110_TrickHousePuzzle5_Text_26D940, 4
+ multichoice 0, 0, 28, 1
+ switch VAR_RESULT
+ case 1, Route110_TrickHousePuzzle5_EventScript_26D1A0
+ goto Route110_TrickHousePuzzle5_EventScript_26D152
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CFD1:: @ 826CFD1
+ msgbox Route110_TrickHousePuzzle5_Text_26D98C, 4
+ multichoice 0, 0, 29, 1
+ switch VAR_RESULT
+ case 2, Route110_TrickHousePuzzle5_EventScript_26D1A0
+ goto Route110_TrickHousePuzzle5_EventScript_26D152
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26CFF4:: @ 826CFF4
+ msgbox Route110_TrickHousePuzzle5_Text_26D9CE, 4
+ multichoice 0, 0, 30, 1
+ switch VAR_RESULT
+ case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0
+ goto Route110_TrickHousePuzzle5_EventScript_26D152
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26D017:: @ 826D017
+ msgbox Route110_TrickHousePuzzle5_Text_26DA64, 4
+ multichoice 0, 0, 31, 1
+ switch VAR_RESULT
+ case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0
+ goto Route110_TrickHousePuzzle5_EventScript_26D152
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26D03A:: @ 826D03A
+ msgbox Route110_TrickHousePuzzle5_Text_26DAAD, 4
+ multichoice 0, 0, 32, 1
+ switch VAR_RESULT
+ case 2, Route110_TrickHousePuzzle5_EventScript_26D1A0
+ goto Route110_TrickHousePuzzle5_EventScript_26D152
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26D05D:: @ 826D05D
+ msgbox Route110_TrickHousePuzzle5_Text_26DAFF, 4
+ multichoice 0, 0, 33, 1
+ switch VAR_RESULT
+ case 1, Route110_TrickHousePuzzle5_EventScript_26D1A0
+ goto Route110_TrickHousePuzzle5_EventScript_26D152
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26D080:: @ 826D080
+ msgbox Route110_TrickHousePuzzle5_Text_26DB94, 4
+ multichoice 0, 0, 34, 1
+ switch VAR_RESULT
+ case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0
+ goto Route110_TrickHousePuzzle5_EventScript_26D152
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26D0A3:: @ 826D0A3
+ msgbox Route110_TrickHousePuzzle5_Text_26DBD7, 4
+ multichoice 0, 0, 35, 1
+ switch VAR_RESULT
+ case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0
+ goto Route110_TrickHousePuzzle5_EventScript_26D152
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26D0C6:: @ 826D0C6
+ msgbox Route110_TrickHousePuzzle5_Text_26DC2A, 4
+ multichoice 0, 0, 36, 1
+ switch VAR_RESULT
+ case 1, Route110_TrickHousePuzzle5_EventScript_26D1A0
+ goto Route110_TrickHousePuzzle5_EventScript_26D152
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26D0E9:: @ 826D0E9
+ msgbox Route110_TrickHousePuzzle5_Text_26DCCB, 4
+ multichoice 0, 0, 37, 1
+ switch VAR_RESULT
+ case 1, Route110_TrickHousePuzzle5_EventScript_26D1A0
+ goto Route110_TrickHousePuzzle5_EventScript_26D152
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26D10C:: @ 826D10C
+ msgbox Route110_TrickHousePuzzle5_Text_26DD1B, 4
+ multichoice 0, 0, 38, 1
+ switch VAR_RESULT
+ case 0, Route110_TrickHousePuzzle5_EventScript_26D1A0
+ goto Route110_TrickHousePuzzle5_EventScript_26D152
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26D12F:: @ 826D12F
+ msgbox Route110_TrickHousePuzzle5_Text_26DD5F, 4
+ multichoice 0, 0, 39, 1
+ switch VAR_RESULT
+ case 2, Route110_TrickHousePuzzle5_EventScript_26D1A0
+ goto Route110_TrickHousePuzzle5_EventScript_26D152
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26D152:: @ 826D152
+ waitse
+ playse SE_HAZURE
+ msgbox Route110_TrickHousePuzzle5_Text_26D883, 4
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_26D632
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_26D632
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_26D632
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_26D632
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_26D632
+ msgbox Route110_TrickHousePuzzle5_Text_26D8A1, 4
+ waitmovement 0
+ msgbox Route110_TrickHousePuzzle5_Text_26D8C9, 4
+ closemessage
+ warp ROUTE_110_TRICK_HOUSE_PUZZLE_5, 255, 0, 21
+ waitstate
+ releaseall
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26D1A0:: @ 826D1A0
+ waitse
+ playse SE_SEIKAI
+ goto Route110_TrickHousePuzzle5_EventScript_26D1AA
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26D1AA:: @ 826D1AA
+ msgbox Route110_TrickHousePuzzle5_Text_26D84D, 4
+ releaseall
+ end
+
+Route110_TrickHousePuzzle5_EventScript_26D1B4:: @ 826D1B4
+ compare_var_to_value VAR_0x4008, 1
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D3E4
+ compare_var_to_value VAR_0x4008, 2
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D3EF
+ compare_var_to_value VAR_0x4008, 3
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D3FA
+ compare_var_to_value VAR_0x4008, 4
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D405
+ compare_var_to_value VAR_0x4008, 5
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D410
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D1EC:: @ 826D1EC
+ compare_var_to_value VAR_0x4008, 1
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D41B
+ compare_var_to_value VAR_0x4008, 2
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D426
+ compare_var_to_value VAR_0x4008, 3
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D431
+ compare_var_to_value VAR_0x4008, 4
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D43C
+ compare_var_to_value VAR_0x4008, 5
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D447
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D224:: @ 826D224
+ compare_var_to_value VAR_0x4008, 1
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D452
+ compare_var_to_value VAR_0x4008, 2
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D45D
+ compare_var_to_value VAR_0x4008, 3
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D468
+ compare_var_to_value VAR_0x4008, 4
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D473
+ compare_var_to_value VAR_0x4008, 5
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D47E
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D25C:: @ 826D25C
+ compare_var_to_value VAR_0x4008, 1
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D489
+ compare_var_to_value VAR_0x4008, 2
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D494
+ compare_var_to_value VAR_0x4008, 3
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D49F
+ compare_var_to_value VAR_0x4008, 4
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4AA
+ compare_var_to_value VAR_0x4008, 5
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4B5
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D294:: @ 826D294
+ compare_var_to_value VAR_0x4008, 1
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4C0
+ compare_var_to_value VAR_0x4008, 2
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4CB
+ compare_var_to_value VAR_0x4008, 3
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4D6
+ compare_var_to_value VAR_0x4008, 4
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4E1
+ compare_var_to_value VAR_0x4008, 5
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4EC
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D2CC:: @ 826D2CC
+ compare_var_to_value VAR_0x4008, 1
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4F7
+ compare_var_to_value VAR_0x4008, 2
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D502
+ compare_var_to_value VAR_0x4008, 3
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D50D
+ compare_var_to_value VAR_0x4008, 4
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D518
+ compare_var_to_value VAR_0x4008, 5
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D523
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D304:: @ 826D304
+ compare_var_to_value VAR_0x4008, 1
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D52E
+ compare_var_to_value VAR_0x4008, 2
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D539
+ compare_var_to_value VAR_0x4008, 3
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D544
+ compare_var_to_value VAR_0x4008, 4
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D54F
+ compare_var_to_value VAR_0x4008, 5
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D55A
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D33C:: @ 826D33C
+ compare_var_to_value VAR_0x4008, 1
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D565
+ compare_var_to_value VAR_0x4008, 2
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D570
+ compare_var_to_value VAR_0x4008, 3
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D57B
+ compare_var_to_value VAR_0x4008, 4
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D586
+ compare_var_to_value VAR_0x4008, 5
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D591
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D374:: @ 826D374
+ compare_var_to_value VAR_0x4008, 1
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D59C
+ compare_var_to_value VAR_0x4008, 2
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5A7
+ compare_var_to_value VAR_0x4008, 3
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5B2
+ compare_var_to_value VAR_0x4008, 4
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5BD
+ compare_var_to_value VAR_0x4008, 5
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5C8
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D3AC:: @ 826D3AC
+ compare_var_to_value VAR_0x4008, 1
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5D3
+ compare_var_to_value VAR_0x4008, 2
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5DE
+ compare_var_to_value VAR_0x4008, 3
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5E9
+ compare_var_to_value VAR_0x4008, 4
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5F4
+ compare_var_to_value VAR_0x4008, 5
+ call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5FF
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D3E4:: @ 826D3E4
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_26D60A
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D3EF:: @ 826D3EF
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_26D60A
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D3FA:: @ 826D3FA
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_26D60A
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D405:: @ 826D405
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_26D60A
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D410:: @ 826D410
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_26D60A
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D41B:: @ 826D41B
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_26D60C
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D426:: @ 826D426
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_26D60C
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D431:: @ 826D431
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_26D60C
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D43C:: @ 826D43C
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_26D60C
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D447:: @ 826D447
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_26D60C
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D452:: @ 826D452
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_26D60F
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D45D:: @ 826D45D
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_26D60F
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D468:: @ 826D468
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_26D60F
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D473:: @ 826D473
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_26D60F
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D47E:: @ 826D47E
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_26D60F
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D489:: @ 826D489
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_26D613
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D494:: @ 826D494
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_26D613
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D49F:: @ 826D49F
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_26D613
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D4AA:: @ 826D4AA
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_26D613
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D4B5:: @ 826D4B5
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_26D613
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D4C0:: @ 826D4C0
+ applymovement 1, Movement_26D618
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D4CB:: @ 826D4CB
+ applymovement 2, Movement_26D618
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D4D6:: @ 826D4D6
+ applymovement 3, Movement_26D618
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D4E1:: @ 826D4E1
+ applymovement 4, Movement_26D618
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D4EC:: @ 826D4EC
+ applymovement 5, Movement_26D618
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D4F7:: @ 826D4F7
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_26D61E
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D502:: @ 826D502
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_26D61E
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D50D:: @ 826D50D
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_26D61E
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D518:: @ 826D518
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_26D61E
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D523:: @ 826D523
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_26D61E
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D52E:: @ 826D52E
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_26D620
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D539:: @ 826D539
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_26D620
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D544:: @ 826D544
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_26D620
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D54F:: @ 826D54F
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_26D620
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D55A:: @ 826D55A
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_26D620
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D565:: @ 826D565
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_26D623
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D570:: @ 826D570
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_26D623
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D57B:: @ 826D57B
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_26D623
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D586:: @ 826D586
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_26D623
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D591:: @ 826D591
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_26D623
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D59C:: @ 826D59C
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_26D627
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D5A7:: @ 826D5A7
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_26D627
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D5B2:: @ 826D5B2
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_26D627
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D5BD:: @ 826D5BD
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_26D627
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D5C8:: @ 826D5C8
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_26D627
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D5D3:: @ 826D5D3
+ applymovement 1, Route110_TrickHousePuzzle5_Movement_26D62C
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D5DE:: @ 826D5DE
+ applymovement 2, Route110_TrickHousePuzzle5_Movement_26D62C
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D5E9:: @ 826D5E9
+ applymovement 3, Route110_TrickHousePuzzle5_Movement_26D62C
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D5F4:: @ 826D5F4
+ applymovement 4, Route110_TrickHousePuzzle5_Movement_26D62C
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_EventScript_26D5FF:: @ 826D5FF
+ applymovement 5, Route110_TrickHousePuzzle5_Movement_26D62C
+ waitmovement 0
+ return
+
+Route110_TrickHousePuzzle5_Movement_26D60A: @ 826D60A
+ step_left
+ step_end
+
+Route110_TrickHousePuzzle5_Movement_26D60C: @ 826D60C
+ step_left
+ step_left
+ step_end
+
+Route110_TrickHousePuzzle5_Movement_26D60F: @ 826D60F
+ step_left
+ step_left
+ step_left
+ step_end
+
+Route110_TrickHousePuzzle5_Movement_26D613: @ 826D613
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+
+Movement_26D618: @ 826D618
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+Route110_TrickHousePuzzle5_Movement_26D61E: @ 826D61E
+ step_right
+ step_end
+
+Route110_TrickHousePuzzle5_Movement_26D620: @ 826D620
+ step_right
+ step_right
+ step_end
+
+Route110_TrickHousePuzzle5_Movement_26D623: @ 826D623
+ step_right
+ step_right
+ step_right
+ step_end
+
+Route110_TrickHousePuzzle5_Movement_26D627: @ 826D627
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+Route110_TrickHousePuzzle5_Movement_26D62C: @ 826D62C
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+Route110_TrickHouseEntrance_Movement_26D632: @ 826D632
+Route110_TrickHousePuzzle5_Movement_26D632: @ 826D632
+ step_02
+ step_11
+ step_03
+ step_11
+ step_02
+ step_11
+ step_03
+ step_11
+ step_02
+ step_11
+ step_03
+ step_11
+ step_02
+ step_11
+ step_03
+ step_11
+ step_02
+ step_11
+ step_03
+ step_11
+ step_02
+ step_11
+ step_03
+ step_11
+ step_02
+ step_11
+ step_03
+ step_11
+ step_02
+ step_11
+ step_03
+ step_11
+ step_02
+ step_11
+ step_03
+ step_11
+ step_02
+ step_11
+ step_03
+ step_11
+ step_02
+ step_11
+ step_03
+ step_11
+ step_00
+ step_end
+
+Route110_TrickHousePuzzle5_Text_26D660: @ 826D660
+ .string "{PLAYER} wrote down the secret code\n"
+ .string "on the door.\p"
+ .string "“TRICK MASTER is a genius.”\n"
+ .string "… … … … … … … …\p"
+ .string "The lock clicked open!$"
+
+Route110_TrickHousePuzzle5_Text_26D6CE: @ 826D6CE
+ .string "CLICKETY-CLACK…\n"
+ .string "MECHADOLL 1 AM I!\p"
+ .string "IF YOU ANSWER QUIZZES CORRECTLY,\n"
+ .string "THEN YOU WILL GO TO MECHADOLL 5.\l"
+ .string "THEN YOU CAN OBTAIN THE SECRET CODE.$"
+
+Route110_TrickHousePuzzle5_Text_26D757: @ 826D757
+ .string "MECHADOLL 1 QUIZ.\p"
+ .string "One of these POKéMON is not found\n"
+ .string "on ROUTE 110. Which one is it?$"
+
+Route110_TrickHousePuzzle5_Text_26D7AA: @ 826D7AA
+ .string "MECHADOLL 1 QUIZ.\p"
+ .string "One of these POKéMON is not of the\n"
+ .string "WATER type. Which one is it?$"
+
+Route110_TrickHousePuzzle5_Text_26D7FC: @ 826D7FC
+ .string "MECHADOLL 1 QUIZ.\p"
+ .string "One of these POKéMON does not use\n"
+ .string "LEECH LIFE. Which one is it?$"
+
+Route110_TrickHousePuzzle5_Text_26D84D: @ 826D84D
+ .string "CONGRATULATIONS. CORRECT YOU ARE.\n"
+ .string "GO THROUGH. PLEASE.$"
+
+Route110_TrickHousePuzzle5_Text_26D883: @ 826D883
+ .string "BZZZT. DISAPPOINTMENT.\n"
+ .string "ERROR.$"
+
+Route110_TrickHousePuzzle5_Text_26D8A1: @ 826D8A1
+ .string "WAHAHAHAHA! WAHAHAHAHA!\n"
+ .string "CLICKETY-CLACK!$"
+
+Route110_TrickHousePuzzle5_Text_26D8C9: @ 826D8C9
+ .string "YOUR NEXT CHALLENGE WE WAIT FOR.$"
+
+Route110_TrickHousePuzzle5_Text_26D8EA: @ 826D8EA
+ .string "CLICKETY-CLACK…\n"
+ .string "MECHADOLL 2 AM I!\p"
+ .string "MECHADOLL 1’S QUIZ DIFFICULTY LEVEL\n"
+ .string "IS SET TOO LOW.$"
+
+Route110_TrickHousePuzzle5_Text_26D940: @ 826D940
+ .string "MECHADOLL 2 QUIZ.\p"
+ .string "Which of these POKéMON did WALLY\n"
+ .string "borrow from your father?$"
+
+Route110_TrickHousePuzzle5_Text_26D98C: @ 826D98C
+ .string "MECHADOLL 2 QUIZ.\p"
+ .string "Which of these POKéMON was chasing\n"
+ .string "PROF. BIRCH?$"
+
+Route110_TrickHousePuzzle5_Text_26D9CE: @ 826D9CE
+ .string "MECHADOLL 2 QUIZ.\p"
+ .string "Which of these POKéMON did TEAM AQUA\n"
+ .string "use in PETALBURG FOREST?$"
+
+Route110_TrickHousePuzzle5_Text_26DA1E: @ 826DA1E
+ .string "CLICKETY-CLACK…\n"
+ .string "MECHADOLL 3 AM I!\p"
+ .string "MATTERS OF MONEY ARE MY SOLE FOCUS.$"
+
+Route110_TrickHousePuzzle5_Text_26DA64: @ 826DA64
+ .string "MECHADOLL 3 QUIZ.\p"
+ .string "Which costs more?\n"
+ .string "Three HARBOR MAILS or one BURN HEAL?$"
+
+Route110_TrickHousePuzzle5_Text_26DAAD: @ 826DAAD
+ .string "MECHADOLL 3 QUIZ.\p"
+ .string "Sell one GREAT BALL and buy\n"
+ .string "one POTION. How much money remains?$"
+
+Route110_TrickHousePuzzle5_Text_26DAFF: @ 826DAFF
+ .string "MECHADOLL 3 QUIZ.\p"
+ .string "Do one REPEL and SODA POP cost\n"
+ .string "more than one SUPER POTION?$"
+
+Route110_TrickHousePuzzle5_Text_26DB4C: @ 826DB4C
+ .string "CLICKETY-CLACK…\n"
+ .string "MECHADOLL 4 THAT IS ME!\p"
+ .string "MY QUIZ IS AN OBJECT OF BEAUTY.$"
+
+Route110_TrickHousePuzzle5_Text_26DB94: @ 826DB94
+ .string "MECHADOLL 4 QUIZ.\p"
+ .string "In SEASHORE HOUSE, were there more men\n"
+ .string "or women?$"
+
+Route110_TrickHousePuzzle5_Text_26DBD7: @ 826DBD7
+ .string "MECHADOLL 4 QUIZ.\p"
+ .string "In LAVARIDGE TOWN, were there more\n"
+ .string "elderly men or elderly women?$"
+
+Route110_TrickHousePuzzle5_Text_26DC2A: @ 826DC2A
+ .string "MECHADOLL 4 QUIZ.\p"
+ .string "In the TRAINER’S SCHOOL, how many\n"
+ .string "girl students were there?$"
+
+Route110_TrickHousePuzzle5_Text_26DC78: @ 826DC78
+ .string "CLICKETY-CLACK…\n"
+ .string "MECHADOLL 5 AM I!\p"
+ .string "THE MASTER’S BEST AND PROUDEST\n"
+ .string "ACHIEVEMENT AM I.$"
+
+Route110_TrickHousePuzzle5_Text_26DCCB: @ 826DCCB
+ .string "MECHADOLL 5 QUIZ.\p"
+ .string "In SLATEPORT’s POKéMON FAN CLUB,\n"
+ .string "how many POKéMON were there?$"
+
+Route110_TrickHousePuzzle5_Text_26DD1B: @ 826DD1B
+ .string "MECHADOLL 5 QUIZ.\p"
+ .string "In FORTREE CITY, how many\n"
+ .string "tree houses were there?$"
+
+Route110_TrickHousePuzzle5_Text_26DD5F: @ 826DD5F
+ .string "MECHADOLL 5 QUIZ.\p"
+ .string "On the CYCLING ROAD, how many\n"
+ .string "TRIATHLETES were there?$"
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle6.inc b/data/scripts/maps/Route110_TrickHousePuzzle6.inc
new file mode 100644
index 000000000..075acc6c9
--- /dev/null
+++ b/data/scripts/maps/Route110_TrickHousePuzzle6.inc
@@ -0,0 +1,87 @@
+Route110_TrickHousePuzzle6_MapScripts:: @ 826DDA7
+ map_script 3, Route110_TrickHousePuzzle6_MapScript1_26DDB2
+ map_script 4, Route110_TrickHousePuzzle6_MapScript2_26DDB6
+ .byte 0
+
+Route110_TrickHousePuzzle6_MapScript1_26DDB2: @ 826DDB2
+ special sub_80FBE90
+ end
+
+Route110_TrickHousePuzzle6_MapScript2_26DDB6: @ 826DDB6
+ map_script_2 VAR_0x4000, 16384, Route110_TrickHousePuzzle6_EventScript_26DDC0
+ .2byte 0
+
+Route110_TrickHousePuzzle6_EventScript_26DDC0:: @ 826DDC0
+ special sub_80FBED0
+ end
+
+Route110_TrickHousePuzzle6_EventScript_26DDC4:: @ 826DDC4
+ lockall
+ compare_var_to_value VAR_0x40B0, 0
+ goto_eq Route110_TrickHousePuzzle6_EventScript_26DDD6
+ goto Route110_TrickHousePuzzle6_EventScript_26A3DB
+ end
+
+Route110_TrickHousePuzzle6_EventScript_26DDD6:: @ 826DDD6
+ setvar VAR_0x40B0, 1
+ goto Route110_TrickHousePuzzle6_EventScript_26A3E5
+ end
+
+Route110_TrickHousePuzzle6_EventScript_26DDE1:: @ 826DDE1
+ trainerbattle 0, TRAINER_SOPHIA, 0, Route110_TrickHousePuzzle6_Text_26DE93, Route110_TrickHousePuzzle6_Text_26DED2
+ msgbox Route110_TrickHousePuzzle6_Text_26DEF3, 6
+ end
+
+Route110_TrickHousePuzzle6_EventScript_26DDF8:: @ 826DDF8
+ trainerbattle 0, TRAINER_BENNY, 0, Route110_TrickHousePuzzle6_Text_26DF55, Route110_TrickHousePuzzle6_Text_26DF8D
+ msgbox Route110_TrickHousePuzzle6_Text_26DFA0, 6
+ end
+
+Route110_TrickHousePuzzle6_EventScript_26DE0F:: @ 826DE0F
+ trainerbattle 0, TRAINER_SEBASTIAN, 0, Route110_TrickHousePuzzle6_Text_26DFD7, Route110_TrickHousePuzzle6_Text_26E004
+ msgbox Route110_TrickHousePuzzle6_Text_26E048, 6
+ end
+
+Route110_TrickHousePuzzle6_Text_26DE26: @ 826DE26
+ .string "{PLAYER} wrote down the secret code\n"
+ .string "on the door.\p"
+ .string "“TRICK MASTER is my life.”\n"
+ .string "… … … … … … … …\p"
+ .string "The lock clicked open!$"
+
+Route110_TrickHousePuzzle6_Text_26DE93: @ 826DE93
+ .string "When I heard there was a strange\n"
+ .string "house, I had to check it out.$"
+
+Route110_TrickHousePuzzle6_Text_26DED2: @ 826DED2
+ .string "I’ve discovered a tough TRAINER!$"
+
+Route110_TrickHousePuzzle6_Text_26DEF3: @ 826DEF3
+ .string "I’m sure having a good time checking\n"
+ .string "this place out.\p"
+ .string "It’s a challenge I’ve found worth\n"
+ .string "repeating!$"
+
+Route110_TrickHousePuzzle6_Text_26DF55: @ 826DF55
+ .string "Maybe I could get my BIRD POKéMON\n"
+ .string "to fly over the wall…$"
+
+Route110_TrickHousePuzzle6_Text_26DF8D: @ 826DF8D
+ .string "Gwaaah! I blew it!$"
+
+Route110_TrickHousePuzzle6_Text_26DFA0: @ 826DFA0
+ .string "Ehehehe… I guess I lost because\n"
+ .string "I was trying to cheat.$"
+
+Route110_TrickHousePuzzle6_Text_26DFD7: @ 826DFD7
+ .string "I’m getting dizzy from these rotating\n"
+ .string "doors…$"
+
+Route110_TrickHousePuzzle6_Text_26E004: @ 826E004
+ .string "Everything’s spinning around and\n"
+ .string "around. I can’t take this anymore…$"
+
+Route110_TrickHousePuzzle6_Text_26E048: @ 826E048
+ .string "You don’t seem to be affected at all.\n"
+ .string "Or do you have your poker face on?$"
+
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle7.inc b/data/scripts/maps/Route110_TrickHousePuzzle7.inc
new file mode 100644
index 000000000..e7044748b
--- /dev/null
+++ b/data/scripts/maps/Route110_TrickHousePuzzle7.inc
@@ -0,0 +1,411 @@
+Route110_TrickHousePuzzle7_MapScripts:: @ 826E091
+ map_script 5, Route110_TrickHousePuzzle7_MapScript1_26E0A6
+ map_script 3, Route110_TrickHousePuzzle7_MapScript1_26E198
+ map_script 1, Route110_TrickHousePuzzle7_MapScript1_26E1B4
+ map_script 2, Route110_TrickHousePuzzle7_MapScript2_26E1C0
+ .byte 0
+
+Route110_TrickHousePuzzle7_MapScript1_26E0A6: @ 826E0A6
+ call Route110_TrickHousePuzzle7_EventScript_26E0AC
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E0AC:: @ 826E0AC
+ checkflag FLAG_0x0C2
+ call_if 1, Route110_TrickHousePuzzle7_EventScript_26E0DA
+ checkflag FLAG_0x0C3
+ call_if 1, Route110_TrickHousePuzzle7_EventScript_26E0ED
+ checkflag FLAG_0x0C4
+ call_if 1, Route110_TrickHousePuzzle7_EventScript_26E100
+ checkflag FLAG_0x0C5
+ call_if 1, Route110_TrickHousePuzzle7_EventScript_26E113
+ checkflag FLAG_0x0C6
+ call_if 1, Route110_TrickHousePuzzle7_EventScript_26E126
+ return
+
+Route110_TrickHousePuzzle7_EventScript_26E0DA:: @ 826E0DA
+ setmetatile 13, 17, 610, 0
+ setmetatile 12, 16, 575, 1
+ return
+
+Route110_TrickHousePuzzle7_EventScript_26E0ED:: @ 826E0ED
+ setmetatile 12, 13, 610, 0
+ setmetatile 12, 11, 575, 1
+ return
+
+Route110_TrickHousePuzzle7_EventScript_26E100:: @ 826E100
+ setmetatile 7, 12, 610, 0
+ setmetatile 5, 10, 575, 1
+ return
+
+Route110_TrickHousePuzzle7_EventScript_26E113:: @ 826E113
+ setmetatile 6, 6, 636, 0
+ setmetatile 4, 4, 575, 1
+ return
+
+Route110_TrickHousePuzzle7_EventScript_26E126:: @ 826E126
+ setmetatile 8, 4, 609, 0
+ setmetatile 7, 5, 575, 1
+ return
+
+Route110_TrickHousePuzzle7_EventScript_26E139:: @ 826E139
+ setmetatile 13, 17, 611, 0
+ setmetatile 12, 16, 574, 1
+ return
+
+Route110_TrickHousePuzzle7_EventScript_26E14C:: @ 826E14C
+ setmetatile 12, 13, 609, 0
+ setmetatile 12, 11, 574, 1
+ return
+
+Route110_TrickHousePuzzle7_EventScript_26E15F:: @ 826E15F
+ setmetatile 7, 12, 611, 0
+ setmetatile 5, 10, 574, 1
+ return
+
+Route110_TrickHousePuzzle7_EventScript_26E172:: @ 826E172
+ setmetatile 6, 6, 635, 0
+ setmetatile 4, 4, 574, 1
+ return
+
+Route110_TrickHousePuzzle7_EventScript_26E185:: @ 826E185
+ setmetatile 8, 4, 608, 0
+ setmetatile 7, 5, 574, 1
+ return
+
+Route110_TrickHousePuzzle7_MapScript1_26E198: @ 826E198
+ compare_var_to_value VAR_0x40B6, 1
+ goto_eq Route110_TrickHousePuzzle7_EventScript_26E1B3
+ clearflag FLAG_0x0C2
+ clearflag FLAG_0x0C3
+ clearflag FLAG_0x0C4
+ clearflag FLAG_0x0C5
+ clearflag FLAG_0x0C6
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E1B3:: @ 826E1B3
+ end
+
+Route110_TrickHousePuzzle7_MapScript1_26E1B4: @ 826E1B4
+ compare_var_to_value VAR_0x40B6, 1
+ call_if 1, Route110_TrickHousePuzzle7_EventScript_26E0AC
+ end
+
+Route110_TrickHousePuzzle7_MapScript2_26E1C0: @ 826E1C0
+ map_script_2 VAR_0x40B6, 1, Route110_TrickHousePuzzle7_EventScript_26E1CA
+ .2byte 0
+
+Route110_TrickHousePuzzle7_EventScript_26E1CA:: @ 826E1CA
+ setvar VAR_0x40B6, 0
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E1D0:: @ 826E1D0
+ lockall
+ compare_var_to_value VAR_0x40B1, 0
+ goto_eq Route110_TrickHousePuzzle7_EventScript_26E1E2
+ goto Route110_TrickHousePuzzle7_EventScript_26A3DB
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E1E2:: @ 826E1E2
+ setvar VAR_0x40B1, 1
+ goto Route110_TrickHousePuzzle7_EventScript_26A3E5
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E1ED:: @ 826E1ED
+ lockall
+ setvar VAR_0x40B6, 1
+ warpteleport ROUTE_110_TRICK_HOUSE_PUZZLE_7, 255, 3, 19
+ waitstate
+ releaseall
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E1FE:: @ 826E1FE
+ lockall
+ delay 32
+ checkflag FLAG_0x0C2
+ call_if 0, Route110_TrickHousePuzzle7_EventScript_26E0DA
+ checkflag FLAG_0x0C2
+ call_if 1, Route110_TrickHousePuzzle7_EventScript_26E139
+ special DrawWholeMapView
+ playse SE_TK_KASYA
+ checkflag FLAG_0x0C2
+ goto_if 0, Route110_TrickHousePuzzle7_EventScript_26E2E9
+ checkflag FLAG_0x0C2
+ goto_eq Route110_TrickHousePuzzle7_EventScript_26E2EE
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E22D:: @ 826E22D
+ lockall
+ delay 32
+ checkflag FLAG_0x0C3
+ call_if 0, Route110_TrickHousePuzzle7_EventScript_26E0ED
+ checkflag FLAG_0x0C3
+ call_if 1, Route110_TrickHousePuzzle7_EventScript_26E14C
+ special DrawWholeMapView
+ playse SE_TK_KASYA
+ checkflag FLAG_0x0C3
+ goto_if 0, Route110_TrickHousePuzzle7_EventScript_26E2F3
+ checkflag FLAG_0x0C3
+ goto_eq Route110_TrickHousePuzzle7_EventScript_26E2F8
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E25C:: @ 826E25C
+ lockall
+ delay 32
+ checkflag FLAG_0x0C4
+ call_if 0, Route110_TrickHousePuzzle7_EventScript_26E100
+ checkflag FLAG_0x0C4
+ call_if 1, Route110_TrickHousePuzzle7_EventScript_26E15F
+ special DrawWholeMapView
+ playse SE_TK_KASYA
+ checkflag FLAG_0x0C4
+ goto_if 0, Route110_TrickHousePuzzle7_EventScript_26E2FD
+ checkflag FLAG_0x0C4
+ goto_eq Route110_TrickHousePuzzle7_EventScript_26E302
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E28B:: @ 826E28B
+ lockall
+ delay 32
+ checkflag FLAG_0x0C5
+ call_if 0, Route110_TrickHousePuzzle7_EventScript_26E113
+ checkflag FLAG_0x0C5
+ call_if 1, Route110_TrickHousePuzzle7_EventScript_26E172
+ special DrawWholeMapView
+ playse SE_TK_KASYA
+ checkflag FLAG_0x0C5
+ goto_if 0, Route110_TrickHousePuzzle7_EventScript_26E307
+ checkflag FLAG_0x0C5
+ goto_eq Route110_TrickHousePuzzle7_EventScript_26E30C
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E2BA:: @ 826E2BA
+ lockall
+ delay 32
+ checkflag FLAG_0x0C6
+ call_if 0, Route110_TrickHousePuzzle7_EventScript_26E126
+ checkflag FLAG_0x0C6
+ call_if 1, Route110_TrickHousePuzzle7_EventScript_26E185
+ special DrawWholeMapView
+ playse SE_TK_KASYA
+ checkflag FLAG_0x0C6
+ goto_if 0, Route110_TrickHousePuzzle7_EventScript_26E311
+ checkflag FLAG_0x0C6
+ goto_eq Route110_TrickHousePuzzle7_EventScript_26E316
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E2E9:: @ 826E2E9
+ setflag FLAG_0x0C2
+ releaseall
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E2EE:: @ 826E2EE
+ clearflag FLAG_0x0C2
+ releaseall
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E2F3:: @ 826E2F3
+ setflag FLAG_0x0C3
+ releaseall
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E2F8:: @ 826E2F8
+ clearflag FLAG_0x0C3
+ releaseall
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E2FD:: @ 826E2FD
+ setflag FLAG_0x0C4
+ releaseall
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E302:: @ 826E302
+ clearflag FLAG_0x0C4
+ releaseall
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E307:: @ 826E307
+ setflag FLAG_0x0C5
+ releaseall
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E30C:: @ 826E30C
+ clearflag FLAG_0x0C5
+ releaseall
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E311:: @ 826E311
+ setflag FLAG_0x0C6
+ releaseall
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E316:: @ 826E316
+ clearflag FLAG_0x0C6
+ releaseall
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E31B:: @ 826E31B
+ playse SE_MU_PACHI
+ waitse
+ playse SE_TU_SAA
+ mossdeepgym3 1
+ mossdeepgym1 0
+ waitmovement 0
+ mossdeepgym2
+ waitmovement 0
+ mossdeepgym4
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E331:: @ 826E331
+ playse SE_MU_PACHI
+ waitse
+ playse SE_TU_SAA
+ mossdeepgym3 1
+ mossdeepgym1 1
+ waitmovement 0
+ mossdeepgym2
+ waitmovement 0
+ mossdeepgym4
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E347:: @ 826E347
+ playse SE_MU_PACHI
+ waitse
+ playse SE_TU_SAA
+ mossdeepgym3 1
+ mossdeepgym1 2
+ waitmovement 0
+ mossdeepgym2
+ waitmovement 0
+ mossdeepgym4
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E35D:: @ 826E35D
+ playse SE_MU_PACHI
+ waitse
+ playse SE_TU_SAA
+ mossdeepgym3 1
+ mossdeepgym1 3
+ waitmovement 0
+ mossdeepgym2
+ waitmovement 0
+ mossdeepgym4
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E373:: @ 826E373
+ playse SE_MU_PACHI
+ waitse
+ playse SE_TU_SAA
+ mossdeepgym3 1
+ mossdeepgym1 4
+ waitmovement 0
+ mossdeepgym2
+ waitmovement 0
+ mossdeepgym4
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E389:: @ 826E389
+ trainerbattle 0, TRAINER_JOSHUA, 0, Route110_TrickHousePuzzle7_Text_26E481, Route110_TrickHousePuzzle7_Text_26E4C1
+ msgbox Route110_TrickHousePuzzle7_Text_26E4F4, 6
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E3A0:: @ 826E3A0
+ trainerbattle 0, TRAINER_PATRICIA, 0, Route110_TrickHousePuzzle7_Text_26E531, Route110_TrickHousePuzzle7_Text_26E564
+ msgbox Route110_TrickHousePuzzle7_Text_26E57F, 6
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E3B7:: @ 826E3B7
+ trainerbattle 0, TRAINER_ALEXIS, 0, Route110_TrickHousePuzzle7_Text_26E5C0, Route110_TrickHousePuzzle7_Text_26E604
+ msgbox Route110_TrickHousePuzzle7_Text_26E61E, 6
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E3CE:: @ 826E3CE
+ trainerbattle 0, TRAINER_MARIELA, 0, Route110_TrickHousePuzzle7_Text_26E66B, Route110_TrickHousePuzzle7_Text_26E69C
+ msgbox Route110_TrickHousePuzzle7_Text_26E6BC, 6
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E3E5:: @ 826E3E5
+ trainerbattle 0, TRAINER_ALVARO, 0, Route110_TrickHousePuzzle7_Text_26E6DA, Route110_TrickHousePuzzle7_Text_26E700
+ msgbox Route110_TrickHousePuzzle7_Text_26E722, 6
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E3FC:: @ 826E3FC
+ trainerbattle 0, TRAINER_EVERETT, 0, Route110_TrickHousePuzzle7_Text_26E78D, Route110_TrickHousePuzzle7_Text_26E7AB
+ msgbox Route110_TrickHousePuzzle7_Text_26E7C4, 6
+ end
+
+Route110_TrickHousePuzzle7_EventScript_26E413:: @ 826E413
+ .string "{PLAYER} wrote down the secret code\n"
+ .string "on the door.\p"
+ .string "“TRICK MASTER is huggable.”\n"
+ .string "… … … … … … … …\p"
+ .string "The lock clicked open!$"
+
+Route110_TrickHousePuzzle7_Text_26E481: @ 826E481
+ .string "The TRICK MASTER always vanishes\n"
+ .string "like smoke. How does he do it?$"
+
+Route110_TrickHousePuzzle7_Text_26E4C1: @ 826E4C1
+ .string "Aiyeeeh! You’re much too strong!\n"
+ .string "How do you do it?$"
+
+Route110_TrickHousePuzzle7_Text_26E4F4: @ 826E4F4
+ .string "I wish I could appear and disappear as\n"
+ .string "if I were smoke, too.$"
+
+Route110_TrickHousePuzzle7_Text_26E531: @ 826E531
+ .string "Going around the same spot…\n"
+ .string "It begets ill fortune…$"
+
+Route110_TrickHousePuzzle7_Text_26E564: @ 826E564
+ .string "Defeated!\n"
+ .string "It’s a bad sign…$"
+
+Route110_TrickHousePuzzle7_Text_26E57F: @ 826E57F
+ .string "I’ve circled the same spot over ten\n"
+ .string "times now… It’s ill fortune…$"
+
+Route110_TrickHousePuzzle7_Text_26E5C0: @ 826E5C0
+ .string "Whoever wins will get through here\n"
+ .string "first. That’s the feeling I get.$"
+
+Route110_TrickHousePuzzle7_Text_26E604: @ 826E604
+ .string "Oh!\n"
+ .string "Well, go ahead, then!$"
+
+Route110_TrickHousePuzzle7_Text_26E61E: @ 826E61E
+ .string "You’re solving all the puzzles in the\n"
+ .string "TRICK HOUSE. That’s the feeling I get.$"
+
+Route110_TrickHousePuzzle7_Text_26E66B: @ 826E66B
+ .string "Nufufufu, here at last!\n"
+ .string "Let’s get right with it!$"
+
+Route110_TrickHousePuzzle7_Text_26E69C: @ 826E69C
+ .string "You’re so casual about winning!$"
+
+Route110_TrickHousePuzzle7_Text_26E6BC: @ 826E6BC
+ .string "Humph! I’m not upset!\n"
+ .string "Not me!$"
+
+Route110_TrickHousePuzzle7_Text_26E6DA: @ 826E6DA
+ .string "I ever so closely watched you coming!$"
+
+Route110_TrickHousePuzzle7_Text_26E700: @ 826E700
+ .string "This outcome I didn’t see coming…$"
+
+Route110_TrickHousePuzzle7_Text_26E722: @ 826E722
+ .string "Well, anyway, we both picked a weird\n"
+ .string "place to get acquainted.\p"
+ .string "As one weirdo to another,\n"
+ .string "let’s do our best!$"
+
+Route110_TrickHousePuzzle7_Text_26E78D: @ 826E78D
+ .string "It’s awfully cramped in here…$"
+
+Route110_TrickHousePuzzle7_Text_26E7AB: @ 826E7AB
+ .string "Oh, yes, strong you are.$"
+
+Route110_TrickHousePuzzle7_Text_26E7C4: @ 826E7C4
+ .string "I was hoping to switch places with you\n"
+ .string "when I beat you, but…$"
+
diff --git a/data/scripts/maps/Route110_TrickHousePuzzle8.inc b/data/scripts/maps/Route110_TrickHousePuzzle8.inc
new file mode 100644
index 000000000..bf0c4b978
--- /dev/null
+++ b/data/scripts/maps/Route110_TrickHousePuzzle8.inc
@@ -0,0 +1,72 @@
+Route110_TrickHousePuzzle8_MapScripts:: @ 826E801
+ .byte 0
+
+Route110_TrickHousePuzzle8_EventScript_26E802:: @ 826E802
+ lockall
+ compare_var_to_value VAR_0x40B2, 0
+ goto_eq Route110_TrickHousePuzzle8_EventScript_26E814
+ goto Route110_TrickHousePuzzle8_EventScript_26A3DB
+ end
+
+Route110_TrickHousePuzzle8_EventScript_26E814:: @ 826E814
+ setvar VAR_0x40B2, 1
+ goto Route110_TrickHousePuzzle8_EventScript_26A3E5
+ end
+
+Route110_TrickHousePuzzle8_EventScript_26E81F:: @ 826E81F
+ trainerbattle 0, TRAINER_VINCENT, 0, Route110_TrickHousePuzzle8_Text_26E8CD, Route110_TrickHousePuzzle8_Text_26E8F6
+ msgbox Route110_TrickHousePuzzle8_Text_26E918, 6
+ end
+
+Route110_TrickHousePuzzle8_EventScript_26E836:: @ 826E836
+ trainerbattle 0, TRAINER_KEIRA, 0, Route110_TrickHousePuzzle8_Text_26E954, Route110_TrickHousePuzzle8_Text_26E97F
+ msgbox Route110_TrickHousePuzzle8_Text_26E99F, 6
+ end
+
+Route110_TrickHousePuzzle8_EventScript_26E84D:: @ 826E84D
+ trainerbattle 0, TRAINER_LEROY, 0, Route110_TrickHousePuzzle8_Text_26E9D7, Route110_TrickHousePuzzle8_Text_26EA14
+ msgbox Route110_TrickHousePuzzle8_Text_26EA3F, 6
+ end
+
+Route110_TrickHousePuzzle8_EventScript_26E864:: @ 826E864
+ .string "{PLAYER} wrote down the secret code\n"
+ .string "on the door.\p"
+ .string "“TRICK MASTER I love.”\n"
+ .string "… … … … … … … …\p"
+ .string "The lock clicked open!$"
+
+Route110_TrickHousePuzzle8_Text_26E8CD: @ 826E8CD
+ .string "Not many TRAINERS have made it\n"
+ .string "this far.$"
+
+Route110_TrickHousePuzzle8_Text_26E8F6: @ 826E8F6
+ .string "That must mean you’re tough, too…$"
+
+Route110_TrickHousePuzzle8_Text_26E918: @ 826E918
+ .string "You’ve beaten the POKéMON LEAGUE\n"
+ .string "CHAMPION? That’s too much!$"
+
+Route110_TrickHousePuzzle8_Text_26E954: @ 826E954
+ .string "Consider yourself lucky to be\n"
+ .string "battling me!$"
+
+Route110_TrickHousePuzzle8_Text_26E97F: @ 826E97F
+ .string "This isn’t right!\n"
+ .string "I can’t lose!$"
+
+Route110_TrickHousePuzzle8_Text_26E99F: @ 826E99F
+ .string "It’s a miracle that you beat me.\n"
+ .string "You can brag about it.$"
+
+Route110_TrickHousePuzzle8_Text_26E9D7: @ 826E9D7
+ .string "You’ve been slugging through the TRICK\n"
+ .string "HOUSE challenge, too.$"
+
+Route110_TrickHousePuzzle8_Text_26EA14: @ 826EA14
+ .string "I see…\n"
+ .string "You possess an extraordinary style.$"
+
+Route110_TrickHousePuzzle8_Text_26EA3F: @ 826EA3F
+ .string "Seeing someone like you should please\n"
+ .string "the TRICK MASTER.$"
+
diff --git a/data/scripts/maps/Route111.inc b/data/scripts/maps/Route111.inc
new file mode 100644
index 000000000..c51b07b6c
--- /dev/null
+++ b/data/scripts/maps/Route111.inc
@@ -0,0 +1,756 @@
+Route111_MapScripts:: @ 81F0CA7
+ map_script 1, Route111_MapScript1_1F0CBC
+ map_script 3, Route111_MapScript1_1F0D87
+ map_script 4, Route111_MapScript2_1F0E46
+ map_script 2, Route111_MapScript2_1F0E56
+ .byte 0
+
+Route111_MapScript1_1F0CBC: @ 81F0CBC
+ checkflag FLAG_0x0E4
+ call_if 0, Route111_EventScript_1F0CD1
+ compare_var_to_value VAR_0x40CB, 1
+ call_if 1, Route111_EventScript_1F0CE4
+ end
+
+Route111_EventScript_1F0CD1:: @ 81F0CD1
+ setmetatile 29, 86, 124, 1
+ setmetatile 29, 87, 145, 1
+ return
+
+Route111_EventScript_1F0CE4:: @ 81F0CE4
+ setmetatile 18, 53, 984, 0
+ setmetatile 19, 53, 985, 0
+ setmetatile 20, 53, 986, 0
+ setmetatile 18, 54, 992, 0
+ setmetatile 19, 54, 993, 0
+ setmetatile 20, 54, 994, 0
+ setmetatile 18, 55, 1000, 0
+ setmetatile 19, 55, 1001, 0
+ setmetatile 20, 55, 1002, 0
+ setmetatile 18, 56, 1008, 0
+ setmetatile 19, 56, 1009, 0
+ setmetatile 20, 56, 1010, 0
+ setmetatile 18, 57, 987, 0
+ setmetatile 19, 57, 988, 0
+ setmetatile 20, 57, 989, 0
+ setmetatile 18, 58, 995, 0
+ setmetatile 19, 58, 996, 0
+ setmetatile 20, 58, 997, 0
+ return
+
+Route111_MapScript1_1F0D87: @ 81F0D87
+ setvar VAR_0x40D6, 0
+ special sub_81BE79C
+ checkflag FLAG_0x14E
+ call_if 0, Route111_EventScript_1F0E3C
+ compare_var_to_value VAR_0x40CB, 1
+ call_if 1, Route111_EventScript_1F0DC2
+ compare_var_to_value VAR_0x40CB, 2
+ call_if 1, Route111_EventScript_1F0E40
+ call Route111_EventScript_1F0DE6
+ call Route111_EventScript_28CCC7
+ checktrainerflag TRAINER_VICKY
+ goto_if 0, Route111_EventScript_1F0E26
+ end
+
+Route111_EventScript_1F0DC2:: @ 81F0DC2
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route111_EventScript_1F0DDA
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route111_EventScript_1F0DE0
+ return
+
+Route111_EventScript_1F0DDA:: @ 81F0DDA
+ setvar VAR_0x4010, 100
+ return
+
+Route111_EventScript_1F0DE0:: @ 81F0DE0
+ setvar VAR_0x4010, 105
+ return
+
+Route111_EventScript_1F0DE6:: @ 81F0DE6
+ getplayerxy VAR_0x4000, VAR_0x4001
+ compare_var_to_value VAR_0x4001, 34
+ goto_if 0, Route111_EventScript_1F0E25
+ compare_var_to_value VAR_0x4001, 107
+ goto_if 2, Route111_EventScript_1F0E25
+ compare_var_to_value VAR_0x4001, 72
+ goto_if 2, Route111_EventScript_1F0E22
+ compare_var_to_value VAR_0x4000, 2000
+ goto_if 2, Route111_EventScript_1F0E25
+ compare_var_to_value VAR_0x4000, 8
+ goto_if 0, Route111_EventScript_1F0E25
+
+Route111_EventScript_1F0E22:: @ 81F0E22
+ setweather 8
+
+Route111_EventScript_1F0E25:: @ 81F0E25
+ return
+
+Route111_EventScript_1F0E26:: @ 81F0E26
+ clearflag FLAG_0x300
+ setflag FLAG_0x301
+ setflag FLAG_0x302
+ setflag FLAG_0x303
+ cleartrainerflag TRAINER_VICTOR
+ cleartrainerflag TRAINER_VICTORIA
+ cleartrainerflag TRAINER_VIVI
+ end
+
+Route111_EventScript_1F0E3C:: @ 81F0E3C
+ setmaplayoutindex 392
+ return
+
+Route111_EventScript_1F0E40:: @ 81F0E40
+ setvar VAR_0x40CB, 3
+ return
+
+Route111_MapScript2_1F0E46: @ 81F0E46
+ map_script_2 VAR_0x40CB, 1, Route111_EventScript_1F0E50
+ .2byte 0
+
+Route111_EventScript_1F0E50:: @ 81F0E50
+ hideobjectat 255, LITTLEROOT_TOWN
+ end
+
+Route111_MapScript2_1F0E56: @ 81F0E56
+ map_script_2 VAR_0x40CB, 1, Route111_EventScript_1F0E60
+ .2byte 0
+
+Route111_EventScript_1F0E60:: @ 81F0E60
+ lockall
+ special sub_81BEB68
+ waitstate
+ delay 24
+ playse SE_RU_HYUU
+ addobject 45
+ special sub_81BE7F4
+ waitstate
+ showobjectat 255, LITTLEROOT_TOWN
+ removeobject 45
+ delay 16
+ turnobject 255, 2
+ delay 16
+ special sub_81BEB54
+ waitstate
+ special sub_81BEB7C
+ waitstate
+ setvar VAR_0x40CB, 2
+ clearflag FLAG_0x36A
+ checkflag FLAG_0x150
+ goto_eq Route111_EventScript_1F0EA7
+ msgbox Route111_Text_1F1C74, 4
+ releaseall
+ end
+
+Route111_EventScript_1F0EA7:: @ 81F0EA7
+ msgbox Route111_Text_1F1C9F, 4
+ releaseall
+ end
+
+Route111_Movement_1F0EB1:: @ 81F0EB1
+ step_94
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_15
+ step_end
+
+Route111_EventScript_1F0EB9:: @ 81F0EB9
+ lock
+ faceplayer
+ dodailyevents
+ checkflag FLAG_0x92C
+ goto_eq Route111_EventScript_1F0EF4
+ msgbox Route111_Text_2A6EBD, 4
+ giveitem_std ITEM_RAZZ_BERRY
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route111_EventScript_272054
+ setflag FLAG_0x92C
+ special sub_8138B10
+ msgbox Route111_Text_2A6F3D, 4
+ release
+ end
+
+Route111_EventScript_1F0EF4:: @ 81F0EF4
+ msgbox Route111_Text_2A6F9A, 4
+ release
+ end
+
+Route111_EventScript_1F0EFE:: @ 81F0EFE
+ lockall
+ setvar VAR_0x8004, 0
+ goto Route111_EventScript_1F0F2E
+ end
+
+Route111_EventScript_1F0F0A:: @ 81F0F0A
+ lockall
+ setvar VAR_0x8004, 1
+ goto Route111_EventScript_1F0F2E
+ end
+
+Route111_EventScript_1F0F16:: @ 81F0F16
+ lockall
+ setvar VAR_0x8004, 2
+ goto Route111_EventScript_1F0F2E
+ end
+
+Route111_EventScript_1F0F22:: @ 81F0F22
+ lockall
+ setvar VAR_0x8004, 3
+ goto Route111_EventScript_1F0F2E
+ end
+
+Route111_EventScript_1F0F2E:: @ 81F0F2E
+ checkitem ITEM_GO_GOGGLES, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route111_EventScript_1F0F45
+ setvar VAR_0x4003, 1
+ releaseall
+ end
+
+Route111_EventScript_1F0F45:: @ 81F0F45
+ msgbox gUnknown_08272C5F, 4
+ closemessage
+ compare_var_to_value VAR_0x8004, 0
+ call_if 1, Route111_EventScript_1F0F7C
+ compare_var_to_value VAR_0x8004, 1
+ call_if 1, Route111_EventScript_1F0F87
+ compare_var_to_value VAR_0x8004, 2
+ call_if 1, Route111_EventScript_1F0F92
+ compare_var_to_value VAR_0x8004, 3
+ call_if 1, Route111_EventScript_1F0F9D
+ releaseall
+ end
+
+Route111_EventScript_1F0F7C:: @ 81F0F7C
+ applymovement 255, Route111_Movement_1F0FA8
+ waitmovement 0
+ return
+
+Route111_EventScript_1F0F87:: @ 81F0F87
+ applymovement 255, Route111_Movement_1F0FAA
+ waitmovement 0
+ return
+
+Route111_EventScript_1F0F92:: @ 81F0F92
+ applymovement 255, Route111_Movement_1F0FAC
+ waitmovement 0
+ return
+
+Route111_EventScript_1F0F9D:: @ 81F0F9D
+ applymovement 255, Route111_Movement_1F0FAE
+ waitmovement 0
+ return
+
+Route111_Movement_1F0FA8: @ 81F0FA8
+ step_up
+ step_end
+
+Route111_Movement_1F0FAA: @ 81F0FAA
+ step_down
+ step_end
+
+Route111_Movement_1F0FAC: @ 81F0FAC
+ step_left
+ step_end
+
+Route111_Movement_1F0FAE: @ 81F0FAE
+ step_right
+ step_end
+
+Route111_EventScript_1F0FB0:: @ 81F0FB0
+ setweather 2
+ fadenewbgm BGM_DOORO_X1
+ doweather
+ setvar VAR_0x4003, 0
+ end
+
+Route111_EventScript_1F0FBD:: @ 81F0FBD
+ setweather 8
+ fadenewbgm BGM_ASHROAD
+ doweather
+ end
+
+Route111_EventScript_1F0FC5:: @ 81F0FC5
+ lock
+ faceplayer
+ setflag FLAG_0x8A3
+ msgbox Route111_Text_1F1475, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route111_EventScript_1F0FE7
+ msgbox Route111_Text_1F14F5, 4
+ release
+ end
+
+Route111_EventScript_1F0FE7:: @ 81F0FE7
+ msgbox Route111_Text_1F1523, 4
+ trainerbattle 3, TRAINER_VICTOR, 0, Route111_Text_1F1542
+ applymovement 1, Route111_Movement_2725A6
+ waitmovement 0
+ call Route111_EventScript_1F113C
+ msgbox Route111_Text_1F156F, 4
+ closemessage
+ applymovement 1, Route111_Movement_1F114A
+ waitmovement 0
+ removeobject 1
+ call Route111_EventScript_1F1143
+ applymovement 255, Route111_Movement_1F114F
+ waitmovement 0
+ call Route111_EventScript_1F113C
+ addobject 2
+ applymovement 2, Route111_Movement_1F114D
+ waitmovement 0
+ call Route111_EventScript_1F1143
+ msgbox Route111_Text_1F159D, 4
+ trainerbattle 3, TRAINER_VICTORIA, 0, Route111_Text_1F1616
+ applymovement 2, Route111_Movement_2725A6
+ waitmovement 0
+ call Route111_EventScript_1F113C
+ msgbox Route111_Text_1F1645, 4
+ closemessage
+ applymovement 2, Route111_Movement_1F114A
+ waitmovement 0
+ removeobject 2
+ call Route111_EventScript_1F1143
+ applymovement 255, Route111_Movement_1F114F
+ waitmovement 0
+ call Route111_EventScript_1F113C
+ addobject 3
+ applymovement 3, Route111_Movement_1F114D
+ waitmovement 0
+ call Route111_EventScript_1F1143
+ msgbox Route111_Text_1F167E, 4
+ trainerbattle 3, TRAINER_VIVI, 0, Route111_Text_1F16C6
+ applymovement 3, Route111_Movement_2725A6
+ waitmovement 0
+ call Route111_EventScript_1F113C
+ msgbox Route111_Text_1F16DC, 4
+ closemessage
+ applymovement 3, Route111_Movement_1F114A
+ waitmovement 0
+ removeobject 3
+ call Route111_EventScript_1F1143
+ applymovement 255, Route111_Movement_1F114F
+ waitmovement 0
+ call Route111_EventScript_1F113C
+ addobject 4
+ applymovement 4, Route111_Movement_1F114D
+ waitmovement 0
+ call Route111_EventScript_1F1143
+ msgbox Route111_Text_1F16FB, 4
+ trainerbattle 3, TRAINER_VICKY, 0, Route111_Text_1F1756
+ msgbox Route111_Text_1F1788, 4
+ closemessage
+ applymovement 4, Route111_Movement_2725A6
+ waitmovement 0
+ call Route111_EventScript_1F113C
+ applymovement 4, Route111_Movement_1F114A
+ waitmovement 0
+ removeobject 4
+ call Route111_EventScript_1F1143
+ release
+ end
+
+Route111_EventScript_1F113C:: @ 81F113C
+ opendoor 13, 113
+ waitdooranim
+ return
+
+Route111_EventScript_1F1143:: @ 81F1143
+ closedoor 13, 113
+ waitdooranim
+ return
+
+Route111_Movement_1F114A: @ 81F114A
+ step_26
+ step_up
+ step_end
+
+Route111_Movement_1F114D: @ 81F114D
+ step_down
+ step_end
+
+Route111_Movement_1F114F: @ 81F114F
+ step_14
+ step_14
+ step_14
+ step_end
+
+Route111_EventScript_1F1153:: @ 81F1153
+ msgbox Route111_Text_1F18CE, 3
+ end
+
+Route111_EventScript_1F115C:: @ 81F115C
+ msgbox Route111_Text_1F18E8, 3
+ end
+
+Route111_EventScript_1F1165:: @ 81F1165
+ msgbox Route111_Text_1F1921, 3
+ end
+
+Route111_EventScript_1F116E:: @ 81F116E
+ msgbox Route111_Text_1F1937, 3
+ end
+
+Route111_EventScript_1F1177:: @ 81F1177
+ msgbox Route111_Text_1F194D, 3
+ end
+
+Route111_EventScript_1F1180:: @ 81F1180
+ msgbox Route111_Text_1F1987, 3
+ end
+
+Route111_EventScript_1F1189:: @ 81F1189
+ msgbox Route111_Text_1F17BA, 2
+ end
+
+Route111_EventScript_1F1192:: @ 81F1192
+ msgbox Route111_Text_1F186E, 2
+ end
+
+Route111_EventScript_1F119B:: @ 81F119B
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x40CB, 3
+ goto_eq Route111_EventScript_1F11C6
+ compare_var_to_value VAR_0x40CB, 2
+ goto_eq Route111_EventScript_1F11D0
+ checkflag FLAG_0x14E
+ goto_eq Route111_EventScript_1F11DA
+ msgbox Route111_Text_1F1A22, 4
+ release
+ end
+
+Route111_EventScript_1F11C6:: @ 81F11C6
+ msgbox Route111_Text_1F1C12, 4
+ release
+ end
+
+Route111_EventScript_1F11D0:: @ 81F11D0
+ msgbox Route111_Text_1F1B92, 4
+ release
+ end
+
+Route111_EventScript_1F11DA:: @ 81F11DA
+ msgbox Route111_Text_1F1AC7, 4
+ release
+ end
+
+Route111_EventScript_1F11E4:: @ 81F11E4
+ lockall
+ applymovement 46, Route111_Movement_27259E
+ waitmovement 0
+ msgbox Route111_Text_1F1CCA, 4
+ closemessage
+ applymovement 46, Route111_Movement_2725A2
+ waitmovement 0
+ releaseall
+ end
+
+Route111_EventScript_1F1204:: @ 81F1204
+ trainerbattle 0, TRAINER_DREW, 0, Route111_Text_29878E, Route111_Text_29880A
+ msgbox Route111_Text_298853, 6
+ end
+
+Route111_EventScript_1F121B:: @ 81F121B
+ trainerbattle 0, TRAINER_HEIDI, 0, Route111_Text_2988A3, Route111_Text_298908
+ msgbox Route111_Text_29891B, 6
+ end
+
+Route111_EventScript_1F1232:: @ 81F1232
+ trainerbattle 0, TRAINER_BEAU, 0, Route111_Text_29898E, Route111_Text_2989E6
+ msgbox Route111_Text_298A03, 6
+ end
+
+Route111_EventScript_1F1249:: @ 81F1249
+ trainerbattle 0, TRAINER_BECKY, 0, Route111_Text_298A65, Route111_Text_298AAF
+ msgbox Route111_Text_298AC0, 6
+ end
+
+Route111_EventScript_1F1260:: @ 81F1260
+ trainerbattle 2, TRAINER_DUSTY_1, 0, Route111_Text_298B08, Route111_Text_298B53, Route111_EventScript_1F128C
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route111_EventScript_1F12AB
+ msgbox Route111_Text_298B9A, 4
+ release
+ end
+
+Route111_EventScript_1F128C:: @ 81F128C
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route111_Text_298C00, 4
+ setvar VAR_0x8004, 44
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 44
+ callstd 8
+ release
+ end
+
+Route111_EventScript_1F12AB:: @ 81F12AB
+ trainerbattle 5, TRAINER_DUSTY_1, 0, Route111_Text_298C5F, Route111_Text_298CD2
+ msgbox Route111_Text_298D0C, 6
+ end
+
+Route111_EventScript_1F12C2:: @ 81F12C2
+ trainerbattle 0, TRAINER_TRAVIS, 0, Route111_Text_298DA9, Route111_Text_298DD8
+ msgbox Route111_Text_298DF1, 6
+ end
+
+Route111_EventScript_1F12D9:: @ 81F12D9
+ trainerbattle 0, TRAINER_IRENE, 0, Route111_Text_298E2F, Route111_Text_298E6E
+ msgbox Route111_Text_298E8C, 6
+ end
+
+Route111_EventScript_1F12F0:: @ 81F12F0
+ trainerbattle 0, TRAINER_DAISUKE, 0, Route111_Text_298EE6, Route111_Text_298F14
+ msgbox Route111_Text_298F26, 6
+ end
+
+Route111_EventScript_1F1307:: @ 81F1307
+ trainerbattle 2, TRAINER_WILTON_1, 0, Route111_Text_298F79, Route111_Text_298FA9, Route111_EventScript_1F1333
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route111_EventScript_1F1352
+ msgbox Route111_Text_298FD4, 4
+ release
+ end
+
+Route111_EventScript_1F1333:: @ 81F1333
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route111_Text_29903D, 4
+ setvar VAR_0x8004, 78
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 78
+ callstd 8
+ release
+ end
+
+Route111_EventScript_1F1352:: @ 81F1352
+ trainerbattle 5, TRAINER_WILTON_1, 0, Route111_Text_29909B, Route111_Text_2990EE
+ msgbox Route111_Text_299102, 6
+ end
+
+Route111_EventScript_1F1369:: @ 81F1369
+ trainerbattle 2, TRAINER_BROOKE_1, 0, Route111_Text_299143, Route111_Text_299193, Route111_EventScript_1F1395
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route111_EventScript_1F13B4
+ msgbox Route111_Text_2991C2, 4
+ release
+ end
+
+Route111_EventScript_1F1395:: @ 81F1395
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route111_Text_29921D, 4
+ setvar VAR_0x8004, 94
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 94
+ callstd 8
+ release
+ end
+
+Route111_EventScript_1F13B4:: @ 81F13B4
+ trainerbattle 5, TRAINER_BROOKE_1, 0, Route111_Text_29925D, Route111_Text_2992D6
+ msgbox Route111_Text_2992F5, 6
+ end
+
+Route111_EventScript_1F13CB:: @ 81F13CB
+ trainerbattle 0, TRAINER_HAYDEN, 0, Route111_Text_299682, Route111_Text_2996BE
+ msgbox Route111_Text_2996C5, 6
+ end
+
+Route111_EventScript_1F13E2:: @ 81F13E2
+ trainerbattle 0, TRAINER_BIANCA, 0, Route111_Text_2996FE, Route111_Text_29973D
+ msgbox Route111_Text_29975D, 6
+ end
+
+Route111_EventScript_1F13F9:: @ 81F13F9
+ trainerbattle 0, TRAINER_TYRON, 0, Route111_Text_299524, Route111_Text_299549
+ msgbox Route111_Text_299576, 6
+ end
+
+Route111_EventScript_1F1410:: @ 81F1410
+ trainerbattle 0, TRAINER_CELINA, 0, Route111_Text_2995F0, Route111_Text_299625
+ msgbox Route111_Text_29964B, 6
+ end
+
+Route111_EventScript_1F1427:: @ 81F1427
+ trainerbattle 0, TRAINER_CELIA, 0, Route111_Text_29934B, Route111_Text_299384
+ msgbox Route111_Text_2993A7, 6
+ end
+
+Route111_EventScript_1F143E:: @ 81F143E
+ trainerbattle 0, TRAINER_BRYAN, 0, Route111_Text_299401, Route111_Text_299431
+ msgbox Route111_Text_29945F, 6
+ end
+
+Route111_EventScript_1F1455:: @ 81F1455
+ trainerbattle 0, TRAINER_BRANDEN, 0, Route111_Text_299493, Route111_Text_2994C5
+ msgbox Route111_Text_2994FB, 6
+ end
+
+Route111_EventScript_1F146C:: @ 81F146C
+ msgbox Route111_Text_1F1D61, 3
+ end
+
+Route111_Text_1F1475: @ 81F1475
+ .string "Hello! I take it you’re a traveler.\p"
+ .string "How’s this? What do you say to taking\n"
+ .string "on our family of four in a series of\l"
+ .string "POKéMON battles?$"
+
+Route111_Text_1F14F5: @ 81F14F5
+ .string "Is that so?\n"
+ .string "Drop in, if you change your mind!$"
+
+Route111_Text_1F1523: @ 81F1523
+ .string "That’s the spirit! I like you!$"
+
+Route111_Text_1F1542: @ 81F1542
+ .string "Aiyah!\n"
+ .string "You’re a lot tougher than I expected!$"
+
+Route111_Text_1F156F: @ 81F156F
+ .string "Hey, all!\n"
+ .string "I’ve found a pretty strong TRAINER!$"
+
+Route111_Text_1F159D: @ 81F159D
+ .string "Oh, my goodness! Aren’t you young?\p"
+ .string "You must be quite the TRAINER to beat\n"
+ .string "my husband, though.\p"
+ .string "It’s my turn to battle now!$"
+
+Route111_Text_1F1616: @ 81F1616
+ .string "Oh, gosh!\n"
+ .string "I can’t get over how strong you are!$"
+
+Route111_Text_1F1645: @ 81F1645
+ .string "There’s a strong TRAINER here!\n"
+ .string "This one’s really strong!$"
+
+Route111_Text_1F167E: @ 81F167E
+ .string "You’re stronger than Mommy? Wow!\p"
+ .string "But I’m strong, too!\n"
+ .string "Really! Honestly!$"
+
+Route111_Text_1F16C6: @ 81F16C6
+ .string "Huh? Did I just lose?$"
+
+Route111_Text_1F16DC: @ 81F16DC
+ .string "This stinks…\p"
+ .string "…Snivel… Grandma!$"
+
+Route111_Text_1F16FB: @ 81F16FB
+ .string "How dare you make my granddaughter\n"
+ .string "cry!\p"
+ .string "For that, I’m going to smack you!\n"
+ .string "Prepare to lose!$"
+
+Route111_Text_1F1756: @ 81F1756
+ .string "Kwah! You are strong…\n"
+ .string "My granddaughter was right…$"
+
+Route111_Text_1F1788: @ 81F1788
+ .string "If you’re not in any hurry,\n"
+ .string "visit with us awhile.$"
+
+Route111_Text_1F17BA: @ 81F17BA
+ .string "If you don’t raise your POKéMON some\n"
+ .string "more, it could be tough to keep winning\l"
+ .string "up through the ranks.\p"
+ .string "I’ve heard the POKéMON LEAGUE’s\n"
+ .string "ELITE FOUR are far stronger than\l"
+ .string "any GYM LEADER.$"
+
+Route111_Text_1F186E: @ 81F186E
+ .string "I challenged the WINSTRATE family,\n"
+ .string "but four matches in a row is tough\l"
+ .string "going… They destroyed me.$"
+
+Route111_Text_1F18CE: @ 81F18CE
+ .string "ROUTE 111\n"
+ .string "{0x7A} MAUVILLE CITY$"
+
+Route111_Text_1F18E8: @ 81F18E8
+ .string "“Our family’s hearts beat as one!”\n"
+ .string "THE WINSTRATE’S HOUSE$"
+
+Route111_Text_1F1921: @ 81F1921
+ .string "ROUTE 111\n"
+ .string "{0x7B} ROUTE 112$"
+
+Route111_Text_1F1937: @ 81F1937
+ .string "ROUTE 111\n"
+ .string "{0x7B} ROUTE 113$"
+
+Route111_Text_1F194D: @ 81F194D
+ .string "OLD LADY’S REST STOP\n"
+ .string "“Come in and rest your tired bones.”$"
+
+Route111_Text_1F1987: @ 81F1987
+ .string "TRAINER TIPS\p"
+ .string "One of the indicators of a POKéMON’s\n"
+ .string "powerfulness is SP. ATK. It stands for\l"
+ .string "“SPECIAL ATTACK.”\p"
+ .string "Likewise, SP. DEF stands for “SPECIAL\n"
+ .string "DEFENSE.”$"
+
+Route111_Text_1F1A22: @ 81F1A22
+ .string "There should be a tower made of sand\n"
+ .string "around here somewhere.\p"
+ .string "But for some reason, it can be seen\n"
+ .string "sometimes, and sometimes not.\p"
+ .string "That’s why I call it the MIRAGE TOWER.$"
+
+Route111_Text_1F1AC7: @ 81F1AC7
+ .string "I see it!\n"
+ .string "The tower of sand!\p"
+ .string "The sand tower they called a mirage\n"
+ .string "is clearly visible!\p"
+ .string "But it looks so fragile…\n"
+ .string "It could crumble away anytime…\p"
+ .string "I want to go inside it, but I can’t\n"
+ .string "get my courage up for it…$"
+
+Route111_Text_1F1B92: @ 81F1B92
+ .string "Whoa…\n"
+ .string "That was shocking.\p"
+ .string "Sand rained down in chunks all of\n"
+ .string "a sudden.\p"
+ .string "What was it like inside?\n"
+ .string "Were there sandy ghosts and such?$"
+
+Route111_Text_1F1C12: @ 81F1C12
+ .string "Since I spoke to you, the tower of sand\n"
+ .string "hasn’t been seen.\p"
+ .string "Perhaps it really was\n"
+ .string "the MIRAGE TOWER…$"
+
+Route111_Text_1F1C74: @ 81F1C74
+ .string "The CLAW FOSSIL disappeared into\n"
+ .string "the sand…$"
+
+Route111_Text_1F1C9F: @ 81F1C9F
+ .string "The ROOT FOSSIL disappeared into\n"
+ .string "the sand…$"
+
+Route111_Text_1F1CCA: @ 81F1CCA
+ .string "Oh, no!\p"
+ .string "My uncle in MAUVILLE told me to take\n"
+ .string "ROCK SMASH with me if I was going to\l"
+ .string "ROUTE 111!\p"
+ .string "My uncle? He lives across from\n"
+ .string "the bike shop in MAUVILLE.$"
+
+Route111_Text_1F1D61: @ 81F1D61
+ .string "{0x7C} TRAINER HILL ENTRANCE\p"
+ .string "“Scale the heights, you hot-blooded\n"
+ .string "TRAINERS!”$"
+
diff --git a/data/scripts/maps/Route111_OldLadysRestStop.inc b/data/scripts/maps/Route111_OldLadysRestStop.inc
new file mode 100644
index 000000000..474d2a3f2
--- /dev/null
+++ b/data/scripts/maps/Route111_OldLadysRestStop.inc
@@ -0,0 +1,54 @@
+Route111_OldLadysRestStop_MapScripts:: @ 822A916
+ map_script 3, Route111_OldLadysRestStop_MapScript1_22A91C
+ .byte 0
+
+Route111_OldLadysRestStop_MapScript1_22A91C: @ 822A91C
+ setflag FLAG_0x8A1
+ end
+
+Route111_OldLadysRestStop_EventScript_22A920:: @ 822A920
+ lock
+ faceplayer
+ msgbox Route111_OldLadysRestStop_Text_22A978, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route111_OldLadysRestStop_EventScript_22A941
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route111_OldLadysRestStop_EventScript_22A96E
+ end
+
+Route111_OldLadysRestStop_EventScript_22A941:: @ 822A941
+ msgbox Route111_OldLadysRestStop_Text_22A9EC, 4
+ closemessage
+ call Route111_OldLadysRestStop_EventScript_272083
+ msgbox Route111_OldLadysRestStop_Text_22AA16, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route111_OldLadysRestStop_EventScript_22A941
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route111_OldLadysRestStop_EventScript_22A96E
+ end
+
+Route111_OldLadysRestStop_EventScript_22A96E:: @ 822A96E
+ msgbox Route111_OldLadysRestStop_Text_22AA8F, 4
+ release
+ end
+
+Route111_OldLadysRestStop_Text_22A978: @ 822A978
+ .string "Oh, dear, dear.\n"
+ .string "Aren’t your POKéMON exhausted?\p"
+ .string "If you’d like, rest up here.\n"
+ .string "That’s a fine idea! You should do that.$"
+
+Route111_OldLadysRestStop_Text_22A9EC: @ 822A9EC
+ .string "That’s right.\n"
+ .string "Take your time and rest up!$"
+
+Route111_OldLadysRestStop_Text_22AA16: @ 822AA16
+ .string "Oh, dear, dear.\n"
+ .string "Are your POKéMON still tired?\p"
+ .string "You should take another rest here.\n"
+ .string "That’s a fine idea. You should do that.$"
+
+Route111_OldLadysRestStop_Text_22AA8F: @ 822AA8F
+ .string "Is that so?\n"
+ .string "You don’t need to be shy about it.$"
+
diff --git a/data/scripts/maps/Route111_WinstrateFamilysHouse.inc b/data/scripts/maps/Route111_WinstrateFamilysHouse.inc
new file mode 100644
index 000000000..af556d0e0
--- /dev/null
+++ b/data/scripts/maps/Route111_WinstrateFamilysHouse.inc
@@ -0,0 +1,105 @@
+Route111_WinstrateFamilysHouse_MapScripts:: @ 822A48C
+ .byte 0
+
+Route111_WinstrateFamilysHouse_EventScript_22A48D:: @ 822A48D
+ lock
+ faceplayer
+ setvar VAR_0x8008, 2
+ msgbox Route111_WinstrateFamilysHouse_Text_22A539, 4
+ goto Route111_WinstrateFamilysHouse_EventScript_22A52C
+ end
+
+Route111_WinstrateFamilysHouse_EventScript_22A4A2:: @ 822A4A2
+ lock
+ faceplayer
+ setvar VAR_0x8008, 3
+ checkflag FLAG_0x115
+ goto_eq Route111_WinstrateFamilysHouse_EventScript_22A4DA
+ msgbox Route111_WinstrateFamilysHouse_Text_22A5F4, 4
+ giveitem_std ITEM_MACHO_BRACE
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route111_WinstrateFamilysHouse_EventScript_272054
+ setflag FLAG_0x115
+ goto Route111_WinstrateFamilysHouse_EventScript_22A52C
+ end
+
+Route111_WinstrateFamilysHouse_EventScript_22A4DA:: @ 822A4DA
+ msgbox Route111_WinstrateFamilysHouse_Text_22A6B4, 4
+ goto Route111_WinstrateFamilysHouse_EventScript_22A52C
+ end
+
+Route111_WinstrateFamilysHouse_EventScript_22A4E8:: @ 822A4E8
+ lock
+ faceplayer
+ setvar VAR_0x8008, 1
+ msgbox Route111_WinstrateFamilysHouse_Text_22A6F7, 4
+ goto Route111_WinstrateFamilysHouse_EventScript_22A52C
+ end
+
+Route111_WinstrateFamilysHouse_EventScript_22A4FD:: @ 822A4FD
+ lock
+ faceplayer
+ setvar VAR_0x8008, 4
+ checkflag FLAG_0x004
+ goto_eq Route111_WinstrateFamilysHouse_EventScript_22A51E
+ msgbox Route111_WinstrateFamilysHouse_Text_22A780, 4
+ setflag FLAG_0x004
+ goto Route111_WinstrateFamilysHouse_EventScript_22A52C
+ end
+
+Route111_WinstrateFamilysHouse_EventScript_22A51E:: @ 822A51E
+ msgbox Route111_WinstrateFamilysHouse_Text_22A89B, 4
+ goto Route111_WinstrateFamilysHouse_EventScript_22A52C
+ end
+
+Route111_WinstrateFamilysHouse_EventScript_22A52C:: @ 822A52C
+ closemessage
+ applymovement VAR_0x8008, Route111_WinstrateFamilysHouse_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+Route111_WinstrateFamilysHouse_Text_22A539: @ 822A539
+ .string "You’re the first TRAINER I’ve seen who\n"
+ .string "deploys POKéMON so masterfully.\p"
+ .string "But, I should tell you--my son is\n"
+ .string "stronger than you.\p"
+ .string "He even took the POKéMON LEAGUE\n"
+ .string "challenge, I’ll have you know.$"
+
+Route111_WinstrateFamilysHouse_Text_22A5F4: @ 822A5F4
+ .string "We use this MACHO BRACE to more\n"
+ .string "effectively strengthen our POKéMON\l"
+ .string "in training.\p"
+ .string "Since you’ve beaten all of us here,\n"
+ .string "I don’t know if you need it, but we\l"
+ .string "would like you to have our MACHO BRACE.$"
+
+Route111_WinstrateFamilysHouse_Text_22A6B4: @ 822A6B4
+ .string "When it comes to POKéMON battles,\n"
+ .string "we tend to be pretty passionate.$"
+
+Route111_WinstrateFamilysHouse_Text_22A6F7: @ 822A6F7
+ .string "Mommy is stronger than Daddy.\p"
+ .string "I’m stronger than Mommy.\p"
+ .string "And Grandma’s stronger than me!\p"
+ .string "But my big brother is even stronger\n"
+ .string "than Grandma.$"
+
+Route111_WinstrateFamilysHouse_Text_22A780: @ 822A780
+ .string "There’s no question that you’re strong.\p"
+ .string "But if you were to battle my grandson,\n"
+ .string "you’d end up crying in frustration.\p"
+ .string "He’s much stronger than any TRAINER\n"
+ .string "our family knows.\p"
+ .string "He must be challenging the POKéMON\n"
+ .string "LEAGUE CHAMPION by now.\p"
+ .string "Knowing my grandson, he could be the\n"
+ .string "CHAMPION already!$"
+
+Route111_WinstrateFamilysHouse_Text_22A89B: @ 822A89B
+ .string "My grandson must be challenging the\n"
+ .string "POKéMON LEAGUE CHAMPION by now.\p"
+ .string "Knowing my grandson, he could be the\n"
+ .string "CHAMPION already!$"
+
diff --git a/data/scripts/maps/Route112.inc b/data/scripts/maps/Route112.inc
new file mode 100644
index 000000000..066a7a347
--- /dev/null
+++ b/data/scripts/maps/Route112.inc
@@ -0,0 +1,146 @@
+Route112_MapScripts:: @ 81F1DA8
+ map_script 3, Route112_MapScript1_1F1DAE
+ .byte 0
+
+Route112_MapScript1_1F1DAE: @ 81F1DAE
+ clearflag FLAG_0x09D
+ setvar VAR_0x40BD, 0
+ end
+
+Route112_EventScript_1F1DB7:: @ 81F1DB7
+ lockall
+ delay 40
+ applymovement 1, Route112_Movement_2725A8
+ waitmovement 0
+ delay 20
+ msgbox Route112_Text_1F1F3F, 4
+ closemessage
+ applymovement 1, Route112_Movement_2725A2
+ waitmovement 0
+ delay 40
+ applymovement 6, Route112_Movement_2725A4
+ waitmovement 0
+ delay 20
+ msgbox Route112_Text_1F1F7A, 4
+ closemessage
+ applymovement 6, Route112_Movement_2725A2
+ waitmovement 0
+ delay 40
+ applymovement 1, Route112_Movement_2725A8
+ waitmovement 0
+ delay 20
+ msgbox Route112_Text_1F1FBA, 4
+ closemessage
+ applymovement 1, Route112_Movement_2725A2
+ waitmovement 0
+ delay 40
+ applymovement 6, Route112_Movement_2725A4
+ waitmovement 0
+ delay 20
+ msgbox Route112_Text_1F2003, 4
+ closemessage
+ applymovement 6, Route112_Movement_2725A2
+ waitmovement 0
+ releaseall
+ end
+
+Route112_EventScript_1F1E46:: @ 81F1E46
+ msgbox Route112_Text_1F20C1, 3
+ end
+
+Route112_EventScript_1F1E4F:: @ 81F1E4F
+ msgbox Route112_Text_1F20ED, 3
+ end
+
+Route112_EventScript_1F1E58:: @ 81F1E58
+ msgbox Route112_Text_1F2138, 3
+ end
+
+Route112_EventScript_1F1E61:: @ 81F1E61
+ msgbox Route112_Text_1F204E, 2
+ end
+
+Route112_EventScript_1F1E6A:: @ 81F1E6A
+ trainerbattle 0, TRAINER_BRICE, 0, Route112_Text_29978E, Route112_Text_2997CA
+ msgbox Route112_Text_2997DC, 6
+ end
+
+Route112_EventScript_1F1E81:: @ 81F1E81
+ trainerbattle 2, TRAINER_TRENT_1, 0, Route112_Text_299815, Route112_Text_29987C, Route112_EventScript_1F1EAD
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route112_EventScript_1F1ECC
+ msgbox Route112_Text_299896, 4
+ release
+ end
+
+Route112_EventScript_1F1EAD:: @ 81F1EAD
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route112_Text_29993C, 4
+ setvar VAR_0x8004, 627
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 627
+ callstd 8
+ release
+ end
+
+Route112_EventScript_1F1ECC:: @ 81F1ECC
+ trainerbattle 5, TRAINER_TRENT_1, 0, Route112_Text_2999BD, Route112_Text_2999F7
+ msgbox Route112_Text_299A0F, 6
+ end
+
+Route112_EventScript_1F1EE3:: @ 81F1EE3
+ trainerbattle 0, TRAINER_LARRY, 0, Route112_Text_299A89, Route112_Text_299AAC
+ msgbox Route112_Text_299AB4, 6
+ end
+
+Route112_EventScript_1F1EFA:: @ 81F1EFA
+ trainerbattle 0, TRAINER_CAROL, 0, Route112_Text_299AE4, Route112_Text_299B36
+ msgbox Route112_Text_299B4C, 6
+ end
+
+Route112_EventScript_1F1F11:: @ 81F1F11
+ trainerbattle 0, TRAINER_BRYANT, 0, Route112_Text_299BAE, Route112_Text_299BDF
+ msgbox Route112_Text_299BFB, 6
+ end
+
+Route112_EventScript_1F1F28:: @ 81F1F28
+ trainerbattle 0, TRAINER_SHAYLA, 0, Route112_Text_299C34, Route112_Text_299C8F
+ msgbox Route112_Text_299CC6, 6
+ end
+
+Route112_Text_1F1F3F: @ 81F1F3F
+ .string "Hey, man, is our leader really going\n"
+ .string "to awaken that thing?$"
+
+Route112_Text_1F1F7A: @ 81F1F7A
+ .string "Sounds like it, yeah. But I heard\n"
+ .string "we need a METEORITE to do it.$"
+
+Route112_Text_1F1FBA: @ 81F1FBA
+ .string "Oh, I get it now. That’s why the rest\n"
+ .string "of the crew went out to FALLARBOR.$"
+
+Route112_Text_1F2003: @ 81F2003
+ .string "You got it. And until they come back,\n"
+ .string "we’re not to let anyone pass, right.$"
+
+Route112_Text_1F204E: @ 81F204E
+ .string "Eh, I’d like to get to MAUVILLE, but if\n"
+ .string "I went down these ledges, it’d be no\l"
+ .string "easy matter to get back to LAVARIDGE.$"
+
+Route112_Text_1F20C1: @ 81F20C1
+ .string "MT. CHIMNEY CABLE CAR\n"
+ .string "“A short walk {0x79} way!”$"
+
+Route112_Text_1F20ED: @ 81F20ED
+ .string "MT. CHIMNEY\p"
+ .string "“For LAVARIDGE TOWN or the summit,\n"
+ .string "please take the CABLE CAR.”$"
+
+Route112_Text_1F2138: @ 81F2138
+ .string "ROUTE 112\n"
+ .string "{0x7B} LAVARIDGE TOWN$"
+
diff --git a/data/scripts/maps/Route112_CableCarStation.inc b/data/scripts/maps/Route112_CableCarStation.inc
new file mode 100644
index 000000000..eac7dbc0a
--- /dev/null
+++ b/data/scripts/maps/Route112_CableCarStation.inc
@@ -0,0 +1,99 @@
+Route112_CableCarStation_MapScripts:: @ 822AABE
+ map_script 3, Route112_CableCarStation_MapScript1_22AAC9
+ map_script 2, Route112_CableCarStation_MapScript2_22AAE9
+ .byte 0
+
+Route112_CableCarStation_MapScript1_22AAC9: @ 822AAC9
+ setescapewarp ROUTE_112, 255, 28, 28
+ compare_var_to_value VAR_0x40A3, 2
+ call_if 1, Route112_CableCarStation_EventScript_22AADD
+ end
+
+Route112_CableCarStation_EventScript_22AADD:: @ 822AADD
+ setobjectxyperm 1, 7, 4
+ setobjectmovementtype 1, 9
+ return
+
+Route112_CableCarStation_MapScript2_22AAE9: @ 822AAE9
+ map_script_2 VAR_0x40A3, 2, Route112_CableCarStation_EventScript_22AAF3
+ .2byte 0
+
+Route112_CableCarStation_EventScript_22AAF3:: @ 822AAF3
+ lockall
+ applymovement 255, Route112_CableCarStation_Movement_22AB80
+ applymovement 1, Route112_CableCarStation_Movement_22AB76
+ waitmovement 0
+ setvar VAR_0x40A3, 0
+ setobjectxyperm 1, 6, 7
+ setobjectmovementtype 1, 8
+ releaseall
+ end
+
+Route112_CableCarStation_EventScript_22AB17:: @ 822AB17
+ lock
+ faceplayer
+ msgbox Route112_CableCarStation_Text_22AB85, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route112_CableCarStation_EventScript_22AB38
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route112_CableCarStation_EventScript_22AB67
+ end
+
+Route112_CableCarStation_EventScript_22AB38:: @ 822AB38
+ msgbox Route112_CableCarStation_Text_22ABC2, 4
+ closemessage
+ applymovement 1, Route112_CableCarStation_Movement_22AB71
+ applymovement 255, Route112_CableCarStation_Movement_22AB7B
+ waitmovement 0
+ setvar VAR_0x8004, 0
+ setvar VAR_0x40A3, 1
+ incrementgamestat 48
+ special sub_8138B8C
+ special sub_814FC9C
+ waitstate
+ release
+ end
+
+Route112_CableCarStation_EventScript_22AB67:: @ 822AB67
+ msgbox Route112_CableCarStation_Text_22ABD8, 4
+ release
+ end
+
+Route112_CableCarStation_Movement_22AB71: @ 822AB71
+ step_up
+ step_up
+ step_right
+ step_27
+ step_end
+
+Route112_CableCarStation_Movement_22AB76: @ 822AB76
+ step_14
+ step_left
+ step_down
+ step_down
+ step_end
+
+Route112_CableCarStation_Movement_22AB7B: @ 822AB7B
+ step_up
+ step_up
+ step_up
+ step_14
+ step_end
+
+Route112_CableCarStation_Movement_22AB80: @ 822AB80
+ step_down
+ step_down
+ step_down
+ step_14
+ step_end
+
+Route112_CableCarStation_Text_22AB85: @ 822AB85
+ .string "The CABLE CAR is ready to go up.\n"
+ .string "Would you like to be on it?$"
+
+Route112_CableCarStation_Text_22ABC2: @ 822ABC2
+ .string "Please step this way.$"
+
+Route112_CableCarStation_Text_22ABD8: @ 822ABD8
+ .string "Please ride with us another time.$"
+
diff --git a/data/scripts/maps/Route113.inc b/data/scripts/maps/Route113.inc
new file mode 100644
index 000000000..7ee63e492
--- /dev/null
+++ b/data/scripts/maps/Route113.inc
@@ -0,0 +1,176 @@
+Route113_MapScripts:: @ 81F2153
+ map_script 5, Route113_MapScript1_1F215E
+ map_script 3, Route113_MapScript1_1F2161
+ .byte 0
+
+Route113_MapScript1_1F215E: @ 81F215E
+ setstepcallback 1
+ end
+
+Route113_MapScript1_1F2161: @ 81F2161
+ clearflag FLAG_0x09D
+ call Route113_EventScript_1F216A
+ end
+
+Route113_EventScript_1F216A:: @ 81F216A
+ getplayerxy VAR_0x4000, VAR_0x4001
+ compare_var_to_value VAR_0x4000, 19
+ goto_if 0, Route113_EventScript_1F2189
+ compare_var_to_value VAR_0x4000, 84
+ goto_if 2, Route113_EventScript_1F2189
+ setweather 7
+ return
+
+Route113_EventScript_1F2189:: @ 81F2189
+ return
+
+Route113_EventScript_1F218A:: @ 81F218A
+ msgbox Route113_Text_1F235B, 2
+ end
+
+Route113_EventScript_1F2193:: @ 81F2193
+ msgbox Route113_Text_1F23CA, 2
+ end
+
+Route113_EventScript_1F219C:: @ 81F219C
+ msgbox Route113_Text_1F2440, 3
+ end
+
+Route113_EventScript_1F21A5:: @ 81F21A5
+ msgbox Route113_Text_1F2456, 3
+ end
+
+Route113_EventScript_1F21AE:: @ 81F21AE
+ msgbox Route113_Text_1F24F8, 3
+ end
+
+Route113_EventScript_1F21B7:: @ 81F21B7
+ msgbox Route113_Text_1F2471, 3
+ end
+
+Route113_EventScript_1F21C0:: @ 81F21C0
+ trainerbattle 0, TRAINER_JAYLEN, 0, Route113_Text_299D3C, Route113_Text_299D68
+ msgbox Route113_Text_299D7D, 6
+ end
+
+Route113_EventScript_1F21D7:: @ 81F21D7
+ trainerbattle 0, TRAINER_DILLON, 0, Route113_Text_299DE3, Route113_Text_299E1C
+ msgbox Route113_Text_299E38, 6
+ end
+
+Route113_EventScript_1F21EE:: @ 81F21EE
+ trainerbattle 2, TRAINER_MADELINE_1, 0, Route113_Text_299EA6, Route113_Text_299EF9, Route113_EventScript_1F221A
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route113_EventScript_1F2239
+ msgbox Route113_Text_299F15, 4
+ release
+ end
+
+Route113_EventScript_1F221A:: @ 81F221A
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route113_Text_299F49, 4
+ setvar VAR_0x8004, 434
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 434
+ callstd 8
+ release
+ end
+
+Route113_EventScript_1F2239:: @ 81F2239
+ trainerbattle 5, TRAINER_MADELINE_1, 0, Route113_Text_299F8A, Route113_Text_299FC9
+ msgbox Route113_Text_299FD8, 6
+ end
+
+Route113_EventScript_1F2250:: @ 81F2250
+ trainerbattle 2, TRAINER_LAO_1, 0, Route113_Text_29A015, Route113_Text_29A04C, Route113_EventScript_1F227C
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route113_EventScript_1F229B
+ msgbox Route113_Text_29A067, 4
+ release
+ end
+
+Route113_EventScript_1F227C:: @ 81F227C
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route113_Text_29A0A2, 4
+ setvar VAR_0x8004, 419
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 419
+ callstd 8
+ release
+ end
+
+Route113_EventScript_1F229B:: @ 81F229B
+ trainerbattle 5, TRAINER_LAO_1, 0, Route113_Text_29A0E8, Route113_Text_29A11F
+ msgbox Route113_Text_29A13A, 6
+ end
+
+Route113_EventScript_1F22B2:: @ 81F22B2
+ trainerbattle 0, TRAINER_LUNG, 0, Route113_Text_29A192, Route113_Text_29A1C6
+ msgbox Route113_Text_29A219, 6
+ end
+
+Route113_EventScript_1F22C9:: @ 81F22C9
+ trainerbattle 4, TRAINER_TORI_AND_TIA, 0, Route113_Text_29A261, Route113_Text_29A29D, Route113_Text_29A31F
+ msgbox Route113_Text_29A2DE, 6
+ end
+
+Route113_EventScript_1F22E4:: @ 81F22E4
+ trainerbattle 4, TRAINER_TORI_AND_TIA, 0, Route113_Text_29A35C, Route113_Text_29A397, Route113_Text_29A419
+ msgbox Route113_Text_29A3DA, 6
+ end
+
+Route113_EventScript_1F22FF:: @ 81F22FF
+ trainerbattle 0, TRAINER_SOPHIE, 0, Route113_Text_29A4BF, Route113_Text_29A508
+ msgbox Route113_Text_29A529, 6
+ end
+
+Route113_EventScript_1F2316:: @ 81F2316
+ trainerbattle 0, TRAINER_COBY, 0, Route113_Text_29A453, Route113_Text_29A480
+ msgbox Route113_Text_29A489, 6
+ end
+
+Route113_EventScript_1F232D:: @ 81F232D
+ trainerbattle 0, TRAINER_LAWRENCE, 0, Route113_Text_29A566, Route113_Text_29A5A0
+ msgbox Route113_Text_29A5BE, 6
+ end
+
+Route113_EventScript_1F2344:: @ 81F2344
+ trainerbattle 0, TRAINER_WYATT, 0, Route113_Text_29A5E4, Route113_Text_29A628
+ msgbox Route113_Text_29A65D, 6
+ end
+
+Route113_Text_1F235B: @ 81F235B
+ .string "Wahahaha! Today’s technology is a\n"
+ .string "wondrous thing!\p"
+ .string "Take this volcanic ash here.\n"
+ .string "It can be fashioned into glass.$"
+
+Route113_Text_1F23CA: @ 81F23CA
+ .string "It’s fun walking through the volcano’s\n"
+ .string "ashes on the ground and grass.\p"
+ .string "You can see where you walked--it’s\n"
+ .string "really neat!$"
+
+Route113_Text_1F2440: @ 81F2440
+ .string "ROUTE 113\n"
+ .string "{0x7C} ROUTE 111$"
+
+Route113_Text_1F2456: @ 81F2456
+ .string "ROUTE 113\n"
+ .string "{0x7B} FALLARBOR TOWN$"
+
+Route113_Text_1F2471: @ 81F2471
+ .string "TRAINER TIPS\p"
+ .string "You may register one of the KEY ITEMS\n"
+ .string "in your BAG as SELECT.\p"
+ .string "Simply press SELECT to use\n"
+ .string "the registered item conveniently.$"
+
+Route113_Text_1F24F8: @ 81F24F8
+ .string "GLASS WORKSHOP\n"
+ .string "“Turning Volcanic Ash into Glass Items”$"
+
diff --git a/data/scripts/maps/Route113_GlassWorkshop.inc b/data/scripts/maps/Route113_GlassWorkshop.inc
new file mode 100644
index 000000000..aff641fa8
--- /dev/null
+++ b/data/scripts/maps/Route113_GlassWorkshop.inc
@@ -0,0 +1,397 @@
+Route113_GlassWorkshop_MapScripts:: @ 826ED03
+ map_script 3, Route113_GlassWorkshop_MapScript1_26ED09
+ .byte 0
+
+Route113_GlassWorkshop_MapScript1_26ED09: @ 826ED09
+ setflag FLAG_0x8A4
+ compare_var_to_value VAR_0x40BE, 1
+ call_if 1, Route113_GlassWorkshop_EventScript_26ED18
+ end
+
+Route113_GlassWorkshop_EventScript_26ED18:: @ 826ED18
+ setvar VAR_0x40BE, 2
+ return
+
+Route113_GlassWorkshop_EventScript_26ED1E:: @ 826ED1E
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x40BE, 10
+ goto_if 4, Route113_GlassWorkshop_EventScript_26F090
+ compare_var_to_value VAR_0x40BE, 2
+ goto_eq Route113_GlassWorkshop_EventScript_26ED6E
+ compare_var_to_value VAR_0x40BE, 1
+ goto_eq Route113_GlassWorkshop_EventScript_26ED64
+ msgbox Route113_GlassWorkshop_Text_26F19D, 4
+ giveitem_std ITEM_SOOT_SACK
+ setvar VAR_0x40BE, 1
+ msgbox Route113_GlassWorkshop_Text_26F252, 4
+ release
+ end
+
+Route113_GlassWorkshop_EventScript_26ED64:: @ 826ED64
+ msgbox Route113_GlassWorkshop_Text_26F252, 4
+ release
+ end
+
+Route113_GlassWorkshop_EventScript_26ED6E:: @ 826ED6E
+ checkitem ITEM_SOOT_SACK, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route113_GlassWorkshop_EventScript_26ED9D
+ msgbox Route113_GlassWorkshop_Text_26F312, 4
+ compare_var_to_value VAR_ASH_GATHER_COUNT, 250
+ goto_if 0, Route113_GlassWorkshop_EventScript_26EFD6
+ message Route113_GlassWorkshop_Text_26F40A
+ waitmessage
+ goto Route113_GlassWorkshop_EventScript_26EDA7
+ end
+
+Route113_GlassWorkshop_EventScript_26ED9D:: @ 826ED9D
+ msgbox Route113_GlassWorkshop_Text_26F772, 4
+ release
+ end
+
+Route113_GlassWorkshop_EventScript_26EDA7:: @ 826EDA7
+ setvar VAR_0x8009, 0
+ setvar VAR_0x8004, 1
+ special sub_813A128
+ waitstate
+ switch VAR_RESULT
+ case 0, Route113_GlassWorkshop_EventScript_26EE1E
+ case 1, Route113_GlassWorkshop_EventScript_26EE5A
+ case 2, Route113_GlassWorkshop_EventScript_26EE96
+ case 3, Route113_GlassWorkshop_EventScript_26EED2
+ case 4, Route113_GlassWorkshop_EventScript_26EF0E
+ case 5, Route113_GlassWorkshop_EventScript_26EF4A
+ case 6, Route113_GlassWorkshop_EventScript_26EF8B
+ case 7, Route113_GlassWorkshop_EventScript_26EFCC
+ case 127, Route113_GlassWorkshop_EventScript_26EFCC
+ end
+
+Route113_GlassWorkshop_EventScript_26EE1E:: @ 826EE1E
+ setvar VAR_0x8008, 39
+ bufferitemname 0, VAR_0x8008
+ setvar VAR_0x800A, 250
+ compare_var_to_value VAR_ASH_GATHER_COUNT, 250
+ goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE
+ msgbox Route113_GlassWorkshop_Text_26F480, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route113_GlassWorkshop_EventScript_26F003
+ setvar VAR_0x40BE, 10
+ subvar VAR_ASH_GATHER_COUNT, 250
+ goto Route113_GlassWorkshop_EventScript_26F00F
+ end
+
+Route113_GlassWorkshop_EventScript_26EE5A:: @ 826EE5A
+ setvar VAR_0x8008, 40
+ bufferitemname 0, VAR_0x8008
+ setvar VAR_0x800A, 500
+ compare_var_to_value VAR_ASH_GATHER_COUNT, 500
+ goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE
+ msgbox Route113_GlassWorkshop_Text_26F480, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route113_GlassWorkshop_EventScript_26F003
+ setvar VAR_0x40BE, 11
+ subvar VAR_ASH_GATHER_COUNT, 500
+ goto Route113_GlassWorkshop_EventScript_26F00F
+ end
+
+Route113_GlassWorkshop_EventScript_26EE96:: @ 826EE96
+ setvar VAR_0x8008, 41
+ bufferitemname 0, VAR_0x8008
+ setvar VAR_0x800A, 500
+ compare_var_to_value VAR_ASH_GATHER_COUNT, 500
+ goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE
+ msgbox Route113_GlassWorkshop_Text_26F480, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route113_GlassWorkshop_EventScript_26F003
+ setvar VAR_0x40BE, 12
+ subvar VAR_ASH_GATHER_COUNT, 500
+ goto Route113_GlassWorkshop_EventScript_26F00F
+ end
+
+Route113_GlassWorkshop_EventScript_26EED2:: @ 826EED2
+ setvar VAR_0x8008, 43
+ bufferitemname 0, VAR_0x8008
+ setvar VAR_0x800A, 1000
+ compare_var_to_value VAR_ASH_GATHER_COUNT, 1000
+ goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE
+ msgbox Route113_GlassWorkshop_Text_26F480, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route113_GlassWorkshop_EventScript_26F003
+ setvar VAR_0x40BE, 13
+ subvar VAR_ASH_GATHER_COUNT, 1000
+ goto Route113_GlassWorkshop_EventScript_26F00F
+ end
+
+Route113_GlassWorkshop_EventScript_26EF0E:: @ 826EF0E
+ setvar VAR_0x8008, 42
+ bufferitemname 0, VAR_0x8008
+ setvar VAR_0x800A, 1000
+ compare_var_to_value VAR_ASH_GATHER_COUNT, 1000
+ goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE
+ msgbox Route113_GlassWorkshop_Text_26F480, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route113_GlassWorkshop_EventScript_26F003
+ setvar VAR_0x40BE, 14
+ subvar VAR_ASH_GATHER_COUNT, 1000
+ goto Route113_GlassWorkshop_EventScript_26F00F
+ end
+
+Route113_GlassWorkshop_EventScript_26EF4A:: @ 826EF4A
+ setvar VAR_0x8009, 1
+ setvar VAR_0x8008, 13
+ bufferdecorationname 0, VAR_0x8008
+ setvar VAR_0x800A, 6000
+ compare_var_to_value VAR_ASH_GATHER_COUNT, 6000
+ goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE
+ msgbox Route113_GlassWorkshop_Text_26F480, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route113_GlassWorkshop_EventScript_26F003
+ setvar VAR_0x40BE, 15
+ subvar VAR_ASH_GATHER_COUNT, 6000
+ goto Route113_GlassWorkshop_EventScript_26F00F
+ end
+
+Route113_GlassWorkshop_EventScript_26EF8B:: @ 826EF8B
+ setvar VAR_0x8009, 1
+ setvar VAR_0x8008, 6
+ bufferdecorationname 0, VAR_0x8008
+ setvar VAR_0x800A, 8000
+ compare_var_to_value VAR_ASH_GATHER_COUNT, 8000
+ goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE
+ msgbox Route113_GlassWorkshop_Text_26F480, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route113_GlassWorkshop_EventScript_26F003
+ setvar VAR_0x40BE, 16
+ subvar VAR_ASH_GATHER_COUNT, 8000
+ goto Route113_GlassWorkshop_EventScript_26F00F
+ end
+
+Route113_GlassWorkshop_EventScript_26EFCC:: @ 826EFCC
+ msgbox Route113_GlassWorkshop_Text_26F641, 4
+ release
+ end
+
+Route113_GlassWorkshop_EventScript_26EFD6:: @ 826EFD6
+ setvar VAR_0x800A, 250
+ subvar VAR_0x800A, 16456
+ buffernumberstring 0, VAR_0x800A
+ msgbox Route113_GlassWorkshop_Text_26F34E, 4
+ release
+ end
+
+Route113_GlassWorkshop_EventScript_26EFEE:: @ 826EFEE
+ subvar VAR_0x800A, 16456
+ buffernumberstring 1, VAR_0x800A
+ message Route113_GlassWorkshop_Text_26F543
+ waitmessage
+ goto Route113_GlassWorkshop_EventScript_26EDA7
+ end
+
+Route113_GlassWorkshop_EventScript_26F003:: @ 826F003
+ message Route113_GlassWorkshop_Text_26F4B5
+ waitmessage
+ goto Route113_GlassWorkshop_EventScript_26EDA7
+ end
+
+Route113_GlassWorkshop_EventScript_26F00F:: @ 826F00F
+ msgbox Route113_GlassWorkshop_Text_26F4DA, 4
+ closemessage
+ fadescreen 1
+ playse SE_SELECT
+ delay 30
+ fadescreen 0
+ msgbox Route113_GlassWorkshop_Text_26F688, 4
+ compare_var_to_value VAR_0x8009, 0
+ call_if 1, Route113_GlassWorkshop_EventScript_26F047
+ compare_var_to_value VAR_0x8009, 1
+ call_if 1, Route113_GlassWorkshop_EventScript_26F05F
+ setvar VAR_0x40BE, 2
+ release
+ end
+
+Route113_GlassWorkshop_EventScript_26F047:: @ 826F047
+ giveitem_std VAR_0x8008
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route113_GlassWorkshop_EventScript_26F072
+ return
+
+Route113_GlassWorkshop_EventScript_26F05F:: @ 826F05F
+ givedecoration_std VAR_0x8008
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route113_GlassWorkshop_EventScript_26F081
+ return
+
+Route113_GlassWorkshop_EventScript_26F072:: @ 826F072
+ call Route113_GlassWorkshop_EventScript_27205E
+ msgbox Route113_GlassWorkshop_Text_26F6B7, 4
+ release
+ end
+
+Route113_GlassWorkshop_EventScript_26F081:: @ 826F081
+ call Route113_GlassWorkshop_EventScript_272071
+ msgbox Route113_GlassWorkshop_Text_26F715, 4
+ release
+ end
+
+Route113_GlassWorkshop_EventScript_26F090:: @ 826F090
+ switch VAR_0x40BE
+ case 10, Route113_GlassWorkshop_EventScript_26F0E3
+ case 11, Route113_GlassWorkshop_EventScript_26F0F7
+ case 12, Route113_GlassWorkshop_EventScript_26F10B
+ case 13, Route113_GlassWorkshop_EventScript_26F11F
+ case 14, Route113_GlassWorkshop_EventScript_26F133
+ case 15, Route113_GlassWorkshop_EventScript_26F147
+ case 16, Route113_GlassWorkshop_EventScript_26F15B
+ end
+
+Route113_GlassWorkshop_EventScript_26F0E3:: @ 826F0E3
+ setvar VAR_0x8009, 0
+ setvar VAR_0x8008, 39
+ bufferitemname 0, VAR_0x8008
+ goto Route113_GlassWorkshop_EventScript_26F16F
+ end
+
+Route113_GlassWorkshop_EventScript_26F0F7:: @ 826F0F7
+ setvar VAR_0x8009, 0
+ setvar VAR_0x8008, 40
+ bufferitemname 0, VAR_0x8008
+ goto Route113_GlassWorkshop_EventScript_26F16F
+ end
+
+Route113_GlassWorkshop_EventScript_26F10B:: @ 826F10B
+ setvar VAR_0x8009, 0
+ setvar VAR_0x8008, 41
+ bufferitemname 0, VAR_0x8008
+ goto Route113_GlassWorkshop_EventScript_26F16F
+ end
+
+Route113_GlassWorkshop_EventScript_26F11F:: @ 826F11F
+ setvar VAR_0x8009, 0
+ setvar VAR_0x8008, 43
+ bufferitemname 0, VAR_0x8008
+ goto Route113_GlassWorkshop_EventScript_26F16F
+ end
+
+Route113_GlassWorkshop_EventScript_26F133:: @ 826F133
+ setvar VAR_0x8009, 0
+ setvar VAR_0x8008, 42
+ bufferitemname 0, VAR_0x8008
+ goto Route113_GlassWorkshop_EventScript_26F16F
+ end
+
+Route113_GlassWorkshop_EventScript_26F147:: @ 826F147
+ setvar VAR_0x8009, 1
+ setvar VAR_0x8008, 13
+ bufferdecorationname 0, 13
+ goto Route113_GlassWorkshop_EventScript_26F16F
+ end
+
+Route113_GlassWorkshop_EventScript_26F15B:: @ 826F15B
+ setvar VAR_0x8009, 1
+ setvar VAR_0x8008, 6
+ bufferdecorationname 0, 6
+ goto Route113_GlassWorkshop_EventScript_26F16F
+ end
+
+Route113_GlassWorkshop_EventScript_26F16F:: @ 826F16F
+ msgbox Route113_GlassWorkshop_Text_26F688, 4
+ compare_var_to_value VAR_0x8009, 0
+ call_if 1, Route113_GlassWorkshop_EventScript_26F047
+ compare_var_to_value VAR_0x8009, 1
+ call_if 1, Route113_GlassWorkshop_EventScript_26F05F
+ setvar VAR_0x40BE, 2
+ release
+ end
+
+Route113_GlassWorkshop_EventScript_26F194:: @ 826F194
+ msgbox Route113_GlassWorkshop_Text_26F7EC, 2
+ end
+
+Route113_GlassWorkshop_Text_26F19D: @ 826F19D
+ .string "This area is covered in volcanic ash,\n"
+ .string "huff-puff!\p"
+ .string "I’m specially gifted, huff-puff.\p"
+ .string "I make glass out of volcanic ash\n"
+ .string "and make items, huff-puff.\p"
+ .string "Go collect ashes with this, huff-puff.$"
+
+Route113_GlassWorkshop_Text_26F252: @ 826F252
+ .string "Just take that SOOT SACK and walk\n"
+ .string "through piles of ash, huff-puff.\p"
+ .string "And it will fill up with the volcanic ash,\n"
+ .string "huff-puff.\p"
+ .string "Once you think you’ve collected a good\n"
+ .string "amount, come see me, huff-puff.$"
+
+Route113_GlassWorkshop_Text_26F312: @ 826F312
+ .string "Have you collected ashes, huff-puff?\n"
+ .string "Let me see, huff-puff.$"
+
+Route113_GlassWorkshop_Text_26F34E: @ 826F34E
+ .string "Hmmm…\n"
+ .string "There’s not enough ash here, huff-puff.\l"
+ .string "I can’t make glass with this, huff-puff.\p"
+ .string "Let’s see… {STR_VAR_1} is the number of steps\n"
+ .string "you’ll need to walk for me to make you\l"
+ .string "a BLUE FLUTE, huff-puff.$"
+
+Route113_GlassWorkshop_Text_26F40A: @ 826F40A
+ .string "Oh!\n"
+ .string "You’ve got a lot of ashes, huff-puff!\p"
+ .string "I’ll make you a glass item, huff-puff!\n"
+ .string "Which one would you like, huff-puff?$"
+
+Route113_GlassWorkshop_Text_26F480: @ 826F480
+ .string "A {STR_VAR_1}, huff-puff?\n"
+ .string "Is that the one for you, huff-puff?$"
+
+Route113_GlassWorkshop_Text_26F4B5: @ 826F4B5
+ .string "Which one would you like, huff-puff?$"
+
+Route113_GlassWorkshop_Text_26F4DA: @ 826F4DA
+ .string "A {STR_VAR_1} it is, then, huff-puff!\p"
+ .string "Okay! I’ll make it for you, huff-puff.\n"
+ .string "Just wait a little while, huff-puff.$"
+
+Route113_GlassWorkshop_Text_26F543: @ 826F543
+ .string "A {STR_VAR_1}, huff-puff?\p"
+ .string "There’s not enough ash here to make\n"
+ .string "that, though, huff-puff.\p"
+ .string "Let’s see… {STR_VAR_2} is the number of steps\n"
+ .string "you’ll need to walk through volcanic ash\l"
+ .string "for me to make that item, huff-puff.\p"
+ .string "Which item would you rather have me\n"
+ .string "make instead, huff-puff?$"
+
+Route113_GlassWorkshop_Text_26F641: @ 826F641
+ .string "You’ve collected all that ash, but you\n"
+ .string "don’t want anything, huff-puff?$"
+
+Route113_GlassWorkshop_Text_26F688: @ 826F688
+ .string "Ah, I’ve finished your {STR_VAR_1}.\n"
+ .string "Take it, huff-puff.$"
+
+Route113_GlassWorkshop_Text_26F6B7: @ 826F6B7
+ .string "Oh?\n"
+ .string "You’ve no room in your BAG, huff-puff.\p"
+ .string "I’ll hold on to it, so come back later,\n"
+ .string "huff-puff.$"
+
+Route113_GlassWorkshop_Text_26F715: @ 826F715
+ .string "Oh?\n"
+ .string "You’ve no room in your PC, huff-puff?\p"
+ .string "I’ll hold on to it, so come back later,\n"
+ .string "huff-puff.$"
+
+Route113_GlassWorkshop_Text_26F772: @ 826F772
+ .string "Hah? You haven’t got your SOOT SACK\n"
+ .string "with you, huff-puff.\p"
+ .string "You have to keep it with you to collect\n"
+ .string "volcanic ash, huff-puff.$"
+
+Route113_GlassWorkshop_Text_26F7EC: @ 826F7EC
+ .string "It’s fun to blow a glass flute while\n"
+ .string "my boss is talking.\p"
+ .string "Huff-huff! Puff-puff!$"
+
diff --git a/data/scripts/maps/Route114.inc b/data/scripts/maps/Route114.inc
new file mode 100644
index 000000000..cca7be5af
--- /dev/null
+++ b/data/scripts/maps/Route114.inc
@@ -0,0 +1,219 @@
+Route114_MapScripts:: @ 81F252F
+ map_script 3, Route114_MapScript1_1F253F
+ map_script 1, Route114_MapScript1_1F2561
+ map_script 2, Route114_MapScript2_1F2578
+ .byte 0
+
+Route114_MapScript1_1F253F: @ 81F253F
+ compare_var_to_value VAR_0x4039, 1
+ call_if 1, Route114_EventScript_273D13
+ compare_var_to_value VAR_0x4037, 1
+ call_if 1, Route114_EventScript_273D1B
+ compare_var_to_value VAR_0x4037, 2
+ call_if 1, Route114_EventScript_273D1B
+ end
+
+Route114_MapScript1_1F2561: @ 81F2561
+ compare_var_to_value VAR_0x4037, 1
+ call_if 1, Route114_EventScript_273913
+ compare_var_to_value VAR_0x4037, 2
+ call_if 1, Route114_EventScript_273926
+ end
+
+Route114_MapScript2_1F2578: @ 81F2578
+ map_script_2 VAR_0x4039, 1, gUnknown_08273D1F
+ .2byte 0
+
+Route114_EventScript_1F2582:: @ 81F2582
+ lock
+ faceplayer
+ dodailyevents
+ checkflag FLAG_0x92B
+ goto_eq Route114_EventScript_1F25C7
+ msgbox Route114_Text_2A6FCB, 4
+ random 5
+ addvar VAR_RESULT, 15
+ addvar VAR_RESULT, 133
+ giveitem_std VAR_RESULT
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route114_EventScript_272054
+ setflag FLAG_0x92B
+ msgbox Route114_Text_2A7034, 4
+ release
+ end
+
+Route114_EventScript_1F25C7:: @ 81F25C7
+ msgbox Route114_Text_2A706E, 4
+ release
+ end
+
+Route114_EventScript_1F25D1:: @ 81F25D1
+ lock
+ faceplayer
+ checkflag FLAG_0x0E7
+ goto_eq Route114_EventScript_1F2608
+ msgbox Route114_Text_1F2809, 4
+ giveitem_std ITEM_TM05
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route114_EventScript_272054
+ setflag FLAG_0x0E7
+ msgbox Route114_Text_1F2872, 4
+ release
+ end
+
+Route114_EventScript_1F2608:: @ 81F2608
+ msgbox Route114_Text_1F2872, 4
+ release
+ end
+
+Route114_EventScript_1F2612:: @ 81F2612
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_POOCHYENA, 2
+ msgbox Route114_Text_1F28A6, 4
+ waitmoncry
+ release
+ end
+
+Route114_EventScript_1F2625:: @ 81F2625
+ msgbox Route114_Text_1F28B3, 3
+ end
+
+Route114_EventScript_1F262E:: @ 81F262E
+ msgbox Route114_Text_1F28DB, 3
+ end
+
+Route114_EventScript_1F2637:: @ 81F2637
+ msgbox Route114_Text_1F2910, 3
+ end
+
+Route114_EventScript_1F2640:: @ 81F2640
+ trainerbattle 0, TRAINER_LENNY, 0, Route114_Text_29A6B1, Route114_Text_29A707
+ msgbox Route114_Text_29A715, 6
+ end
+
+Route114_EventScript_1F2657:: @ 81F2657
+ trainerbattle 0, TRAINER_LUCAS_1, 0, Route114_Text_29A777, Route114_Text_29A7B5
+ msgbox Route114_Text_29A7D4, 6
+ end
+
+Route114_EventScript_1F266E:: @ 81F266E
+ trainerbattle 0, TRAINER_SHANE, 0, Route114_Text_29A818, Route114_Text_29A88F
+ msgbox Route114_Text_29A89F, 6
+ end
+
+Route114_EventScript_1F2685:: @ 81F2685
+ trainerbattle 0, TRAINER_NANCY, 0, Route114_Text_29A8D9, Route114_Text_29A90E
+ msgbox Route114_Text_29A916, 6
+ end
+
+Route114_EventScript_1F269C:: @ 81F269C
+ trainerbattle 2, TRAINER_STEVE_1, 0, Route114_Text_29A943, Route114_Text_29A973, Route114_EventScript_1F26C8
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route114_EventScript_1F26E7
+ msgbox Route114_Text_29A981, 4
+ release
+ end
+
+Route114_EventScript_1F26C8:: @ 81F26C8
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route114_Text_29A9F7, 4
+ setvar VAR_0x8004, 143
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 143
+ callstd 8
+ release
+ end
+
+Route114_EventScript_1F26E7:: @ 81F26E7
+ trainerbattle 5, TRAINER_STEVE_1, 0, Route114_Text_29AA3E, Route114_Text_29AA67
+ msgbox Route114_Text_29AA94, 6
+ end
+
+Route114_EventScript_1F26FE:: @ 81F26FE
+ trainerbattle 2, TRAINER_BERNIE_1, 0, Route114_Text_29AADB, Route114_Text_29AB1A, Route114_EventScript_1F272A
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route114_EventScript_1F2749
+ msgbox Route114_Text_29AB36, 4
+ release
+ end
+
+Route114_EventScript_1F272A:: @ 81F272A
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route114_Text_29ABA6, 4
+ setvar VAR_0x8004, 206
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 206
+ callstd 8
+ release
+ end
+
+Route114_EventScript_1F2749:: @ 81F2749
+ trainerbattle 5, TRAINER_BERNIE_1, 0, Route114_Text_29ABDC, Route114_Text_29AC10
+ msgbox Route114_Text_29AC43, 6
+ end
+
+Route114_EventScript_1F2760:: @ 81F2760
+ trainerbattle 0, TRAINER_CLAUDE, 0, Route114_Text_29ACB3, Route114_Text_29AD0A
+ msgbox Route114_Text_29AD2E, 6
+ end
+
+Route114_EventScript_1F2777:: @ 81F2777
+ trainerbattle 0, TRAINER_NOLAN, 0, Route114_Text_29ADA1, Route114_Text_29AE05
+ msgbox Route114_Text_29AE3D, 6
+ end
+
+Route114_EventScript_1F278E:: @ 81F278E
+ trainerbattle 4, TRAINER_TYRA_AND_IVY, 0, Route114_Text_29AE96, Route114_Text_29AEE7, Route114_Text_29AF3D
+ msgbox Route114_Text_29AF0B, 6
+ end
+
+Route114_EventScript_1F27A9:: @ 81F27A9
+ trainerbattle 4, TRAINER_TYRA_AND_IVY, 0, Route114_Text_29AF89, Route114_Text_29AFAC, Route114_Text_29B01B
+ msgbox Route114_Text_29AFCF, 6
+ end
+
+Route114_EventScript_1F27C4:: @ 81F27C4
+ trainerbattle 0, TRAINER_ANGELINA, 0, Route114_Text_29B16F, Route114_Text_29B19C
+ msgbox Route114_Text_29B1BC, 6
+ end
+
+Route114_EventScript_1F27DB:: @ 81F27DB
+ trainerbattle 0, TRAINER_CHARLOTTE, 0, Route114_Text_29B0DB, Route114_Text_29B0FB
+ msgbox Route114_Text_29B11A, 6
+ end
+
+Route114_EventScript_1F27F2:: @ 81F27F2
+ trainerbattle 0, TRAINER_KAI, 0, Route114_Text_29B05D, Route114_Text_29B089
+ msgbox Route114_Text_29B0B5, 6
+ end
+
+Route114_Text_1F2809: @ 81F2809
+ .string "All my POKéMON does is ROAR…\n"
+ .string "No one dares to come near me…\p"
+ .string "Sigh… If you would, please take\n"
+ .string "this TM away…$"
+
+Route114_Text_1F2872: @ 81F2872
+ .string "TM05 contains ROAR.\n"
+ .string "A ROAR sends POKéMON scurrying.$"
+
+Route114_Text_1F28A6: @ 81F28A6
+ .string "Bow! Bowwow!$"
+
+Route114_Text_1F28B3: @ 81F28B3
+ .string "METEOR FALLS\n"
+ .string "RUSTBORO CITY THROUGH HERE$"
+
+Route114_Text_1F28DB: @ 81F28DB
+ .string "FOSSIL MANIAC’S HOUSE\n"
+ .string "“Fossils gratefully accepted!”$"
+
+Route114_Text_1F2910: @ 81F2910
+ .string "LANETTE’S HOUSE$"
+
diff --git a/data/scripts/maps/Route114_FossilManiacsHouse.inc b/data/scripts/maps/Route114_FossilManiacsHouse.inc
new file mode 100644
index 000000000..74aed6cbf
--- /dev/null
+++ b/data/scripts/maps/Route114_FossilManiacsHouse.inc
@@ -0,0 +1,56 @@
+Route114_FossilManiacsHouse_MapScripts:: @ 822AD30
+ map_script 3, Route114_FossilManiacsHouse_MapScript1_22AD36
+ .byte 0
+
+Route114_FossilManiacsHouse_MapScript1_22AD36: @ 822AD36
+ setflag FLAG_0x8B7
+ end
+
+Route114_FossilManiacsHouse_EventScript_22AD3A:: @ 822AD3A
+ lock
+ faceplayer
+ checkflag FLAG_0x105
+ goto_eq Route114_FossilManiacsHouse_EventScript_22AD69
+ msgbox Route114_FossilManiacsHouse_Text_22AD85, 4
+ giveitem_std ITEM_TM28
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route114_FossilManiacsHouse_EventScript_272054
+ setflag FLAG_0x105
+ release
+ end
+
+Route114_FossilManiacsHouse_EventScript_22AD69:: @ 822AD69
+ msgbox Route114_FossilManiacsHouse_Text_22AE48, 4
+ release
+ end
+
+Route114_FossilManiacsHouse_EventScript_22AD73:: @ 822AD73
+ msgbox Route114_FossilManiacsHouse_Text_22AE92, 3
+ end
+
+Route114_FossilManiacsHouse_EventScript_22AD7C:: @ 822AD7C
+ msgbox Route114_FossilManiacsHouse_Text_22AEC2, 3
+ end
+
+Route114_FossilManiacsHouse_Text_22AD85: @ 822AD85
+ .string "My big brother’s the FOSSIL MANIAC…\n"
+ .string "He’s a nice guy who loves FOSSILS…\p"
+ .string "He loves digging holes, too…\n"
+ .string "He dug this hole by himself…\p"
+ .string "You can have this, so you can DIG\n"
+ .string "holes just like my big brother…$"
+
+Route114_FossilManiacsHouse_Text_22AE48: @ 822AE48
+ .string "If you make a POKéMON DIG inside a\n"
+ .string "cave, you’re returned to the entrance…$"
+
+Route114_FossilManiacsHouse_Text_22AE92: @ 822AE92
+ .string "Rocks in peculiar shapes fill\n"
+ .string "the display case…$"
+
+Route114_FossilManiacsHouse_Text_22AEC2: @ 822AEC2
+ .string "THE COMPOSITION OF STRATA…\n"
+ .string "HOW RAIN SHAPES THE LAND…\l"
+ .string "STONES, SOIL, AND ROCK…\p"
+ .string "It’s crammed with books.$"
+
diff --git a/data/scripts/maps/Route114_FossilManiacsTunnel.inc b/data/scripts/maps/Route114_FossilManiacsTunnel.inc
new file mode 100644
index 000000000..81ada5e55
--- /dev/null
+++ b/data/scripts/maps/Route114_FossilManiacsTunnel.inc
@@ -0,0 +1,96 @@
+Route114_FossilManiacsTunnel_MapScripts:: @ 822AF28
+ map_script 3, Route114_FossilManiacsTunnel_MapScript1_22AF33
+ map_script 1, Route114_FossilManiacsTunnel_MapScript1_22AF49
+ .byte 0
+
+Route114_FossilManiacsTunnel_MapScript1_22AF33: @ 822AF33
+ checkflag FLAG_SYS_GAME_CLEAR
+ call_if 1, Route114_FossilManiacsTunnel_EventScript_22AF3D
+ end
+
+Route114_FossilManiacsTunnel_EventScript_22AF3D:: @ 822AF3D
+ setobjectxyperm 1, 6, 5
+ setobjectmovementtype 1, 8
+ return
+
+Route114_FossilManiacsTunnel_MapScript1_22AF49: @ 822AF49
+ checkflag FLAG_SYS_GAME_CLEAR
+ call_if 0, Route114_FossilManiacsTunnel_EventScript_22AF53
+ end
+
+Route114_FossilManiacsTunnel_EventScript_22AF53:: @ 822AF53
+ setmetatile 6, 1, 617, 1
+ setmetatile 6, 2, 617, 1
+ return
+
+Route114_FossilManiacsTunnel_EventScript_22AF66:: @ 822AF66
+ lockall
+ applymovement 1, Route114_FossilManiacsTunnel_Movement_2725A6
+ applymovement 255, Route114_FossilManiacsTunnel_Movement_2725AA
+ waitmovement 0
+ msgbox Route114_FossilManiacsTunnel_Text_22B1F7, 4
+ setvar VAR_0x40CC, 2
+ releaseall
+ end
+
+Route114_FossilManiacsTunnel_EventScript_22AF87:: @ 822AF87
+ lock
+ faceplayer
+ checkflag FLAG_0x10B
+ goto_eq Route114_FossilManiacsTunnel_EventScript_22AFC6
+ checkitem ITEM_ROOT_FOSSIL, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route114_FossilManiacsTunnel_EventScript_22AFBC
+ checkitem ITEM_CLAW_FOSSIL, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route114_FossilManiacsTunnel_EventScript_22AFBC
+ msgbox Route114_FossilManiacsTunnel_Text_22AFD0, 4
+ release
+ end
+
+Route114_FossilManiacsTunnel_EventScript_22AFBC:: @ 822AFBC
+ msgbox Route114_FossilManiacsTunnel_Text_22B0D6, 4
+ release
+ end
+
+Route114_FossilManiacsTunnel_EventScript_22AFC6:: @ 822AFC6
+ msgbox Route114_FossilManiacsTunnel_Text_22B1CC, 4
+ release
+ end
+
+Route114_FossilManiacsTunnel_Text_22AFD0: @ 822AFD0
+ .string "I’m the FOSSIL MANIAC…\n"
+ .string "I’m a nice guy who loves FOSSILS…\p"
+ .string "Do you want a FOSSIL?\p"
+ .string "But the FOSSILS around these parts all\n"
+ .string "belong to me… None for you…\p"
+ .string "If you can’t bear to go without\n"
+ .string "a FOSSIL, look in a desert where there\l"
+ .string "are boulders and sand that may hide\l"
+ .string "FOSSILS…$"
+
+Route114_FossilManiacsTunnel_Text_22B0D6: @ 822B0D6
+ .string "You found a FOSSIL, didn’t you?\n"
+ .string "That’s so nice… It’s so dreamy…\p"
+ .string "What are you going to do with that\n"
+ .string "FOSSIL?\p"
+ .string "From what I’ve heard, DEVON is doing\n"
+ .string "research on reviving POKéMON from\l"
+ .string "FOSSILS…\p"
+ .string "I love my FOSSILS, so I would never\n"
+ .string "do anything like that…$"
+
+Route114_FossilManiacsTunnel_Text_22B1CC: @ 822B1CC
+ .string "FOSSILS are so… Wonderful…\n"
+ .string "It’s so dreamy…$"
+
+Route114_FossilManiacsTunnel_Text_22B1F7: @ 822B1F7
+ .string "Oh…\n"
+ .string "It’s not safe that way…\p"
+ .string "I was digging away, you see…\n"
+ .string "When the whole wall collapsed…\p"
+ .string "I think there’s a giant cavern\n"
+ .string "underneath now…\p"
+ .string "But I’ve left it alone because I don’t\n"
+ .string "think there are any FOSSILS there…$"
+
diff --git a/data/scripts/maps/Route114_LanettesHouse.inc b/data/scripts/maps/Route114_LanettesHouse.inc
new file mode 100644
index 000000000..b75f2091c
--- /dev/null
+++ b/data/scripts/maps/Route114_LanettesHouse.inc
@@ -0,0 +1,108 @@
+Route114_LanettesHouse_MapScripts:: @ 822B2C8
+ map_script 3, Route114_LanettesHouse_MapScript1_22B2CE
+ .byte 0
+
+Route114_LanettesHouse_MapScript1_22B2CE: @ 822B2CE
+ setflag FLAG_0x8A5
+ end
+
+Route114_LanettesHouse_EventScript_22B2D2:: @ 822B2D2
+ lock
+ faceplayer
+ checkflag FLAG_0x083
+ goto_eq Route114_LanettesHouse_EventScript_22B2FF
+ setflag FLAG_SYS_PC_LANETTE
+ msgbox Route114_LanettesHouse_Text_22B34E, 4
+ givedecoration_std 99
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route114_LanettesHouse_EventScript_272067
+ setflag FLAG_0x083
+ release
+ end
+
+Route114_LanettesHouse_EventScript_22B2FF:: @ 822B2FF
+ msgbox Route114_LanettesHouse_Text_22B407, 4
+ release
+ end
+
+Route114_LanettesHouse_EventScript_22B309:: @ 822B309
+ lockall
+ msgbox Route114_LanettesHouse_Text_22B485, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route114_LanettesHouse_EventScript_22B327
+ msgbox Route114_LanettesHouse_Text_22B6E4, 4
+ releaseall
+ end
+
+Route114_LanettesHouse_EventScript_22B327:: @ 822B327
+ msgbox Route114_LanettesHouse_Text_22B53C, 5
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, Route114_LanettesHouse_EventScript_22B33C
+ releaseall
+ end
+
+Route114_LanettesHouse_EventScript_22B33C:: @ 822B33C
+ msgbox Route114_LanettesHouse_Text_22B5EF, 4
+ return
+
+Route114_LanettesHouse_EventScript_22B345:: @ 822B345
+ msgbox Route114_LanettesHouse_Text_22B6FC, 3
+ end
+
+Route114_LanettesHouse_Text_22B34E: @ 822B34E
+ .string "LANETTE: Oh! {PLAYER}{KUN}!\p"
+ .string "I’m sorry everything is so cluttered…\n"
+ .string "When I get engrossed in research,\l"
+ .string "things end up this way…\p"
+ .string "This is embarrassing… Please keep\n"
+ .string "this a secret in exchange for this.$"
+
+Route114_LanettesHouse_Text_22B407: @ 822B407
+ .string "May I offer advice about my POKéMON\n"
+ .string "Storage System?\p"
+ .string "You should organize your BOXES so you\n"
+ .string "can tell which POKéMON are in them.$"
+
+Route114_LanettesHouse_Text_22B485: @ 822B485
+ .string "It’s LANETTE’s research notes.\n"
+ .string "There’s information about BOXES.\p"
+ .string "Design BOXES to hold 30 POKéMON each.\p"
+ .string "Each TRAINER should be able to store\n"
+ .string "420 POKéMON on the PC system.\p"
+ .string "Keep reading?$"
+
+Route114_LanettesHouse_Text_22B53C: @ 822B53C
+ .string "A marking system should be added to\n"
+ .string "make POKéMON easier to organize.\p"
+ .string "The name and wallpaper design of each\n"
+ .string "BOX will be made changeable to please\l"
+ .string "the stored POKéMON.\p"
+ .string "Keep reading?$"
+
+Route114_LanettesHouse_Text_22B5EF: @ 822B5EF
+ .string "When storing a POKéMON, it should be\n"
+ .string "sent to the BOX inspected last.\p"
+ .string "If that BOX is full, the received\n"
+ .string "POKéMON is stored in the next BOX.\p"
+ .string "In other words, when a BOX is examined,\n"
+ .string "it is automatically selected as the BOX\l"
+ .string "to which POKéMON are sent.$"
+
+Route114_LanettesHouse_Text_22B6E4: @ 822B6E4
+ .string "{PLAYER} closed the notebook.$"
+
+Route114_LanettesHouse_Text_22B6FC: @ 822B6FC
+ .string "There’s an e-mail from someone on\n"
+ .string "the PC.\p"
+ .string "“… … … … … … …\p"
+ .string "“Your Storage System offers more\n"
+ .string "convenience than mine.\p"
+ .string "“It has a lot of user-friendly features\n"
+ .string "that make it fun and useful, too.\p"
+ .string "“It makes me proud that I played\n"
+ .string "a part in its development.\p"
+ .string "“Here’s hoping that you’ll continue\n"
+ .string "research in Storage Systems.\p"
+ .string "“From BILL\n"
+ .string "… … … … … … … …”$"
+
diff --git a/data/scripts/maps/Route115.inc b/data/scripts/maps/Route115.inc
new file mode 100644
index 000000000..8ea531f9d
--- /dev/null
+++ b/data/scripts/maps/Route115.inc
@@ -0,0 +1,162 @@
+Route115_MapScripts:: @ 81F2920
+ map_script 1, Route115_MapScript1_1F2930
+ map_script 3, Route115_MapScript1_1F2947
+ map_script 2, Route115_MapScript2_1F2969
+ .byte 0
+
+Route115_MapScript1_1F2930: @ 81F2930
+ compare_var_to_value VAR_0x4037, 3
+ call_if 1, Route115_EventScript_273939
+ compare_var_to_value VAR_0x4037, 4
+ call_if 1, Route115_EventScript_27394C
+ end
+
+Route115_MapScript1_1F2947: @ 81F2947
+ compare_var_to_value VAR_0x4039, 1
+ call_if 1, Route115_EventScript_273D13
+ compare_var_to_value VAR_0x4037, 3
+ call_if 1, Route115_EventScript_273D1B
+ compare_var_to_value VAR_0x4037, 4
+ call_if 1, Route115_EventScript_273D1B
+ end
+
+Route115_MapScript2_1F2969: @ 81F2969
+ map_script_2 VAR_0x4039, 1, gUnknown_08273D1F
+ .2byte 0
+
+Route115_EventScript_1F2973:: @ 81F2973
+ msgbox Route115_Text_1F2B55, 2
+ end
+
+Route115_EventScript_1F297C:: @ 81F297C
+ msgbox Route115_Text_1F2BC9, 3
+ end
+
+Route115_EventScript_1F2985:: @ 81F2985
+ msgbox Route115_Text_1F2BE3, 3
+ end
+
+Route115_EventScript_1F298E:: @ 81F298E
+ trainerbattle 2, TRAINER_TIMOTHY_1, 0, Route115_Text_29B1FA, Route115_Text_29B230, Route115_EventScript_1F29BA
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route115_EventScript_1F29D9
+ msgbox Route115_Text_29B258, 4
+ release
+ end
+
+Route115_EventScript_1F29BA:: @ 81F29BA
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route115_Text_29B2B3, 4
+ setvar VAR_0x8004, 307
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 307
+ callstd 8
+ release
+ end
+
+Route115_EventScript_1F29D9:: @ 81F29D9
+ trainerbattle 5, TRAINER_TIMOTHY_1, 0, Route115_Text_29B32C, Route115_Text_29B372
+ msgbox Route115_Text_29B385, 6
+ end
+
+Route115_EventScript_1F29F0:: @ 81F29F0
+ trainerbattle 0, TRAINER_KOICHI, 0, Route115_Text_29B3CC, Route115_Text_29B3ED
+ msgbox Route115_Text_29B3FF, 6
+ end
+
+Route115_EventScript_1F2A07:: @ 81F2A07
+ trainerbattle 2, TRAINER_NOB_1, 0, Route115_Text_29B449, Route115_Text_29B480, Route115_EventScript_1F2A33
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route115_EventScript_1F2A52
+ msgbox Route115_Text_29B49D, 4
+ release
+ end
+
+Route115_EventScript_1F2A33:: @ 81F2A33
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route115_Text_29B50B, 4
+ setvar VAR_0x8004, 183
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 183
+ callstd 8
+ release
+ end
+
+Route115_EventScript_1F2A52:: @ 81F2A52
+ trainerbattle 5, TRAINER_NOB_1, 0, Route115_Text_29B547, Route115_Text_29B59D
+ msgbox Route115_Text_29B5B5, 6
+ end
+
+Route115_EventScript_1F2A69:: @ 81F2A69
+ trainerbattle 2, TRAINER_CYNDY_1, 0, Route115_Text_29B5EF, Route115_Text_29B62D, Route115_EventScript_1F2A95
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route115_EventScript_1F2AB4
+ msgbox Route115_Text_29B647, 4
+ release
+ end
+
+Route115_EventScript_1F2A95:: @ 81F2A95
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route115_Text_29B6AB, 4
+ setvar VAR_0x8004, 427
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 427
+ callstd 8
+ release
+ end
+
+Route115_EventScript_1F2AB4:: @ 81F2AB4
+ trainerbattle 5, TRAINER_CYNDY_1, 0, Route115_Text_29B6FA, Route115_Text_29B71A
+ msgbox Route115_Text_29B737, 6
+ end
+
+Route115_EventScript_1F2ACB:: @ 81F2ACB
+ trainerbattle 0, TRAINER_HECTOR, 0, Route115_Text_29B78F, Route115_Text_29B7C5
+ msgbox Route115_Text_29B7EA, 6
+ end
+
+Route115_EventScript_1F2AE2:: @ 81F2AE2
+ trainerbattle 0, TRAINER_KYRA, 0, Route115_Text_29B826, Route115_Text_29B85D
+ msgbox Route115_Text_29B869, 6
+ end
+
+Route115_EventScript_1F2AF9:: @ 81F2AF9
+ trainerbattle 0, TRAINER_JAIDEN, 0, Route115_Text_29B8C1, Route115_Text_29B8E8
+ msgbox Route115_Text_29B904, 6
+ end
+
+Route115_EventScript_1F2B10:: @ 81F2B10
+ trainerbattle 0, TRAINER_ALIX, 0, Route115_Text_29B9CB, Route115_Text_29B9F6
+ msgbox Route115_Text_29BA04, 6
+ end
+
+Route115_EventScript_1F2B27:: @ 81F2B27
+ trainerbattle 0, TRAINER_HELENE, 0, Route115_Text_29B92D, Route115_Text_29B958
+ msgbox Route115_Text_29B971, 6
+ end
+
+Route115_EventScript_1F2B3E:: @ 81F2B3E
+ trainerbattle 0, TRAINER_MARLENE, 0, Route115_Text_29BA2C, Route115_Text_29BA67
+ msgbox Route115_Text_29BA87, 6
+ end
+
+Route115_Text_1F2B55: @ 81F2B55
+ .string "Exploring a cave isn’t like walking\n"
+ .string "on a road.\p"
+ .string "You never know when wild POKéMON will\n"
+ .string "appear. It’s full of suspense.$"
+
+Route115_Text_1F2BC9: @ 81F2BC9
+ .string "ROUTE 115\n"
+ .string "{0x7A} RUSTBORO CITY$"
+
+Route115_Text_1F2BE3: @ 81F2BE3
+ .string "METEOR FALLS\n"
+ .string "FALLARBOR TOWN THROUGH HERE$"
+
diff --git a/data/scripts/maps/Route116.inc b/data/scripts/maps/Route116.inc
new file mode 100644
index 000000000..359f21375
--- /dev/null
+++ b/data/scripts/maps/Route116.inc
@@ -0,0 +1,511 @@
+Route116_MapScripts:: @ 81F2C0C
+ map_script 3, Route116_MapScript1_1F2C1C
+ map_script 1, Route116_MapScript1_1F2C4F
+ map_script 2, Route116_MapScript2_1F2C66
+ .byte 0
+
+Route116_MapScript1_1F2C1C: @ 81F2C1C
+ checkflag FLAG_0x08F
+ call_if 1, Route116_EventScript_1F2C47
+ compare_var_to_value VAR_0x4039, 1
+ call_if 1, Route116_EventScript_273D13
+ compare_var_to_value VAR_0x4037, 5
+ call_if 1, Route116_EventScript_273D1B
+ compare_var_to_value VAR_0x4037, 6
+ call_if 1, Route116_EventScript_273D1B
+ end
+
+Route116_EventScript_1F2C47:: @ 81F2C47
+ setobjectxyperm 21, 38, 10
+ return
+
+Route116_MapScript1_1F2C4F: @ 81F2C4F
+ compare_var_to_value VAR_0x4037, 5
+ call_if 1, Route116_EventScript_27395F
+ compare_var_to_value VAR_0x4037, 6
+ call_if 1, Route116_EventScript_273972
+ end
+
+Route116_MapScript2_1F2C66: @ 81F2C66
+ map_script_2 VAR_0x4039, 1, gUnknown_08273D1F
+ .2byte 0
+
+Route116_EventScript_1F2C70:: @ 81F2C70
+ lock
+ faceplayer
+ checkflag FLAG_0x08F
+ goto_eq Route116_EventScript_1F2C8E
+ checkflag FLAG_0x08E
+ goto_eq Route116_EventScript_1F2C98
+ msgbox Route116_Text_1F3140, 4
+ release
+ end
+
+Route116_EventScript_1F2C8E:: @ 81F2C8E
+ msgbox Route116_Text_1F32C1, 4
+ release
+ end
+
+Route116_EventScript_1F2C98:: @ 81F2C98
+ msgbox Route116_Text_1F3166, 4
+ release
+ end
+
+Route116_EventScript_1F2CA2:: @ 81F2CA2
+ lock
+ faceplayer
+ checkflag FLAG_0x11F
+ goto_eq Route116_EventScript_1F2D2B
+ msgbox Route116_Text_1F3317, 4
+ goto Route116_EventScript_1F2CBB
+ end
+
+Route116_EventScript_1F2CBB:: @ 81F2CBB
+ setflag FLAG_0x11F
+ giveitem_std ITEM_REPEAT_BALL
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route116_EventScript_1F2D39
+ msgbox Route116_Text_1F3521, 4
+ closemessage
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, Route116_EventScript_1F2D15
+ compare_var_to_value VAR_FACING, 1
+ call_if 1, Route116_EventScript_1F2D15
+ compare_var_to_value VAR_FACING, 3
+ call_if 1, Route116_EventScript_1F2D15
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, Route116_EventScript_1F2D20
+ removeobject VAR_LAST_TALKED
+ clearflag FLAG_0x3B5
+ setflag FLAG_0x100
+ release
+ end
+
+Route116_EventScript_1F2D15:: @ 81F2D15
+ applymovement VAR_LAST_TALKED, Route116_Movement_1F2D43
+ waitmovement 0
+ return
+
+Route116_EventScript_1F2D20:: @ 81F2D20
+ applymovement VAR_LAST_TALKED, Route116_Movement_1F2D4C
+ waitmovement 0
+ return
+
+Route116_EventScript_1F2D2B:: @ 81F2D2B
+ msgbox Route116_Text_1F35CE, 4
+ goto Route116_EventScript_1F2CBB
+ end
+
+Route116_EventScript_1F2D39:: @ 81F2D39
+ msgbox Route116_Text_1F3593, 4
+ release
+ end
+
+Route116_Movement_1F2D43: @ 81F2D43
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+Route116_Movement_1F2D4C: @ 81F2D4C
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+Route116_EventScript_1F2D57:: @ 81F2D57
+ msgbox Route116_Text_1F379D, 3
+ end
+
+Route116_EventScript_1F2D60:: @ 81F2D60
+ msgbox Route116_Text_1F37B7, 3
+ end
+
+Route116_EventScript_1F2D69:: @ 81F2D69
+ msgbox Route116_Text_1F380F, 3
+ end
+
+Route116_EventScript_1F2D72:: @ 81F2D72
+ msgbox Route116_Text_1F3825, 3
+ end
+
+Route116_EventScript_1F2D7B:: @ 81F2D7B
+ msgbox Route116_Text_1F38D4, 3
+ end
+
+Route116_EventScript_1F2D84:: @ 81F2D84
+ lock
+ faceplayer
+ msgbox Route116_Text_1F309D, 4
+ setvar VAR_0x406F, 2
+ release
+ end
+
+Route116_EventScript_1F2D95:: @ 81F2D95
+ lockall
+ applymovement 11, Route116_Movement_2725A8
+ applymovement 255, Route116_Movement_2725A4
+ waitmovement 0
+ msgbox Route116_Text_1F309D, 4
+ setvar VAR_0x406F, 2
+ releaseall
+ end
+
+Route116_EventScript_1F2DB6:: @ 81F2DB6
+ lock
+ faceplayer
+ checkitem ITEM_BLACK_GLASSES, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route116_EventScript_1F2DF1
+ specialvar VAR_RESULT, sub_8139634
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route116_EventScript_1F2DE2
+ msgbox Route116_Text_1F3657, 4
+ release
+ end
+
+Route116_EventScript_1F2DE2:: @ 81F2DE2
+ msgbox Route116_Text_1F3718, 4
+ closemessage
+ goto Route116_EventScript_1F2E2A
+ end
+
+Route116_EventScript_1F2DF1:: @ 81F2DF1
+ msgbox Route116_Text_1F3657, 4
+ msgbox Route116_Text_1F3688, 4
+ specialvar VAR_RESULT, sub_8139634
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route116_EventScript_1F2E1B
+ msgbox Route116_Text_1F375E, 4
+ release
+ end
+
+Route116_EventScript_1F2E1B:: @ 81F2E1B
+ msgbox Route116_Text_1F36B4, 4
+ closemessage
+ goto Route116_EventScript_1F2E2A
+ end
+
+Route116_EventScript_1F2E2A:: @ 81F2E2A
+ delay 20
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, Route116_EventScript_1F2E5E
+ compare_var_to_value VAR_FACING, 1
+ call_if 1, Route116_EventScript_1F2E5E
+ compare_var_to_value VAR_FACING, 3
+ call_if 1, Route116_EventScript_1F2E5E
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, Route116_EventScript_1F2E69
+ removeobject VAR_LAST_TALKED
+ release
+ end
+
+Route116_EventScript_1F2E5E:: @ 81F2E5E
+ applymovement VAR_LAST_TALKED, Route116_Movement_1F2E74
+ waitmovement 0
+ return
+
+Route116_EventScript_1F2E69:: @ 81F2E69
+ applymovement VAR_LAST_TALKED, Route116_Movement_1F2E7E
+ waitmovement 0
+ return
+
+Route116_Movement_1F2E74: @ 81F2E74
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+Route116_Movement_1F2E7E: @ 81F2E7E
+ step_up
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+Route116_EventScript_1F2E89:: @ 81F2E89
+ trainerbattle 0, TRAINER_JOEY, 0, Route116_Text_29BB79, Route116_Text_29BB9A
+ msgbox Route116_Text_29BBC6, 6
+ end
+
+Route116_EventScript_1F2EA0:: @ 81F2EA0
+ trainerbattle 0, TRAINER_JOSE, 0, Route116_Text_29BBFD, Route116_Text_29BC25
+ msgbox Route116_Text_29BC42, 6
+ end
+
+Route116_EventScript_1F2EB7:: @ 81F2EB7
+ trainerbattle 2, TRAINER_JERRY_1, 0, Route116_Text_29BD0C, Route116_Text_29BD66, Route116_EventScript_1F2EF8
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route116_EventScript_1F2F4E
+ setvar VAR_0x8004, 273
+ specialvar VAR_RESULT, sub_813B4E0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route116_EventScript_1F2F22
+ msgbox Route116_Text_29BD92, 4
+ release
+ end
+
+Route116_EventScript_1F2EF8:: @ 81F2EF8
+ checkflag FLAG_0x12F
+ goto_eq Route116_EventScript_1F2F03
+ release
+ end
+
+Route116_EventScript_1F2F03:: @ 81F2F03
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route116_Text_29BE71, 4
+ setvar VAR_0x8004, 273
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 273
+ callstd 8
+ release
+ end
+
+Route116_EventScript_1F2F22:: @ 81F2F22
+ checkflag FLAG_0x12F
+ goto_eq Route116_EventScript_1F2F35
+ msgbox Route116_Text_29BD92, 4
+ release
+ end
+
+Route116_EventScript_1F2F35:: @ 81F2F35
+ msgbox Route116_Text_29BDEF, 4
+ setvar VAR_0x8004, 273
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 273
+ callstd 8
+ release
+ end
+
+Route116_EventScript_1F2F4E:: @ 81F2F4E
+ trainerbattle 5, TRAINER_JERRY_1, 0, Route116_Text_29BEF3, Route116_Text_29BF4C
+ msgbox Route116_Text_29BF68, 6
+ end
+
+Route116_EventScript_1F2F65:: @ 81F2F65
+ trainerbattle 0, TRAINER_CLARK, 0, Route116_Text_29BACD, Route116_Text_29BB0F
+ msgbox Route116_Text_29BB31, 6
+ end
+
+Route116_EventScript_1F2F7C:: @ 81F2F7C
+ trainerbattle 0, TRAINER_JANICE, 0, Route116_Text_29BC7F, Route116_Text_29BCB3
+ msgbox Route116_Text_29BCCC, 6
+ end
+
+Route116_EventScript_1F2F93:: @ 81F2F93
+ trainerbattle 2, TRAINER_KAREN_1, 0, Route116_Text_29BFC5, Route116_Text_29BFFA, Route116_EventScript_1F2FD4
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route116_EventScript_1F302A
+ setvar VAR_0x8004, 280
+ specialvar VAR_RESULT, sub_813B4E0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route116_EventScript_1F2FFE
+ msgbox Route116_Text_29C010, 4
+ release
+ end
+
+Route116_EventScript_1F2FD4:: @ 81F2FD4
+ checkflag FLAG_0x12F
+ goto_eq Route116_EventScript_1F2FDF
+ release
+ end
+
+Route116_EventScript_1F2FDF:: @ 81F2FDF
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route116_Text_29C096, 4
+ setvar VAR_0x8004, 280
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 280
+ callstd 8
+ release
+ end
+
+Route116_EventScript_1F2FFE:: @ 81F2FFE
+ checkflag FLAG_0x12F
+ goto_eq Route116_EventScript_1F3011
+ msgbox Route116_Text_29C010, 4
+ release
+ end
+
+Route116_EventScript_1F3011:: @ 81F3011
+ msgbox Route116_Text_29C052, 4
+ setvar VAR_0x8004, 280
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 280
+ callstd 8
+ release
+ end
+
+Route116_EventScript_1F302A:: @ 81F302A
+ trainerbattle 5, TRAINER_KAREN_1, 0, Route116_Text_29C0DA, Route116_Text_29C11F
+ msgbox Route116_Text_29C13B, 6
+ end
+
+Route116_EventScript_1F3041:: @ 81F3041
+ trainerbattle 0, TRAINER_SARAH, 0, Route116_Text_29C173, Route116_Text_29C1B8
+ msgbox Route116_Text_29C1EA, 6
+ end
+
+Route116_EventScript_1F3058:: @ 81F3058
+ trainerbattle 0, TRAINER_DAWSON, 0, Route116_Text_29C266, Route116_Text_29C2C2
+ msgbox Route116_Text_29C2DD, 6
+ end
+
+Route116_EventScript_1F306F:: @ 81F306F
+ trainerbattle 0, TRAINER_DEVAN, 0, Route116_Text_29C350, Route116_Text_29C365
+ msgbox Route116_Text_29C380, 6
+ end
+
+Route116_EventScript_1F3086:: @ 81F3086
+ trainerbattle 0, TRAINER_JOHNSON, 0, Route116_Text_29C3C1, Route116_Text_29C3F7
+ msgbox Route116_Text_29C418, 6
+ end
+
+Route116_Text_1F309D: @ 81F309D
+ .string "Ohhh, what am I to do?\p"
+ .string "We were on our walk, PEEKO and I, when\n"
+ .string "we were jumped by an odd thug…\p"
+ .string "The scoundrel made off with my\n"
+ .string "darling PEEKO!\p"
+ .string "Wrrrooooooaaaar! PEEKO!$"
+
+Route116_Text_1F3140: @ 81F3140
+ .string "Nnn… Roar!\p"
+ .string "I want to dig that tunnel!$"
+
+Route116_Text_1F3166: @ 81F3166
+ .string "Nnn… Roar!\n"
+ .string "What’s going on?\p"
+ .string "I was digging the tunnel without any\n"
+ .string "tools when some goon ordered me out!\p"
+ .string "That tunnel’s filled with POKéMON\n"
+ .string "that react badly to loud noises.\l"
+ .string "They could cause an uproar.\p"
+ .string "That’s why we stopped using heavy\n"
+ .string "equipment for tunneling…\p"
+ .string "I’m worried that the goon will do\n"
+ .string "something stupid and startle the\l"
+ .string "POKéMON into an uproar.$"
+
+Route116_Text_1F32C1: @ 81F32C1
+ .string "Nnn… Roar!\p"
+ .string "That goofy goon hightailed it out of\n"
+ .string "the tunnel! I can go back to digging!$"
+
+Route116_Text_1F3317: @ 81F3317
+ .string "Oh! It’s you!\p"
+ .string "You’re that person who not only helped\n"
+ .string "me in PETALBURG WOODS, but also got\l"
+ .string "back my stolen package and then even\l"
+ .string "graciously delivered it to SLATEPORT!\p"
+ .string "CAPT. STERN informed us that the\n"
+ .string "package arrived, too!\p"
+ .string "I thank you very, very much!\p"
+ .string "Why, if I were a rain cloud, I would\n"
+ .string "shower you with gratitude and hail\l"
+ .string "you as a hero!\p"
+ .string "For you, the most wonderful TRAINER,\n"
+ .string "I bear good news!\p"
+ .string "Recently, our company developed\n"
+ .string "a new kind of POKé BALL.\p"
+ .string "As a token of our appreciation, this\n"
+ .string "is our gift to our wonderful TRAINER!$"
+
+Route116_Text_1F3521: @ 81F3521
+ .string "Our new POKé BALL will be available\n"
+ .string "at the POKéMON MART in RUSTBORO.\p"
+ .string "Please do try it out!\n"
+ .string "Thank you and bye-bye!$"
+
+Route116_Text_1F3593: @ 81F3593
+ .string "Your BAG is jam-packed.\n"
+ .string "I can’t give you this REPEAT BALL.$"
+
+Route116_Text_1F35CE: @ 81F35CE
+ .string "As a token of our appreciation for\n"
+ .string "your delivering our package, I have\l"
+ .string "a gift of a new kind of POKé BALL\l"
+ .string "for our most wonderful TRAINER!$"
+
+Route116_Text_1F3657: @ 81F3657
+ .string "I dropped my glasses…\n"
+ .string "Can you help me find them?$"
+
+Route116_Text_1F3688: @ 81F3688
+ .string "Those glasses!\n"
+ .string "May I see them for a second?$"
+
+Route116_Text_1F36B4: @ 81F36B4
+ .string "Hmm…\n"
+ .string "These are BLACKGLASSES.\l"
+ .string "They’re not what I’m looking for…\p"
+ .string "Maybe my glasses aren’t around\n"
+ .string "here…$"
+
+Route116_Text_1F3718: @ 81F3718
+ .string "Hmm…\n"
+ .string "I can’t find my glasses anywhere…\l"
+ .string "Maybe they’re not around here…$"
+
+Route116_Text_1F375E: @ 81F375E
+ .string "Hmm…\n"
+ .string "These are BLACKGLASSES.\l"
+ .string "They’re not what I’m looking for…$"
+
+Route116_Text_1F379D: @ 81F379D
+ .string "ROUTE 116\n"
+ .string "{0x7B} RUSTBORO CITY$"
+
+Route116_Text_1F37B7: @ 81F37B7
+ .string "RUSTURF TUNNEL\n"
+ .string "“Linking RUSTBORO and VERDANTURF\p"
+ .string "“The tunnel project has been\n"
+ .string "canceled.”$"
+
+Route116_Text_1F380F: @ 81F380F
+ .string "TUNNELER’S REST HOUSE$"
+
+Route116_Text_1F3825: @ 81F3825
+ .string "TRAINER TIPS\p"
+ .string "If you want to stop a POKéMON from\n"
+ .string "evolving, press the B Button while it\l"
+ .string "is trying to evolve.\l"
+ .string "The startled POKéMON will stop.\p"
+ .string "This is called an evolution cancel.$"
+
+Route116_Text_1F38D4: @ 81F38D4
+ .string "TRAINER TIPS\p"
+ .string "Your BAG has several POCKETS.\p"
+ .string "Items you obtain are automatically\n"
+ .string "placed in the appropriate POCKETS.\p"
+ .string "No TRAINER can afford to be without\n"
+ .string "a BAG of their own.$"
+
diff --git a/data/scripts/maps/Route116_TunnelersRestHouse.inc b/data/scripts/maps/Route116_TunnelersRestHouse.inc
new file mode 100644
index 000000000..d9d74911a
--- /dev/null
+++ b/data/scripts/maps/Route116_TunnelersRestHouse.inc
@@ -0,0 +1,63 @@
+Route116_TunnelersRestHouse_MapScripts:: @ 822B850
+ map_script 3, Route116_TunnelersRestHouse_MapScript1_22B856
+ .byte 0
+
+Route116_TunnelersRestHouse_MapScript1_22B856: @ 822B856
+ setflag FLAG_0x8BA
+ end
+
+Route116_TunnelersRestHouse_EventScript_22B85A:: @ 822B85A
+ msgbox Route116_TunnelersRestHouse_Text_22B88B, 2
+ end
+
+Route116_TunnelersRestHouse_EventScript_22B863:: @ 822B863
+ msgbox Route116_TunnelersRestHouse_Text_22B99F, 2
+ end
+
+Route116_TunnelersRestHouse_EventScript_22B86C:: @ 822B86C
+ lock
+ faceplayer
+ checkflag FLAG_0x0C7
+ goto_eq Route116_TunnelersRestHouse_EventScript_22B881
+ msgbox Route116_TunnelersRestHouse_Text_22BAAF, 4
+ release
+ end
+
+Route116_TunnelersRestHouse_EventScript_22B881:: @ 822B881
+ msgbox Route116_TunnelersRestHouse_Text_22BB3B, 4
+ release
+ end
+
+Route116_TunnelersRestHouse_Text_22B88B: @ 822B88B
+ .string "That RUSTURF TUNNEL there…\p"
+ .string "At first, we had a huge work crew boring\n"
+ .string "through rock with the latest machinery.\l"
+ .string "But, we had to stop.\p"
+ .string "It turns out that we would have had\n"
+ .string "a negative effect on wild POKéMON in\l"
+ .string "the area.\p"
+ .string "So, we’ve got nothing to do but loll\n"
+ .string "around here doing nothing.$"
+
+Route116_TunnelersRestHouse_Text_22B99F: @ 822B99F
+ .string "There’s a man digging his way to\n"
+ .string "VERDANTURF all by his lonesome.\l"
+ .string "He’s desperate to get through.\p"
+ .string "He says that if he digs little by little\n"
+ .string "without using machines, he won’t\l"
+ .string "disturb POKéMON, and he’ll avoid\l"
+ .string "harming the natural environment.\p"
+ .string "I wonder if he made it through yet.$"
+
+Route116_TunnelersRestHouse_Text_22BAAF: @ 822BAAF
+ .string "To get to VERDANTURF without using\n"
+ .string "this TUNNEL, you’d have to cross the\l"
+ .string "sea to DEWFORD, sail on to SLATEPORT,\l"
+ .string "then travel through MAUVILLE.$"
+
+Route116_TunnelersRestHouse_Text_22BB3B: @ 822BB3B
+ .string "Did you hear? The TUNNEL to VERDANTURF\n"
+ .string "has gone through!\p"
+ .string "Sometimes, if you hope strongly enough,\n"
+ .string "dreams do come true.$"
+
diff --git a/data/scripts/maps/Route117.inc b/data/scripts/maps/Route117.inc
new file mode 100644
index 000000000..23551d372
--- /dev/null
+++ b/data/scripts/maps/Route117.inc
@@ -0,0 +1,232 @@
+Route117_MapScripts:: @ 81F397D
+ map_script 3, Route117_MapScript1_1F3983
+ .byte 0
+
+Route117_MapScript1_1F3983: @ 81F3983
+ call Route117_EventScript_1F3989
+ end
+
+Route117_EventScript_1F3989:: @ 81F3989
+ checkflag FLAG_0x086
+ goto_if 0, Route117_EventScript_1F3999
+ setobjectxyperm 3, 47, 6
+
+Route117_EventScript_1F3999:: @ 81F3999
+ return
+
+Route117_EventScript_1F399A:: @ 81F399A
+ msgbox Route117_Text_1F3CFD, 2
+ end
+
+Route117_EventScript_1F39A3:: @ 81F39A3
+ msgbox Route117_Text_1F3D41, 2
+ end
+
+Route117_EventScript_1F39AC:: @ 81F39AC
+ msgbox Route117_Text_1F3C7C, 2
+ end
+
+Route117_EventScript_1F39B5:: @ 81F39B5
+ msgbox Route117_Text_1F3D58, 3
+ end
+
+Route117_EventScript_1F39BE:: @ 81F39BE
+ msgbox Route117_Text_1F3D74, 3
+ end
+
+Route117_EventScript_1F39C7:: @ 81F39C7
+ msgbox Route117_Text_1F3D8E, 3
+ end
+
+Route117_EventScript_1F39D0:: @ 81F39D0
+ trainerbattle 2, TRAINER_ISAAC_1, 0, Route117_Text_29C43F, Route117_Text_29C47A, Route117_EventScript_1F39FC
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route117_EventScript_1F3A1B
+ msgbox Route117_Text_29C498, 4
+ release
+ end
+
+Route117_EventScript_1F39FC:: @ 81F39FC
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route117_Text_29C508, 4
+ setvar VAR_0x8004, 538
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 538
+ callstd 8
+ release
+ end
+
+Route117_EventScript_1F3A1B:: @ 81F3A1B
+ trainerbattle 5, TRAINER_ISAAC_1, 0, Route117_Text_29C549, Route117_Text_29C58B
+ msgbox Route117_Text_29C5D0, 6
+ end
+
+Route117_EventScript_1F3A32:: @ 81F3A32
+ trainerbattle 2, TRAINER_LYDIA_1, 0, Route117_Text_29C612, Route117_Text_29C659, Route117_EventScript_1F3A5E
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route117_EventScript_1F3A7D
+ msgbox Route117_Text_29C679, 4
+ release
+ end
+
+Route117_EventScript_1F3A5E:: @ 81F3A5E
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route117_Text_29C6BC, 4
+ setvar VAR_0x8004, 545
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 545
+ callstd 8
+ release
+ end
+
+Route117_EventScript_1F3A7D:: @ 81F3A7D
+ trainerbattle 5, TRAINER_LYDIA_1, 0, Route117_Text_29C6FD, Route117_Text_29C73E
+ msgbox Route117_Text_29C75A, 6
+ end
+
+Route117_EventScript_1F3A94:: @ 81F3A94
+ trainerbattle 2, TRAINER_DYLAN_1, 0, Route117_Text_29C7A5, Route117_Text_29C7EB, Route117_EventScript_1F3AC0
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route117_EventScript_1F3ADF
+ msgbox Route117_Text_29C800, 4
+ release
+ end
+
+Route117_EventScript_1F3AC0:: @ 81F3AC0
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route117_Text_29C846, 4
+ setvar VAR_0x8004, 364
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 364
+ callstd 8
+ release
+ end
+
+Route117_EventScript_1F3ADF:: @ 81F3ADF
+ trainerbattle 5, TRAINER_DYLAN_1, 0, Route117_Text_29C880, Route117_Text_29C8E3
+ msgbox Route117_Text_29C8FE, 6
+ end
+
+Route117_EventScript_1F3AF6:: @ 81F3AF6
+ trainerbattle 2, TRAINER_MARIA_1, 0, Route117_Text_29C955, Route117_Text_29C9A6, Route117_EventScript_1F3B22
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route117_EventScript_1F3B41
+ msgbox Route117_Text_29C9D0, 4
+ release
+ end
+
+Route117_EventScript_1F3B22:: @ 81F3B22
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route117_Text_29CA32, 4
+ setvar VAR_0x8004, 369
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 369
+ callstd 8
+ release
+ end
+
+Route117_EventScript_1F3B41:: @ 81F3B41
+ trainerbattle 5, TRAINER_MARIA_1, 0, Route117_Text_29CA7C, Route117_Text_29CACC
+ msgbox Route117_Text_29CAF6, 6
+ end
+
+Route117_EventScript_1F3B58:: @ 81F3B58
+ trainerbattle 0, TRAINER_DEREK, 0, Route117_Text_29CB32, Route117_Text_29CB87
+ msgbox Route117_Text_29CBAD, 6
+ end
+
+Route117_EventScript_1F3B6F:: @ 81F3B6F
+ trainerbattle 6, TRAINER_ANNA_AND_MEG_1, 0, Route117_Text_29CC4A, Route117_Text_29CC8E, Route117_Text_29CD61, Route117_EventScript_1F3B9F
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route117_EventScript_1F3BB8
+ msgbox Route117_Text_29CCCB, 4
+ release
+ end
+
+Route117_EventScript_1F3B9F:: @ 81F3B9F
+ msgbox Route117_Text_29CD1D, 4
+ setvar VAR_0x8004, 287
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 287
+ callstd 8
+ release
+ end
+
+Route117_EventScript_1F3BB8:: @ 81F3BB8
+ trainerbattle 7, TRAINER_ANNA_AND_MEG_1, 0, Route117_Text_29CEB6, Route117_Text_29CEF6, Route117_Text_29CF6E
+ msgbox Route117_Text_29CF1C, 6
+ end
+
+Route117_EventScript_1F3BD3:: @ 81F3BD3
+ trainerbattle 6, TRAINER_ANNA_AND_MEG_1, 0, Route117_Text_29CD9D, Route117_Text_29CDE9, Route117_Text_29CE52, Route117_EventScript_1F3C03
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route117_EventScript_1F3C1C
+ msgbox Route117_Text_29CE17, 4
+ release
+ end
+
+Route117_EventScript_1F3C03:: @ 81F3C03
+ msgbox Route117_Text_29CD1D, 4
+ setvar VAR_0x8004, 287
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 287
+ callstd 8
+ release
+ end
+
+Route117_EventScript_1F3C1C:: @ 81F3C1C
+ trainerbattle 7, TRAINER_ANNA_AND_MEG_1, 0, Route117_Text_29CFAA, Route117_Text_29CFED, Route117_Text_29D053
+ msgbox Route117_Text_29CFFE, 6
+ end
+
+Route117_EventScript_1F3C37:: @ 81F3C37
+ trainerbattle 0, TRAINER_MELINA, 0, Route117_Text_29D0B7, Route117_Text_29D0F1
+ msgbox Route117_Text_29D10E, 6
+ end
+
+Route117_EventScript_1F3C4E:: @ 81F3C4E
+ trainerbattle 0, TRAINER_BRANDI, 0, Route117_Text_29D14B, Route117_Text_29D189
+ msgbox Route117_Text_29D196, 6
+ end
+
+Route117_EventScript_1F3C65:: @ 81F3C65
+ trainerbattle 0, TRAINER_AISHA, 0, Route117_Text_29D1D1, Route117_Text_29D206
+ msgbox Route117_Text_29D24C, 6
+ end
+
+Route117_Text_1F3C7C: @ 81F3C7C
+ .string "I left my POKéMON at the DAY CARE.\p"
+ .string "When I got it back, it had a new move\n"
+ .string "that I didn’t teach it.\l"
+ .string "I was really, really surprised.$"
+
+Route117_Text_1F3CFD: @ 81F3CFD
+ .string "What do you think?\n"
+ .string "Aren’t these flowers pretty?\p"
+ .string "I planted them all!$"
+
+Route117_Text_1F3D41: @ 81F3D41
+ .string "The air is tasty here!$"
+
+Route117_Text_1F3D58: @ 81F3D58
+ .string "ROUTE 117\n"
+ .string "{0x7B} VERDANTURF TOWN$"
+
+Route117_Text_1F3D74: @ 81F3D74
+ .string "ROUTE 117\n"
+ .string "{0x7C} MAUVILLE CITY$"
+
+Route117_Text_1F3D8E: @ 81F3D8E
+ .string "POKéMON DAY CARE\n"
+ .string "“Let us raise your POKéMON.”$"
+
diff --git a/data/scripts/maps/Route117_PokemonDayCare.inc b/data/scripts/maps/Route117_PokemonDayCare.inc
new file mode 100644
index 000000000..9f191616d
--- /dev/null
+++ b/data/scripts/maps/Route117_PokemonDayCare.inc
@@ -0,0 +1,8 @@
+Route117_PokemonDayCare_MapScripts:: @ 822BBB1
+ map_script 3, Route117_PokemonDayCare_MapScript1_22BBB7
+ .byte 0
+
+Route117_PokemonDayCare_MapScript1_22BBB7: @ 822BBB7
+ setflag FLAG_0x8A6
+ end
+
diff --git a/data/scripts/maps/Route118.inc b/data/scripts/maps/Route118.inc
new file mode 100644
index 000000000..42c3d6d57
--- /dev/null
+++ b/data/scripts/maps/Route118.inc
@@ -0,0 +1,318 @@
+Route118_MapScripts:: @ 81F3DBC
+ map_script 3, Route118_MapScript1_1F3DCC
+ map_script 1, Route118_MapScript1_1F3DF3
+ map_script 2, Route118_MapScript2_1F3E0A
+ .byte 0
+
+Route118_MapScript1_1F3DCC: @ 81F3DCC
+ call Route118_EventScript_28CCC7
+ compare_var_to_value VAR_0x4039, 1
+ call_if 1, Route118_EventScript_273D13
+ compare_var_to_value VAR_0x4037, 7
+ call_if 1, Route118_EventScript_273D1B
+ compare_var_to_value VAR_0x4037, 8
+ call_if 1, Route118_EventScript_273D1B
+ end
+
+Route118_MapScript1_1F3DF3: @ 81F3DF3
+ compare_var_to_value VAR_0x4037, 7
+ call_if 1, Route118_EventScript_273985
+ compare_var_to_value VAR_0x4037, 8
+ call_if 1, Route118_EventScript_273998
+ end
+
+Route118_MapScript2_1F3E0A: @ 81F3E0A
+ map_script_2 VAR_0x4039, 1, gUnknown_08273D1F
+ .2byte 0
+
+Route118_EventScript_1F3E14:: @ 81F3E14
+ lock
+ faceplayer
+ checkflag FLAG_0x0E3
+ goto_eq Route118_EventScript_1F3E69
+ msgbox Route118_Text_1F427B, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route118_EventScript_1F3E3E
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route118_EventScript_1F3E5F
+ end
+
+Route118_EventScript_1F3E3E:: @ 81F3E3E
+ msgbox Route118_Text_1F42AF, 4
+ giveitem_std ITEM_GOOD_ROD
+ setflag FLAG_0x0E3
+ msgbox Route118_Text_1F42E7, 4
+ release
+ end
+
+Route118_EventScript_1F3E5F:: @ 81F3E5F
+ msgbox Route118_Text_1F4319, 4
+ release
+ end
+
+Route118_EventScript_1F3E69:: @ 81F3E69
+ msgbox Route118_Text_1F4331, 4
+ release
+ end
+
+Route118_EventScript_1F3E73:: @ 81F3E73
+ msgbox Route118_Text_1F4367, 2
+ end
+
+Route118_EventScript_1F3E7C:: @ 81F3E7C
+ msgbox Route118_Text_1F43F4, 3
+ end
+
+Route118_EventScript_1F3E85:: @ 81F3E85
+ msgbox Route118_Text_1F440E, 3
+ end
+
+Route118_EventScript_1F3E8E:: @ 81F3E8E
+ lockall
+ setvar VAR_0x8008, 0
+ applymovement 255, Route118_Movement_2725B2
+ waitmovement 0
+ applymovement 19, Route118_Movement_1F3F61
+ waitmovement 0
+ goto Route118_EventScript_1F3EE4
+ end
+
+Route118_EventScript_1F3EAE:: @ 81F3EAE
+ lockall
+ setvar VAR_0x8008, 1
+ applymovement 255, Route118_Movement_2725B2
+ waitmovement 0
+ goto Route118_EventScript_1F3EE4
+ end
+
+Route118_EventScript_1F3EC4:: @ 81F3EC4
+ lockall
+ setvar VAR_0x8008, 2
+ applymovement 255, Route118_Movement_2725B2
+ waitmovement 0
+ applymovement 19, Route118_Movement_1F3F63
+ waitmovement 0
+ goto Route118_EventScript_1F3EE4
+ end
+
+Route118_EventScript_1F3EE4:: @ 81F3EE4
+ playse SE_DANSA
+ applymovement 19, Route118_Movement_1F3F65
+ waitmovement 0
+ delay 30
+ msgbox Route118_Text_1F40BE, 4
+ closemessage
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, Route118_EventScript_1F3F28
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, Route118_EventScript_1F3F3A
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, Route118_EventScript_1F3F4C
+ setvar VAR_0x4071, 1
+ removeobject 19
+ releaseall
+ end
+
+Route118_EventScript_1F3F28:: @ 81F3F28
+ applymovement 255, Route118_Movement_1F3F5E
+ applymovement 19, Route118_Movement_1F3F69
+ waitmovement 0
+ return
+
+Route118_EventScript_1F3F3A:: @ 81F3F3A
+ applymovement 255, Route118_Movement_1F3F5E
+ applymovement 19, Route118_Movement_1F3F74
+ waitmovement 0
+ return
+
+Route118_EventScript_1F3F4C:: @ 81F3F4C
+ applymovement 255, Route118_Movement_1F3F5E
+ applymovement 19, Route118_Movement_1F3F7E
+ waitmovement 0
+ return
+
+Route118_Movement_1F3F5E: @ 81F3F5E
+ step_14
+ step_28
+ step_end
+
+Route118_Movement_1F3F61: @ 81F3F61
+ step_left
+ step_end
+
+Route118_Movement_1F3F63: @ 81F3F63
+ step_right
+ step_end
+
+Route118_Movement_1F3F65: @ 81F3F65
+ fast_step_down
+ step_14
+ step_down
+ step_end
+
+Route118_Movement_1F3F69: @ 81F3F69
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+Route118_Movement_1F3F74: @ 81F3F74
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+Route118_Movement_1F3F7E: @ 81F3F7E
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+Route118_EventScript_1F3F87:: @ 81F3F87
+ trainerbattle 2, TRAINER_ROSE_1, 0, Route118_Text_29D290, Route118_Text_29D2D8, Route118_EventScript_1F3FB3
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route118_EventScript_1F3FD2
+ msgbox Route118_Text_29D2FA, 4
+ release
+ end
+
+Route118_EventScript_1F3FB3:: @ 81F3FB3
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route118_Text_29D343, 4
+ setvar VAR_0x8004, 37
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 37
+ callstd 8
+ release
+ end
+
+Route118_EventScript_1F3FD2:: @ 81F3FD2
+ trainerbattle 5, TRAINER_ROSE_1, 0, Route118_Text_29D382, Route118_Text_29D3AA
+ msgbox Route118_Text_29D3D9, 6
+ end
+
+Route118_EventScript_1F3FE9:: @ 81F3FE9
+ trainerbattle 0, TRAINER_BARNY, 0, Route118_Text_29D515, Route118_Text_29D55C
+ msgbox Route118_Text_29D587, 6
+ end
+
+Route118_EventScript_1F4000:: @ 81F4000
+ trainerbattle 0, TRAINER_WADE, 0, Route118_Text_29D5DF, Route118_Text_29D64C
+ msgbox Route118_Text_29D663, 6
+ end
+
+Route118_EventScript_1F4017:: @ 81F4017
+ trainerbattle 2, TRAINER_DALTON_1, 0, Route118_Text_29D6AF, Route118_Text_29D6CD, Route118_EventScript_1F4043
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route118_EventScript_1F4062
+ msgbox Route118_Text_29D6D8, 4
+ release
+ end
+
+Route118_EventScript_1F4043:: @ 81F4043
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route118_Text_29D74A, 4
+ setvar VAR_0x8004, 196
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 196
+ callstd 8
+ release
+ end
+
+Route118_EventScript_1F4062:: @ 81F4062
+ trainerbattle 5, TRAINER_DALTON_1, 0, Route118_Text_29D789, Route118_Text_29D7CA
+ msgbox Route118_Text_29D7D5, 6
+ end
+
+Route118_EventScript_1F4079:: @ 81F4079
+ trainerbattle 0, TRAINER_PERRY, 0, Route118_Text_29D41D, Route118_Text_29D45B
+ msgbox Route118_Text_29D46C, 6
+ end
+
+Route118_EventScript_1F4090:: @ 81F4090
+ trainerbattle 0, TRAINER_CHESTER, 0, Route118_Text_29D4A6, Route118_Text_29D4C4
+ msgbox Route118_Text_29D4DA, 6
+ end
+
+Route118_EventScript_1F40A7:: @ 81F40A7
+ trainerbattle 0, TRAINER_DEANDRE, 0, Route118_Text_29D81B, Route118_Text_29D83C
+ msgbox Route118_Text_29D872, 6
+ end
+
+Route118_Text_1F40BE: @ 81F40BE
+ .string "STEVEN: Hi, {PLAYER}{KUN}!\p"
+ .string "It’s me, STEVEN!\n"
+ .string "We met in the cave near DEWFORD.\p"
+ .string "Have you met many kinds of POKéMON\n"
+ .string "since I last saw you?\p"
+ .string "There are many, many kinds of POKéMON\n"
+ .string "in this wide world of ours.\p"
+ .string "If you wanted to raise only your\n"
+ .string "favorites, that’s fine.\p"
+ .string "Perhaps you find it more fun to raise\n"
+ .string "all sorts of POKéMON.\p"
+ .string "As a TRAINER of POKéMON,\n"
+ .string "what do you think?\p"
+ .string "Of course, it’s not any of my business.\p"
+ .string "It would be nice if we were to meet\n"
+ .string "again somewhere.$"
+
+Route118_Text_1F427B: @ 81F427B
+ .string "Hmm!\n"
+ .string "A GOOD ROD is really good!\p"
+ .string "Wouldn’t you agree?$"
+
+Route118_Text_1F42AF: @ 81F42AF
+ .string "Hmm!\n"
+ .string "We’re of identical minds!\p"
+ .string "Hmm!\n"
+ .string "Take this GOOD ROD!$"
+
+Route118_Text_1F42E7: @ 81F42E7
+ .string "Wherever there’s water, try your luck\n"
+ .string "at fishing.$"
+
+Route118_Text_1F4319: @ 81F4319
+ .string "Don’t you like to fish?$"
+
+Route118_Text_1F4331: @ 81F4331
+ .string "Try catching all sorts of POKéMON\n"
+ .string "with your GOOD ROD.$"
+
+Route118_Text_1F4367: @ 81F4367
+ .string "Even if there isn’t a boat, you can\n"
+ .string "cross rivers and the sea if you have\l"
+ .string "a POKéMON that knows SURF.\p"
+ .string "POKéMON can be counted on to do so\n"
+ .string "much!$"
+
+Route118_Text_1F43F4: @ 81F43F4
+ .string "ROUTE 118\n"
+ .string "{0x7B} MAUVILLE CITY$"
+
+Route118_Text_1F440E: @ 81F440E
+ .string "ROUTE 118\n"
+ .string "{0x79} ROUTE 119$"
+
diff --git a/data/scripts/maps/Route119.inc b/data/scripts/maps/Route119.inc
new file mode 100644
index 000000000..4436005ba
--- /dev/null
+++ b/data/scripts/maps/Route119.inc
@@ -0,0 +1,637 @@
+Route119_MapScripts:: @ 81F4424
+ map_script 5, Route119_MapScript1_1F442F
+ map_script 3, Route119_MapScript1_1F444D
+ .byte 0
+
+Route119_MapScript1_1F442F: @ 81F442F
+ checkflag FLAG_SYS_CTRL_OBJ_DELETE
+ call_if 1, Route119_EventScript_1F4439
+ end
+
+Route119_EventScript_1F4439:: @ 81F4439
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 7
+ goto_if 5, Route119_EventScript_27374E
+ removeobject VAR_LAST_TALKED
+ return
+
+Route119_MapScript1_1F444D: @ 81F444D
+ call Route119_EventScript_271ED7
+ call Route119_EventScript_271EFB
+ compare_var_to_value VAR_0x40B3, 1
+ call_if 1, Route119_EventScript_1F4466
+ special sub_8139648
+ end
+
+Route119_EventScript_1F4466:: @ 81F4466
+ setflag FLAG_0x37D
+ clearflag FLAG_0x37C
+ setvar VAR_0x40B3, 2
+ return
+
+Route119_EventScript_1F4472:: @ 81F4472
+ setvar VAR_0x4001, 1
+ goto Route119_EventScript_1F4488
+ end
+
+Route119_EventScript_1F447D:: @ 81F447D
+ setvar VAR_0x4001, 2
+ goto Route119_EventScript_1F4488
+ end
+
+Route119_EventScript_1F4488:: @ 81F4488
+ lockall
+ addobject 25
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, Route119_EventScript_1F4501
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, Route119_EventScript_1F4506
+ delay 65
+ compare_var_to_value VAR_0x4001, 1
+ call_if 1, Route119_EventScript_1F46C6
+ compare_var_to_value VAR_0x4001, 2
+ call_if 1, Route119_EventScript_1F46D1
+ applymovement 255, Route119_Movement_2725AA
+ waitmovement 0
+ delay 30
+ compare_var_to_value VAR_0x4001, 1
+ call_if 1, Route119_EventScript_1F4700
+ compare_var_to_value VAR_0x4001, 2
+ call_if 1, Route119_EventScript_1F470F
+ removeobject 25
+ addobject 16
+ delay 30
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route119_EventScript_1F450B
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route119_EventScript_1F4585
+ releaseall
+ end
+
+Route119_EventScript_1F4501:: @ 81F4501
+ playbgm BGM_GIRL_SUP, 1
+ return
+
+Route119_EventScript_1F4506:: @ 81F4506
+ playbgm BGM_BOY_SUP, 1
+ return
+
+Route119_EventScript_1F450B:: @ 81F450B
+ msgbox Route119_Text_1F49FD, 4
+ switch VAR_FIRST_POKE
+ case 0, Route119_EventScript_1F453A
+ case 1, Route119_EventScript_1F454A
+ case 2, Route119_EventScript_1F455A
+ end
+
+Route119_EventScript_1F453A:: @ 81F453A
+ trainerbattle 3, TRAINER_MAY_6, 0, Route119_Text_1F4A98
+ goto Route119_EventScript_1F456A
+ end
+
+Route119_EventScript_1F454A:: @ 81F454A
+ trainerbattle 3, TRAINER_MAY_9, 0, Route119_Text_1F4A98
+ goto Route119_EventScript_1F456A
+ end
+
+Route119_EventScript_1F455A:: @ 81F455A
+ trainerbattle 3, TRAINER_MAY_3, 0, Route119_Text_1F4A98
+ goto Route119_EventScript_1F456A
+ end
+
+Route119_EventScript_1F456A:: @ 81F456A
+ msgbox Route119_Text_1F4AF3, 4
+ call Route119_EventScript_1F45FF
+ msgbox Route119_Text_1F4B56, 4
+ goto Route119_EventScript_1F460F
+ end
+
+Route119_EventScript_1F4585:: @ 81F4585
+ msgbox Route119_Text_1F4C9A, 4
+ switch VAR_FIRST_POKE
+ case 0, Route119_EventScript_1F45B4
+ case 1, Route119_EventScript_1F45C4
+ case 2, Route119_EventScript_1F45D4
+ end
+
+Route119_EventScript_1F45B4:: @ 81F45B4
+ trainerbattle 3, TRAINER_BRENDAN_6, 0, Route119_Text_1F4D24
+ goto Route119_EventScript_1F45E4
+ end
+
+Route119_EventScript_1F45C4:: @ 81F45C4
+ trainerbattle 3, TRAINER_BRENDAN_9, 0, Route119_Text_1F4D24
+ goto Route119_EventScript_1F45E4
+ end
+
+Route119_EventScript_1F45D4:: @ 81F45D4
+ trainerbattle 3, TRAINER_BRENDAN_3, 0, Route119_Text_1F4D24
+ goto Route119_EventScript_1F45E4
+ end
+
+Route119_EventScript_1F45E4:: @ 81F45E4
+ msgbox Route119_Text_1F4D4B, 4
+ call Route119_EventScript_1F45FF
+ msgbox Route119_Text_1F4DB5, 4
+ goto Route119_EventScript_1F460F
+ end
+
+Route119_EventScript_1F45FF:: @ 81F45FF
+ giveitem_std ITEM_HM02
+ setflag FLAG_0x06E
+ return
+
+Route119_EventScript_1F460F:: @ 81F460F
+ closemessage
+ compare_var_to_value VAR_0x4001, 1
+ call_if 1, Route119_EventScript_1F4700
+ compare_var_to_value VAR_0x4001, 2
+ call_if 1, Route119_EventScript_1F470F
+ removeobject 16
+ addobject 25
+ delay 30
+ compare_var_to_value VAR_0x4001, 1
+ call_if 1, Route119_EventScript_1F46DC
+ compare_var_to_value VAR_0x4001, 2
+ call_if 1, Route119_EventScript_1F46EE
+ removeobject 25
+ setvar VAR_0x4072, 1
+ savebgm SE_STOP
+ fadedefaultbgm
+ delay 60
+ compare_var_to_value VAR_0x4001, 1
+ call_if 1, Route119_EventScript_1F46A0
+ compare_var_to_value VAR_0x4001, 2
+ call_if 1, Route119_EventScript_1F46A8
+ addobject 43
+ applymovement 43, Route119_Movement_1F4752
+ waitmovement 0
+ addvar VAR_0x40D1, 1
+ msgbox Route119_Text_1F4E60, 4
+ closemessage
+ compare_var_to_value VAR_0x4001, 1
+ call_if 1, Route119_EventScript_1F46B0
+ compare_var_to_value VAR_0x4001, 2
+ call_if 1, Route119_EventScript_1F46BB
+ removeobject 43
+ releaseall
+ end
+
+Route119_EventScript_1F46A0:: @ 81F46A0
+ setobjectxyperm 43, 27, 25
+ return
+
+Route119_EventScript_1F46A8:: @ 81F46A8
+ setobjectxyperm 43, 28, 25
+ return
+
+Route119_EventScript_1F46B0:: @ 81F46B0
+ applymovement 43, Route119_Movement_1F475A
+ waitmovement 0
+ return
+
+Route119_EventScript_1F46BB:: @ 81F46BB
+ applymovement 43, Route119_Movement_1F4763
+ waitmovement 0
+ return
+
+Route119_EventScript_1F46C6:: @ 81F46C6
+ applymovement 25, Route119_Movement_1F4728
+ waitmovement 0
+ return
+
+Route119_EventScript_1F46D1:: @ 81F46D1
+ applymovement 25, Route119_Movement_1F4732
+ waitmovement 0
+ return
+
+Route119_EventScript_1F46DC:: @ 81F46DC
+ applymovement 255, Route119_Movement_1F471E
+ applymovement 25, Route119_Movement_1F473D
+ waitmovement 0
+ return
+
+Route119_EventScript_1F46EE:: @ 81F46EE
+ applymovement 255, Route119_Movement_1F4723
+ applymovement 25, Route119_Movement_1F4747
+ waitmovement 0
+ return
+
+Route119_EventScript_1F4700:: @ 81F4700
+ setobjectxyperm 16, 25, 32
+ setobjectxyperm 25, 25, 32
+ return
+
+Route119_EventScript_1F470F:: @ 81F470F
+ setobjectxyperm 16, 26, 32
+ setobjectxyperm 25, 26, 32
+ return
+
+Route119_Movement_1F471E: @ 81F471E
+ step_14
+ step_28
+ step_13
+ step_26
+ step_end
+
+Route119_Movement_1F4723: @ 81F4723
+ step_14
+ step_27
+ step_13
+ step_26
+ step_end
+
+Route119_Movement_1F4728: @ 81F4728
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_16
+ step_end
+
+Route119_Movement_1F4732: @ 81F4732
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_16
+ step_end
+
+Route119_Movement_1F473D: @ 81F473D
+ step_18
+ step_16
+ step_16
+ step_16
+ step_18
+ step_16
+ step_16
+ step_16
+ step_16
+ step_end
+
+Route119_Movement_1F4747: @ 81F4747
+ step_17
+ step_16
+ step_16
+ step_16
+ step_18
+ step_18
+ step_16
+ step_16
+ step_16
+ step_16
+ step_end
+
+Route119_Movement_1F4752: @ 81F4752
+ step_down
+ step_down
+ step_down
+ step_down
+ step_left
+ step_left
+ step_down
+ step_end
+
+Route119_Movement_1F475A: @ 81F475A
+ step_up
+ step_right
+ step_right
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+Route119_Movement_1F4763: @ 81F4763
+ step_up
+ step_right
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+Route119_EventScript_1F476B:: @ 81F476B
+ msgbox Route119_Text_1F5261, 2
+ end
+
+Route119_EventScript_1F4774:: @ 81F4774
+ msgbox Route119_Text_1F530E, 3
+ end
+
+Route119_EventScript_1F477D:: @ 81F477D
+ msgbox Route119_Text_1F5327, 3
+ end
+
+Route119_EventScript_1F4786:: @ 81F4786
+ trainerbattle 0, TRAINER_BRENT, 0, Route119_Text_29D8C2, Route119_Text_29D8F0
+ msgbox Route119_Text_29D902, 6
+ end
+
+Route119_EventScript_1F479D:: @ 81F479D
+ trainerbattle 0, TRAINER_DONALD, 0, Route119_Text_29D941, Route119_Text_29D97C
+ msgbox Route119_Text_29D993, 6
+ end
+
+Route119_EventScript_1F47B4:: @ 81F47B4
+ trainerbattle 0, TRAINER_TAYLOR, 0, Route119_Text_29D9CD, Route119_Text_29DA14
+ msgbox Route119_Text_29DA2C, 6
+ end
+
+Route119_EventScript_1F47CB:: @ 81F47CB
+ trainerbattle 0, TRAINER_DOUG, 0, Route119_Text_29DA7D, Route119_Text_29DABC
+ msgbox Route119_Text_29DADB, 6
+ end
+
+Route119_EventScript_1F47E2:: @ 81F47E2
+ trainerbattle 0, TRAINER_GREG, 0, Route119_Text_29DB17, Route119_Text_29DB66
+ msgbox Route119_Text_29DB7C, 6
+ end
+
+Route119_EventScript_1F47F9:: @ 81F47F9
+ trainerbattle 0, TRAINER_KENT, 0, Route119_Text_29DBC2, Route119_Text_29DC20
+ msgbox Route119_Text_29DC2B, 6
+ end
+
+Route119_EventScript_1F4810:: @ 81F4810
+ trainerbattle 2, TRAINER_JACKSON_1, 0, Route119_Text_29DC4C, Route119_Text_29DC9F, Route119_EventScript_1F483C
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route119_EventScript_1F485B
+ msgbox Route119_Text_29DCC6, 4
+ release
+ end
+
+Route119_EventScript_1F483C:: @ 81F483C
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route119_Text_29DD1C, 4
+ setvar VAR_0x8004, 552
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 552
+ callstd 8
+ release
+ end
+
+Route119_EventScript_1F485B:: @ 81F485B
+ trainerbattle 5, TRAINER_JACKSON_1, 0, Route119_Text_29DD62, Route119_Text_29DDA5
+ msgbox Route119_Text_29DDBD, 6
+ end
+
+Route119_EventScript_1F4872:: @ 81F4872
+ trainerbattle 2, TRAINER_CATHERINE_1, 0, Route119_Text_29DE0F, Route119_Text_29DE5D, Route119_EventScript_1F489E
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route119_EventScript_1F48BD
+ msgbox Route119_Text_29DE88, 4
+ release
+ end
+
+Route119_EventScript_1F489E:: @ 81F489E
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route119_Text_29DEF7, 4
+ setvar VAR_0x8004, 559
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 559
+ callstd 8
+ release
+ end
+
+Route119_EventScript_1F48BD:: @ 81F48BD
+ trainerbattle 5, TRAINER_CATHERINE_1, 0, Route119_Text_29DF6B, Route119_Text_29DF92
+ msgbox Route119_Text_29DFAF, 6
+ end
+
+Route119_EventScript_1F48D4:: @ 81F48D4
+ trainerbattle 0, TRAINER_HUGH, 0, Route119_Text_29E007, Route119_Text_29E063
+ msgbox Route119_Text_29E071, 6
+ end
+
+Route119_EventScript_1F48EB:: @ 81F48EB
+ trainerbattle 0, TRAINER_PHIL, 0, Route119_Text_29E0A5, Route119_Text_29E0E1
+ msgbox Route119_Text_29E0F6, 6
+ end
+
+Route119_EventScript_1F4902:: @ 81F4902
+ trainerbattle 0, TRAINER_YASU, 0, Route119_Text_29E134, Route119_Text_29E18D
+ msgbox Route119_Text_29E19D, 6
+ end
+
+Route119_EventScript_1F4919:: @ 81F4919
+ trainerbattle 0, TRAINER_TAKASHI, 0, Route119_Text_29E1F5, Route119_Text_29E22B
+ msgbox Route119_Text_29E245, 6
+ end
+
+Route119_EventScript_1F4930:: @ 81F4930
+ trainerbattle 0, TRAINER_HIDEO, 0, Route119_Text_29E26A, Route119_Text_29E288
+ msgbox Route119_Text_29E2A3, 6
+ end
+
+Route119_EventScript_1F4947:: @ 81F4947
+ trainerbattle 0, TRAINER_CHRIS, 0, Route119_Text_29E30D, Route119_Text_29E372
+ msgbox Route119_Text_29E3A2, 6
+ end
+
+Route119_EventScript_1F495E:: @ 81F495E
+ trainerbattle 0, TRAINER_FABIAN, 0, Route119_Text_29E3FF, Route119_Text_29E44F
+ msgbox Route119_Text_29E492, 6
+ end
+
+Route119_EventScript_1F4975:: @ 81F4975
+ trainerbattle 0, TRAINER_DAYTON, 0, Route119_Text_29E4DF, Route119_Text_29E513
+ msgbox Route119_Text_29E532, 6
+ end
+
+Route119_EventScript_1F498C:: @ 81F498C
+ trainerbattle 0, TRAINER_RACHEL, 0, Route119_Text_29E56F, Route119_Text_29E5B1
+ msgbox Route119_Text_29E5CB, 6
+ end
+
+Route119_EventScript_1F49A3:: @ 81F49A3
+ lock
+ faceplayer
+ msgbox Route119_Text_1F50EB, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, Route119_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+Route119_EventScript_1F49BA:: @ 81F49BA
+ lock
+ faceplayer
+ msgbox Route119_Text_1F5147, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, Route119_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+Route119_EventScript_1F49D1:: @ 81F49D1
+ msgbox Route119_Text_1F51A2, 2
+ end
+
+Route119_EventScript_1F49DA:: @ 81F49DA
+ msgbox Route119_Text_1F52B9, 2
+ end
+
+Route119_EventScript_1F49E3:: @ 81F49E3
+ msgbox Route119_Text_1F5339, 3
+ end
+
+Route119_EventScript_1F49EC:: @ 81F49EC
+ lockall
+ pokenavcall Route119_Text_1F4FBA
+ waitmessage
+ clearflag FLAG_0x08A
+ addvar VAR_0x40D1, 1
+ releaseall
+ end
+
+Route119_Text_1F49FD: @ 81F49FD
+ .string "MAY: {PLAYER}{KUN}!\n"
+ .string "Where were you? I was looking for you!\p"
+ .string "How much stronger have you gotten?\n"
+ .string "Let me check for you!\p"
+ .string "Ready with your POKéMON?\n"
+ .string "Of course you are! Go!$"
+
+Route119_Text_1F4A98: @ 81F4A98
+ .string "Achah!\n"
+ .string "{PLAYER}{KUN}, you’re strong!\p"
+ .string "I was worried that you might be\n"
+ .string "struggling with your training.$"
+
+Route119_Text_1F4AF3: @ 81F4AF3
+ .string "MAY: But I had absolutely nothing to\n"
+ .string "worry about! Keep it up!\p"
+ .string "And, here! I have a present for you.$"
+
+Route119_Text_1F4B56: @ 81F4B56
+ .string "MAY: Use FLY, and your POKéMON will\n"
+ .string "instantly carry you to any town you’ve\l"
+ .string "already visited.\p"
+ .string "But, to use FLY, you have to get\n"
+ .string "the GYM BADGE from FORTREE CITY.\l"
+ .string "That’s important, so don’t forget.\p"
+ .string "You should FLY home and visit\n"
+ .string "LITTLEROOT for a change.\p"
+ .string "I bet your mom’s worried about you,\n"
+ .string "{PLAYER}{KUN}.\p"
+ .string "Well, let’s meet again somewhere!$"
+
+Route119_Text_1F4C9A: @ 81F4C9A
+ .string "BRENDAN: {PLAYER}! So this is where\n"
+ .string "you’ve been looking for POKéMON?\p"
+ .string "Let me see how good you got.\n"
+ .string "I’ll test you!\p"
+ .string "Now!\n"
+ .string "It’s a battle, so battle!$"
+
+Route119_Text_1F4D24: @ 81F4D24
+ .string "Hmm…\n"
+ .string "You’ve gotten pretty darn decent.$"
+
+Route119_Text_1F4D4B: @ 81F4D4B
+ .string "BRENDAN: I’d say you’re good enough\n"
+ .string "to search for POKéMON anywhere.\p"
+ .string "Here, I’ll give you this.\n"
+ .string "Try it out.$"
+
+Route119_Text_1F4DB5: @ 81F4DB5
+ .string "BRENDAN: Use FLY, and your POKéMON\n"
+ .string "instantly carries you to any town\l"
+ .string "you’ve already visited.\p"
+ .string "But you need the FORTREE GYM BADGE \n"
+ .string "to do that.\p"
+ .string "Anyway, I have to move along.$"
+
+Route119_Text_1F4E60: @ 81F4E60
+ .string "SCOTT: Hahahah!\n"
+ .string "Way to go, {PLAYER}{KUN}!\p"
+ .string "I just passed by a TRAINER riding\n"
+ .string "a BIKE.\p"
+ .string "You just beat that TRAINER, didn’t you?\n"
+ .string "It was pretty obvious that you did.\p"
+ .string "The kid looked really upset with\n"
+ .string "a face all red from anger.\p"
+ .string "I sure seem to run into you often.\n"
+ .string "Are you off to FORTREE GYM next?\p"
+ .string "I expect that you’ll do well at the GYM.\n"
+ .string "Well, I’ll be seeing you!$"
+
+
+Route119_Text_1F4FBA: @ 81F4FBA
+ .string "… … … … … …\n"
+ .string "… … … … … Beep!\p"
+ .string "SCOTT: Hiya, {PLAYER}{KUN}, it’s me!\p"
+ .string "Just as I thought, you won at\n"
+ .string "the FORTREE GYM.\p"
+ .string "Your strength…\n"
+ .string "Perhaps you really are the TRAINER\l"
+ .string "that I’ve been searching for.\p"
+ .string "Remember, you have a fan in me.\n"
+ .string "I’ll be cheering from the sidelines.\l"
+ .string "Keep up the great work!\p"
+ .string "… … … … … …\n"
+ .string "… … … … … Click!$"
+
+Route119_Text_1F50EB: @ 81F50EB
+ .string "We’re standing lookout here.\p"
+ .string "Hey, you! Stay away from the WEATHER\n"
+ .string "INSTITUTE. It’s not safe.$"
+
+Route119_Text_1F5147: @ 81F5147
+ .string "Lookout duty is surprisingly boring.\p"
+ .string "Hey, you! Please don’t go near the\n"
+ .string "WEATHER INSTITUTE.$"
+
+Route119_Text_1F51A2: @ 81F51A2
+ .string "I thought you FLY by catching a whole\n"
+ .string "flock of BIRD POKéMON, and then\l"
+ .string "hanging on to them somehow.\p"
+ .string "But it turns out there’s an HM move\n"
+ .string "called FLY!\p"
+ .string "I wish I’d known about that a long\n"
+ .string "time ago…$"
+
+Route119_Text_1F5261: @ 81F5261
+ .string "Tch…\n"
+ .string "It’s a no-go…\p"
+ .string "The tall grass snares BIKE tires.\n"
+ .string "There’s no way you can cycle here.$"
+
+Route119_Text_1F52B9: @ 81F52B9
+ .string "Can your POKéMON use its SECRET POWER\n"
+ .string "on a big pile of grass and make a\l"
+ .string "SECRET BASE?$"
+
+Route119_Text_1F530E: @ 81F530E
+ .string "ROUTE 119\n"
+ .string "{0x7C} FORTREE CITY$"
+
+Route119_Text_1F5327: @ 81F5327
+ .string "WEATHER INSTITUTE$"
+
+Route119_Text_1F5339: @ 81F5339
+ .string "TRAINER TIPS\p"
+ .string "Up to sixteen decorations and\n"
+ .string "furniture items can be placed in\l"
+ .string "a SECRET BASE.\p"
+ .string "Pick your favorite items and create\n"
+ .string "your very own SECRET BASE exactly the\l"
+ .string "way you want.$"
diff --git a/data/scripts/maps/Route119_House.inc b/data/scripts/maps/Route119_House.inc
new file mode 100644
index 000000000..5e633437d
--- /dev/null
+++ b/data/scripts/maps/Route119_House.inc
@@ -0,0 +1,27 @@
+Route119_House_MapScripts:: @ 8270965
+ .byte 0
+
+Route119_House_EventScript_270966:: @ 8270966
+ msgbox Route119_House_Text_270982, 2
+ end
+
+Route119_House_EventScript_27096F:: @ 827096F
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_WINGULL, 0
+ msgbox Route119_House_Text_270A17, 4
+ waitmoncry
+ release
+ end
+
+Route119_House_Text_270982: @ 8270982
+ .string "I heard about a cave called the CAVE\n"
+ .string "OF ORIGIN.\p"
+ .string "People rumor that the spirits of\n"
+ .string "POKéMON are revived there. Could\l"
+ .string "something like that really happen?$"
+
+Route119_House_Text_270A17: @ 8270A17
+ .string "WINGULL: Pihyoh!$"
+
diff --git a/data/scripts/maps/Route119_WeatherInstitute_1F.inc b/data/scripts/maps/Route119_WeatherInstitute_1F.inc
new file mode 100644
index 000000000..390783a79
--- /dev/null
+++ b/data/scripts/maps/Route119_WeatherInstitute_1F.inc
@@ -0,0 +1,139 @@
+Route119_WeatherInstitute_1F_MapScripts:: @ 826FA86
+ map_script 3, Route119_WeatherInstitute_1F_MapScript1_26FA8C
+ .byte 0
+
+Route119_WeatherInstitute_1F_MapScript1_26FA8C: @ 826FA8C
+ compare_var_to_value VAR_0x40B3, 0
+ call_if 1, Route119_WeatherInstitute_1F_EventScript_26FA98
+ end
+
+Route119_WeatherInstitute_1F_EventScript_26FA98:: @ 826FA98
+ setobjectxyperm 5, 0, 5
+ setobjectmovementtype 5, 10
+ return
+
+Route119_WeatherInstitute_1F_EventScript_26FAA4:: @ 826FAA4
+ lock
+ faceplayer
+ special sub_8138B10
+ compare_var_to_value VAR_0x40B3, 0
+ goto_eq Route119_WeatherInstitute_1F_EventScript_26FABE
+ msgbox Route119_WeatherInstitute_1F_Text_26FCE5, 4
+ release
+ end
+
+Route119_WeatherInstitute_1F_EventScript_26FABE:: @ 826FABE
+ msgbox Route119_WeatherInstitute_1F_Text_26FCB7, 4
+ release
+ end
+
+Route119_WeatherInstitute_1F_EventScript_26FAC8:: @ 826FAC8
+ lock
+ faceplayer
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_if 0, Route119_WeatherInstitute_1F_EventScript_26FB05
+ setvar VAR_0x8004, 0
+ checkflag FLAG_0x1BE
+ call_if 1, Route119_WeatherInstitute_1F_EventScript_26FAFF
+ checkflag FLAG_0x1BF
+ call_if 1, Route119_WeatherInstitute_1F_EventScript_26FAFF
+ compare_var_to_value VAR_0x8004, 2
+ goto_eq Route119_WeatherInstitute_1F_EventScript_26FB05
+ msgbox Route119_WeatherInstitute_1F_Text_26FDE8, 4
+ release
+ end
+
+Route119_WeatherInstitute_1F_EventScript_26FAFF:: @ 826FAFF
+ addvar VAR_0x8004, 1
+ return
+
+Route119_WeatherInstitute_1F_EventScript_26FB05:: @ 826FB05
+ msgbox Route119_WeatherInstitute_1F_Text_26FD2E, 4
+ release
+ end
+
+Route119_WeatherInstitute_1F_EventScript_26FB0F:: @ 826FB0F
+ msgbox Route119_WeatherInstitute_1F_Text_26FE94, 2
+ end
+
+Route119_WeatherInstitute_1F_EventScript_26FB18:: @ 826FB18
+ lockall
+ msgbox Route119_WeatherInstitute_1F_Text_26FEFC, 4
+ closemessage
+ call Route119_WeatherInstitute_1F_EventScript_272083
+ releaseall
+ end
+
+Route119_WeatherInstitute_1F_EventScript_26FB29:: @ 826FB29
+ trainerbattle 0, TRAINER_GRUNT_11, 0, Route119_WeatherInstitute_1F_Text_26FB57, Route119_WeatherInstitute_1F_Text_26FBBB
+ msgbox Route119_WeatherInstitute_1F_Text_26FBD7, 6
+ end
+
+Route119_WeatherInstitute_1F_EventScript_26FB40:: @ 826FB40
+ trainerbattle 0, TRAINER_GRUNT_20, 0, Route119_WeatherInstitute_1F_Text_26FC34, Route119_WeatherInstitute_1F_Text_26FC52
+ msgbox Route119_WeatherInstitute_1F_Text_26FC60, 6
+ end
+
+Route119_WeatherInstitute_1F_Text_26FB57: @ 826FB57
+ .string "The BOSS got interested in\n"
+ .string "the research they have going here,\l"
+ .string "so he sent us out.\p"
+ .string "You quit meddling!$"
+
+Route119_WeatherInstitute_1F_Text_26FBBB: @ 826FBBB
+ .string "Blast it…\n"
+ .string "Blasted by a kid…$"
+
+Route119_WeatherInstitute_1F_Text_26FBD7: @ 826FBD7
+ .string "Our BOSS knows everything.\p"
+ .string "But I’m just a GRUNT. What would I know\n"
+ .string "about what he’s thinking?$"
+
+Route119_WeatherInstitute_1F_Text_26FC34: @ 826FC34
+ .string "Huh?\n"
+ .string "What’s a kid doing here?$"
+
+Route119_WeatherInstitute_1F_Text_26FC52: @ 826FC52
+ .string "Huh?\n"
+ .string "I lost?!$"
+
+Route119_WeatherInstitute_1F_Text_26FC60: @ 826FC60
+ .string "Oh, no…\n"
+ .string "I’ll catch an earful for losing to a kid…\p"
+ .string "I should just take a nap in the bed…$"
+
+Route119_WeatherInstitute_1F_Text_26FCB7: @ 826FCB7
+ .string "While I was sleeping, everyone went\n"
+ .string "upstairs!$"
+
+Route119_WeatherInstitute_1F_Text_26FCE5: @ 826FCE5
+ .string "Wow, you’re really strong!\p"
+ .string "I wish I could be a POKéMON TRAINER\n"
+ .string "like you!$"
+
+Route119_WeatherInstitute_1F_Text_26FD2E: @ 826FD2E
+ .string "The PROFESSOR loves rain.\n"
+ .string "That’s a fact.\p"
+ .string "But if it keeps raining, people will be in\n"
+ .string "trouble. That’s another fact.\p"
+ .string "And thus, the PROFESSOR is studying\n"
+ .string "if the rain can be put to good use.$"
+
+Route119_WeatherInstitute_1F_Text_26FDE8: @ 826FDE8
+ .string "On the 2nd floor of the INSTITUTE,\n"
+ .string "we study the weather patterns over\l"
+ .string "the HOENN region.\p"
+ .string "We’ve been noticing temporary and\n"
+ .string "isolated cases of droughts and\l"
+ .string "heavy rain lately…$"
+
+Route119_WeatherInstitute_1F_Text_26FE94: @ 826FE94
+ .string "Hello!\n"
+ .string "We’ve been saved by your actions!\p"
+ .string "What I don’t understand is what on\n"
+ .string "earth the AQUAS were up to.$"
+
+Route119_WeatherInstitute_1F_Text_26FEFC: @ 826FEFC
+ .string "There’s a bed…\n"
+ .string "Let’s take a rest.$"
+
diff --git a/data/scripts/maps/Route119_WeatherInstitute_2F.inc b/data/scripts/maps/Route119_WeatherInstitute_2F.inc
new file mode 100644
index 000000000..29d106dfe
--- /dev/null
+++ b/data/scripts/maps/Route119_WeatherInstitute_2F.inc
@@ -0,0 +1,339 @@
+Route119_WeatherInstitute_2F_MapScripts:: @ 826FF1E
+ map_script 3, Route119_WeatherInstitute_2F_MapScript1_26FF24
+ .byte 0
+
+Route119_WeatherInstitute_2F_MapScript1_26FF24: @ 826FF24
+ compare_var_to_value VAR_0x40B3, 0
+ call_if 1, Route119_WeatherInstitute_2F_EventScript_26FF44
+ compare_var_to_value VAR_0x40B3, 1
+ call_if 1, Route119_WeatherInstitute_2F_EventScript_26FF50
+ checkflag FLAG_SYS_GAME_CLEAR
+ call_if 1, Route119_WeatherInstitute_2F_EventScript_26FF5C
+ end
+
+Route119_WeatherInstitute_2F_EventScript_26FF44:: @ 826FF44
+ setobjectxyperm 5, 1, 6
+ setobjectmovementtype 5, 10
+ return
+
+Route119_WeatherInstitute_2F_EventScript_26FF50:: @ 826FF50
+ setobjectxyperm 5, 4, 6
+ setobjectmovementtype 5, 10
+ return
+
+Route119_WeatherInstitute_2F_EventScript_26FF5C:: @ 826FF5C
+ setobjectxyperm 5, 2, 2
+ setobjectmovementtype 5, 7
+ return
+
+Route119_WeatherInstitute_2F_EventScript_26FF68:: @ 826FF68
+ trainerbattle 0, TRAINER_GRUNT_37, 0, Route119_WeatherInstitute_2F_Text_270335, Route119_WeatherInstitute_2F_Text_27039F
+ msgbox Route119_WeatherInstitute_2F_Text_2703C0, 6
+ end
+
+Route119_WeatherInstitute_2F_EventScript_26FF7F:: @ 826FF7F
+ trainerbattle 0, TRAINER_GRUNT_12, 0, Route119_WeatherInstitute_2F_Text_27019C, Route119_WeatherInstitute_2F_Text_270208
+ msgbox Route119_WeatherInstitute_2F_Text_27022B, 6
+ end
+
+Route119_WeatherInstitute_2F_EventScript_26FF96:: @ 826FF96
+ trainerbattle 0, TRAINER_GRUNT_13, 0, Route119_WeatherInstitute_2F_Text_270292, Route119_WeatherInstitute_2F_Text_2702CE
+ msgbox Route119_WeatherInstitute_2F_Text_2702DA, 6
+ end
+
+Route119_WeatherInstitute_2F_EventScript_26FFAD:: @ 826FFAD
+ trainerbattle 2, TRAINER_SHELLY_1, 0, Route119_WeatherInstitute_2F_Text_270409, Route119_WeatherInstitute_2F_Text_2704BD, Route119_WeatherInstitute_2F_EventScript_26FFC8
+ msgbox Route119_WeatherInstitute_2F_Text_2704E4, 6
+ end
+
+Route119_WeatherInstitute_2F_EventScript_26FFC8:: @ 826FFC8
+ msgbox Route119_WeatherInstitute_2F_Text_2704E4, 4
+ closemessage
+ addobject 7
+ applymovement 7, Route119_WeatherInstitute_2F_Movement_270170
+ applymovement 255, Route119_WeatherInstitute_2F_Movement_27017C
+ waitmovement 0
+ msgbox Route119_WeatherInstitute_2F_Text_270568, 4
+ closemessage
+ playse SE_PIN
+ applymovement 3, Route119_WeatherInstitute_2F_Movement_272598
+ waitmovement 0
+ applymovement 3, Route119_WeatherInstitute_2F_Movement_27259A
+ waitmovement 0
+ msgbox Route119_WeatherInstitute_2F_Text_2705DD, 4
+ closemessage
+ setvar VAR_0x40B3, 1
+ clearflag FLAG_0x37D
+ fadedefaultbgm
+ fadescreen 1
+ setflag FLAG_0x37A
+ setflag FLAG_0x3E0
+ removeobject 1
+ removeobject 2
+ removeobject 3
+ removeobject 8
+ removeobject 7
+ applymovement 255, Route119_WeatherInstitute_2F_Movement_270184
+ waitmovement 0
+ fadescreen 0
+ applymovement 5, Route119_WeatherInstitute_2F_Movement_270187
+ waitmovement 0
+ moveobjectoffscreen 5
+ goto Route119_WeatherInstitute_2F_EventScript_27004D
+ end
+
+Route119_WeatherInstitute_2F_EventScript_27004D:: @ 827004D
+ msgbox Route119_WeatherInstitute_2F_Text_270650, 4
+ setvar VAR_0x4001, 385
+ givemon SPECIES_CASTFORM, 25, ITEM_MYSTIC_WATER, 0x0, 0x0, 0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route119_WeatherInstitute_2F_EventScript_270085
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route119_WeatherInstitute_2F_EventScript_2700AD
+ goto Route119_WeatherInstitute_2F_EventScript_273811
+ end
+
+Route119_WeatherInstitute_2F_EventScript_270085:: @ 8270085
+ call Route119_WeatherInstitute_2F_EventScript_2700DB
+ msgbox gUnknown_08273374, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route119_WeatherInstitute_2F_EventScript_2700EA
+ call Route119_WeatherInstitute_2F_EventScript_27378B
+ call Route119_WeatherInstitute_2F_EventScript_2723DD
+ goto Route119_WeatherInstitute_2F_EventScript_2700EA
+ end
+
+Route119_WeatherInstitute_2F_EventScript_2700AD:: @ 82700AD
+ call Route119_WeatherInstitute_2F_EventScript_2700DB
+ msgbox gUnknown_08273374, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route119_WeatherInstitute_2F_EventScript_2700D0
+ call Route119_WeatherInstitute_2F_EventScript_273797
+ goto Route119_WeatherInstitute_2F_EventScript_2700D0
+ end
+
+Route119_WeatherInstitute_2F_EventScript_2700D0:: @ 82700D0
+ call Route119_WeatherInstitute_2F_EventScript_2737A0
+ goto Route119_WeatherInstitute_2F_EventScript_2700EA
+ end
+
+Route119_WeatherInstitute_2F_EventScript_2700DB:: @ 82700DB
+ playfanfare BGM_FANFA4
+ message Route119_WeatherInstitute_2F_Text_2706E8
+ waitmessage
+ waitfanfare
+ bufferspeciesname 0, SPECIES_CASTFORM
+ return
+
+Route119_WeatherInstitute_2F_EventScript_2700EA:: @ 82700EA
+ msgbox Route119_WeatherInstitute_2F_Text_2706FE, 4
+ setflag FLAG_0x097
+ release
+ end
+
+Route119_WeatherInstitute_2F_EventScript_2700F7:: @ 82700F7
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_eq Route119_WeatherInstitute_2F_EventScript_27010A
+ msgbox Route119_WeatherInstitute_2F_Text_27077E, 4
+ release
+ end
+
+Route119_WeatherInstitute_2F_EventScript_27010A:: @ 827010A
+ setvar VAR_0x8004, 0
+ checkflag FLAG_0x1BE
+ call_if 1, Route119_WeatherInstitute_2F_EventScript_270160
+ checkflag FLAG_0x1BF
+ call_if 1, Route119_WeatherInstitute_2F_EventScript_270160
+ compare_var_to_value VAR_0x8004, 2
+ goto_eq Route119_WeatherInstitute_2F_EventScript_270166
+ checkflag FLAG_0x002
+ call_if 0, Route119_WeatherInstitute_2F_EventScript_270159
+ specialvar VAR_RESULT, sub_813B374
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route119_WeatherInstitute_2F_EventScript_27014F
+ msgbox Route119_WeatherInstitute_2F_Text_2707F1, 4
+ release
+ end
+
+Route119_WeatherInstitute_2F_EventScript_27014F:: @ 827014F
+ msgbox Route119_WeatherInstitute_2F_Text_270873, 4
+ release
+ end
+
+Route119_WeatherInstitute_2F_EventScript_270159:: @ 8270159
+ special sub_813B2E4
+ setflag FLAG_0x002
+ return
+
+Route119_WeatherInstitute_2F_EventScript_270160:: @ 8270160
+ addvar VAR_0x8004, 1
+ return
+
+Route119_WeatherInstitute_2F_EventScript_270166:: @ 8270166
+ msgbox Route119_WeatherInstitute_2F_Text_2708FC, 4
+ release
+ end
+
+Route119_WeatherInstitute_2F_Movement_270170: @ 8270170
+ step_17
+ step_17
+ step_17
+ step_17
+ step_17
+ step_17
+ step_17
+ step_17
+ step_17
+ step_17
+ step_17
+ step_end
+
+Route119_WeatherInstitute_2F_Movement_27017C: @ 827017C
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_2a
+ step_25
+ step_end
+
+Route119_WeatherInstitute_2F_Movement_270184: @ 8270184
+ step_31
+ step_27
+ step_end
+
+Route119_WeatherInstitute_2F_Movement_270187: @ 8270187
+ step_right
+ step_right
+ step_right
+ step_end
+
+Route119_WeatherInstitute_2F_EventScript_27018B:: @ 827018B
+ lock
+ faceplayer
+ checkflag FLAG_0x097
+ goto_eq Route119_WeatherInstitute_2F_EventScript_2700F7
+ goto Route119_WeatherInstitute_2F_EventScript_27004D
+ end
+
+Route119_WeatherInstitute_2F_Text_27019C: @ 827019C
+ .string "The INSTITUTE created a type of\n"
+ .string "POKéMON that has something to do with\l"
+ .string "the weather. We’re here to take them!$"
+
+Route119_WeatherInstitute_2F_Text_270208: @ 8270208
+ .string "Our plan’s being spoiled by a kid?$"
+
+Route119_WeatherInstitute_2F_Text_27022B: @ 827022B
+ .string "If the POKéMON they made here can\n"
+ .string "control the weather freely, then we of\l"
+ .string "TEAM AQUA definitely need it!$"
+
+Route119_WeatherInstitute_2F_Text_270292: @ 8270292
+ .string "We’re TEAM AQUA!\n"
+ .string "We appear wherever anything rare is\l"
+ .string "found!$"
+
+Route119_WeatherInstitute_2F_Text_2702CE: @ 82702CE
+ .string "You got me!$"
+
+Route119_WeatherInstitute_2F_Text_2702DA: @ 82702DA
+ .string "You don’t have any idea what we of\n"
+ .string "TEAM AQUA are working towards!\l"
+ .string "You stay out of our way!$"
+
+Route119_WeatherInstitute_2F_Text_270335: @ 8270335
+ .string "Don’t tell me you’re looking for that\n"
+ .string "weather POKéMON, too?\p"
+ .string "That’s a no-no!\n"
+ .string "We were here to get it first!$"
+
+Route119_WeatherInstitute_2F_Text_27039F: @ 827039F
+ .string "Oh, will you look at my POKéMON?$"
+
+Route119_WeatherInstitute_2F_Text_2703C0: @ 82703C0
+ .string "Humph, so what?\n"
+ .string "What we want…\p"
+ .string "What we really want isn’t here…\n"
+ .string "Ihihihihi…$"
+
+Route119_WeatherInstitute_2F_Text_270409: @ 8270409
+ .string "Ahahahaha!\p"
+ .string "You’re going to meddle in TEAM AQUA’s\n"
+ .string "affairs?\p"
+ .string "You’re either absolutely fearless,\n"
+ .string "simply ignorant, or both!\p"
+ .string "You’re so cute, you’re disgusting!\n"
+ .string "I’ll put you down, kiddy!$"
+
+Route119_WeatherInstitute_2F_Text_2704BD: @ 82704BD
+ .string "Ahahahaha!\n"
+ .string "You’re disgustingly strong!$"
+
+Route119_WeatherInstitute_2F_Text_2704E4: @ 82704E4
+ .string "It’s bad enough to have TEAM MAGMA\n"
+ .string "blunder about, but now there’s you!\p"
+ .string "What makes you want to sniff around\n"
+ .string "in our business, anyway?$"
+
+Route119_WeatherInstitute_2F_Text_270568: @ 8270568
+ .string "We have a situation here!\p"
+ .string "A TEAM MAGMA mob just passed\n"
+ .string "the WEATHER INSTITUTE.\p"
+ .string "They appear to be headed for\n"
+ .string "MT. PYRE!$"
+
+Route119_WeatherInstitute_2F_Text_2705DD: @ 82705DD
+ .string "What?!\p"
+ .string "We can’t waste any more time here!\n"
+ .string "We have to hurry to MT. PYRE, too!\p"
+ .string "Ahahahaha!\n"
+ .string "TEAM MAGMA, just you wait!$"
+
+Route119_WeatherInstitute_2F_Text_270650: @ 8270650
+ .string "Thanks!\n"
+ .string "Thanks to you, we’re safe!\p"
+ .string "It might be an odd way of thanking you,\n"
+ .string "but take this POKéMON.$"
+
+Route119_WeatherInstitute_2F_Text_2706B2: @ 82706B2
+ .string "Hm? You don’t seem to have any room\n"
+ .string "for this POKéMON.$"
+
+Route119_WeatherInstitute_2F_Text_2706E8: @ 82706E8
+ .string "{PLAYER} received CASTFORM!$"
+
+Route119_WeatherInstitute_2F_Text_2706FE: @ 82706FE
+ .string "That POKéMON changes shape according\n"
+ .string "to the weather conditions.\p"
+ .string "There’re plenty of them in the\n"
+ .string "INSTITUTE--go ahead and take it.$"
+
+Route119_WeatherInstitute_2F_Text_27077E: @ 827077E
+ .string "I’ve been researching rain for many\n"
+ .string "years, but it’s ridiculous to think that\l"
+ .string "humans can freely change the weather.$"
+
+Route119_WeatherInstitute_2F_Text_2707F1: @ 82707F1
+ .string "I track weather patterns over\n"
+ .string "the HOENN region.\p"
+ .string "Presently, a drought has been recorded\n"
+ .string "in {STR_VAR_1}.\p"
+ .string "Could that mean, somewhere near\n"
+ .string "{STR_VAR_1}…$"
+
+Route119_WeatherInstitute_2F_Text_270873: @ 8270873
+ .string "I track weather patterns over\n"
+ .string "the HOENN region.\p"
+ .string "Presently, heavy rainfall has been\n"
+ .string "recorded over {STR_VAR_1}.\p"
+ .string "Could that mean, somewhere near\n"
+ .string "{STR_VAR_1}…$"
+
+Route119_WeatherInstitute_2F_Text_2708FC: @ 82708FC
+ .string "Abnormal weather conditions are\n"
+ .string "no longer being reported.\p"
+ .string "The occasional rainfall is a blessing,\n"
+ .string "really.$"
+
diff --git a/data/scripts/maps/Route120.inc b/data/scripts/maps/Route120.inc
new file mode 100644
index 000000000..aaffe0f12
--- /dev/null
+++ b/data/scripts/maps/Route120.inc
@@ -0,0 +1,466 @@
+Route120_MapScripts:: @ 81F53EC
+ map_script 5, Route120_MapScript1_1F53FC
+ map_script 3, Route120_MapScript1_1F54CD
+ map_script 1, Route120_MapScript1_1F5474
+ .byte 0
+
+Route120_MapScript1_1F53FC: @ 81F53FC
+ checkflag FLAG_SYS_CTRL_OBJ_DELETE
+ call_if 1, Route120_EventScript_1F5406
+ end
+
+Route120_EventScript_1F5406:: @ 81F5406
+ compare_var_to_value VAR_0x8009, 0
+ call_if 1, Route120_EventScript_1F5449
+ compare_var_to_value VAR_0x8009, 1
+ call_if 1, Route120_EventScript_1F5460
+ compare_var_to_value VAR_0x8009, 2
+ call_if 1, Route120_EventScript_1F5460
+ compare_var_to_value VAR_0x8009, 3
+ call_if 1, Route120_EventScript_1F5460
+ compare_var_to_value VAR_0x8009, 4
+ call_if 1, Route120_EventScript_1F5460
+ compare_var_to_value VAR_0x8009, 5
+ call_if 1, Route120_EventScript_1F5460
+ return
+
+Route120_EventScript_1F5449:: @ 81F5449
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 7
+ goto_if 5, Route120_EventScript_27374E
+ removeobject 30
+ removeobject 36
+ return
+
+Route120_EventScript_1F5460:: @ 81F5460
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 7
+ goto_if 5, Route120_EventScript_27374E
+ removeobject VAR_LAST_TALKED
+ return
+
+Route120_MapScript1_1F5474: @ 81F5474
+ checkflag FLAG_0x0E4
+ call_if 0, Route120_EventScript_1F5490
+ checkflag FLAG_0x11D
+ call_if 1, Route120_EventScript_1F54A3
+ checkflag FLAG_0x11D
+ call_if 0, Route120_EventScript_1F54C8
+ end
+
+Route120_EventScript_1F5490:: @ 81F5490
+ setmetatile 7, 54, 124, 1
+ setmetatile 7, 55, 145, 1
+ return
+
+Route120_EventScript_1F54A3:: @ 81F54A3
+ setmetatile 13, 15, 663, 0
+ setmetatile 12, 16, 671, 0
+ setmetatile 12, 17, 161, 0
+ setmetatile 13, 17, 161, 0
+ return
+
+Route120_EventScript_1F54C8:: @ 81F54C8
+ setobjectmovementtype 36, 10
+ return
+
+Route120_MapScript1_1F54CD: @ 81F54CD
+ call Route120_EventScript_28CCC7
+ call Route120_EventScript_1F54D8
+ end
+
+Route120_EventScript_1F54D8:: @ 81F54D8
+ getplayerxy VAR_0x4000, VAR_0x4001
+ compare_var_to_value VAR_0x4001, 14
+ goto_if 3, Route120_EventScript_1F5503
+ compare_var_to_value VAR_0x4001, 60
+ goto_if 3, Route120_EventScript_1F5507
+ compare_var_to_value VAR_0x4001, 61
+ goto_if 4, Route120_EventScript_1F54FF
+ return
+
+Route120_EventScript_1F54FF:: @ 81F54FF
+ setweather 1
+ return
+
+Route120_EventScript_1F5503:: @ 81F5503
+ setweather 2
+ return
+
+Route120_EventScript_1F5507:: @ 81F5507
+ compare_var_to_value VAR_0x4000, 7
+ goto_if 3, Route120_EventScript_1F5523
+ compare_var_to_value VAR_0x4000, 19
+ goto_if 3, Route120_EventScript_1F5503
+ goto Route120_EventScript_1F5523
+ end
+
+Route120_EventScript_1F5523:: @ 81F5523
+ setweather 3
+ return
+
+Route120_EventScript_1F5527:: @ 81F5527
+ lock
+ faceplayer
+ dodailyevents
+ checkflag FLAG_0x92E
+ goto_eq Route120_EventScript_1F5625
+ msgbox Route120_Text_2A70C7, 5
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, Route120_EventScript_1F562F
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, Route120_EventScript_1F5638
+ specialvar VAR_RESULT, sub_8138AF0
+ switch VAR_RESULT
+ case 0, Route120_EventScript_1F55CA
+ case 5, Route120_EventScript_1F55CA
+ case 1, Route120_EventScript_1F55D5
+ case 6, Route120_EventScript_1F55D5
+ case 2, Route120_EventScript_1F55E0
+ case 7, Route120_EventScript_1F55E0
+ case 3, Route120_EventScript_1F55EB
+ case 8, Route120_EventScript_1F55EB
+ case 4, Route120_EventScript_1F55F6
+ case 9, Route120_EventScript_1F55F6
+ end
+
+Route120_EventScript_1F55CA:: @ 81F55CA
+ setvar VAR_0x8004, 143
+ goto Route120_EventScript_1F5601
+ end
+
+Route120_EventScript_1F55D5:: @ 81F55D5
+ setvar VAR_0x8004, 144
+ goto Route120_EventScript_1F5601
+ end
+
+Route120_EventScript_1F55E0:: @ 81F55E0
+ setvar VAR_0x8004, 145
+ goto Route120_EventScript_1F5601
+ end
+
+Route120_EventScript_1F55EB:: @ 81F55EB
+ setvar VAR_0x8004, 146
+ goto Route120_EventScript_1F5601
+ end
+
+Route120_EventScript_1F55F6:: @ 81F55F6
+ setvar VAR_0x8004, 147
+ goto Route120_EventScript_1F5601
+ end
+
+Route120_EventScript_1F5601:: @ 81F5601
+ giveitem_std VAR_0x8004
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route120_EventScript_272054
+ setflag FLAG_0x92E
+ msgbox Route120_Text_2A71D5, 4
+ release
+ end
+
+Route120_EventScript_1F5625:: @ 81F5625
+ msgbox Route120_Text_2A7217, 4
+ release
+ end
+
+Route120_EventScript_1F562F:: @ 81F562F
+ msgbox Route120_Text_2A7147, 4
+ return
+
+Route120_EventScript_1F5638:: @ 81F5638
+ msgbox Route120_Text_2A7183, 4
+ return
+
+Route120_EventScript_1F5641:: @ 81F5641
+ lock
+ faceplayer
+ checkflag FLAG_0x122
+ goto_eq Route120_EventScript_1F5672
+ msgbox Route120_Text_1F5998, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route120_EventScript_1F5665
+ goto Route120_EventScript_1F568B
+ end
+
+Route120_EventScript_1F5665:: @ 81F5665
+ msgbox Route120_Text_1F5AAC, 4
+ setflag FLAG_0x122
+ release
+ end
+
+Route120_EventScript_1F5672:: @ 81F5672
+ msgbox Route120_Text_1F5ADE, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route120_EventScript_1F5665
+ goto Route120_EventScript_1F568B
+ end
+
+Route120_EventScript_1F568B:: @ 81F568B
+ msgbox Route120_Text_1F5B0F, 4
+ closemessage
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, Route120_EventScript_1F57A3
+ compare_var_to_value VAR_FACING, 3
+ call_if 1, Route120_EventScript_1F57AE
+ applymovement 31, Route120_Movement_2725A4
+ waitmovement 0
+ delay 20
+ msgbox Route120_Text_1F5B43, 4
+ closemessage
+ applymovement 30, Route120_Movement_2725A8
+ waitmovement 0
+ applymovement 30, Route120_Movement_2723C7
+ waitmovement 0
+ waitse
+ playmoncry SPECIES_KECLEON, 2
+ delay 40
+ waitmoncry
+ setwildbattle SPECIES_KECLEON, 30, ITEM_NONE
+ setvar VAR_0x8009, 0
+ setflag FLAG_SYS_CTRL_OBJ_DELETE
+ dowildbattle
+ clearflag FLAG_SYS_CTRL_OBJ_DELETE
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route120_EventScript_1F571C
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq Route120_EventScript_1F571C
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq Route120_EventScript_1F571C
+ goto Route120_EventScript_1F572C
+ end
+
+Route120_EventScript_1F571C:: @ 81F571C
+ fadescreenswapbuffers 1
+ removeobject 30
+ removeobject 36
+ fadescreenswapbuffers 0
+ goto Route120_EventScript_1F572C
+ end
+
+Route120_EventScript_1F572C:: @ 81F572C
+ applymovement 31, Route120_Movement_2725AA
+ applymovement 255, Route120_Movement_2725A6
+ waitmovement 0
+ msgbox Route120_Text_1F5BAF, 4
+ giveitem_std ITEM_DEVON_SCOPE
+ setflag FLAG_0x11D
+ msgbox Route120_Text_1F5C7B, 4
+ closemessage
+ applymovement 31, Route120_Movement_2725AA
+ waitmovement 0
+ delay 50
+ setfieldeffectargument 0, 1
+ dofieldeffect 30
+ delay 15
+ removeobject 31
+ waitfieldeffect 30
+ setmetatile 13, 15, 663, 0
+ setmetatile 12, 16, 671, 0
+ setmetatile 12, 17, 161, 0
+ setmetatile 13, 17, 161, 0
+ special DrawWholeMapView
+ release
+ end
+
+Route120_EventScript_1F57A3:: @ 81F57A3
+ applymovement 255, Route120_Movement_2725A4
+ waitmovement 0
+ return
+
+Route120_EventScript_1F57AE:: @ 81F57AE
+ applymovement 255, Route120_Movement_1F57B9
+ waitmovement 0
+ return
+
+Route120_Movement_1F57B9: @ 81F57B9
+ step_down
+ step_left
+ step_end
+
+Route120_EventScript_1F57BC:: @ 81F57BC
+ msgbox Route120_Text_1F5D00, 2
+ end
+
+Route120_EventScript_1F57C5:: @ 81F57C5
+ msgbox Route120_Text_1F5DCB, 3
+ end
+
+Route120_EventScript_1F57CE:: @ 81F57CE
+ msgbox Route120_Text_1F5DE4, 3
+ end
+
+Route120_EventScript_1F57D7:: @ 81F57D7
+ trainerbattle 0, TRAINER_COLIN, 0, Route120_Text_29E62D, Route120_Text_29E665
+ msgbox Route120_Text_29E67A, 6
+ end
+
+Route120_EventScript_1F57EE:: @ 81F57EE
+ trainerbattle 2, TRAINER_ROBERT_1, 0, Route120_Text_29E6E3, Route120_Text_29E70A, Route120_EventScript_1F581A
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route120_EventScript_1F5839
+ msgbox Route120_Text_29E726, 4
+ release
+ end
+
+Route120_EventScript_1F581A:: @ 81F581A
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route120_Text_29E75D, 4
+ setvar VAR_0x8004, 406
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 406
+ callstd 8
+ release
+ end
+
+Route120_EventScript_1F5839:: @ 81F5839
+ trainerbattle 5, TRAINER_ROBERT_1, 0, Route120_Text_29E7AA, Route120_Text_29E7E1
+ msgbox Route120_Text_29E804, 6
+ end
+
+Route120_EventScript_1F5850:: @ 81F5850
+ trainerbattle 0, TRAINER_LORENZO, 0, Route120_Text_29E843, Route120_Text_29E884
+ msgbox Route120_Text_29E8C5, 6
+ end
+
+Route120_EventScript_1F5867:: @ 81F5867
+ trainerbattle 0, TRAINER_JENNA, 0, Route120_Text_29E91C, Route120_Text_29E980
+ msgbox Route120_Text_29E996, 6
+ end
+
+Route120_EventScript_1F587E:: @ 81F587E
+ trainerbattle 2, TRAINER_JEFFREY_1, 0, Route120_Text_29E9D7, Route120_Text_29E9FF, Route120_EventScript_1F58AA
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route120_EventScript_1F58C9
+ msgbox Route120_Text_29EA08, 4
+ release
+ end
+
+Route120_EventScript_1F58AA:: @ 81F58AA
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route120_Text_29EA31, 4
+ setvar VAR_0x8004, 226
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 226
+ callstd 8
+ release
+ end
+
+Route120_EventScript_1F58C9:: @ 81F58C9
+ trainerbattle 5, TRAINER_JEFFREY_1, 0, Route120_Text_29EA61, Route120_Text_29EA8F
+ msgbox Route120_Text_29EAA9, 6
+ end
+
+Route120_EventScript_1F58E0:: @ 81F58E0
+ trainerbattle 0, TRAINER_JENNIFER, 0, Route120_Text_29EAEF, Route120_Text_29EB53
+ msgbox Route120_Text_29EB6E, 6
+ end
+
+Route120_EventScript_1F58F7:: @ 81F58F7
+ trainerbattle 0, TRAINER_CHIP, 0, Route120_Text_29EBAF, Route120_Text_29EC25
+ msgbox Route120_Text_29EC41, 6
+ end
+
+Route120_EventScript_1F590E:: @ 81F590E
+ trainerbattle 0, TRAINER_CLARISSA, 0, Route120_Text_29ECA6, Route120_Text_29ECEF
+ msgbox Route120_Text_29ED19, 6
+ end
+
+Route120_EventScript_1F5925:: @ 81F5925
+ trainerbattle 0, TRAINER_ANGELICA, 0, Route120_Text_29ED71, Route120_Text_29EDD3
+ msgbox Route120_Text_29EDF7, 6
+ end
+
+Route120_EventScript_1F593C:: @ 81F593C
+ trainerbattle 0, TRAINER_KEIGO, 0, Route120_Text_29EE50, Route120_Text_29EE97
+ msgbox Route120_Text_29EED4, 6
+ end
+
+Route120_EventScript_1F5953:: @ 81F5953
+ trainerbattle 0, TRAINER_RILEY, 0, Route120_Text_29EF08, Route120_Text_29EF63
+ msgbox Route120_Text_29EF89, 6
+ end
+
+Route120_EventScript_1F596A:: @ 81F596A
+ trainerbattle 0, TRAINER_LEONEL, 0, Route120_Text_29F04F, Route120_Text_29F080
+ msgbox Route120_Text_29F0A1, 6
+ end
+
+Route120_EventScript_1F5981:: @ 81F5981
+ trainerbattle 0, TRAINER_CALLIE, 0, Route120_Text_29EFB1, Route120_Text_29EFE1
+ msgbox Route120_Text_29F002, 6
+ end
+
+Route120_Text_1F5998: @ 81F5998
+ .string "STEVEN: Hm? {PLAYER}{KUN}, hi.\n"
+ .string "It’s been a while.\p"
+ .string "There’s something here that you can’t\n"
+ .string "see, right?\p"
+ .string "Now, if I were to use this device on\n"
+ .string "the invisible obstacle…\p"
+ .string "No, no. Rather than describing it,\n"
+ .string "I should just show you.\l"
+ .string "That would be more fun.\p"
+ .string "{PLAYER}{KUN}, are your POKéMON ready for\n"
+ .string "battle?$"
+
+Route120_Text_1F5AAC: @ 81F5AAC
+ .string "STEVEN: No?\p"
+ .string "I’ll wait here, so you can get ready.$"
+
+Route120_Text_1F5ADE: @ 81F5ADE
+ .string "STEVEN: {PLAYER}{KUN}, are your POKéMON\n"
+ .string "ready for battle?$"
+
+Route120_Text_1F5B0F: @ 81F5B0F
+ .string "STEVEN: {PLAYER}{KUN}, show me your true\n"
+ .string "power as a TRAINER!$"
+
+Route120_Text_1F5B43: @ 81F5B43
+ .string "STEVEN used the DEVON SCOPE.\p"
+ .string "An invisible POKéMON became completely\n"
+ .string "visible!\p"
+ .string "The startled POKéMON attacked!$"
+
+Route120_Text_1F5BAF: @ 81F5BAF
+ .string "STEVEN: I see…\n"
+ .string "Your battle style is intriguing.\p"
+ .string "Your POKéMON have obviously grown\n"
+ .string "since I first met you in DEWFORD.\p"
+ .string "I’d like you to have this\n"
+ .string "DEVON SCOPE.\p"
+ .string "Who knows, there may be other\n"
+ .string "concealed POKéMON.$"
+
+Route120_Text_1F5C7B: @ 81F5C7B
+ .string "STEVEN: {PLAYER}{KUN}.\p"
+ .string "I enjoy seeing POKéMON and TRAINERS\n"
+ .string "who strive together.\p"
+ .string "I think you’re doing great.\p"
+ .string "Well, let’s meet again somewhere.$"
+
+Route119_Text_1F5D00: @ 81F5D00
+Route120_Text_1F5D00: @ 81F5D00
+ .string "Something unseeable is in the way.$"
+
+Route119_Text_1F5D23: @ 81F5D23
+ .string "Something unseeable is in the way.\p"
+ .string "Want to use the DEVON SCOPE?$"
+
+Route119_Text_1F5D63: @ 81F5D63
+ .string "{PLAYER} used the DEVON SCOPE.\p"
+ .string "An invisible POKéMON became completely\n"
+ .string "visible!\p"
+ .string "The startled POKéMON attacked!$"
+
+Route120_Text_1F5DCB: @ 81F5DCB
+ .string "ROUTE 120\n"
+ .string "{0x7B} FORTREE CITY$"
+
+Route120_Text_1F5DE4: @ 81F5DE4
+ .string "{0x7C} ROUTE 121\n"
+ .string "{0x7B} ROUTE 120$"
diff --git a/data/scripts/maps/Route121.inc b/data/scripts/maps/Route121.inc
new file mode 100644
index 000000000..0d1f8863e
--- /dev/null
+++ b/data/scripts/maps/Route121.inc
@@ -0,0 +1,200 @@
+Route121_MapScripts:: @ 81F5DFC
+ .byte 0
+
+Route121_EventScript_1F5DFD:: @ 81F5DFD
+ msgbox Route121_Text_1F607F, 2
+ end
+
+Route121_EventScript_1F5E06:: @ 81F5E06
+ msgbox Route121_Text_1F60D3, 3
+ end
+
+Route121_EventScript_1F5E0F:: @ 81F5E0F
+ msgbox Route121_Text_1F611E, 3
+ end
+
+Route121_EventScript_1F5E18:: @ 81F5E18
+ lockall
+ playbgm BGM_AQA_0, 0
+ applymovement 13, Route121_Movement_2725B8
+ waitmovement 0
+ msgbox Route121_Text_1F605A, 4
+ closemessage
+ applymovement 12, Route121_Movement_1F5E59
+ applymovement 13, Route121_Movement_1F5E62
+ applymovement 14, Route121_Movement_1F5E6B
+ waitmovement 0
+ fadedefaultbgm
+ removeobject 12
+ removeobject 13
+ removeobject 14
+ setvar VAR_0x4074, 1
+ releaseall
+ end
+
+Route121_Movement_1F5E59: @ 81F5E59
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+Route121_Movement_1F5E62: @ 81F5E62
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+Route121_Movement_1F5E6B: @ 81F5E6B
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+Route121_EventScript_1F5E74:: @ 81F5E74
+ trainerbattle 0, TRAINER_VANESSA, 0, Route121_Text_29F0EC, Route121_Text_29F11F
+ msgbox Route121_Text_29F138, 6
+ end
+
+Route121_EventScript_1F5E8B:: @ 81F5E8B
+ trainerbattle 2, TRAINER_WALTER_1, 0, Route121_Text_29F199, Route121_Text_29F20D, Route121_EventScript_1F5EB7
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route121_EventScript_1F5ED6
+ msgbox Route121_Text_29F21E, 4
+ release
+ end
+
+Route121_EventScript_1F5EB7:: @ 81F5EB7
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route121_Text_29F25B, 4
+ setvar VAR_0x8004, 254
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 254
+ callstd 8
+ release
+ end
+
+Route121_EventScript_1F5ED6:: @ 81F5ED6
+ trainerbattle 5, TRAINER_WALTER_1, 0, Route121_Text_29F2A6, Route121_Text_29F31A
+ msgbox Route121_Text_29F32B, 6
+ end
+
+Route121_EventScript_1F5EED:: @ 81F5EED
+ trainerbattle 0, TRAINER_TAMMY, 0, Route121_Text_29F381, Route121_Text_29F3B9
+ msgbox Route121_Text_29F3C6, 6
+ end
+
+Route121_EventScript_1F5F04:: @ 81F5F04
+ trainerbattle 4, TRAINER_KATE_AND_JOY, 0, Route121_Text_29F3FB, Route121_Text_29F43F, Route121_Text_29F4C9
+ msgbox Route121_Text_29F476, 6
+ end
+
+Route121_EventScript_1F5F1F:: @ 81F5F1F
+ trainerbattle 4, TRAINER_KATE_AND_JOY, 0, Route121_Text_29F521, Route121_Text_29F564, Route121_Text_29F5CE
+ msgbox Route121_Text_29F582, 6
+ end
+
+Route121_EventScript_1F5F3A:: @ 81F5F3A
+ trainerbattle 2, TRAINER_JESSICA_1, 0, Route121_Text_29F612, Route121_Text_29F641, Route121_EventScript_1F5F66
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route121_EventScript_1F5F85
+ msgbox Route121_Text_29F66F, 4
+ release
+ end
+
+Route121_EventScript_1F5F66:: @ 81F5F66
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route121_Text_29F69F, 4
+ setvar VAR_0x8004, 127
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 127
+ callstd 8
+ release
+ end
+
+Route121_EventScript_1F5F85:: @ 81F5F85
+ trainerbattle 5, TRAINER_JESSICA_1, 0, Route121_Text_29F6E4, Route121_Text_29F710
+ msgbox Route121_Text_29F740, 6
+ end
+
+Route121_EventScript_1F5F9C:: @ 81F5F9C
+ trainerbattle 0, TRAINER_CALE, 0, Route121_Text_29F91A, Route121_Text_29F97B
+ msgbox Route121_Text_29F9AE, 6
+ end
+
+Route121_EventScript_1F5FB3:: @ 81F5FB3
+ trainerbattle 0, TRAINER_MYLES, 0, Route121_Text_29FA1E, Route121_Text_29FA64
+ msgbox Route121_Text_29FA73, 6
+ end
+
+Route121_EventScript_1F5FCA:: @ 81F5FCA
+ trainerbattle 0, TRAINER_PAT, 0, Route121_Text_29FAA7, Route121_Text_29FAD8
+ msgbox Route121_Text_29FAEA, 6
+ end
+
+Route121_EventScript_1F5FE1:: @ 81F5FE1
+ trainerbattle 0, TRAINER_MARCEL, 0, Route121_Text_29FB35, Route121_Text_29FB8C
+ msgbox Route121_Text_29FBA8, 6
+ end
+
+Route121_EventScript_1F5FF8:: @ 81F5FF8
+ trainerbattle 2, TRAINER_CRISTIN_1, 0, Route121_Text_29F770, Route121_Text_29F7C1, Route121_EventScript_1F6024
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route121_EventScript_1F6043
+ msgbox Route121_Text_29F7D4, 4
+ release
+ end
+
+Route121_EventScript_1F6024:: @ 81F6024
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route121_Text_29F80D, 4
+ setvar VAR_0x8004, 767
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 767
+ callstd 8
+ release
+ end
+
+Route121_EventScript_1F6043:: @ 81F6043
+ trainerbattle 5, TRAINER_CRISTIN_1, 0, Route121_Text_29F855, Route121_Text_29F8A8
+ msgbox Route121_Text_29F8D0, 6
+ end
+
+Route121_Text_1F605A: @ 81F605A
+ .string "Okay!\n"
+ .string "We’re to move out to MT. PYRE!$"
+
+Route121_Text_1F607F: @ 81F607F
+ .string "Ahead looms MT. PYRE…\p"
+ .string "It is a natural monument to the spirits \n"
+ .string "of departed POKéMON…$"
+
+Route121_Text_1F60D3: @ 81F60D3
+ .string "MT. PYRE PIER\p"
+ .string "…The sign is old and worn out.\n"
+ .string "The words are barely legible…$"
+
+Route121_Text_1F611E: @ 81F611E
+ .string "“Filled with rare POKéMON!”\n"
+ .string "SAFARI ZONE$"
+
diff --git a/data/scripts/maps/Route121_SafariZoneEntrance.inc b/data/scripts/maps/Route121_SafariZoneEntrance.inc
new file mode 100644
index 000000000..3d2ac359d
--- /dev/null
+++ b/data/scripts/maps/Route121_SafariZoneEntrance.inc
@@ -0,0 +1,142 @@
+Route121_SafariZoneEntrance_MapScripts:: @ 822BBBB
+ map_script 2, Route121_SafariZoneEntrance_MapScript2_22BBC1
+ .byte 0
+
+Route121_SafariZoneEntrance_MapScript2_22BBC1: @ 822BBC1
+ map_script_2 VAR_0x40A4, 1, Route121_SafariZoneEntrance_EventScript_22BBCB
+ .2byte 0
+
+Route121_SafariZoneEntrance_EventScript_22BBCB:: @ 822BBCB
+ lockall
+ applymovement 255, Route121_SafariZoneEntrance_Movement_22BBDD
+ waitmovement 0
+ setvar VAR_0x40A4, 0
+ releaseall
+ end
+
+Route121_SafariZoneEntrance_Movement_22BBDD: @ 822BBDD
+ step_up
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+Route121_SafariZoneEntrance_EventScript_22BBE6:: @ 822BBE6
+ msgbox Route121_SafariZoneEntrance_Text_2A4D12, 2
+ end
+
+Route121_SafariZoneEntrance_EventScript_22BBEF:: @ 822BBEF
+ lock
+ faceplayer
+ msgbox Route121_SafariZoneEntrance_Text_2A4E46, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route121_SafariZoneEntrance_EventScript_22BC0E
+ msgbox Route121_SafariZoneEntrance_Text_2A4E7E, 4
+ release
+ end
+
+Route121_SafariZoneEntrance_EventScript_22BC0E:: @ 822BC0E
+ msgbox Route121_SafariZoneEntrance_Text_2A4EA1, 4
+ release
+ end
+
+Route121_SafariZoneEntrance_EventScript_22BC18:: @ 822BC18
+ lockall
+ applymovement 255, Route121_SafariZoneEntrance_Movement_2725A6
+ waitmovement 0
+ showmoneybox 0, 0, 0
+ msgbox Route121_SafariZoneEntrance_Text_2A4F74, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route121_SafariZoneEntrance_EventScript_22BC48
+ msgbox Route121_SafariZoneEntrance_Text_2A4FD7, 4
+ goto Route121_SafariZoneEntrance_EventScript_22BD06
+ end
+
+Route121_SafariZoneEntrance_EventScript_22BC48:: @ 822BC48
+ checkitem ITEM_POKEBLOCK_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route121_SafariZoneEntrance_EventScript_22BCEA
+ call Route121_SafariZoneEntrance_EventScript_22BCBF
+ checkmoney 0x1f4, 0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route121_SafariZoneEntrance_EventScript_22BCF8
+ playse SE_REGI
+ msgbox Route121_SafariZoneEntrance_Text_2A501B, 4
+ takemoney 0x1f4, 0
+ updatemoneybox 0, 0
+ nop
+ msgbox Route121_SafariZoneEntrance_Text_2A5036, 4
+ playfanfare BGM_FANFA4
+ message Route121_SafariZoneEntrance_Text_2A5052
+ waitfanfare
+ msgbox Route121_SafariZoneEntrance_Text_2A506F, 4
+ closemessage
+ hidemoneybox
+ nop
+ nop
+ applymovement 255, Route121_SafariZoneEntrance_Movement_22BD18
+ waitmovement 0
+ special EnterSafariMode
+ setvar VAR_0x40A4, 2
+ clearflag FLAG_0x05D
+ warp SAFARI_ZONE_SOUTH, 255, 32, 33
+ waitstate
+ end
+
+Route121_SafariZoneEntrance_EventScript_22BCBF:: @ 822BCBF
+ getpartysize
+ compare_var_to_value VAR_RESULT, 6
+ goto_if 5, Route121_SafariZoneEntrance_EventScript_22BCE9
+ specialvar VAR_RESULT, sub_8139530
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route121_SafariZoneEntrance_EventScript_22BCE9
+ msgbox Route121_SafariZoneEntrance_Text_2A50E5, 4
+ goto Route121_SafariZoneEntrance_EventScript_22BD06
+ end
+
+Route121_SafariZoneEntrance_EventScript_22BCE9:: @ 822BCE9
+ return
+
+Route121_SafariZoneEntrance_EventScript_22BCEA:: @ 822BCEA
+ msgbox Route121_SafariZoneEntrance_Text_2A5105, 4
+ goto Route121_SafariZoneEntrance_EventScript_22BD06
+ end
+
+Route121_SafariZoneEntrance_EventScript_22BCF8:: @ 822BCF8
+ msgbox Route121_SafariZoneEntrance_Text_2A4FF7, 4
+ goto Route121_SafariZoneEntrance_EventScript_22BD06
+ end
+
+Route121_SafariZoneEntrance_EventScript_22BD06:: @ 822BD06
+ closemessage
+ hidemoneybox
+ nop
+ nop
+ applymovement 255, Route121_SafariZoneEntrance_Movement_22BD16
+ waitmovement 0
+ releaseall
+ end
+
+Route121_SafariZoneEntrance_Movement_22BD16: @ 822BD16
+ step_right
+ step_end
+
+Route121_SafariZoneEntrance_Movement_22BD18: @ 822BD18
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_down
+ step_14
+ step_end
+
+Route121_SafariZoneEntrance_EventScript_22BD21:: @ 822BD21
+ msgbox Route121_SafariZoneEntrance_Text_2A55BB, 3
+ end
+
diff --git a/data/scripts/maps/Route122.inc b/data/scripts/maps/Route122.inc
new file mode 100644
index 000000000..8fcfb4c09
--- /dev/null
+++ b/data/scripts/maps/Route122.inc
@@ -0,0 +1,3 @@
+Route122_MapScripts:: @ 81F6146
+ .byte 0
+
diff --git a/data/scripts/maps/Route123.inc b/data/scripts/maps/Route123.inc
new file mode 100644
index 000000000..8eb397fd4
--- /dev/null
+++ b/data/scripts/maps/Route123.inc
@@ -0,0 +1,213 @@
+Route123_MapScripts:: @ 81F6147
+ map_script 3, Route123_MapScript1_1F614D
+ .byte 0
+
+Route123_MapScript1_1F614D: @ 81F614D
+ special sub_8139668
+ end
+
+Route123_EventScript_1F6151:: @ 81F6151
+ lock
+ faceplayer
+ checkflag FLAG_0x0E8
+ goto_eq Route123_EventScript_1F61A0
+ msgbox Route123_Text_1F641E, 4
+ special sub_81390E0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route123_EventScript_1F619E
+ msgbox Route123_Text_1F645D, 4
+ giveitem_std ITEM_TM19
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route123_EventScript_272054
+ setflag FLAG_0x0E8
+ msgbox Route123_Text_1F64CF, 4
+ release
+ end
+
+Route123_EventScript_1F619E:: @ 81F619E
+ release
+ end
+
+Route123_EventScript_1F61A0:: @ 81F61A0
+ msgbox Route123_Text_1F64CF, 4
+ release
+ end
+
+Route123_EventScript_1F61AA:: @ 81F61AA
+ msgbox Route123_Text_1F6511, 3
+ end
+
+Route123_EventScript_1F61B3:: @ 81F61B3
+ msgbox Route123_Text_1F6529, 3
+ end
+
+Route123_EventScript_1F61BC:: @ 81F61BC
+ msgbox Route123_Text_1F6557, 3
+ end
+
+Route123_EventScript_1F61C5:: @ 81F61C5
+ trainerbattle 0, TRAINER_WENDY, 0, Route123_Text_29FBEB, Route123_Text_29FC23
+ msgbox Route123_Text_29FC42, 6
+ end
+
+Route123_EventScript_1F61DC:: @ 81F61DC
+ trainerbattle 0, TRAINER_BRAXTON, 0, Route123_Text_29FC6F, Route123_Text_29FCD6
+ msgbox Route123_Text_29FCF4, 6
+ end
+
+Route123_EventScript_1F61F3:: @ 81F61F3
+ trainerbattle 0, TRAINER_VIOLET, 0, Route123_Text_29FD1D, Route123_Text_29FD53
+ msgbox Route123_Text_29FD7B, 6
+ end
+
+Route123_EventScript_1F620A:: @ 81F620A
+ trainerbattle 2, TRAINER_CAMERON_1, 0, Route123_Text_29FDBA, Route123_Text_29FE1E, Route123_EventScript_1F6236
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route123_EventScript_1F6255
+ msgbox Route123_Text_29FE2A, 4
+ release
+ end
+
+Route123_EventScript_1F6236:: @ 81F6236
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route123_Text_29FE70, 4
+ setvar VAR_0x8004, 238
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 238
+ callstd 8
+ release
+ end
+
+Route123_EventScript_1F6255:: @ 81F6255
+ trainerbattle 5, TRAINER_CAMERON_1, 0, Route123_Text_29FED4, Route123_Text_29FF1B
+ msgbox Route123_Text_29FF27, 6
+ end
+
+Route123_EventScript_1F626C:: @ 81F626C
+ trainerbattle 2, TRAINER_JACKI_1, 0, Route123_Text_29FF61, Route123_Text_29FFD8, Route123_EventScript_1F6298
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route123_EventScript_1F62B7
+ msgbox Route123_Text_29FFE5, 4
+ release
+ end
+
+Route123_EventScript_1F6298:: @ 81F6298
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route123_Text_2A0027, 4
+ setvar VAR_0x8004, 249
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 249
+ callstd 8
+ release
+ end
+
+Route123_EventScript_1F62B7:: @ 81F62B7
+ trainerbattle 5, TRAINER_JACKI_1, 0, Route123_Text_2A005E, Route123_Text_2A008D
+ msgbox Route123_Text_2A0099, 6
+ end
+
+Route123_EventScript_1F62CE:: @ 81F62CE
+ trainerbattle 4, TRAINER_MIU_AND_YUKI, 0, Route123_Text_2A00D6, Route123_Text_2A0119, Route123_Text_2A016D
+ msgbox Route123_Text_2A012E, 6
+ end
+
+Route123_EventScript_1F62E9:: @ 81F62E9
+ trainerbattle 4, TRAINER_MIU_AND_YUKI, 0, Route123_Text_2A01A7, Route123_Text_2A01D8, Route123_Text_2A0224
+ msgbox Route123_Text_2A01EE, 6
+ end
+
+Route123_EventScript_1F6304:: @ 81F6304
+ trainerbattle 0, TRAINER_KINDRA, 0, Route123_Text_2A025F, Route123_Text_2A02A6
+ msgbox Route123_Text_2A02C1, 6
+ end
+
+Route123_EventScript_1F631B:: @ 81F631B
+ trainerbattle 0, TRAINER_FREDRICK, 0, Route123_Text_2A060A, Route123_Text_2A0631
+ msgbox Route123_Text_2A0672, 6
+ end
+
+Route123_EventScript_1F6332:: @ 81F6332
+ trainerbattle 0, TRAINER_ALBERTO, 0, Route123_Text_2A06AF, Route123_Text_2A0704
+ msgbox Route123_Text_2A072B, 6
+ end
+
+Route123_EventScript_1F6349:: @ 81F6349
+ trainerbattle 0, TRAINER_ED, 0, Route123_Text_2A079B, Route123_Text_2A07F0
+ msgbox Route123_Text_2A080D, 6
+ end
+
+Route123_EventScript_1F6360:: @ 81F6360
+ trainerbattle 0, TRAINER_KAYLEY, 0, Route123_Text_2A0902, Route123_Text_2A0943
+ msgbox Route123_Text_2A096E, 6
+ end
+
+Route123_EventScript_1F6377:: @ 81F6377
+ trainerbattle 0, TRAINER_JONAS, 0, Route123_Text_2A0854, Route123_Text_2A088A
+ msgbox Route123_Text_2A08CA, 6
+ end
+
+Route123_EventScript_1F638E:: @ 81F638E
+ trainerbattle 0, TRAINER_JAZMYN, 0, Route123_Text_2A054E, Route123_Text_2A0592
+ msgbox Route123_Text_2A05AC, 6
+ end
+
+Route123_EventScript_1F63A5:: @ 81F63A5
+ trainerbattle 0, TRAINER_DAVIS, 0, Route123_Text_2A04C0, Route123_Text_2A04FE
+ msgbox Route123_Text_2A0512, 6
+ end
+
+Route123_EventScript_1F63BC:: @ 81F63BC
+ trainerbattle 2, TRAINER_FERNANDO_1, 0, Route123_Text_2A0323, Route123_Text_2A035C, Route123_EventScript_1F63E8
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route123_EventScript_1F6407
+ msgbox Route123_Text_2A0389, 4
+ release
+ end
+
+Route123_EventScript_1F63E8:: @ 81F63E8
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route123_Text_2A03C1, 4
+ setvar VAR_0x8004, 195
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 195
+ callstd 8
+ release
+ end
+
+Route123_EventScript_1F6407:: @ 81F6407
+ trainerbattle 5, TRAINER_FERNANDO_1, 0, Route123_Text_2A03FB, Route123_Text_2A045A
+ msgbox Route123_Text_2A0487, 6
+ end
+
+Route123_Text_1F641E: @ 81F641E
+ .string "I love GRASS-type POKéMON!\p"
+ .string "Do you have any GRASS-type POKéMON?$"
+
+Route123_Text_1F645D: @ 81F645D
+ .string "Oh?\p"
+ .string "You like GRASS-type POKéMON, too,\n"
+ .string "don’t you?\p"
+ .string "I’m so happy, you can have this!\n"
+ .string "It’s a token of our friendship.$"
+
+Route123_Text_1F64CF: @ 81F64CF
+ .string "I check trees with my GRASS-type\n"
+ .string "POKéMON. I’m like a tree doctor.$"
+
+Route123_Text_1F6511: @ 81F6511
+ .string "{0x7C} ROUTE 123\n"
+ .string "{0x7B} ROUTE 118$"
+
+Route123_Text_1F6529: @ 81F6529
+ .string "{0x79} MT. PYRE\n"
+ .string "“Forbidden to the faint of heart.”$"
+
+Route123_Text_1F6557: @ 81F6557
+ .string "BERRY MASTER’S HOUSE$"
+
diff --git a/data/scripts/maps/Route123_BerryMastersHouse.inc b/data/scripts/maps/Route123_BerryMastersHouse.inc
new file mode 100644
index 000000000..eb5f9a10c
--- /dev/null
+++ b/data/scripts/maps/Route123_BerryMastersHouse.inc
@@ -0,0 +1,153 @@
+Route123_BerryMastersHouse_MapScripts:: @ 826F83B
+ map_script 3, Route123_BerryMastersHouse_MapScript1_26F841
+ .byte 0
+
+Route123_BerryMastersHouse_MapScript1_26F841: @ 826F841
+ setflag FLAG_0x8C3
+ end
+
+Route123_BerryMastersHouse_EventScript_26F845:: @ 826F845
+ lock
+ faceplayer
+ dodailyevents
+ checkflag FLAG_0x92D
+ goto_eq Route123_BerryMastersHouse_EventScript_26F8B6
+ msgbox Route123_BerryMastersHouse_Text_2A7386, 4
+ random 10
+ addvar VAR_RESULT, 20
+ addvar VAR_RESULT, 133
+ giveitem_std VAR_RESULT
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route123_BerryMastersHouse_EventScript_272054
+ setflag FLAG_0x92D
+ msgbox Route123_BerryMastersHouse_Text_2A7428, 4
+ random 10
+ addvar VAR_RESULT, 20
+ addvar VAR_RESULT, 133
+ giveitem_std VAR_RESULT
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route123_BerryMastersHouse_EventScript_272054
+ msgbox Route123_BerryMastersHouse_Text_2A7445, 4
+ release
+ end
+
+Route123_BerryMastersHouse_EventScript_26F8B6:: @ 826F8B6
+ msgbox Route123_BerryMastersHouse_Text_2A749E, 4
+ release
+ end
+
+Route123_BerryMastersHouse_EventScript_26F8C0:: @ 826F8C0
+ lock
+ faceplayer
+ dodailyevents
+ checkflag FLAG_0x931
+ goto_eq Route123_BerryMastersHouse_EventScript_26FA6F
+ msgbox Route123_BerryMastersHouse_Text_2A74E6, 4
+ setvar VAR_0x8004, 13
+ call Route123_BerryMastersHouse_EventScript_271E7C
+ lock
+ faceplayer
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route123_BerryMastersHouse_EventScript_26F909
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route123_BerryMastersHouse_EventScript_26F8F7
+ end
+
+Route123_BerryMastersHouse_EventScript_26F8F7:: @ 826F8F7
+ msgbox Route123_BerryMastersHouse_Text_2A7682, 4
+ msgbox Route123_BerryMastersHouse_Text_2A761B, 4
+ release
+ end
+
+Route123_BerryMastersHouse_EventScript_26F909:: @ 826F909
+ compare_var_to_value VAR_0x8004, 0
+ goto_eq Route123_BerryMastersHouse_EventScript_26F94C
+ compare_var_to_value VAR_0x8004, 1
+ goto_eq Route123_BerryMastersHouse_EventScript_26F97A
+ compare_var_to_value VAR_0x8004, 2
+ goto_eq Route123_BerryMastersHouse_EventScript_26F9AB
+ compare_var_to_value VAR_0x8004, 3
+ goto_eq Route123_BerryMastersHouse_EventScript_26F9DC
+ compare_var_to_value VAR_0x8004, 4
+ goto_eq Route123_BerryMastersHouse_EventScript_26FA0D
+ compare_var_to_value VAR_0x8004, 5
+ goto_eq Route123_BerryMastersHouse_EventScript_26FA3E
+ end
+
+Route123_BerryMastersHouse_EventScript_26F94C:: @ 826F94C
+ msgbox Route123_BerryMastersHouse_Text_2A75D0, 4
+ random 10
+ addvar VAR_RESULT, 133
+ giveitem_std VAR_RESULT
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route123_BerryMastersHouse_EventScript_272054
+ goto Route123_BerryMastersHouse_EventScript_26FA79
+ release
+ end
+
+Route123_BerryMastersHouse_EventScript_26F97A:: @ 826F97A
+ checkflag FLAG_0x0F8
+ goto_eq Route123_BerryMastersHouse_EventScript_26F94C
+ msgbox Route123_BerryMastersHouse_Text_2A7583, 4
+ giveitem_std ITEM_SPELON_BERRY
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route123_BerryMastersHouse_EventScript_272054
+ setflag FLAG_0x0F8
+ goto Route123_BerryMastersHouse_EventScript_26FA79
+ end
+
+Route123_BerryMastersHouse_EventScript_26F9AB:: @ 826F9AB
+ checkflag FLAG_0x0F9
+ goto_eq Route123_BerryMastersHouse_EventScript_26F94C
+ msgbox Route123_BerryMastersHouse_Text_2A7583, 4
+ giveitem_std ITEM_PAMTRE_BERRY
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route123_BerryMastersHouse_EventScript_272054
+ setflag FLAG_0x0F9
+ goto Route123_BerryMastersHouse_EventScript_26FA79
+ end
+
+Route123_BerryMastersHouse_EventScript_26F9DC:: @ 826F9DC
+ checkflag FLAG_0x0FA
+ goto_eq Route123_BerryMastersHouse_EventScript_26F94C
+ msgbox Route123_BerryMastersHouse_Text_2A7583, 4
+ giveitem_std ITEM_WATMEL_BERRY
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route123_BerryMastersHouse_EventScript_272054
+ setflag FLAG_0x0FA
+ goto Route123_BerryMastersHouse_EventScript_26FA79
+ end
+
+Route123_BerryMastersHouse_EventScript_26FA0D:: @ 826FA0D
+ checkflag FLAG_0x0FB
+ goto_eq Route123_BerryMastersHouse_EventScript_26F94C
+ msgbox Route123_BerryMastersHouse_Text_2A7583, 4
+ giveitem_std ITEM_DURIN_BERRY
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route123_BerryMastersHouse_EventScript_272054
+ setflag FLAG_0x0FB
+ goto Route123_BerryMastersHouse_EventScript_26FA79
+ end
+
+Route123_BerryMastersHouse_EventScript_26FA3E:: @ 826FA3E
+ checkflag FLAG_0x0FC
+ goto_eq Route123_BerryMastersHouse_EventScript_26F94C
+ msgbox Route123_BerryMastersHouse_Text_2A7583, 4
+ giveitem_std ITEM_BELUE_BERRY
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route123_BerryMastersHouse_EventScript_272054
+ setflag FLAG_0x0FC
+ goto Route123_BerryMastersHouse_EventScript_26FA79
+ end
+
+Route123_BerryMastersHouse_EventScript_26FA6F:: @ 826FA6F
+ msgbox Route123_BerryMastersHouse_Text_2A761B, 4
+ release
+ end
+
+Route123_BerryMastersHouse_EventScript_26FA79:: @ 826FA79
+ setflag FLAG_0x931
+ msgbox Route123_BerryMastersHouse_Text_2A761B, 4
+ release
+ end
+
diff --git a/data/scripts/maps/Route124.inc b/data/scripts/maps/Route124.inc
new file mode 100644
index 000000000..2a0298650
--- /dev/null
+++ b/data/scripts/maps/Route124.inc
@@ -0,0 +1,117 @@
+Route124_MapScripts:: @ 81F656C
+ map_script 3, Route124_MapScript1_1F6572
+ .byte 0
+
+Route124_MapScript1_1F6572: @ 81F6572
+ checkflag FLAG_SYS_WEATHER_CTRL
+ call_if 1, Route124_EventScript_27207A
+ end
+
+Route124_EventScript_1F657C:: @ 81F657C
+ msgbox Route124_Text_1F6739, 3
+ end
+
+Route124_EventScript_1F6585:: @ 81F6585
+ trainerbattle 0, TRAINER_SPENCER, 0, Route124_Text_2A09B1, Route124_Text_2A0A02
+ msgbox Route124_Text_2A0A20, 6
+ end
+
+Route124_EventScript_1F659C:: @ 81F659C
+ trainerbattle 0, TRAINER_ROLAND, 0, Route124_Text_2A0A84, Route124_Text_2A0ACC
+ msgbox Route124_Text_2A0AD9, 6
+ end
+
+Route124_EventScript_1F65B3:: @ 81F65B3
+ trainerbattle 2, TRAINER_JENNY_1, 0, Route124_Text_2A0B37, Route124_Text_2A0B7C, Route124_EventScript_1F65DF
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route124_EventScript_1F65FE
+ msgbox Route124_Text_2A0B9A, 4
+ release
+ end
+
+Route124_EventScript_1F65DF:: @ 81F65DF
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route124_Text_2A0C14, 4
+ setvar VAR_0x8004, 449
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 449
+ callstd 8
+ release
+ end
+
+Route124_EventScript_1F65FE:: @ 81F65FE
+ trainerbattle 5, TRAINER_JENNY_1, 0, Route124_Text_2A0C60, Route124_Text_2A0CA0
+ msgbox Route124_Text_2A0CBE, 6
+ end
+
+Route124_EventScript_1F6615:: @ 81F6615
+ trainerbattle 0, TRAINER_GRACE, 0, Route124_Text_2A0D0A, Route124_Text_2A0D3D
+ msgbox Route124_Text_2A0D66, 6
+ end
+
+Route124_EventScript_1F662C:: @ 81F662C
+ trainerbattle 0, TRAINER_CHAD, 0, Route124_Text_2A0DA0, Route124_Text_2A0DFF
+ msgbox Route124_Text_2A0E1E, 6
+ end
+
+Route124_EventScript_1F6643:: @ 81F6643
+ trainerbattle 6, TRAINER_LILA_AND_ROY_1, 0, Route124_Text_2A0E87, Route124_Text_2A0EFE, Route124_Text_2A0F8C, Route124_EventScript_1F6673
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route124_EventScript_1F668C
+ msgbox Route124_Text_2A0F3A, 4
+ release
+ end
+
+Route124_EventScript_1F6673:: @ 81F6673
+ msgbox Route124_Text_2A109F, 4
+ setvar VAR_0x8004, 687
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 687
+ callstd 8
+ release
+ end
+
+Route124_EventScript_1F668C:: @ 81F668C
+ trainerbattle 7, TRAINER_LILA_AND_ROY_1, 0, Route124_Text_2A111E, Route124_Text_2A11B2, Route124_Text_2A1255
+ msgbox Route124_Text_2A1203, 6
+ end
+
+Route124_EventScript_1F66A7:: @ 81F66A7
+ trainerbattle 6, TRAINER_LILA_AND_ROY_1, 0, Route124_Text_2A0FD1, Route124_Text_2A1012, Route124_Text_2A10E5, Route124_EventScript_1F66D7
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route124_EventScript_1F66F0
+ msgbox Route124_Text_2A103E, 4
+ release
+ end
+
+Route124_EventScript_1F66D7:: @ 81F66D7
+ msgbox Route124_Text_2A109F, 4
+ setvar VAR_0x8004, 687
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 687
+ callstd 8
+ release
+ end
+
+Route124_EventScript_1F66F0:: @ 81F66F0
+ trainerbattle 7, TRAINER_LILA_AND_ROY_1, 0, Route124_Text_2A129A, Route124_Text_2A12DD, Route124_Text_2A1384
+ msgbox Route124_Text_2A130F, 6
+ end
+
+Route124_EventScript_1F670B:: @ 81F670B
+ trainerbattle 0, TRAINER_DECLAN, 0, Route124_Text_2A13BD, Route124_Text_2A142C
+ msgbox Route124_Text_2A144F, 6
+ end
+
+Route124_EventScript_1F6722:: @ 81F6722
+ trainerbattle 0, TRAINER_ISABELLA, 0, Route124_Text_2A148E, Route124_Text_2A14BC
+ msgbox Route124_Text_2A14ED, 6
+ end
+
+Route124_Text_1F6739: @ 81F6739
+ .string "HUNTER’S HOUSE$"
+
diff --git a/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc b/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc
new file mode 100644
index 000000000..f94892ee4
--- /dev/null
+++ b/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc
@@ -0,0 +1,349 @@
+Route124_DivingTreasureHuntersHouse_MapScripts:: @ 8270A28
+ map_script 3, Route124_DivingTreasureHuntersHouse_MapScript1_270A2E
+ .byte 0
+
+Route124_DivingTreasureHuntersHouse_MapScript1_270A2E: @ 8270A2E
+ setflag FLAG_0x8BB
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270A32:: @ 8270A32
+ lock
+ faceplayer
+ checkflag FLAG_0x0D9
+ goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270A4E
+ msgbox Route124_DivingTreasureHuntersHouse_Text_270F6C, 4
+ setflag FLAG_0x0D9
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270A5C
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270A4E:: @ 8270A4E
+ msgbox Route124_DivingTreasureHuntersHouse_Text_270FE5, 4
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270A5C
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270A5C:: @ 8270A5C
+ call Route124_DivingTreasureHuntersHouse_EventScript_270A72
+ compare_var_to_value VAR_0x4001, 0
+ goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F57
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270AD0
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270A72:: @ 8270A72
+ setvar VAR_0x4001, 0
+ checkitem ITEM_RED_SHARD, 1
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_270AB8
+ checkitem ITEM_YELLOW_SHARD, 1
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_270ABE
+ checkitem ITEM_BLUE_SHARD, 1
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_270AC4
+ checkitem ITEM_GREEN_SHARD, 1
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_270ACA
+ return
+
+Route124_DivingTreasureHuntersHouse_EventScript_270AB8:: @ 8270AB8
+ addvar VAR_0x4001, 1
+ return
+
+Route124_DivingTreasureHuntersHouse_EventScript_270ABE:: @ 8270ABE
+ addvar VAR_0x4001, 2
+ return
+
+Route124_DivingTreasureHuntersHouse_EventScript_270AC4:: @ 8270AC4
+ addvar VAR_0x4001, 4
+ return
+
+Route124_DivingTreasureHuntersHouse_EventScript_270ACA:: @ 8270ACA
+ addvar VAR_0x4001, 8
+ return
+
+Route124_DivingTreasureHuntersHouse_EventScript_270AD0:: @ 8270AD0
+ msgbox Route124_DivingTreasureHuntersHouse_Text_271098, 4
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270ADE
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270ADE:: @ 8270ADE
+ message Route124_DivingTreasureHuntersHouse_Text_271117
+ waitmessage
+ switch VAR_0x4001
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_270B8F
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_270BB5
+ case 3, Route124_DivingTreasureHuntersHouse_EventScript_270BDB
+ case 4, Route124_DivingTreasureHuntersHouse_EventScript_270C0C
+ case 5, Route124_DivingTreasureHuntersHouse_EventScript_270C32
+ case 6, Route124_DivingTreasureHuntersHouse_EventScript_270C63
+ case 7, Route124_DivingTreasureHuntersHouse_EventScript_270C94
+ case 8, Route124_DivingTreasureHuntersHouse_EventScript_270CD0
+ case 9, Route124_DivingTreasureHuntersHouse_EventScript_270CF6
+ case 10, Route124_DivingTreasureHuntersHouse_EventScript_270D27
+ case 11, Route124_DivingTreasureHuntersHouse_EventScript_270D58
+ case 12, Route124_DivingTreasureHuntersHouse_EventScript_270D94
+ case 13, Route124_DivingTreasureHuntersHouse_EventScript_270DC5
+ case 14, Route124_DivingTreasureHuntersHouse_EventScript_270E01
+ case 15, Route124_DivingTreasureHuntersHouse_EventScript_270E3D
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270B8F:: @ 8270B8F
+ multichoice 0, 0, 58, 0
+ switch VAR_RESULT
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270BB5:: @ 8270BB5
+ multichoice 0, 0, 59, 0
+ switch VAR_RESULT
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E93
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270BDB:: @ 8270BDB
+ multichoice 0, 0, 60, 0
+ switch VAR_RESULT
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_270E93
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270C0C:: @ 8270C0C
+ multichoice 0, 0, 61, 0
+ switch VAR_RESULT
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_270EA2
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270C32:: @ 8270C32
+ multichoice 0, 0, 62, 0
+ switch VAR_RESULT
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_270EA2
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270C63:: @ 8270C63
+ multichoice 0, 0, 63, 0
+ switch VAR_RESULT
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E93
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_270EA2
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270C94:: @ 8270C94
+ multichoice 0, 0, 64, 0
+ switch VAR_RESULT
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_270E93
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_270EA2
+ case 3, Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270CD0:: @ 8270CD0
+ multichoice 0, 0, 65, 0
+ switch VAR_RESULT
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_270EB1
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270CF6:: @ 8270CF6
+ multichoice 0, 0, 66, 0
+ switch VAR_RESULT
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_270EB1
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270D27:: @ 8270D27
+ multichoice 0, 0, 67, 0
+ switch VAR_RESULT
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E93
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_270EB1
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270D58:: @ 8270D58
+ multichoice 0, 0, 68, 0
+ switch VAR_RESULT
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_270E93
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_270EB1
+ case 3, Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270D94:: @ 8270D94
+ multichoice 0, 0, 69, 0
+ switch VAR_RESULT
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_270EA2
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_270EB1
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270DC5:: @ 8270DC5
+ multichoice 0, 0, 70, 0
+ switch VAR_RESULT
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_270EA2
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_270EB1
+ case 3, Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270E01:: @ 8270E01
+ multichoice 0, 0, 71, 0
+ switch VAR_RESULT
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E93
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_270EA2
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_270EB1
+ case 3, Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270E3D:: @ 8270E3D
+ multichoice 0, 0, 72, 0
+ switch VAR_RESULT
+ case 0, Route124_DivingTreasureHuntersHouse_EventScript_270E84
+ case 1, Route124_DivingTreasureHuntersHouse_EventScript_270E93
+ case 2, Route124_DivingTreasureHuntersHouse_EventScript_270EA2
+ case 3, Route124_DivingTreasureHuntersHouse_EventScript_270EB1
+ case 4, Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270E84:: @ 8270E84
+ setvar VAR_0x8008, 48
+ setvar VAR_0x8009, 95
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270EC0
+
+Route124_DivingTreasureHuntersHouse_EventScript_270E93:: @ 8270E93
+ setvar VAR_0x8008, 50
+ setvar VAR_0x8009, 96
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270EC0
+
+Route124_DivingTreasureHuntersHouse_EventScript_270EA2:: @ 8270EA2
+ setvar VAR_0x8008, 49
+ setvar VAR_0x8009, 97
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270EC0
+
+Route124_DivingTreasureHuntersHouse_EventScript_270EB1:: @ 8270EB1
+ setvar VAR_0x8008, 51
+ setvar VAR_0x8009, 98
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270EC0
+
+Route124_DivingTreasureHuntersHouse_EventScript_270EC0:: @ 8270EC0
+ bufferitemname 0, VAR_0x8008
+ bufferitemname 1, VAR_0x8009
+ msgbox Route124_DivingTreasureHuntersHouse_Text_271132, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ checkitemspace VAR_0x8009, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F01
+ checkitem VAR_0x8008, 2
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F01
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270F43
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270F01:: @ 8270F01
+ takeitem VAR_0x8008, 1
+ giveitem_std VAR_0x8009
+ msgbox Route124_DivingTreasureHuntersHouse_Text_271158, 4
+ call Route124_DivingTreasureHuntersHouse_EventScript_270A72
+ compare_var_to_value VAR_0x4001, 0
+ goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F61
+ msgbox Route124_DivingTreasureHuntersHouse_Text_27117B, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270ADE
+ goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270F43:: @ 8270F43
+ msgbox Route124_DivingTreasureHuntersHouse_Text_2711A0, 4
+ release
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270F4D:: @ 8270F4D
+ msgbox Route124_DivingTreasureHuntersHouse_Text_2711D8, 4
+ release
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270F57:: @ 8270F57
+ msgbox Route124_DivingTreasureHuntersHouse_Text_271027, 4
+ release
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270F61:: @ 8270F61
+ release
+ end
+
+Route124_DivingTreasureHuntersHouse_EventScript_270F63:: @ 8270F63
+ msgbox Route124_DivingTreasureHuntersHouse_Text_271217, 3
+ end
+
+Route124_DivingTreasureHuntersHouse_Text_270F6C: @ 8270F6C
+ .string "I’m the DIVING TREASURE HUNTER!\p"
+ .string "I’m the awesome dude who makes\n"
+ .string "deep-sea dives to gather treasures\l"
+ .string "resting at the bottom.$"
+
+Route124_DivingTreasureHuntersHouse_Text_270FE5: @ 8270FE5
+ .string "Tell me, have you seen any SHARDS of\n"
+ .string "tools made in ancient times?$"
+
+Route124_DivingTreasureHuntersHouse_Text_271027: @ 8271027
+ .string "You haven’t got any treasures\n"
+ .string "for me…\p"
+ .string "If you see any SHARDS, like the RED\n"
+ .string "SHARD, you’ve got to trade it with me!$"
+
+Route124_DivingTreasureHuntersHouse_Text_271098: @ 8271098
+ .string "Oh, hey! That…\n"
+ .string "That’s a SHARD! I’m looking for those!\p"
+ .string "Oh, man, you’ve got to trade that\n"
+ .string "with me! I’ll give you something good!$"
+
+Route124_DivingTreasureHuntersHouse_Text_271117: @ 8271117
+ .string "What do you want to trade?$"
+
+Route124_DivingTreasureHuntersHouse_Text_271132: @ 8271132
+ .string "You’ll trade your {STR_VAR_1} for\n"
+ .string "my {STR_VAR_2}, then?$"
+
+Route124_DivingTreasureHuntersHouse_Text_271158: @ 8271158
+ .string "It’s a done deal!\n"
+ .string "Use that wisely!$"
+
+Route124_DivingTreasureHuntersHouse_Text_27117B: @ 827117B
+ .string "Do you want to trade something else?$"
+
+Route124_DivingTreasureHuntersHouse_Text_2711A0: @ 82711A0
+ .string "Whoops, your BAG’s full.\n"
+ .string "Get rid of some items, friend!$"
+
+Route124_DivingTreasureHuntersHouse_Text_2711D8: @ 82711D8
+ .string "No? That’s a downer.\n"
+ .string "Well, if you change your mind, come back.$"
+
+Route124_DivingTreasureHuntersHouse_Text_271217: @ 8271217
+ .string "{CLEAR_TO}{0x0a}Wanted item{CLEAR_TO}{0x7c}Trade item\n"
+ .string "{CLEAR_TO}{0x0f}RED SHARD{CLEAR_TO}{0x59}{0x7B}{0x7C}{CLEAR_TO}{0x7b}FIRE STONE{CLEAR_TO}{0xc8}\p"
+ .string "{CLEAR_TO}{0x0a}Wanted item{CLEAR_TO}{0x7c}Trade item\n"
+ .string "{CLEAR_TO}{0x06}YELLOW SHARD{CLEAR_TO}{0x59}{0x7B}{0x7C}{CLEAR_TO}{0x73}THUNDERSTONE{CLEAR_TO}{0xc8}\p"
+ .string "{CLEAR_TO}{0x0a}Wanted item{CLEAR_TO}{0x7c}Trade item\n"
+ .string "{CLEAR_TO}{0x0c}BLUE SHARD{CLEAR_TO}{0x59}{0x7B}{0x7C}{CLEAR_TO}{0x79}WATER STONE{CLEAR_TO}{0xc8}\p"
+ .string "{CLEAR_TO}{0x0a}Wanted item{CLEAR_TO}{0x7c}Trade item\n"
+ .string "{CLEAR_TO}{0x08}GREEN SHARD{CLEAR_TO}{0x59}{0x7B}{0x7C}{CLEAR_TO}{0x7b}LEAF STONE$"
diff --git a/data/scripts/maps/Route125.inc b/data/scripts/maps/Route125.inc
new file mode 100644
index 000000000..953bf52b2
--- /dev/null
+++ b/data/scripts/maps/Route125.inc
@@ -0,0 +1,93 @@
+Route125_MapScripts:: @ 81F6748
+ map_script 3, Route125_MapScript1_1F6758
+ map_script 1, Route125_MapScript1_1F6783
+ map_script 2, Route125_MapScript2_1F679A
+ .byte 0
+
+Route125_MapScript1_1F6758: @ 81F6758
+ checkflag FLAG_SYS_WEATHER_CTRL
+ call_if 1, Route125_EventScript_27207A
+ compare_var_to_value VAR_0x4039, 1
+ call_if 1, Route125_EventScript_273D13
+ compare_var_to_value VAR_0x4037, 11
+ call_if 1, Route125_EventScript_273D17
+ compare_var_to_value VAR_0x4037, 12
+ call_if 1, Route125_EventScript_273D17
+ end
+
+Route125_MapScript1_1F6783: @ 81F6783
+ compare_var_to_value VAR_0x4037, 11
+ call_if 1, Route125_EventScript_273A85
+ compare_var_to_value VAR_0x4037, 12
+ call_if 1, Route125_EventScript_273AF2
+ end
+
+Route125_MapScript2_1F679A: @ 81F679A
+ map_script_2 VAR_0x4039, 1, gUnknown_08273D1F
+ .2byte 0
+
+Route125_EventScript_1F67A4:: @ 81F67A4
+ trainerbattle 0, TRAINER_NOLEN, 0, Route125_Text_2A1527, Route125_Text_2A155A
+ msgbox Route125_Text_2A1567, 6
+ end
+
+Route125_EventScript_1F67BB:: @ 81F67BB
+ trainerbattle 0, TRAINER_STAN, 0, Route125_Text_2A159F, Route125_Text_2A15C7
+ msgbox Route125_Text_2A15D5, 6
+ end
+
+Route125_EventScript_1F67D2:: @ 81F67D2
+ trainerbattle 0, TRAINER_TANYA, 0, Route125_Text_2A1615, Route125_Text_2A164D
+ msgbox Route125_Text_2A165E, 6
+ end
+
+Route125_EventScript_1F67E9:: @ 81F67E9
+ trainerbattle 0, TRAINER_SHARON, 0, Route125_Text_2A1686, Route125_Text_2A16C5
+ msgbox Route125_Text_2A16CE, 6
+ end
+
+Route125_EventScript_1F6800:: @ 81F6800
+ trainerbattle 2, TRAINER_ERNEST_1, 0, Route125_Text_2A16FC, Route125_Text_2A173A, Route125_EventScript_1F682C
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route125_EventScript_1F684B
+ msgbox Route125_Text_2A1755, 4
+ release
+ end
+
+Route125_EventScript_1F682C:: @ 81F682C
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route125_Text_2A17CF, 4
+ setvar VAR_0x8004, 492
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 492
+ callstd 8
+ release
+ end
+
+Route125_EventScript_1F684B:: @ 81F684B
+ trainerbattle 5, TRAINER_ERNEST_1, 0, Route125_Text_2A180E, Route125_Text_2A1851
+ msgbox Route125_Text_2A187A, 6
+ end
+
+Route125_EventScript_1F6862:: @ 81F6862
+ trainerbattle 4, TRAINER_KIM_AND_IRIS, 0, Route125_Text_2A192B, Route125_Text_2A1989, Route125_Text_2A19F8
+ msgbox Route125_Text_2A19A6, 6
+ end
+
+Route125_EventScript_1F687D:: @ 81F687D
+ trainerbattle 4, TRAINER_KIM_AND_IRIS, 0, Route125_Text_2A1A35, Route125_Text_2A1A71, Route125_Text_2A1AD9
+ msgbox Route125_Text_2A1A92, 6
+ end
+
+Route125_EventScript_1F6898:: @ 81F6898
+ trainerbattle 0, TRAINER_PRESLEY, 0, Route125_Text_2A1B1A, Route125_Text_2A1B4E
+ msgbox Route125_Text_2A1B70, 6
+ end
+
+Route125_EventScript_1F68AF:: @ 81F68AF
+ trainerbattle 0, TRAINER_AURON, 0, Route125_Text_2A1BCE, Route125_Text_2A1BFD
+ msgbox Route125_Text_2A1C2A, 6
+ end
+
diff --git a/data/scripts/maps/Route126.inc b/data/scripts/maps/Route126.inc
new file mode 100644
index 000000000..4678fe39d
--- /dev/null
+++ b/data/scripts/maps/Route126.inc
@@ -0,0 +1,69 @@
+Route126_MapScripts:: @ 81F68C6
+ map_script 3, Route126_MapScript1_1F68CC
+ .byte 0
+
+Route126_MapScript1_1F68CC: @ 81F68CC
+ checkflag FLAG_SYS_WEATHER_CTRL
+ call_if 1, Route126_EventScript_27207A
+ end
+
+Route126_EventScript_1F68D6:: @ 81F68D6
+ trainerbattle 0, TRAINER_BARRY, 0, Route126_Text_2A1C95, Route126_Text_2A1CC8
+ msgbox Route126_Text_2A1CDD, 6
+ end
+
+Route126_EventScript_1F68ED:: @ 81F68ED
+ trainerbattle 0, TRAINER_DEAN, 0, Route126_Text_2A1D2A, Route126_Text_2A1D63
+ msgbox Route126_Text_2A1D72, 6
+ end
+
+Route126_EventScript_1F6904:: @ 81F6904
+ trainerbattle 0, TRAINER_NIKKI, 0, Route126_Text_2A1DAE, Route126_Text_2A1DC8
+ msgbox Route126_Text_2A1E03, 6
+ end
+
+Route126_EventScript_1F691B:: @ 81F691B
+ trainerbattle 0, TRAINER_BRENDA, 0, Route126_Text_2A1E3E, Route126_Text_2A1E63
+ msgbox Route126_Text_2A1E70, 6
+ end
+
+Route126_EventScript_1F6932:: @ 81F6932
+ trainerbattle 0, TRAINER_LEONARDO, 0, Route126_Text_2A2063, Route126_Text_2A20C6
+ msgbox Route126_Text_2A20F7, 6
+ end
+
+Route126_EventScript_1F6949:: @ 81F6949
+ trainerbattle 0, TRAINER_ISOBEL, 0, Route126_Text_2A216A, Route126_Text_2A21A3
+ msgbox Route126_Text_2A21B8, 6
+ end
+
+Route126_EventScript_1F6960:: @ 81F6960
+ trainerbattle 0, TRAINER_SIENNA, 0, Route126_Text_2A21EF, Route126_Text_2A2216
+ msgbox Route126_Text_2A222A, 6
+ end
+
+Route126_EventScript_1F6977:: @ 81F6977
+ trainerbattle 2, TRAINER_PABLO_1, 0, Route126_Text_2A1EA5, Route126_Text_2A1EE3, Route126_EventScript_1F69A3
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route126_EventScript_1F69C2
+ msgbox Route126_Text_2A1F10, 4
+ release
+ end
+
+Route126_EventScript_1F69A3:: @ 81F69A3
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route126_Text_2A1F5A, 4
+ setvar VAR_0x8004, 377
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 377
+ callstd 8
+ release
+ end
+
+Route126_EventScript_1F69C2:: @ 81F69C2
+ trainerbattle 5, TRAINER_PABLO_1, 0, Route126_Text_2A1F98, Route126_Text_2A1FD8
+ msgbox Route126_Text_2A200C, 6
+ end
+
diff --git a/data/scripts/maps/Route127.inc b/data/scripts/maps/Route127.inc
new file mode 100644
index 000000000..9851df043
--- /dev/null
+++ b/data/scripts/maps/Route127.inc
@@ -0,0 +1,88 @@
+Route127_MapScripts:: @ 81F69D9
+ map_script 3, Route127_MapScript1_1F69E9
+ map_script 1, Route127_MapScript1_1F6A14
+ map_script 2, Route127_MapScript2_1F6A2B
+ .byte 0
+
+Route127_MapScript1_1F69E9: @ 81F69E9
+ checkflag FLAG_SYS_WEATHER_CTRL
+ call_if 1, Route127_EventScript_27207A
+ compare_var_to_value VAR_0x4039, 1
+ call_if 1, Route127_EventScript_273D13
+ compare_var_to_value VAR_0x4037, 13
+ call_if 1, Route127_EventScript_273D17
+ compare_var_to_value VAR_0x4037, 14
+ call_if 1, Route127_EventScript_273D17
+ end
+
+Route127_MapScript1_1F6A14: @ 81F6A14
+ compare_var_to_value VAR_0x4037, 13
+ call_if 1, Route127_EventScript_273B5F
+ compare_var_to_value VAR_0x4037, 14
+ call_if 1, Route127_EventScript_273BCC
+ end
+
+Route127_MapScript2_1F6A2B: @ 81F6A2B
+ map_script_2 VAR_0x4039, 1, gUnknown_08273D1F
+ .2byte 0
+
+Route127_EventScript_1F6A35:: @ 81F6A35
+ trainerbattle 0, TRAINER_CAMDEN, 0, Route127_Text_2A225F, Route127_Text_2A2294
+ msgbox Route127_Text_2A22A1, 6
+ end
+
+Route127_EventScript_1F6A4C:: @ 81F6A4C
+ trainerbattle 0, TRAINER_DONNY, 0, Route127_Text_2A22DD, Route127_Text_2A2315
+ msgbox Route127_Text_2A232C, 6
+ end
+
+Route127_EventScript_1F6A63:: @ 81F6A63
+ trainerbattle 0, TRAINER_JONAH, 0, Route127_Text_2A2381, Route127_Text_2A23E1
+ msgbox Route127_Text_2A240C, 6
+ end
+
+Route127_EventScript_1F6A7A:: @ 81F6A7A
+ trainerbattle 0, TRAINER_HENRY, 0, Route127_Text_2A2450, Route127_Text_2A2483
+ msgbox Route127_Text_2A2494, 6
+ end
+
+Route127_EventScript_1F6A91:: @ 81F6A91
+ trainerbattle 0, TRAINER_ROGER, 0, Route127_Text_2A24C6, Route127_Text_2A250B
+ msgbox Route127_Text_2A2538, 6
+ end
+
+Route127_EventScript_1F6AA8:: @ 81F6AA8
+ trainerbattle 0, TRAINER_AIDAN, 0, Route127_Text_2A257A, Route127_Text_2A25C1
+ msgbox Route127_Text_2A25D2, 6
+ end
+
+Route127_EventScript_1F6ABF:: @ 81F6ABF
+ trainerbattle 0, TRAINER_ATHENA, 0, Route127_Text_2A27D0, Route127_Text_2A27FC
+ msgbox Route127_Text_2A2832, 6
+ end
+
+Route127_EventScript_1F6AD6:: @ 81F6AD6
+ trainerbattle 2, TRAINER_KOJI_1, 0, Route127_Text_2A264D, Route127_Text_2A2685, Route127_EventScript_1F6B02
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route127_EventScript_1F6B21
+ msgbox Route127_Text_2A26AC, 4
+ release
+ end
+
+Route127_EventScript_1F6B02:: @ 81F6B02
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route127_Text_2A26EE, 4
+ setvar VAR_0x8004, 672
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 672
+ callstd 8
+ release
+ end
+
+Route127_EventScript_1F6B21:: @ 81F6B21
+ trainerbattle 5, TRAINER_KOJI_1, 0, Route127_Text_2A2734, Route127_Text_2A276B
+ msgbox Route127_Text_2A278E, 6
+ end
+
diff --git a/data/scripts/maps/Route128.inc b/data/scripts/maps/Route128.inc
new file mode 100644
index 000000000..1ba1b3448
--- /dev/null
+++ b/data/scripts/maps/Route128.inc
@@ -0,0 +1,311 @@
+Route128_MapScripts:: @ 81F6B38
+ map_script 3, Route128_MapScript1_1F6B43
+ map_script 2, Route128_MapScript2_1F6B4D
+ .byte 0
+
+Route128_MapScript1_1F6B43: @ 81F6B43
+ checkflag FLAG_SYS_WEATHER_CTRL
+ call_if 1, Route128_EventScript_27207A
+ end
+
+Route128_MapScript2_1F6B4D: @ 81F6B4D
+ map_script_2 VAR_0x407B, 1, Route128_EventScript_1F6B57
+ .2byte 0
+
+Route128_EventScript_1F6B57:: @ 81F6B57
+ lockall
+ delay 20
+ applymovement 4, Route128_Movement_1F6C89
+ waitmovement 0
+ msgbox Route128_Text_1F6DF5, 4
+ closemessage
+ applymovement 4, Route128_Movement_1F6C91
+ waitmovement 0
+ msgbox Route128_Text_1F6E48, 4
+ closemessage
+ applymovement 5, Route128_Movement_1F6CAD
+ waitmovement 0
+ applymovement 4, Route128_Movement_2725A6
+ waitmovement 0
+ msgbox Route128_Text_1F6E5A, 4
+ closemessage
+ applymovement 5, Route128_Movement_1F6CBB
+ waitmovement 0
+ applymovement 255, Route128_Movement_2725A6
+ waitmovement 0
+ msgbox Route128_Text_1F6F1E, 4
+ closemessage
+ applymovement 4, Route128_Movement_1F6C96
+ applymovement 255, Route128_Movement_2725A4
+ applymovement 5, Route128_Movement_1F6CA8
+ waitmovement 0
+ msgbox Route128_Text_1F704F, 4
+ closemessage
+ delay 40
+ applymovement 5, Route128_Movement_1F6CB0
+ applymovement 4, Route128_Movement_1F6C9B
+ waitmovement 0
+ removeobject 5
+ removeobject 4
+ delay 100
+ setfieldeffectargument 0, 1
+ dofieldeffect 30
+ waitfieldeffect 30
+ addobject 3
+ applymovement 3, Route128_Movement_1F6C87
+ waitmovement 0
+ applymovement 255, Route128_Movement_2725A8
+ waitmovement 0
+ msgbox Route128_Text_1F70C9, 4
+ closemessage
+ applymovement 3, Route128_Movement_1F6C85
+ applymovement 255, Route128_Movement_2725A6
+ waitmovement 0
+ msgbox Route128_Text_1F70EA, 4
+ applymovement 3, Route128_Movement_2725AA
+ waitmovement 0
+ msgbox Route128_Text_1F721B, 4
+ closemessage
+ applymovement 3, Route128_Movement_2725AA
+ waitmovement 0
+ delay 50
+ setfieldeffectargument 0, 1
+ dofieldeffect 30
+ delay 15
+ removeobject 3
+ waitfieldeffect 30
+ clearflag FLAG_SPECIAL_FLAG_0x4000
+ setvar VAR_0x407B, 2
+ releaseall
+ end
+
+Route128_Movement_1F6C76: @ 81F6C76
+ step_17
+ step_end
+
+Route128_Movement_1F6C78: @ 81F6C78
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+Route128_Movement_1F6C85: @ 81F6C85
+ step_up
+ step_end
+
+Route128_Movement_1F6C87: @ 81F6C87
+ step_17
+ step_end
+
+Route128_Movement_1F6C89: @ 81F6C89
+ step_15
+ step_27
+ step_14
+ step_28
+ step_14
+ step_14
+ step_25
+ step_end
+
+Route128_Movement_1F6C91: @ 81F6C91
+ step_40
+ slow_step_up
+ step_14
+ step_41
+ step_end
+
+Route128_Movement_1F6C96: @ 81F6C96
+ step_17
+ step_17
+ step_17
+ step_28
+ step_end
+
+Route128_Movement_1F6C9B: @ 81F6C9B
+ step_14
+ step_14
+ step_16
+ step_17
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_end
+
+Route128_Movement_1F6CA8: @ 81F6CA8
+ step_left
+ step_left
+ step_13
+ step_12
+ step_end
+
+Route128_Movement_1F6CAD: @ 81F6CAD
+ step_left
+ step_25
+ step_end
+
+Route128_Movement_1F6CB0: @ 81F6CB0
+ step_17
+ step_17
+ step_17
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_end
+
+Route128_Movement_1F6CBB: @ 81F6CBB
+ step_right
+ step_25
+ step_end
+
+Route128_EventScript_1F6CBE:: @ 81F6CBE
+ trainerbattle 2, TRAINER_ISAIAH_1, 0, Route128_Text_2A287F, Route128_Text_2A28AB, Route128_EventScript_1F6CEA
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route128_EventScript_1F6D09
+ msgbox Route128_Text_2A28D7, 4
+ release
+ end
+
+Route128_EventScript_1F6CEA:: @ 81F6CEA
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route128_Text_2A2916, 4
+ setvar VAR_0x8004, 376
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 376
+ callstd 8
+ release
+ end
+
+Route128_EventScript_1F6D09:: @ 81F6D09
+ trainerbattle 5, TRAINER_ISAIAH_1, 0, Route128_Text_2A2975, Route128_Text_2A29B8
+ msgbox Route128_Text_2A29DC, 6
+ end
+
+Route128_EventScript_1F6D20:: @ 81F6D20
+ trainerbattle 2, TRAINER_KATELYN_1, 0, Route128_Text_2A2A1F, Route128_Text_2A2A94, Route128_EventScript_1F6D4C
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route128_EventScript_1F6D6B
+ msgbox Route128_Text_2A2AB7, 4
+ release
+ end
+
+Route128_EventScript_1F6D4C:: @ 81F6D4C
+ special sub_80B4808
+ waitmovement 0
+ msgbox Route128_Text_2A2AF9, 4
+ setvar VAR_0x8004, 386
+ special sub_81D1C20
+ setorcopyvar VAR_0x8000, 386
+ callstd 8
+ release
+ end
+
+Route128_EventScript_1F6D6B:: @ 81F6D6B
+ trainerbattle 5, TRAINER_KATELYN_1, 0, Route128_Text_2A2B41, Route128_Text_2A2BAB
+ msgbox Route128_Text_2A2BDD, 6
+ end
+
+Route128_EventScript_1F6D82:: @ 81F6D82
+ trainerbattle 0, TRAINER_ALEXA, 0, Route128_Text_2A2C1C, Route128_Text_2A2C79
+ msgbox Route128_Text_2A2C95, 6
+ end
+
+Route128_EventScript_1F6D99:: @ 81F6D99
+ trainerbattle 0, TRAINER_RUBEN, 0, Route128_Text_2A2CD9, Route128_Text_2A2CFE
+ msgbox Route128_Text_2A2D0D, 6
+ end
+
+Route128_EventScript_1F6DB0:: @ 81F6DB0
+ trainerbattle 0, TRAINER_WAYNE, 0, Route128_Text_2A2D3D, Route128_Text_2A2DA9
+ msgbox Route128_Text_2A2DBA, 6
+ end
+
+Route128_EventScript_1F6DC7:: @ 81F6DC7
+ trainerbattle 0, TRAINER_HARRISON, 0, Route128_Text_2A2E0F, Route128_Text_2A2E44
+ msgbox Route128_Text_2A2E6C, 6
+ end
+
+Route128_EventScript_1F6DDE:: @ 81F6DDE
+ trainerbattle 0, TRAINER_CARLEE, 0, Route128_Text_2A2EC8, Route128_Text_2A2EFA
+ msgbox Route128_Text_2A2F2F, 6
+ end
+
+Route128_Text_1F6DF5: @ 81F6DF5
+ .string "ARCHIE: What happened…\n"
+ .string "What is this wretched scene…\p"
+ .string "Did I…make a horrible mistake?$"
+
+Route128_Text_1F6E48: @ 81F6E48
+ .string "I…\n"
+ .string "I only wanted…$"
+
+Route128_Text_1F6E5A: @ 81F6E5A
+ .string "MAXIE: Do you understand now,\n"
+ .string "ARCHIE?\p"
+ .string "Do you finally see how disastrous\n"
+ .string "your dream turned out to be?\p"
+ .string "We have to hurry! We have to do\n"
+ .string "something before the situation goes\l"
+ .string "completely out of control!$"
+
+Route128_Text_1F6F1E: @ 81F6F1E
+ .string "MAXIE: {PLAYER}, don’t say anything.\p"
+ .string "I know that I have no right to be\n"
+ .string "critical of ARCHIE…\p"
+ .string "But the way things are now, I doubt\n"
+ .string "that we humans will be capable of\l"
+ .string "doing anything about it.\p"
+ .string "But neither can we stand by and\n"
+ .string "just watch helplessly.\p"
+ .string "The responsibility for putting an end\n"
+ .string "to this falls to ARCHIE and me…$"
+
+Route128_Text_1F704F: @ 81F704F
+ .string "MAXIE: This defies belief…\p"
+ .string "Those super-ancient POKéMON…\p"
+ .string "Their power is unbelievable.\n"
+ .string "They’ve upset the balance of nature…$"
+
+Route128_Text_1F70C9: @ 81F70C9
+ .string "STEVEN: {PLAYER}{KUN}!\n"
+ .string "What is happening?$"
+
+Route128_Text_1F70EA: @ 81F70EA
+ .string "This is terrible…\p"
+ .string "After the scorching heat wave ended,\n"
+ .string "this deluge began.\p"
+ .string "If this doesn’t stop, all of HOENN…\n"
+ .string "No, the whole world will drown.\p"
+ .string "This huge rain cloud is spreading\n"
+ .string "from above SOOTOPOLIS…\p"
+ .string "What in the world is taking place there?\p"
+ .string "There’s no point arguing here…\n"
+ .string "SOOTOPOLIS might provide answers…$"
+
+Route128_Text_1F721B: @ 81F721B
+ .string "{PLAYER}{KUN}…\n"
+ .string "I don’t know what you intend to do,\l"
+ .string "but don’t do anything reckless.\p"
+ .string "Okay.\n"
+ .string "I’m going to SOOTOPOLIS.$"
+
diff --git a/data/scripts/maps/Route129.inc b/data/scripts/maps/Route129.inc
new file mode 100644
index 000000000..822c6018d
--- /dev/null
+++ b/data/scripts/maps/Route129.inc
@@ -0,0 +1,58 @@
+Route129_MapScripts:: @ 81F7284
+ map_script 3, Route129_MapScript1_1F72AB
+ map_script 1, Route129_MapScript1_1F7294
+ map_script 2, Route129_MapScript2_1F72E2
+ .byte 0
+
+Route129_MapScript1_1F7294: @ 81F7294
+ compare_var_to_value VAR_0x4037, 15
+ call_if 1, Route129_EventScript_273C39
+ compare_var_to_value VAR_0x4037, 16
+ call_if 1, Route129_EventScript_273CA6
+ end
+
+Route129_MapScript1_1F72AB: @ 81F72AB
+ compare_var_to_value VAR_0x4039, 1
+ call_if 1, Route129_EventScript_273D13
+ compare_var_to_value VAR_0x405E, 4
+ call_if 4, Route129_EventScript_1F72D8
+ compare_var_to_value VAR_0x4037, 15
+ call_if 1, Route129_EventScript_273D17
+ compare_var_to_value VAR_0x4037, 16
+ call_if 1, Route129_EventScript_273D17
+ end
+
+Route129_EventScript_1F72D8:: @ 81F72D8
+ checkflag FLAG_SYS_WEATHER_CTRL
+ call_if 1, Route129_EventScript_27207A
+ return
+
+Route129_MapScript2_1F72E2: @ 81F72E2
+ map_script_2 VAR_0x4039, 1, gUnknown_08273D1F
+ .2byte 0
+
+Route129_EventScript_1F72EC:: @ 81F72EC
+ trainerbattle 0, TRAINER_CHASE, 0, Route129_Text_2A2F66, Route129_Text_2A2F9D
+ msgbox Route129_Text_2A2FB9, 6
+ end
+
+Route129_EventScript_1F7303:: @ 81F7303
+ trainerbattle 0, TRAINER_ALLISON, 0, Route129_Text_2A2FF2, Route129_Text_2A3034
+ msgbox Route129_Text_2A3048, 6
+ end
+
+Route129_EventScript_1F731A:: @ 81F731A
+ trainerbattle 0, TRAINER_REED, 0, Route129_Text_2A30CD, Route129_Text_2A30F1
+ msgbox Route129_Text_2A3114, 6
+ end
+
+Route129_EventScript_1F7331:: @ 81F7331
+ trainerbattle 0, TRAINER_TISHA, 0, Route129_Text_2A314E, Route129_Text_2A317D
+ msgbox Route129_Text_2A31A6, 6
+ end
+
+Route129_EventScript_1F7348:: @ 81F7348
+ trainerbattle 0, TRAINER_CLARENCE, 0, Route129_Text_2A3204, Route129_Text_2A3239
+ msgbox Route129_Text_2A3252, 6
+ end
+
diff --git a/data/scripts/maps/Route130.inc b/data/scripts/maps/Route130.inc
new file mode 100644
index 000000000..b76d77759
--- /dev/null
+++ b/data/scripts/maps/Route130.inc
@@ -0,0 +1,52 @@
+Route130_MapScripts:: @ 81F735F
+ map_script 3, Route130_MapScript1_1F7365
+ .byte 0
+
+Route130_MapScript1_1F7365: @ 81F7365
+ compare_var_to_value VAR_0x405E, 4
+ call_if 4, Route130_EventScript_1F73B5
+ specialvar VAR_RESULT, sub_813793C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route130_EventScript_1F73B1
+ setflag FLAG_0x011
+ setflag FLAG_0x012
+ setflag FLAG_0x013
+ setflag FLAG_0x014
+ setflag FLAG_0x015
+ setflag FLAG_0x016
+ setflag FLAG_0x017
+ setflag FLAG_0x018
+ setflag FLAG_0x019
+ setflag FLAG_0x01A
+ setflag FLAG_0x01B
+ setflag FLAG_0x01C
+ setflag FLAG_0x01D
+ setflag FLAG_0x01E
+ setflag FLAG_0x01F
+ setmaplayoutindex 263
+ end
+
+Route130_EventScript_1F73B1:: @ 81F73B1
+ setmaplayoutindex 46
+ end
+
+Route130_EventScript_1F73B5:: @ 81F73B5
+ checkflag FLAG_SYS_WEATHER_CTRL
+ call_if 1, Route130_EventScript_27207A
+ return
+
+Route130_EventScript_1F73BF:: @ 81F73BF
+ trainerbattle 0, TRAINER_RODNEY, 0, Route130_Text_2A328A, Route130_Text_2A32E6
+ msgbox Route130_Text_2A3300, 6
+ end
+
+Route130_EventScript_1F73D6:: @ 81F73D6
+ trainerbattle 0, TRAINER_KATIE, 0, Route130_Text_2A3363, Route130_Text_2A33AC
+ msgbox Route130_Text_2A33F5, 6
+ end
+
+Route130_EventScript_1F73ED:: @ 81F73ED
+ trainerbattle 0, TRAINER_SANTIAGO, 0, Route130_Text_2A343A, Route130_Text_2A346D
+ msgbox Route130_Text_2A3494, 6
+ end
+
diff --git a/data/scripts/maps/Route131.inc b/data/scripts/maps/Route131.inc
new file mode 100644
index 000000000..5ac962d66
--- /dev/null
+++ b/data/scripts/maps/Route131.inc
@@ -0,0 +1,59 @@
+Route131_MapScripts:: @ 81F7404
+ map_script 3, Route131_MapScript1_1F740A
+ .byte 0
+
+Route131_MapScript1_1F740A: @ 81F740A
+ compare_var_to_value VAR_0x405E, 4
+ call_if 4, Route131_EventScript_1F741F
+ call Route131_EventScript_1F741B
+ end
+
+Route131_EventScript_1F741B:: @ 81F741B
+ setmaplayoutindex 319
+ return
+
+Route131_EventScript_1F741F:: @ 81F741F
+ checkflag FLAG_SYS_WEATHER_CTRL
+ call_if 1, Route131_EventScript_27207A
+ return
+
+Route131_EventScript_1F7429:: @ 81F7429
+ trainerbattle 0, TRAINER_RICHARD, 0, Route131_Text_2A34C8, Route131_Text_2A350D
+ msgbox Route131_Text_2A353D, 6
+ end
+
+Route131_EventScript_1F7440:: @ 81F7440
+ trainerbattle 0, TRAINER_HERMAN, 0, Route131_Text_2A35C6, Route131_Text_2A3626
+ msgbox Route131_Text_2A362D, 6
+ end
+
+Route131_EventScript_1F7457:: @ 81F7457
+ trainerbattle 0, TRAINER_SUSIE, 0, Route131_Text_2A367B, Route131_Text_2A36AB
+ msgbox Route131_Text_2A36D6, 6
+ end
+
+Route131_EventScript_1F746E:: @ 81F746E
+ trainerbattle 0, TRAINER_KARA, 0, Route131_Text_2A3751, Route131_Text_2A378A
+ msgbox Route131_Text_2A379F, 6
+ end
+
+Route131_EventScript_1F7485:: @ 81F7485
+ trainerbattle 4, TRAINER_RELI_AND_IAN, 0, Route131_Text_2A37E9, Route131_Text_2A381F, Route131_Text_2A38B7
+ msgbox Route131_Text_2A3855, 6
+ end
+
+Route131_EventScript_1F74A0:: @ 81F74A0
+ trainerbattle 4, TRAINER_RELI_AND_IAN, 0, Route131_Text_2A38F8, Route131_Text_2A3925, Route131_Text_2A39CD
+ msgbox Route131_Text_2A3960, 6
+ end
+
+Route131_EventScript_1F74BB:: @ 81F74BB
+ trainerbattle 0, TRAINER_TALIA, 0, Route131_Text_2A39FE, Route131_Text_2A3A38
+ msgbox Route131_Text_2A3A48, 6
+ end
+
+Route131_EventScript_1F74D2:: @ 81F74D2
+ trainerbattle 0, TRAINER_KEVIN, 0, Route131_Text_2A3AA0, Route131_Text_2A3AFC
+ msgbox Route131_Text_2A3B02, 6
+ end
+
diff --git a/data/scripts/maps/Route132.inc b/data/scripts/maps/Route132.inc
new file mode 100644
index 000000000..a4ae6f716
--- /dev/null
+++ b/data/scripts/maps/Route132.inc
@@ -0,0 +1,43 @@
+Route132_MapScripts:: @ 81F74E9
+ .byte 0
+
+Route132_EventScript_1F74EA:: @ 81F74EA
+ trainerbattle 0, TRAINER_GILBERT, 0, Route132_Text_2A3B4C, Route132_Text_2A3BAC
+ msgbox Route132_Text_2A3BC0, 6
+ end
+
+Route132_EventScript_1F7501:: @ 81F7501
+ trainerbattle 0, TRAINER_DANA, 0, Route132_Text_2A3C04, Route132_Text_2A3C39
+ msgbox Route132_Text_2A3C49, 6
+ end
+
+Route132_EventScript_1F7518:: @ 81F7518
+ trainerbattle 0, TRAINER_RONALD, 0, Route132_Text_2A3C7F, Route132_Text_2A3CAD
+ msgbox Route132_Text_2A3CC5, 6
+ end
+
+Route132_EventScript_1F752F:: @ 81F752F
+ trainerbattle 0, TRAINER_KIYO, 0, Route132_Text_2A3D26, Route132_Text_2A3D6C
+ msgbox Route132_Text_2A3D8B, 6
+ end
+
+Route132_EventScript_1F7546:: @ 81F7546
+ trainerbattle 0, TRAINER_PAXTON, 0, Route132_Text_2A3F4F, Route132_Text_2A3FA8
+ msgbox Route132_Text_2A3FE5, 6
+ end
+
+Route132_EventScript_1F755D:: @ 81F755D
+ trainerbattle 0, TRAINER_DARCY, 0, Route132_Text_2A4026, Route132_Text_2A406E
+ msgbox Route132_Text_2A40A4, 6
+ end
+
+Route132_EventScript_1F7574:: @ 81F7574
+ trainerbattle 0, TRAINER_JONATHAN, 0, Route132_Text_2A3EAC, Route132_Text_2A3EDD
+ msgbox Route132_Text_2A3F03, 6
+ end
+
+Route132_EventScript_1F758B:: @ 81F758B
+ trainerbattle 0, TRAINER_MAKAYLA, 0, Route132_Text_2A3DF0, Route132_Text_2A3E2C
+ msgbox Route132_Text_2A3E4E, 6
+ end
+
diff --git a/data/scripts/maps/Route133.inc b/data/scripts/maps/Route133.inc
new file mode 100644
index 000000000..dc15a5d40
--- /dev/null
+++ b/data/scripts/maps/Route133.inc
@@ -0,0 +1,38 @@
+Route133_MapScripts:: @ 81F75A2
+ .byte 0
+
+Route133_EventScript_1F75A3:: @ 81F75A3
+ trainerbattle 0, TRAINER_FRANKLIN, 0, Route133_Text_2A40F0, Route133_Text_2A413F
+ msgbox Route133_Text_2A4154, 6
+ end
+
+Route133_EventScript_1F75BA:: @ 81F75BA
+ trainerbattle 0, TRAINER_DEBRA, 0, Route133_Text_2A41A8, Route133_Text_2A4200
+ msgbox Route133_Text_2A420E, 6
+ end
+
+Route133_EventScript_1F75D1:: @ 81F75D1
+ trainerbattle 0, TRAINER_LINDA, 0, Route133_Text_2A4236, Route133_Text_2A4258
+ msgbox Route133_Text_2A4264, 6
+ end
+
+Route133_EventScript_1F75E8:: @ 81F75E8
+ trainerbattle 0, TRAINER_WARREN, 0, Route133_Text_2A4290, Route133_Text_2A42E0
+ msgbox Route133_Text_2A4304, 6
+ end
+
+Route133_EventScript_1F75FF:: @ 81F75FF
+ trainerbattle 0, TRAINER_BECK, 0, Route133_Text_2A436A, Route133_Text_2A439C
+ msgbox Route133_Text_2A43B9, 6
+ end
+
+Route133_EventScript_1F7616:: @ 81F7616
+ trainerbattle 0, TRAINER_MOLLIE, 0, Route133_Text_2A4401, Route133_Text_2A443A
+ msgbox Route133_Text_2A4477, 6
+ end
+
+Route133_EventScript_1F762D:: @ 81F762D
+ trainerbattle 0, TRAINER_CONOR, 0, Route133_Text_2A44BA, Route133_Text_2A4505
+ msgbox Route133_Text_2A4527, 6
+ end
+
diff --git a/data/scripts/maps/Route134.inc b/data/scripts/maps/Route134.inc
new file mode 100644
index 000000000..8ee5b781a
--- /dev/null
+++ b/data/scripts/maps/Route134.inc
@@ -0,0 +1,53 @@
+Route134_MapScripts:: @ 81F7644
+ map_script 5, Route134_MapScript1_1F764A
+ .byte 0
+
+Route134_MapScript1_1F764A: @ 81F764A
+ setdivewarp UNDERWATER_ROUTE_134, 255, 8, 6
+ end
+
+Route134_EventScript_1F7653:: @ 81F7653
+ trainerbattle 0, TRAINER_JACK, 0, Route134_Text_2A4571, Route134_Text_2A45BB
+ msgbox Route134_Text_2A45C5, 6
+ end
+
+Route134_EventScript_1F766A:: @ 81F766A
+ trainerbattle 0, TRAINER_LAUREL, 0, Route134_Text_2A4609, Route134_Text_2A4643
+ msgbox Route134_Text_2A464B, 6
+ end
+
+Route134_EventScript_1F7681:: @ 81F7681
+ trainerbattle 0, TRAINER_ALEX, 0, Route134_Text_2A4682, Route134_Text_2A46BE
+ msgbox Route134_Text_2A46D2, 6
+ end
+
+Route134_EventScript_1F7698:: @ 81F7698
+ trainerbattle 0, TRAINER_AARON, 0, Route134_Text_2A479E, Route134_Text_2A47E1
+ msgbox Route134_Text_2A47FD, 6
+ end
+
+Route134_EventScript_1F76AF:: @ 81F76AF
+ trainerbattle 0, TRAINER_HITOSHI, 0, Route134_Text_2A4709, Route134_Text_2A4745
+ msgbox Route134_Text_2A475D, 6
+ end
+
+Route134_EventScript_1F76C6:: @ 81F76C6
+ trainerbattle 0, TRAINER_HUDSON, 0, Route134_Text_2A4A8F, Route134_Text_2A4AC1
+ msgbox Route134_Text_2A4AD8, 6
+ end
+
+Route134_EventScript_1F76DD:: @ 81F76DD
+ trainerbattle 0, TRAINER_REYNA, 0, Route134_Text_2A49E9, Route134_Text_2A4A10
+ msgbox Route134_Text_2A4A34, 6
+ end
+
+Route134_EventScript_1F76F4:: @ 81F76F4
+ trainerbattle 0, TRAINER_MARLEY, 0, Route134_Text_2A4937, Route134_Text_2A496B
+ msgbox Route134_Text_2A49B1, 6
+ end
+
+Route134_EventScript_1F770B:: @ 81F770B
+ trainerbattle 0, TRAINER_KELVIN, 0, Route134_Text_2A4875, Route134_Text_2A489B
+ msgbox Route134_Text_2A48BD, 6
+ end
+
diff --git a/data/scripts/maps/RustboroCity.inc b/data/scripts/maps/RustboroCity.inc
new file mode 100644
index 000000000..31182439b
--- /dev/null
+++ b/data/scripts/maps/RustboroCity.inc
@@ -0,0 +1,1310 @@
+RustboroCity_MapScripts:: @ 81E06BD
+ map_script 3, RustboroCity_MapScript1_1E06C8
+ map_script 2, RustboroCity_MapScript2_1E070B
+ .byte 0
+
+RustboroCity_MapScript1_1E06C8: @ 81E06C8
+ setflag FLAG_VISITED_RUSTBORO_CITY
+ call RustboroCity_EventScript_271ED7
+ compare_var_to_value VAR_0x405A, 6
+ call_if 1, RustboroCity_EventScript_1E0707
+ getplayerxy VAR_0x4000, VAR_0x4001
+ compare_var_to_value VAR_0x405A, 6
+ goto_eq RustboroCity_EventScript_1E06EC
+ end
+
+RustboroCity_EventScript_1E06EC:: @ 81E06EC
+ compare_var_to_value VAR_0x4000, 11
+ goto_eq RustboroCity_EventScript_1E06FF
+ setobjectxyperm 15, 12, 15
+ end
+
+RustboroCity_EventScript_1E06FF:: @ 81E06FF
+ setobjectxyperm 15, 11, 15
+ end
+
+RustboroCity_EventScript_1E0707:: @ 81E0707
+ setflag FLAG_SPECIAL_FLAG_0x4000
+ return
+
+RustboroCity_MapScript2_1E070B: @ 81E070B
+ map_script_2 VAR_0x405A, 6, RustboroCity_EventScript_1E0715
+ .2byte 0
+
+RustboroCity_EventScript_1E0715:: @ 81E0715
+ lockall
+ setvar VAR_0x4063, 1
+ applymovement 255, RustboroCity_Movement_1E0850
+ waitmovement 0
+ playse SE_KAIDAN
+ delay 10
+ addobject 15
+ applymovement 15, RustboroCity_Movement_1E0852
+ waitmovement 0
+ playse SE_PIN
+ applymovement 15, RustboroCity_Movement_272598
+ waitmovement 0
+ applymovement 15, RustboroCity_Movement_27259A
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_2725A6
+ waitmovement 0
+ applymovement 15, RustboroCity_Movement_1E084E
+ waitmovement 0
+ msgbox RustboroCity_Text_1E22A5, 4
+ closemessage
+ setflag FLAG_0x12F
+ applymovement 15, RustboroCity_Movement_2725A4
+ waitmovement 0
+ playse SE_TK_KASYA
+ delay 10
+ playse SE_TK_KASYA
+ delay 10
+ playse SE_TK_KASYA
+ delay 10
+ playse SE_TK_KASYA
+ delay 20
+ applymovement 15, RustboroCity_Movement_2725AA
+ waitmovement 0
+ msgbox RustboroCity_Text_1E2331, 4
+ closemessage
+ delay 20
+ goto RustboroCity_EventScript_1E07BD
+
+RustboroCity_EventScript_1E07AC:: @ 81E07AC
+ msgbox RustboroCity_Text_1E2449, 4
+ closemessage
+ delay 10
+ goto RustboroCity_EventScript_1E07BD
+
+RustboroCity_EventScript_1E07BD:: @ 81E07BD
+ setflag FLAG_0x130
+ special sp106_CreateStartMenu
+ waitstate
+ switch VAR_RESULT
+ case 0, RustboroCity_EventScript_1E07AC
+ case 1, RustboroCity_EventScript_1E07AC
+ case 2, RustboroCity_EventScript_1E07AC
+ case 4, RustboroCity_EventScript_1E07AC
+ case 5, RustboroCity_EventScript_1E07AC
+ case 6, RustboroCity_EventScript_1E07AC
+ case 7, RustboroCity_EventScript_1E07AC
+ case 127, RustboroCity_EventScript_1E07AC
+ special sub_81C72A4
+ waitstate
+ delay 20
+ msgbox RustboroCity_Text_1E2464, 4
+ closemessage
+ applymovement 15, RustboroCity_Movement_1E085D
+ waitmovement 0
+ playse SE_KAIDAN
+ removeobject 15
+ setflag FLAG_0x34C
+ setvar VAR_0x405A, 7
+ clearflag FLAG_SPECIAL_FLAG_0x4000
+ releaseall
+ end
+
+RustboroCity_Movement_1E084E: @ 81E084E
+ step_1d
+ step_end
+
+RustboroCity_Movement_1E0850: @ 81E0850
+ step_down
+ step_end
+
+RustboroCity_Movement_1E0852: @ 81E0852
+ step_down
+ step_14
+ step_end
+
+RustboroCity_Movement_1E0855: @ 81E0855
+ step_14
+ step_left
+ step_down
+ step_down
+ step_right
+ step_26
+ step_14
+ step_end
+
+RustboroCity_Movement_1E085D: @ 81E085D
+ step_up
+ step_end
+
+RustboroCity_EventScript_1E085F:: @ 81E085F
+ lock
+ faceplayer
+ checkflag FLAG_0x08E
+ goto_eq RustboroCity_EventScript_1E0874
+ msgbox RustboroCity_Text_1E123F, 4
+ release
+ end
+
+RustboroCity_EventScript_1E0874:: @ 81E0874
+ msgbox RustboroCity_Text_1E12AC, 4
+ release
+ end
+
+RustboroCity_EventScript_1E087E:: @ 81E087E
+ lock
+ faceplayer
+ msgbox RustboroCity_Text_1E1407, 4
+ release
+ end
+
+RustboroCity_EventScript_1E088A:: @ 81E088A
+ msgbox RustboroCity_Text_1E1480, 2
+ end
+
+RustboroCity_EventScript_1E0893:: @ 81E0893
+ lock
+ faceplayer
+ checkflag FLAG_BADGE01_GET
+ goto_eq RustboroCity_EventScript_1E08A8
+ msgbox RustboroCity_Text_1E130D, 4
+ release
+ end
+
+RustboroCity_EventScript_1E08A8:: @ 81E08A8
+ msgbox RustboroCity_Text_1E139E, 4
+ release
+ end
+
+RustboroCity_EventScript_1E08B2:: @ 81E08B2
+ lock
+ faceplayer
+ checkflag FLAG_0x0BC
+ goto_eq RustboroCity_EventScript_1E08C7
+ msgbox RustboroCity_Text_1E1520, 4
+ release
+ end
+
+RustboroCity_EventScript_1E08C7:: @ 81E08C7
+ msgbox RustboroCity_Text_1E1589, 4
+ release
+ end
+
+RustboroCity_EventScript_1E08D1:: @ 81E08D1
+ msgbox RustboroCity_Text_1E1633, 2
+ end
+
+RustboroCity_EventScript_1E08DA:: @ 81E08DA
+ msgbox RustboroCity_Text_1E1695, 3
+ end
+
+RustboroCity_EventScript_1E08E3:: @ 81E08E3
+ msgbox RustboroCity_Text_1E20A6, 3
+ end
+
+RustboroCity_EventScript_1E08EC:: @ 81E08EC
+ msgbox RustboroCity_Text_1E2128, 3
+ end
+
+RustboroCity_EventScript_1E08F5:: @ 81E08F5
+ msgbox RustboroCity_Text_1E2167, 3
+ end
+
+RustboroCity_EventScript_1E08FE:: @ 81E08FE
+ msgbox RustboroCity_Text_1E21B3, 3
+ end
+
+RustboroCity_EventScript_1E0907:: @ 81E0907
+ msgbox RustboroCity_Text_1E220B, 3
+ end
+
+RustboroCity_EventScript_1E0910:: @ 81E0910
+ msgbox RustboroCity_Text_1E2253, 3
+ end
+
+RustboroCity_EventScript_1E0919:: @ 81E0919
+ msgbox RustboroCity_Text_1E2296, 3
+ end
+
+RustboroCity_EventScript_1E0922:: @ 81E0922
+ lock
+ faceplayer
+ msgbox RustboroCity_Text_1E16F4, 4
+ applymovement 7, RustboroCity_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+RustboroCity_EventScript_1E0938:: @ 81E0938
+ lock
+ faceplayer
+ msgbox RustboroCity_Text_1E174B, 4
+ applymovement 8, RustboroCity_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+RustboroCity_EventScript_1E094E:: @ 81E094E
+ lock
+ faceplayer
+ msgbox RustboroCity_Text_1E1789, 4
+ release
+ end
+
+RustboroCity_EventScript_1E095A:: @ 81E095A
+ lockall
+ setobjectxyperm 9, 14, 21
+ setobjectmovementtype 9, 10
+ setvar VAR_0x8004, 0
+ goto RustboroCity_EventScript_1E09CD
+ end
+
+RustboroCity_EventScript_1E0971:: @ 81E0971
+ lockall
+ setobjectxyperm 9, 14, 21
+ setobjectmovementtype 9, 10
+ setvar VAR_0x8004, 1
+ goto RustboroCity_EventScript_1E09CD
+ end
+
+RustboroCity_EventScript_1E0988:: @ 81E0988
+ lockall
+ setobjectxyperm 9, 14, 21
+ setobjectmovementtype 9, 10
+ setvar VAR_0x8004, 2
+ goto RustboroCity_EventScript_1E09CD
+ end
+
+RustboroCity_EventScript_1E099F:: @ 81E099F
+ lockall
+ setobjectxyperm 9, 14, 21
+ setobjectmovementtype 9, 10
+ setvar VAR_0x8004, 3
+ goto RustboroCity_EventScript_1E09CD
+ end
+
+RustboroCity_EventScript_1E09B6:: @ 81E09B6
+ lockall
+ setobjectxyperm 9, 14, 21
+ setobjectmovementtype 9, 10
+ setvar VAR_0x8004, 4
+ goto RustboroCity_EventScript_1E09CD
+ end
+
+RustboroCity_EventScript_1E09CD:: @ 81E09CD
+ msgbox RustboroCity_Text_1E17FE, 4
+ closemessage
+ playbgm BGM_AQA_0, 0
+ addobject 10
+ addobject 9
+ applymovement 10, RustboroCity_Movement_1E0AA0
+ waitmovement 0
+ removeobject 10
+ applymovement 9, RustboroCity_Movement_1E0AB1
+ waitmovement 0
+ msgbox RustboroCity_Text_1E1817, 4
+ closemessage
+ applymovement 9, RustboroCity_Movement_1E0AB9
+ waitmovement 0
+ fadedefaultbgm
+ removeobject 9
+ setobjectxyperm 9, 30, 10
+ clearflag FLAG_0x2DC
+ setflag FLAG_0x08E
+ setvar VAR_0x405A, 2
+ setvar VAR_0x409A, 2
+ setvar VAR_0x406F, 1
+ clearflag FLAG_0x37B
+ clearflag FLAG_0x370
+ clearflag FLAG_0x36E
+ setflag FLAG_0x2E3
+ setflag FLAG_0x371
+ releaseall
+ end
+
+RustboroCity_EventScript_1E0A3B:: @ 81E0A3B
+ msgbox RustboroCity_Text_1E1904, 4
+ return
+
+RustboroCity_EventScript_1E0A44:: @ 81E0A44
+ msgbox RustboroCity_Text_1E194D, 4
+ return
+
+RustboroCity_EventScript_1E0A4D:: @ 81E0A4D
+ applymovement 9, RustboroCity_Movement_1E0AC1
+ waitmovement 0
+ return
+
+RustboroCity_EventScript_1E0A58:: @ 81E0A58
+ applymovement 9, RustboroCity_Movement_1E0AC5
+ waitmovement 0
+ return
+
+RustboroCity_EventScript_1E0A63:: @ 81E0A63
+ applymovement 9, RustboroCity_Movement_1E0ACA
+ waitmovement 0
+ return
+
+RustboroCity_EventScript_1E0A6E:: @ 81E0A6E
+ applymovement 9, RustboroCity_Movement_1E0ACF
+ waitmovement 0
+ return
+
+RustboroCity_EventScript_1E0A79:: @ 81E0A79
+ applymovement 9, RustboroCity_Movement_1E0AD5
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_2725A6
+ waitmovement 0
+ return
+
+RustboroCity_Movement_1E0A8E: @ 81E0A8E
+ step_30
+ step_30
+ step_18
+ step_18
+ step_18
+ step_18
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_end
+
+RustboroCity_Movement_1E0AA0: @ 81E0AA0
+ step_30
+ step_30
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_16
+ step_end
+
+RustboroCity_Movement_1E0AB1: @ 81E0AB1
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_26
+ step_end
+
+RustboroCity_Movement_1E0AB9: @ 81E0AB9
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+RustboroCity_Movement_1E0AC1: @ 81E0AC1
+ step_down
+ step_right
+ step_right
+ step_end
+
+RustboroCity_Movement_1E0AC5: @ 81E0AC5
+ step_down
+ step_down
+ step_right
+ step_right
+ step_end
+
+RustboroCity_Movement_1E0ACA: @ 81E0ACA
+ step_down
+ step_down
+ step_right
+ step_right
+ step_end
+
+RustboroCity_Movement_1E0ACF: @ 81E0ACF
+ step_down
+ step_down
+ step_down
+ step_right
+ step_right
+ step_end
+
+RustboroCity_Movement_1E0AD5: @ 81E0AD5
+ step_down
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_25
+ step_end
+
+RustboroCity_EventScript_1E0ADD:: @ 81E0ADD
+ lock
+ faceplayer
+ checkflag FLAG_0x08F
+ goto_eq RustboroCity_EventScript_1E0AF2
+ msgbox RustboroCity_Text_1E1904, 4
+ release
+ end
+
+RustboroCity_EventScript_1E0AF2:: @ 81E0AF2
+ waitse
+ setvar VAR_0x4001, 4
+ goto RustboroCity_EventScript_1E0C5B
+ end
+
+RustboroCity_EventScript_1E0AFE:: @ 81E0AFE
+ lockall
+ setvar VAR_0x4001, 0
+ goto RustboroCity_EventScript_1E0B2E
+ end
+
+RustboroCity_EventScript_1E0B0A:: @ 81E0B0A
+ lockall
+ setvar VAR_0x4001, 1
+ goto RustboroCity_EventScript_1E0B2E
+ end
+
+RustboroCity_EventScript_1E0B16:: @ 81E0B16
+ lockall
+ setvar VAR_0x4001, 2
+ goto RustboroCity_EventScript_1E0B2E
+ end
+
+RustboroCity_EventScript_1E0B22:: @ 81E0B22
+ lockall
+ setvar VAR_0x4001, 3
+ goto RustboroCity_EventScript_1E0B2E
+ end
+
+RustboroCity_EventScript_1E0B2E:: @ 81E0B2E
+ compare_var_to_value VAR_0x4001, 0
+ call_if 1, RustboroCity_EventScript_1E0B6F
+ compare_var_to_value VAR_0x4001, 1
+ call_if 1, RustboroCity_EventScript_1E0B9B
+ compare_var_to_value VAR_0x4001, 2
+ call_if 1, RustboroCity_EventScript_1E0BC7
+ compare_var_to_value VAR_0x4001, 3
+ call_if 1, RustboroCity_EventScript_1E0BF3
+ setflag FLAG_0x09F
+ setvar VAR_0x405A, 3
+ moveobjectoffscreen 9
+ msgbox RustboroCity_Text_1E183E, 4
+ releaseall
+ end
+
+RustboroCity_EventScript_1E0B6F:: @ 81E0B6F
+ applymovement 9, RustboroCity_Movement_2725A6
+ waitmovement 0
+ playse SE_PIN
+ applymovement 9, RustboroCity_Movement_272598
+ waitmovement 0
+ applymovement 9, RustboroCity_Movement_27259A
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_2725AA
+ waitmovement 0
+ return
+
+RustboroCity_EventScript_1E0B9B:: @ 81E0B9B
+ applymovement 9, RustboroCity_Movement_2725A4
+ waitmovement 0
+ playse SE_PIN
+ applymovement 9, RustboroCity_Movement_272598
+ waitmovement 0
+ applymovement 9, RustboroCity_Movement_27259A
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_2725AC
+ waitmovement 0
+ return
+
+RustboroCity_EventScript_1E0BC7:: @ 81E0BC7
+ applymovement 9, RustboroCity_Movement_2725AA
+ waitmovement 0
+ playse SE_PIN
+ applymovement 9, RustboroCity_Movement_272598
+ waitmovement 0
+ applymovement 9, RustboroCity_Movement_27259A
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_2725A6
+ waitmovement 0
+ return
+
+RustboroCity_EventScript_1E0BF3:: @ 81E0BF3
+ applymovement 9, RustboroCity_Movement_2725AA
+ waitmovement 0
+ playse SE_PIN
+ applymovement 9, RustboroCity_Movement_272598
+ waitmovement 0
+ applymovement 9, RustboroCity_Movement_27259A
+ waitmovement 0
+ applymovement 9, RustboroCity_Movement_1E0C29
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_2725A6
+ waitmovement 0
+ return
+
+RustboroCity_Movement_1E0C29: @ 81E0C29
+ step_down
+ step_end
+
+RustboroCity_EventScript_1E0C2B:: @ 81E0C2B
+ lockall
+ setvar VAR_0x4001, 0
+ goto RustboroCity_EventScript_1E0C5B
+ end
+
+RustboroCity_EventScript_1E0C37:: @ 81E0C37
+ lockall
+ setvar VAR_0x4001, 1
+ goto RustboroCity_EventScript_1E0C5B
+ end
+
+RustboroCity_EventScript_1E0C43:: @ 81E0C43
+ lockall
+ setvar VAR_0x4001, 2
+ goto RustboroCity_EventScript_1E0C5B
+ end
+
+RustboroCity_EventScript_1E0C4F:: @ 81E0C4F
+ lockall
+ setvar VAR_0x4001, 3
+ goto RustboroCity_EventScript_1E0C5B
+ end
+
+RustboroCity_EventScript_1E0C5B:: @ 81E0C5B
+ compare_var_to_value VAR_0x4001, 0
+ call_if 1, RustboroCity_EventScript_1E0CDC
+ compare_var_to_value VAR_0x4001, 1
+ call_if 1, RustboroCity_EventScript_1E0D08
+ compare_var_to_value VAR_0x4001, 2
+ call_if 1, RustboroCity_EventScript_1E0D34
+ compare_var_to_value VAR_0x4001, 3
+ call_if 1, RustboroCity_EventScript_1E0D60
+ compare_var_to_value VAR_0x4001, 4
+ call_if 1, RustboroCity_EventScript_1E0D96
+ msgbox RustboroCity_Text_1E194D, 4
+ giveitem_std ITEM_GREAT_BALL
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, RustboroCity_EventScript_1E0CD3
+ msgbox RustboroCity_Text_1E1A21, 4
+ closemessage
+ setflag FLAG_0x090
+ setflag FLAG_0x2DC
+ setvar VAR_0x405A, 5
+ delay 30
+ warp RUSTBORO_CITY_DEVON_CORP_3F, 255, 2, 2
+ waitstate
+ releaseall
+ end
+
+RustboroCity_EventScript_1E0CD3:: @ 81E0CD3
+ msgbox RustboroCity_Text_1E19E5, 4
+ return
+
+RustboroCity_EventScript_1E0CDC:: @ 81E0CDC
+ applymovement 9, RustboroCity_Movement_2725A6
+ waitmovement 0
+ playse SE_PIN
+ applymovement 9, RustboroCity_Movement_272598
+ waitmovement 0
+ applymovement 9, RustboroCity_Movement_27259A
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_2725AA
+ waitmovement 0
+ return
+
+RustboroCity_EventScript_1E0D08:: @ 81E0D08
+ applymovement 9, RustboroCity_Movement_2725A8
+ waitmovement 0
+ playse SE_PIN
+ applymovement 9, RustboroCity_Movement_272598
+ waitmovement 0
+ applymovement 9, RustboroCity_Movement_27259A
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_2725AE
+ waitmovement 0
+ return
+
+RustboroCity_EventScript_1E0D34:: @ 81E0D34
+ applymovement 9, RustboroCity_Movement_2725AA
+ waitmovement 0
+ playse SE_PIN
+ applymovement 9, RustboroCity_Movement_272598
+ waitmovement 0
+ applymovement 9, RustboroCity_Movement_27259A
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_2725A6
+ waitmovement 0
+ return
+
+RustboroCity_EventScript_1E0D60:: @ 81E0D60
+ applymovement 9, RustboroCity_Movement_2725AA
+ waitmovement 0
+ playse SE_PIN
+ applymovement 9, RustboroCity_Movement_272598
+ waitmovement 0
+ applymovement 9, RustboroCity_Movement_27259A
+ waitmovement 0
+ applymovement 9, RustboroCity_Movement_1E0C29
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_2725A6
+ waitmovement 0
+ return
+
+RustboroCity_EventScript_1E0D96:: @ 81E0D96
+ applymovement 9, RustboroCity_Movement_2725A4
+ waitmovement 0
+ playse SE_PIN
+ applymovement 9, RustboroCity_Movement_272598
+ waitmovement 0
+ applymovement 9, RustboroCity_Movement_27259A
+ waitmovement 0
+ return
+
+RustboroCity_EventScript_1E0DB8:: @ 81E0DB8
+ lockall
+ checkflag FLAG_0x120
+ call_if 0, RustboroCity_EventScript_1E0DD1
+ applymovement 14, RustboroCity_Movement_27259E
+ waitmovement 0
+ goto RustboroCity_EventScript_1E0FF3
+
+Route104_EventScript_1E0DD1:: @ 81E0DD1
+RustboroCity_EventScript_1E0DD1:: @ 81E0DD1
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq RustboroCity_EventScript_1E0DE9
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq RustboroCity_EventScript_1E0DEE
+ return
+
+RustboroCity_EventScript_1E0DE9:: @ 81E0DE9
+ playbgm BGM_GIRL_SUP, 1
+ return
+
+RustboroCity_EventScript_1E0DEE:: @ 81E0DEE
+ playbgm BGM_BOY_SUP, 1
+ return
+
+RustboroCity_EventScript_1E0DF3:: @ 81E0DF3
+ lockall
+ call RustboroCity_EventScript_1E0DD1
+ applymovement 14, RustboroCity_Movement_2725AA
+ waitmovement 0
+ playse SE_PIN
+ applymovement 14, RustboroCity_Movement_272598
+ waitmovement 0
+ applymovement 14, RustboroCity_Movement_27259A
+ waitmovement 0
+ applymovement 14, RustboroCity_Movement_1E120E
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_2725A6
+ waitmovement 0
+ goto RustboroCity_EventScript_1E0FF3
+
+RustboroCity_EventScript_1E0E33:: @ 81E0E33
+ lockall
+ call RustboroCity_EventScript_1E0DD1
+ applymovement 14, RustboroCity_Movement_2725AA
+ waitmovement 0
+ playse SE_PIN
+ applymovement 14, RustboroCity_Movement_272598
+ waitmovement 0
+ applymovement 14, RustboroCity_Movement_27259A
+ waitmovement 0
+ applymovement 14, RustboroCity_Movement_1E1215
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_2725A6
+ waitmovement 0
+ goto RustboroCity_EventScript_1E0FF3
+
+RustboroCity_EventScript_1E0E73:: @ 81E0E73
+ lockall
+ call RustboroCity_EventScript_1E0DD1
+ applymovement 14, RustboroCity_Movement_2725AA
+ waitmovement 0
+ playse SE_PIN
+ applymovement 14, RustboroCity_Movement_272598
+ waitmovement 0
+ applymovement 14, RustboroCity_Movement_27259A
+ waitmovement 0
+ applymovement 14, RustboroCity_Movement_1E121B
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_2725A6
+ waitmovement 0
+ goto RustboroCity_EventScript_1E0FF3
+
+RustboroCity_EventScript_1E0EB3:: @ 81E0EB3
+ lockall
+ call RustboroCity_EventScript_1E0DD1
+ applymovement 14, RustboroCity_Movement_2725AA
+ waitmovement 0
+ playse SE_PIN
+ applymovement 14, RustboroCity_Movement_272598
+ waitmovement 0
+ applymovement 14, RustboroCity_Movement_27259A
+ waitmovement 0
+ applymovement 14, RustboroCity_Movement_1E1220
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_2725A6
+ waitmovement 0
+ goto RustboroCity_EventScript_1E0FF3
+
+RustboroCity_EventScript_1E0EF3:: @ 81E0EF3
+ lockall
+ call RustboroCity_EventScript_1E0DD1
+ applymovement 14, RustboroCity_Movement_2725AA
+ waitmovement 0
+ playse SE_PIN
+ applymovement 14, RustboroCity_Movement_272598
+ waitmovement 0
+ applymovement 14, RustboroCity_Movement_27259A
+ waitmovement 0
+ applymovement 14, RustboroCity_Movement_1E1224
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_2725A6
+ waitmovement 0
+ goto RustboroCity_EventScript_1E0FF3
+
+RustboroCity_EventScript_1E0F33:: @ 81E0F33
+ lockall
+ call RustboroCity_EventScript_1E0DD1
+ applymovement 14, RustboroCity_Movement_2725AA
+ waitmovement 0
+ playse SE_PIN
+ applymovement 14, RustboroCity_Movement_272598
+ waitmovement 0
+ applymovement 14, RustboroCity_Movement_27259A
+ waitmovement 0
+ applymovement 14, RustboroCity_Movement_1E1227
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_2725A6
+ waitmovement 0
+ goto RustboroCity_EventScript_1E0FF3
+
+RustboroCity_EventScript_1E0F73:: @ 81E0F73
+ lockall
+ call RustboroCity_EventScript_1E0DD1
+ applymovement 14, RustboroCity_Movement_2725AA
+ waitmovement 0
+ playse SE_PIN
+ applymovement 14, RustboroCity_Movement_272598
+ waitmovement 0
+ applymovement 14, RustboroCity_Movement_27259A
+ waitmovement 0
+ applymovement 14, RustboroCity_Movement_1E122B
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_2725A6
+ waitmovement 0
+ goto RustboroCity_EventScript_1E0FF3
+
+RustboroCity_EventScript_1E0FB3:: @ 81E0FB3
+ lockall
+ call RustboroCity_EventScript_1E0DD1
+ applymovement 14, RustboroCity_Movement_2725AA
+ waitmovement 0
+ playse SE_PIN
+ applymovement 14, RustboroCity_Movement_272598
+ waitmovement 0
+ applymovement 14, RustboroCity_Movement_27259A
+ waitmovement 0
+ applymovement 14, RustboroCity_Movement_1E1230
+ waitmovement 0
+ applymovement 255, RustboroCity_Movement_2725A6
+ waitmovement 0
+ goto RustboroCity_EventScript_1E0FF3
+
+RustboroCity_EventScript_1E0FF3:: @ 81E0FF3
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq RustboroCity_EventScript_1E100B
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq RustboroCity_EventScript_1E1114
+ end
+
+RustboroCity_EventScript_1E100B:: @ 81E100B
+ checkflag FLAG_0x0D3
+ goto_eq RustboroCity_EventScript_1E10C1
+ checkflag FLAG_0x120
+ goto_eq RustboroCity_EventScript_1E1070
+ setflag FLAG_0x120
+ msgbox RustboroCity_Text_1E1A49, 4
+ closemessage
+ delay 30
+ playfanfare BGM_ME_MATCH_CALL
+ msgbox RustboroCity_Text_1E1ADB, 4
+ waitfanfare
+ closemessage
+ delay 30
+ setflag FLAG_0x0FD
+ setvar VAR_0x405A, 8
+ setvar VAR_0x4063, 2
+ setvar VAR_0x8008, 0
+ msgbox RustboroCity_Text_1E1AFA, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq RustboroCity_EventScript_1E1092
+ msgbox RustboroCity_Text_1E1BD3, 4
+ call RustboroCity_EventScript_1E10D6
+ releaseall
+ end
+
+RustboroCity_EventScript_1E1070:: @ 81E1070
+ setvar VAR_0x8008, 1
+ msgbox RustboroCity_Text_1E1C48, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq RustboroCity_EventScript_1E1092
+ msgbox RustboroCity_Text_1E1BD3, 4
+ releaseall
+ end
+
+RustboroCity_EventScript_1E1092:: @ 81E1092
+ msgbox RustboroCity_Text_1E1C84, 4
+ switch VAR_FIRST_POKE
+ case 0, RustboroCity_EventScript_1E10DB
+ case 1, RustboroCity_EventScript_1E10EE
+ case 2, RustboroCity_EventScript_1E1101
+ end
+
+RustboroCity_EventScript_1E10C1:: @ 81E10C1
+ msgbox RustboroCity_Text_1E1CE7, 4
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, RustboroCity_EventScript_1E10D6
+ releaseall
+ end
+
+RustboroCity_EventScript_1E10D6:: @ 81E10D6
+ savebgm SE_STOP
+ fadedefaultbgm
+ return
+
+RustboroCity_EventScript_1E10DB:: @ 81E10DB
+ trainerbattle 3, TRAINER_MAY_14, 0, RustboroCity_Text_1E1CC1
+ setflag FLAG_0x0D3
+ goto RustboroCity_EventScript_1E10C1
+ end
+
+RustboroCity_EventScript_1E10EE:: @ 81E10EE
+ trainerbattle 3, TRAINER_MAY_15, 0, RustboroCity_Text_1E1CC1
+ setflag FLAG_0x0D3
+ goto RustboroCity_EventScript_1E10C1
+ end
+
+RustboroCity_EventScript_1E1101:: @ 81E1101
+ trainerbattle 3, TRAINER_MAY_10, 0, RustboroCity_Text_1E1CC1
+ setflag FLAG_0x0D3
+ goto RustboroCity_EventScript_1E10C1
+ end
+
+RustboroCity_EventScript_1E1114:: @ 81E1114
+ checkflag FLAG_0x0D3
+ goto_eq RustboroCity_EventScript_1E11C0
+ checkflag FLAG_0x120
+ goto_eq RustboroCity_EventScript_1E1174
+ setflag FLAG_0x120
+ msgbox RustboroCity_Text_1E1D7D, 4
+ closemessage
+ delay 30
+ playfanfare BGM_ME_MATCH_CALL
+ msgbox RustboroCity_Text_1E1E11, 4
+ waitfanfare
+ closemessage
+ delay 30
+ setflag FLAG_0x0FD
+ setvar VAR_0x405A, 8
+ setvar VAR_0x4063, 2
+ msgbox RustboroCity_Text_1E1E34, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq RustboroCity_EventScript_1E1191
+ msgbox RustboroCity_Text_1E1F2F, 4
+ call RustboroCity_EventScript_1E10D6
+ releaseall
+ end
+
+RustboroCity_EventScript_1E1174:: @ 81E1174
+ msgbox RustboroCity_Text_1E1F76, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq RustboroCity_EventScript_1E1191
+ msgbox RustboroCity_Text_1E1F2F, 4
+ releaseall
+ end
+
+RustboroCity_EventScript_1E1191:: @ 81E1191
+ msgbox RustboroCity_Text_1E1FA9, 4
+ switch VAR_FIRST_POKE
+ case 0, RustboroCity_EventScript_1E11D5
+ case 1, RustboroCity_EventScript_1E11E8
+ case 2, RustboroCity_EventScript_1E11FB
+ end
+
+RustboroCity_EventScript_1E11C0:: @ 81E11C0
+ msgbox RustboroCity_Text_1E2002, 4
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, RustboroCity_EventScript_1E10D6
+ releaseall
+ end
+
+RustboroCity_EventScript_1E11D5:: @ 81E11D5
+ trainerbattle 3, TRAINER_BRENDAN_10, 0, RustboroCity_Text_1E1FE9
+ setflag FLAG_0x0D3
+ goto RustboroCity_EventScript_1E11C0
+ end
+
+RustboroCity_EventScript_1E11E8:: @ 81E11E8
+ trainerbattle 3, TRAINER_BRENDAN_12, 0, RustboroCity_Text_1E1FE9
+ setflag FLAG_0x0D3
+ goto RustboroCity_EventScript_1E11C0
+ end
+
+RustboroCity_EventScript_1E11FB:: @ 81E11FB
+ trainerbattle 3, TRAINER_BRENDAN_11, 0, RustboroCity_Text_1E1FE9
+ setflag FLAG_0x0D3
+ goto RustboroCity_EventScript_1E11C0
+ end
+
+RustboroCity_Movement_1E120E: @ 81E120E
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_down
+ step_end
+
+RustboroCity_Movement_1E1215: @ 81E1215
+ step_down
+ step_left
+ step_left
+ step_left
+ step_down
+ step_end
+
+RustboroCity_Movement_1E121B: @ 81E121B
+ step_down
+ step_left
+ step_left
+ step_down
+ step_end
+
+RustboroCity_Movement_1E1220: @ 81E1220
+ step_down
+ step_left
+ step_down
+ step_end
+
+RustboroCity_Movement_1E1224: @ 81E1224
+ step_down
+ step_down
+ step_end
+
+RustboroCity_Movement_1E1227: @ 81E1227
+ step_down
+ step_right
+ step_down
+ step_end
+
+RustboroCity_Movement_1E122B: @ 81E122B
+ step_down
+ step_right
+ step_right
+ step_down
+ step_end
+
+RustboroCity_Movement_1E1230: @ 81E1230
+ step_down
+ step_right
+ step_right
+ step_right
+ step_down
+ step_end
+
+RustboroCity_EventScript_1E1236:: @ 81E1236
+ msgbox RustboroCity_Text_1E249D, 2
+ end
+
+RustboroCity_Text_1E123F: @ 81E123F
+ .string "The DEVON CORPORATION…\n"
+ .string "We all just shorten it to DEVON.\p"
+ .string "That company makes all sorts of\n"
+ .string "convenient products.$"
+
+RustboroCity_Text_1E12AC: @ 81E12AC
+ .string "Hm? A sneaky-looking man?\p"
+ .string "Come to think of it, yes, a shady-\n"
+ .string "looking guy went around the corner.$"
+
+RustboroCity_Text_1E130D: @ 81E130D
+ .string "Have you taken the POKéMON GYM\n"
+ .string "challenge?\p"
+ .string "When you get that shiny GYM BADGE\n"
+ .string "in hand, I guess TRAINERS begin to\l"
+ .string "realize what is required of them.$"
+
+RustboroCity_Text_1E139E: @ 81E139E
+ .string "Hey, that’s RUSTBORO’s GYM BADGE!\p"
+ .string "Out of all the POKéMON GYM BADGES,\n"
+ .string "RUSTBORO’s is the coolest, I’d say.$"
+
+RustboroCity_Text_1E1407: @ 81E1407
+ .string "Oh? Who might you be?\n"
+ .string "You’re a new face around these parts.\p"
+ .string "Have you just transferred into the\n"
+ .string "POKéMON TRAINER’S SCHOOL?$"
+
+RustboroCity_Text_1E1480: @ 81E1480
+ .string "I challenged the GYM LEADER, but…\p"
+ .string "It’s not going to be easy winning with\n"
+ .string "my FIRE-type POKéMON…\p"
+ .string "FIRE-type POKéMON don’t match up\n"
+ .string "well against ROCK-type POKéMON…$"
+
+RustboroCity_Text_1E1520: @ 81E1520
+ .string "The old sailor MR. BRINEY lives in\n"
+ .string "a cottage by the sea.\p"
+ .string "He goes for walks in the tunnel every\n"
+ .string "so often.$"
+
+RustboroCity_Text_1E1589: @ 81E1589
+ .string "The old sailor MR. BRINEY lives in\n"
+ .string "a cottage by the sea.\p"
+ .string "He said he was going shopping in\n"
+ .string "SLATEPORT for his pet, PEEKO.\p"
+ .string "That old sea dog, he must really love\n"
+ .string "that PEEKO.$"
+
+RustboroCity_Text_1E1633: @ 81E1633
+ .string "Wow, you have POKéMON with you, too.\p"
+ .string "When I get bigger, I’m going to go\n"
+ .string "places with POKéMON, too.$"
+
+RustboroCity_Text_1E1695: @ 81E1695
+ .string "POKéMON TRAINER’S SCHOOL!\p"
+ .string "If I go to this school, will I be able\n"
+ .string "to catch rare POKéMON easily?$"
+
+RustboroCity_Text_1E16F4: @ 81E16F4
+ .string "If a POKéMON gains experience in\n"
+ .string "battles, it can sometimes change in\l"
+ .string "the way it looks.$"
+
+RustboroCity_Text_1E174B: @ 81E174B
+ .string "A POKéMON changes shape?\n"
+ .string "If one did that, I would be shocked!$"
+
+RustboroCity_Text_1E1789: @ 81E1789
+ .string "A POKéMON you get in a trade from\n"
+ .string "someone grows fast.\p"
+ .string "But if you don’t have certain GYM\n"
+ .string "BADGES, it may not obey you…$"
+
+RustboroCity_Text_1E17FE: @ 81E17FE
+ .string "Get out!\n"
+ .string "Out of the way!$"
+
+RustboroCity_Text_1E1817: @ 81E1817
+ .string "Wait! Pleeeaaase!\p"
+ .string "Don’t take my GOODS!$"
+
+RustboroCity_Text_1E183E: @ 81E183E
+ .string "Oh, it’s you!\p"
+ .string "You’re that fantastic TRAINER who\n"
+ .string "helped me in PETALBURG WOODS!\p"
+ .string "Help me! I was robbed by TEAM AQUA!\n"
+ .string "I have to get the DEVON GOODS back!\p"
+ .string "If I don’t…\n"
+ .string "I’m going to be in serious trouble.$"
+
+RustboroCity_Text_1E1904: @ 81E1904
+ .string "That shady character, I think he took\n"
+ .string "off towards the tunnel over there.$"
+
+RustboroCity_Text_1E194D: @ 81E194D
+ .string "Oh! How did it go?\n"
+ .string "The DEVON GOODS?\p"
+ .string "You did!\n"
+ .string "You got them back!\p"
+ .string "You really are a great TRAINER!\p"
+ .string "I know! As my thanks, I’ll give you\n"
+ .string "another GREAT BALL!$"
+
+RustboroCity_Text_1E19E5: @ 81E19E5
+ .string "You’re loaded with items.\n"
+ .string "I can’t give you this GREAT BALL.$"
+
+RustboroCity_Text_1E1A21: @ 81E1A21
+ .string "Excuse me, please!\n"
+ .string "Please come with me!$"
+
+RustboroCity_Text_1E1A49: @ 81E1A49
+ .string "MAY: Oh, hi, {PLAYER}{KUN}!\p"
+ .string "You had a MATCH CALL feature put\n"
+ .string "on your POKéNAV!\p"
+ .string "Let’s register each other so we can\n"
+ .string "contact one another anytime!\p"
+ .string "… … … … … …$"
+
+RustboroCity_Text_1E1ADB: @ 81E1ADB
+ .string "Registered MAY\n"
+ .string "in the POKéNAV.$"
+
+RustboroCity_Text_1E1AFA: @ 81E1AFA
+ .string "MAY: Oh, by the way, I passed\n"
+ .string "MR. BRINEY in PETALBURG WOODS.\p"
+ .string "I guess he’s on his way home to his\n"
+ .string "cottage by the sea.\p"
+ .string "How’s your POKéDEX coming along,\n"
+ .string "{PLAYER}{KUN}? Mine’s looking pretty decent!\p"
+ .string "So…\n"
+ .string "How about a little battle?$"
+
+RustboroCity_Text_1E1BD3: @ 81E1BD3
+ .string "MAY: Oh, what’s the matter?\p"
+ .string "Haven’t you caught or raised your\n"
+ .string "POKéMON very much?\p"
+ .string "That’s not very good for a TRAINER!$"
+
+RustboroCity_Text_1E1C48: @ 81E1C48
+ .string "MAY: So, what do you think?\n"
+ .string "How about a little battle here?$"
+
+RustboroCity_Text_1E1C84: @ 81E1C84
+ .string "MAY: You just became a TRAINER,\n"
+ .string "{PLAYER}{KUN}. I’m not going to lose!$"
+
+RustboroCity_Text_1E1CC1: @ 81E1CC1
+ .string "Yikes!\n"
+ .string "You’re better than I expected!$"
+
+RustboroCity_Text_1E1CE7: @ 81E1CE7
+ .string "MAY: Oh, by the way, MR. BRINEY, who\n"
+ .string "I just passed…\p"
+ .string "{PLAYER}{KUN}, you just moved here so you\n"
+ .string "might not know this, but MR. BRINEY\l"
+ .string "was once a revered seafarer.$"
+
+RustboroCity_Text_1E1D7D: @ 81E1D7D
+ .string "BRENDAN: Oh, hey, {PLAYER}!\p"
+ .string "You had a MATCH CALL feature put\n"
+ .string "on your POKéNAV! Cool!\p"
+ .string "Let’s register each other so we can\n"
+ .string "get in touch anytime!\p"
+ .string "… … … … … …$"
+
+RustboroCity_Text_1E1E11: @ 81E1E11
+ .string "Registered BRENDAN\n"
+ .string "in the POKéNAV.$"
+
+RustboroCity_Text_1E1E34: @ 81E1E34
+ .string "BRENDAN: By the way, {PLAYER}, I walked\n"
+ .string "by MR. BRINEY in PETALBURG WOODS.\p"
+ .string "I bet he was on his way home to his\n"
+ .string "cottage by the sea.\p"
+ .string "{PLAYER}, how’s your POKéDEX?\n"
+ .string "Have you filled in any pages yet?\p"
+ .string "Mine rules.\p"
+ .string "Want to have a battle to test how\n"
+ .string "far you’ve progressed?$"
+
+RustboroCity_Text_1E1F2F: @ 81E1F2F
+ .string "BRENDAN: What’s the matter? Don’t have\n"
+ .string "any confidence in your POKéMON?$"
+
+RustboroCity_Text_1E1F76: @ 81E1F76
+ .string "BRENDAN: What’s up?\n"
+ .string "Want to have a battle with me?$"
+
+RustboroCity_Text_1E1FA9: @ 81E1FA9
+ .string "BRENDAN: I know you just became\n"
+ .string "a TRAINER, but I won’t go easy!$"
+
+RustboroCity_Text_1E1FE9: @ 81E1FE9
+ .string "Hmm…\n"
+ .string "You’re pretty good.$"
+
+RustboroCity_Text_1E2002: @ 81E2002
+ .string "BRENDAN: By the way, you know\n"
+ .string "MR. BRINEY? The guy I just passed?\p"
+ .string "I bet you didn’t know this, since you\n"
+ .string "just moved here, {PLAYER}, but\l"
+ .string "MR. BRINEY was once a great sailor.$"
+
+RustboroCity_Text_1E20A6: @ 81E20A6
+ .string "“Timesaving tunnel nearing\n"
+ .string "completion!”\p"
+ .string "…Is what it says on the sign, but\n"
+ .string "there’s also a big “X” splashed\l"
+ .string "across it in red paint…$"
+
+RustboroCity_Text_1E2128: @ 81E2128
+ .string "DEVON CORPORATION\p"
+ .string "“For all your living needs, we make\n"
+ .string "it all.”$"
+
+RustboroCity_Text_1E2167: @ 81E2167
+ .string "RUSTBORO CITY POKéMON GYM\n"
+ .string "LEADER: ROXANNE\p"
+ .string "“The ROCK-loving honors student!”$"
+
+RustboroCity_Text_1E21B3: @ 81E21B3
+ .string "DEVON CORP. BRANCH OFFICE\p"
+ .string "“Access limited to DEVON employees\n"
+ .string "and authorized personnel.”$"
+
+RustboroCity_Text_1E220B: @ 81E220B
+ .string "RUSTBORO CITY\p"
+ .string "“The city probing the integration of\n"
+ .string "nature and science.”$"
+
+RustboroCity_Text_1E2253: @ 81E2253
+ .string "POKéMON TRAINER’S SCHOOL\p"
+ .string "“We’ll teach you anything about\n"
+ .string "POKéMON!”$"
+
+RustboroCity_Text_1E2296: @ 81E2296
+ .string "CUTTER’S HOUSE$"
+
+RustboroCity_Text_1E22A5: @ 81E22A5
+ .string "I’ve been developing an added feature\n"
+ .string "for the POKéNAV…\p"
+ .string "And it turned out great!\p"
+ .string "{PLAYER}, may I see that POKéNAV?\n"
+ .string "The one our PRESIDENT gave you?$"
+
+RustboroCity_Text_1E2331: @ 81E2331
+ .string "There you go, {PLAYER}!\p"
+ .string "I added a new feature named\n"
+ .string "MATCH CALL to your POKéNAV.\p"
+ .string "Using the MATCH CALL feature,\n"
+ .string "you can chat with people who have\l"
+ .string "been registered in your POKéNAV.\p"
+ .string "{PLAYER}, our PRESIDENT STONE should\n"
+ .string "be registered in your POKéNAV.\p"
+ .string "Test it out.\n"
+ .string "Please give our PRESIDENT a call.$"
+
+RustboroCity_Text_1E2449: @ 81E2449
+ .string "Please select the POKéNAV.$"
+
+RustboroCity_Text_1E2464: @ 81E2464
+ .string "Okay, I’d better get back to work.\n"
+ .string "Please take care, {PLAYER}!$"
+
+RustboroCity_Text_1E249D: @ 81E249D
+ .string "Did you know this?\p"
+ .string "You can have a 2-on-2 battle even\n"
+ .string "if you’re not with another TRAINER.\p"
+ .string "If you catch the eyes of two TRAINERS\n"
+ .string "when you have two or more POKéMON,\l"
+ .string "they’ll both challenge you.\p"
+ .string "Don’t you think it’d be cool if you\n"
+ .string "could beat two TRAINERS by yourself?$"
+
diff --git a/data/scripts/maps/RustboroCity_CuttersHouse.inc b/data/scripts/maps/RustboroCity_CuttersHouse.inc
new file mode 100644
index 000000000..e5c7527f7
--- /dev/null
+++ b/data/scripts/maps/RustboroCity_CuttersHouse.inc
@@ -0,0 +1,53 @@
+RustboroCity_CuttersHouse_MapScripts:: @ 8215BD3
+ .byte 0
+
+RustboroCity_CuttersHouse_EventScript_215BD4:: @ 8215BD4
+ lock
+ faceplayer
+ checkflag FLAG_0x089
+ goto_eq RustboroCity_CuttersHouse_EventScript_215C00
+ msgbox RustboroCity_CuttersHouse_Text_215C13, 4
+ giveitem_std ITEM_HM01
+ setflag FLAG_0x089
+ msgbox RustboroCity_CuttersHouse_Text_215D33, 4
+ release
+ end
+
+RustboroCity_CuttersHouse_EventScript_215C00:: @ 8215C00
+ msgbox RustboroCity_CuttersHouse_Text_215D33, 4
+ release
+ end
+
+RustboroCity_CuttersHouse_EventScript_215C0A:: @ 8215C0A
+ msgbox RustboroCity_CuttersHouse_Text_215E39, 2
+ end
+
+RustboroCity_CuttersHouse_Text_215C13: @ 8215C13
+ .string "That determined expression…\n"
+ .string "That limber way you move…\l"
+ .string "And your well-trained POKéMON…\p"
+ .string "You’re obviously a skilled TRAINER!\p"
+ .string "No, wait, don’t say a word.\n"
+ .string "I can tell just by looking at you.\p"
+ .string "I’m sure that you can put this\n"
+ .string "HIDDEN MACHINE to good use.\p"
+ .string "No need to be modest or shy.\n"
+ .string "Go on, take it!$"
+
+RustboroCity_CuttersHouse_Text_215D33: @ 8215D33
+ .string "That HIDDEN MACHINE, or HM for\n"
+ .string "short, is CUT.\p"
+ .string "An HM move is one that can be used\n"
+ .string "by POKéMON outside of battle.\p"
+ .string "Any POKéMON that’s learned CUT can\n"
+ .string "chop down thin trees if the TRAINER\l"
+ .string "has earned the STONE BADGE.\p"
+ .string "And, unlike a TM, an HM can be used\n"
+ .string "more than once.$"
+
+RustboroCity_CuttersHouse_Text_215E39: @ 8215E39
+ .string "When they were expanding the city of\n"
+ .string "RUSTBORO, my dad helped out.\p"
+ .string "He made his POKéMON use CUT to clear\n"
+ .string "the land of trees.$"
+
diff --git a/data/scripts/maps/RustboroCity_DevonCorp_1F.inc b/data/scripts/maps/RustboroCity_DevonCorp_1F.inc
new file mode 100644
index 000000000..97d7dcf78
--- /dev/null
+++ b/data/scripts/maps/RustboroCity_DevonCorp_1F.inc
@@ -0,0 +1,153 @@
+RustboroCity_DevonCorp_1F_MapScripts:: @ 8211245
+ map_script 3, RustboroCity_DevonCorp_1F_MapScript1_21124B
+ .byte 0
+
+RustboroCity_DevonCorp_1F_MapScript1_21124B: @ 821124B
+ checkflag FLAG_0x090
+ call_if 0, RustboroCity_DevonCorp_1F_EventScript_211255
+ end
+
+RustboroCity_DevonCorp_1F_EventScript_211255:: @ 8211255
+ setobjectxyperm 2, 14, 2
+ setobjectmovementtype 2, 8
+ return
+
+RustboroCity_DevonCorp_1F_EventScript_211261:: @ 8211261
+ lock
+ faceplayer
+ checkflag FLAG_0x090
+ goto_eq RustboroCity_DevonCorp_1F_EventScript_211289
+ checkflag FLAG_0x08E
+ goto_eq RustboroCity_DevonCorp_1F_EventScript_21127F
+ msgbox RustboroCity_DevonCorp_1F_Text_2113D1, 4
+ release
+ end
+
+RustboroCity_DevonCorp_1F_EventScript_21127F:: @ 821127F
+ msgbox RustboroCity_DevonCorp_1F_Text_211446, 4
+ release
+ end
+
+RustboroCity_DevonCorp_1F_EventScript_211289:: @ 8211289
+ msgbox RustboroCity_DevonCorp_1F_Text_2114DE, 4
+ release
+ end
+
+RustboroCity_DevonCorp_1F_EventScript_211293:: @ 8211293
+ lock
+ faceplayer
+ checkflag FLAG_0x090
+ goto_eq RustboroCity_DevonCorp_1F_EventScript_2112BA
+ checkflag FLAG_0x08F
+ goto_eq RustboroCity_DevonCorp_1F_EventScript_2112C4
+ checkflag FLAG_0x08E
+ goto_eq RustboroCity_DevonCorp_1F_EventScript_2112C4
+ msgbox RustboroCity_DevonCorp_1F_Text_21151B, 4
+ release
+ end
+
+RustboroCity_DevonCorp_1F_EventScript_2112BA:: @ 82112BA
+ msgbox RustboroCity_DevonCorp_1F_Text_211585, 4
+ release
+ end
+
+RustboroCity_DevonCorp_1F_EventScript_2112C4:: @ 82112C4
+ msgbox RustboroCity_DevonCorp_1F_Text_211558, 4
+ release
+ end
+
+RustboroCity_DevonCorp_1F_EventScript_2112CE:: @ 82112CE
+ lock
+ faceplayer
+ checkflag FLAG_0x090
+ goto_eq RustboroCity_DevonCorp_1F_EventScript_2112F5
+ checkflag FLAG_0x08F
+ goto_eq RustboroCity_DevonCorp_1F_EventScript_2112FF
+ checkflag FLAG_0x08E
+ goto_eq RustboroCity_DevonCorp_1F_EventScript_2112FF
+ msgbox RustboroCity_DevonCorp_1F_Text_21131B, 4
+ release
+ end
+
+RustboroCity_DevonCorp_1F_EventScript_2112F5:: @ 82112F5
+ msgbox RustboroCity_DevonCorp_1F_Text_21131B, 4
+ release
+ end
+
+RustboroCity_DevonCorp_1F_EventScript_2112FF:: @ 82112FF
+ msgbox RustboroCity_DevonCorp_1F_Text_21138B, 4
+ release
+ end
+
+RustboroCity_DevonCorp_1F_EventScript_211309:: @ 8211309
+ msgbox RustboroCity_DevonCorp_1F_Text_2115AC, 3
+ end
+
+RustboroCity_DevonCorp_1F_EventScript_211312:: @ 8211312
+ msgbox RustboroCity_DevonCorp_1F_Text_211722, 3
+ end
+
+RustboroCity_DevonCorp_1F_Text_21131B: @ 821131B
+ .string "Hello and welcome to the DEVON\n"
+ .string "CORPORATION.\p"
+ .string "We’re proud producers of items and\n"
+ .string "medicine that enhance your life.$"
+
+RustboroCity_DevonCorp_1F_Text_21138B: @ 821138B
+ .string "One of our research staff stupidly\n"
+ .string "got robbed of an important parcel.$"
+
+RustboroCity_DevonCorp_1F_Text_2113D1: @ 82113D1
+ .string "Hey, those RUNNING SHOES!\n"
+ .string "They’re one of our products!\p"
+ .string "It makes me happy when I see someone\n"
+ .string "using something we made.$"
+
+RustboroCity_DevonCorp_1F_Text_211446: @ 8211446
+ .string "That stolen parcel…\p"
+ .string "Well, sure it’s important, but it’s not\n"
+ .string "anything that anyone can use.\p"
+ .string "In my estimation, that robber must not\n"
+ .string "have been very bright.$"
+
+RustboroCity_DevonCorp_1F_Text_2114DE: @ 82114DE
+ .string "It sounds like they’ve recovered\n"
+ .string "the ripped-off DEVON GOODS.$"
+
+RustboroCity_DevonCorp_1F_Text_21151B: @ 821151B
+ .string "I’m sorry, only authorized people\n"
+ .string "are allowed to enter here.$"
+
+RustboroCity_DevonCorp_1F_Text_211558: @ 8211558
+ .string "It’s beyond stupid.\n"
+ .string "How could we get robbed?$"
+
+RustboroCity_DevonCorp_1F_Text_211585: @ 8211585
+ .string "Hi, there!\n"
+ .string "You’re always welcome here!$"
+
+RustboroCity_DevonCorp_1F_Text_2115AC: @ 82115AC
+ .string "Samples of rocks and metal are\n"
+ .string "displayed in the glass case.\p"
+ .string "There’s a panel with some writing\n"
+ .string "on it…\p"
+ .string "“DEVON CORPORATION got its start as\n"
+ .string "a producer of stones from quarries.\p"
+ .string "“The company also produced iron from\n"
+ .string "filings in the sand.\p"
+ .string "“From that humble start as a producer\n"
+ .string "of raw materials, DEVON developed.\p"
+ .string "“DEVON is now a manufacturer of a wide\n"
+ .string "range of industrial products.”$"
+
+RustboroCity_DevonCorp_1F_Text_211722: @ 8211722
+ .string "Prototypes and test products fill\n"
+ .string "the glass display case.\p"
+ .string "There’s a panel with a description…\p"
+ .string "“In addition to industrial products,\n"
+ .string "DEVON now markets sundries and\l"
+ .string "pharmaceuticals for better lifestyles.\p"
+ .string "“Recently, DEVON has begun marketing\n"
+ .string "tools for POKéMON TRAINERS, including\l"
+ .string "POKé BALLS and POKéNAV systems.”$"
+
diff --git a/data/scripts/maps/RustboroCity_DevonCorp_2F.inc b/data/scripts/maps/RustboroCity_DevonCorp_2F.inc
new file mode 100644
index 000000000..8a4293959
--- /dev/null
+++ b/data/scripts/maps/RustboroCity_DevonCorp_2F.inc
@@ -0,0 +1,407 @@
+RustboroCity_DevonCorp_2F_MapScripts:: @ 8211857
+ map_script 3, RustboroCity_DevonCorp_2F_MapScript1_21185D
+ .byte 0
+
+RustboroCity_DevonCorp_2F_MapScript1_21185D: @ 821185D
+ compare_var_to_value VAR_0x40C4, 1
+ call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211869:: @ 8211869
+ setvar VAR_0x40C4, 2
+ return
+
+RustboroCity_DevonCorp_2F_EventScript_21186F:: @ 821186F
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x40C4, 1
+ call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869
+ msgbox RustboroCity_DevonCorp_2F_Text_211BFB, 4
+ release
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211886:: @ 8211886
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x40C4, 1
+ call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869
+ checkflag FLAG_0x11F
+ goto_eq RustboroCity_DevonCorp_2F_EventScript_2118A6
+ msgbox RustboroCity_DevonCorp_2F_Text_211C50, 4
+ release
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_2118A6:: @ 82118A6
+ msgbox RustboroCity_DevonCorp_2F_Text_211C99, 4
+ release
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_2118B0:: @ 82118B0
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x40C4, 1
+ call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869
+ checkflag FLAG_0x0BC
+ goto_eq RustboroCity_DevonCorp_2F_EventScript_2118D0
+ msgbox RustboroCity_DevonCorp_2F_Text_211D9F, 4
+ release
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_2118D0:: @ 82118D0
+ msgbox RustboroCity_DevonCorp_2F_Text_211DF3, 4
+ release
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_2118DA:: @ 82118DA
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x40C4, 1
+ call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869
+ msgbox RustboroCity_DevonCorp_2F_Text_211EE0, 4
+ release
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_2118F1:: @ 82118F1
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x40C4, 2
+ goto_eq RustboroCity_DevonCorp_2F_EventScript_211A03
+ compare_var_to_value VAR_0x40C4, 1
+ goto_eq RustboroCity_DevonCorp_2F_EventScript_2119F9
+ msgbox RustboroCity_DevonCorp_2F_Text_211F48, 4
+ checkitem ITEM_ROOT_FOSSIL, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq RustboroCity_DevonCorp_2F_EventScript_211933
+ checkitem ITEM_CLAW_FOSSIL, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq RustboroCity_DevonCorp_2F_EventScript_211991
+ release
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211933:: @ 8211933
+ closemessage
+ playse SE_PIN
+ applymovement 5, RustboroCity_DevonCorp_2F_Movement_272598
+ waitmovement 0
+ applymovement 5, RustboroCity_DevonCorp_2F_Movement_27259A
+ waitmovement 0
+ msgbox RustboroCity_DevonCorp_2F_Text_211FA6, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq RustboroCity_DevonCorp_2F_EventScript_2119EF
+ checkitem ITEM_CLAW_FOSSIL, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq RustboroCity_DevonCorp_2F_EventScript_211B84
+ goto RustboroCity_DevonCorp_2F_EventScript_211974
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211974:: @ 8211974
+ bufferitemname 0, ITEM_ROOT_FOSSIL
+ msgbox RustboroCity_DevonCorp_2F_Text_212153, 4
+ takeitem ITEM_ROOT_FOSSIL, 1
+ setvar VAR_0x40C4, 1
+ setvar VAR_0x40C5, 1
+ release
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211991:: @ 8211991
+ closemessage
+ playse SE_PIN
+ applymovement 5, RustboroCity_DevonCorp_2F_Movement_272598
+ waitmovement 0
+ applymovement 5, RustboroCity_DevonCorp_2F_Movement_27259A
+ waitmovement 0
+ msgbox RustboroCity_DevonCorp_2F_Text_211FA6, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq RustboroCity_DevonCorp_2F_EventScript_2119EF
+ checkitem ITEM_ROOT_FOSSIL, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq RustboroCity_DevonCorp_2F_EventScript_211B84
+ goto RustboroCity_DevonCorp_2F_EventScript_2119D2
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_2119D2:: @ 82119D2
+ bufferitemname 0, ITEM_CLAW_FOSSIL
+ msgbox RustboroCity_DevonCorp_2F_Text_212153, 4
+ takeitem ITEM_CLAW_FOSSIL, 1
+ setvar VAR_0x40C4, 1
+ setvar VAR_0x40C5, 2
+ release
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_2119EF:: @ 82119EF
+ msgbox RustboroCity_DevonCorp_2F_Text_212046, 4
+ release
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_2119F9:: @ 82119F9
+ msgbox RustboroCity_DevonCorp_2F_Text_2121A2, 4
+ release
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211A03:: @ 8211A03
+ compare_var_to_value VAR_0x40C5, 1
+ goto_eq RustboroCity_DevonCorp_2F_EventScript_211A1A
+ compare_var_to_value VAR_0x40C5, 2
+ goto_eq RustboroCity_DevonCorp_2F_EventScript_211A2C
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211A1A:: @ 8211A1A
+ bufferspeciesname 1, SPECIES_LILEEP
+ msgbox RustboroCity_DevonCorp_2F_Text_212251, 4
+ goto RustboroCity_DevonCorp_2F_EventScript_211A3E
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211A2C:: @ 8211A2C
+ bufferspeciesname 1, SPECIES_ANORITH
+ msgbox RustboroCity_DevonCorp_2F_Text_212251, 4
+ goto RustboroCity_DevonCorp_2F_EventScript_211AE1
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211A3E:: @ 8211A3E
+ setvar VAR_0x4001, 388
+ givemon SPECIES_LILEEP, 20, ITEM_NONE, 0x0, 0x0, 0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq RustboroCity_DevonCorp_2F_EventScript_211A6E
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq RustboroCity_DevonCorp_2F_EventScript_211A96
+ goto RustboroCity_DevonCorp_2F_EventScript_273811
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211A6E:: @ 8211A6E
+ call RustboroCity_DevonCorp_2F_EventScript_211AC4
+ msgbox gUnknown_08273374, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq RustboroCity_DevonCorp_2F_EventScript_211AD7
+ call RustboroCity_DevonCorp_2F_EventScript_27378B
+ call RustboroCity_DevonCorp_2F_EventScript_2723DD
+ goto RustboroCity_DevonCorp_2F_EventScript_211AD7
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211A96:: @ 8211A96
+ call RustboroCity_DevonCorp_2F_EventScript_211AC4
+ msgbox gUnknown_08273374, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq RustboroCity_DevonCorp_2F_EventScript_211AB9
+ call RustboroCity_DevonCorp_2F_EventScript_273797
+ goto RustboroCity_DevonCorp_2F_EventScript_211AB9
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211AB9:: @ 8211AB9
+ call RustboroCity_DevonCorp_2F_EventScript_2737A0
+ goto RustboroCity_DevonCorp_2F_EventScript_211AD7
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211AC4:: @ 8211AC4
+ bufferspeciesname 1, SPECIES_LILEEP
+ playfanfare BGM_FANFA4
+ message RustboroCity_DevonCorp_2F_Text_2122CB
+ waitmessage
+ waitfanfare
+ bufferspeciesname 0, SPECIES_LILEEP
+ return
+
+RustboroCity_DevonCorp_2F_EventScript_211AD7:: @ 8211AD7
+ setvar VAR_0x40C4, 0
+ setflag FLAG_0x10B
+ release
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211AE1:: @ 8211AE1
+ setvar VAR_0x4001, 390
+ givemon SPECIES_ANORITH, 20, ITEM_NONE, 0x0, 0x0, 0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq RustboroCity_DevonCorp_2F_EventScript_211B11
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq RustboroCity_DevonCorp_2F_EventScript_211B39
+ goto RustboroCity_DevonCorp_2F_EventScript_273811
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211B11:: @ 8211B11
+ call RustboroCity_DevonCorp_2F_EventScript_211B67
+ msgbox gUnknown_08273374, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq RustboroCity_DevonCorp_2F_EventScript_211B7A
+ call RustboroCity_DevonCorp_2F_EventScript_27378B
+ call RustboroCity_DevonCorp_2F_EventScript_2723DD
+ goto RustboroCity_DevonCorp_2F_EventScript_211B7A
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211B39:: @ 8211B39
+ call RustboroCity_DevonCorp_2F_EventScript_211B67
+ msgbox gUnknown_08273374, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq RustboroCity_DevonCorp_2F_EventScript_211B5C
+ call RustboroCity_DevonCorp_2F_EventScript_273797
+ goto RustboroCity_DevonCorp_2F_EventScript_211B5C
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211B5C:: @ 8211B5C
+ call RustboroCity_DevonCorp_2F_EventScript_2737A0
+ goto RustboroCity_DevonCorp_2F_EventScript_211B7A
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211B67:: @ 8211B67
+ bufferspeciesname 1, SPECIES_ANORITH
+ playfanfare BGM_FANFA4
+ message RustboroCity_DevonCorp_2F_Text_2122CB
+ waitmessage
+ waitfanfare
+ bufferspeciesname 0, SPECIES_ANORITH
+ return
+
+RustboroCity_DevonCorp_2F_EventScript_211B7A:: @ 8211B7A
+ setvar VAR_0x40C4, 0
+ setflag FLAG_0x10B
+ release
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211B84:: @ 8211B84
+ message RustboroCity_DevonCorp_2F_Text_212092
+ waitmessage
+ multichoice 17, 6, 93, 0
+ switch VAR_RESULT
+ case 0, RustboroCity_DevonCorp_2F_EventScript_211BC1
+ case 1, RustboroCity_DevonCorp_2F_EventScript_211BC7
+ case 2, RustboroCity_DevonCorp_2F_EventScript_211BCD
+ case 127, RustboroCity_DevonCorp_2F_EventScript_211BCD
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211BC1:: @ 8211BC1
+ goto RustboroCity_DevonCorp_2F_EventScript_2119D2
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211BC7:: @ 8211BC7
+ goto RustboroCity_DevonCorp_2F_EventScript_211974
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211BCD:: @ 8211BCD
+ release
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211BCF:: @ 8211BCF
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x40C4, 1
+ call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869
+ compare_var_to_value VAR_0x405A, 6
+ goto_if 4, RustboroCity_DevonCorp_2F_EventScript_211BF1
+ msgbox RustboroCity_DevonCorp_2F_Text_212338, 4
+ release
+ end
+
+RustboroCity_DevonCorp_2F_EventScript_211BF1:: @ 8211BF1
+ msgbox RustboroCity_DevonCorp_2F_Text_212386, 4
+ release
+ end
+
+RustboroCity_DevonCorp_2F_Text_211BFB: @ 8211BFB
+ .string "We’re developing a device for talking\n"
+ .string "with POKéMON.\p"
+ .string "But we haven’t had much success…$"
+
+RustboroCity_DevonCorp_2F_Text_211C50: @ 8211C50
+ .string "I’m developing new kinds of\n"
+ .string "POKé BALLS…\p"
+ .string "But I haven’t made much headway…$"
+
+RustboroCity_DevonCorp_2F_Text_211C99: @ 8211C99
+ .string "We finally made new kinds of\n"
+ .string "POKé BALLS!\p"
+ .string "The REPEAT BALL makes it easier to\n"
+ .string "catch POKéMON you’ve caught before.\p"
+ .string "The TIMER BALL gets better at catching\n"
+ .string "POKéMON the longer a battle runs.\p"
+ .string "Both are proudly developed by\n"
+ .string "the DEVON CORPORATION.\p"
+ .string "Please give them a try!$"
+
+RustboroCity_DevonCorp_2F_Text_211D9F: @ 8211D9F
+ .string "I made the POKéNAV!\p"
+ .string "As an engineer, I feel blessed to have\n"
+ .string "made something so great!$"
+
+RustboroCity_DevonCorp_2F_Text_211DF3: @ 8211DF3
+ .string "Oh, wow!\n"
+ .string "That’s a POKéNAV!\p"
+ .string "It came about as a result of our\n"
+ .string "PRESIDENT’s desire to learn about\l"
+ .string "the feelings of POKéMON.\p"
+ .string "Would you like me to describe its\n"
+ .string "features in detail?\p"
+ .string "No, no. I think you’ll find out just by\n"
+ .string "trying the POKéNAV out.$"
+
+RustboroCity_DevonCorp_2F_Text_211EE0: @ 8211EE0
+ .string "I’m trying to develop a device that\n"
+ .string "visually reproduces the dreams of\l"
+ .string "POKéMON…\p"
+ .string "But it’s not going well.$"
+
+RustboroCity_DevonCorp_2F_Text_211F48: @ 8211F48
+ .string "I’ve been trying to develop a device\n"
+ .string "that resurrects POKéMON from fossils…\p"
+ .string "And, it’s working!$"
+
+RustboroCity_DevonCorp_2F_Text_211FA6: @ 8211FA6
+ .string "Wait! That thing you have there…\n"
+ .string "Is that a POKéMON fossil?\p"
+ .string "Would you like to bring that POKéMON\n"
+ .string "back to life?\p"
+ .string "I can with my newly developed\n"
+ .string "FOSSIL REGENERATOR.$"
+
+RustboroCity_DevonCorp_2F_Text_212046: @ 8212046
+ .string "Oh, is that so?\p"
+ .string "DEVON’s technological expertise\n"
+ .string "is outstanding, I tell you.$"
+
+RustboroCity_DevonCorp_2F_Text_212092: @ 8212092
+ .string "Oh, now that’s a surprise!\n"
+ .string "You have not one, but two, fossils?\p"
+ .string "Unfortunately, my machine can only\n"
+ .string "regenerate one POKéMON at a time.\p"
+ .string "Would you like to pick one of your\n"
+ .string "fossils for regeneration?$"
+
+RustboroCity_DevonCorp_2F_Text_212153: @ 8212153
+ .string "Excellent!\n"
+ .string "Let’s do this right away.\p"
+ .string "{PLAYER} handed the {STR_VAR_1} to\n"
+ .string "the DEVON RESEARCHER.$"
+
+RustboroCity_DevonCorp_2F_Text_2121A2: @ 82121A2
+ .string "The FOSSIL REGENERATOR, which I made,\n"
+ .string "is incredible.\p"
+ .string "But it has one drawback--it takes\n"
+ .string "a long time to work.\p"
+ .string "So, uh… How about you go for a stroll\n"
+ .string "and look around for a while?$"
+
+RustboroCity_DevonCorp_2F_Text_212251: @ 8212251
+ .string "Thanks for waiting!\p"
+ .string "Your fossilized POKéMON has been\n"
+ .string "brought back to life!\p"
+ .string "The fossil was an ancient POKéMON.\n"
+ .string "{STR_VAR_2}, it was!$"
+
+RustboroCity_DevonCorp_2F_Text_2122CB: @ 82122CB
+ .string "{PLAYER} received {STR_VAR_2} from\n"
+ .string "the DEVON RESEARCHER.$"
+
+RustboroCity_DevonCorp_2F_Text_2122F5: @ 82122F5
+ .string "Uh-oh, you’ve got too many POKéMON.\n"
+ .string "You have no room for this one.$"
+
+RustboroCity_DevonCorp_2F_Text_212338: @ 8212338
+ .string "I’m trying to develop a new feature\n"
+ .string "for the POKéNAV…\p"
+ .string "But it’s not going well.$"
+
+RustboroCity_DevonCorp_2F_Text_212386: @ 8212386
+ .string "Well, now what shall I work on\n"
+ .string "developing next?\p"
+ .string "Our company allows us to make our\n"
+ .string "inspirations into reality.\p"
+ .string "One couldn’t ask for a better\n"
+ .string "environment as an engineer.$"
+
diff --git a/data/scripts/maps/RustboroCity_DevonCorp_3F.inc b/data/scripts/maps/RustboroCity_DevonCorp_3F.inc
new file mode 100644
index 000000000..d887c5669
--- /dev/null
+++ b/data/scripts/maps/RustboroCity_DevonCorp_3F.inc
@@ -0,0 +1,311 @@
+RustboroCity_DevonCorp_3F_MapScripts:: @ 821242D
+ map_script 3, RustboroCity_DevonCorp_3F_MapScript1_21243D
+ map_script 4, RustboroCity_DevonCorp_3F_MapScript2_212455
+ map_script 2, RustboroCity_DevonCorp_3F_MapScript2_212464
+ .byte 0
+
+RustboroCity_DevonCorp_3F_MapScript1_21243D: @ 821243D
+ compare_var_to_value VAR_0x408F, 0
+ call_if 1, RustboroCity_DevonCorp_3F_EventScript_212449
+ end
+
+RustboroCity_DevonCorp_3F_EventScript_212449:: @ 8212449
+ setobjectxyperm 2, 3, 2
+ setobjectmovementtype 2, 9
+ return
+
+RustboroCity_DevonCorp_3F_MapScript2_212455: @ 8212455
+ map_script_2 VAR_0x408F, 0, RustboroCity_DevonCorp_3F_EventScript_21245F
+ .2byte 0
+
+RustboroCity_DevonCorp_3F_EventScript_21245F:: @ 821245F
+ turnobject 255, 4
+ end
+
+RustboroCity_DevonCorp_3F_MapScript2_212464: @ 8212464
+ map_script_2 VAR_0x408F, 0, RustboroCity_DevonCorp_3F_EventScript_21246E
+ .2byte 0
+
+RustboroCity_DevonCorp_3F_EventScript_21246E:: @ 821246E
+ lockall
+ msgbox RustboroCity_DevonCorp_3F_Text_212C37, 4
+ closemessage
+ applymovement 2, RustboroCity_DevonCorp_3F_Movement_212546
+ waitmovement 0
+ delay 80
+ applymovement 2, RustboroCity_DevonCorp_3F_Movement_21254F
+ waitmovement 0
+ msgbox RustboroCity_DevonCorp_3F_Text_212DE8, 4
+ closemessage
+ playbgm BGM_TSURETEK, 0
+ applymovement 2, RustboroCity_DevonCorp_3F_Movement_212534
+ applymovement 255, RustboroCity_DevonCorp_3F_Movement_212558
+ waitmovement 0
+ msgbox RustboroCity_DevonCorp_3F_Text_212E2F, 4
+ closemessage
+ fadedefaultbgm
+ applymovement 2, RustboroCity_DevonCorp_3F_Movement_212543
+ applymovement 255, RustboroCity_DevonCorp_3F_Movement_212566
+ waitmovement 0
+ msgbox RustboroCity_DevonCorp_3F_Text_212609, 4
+ giveitem_std ITEM_LETTER
+ msgbox RustboroCity_DevonCorp_3F_Text_21277C, 4
+ playfanfare BGM_FANFA4
+ message RustboroCity_DevonCorp_3F_Text_212820
+ waitfanfare
+ setflag FLAG_SYS_POKENAV_GET
+ setflag FLAG_0x0BC
+ setflag FLAG_0x3E7
+ msgbox RustboroCity_DevonCorp_3F_Text_212837, 4
+ closemessage
+ call RustboroCity_DevonCorp_3F_EventScript_272083
+ msgbox RustboroCity_DevonCorp_3F_Text_2129D2, 4
+ setflag FLAG_0x37E
+ clearflag FLAG_0x327
+ clearflag FLAG_0x3D7
+ clearflag FLAG_0x2E3
+ clearflag FLAG_0x371
+ setvar VAR_0x4096, 1
+ clearflag FLAG_0x32E
+ setvar VAR_0x408F, 1
+ setvar VAR_0x405A, 6
+ releaseall
+ end
+
+RustboroCity_DevonCorp_3F_Movement_21252F: @ 821252F
+ step_up
+ step_up
+ step_up
+ step_27
+ step_end
+
+RustboroCity_DevonCorp_3F_Movement_212534: @ 8212534
+ step_right
+ step_right
+ step_right
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_27
+ step_end
+
+RustboroCity_DevonCorp_3F_Movement_212543: @ 8212543
+ step_14
+ step_25
+ step_end
+
+RustboroCity_DevonCorp_3F_Movement_212546: @ 8212546
+ step_right
+ step_right
+ step_right
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+RustboroCity_DevonCorp_3F_Movement_21254F: @ 821254F
+ step_left
+ step_left
+ step_left
+ step_left
+ step_up
+ step_left
+ step_left
+ step_left
+ step_end
+
+RustboroCity_DevonCorp_3F_Movement_212558: @ 8212558
+ step_right
+ step_right
+ step_right
+ step_right
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+RustboroCity_DevonCorp_3F_Movement_212566: @ 8212566
+ step_14
+ step_14
+ step_down
+ step_down
+ step_28
+ step_end
+
+RustboroCity_DevonCorp_3F_EventScript_21256C:: @ 821256C
+ lock
+ faceplayer
+ checkflag FLAG_0x110
+ goto_eq RustboroCity_DevonCorp_3F_EventScript_2125CC
+ checkflag FLAG_0x0BD
+ goto_eq RustboroCity_DevonCorp_3F_EventScript_212595
+ msgbox RustboroCity_DevonCorp_3F_Text_212A09, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+RustboroCity_DevonCorp_3F_EventScript_212595:: @ 8212595
+ msgbox RustboroCity_DevonCorp_3F_Text_212A29, 4
+ giveitem_std ITEM_EXP_SHARE
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq RustboroCity_DevonCorp_3F_EventScript_272054
+ setflag FLAG_0x110
+ msgbox RustboroCity_DevonCorp_3F_Text_212A9E, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+RustboroCity_DevonCorp_3F_EventScript_2125CC:: @ 82125CC
+ msgbox RustboroCity_DevonCorp_3F_Text_212B78, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+RustboroCity_DevonCorp_3F_EventScript_2125E1:: @ 82125E1
+ lock
+ faceplayer
+ checkflag FLAG_0x100
+ goto_eq RustboroCity_DevonCorp_3F_EventScript_2125F6
+ msgbox RustboroCity_DevonCorp_3F_Text_212E41, 4
+ release
+ end
+
+RustboroCity_DevonCorp_3F_EventScript_2125F6:: @ 82125F6
+ msgbox RustboroCity_DevonCorp_3F_Text_212E88, 4
+ release
+ end
+
+RustboroCity_DevonCorp_3F_EventScript_212600:: @ 8212600
+ msgbox RustboroCity_DevonCorp_3F_Text_212EE9, 3
+ end
+
+RustboroCity_DevonCorp_3F_Text_212609: @ 8212609
+ .string "I’m MR. STONE, the PRESIDENT of\n"
+ .string "the DEVON CORPORATION.\p"
+ .string "I’d just got word about you!\p"
+ .string "You saved our staff not just once,\n"
+ .string "but twice!\p"
+ .string "I have a favor to ask of an amazing\n"
+ .string "person like you.\p"
+ .string "I understand that you’re delivering\n"
+ .string "a package to SLATEPORT’s SHIPYARD.\p"
+ .string "Well, on the way, could you stop off in\n"
+ .string "DEWFORD TOWN?\p"
+ .string "I was hoping that you’d deliver a\n"
+ .string "LETTER to STEVEN in DEWFORD.$"
+
+RustboroCity_DevonCorp_3F_Text_21277C: @ 821277C
+ .string "MR. STONE: Now, you should know that\n"
+ .string "I am a great PRESIDENT.\p"
+ .string "So, I’d never be so cheap as to ask\n"
+ .string "a favor for nothing in return.\p"
+ .string "That’s why I want you to have this!$"
+
+RustboroCity_DevonCorp_3F_Text_212820: @ 8212820
+ .string "{PLAYER} received a POKéNAV.$"
+
+RustboroCity_DevonCorp_3F_Text_212837: @ 8212837
+ .string "MR. STONE: That device…\p"
+ .string "It’s a POKéMON NAVIGATOR, or POKéNAV\n"
+ .string "for short.\p"
+ .string "It’s an indispensable tool for any\n"
+ .string "TRAINER on an adventure.\p"
+ .string "It has a map of the HOENN region.\p"
+ .string "You can check the locations of\n"
+ .string "DEWFORD and SLATEPORT easily!\p"
+ .string "By the way, I’ve heard that sinister\n"
+ .string "criminals--MAGMA and AQUA, I believe--\l"
+ .string "have been making trouble far and wide.\p"
+ .string "I think it would be best if you rested\n"
+ .string "up before you go on your way.$"
+
+RustboroCity_DevonCorp_3F_Text_2129D2: @ 82129D2
+ .string "MR. STONE: Well, then, {PLAYER}{KUN},\n"
+ .string "go with caution and care!$"
+
+RustboroCity_DevonCorp_3F_Text_212A09: @ 8212A09
+ .string "MR. STONE: I’m counting on you!$"
+
+RustboroCity_DevonCorp_3F_Text_212A29: @ 8212A29
+ .string "MR. STONE: You delivered my LETTER?\n"
+ .string "Thank you kindly!\p"
+ .string "This is my way of thanking you.\n"
+ .string "It should help you, a TRAINER.$"
+
+RustboroCity_DevonCorp_3F_Text_212A9E: @ 8212A9E
+ .string "MR. STONE: A POKéMON holding that\n"
+ .string "EXP. SHARE will be given some of the\l"
+ .string "EXP Points from battle.\p"
+ .string "It will get EXP Points even if it didn’t\n"
+ .string "actually battle.\p"
+ .string "I would say EXP. SHARE is quite useful\n"
+ .string "for raising weak POKéMON.$"
+
+RustboroCity_DevonCorp_3F_Text_212B78: @ 8212B78
+ .string "MR. STONE: Since my youth, I’ve immersed\n"
+ .string "myself in work.\p"
+ .string "Consequently, I’m not familiar with\n"
+ .string "trends and that sort of thing.\p"
+ .string "But do young people all want to be\n"
+ .string "TRAINERS in the POKéMON LEAGUE?$"
+
+RustboroCity_DevonCorp_3F_Text_212C37: @ 8212C37
+ .string "This is the DEVON CORPORATION’s\n"
+ .string "third floor.\p"
+ .string "Our PRESIDENT’s OFFICE is on\n"
+ .string "this floor.\p"
+ .string "Anyway, I can’t tell you how much I’m\n"
+ .string "grateful for what you’ve done.\p"
+ .string "Um… By the way, that parcel\n"
+ .string "you got back for us…\p"
+ .string "Could I get you to deliver that to\n"
+ .string "the SHIPYARD in SLATEPORT?\p"
+ .string "It would be awful if those robbers\n"
+ .string "tried to take it again.\p"
+ .string "Uh… Hehehe, so, uh, could I count\n"
+ .string "on you to do that for me?\p"
+ .string "Oh, that’s right.\n"
+ .string "Could you wait here a second?$"
+
+RustboroCity_DevonCorp_3F_Text_212DE8: @ 8212DE8
+ .string "Our PRESIDENT would like to have\n"
+ .string "a word with you.\p"
+ .string "Please come with me.$"
+
+RustboroCity_DevonCorp_3F_Text_212E2F: @ 8212E2F
+ .string "Please, go ahead.$"
+
+RustboroCity_DevonCorp_3F_Text_212E41: @ 8212E41
+ .string "If you visit the SHIPYARD in SLATEPORT,\n"
+ .string "you should go see CAPT. STERN.$"
+
+RustboroCity_DevonCorp_3F_Text_212E88: @ 8212E88
+ .string "DEVON’s new products, the REPEAT BALL\n"
+ .string "and TIMER BALL, have become hugely\l"
+ .string "popular among TRAINERS.$"
+
+RustboroCity_DevonCorp_3F_Text_212EE9: @ 8212EE9
+ .string "It’s a collection of rare rocks and\n"
+ .string "stones assembled by the PRESIDENT.$"
+
diff --git a/data/scripts/maps/RustboroCity_Flat1_1F.inc b/data/scripts/maps/RustboroCity_Flat1_1F.inc
new file mode 100644
index 000000000..947ea14d3
--- /dev/null
+++ b/data/scripts/maps/RustboroCity_Flat1_1F.inc
@@ -0,0 +1,18 @@
+RustboroCity_Flat1_1F_MapScripts:: @ 82150CD
+ .byte 0
+
+RustboroCity_Flat1_1F_EventScript_2150CE:: @ 82150CE
+ msgbox RustboroCity_Flat1_1F_Text_2150E0, 2
+ end
+
+RustboroCity_Flat1_1F_EventScript_2150D7:: @ 82150D7
+ msgbox RustboroCity_Flat1_1F_Text_215115, 2
+ end
+
+RustboroCity_Flat1_1F_Text_2150E0: @ 82150E0
+ .string "Every POKéMON has a special ability\n"
+ .string "that it can use.$"
+
+RustboroCity_Flat1_1F_Text_215115: @ 8215115
+ .string "POKéMON are such strange creatures.$"
+
diff --git a/data/scripts/maps/RustboroCity_Flat1_2F.inc b/data/scripts/maps/RustboroCity_Flat1_2F.inc
new file mode 100644
index 000000000..c31739fb2
--- /dev/null
+++ b/data/scripts/maps/RustboroCity_Flat1_2F.inc
@@ -0,0 +1,184 @@
+RustboroCity_Flat1_2F_MapScripts:: @ 8215139
+ .byte 0
+
+RustboroCity_Flat1_2F_EventScript_21513A:: @ 821513A
+ lock
+ faceplayer
+ specialvar VAR_RESULT, TryBufferWaldaPhrase
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq RustboroCity_Flat1_2F_EventScript_21518D
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq RustboroCity_Flat1_2F_EventScript_2151AD
+
+RustboroCity_Flat1_2F_EventScript_215157:: @ 8215157
+ special DoWaldaNamingScreen
+ waitstate
+ compare_var_to_value VAR_0x8004, 1
+ goto_eq RustboroCity_Flat1_2F_EventScript_2151D7
+ compare_var_to_value VAR_0x8004, 2
+ goto_eq RustboroCity_Flat1_2F_EventScript_2151E1
+ specialvar VAR_RESULT, TryGetWallpaperWithWaldaPhrase
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq RustboroCity_Flat1_2F_EventScript_2151F8
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq RustboroCity_Flat1_2F_EventScript_215221
+ end
+
+RustboroCity_Flat1_2F_EventScript_21518D:: @ 821518D
+ msgbox RustboroCity_Flat1_2F_Text_2152FA, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq RustboroCity_Flat1_2F_EventScript_2151CD
+ msgbox RustboroCity_Flat1_2F_Text_2154AD, 4
+ goto RustboroCity_Flat1_2F_EventScript_215157
+
+RustboroCity_Flat1_2F_EventScript_2151AD:: @ 82151AD
+ msgbox RustboroCity_Flat1_2F_Text_215448, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq RustboroCity_Flat1_2F_EventScript_2151CD
+ msgbox RustboroCity_Flat1_2F_Text_2154AD, 4
+ goto RustboroCity_Flat1_2F_EventScript_215157
+
+RustboroCity_Flat1_2F_EventScript_2151CD:: @ 82151CD
+ msgbox RustboroCity_Flat1_2F_Text_2154E7, 4
+ release
+ end
+
+RustboroCity_Flat1_2F_EventScript_2151D7:: @ 82151D7
+ msgbox RustboroCity_Flat1_2F_Text_2156E3, 4
+ release
+ end
+
+RustboroCity_Flat1_2F_EventScript_2151E1:: @ 82151E1
+ msgbox RustboroCity_Flat1_2F_Text_21561E, 4
+ call RustboroCity_Flat1_2F_EventScript_215238
+ msgbox RustboroCity_Flat1_2F_Text_215699, 4
+ release
+ end
+
+RustboroCity_Flat1_2F_EventScript_2151F8:: @ 82151F8
+ msgbox RustboroCity_Flat1_2F_Text_215535, 4
+ call RustboroCity_Flat1_2F_EventScript_215238
+ msgbox RustboroCity_Flat1_2F_Text_215565, 4
+ applymovement 6, RustboroCity_Flat1_2F_Movement_27259E
+ waitmovement 0
+ msgbox RustboroCity_Flat1_2F_Text_215792, 4
+ release
+ end
+
+RustboroCity_Flat1_2F_EventScript_215221:: @ 8215221
+ msgbox RustboroCity_Flat1_2F_Text_2155A4, 4
+ call RustboroCity_Flat1_2F_EventScript_215238
+ msgbox RustboroCity_Flat1_2F_Text_2155D4, 4
+ release
+ end
+
+RustboroCity_Flat1_2F_EventScript_215238:: @ 8215238
+ turnobject 6, 4
+ return
+
+RustboroCity_Flat1_2F_EventScript_21523D:: @ 821523D
+ msgbox RustboroCity_Flat1_2F_Text_21524F, 2
+ end
+
+RustboroCity_Flat1_2F_EventScript_215246:: @ 8215246
+ msgbox RustboroCity_Flat1_2F_Text_215923, 3
+ end
+
+RustboroCity_Flat1_2F_Text_21524F: @ 821524F
+ .string "Oh, it’s so hard every day…\p"
+ .string "What’s hard?\n"
+ .string "You need to ask?\p"
+ .string "It’s trying to figure out what to\n"
+ .string "make for meals every day.\p"
+ .string "It really isn’t easy coming up with\n"
+ .string "meals every day.$"
+
+RustboroCity_Flat1_2F_Text_2152FA: @ 82152FA
+ .string "Oh, hello!\n"
+ .string "Welcome to the PEPPER household.\p"
+ .string "I have a question for you.\n"
+ .string "Have you ever baby-sat?\p"
+ .string "You see, I’m a new father, so raising\n"
+ .string "a child is all new to me.\p"
+ .string "And I have a problem. My daughter\n"
+ .string "WALDA doesn’t laugh enough.\p"
+ .string "I think she’d laugh for me if I told\n"
+ .string "her something funny.\p"
+ .string "Do you know of a funny word or\n"
+ .string "phrase you can tell me?$"
+
+RustboroCity_Flat1_2F_Text_215448: @ 8215448
+ .string "I’ve been saying “{STR_VAR_1}”\n"
+ .string "to amuse her lately.\p"
+ .string "Do you know of a better word or\n"
+ .string "a phrase that might work?$"
+
+RustboroCity_Flat1_2F_Text_2154AD: @ 82154AD
+ .string "Oh, that’s wonderful.\n"
+ .string "So, let’s hear it, your suggestion.$"
+
+RustboroCity_Flat1_2F_Text_2154E7: @ 82154E7
+ .string "Oh, is that right?\p"
+ .string "Well, if you come up with a good\n"
+ .string "suggestion, I’m all ears.$"
+
+RustboroCity_Flat1_2F_Text_215535: @ 8215535
+ .string "Ah, I see.\n"
+ .string "Well, let’s give it a try, shall we?$"
+
+RustboroCity_Flat1_2F_Text_215565: @ 8215565
+ .string "{STR_VAR_1}.\n"
+ .string "{STR_VAR_1}.\p"
+ .string "Oh, yes! She’s laughing!\n"
+ .string "Oh, I am as delighted as she!$"
+
+RustboroCity_Flat1_2F_Text_2155A4: @ 82155A4
+ .string "Ah, I see.\n"
+ .string "Well, let’s give it a try, shall we?$"
+
+RustboroCity_Flat1_2F_Text_2155D4: @ 82155D4
+ .string "{STR_VAR_1}.\n"
+ .string "{STR_VAR_1}.\p"
+ .string "Hmmm… She’s not smiling at all.\n"
+ .string "Maybe WALDA is one serious child…$"
+
+RustboroCity_Flat1_2F_Text_21561E: @ 821561E
+ .string "Oh, so you don’t know any good words.\n"
+ .string "I’d better think for myself, then.\p"
+ .string "Hmm…\n"
+ .string "How about “{STR_VAR_1}”?\l"
+ .string "Let’s see if that will work.$"
+
+RustboroCity_Flat1_2F_Text_215699: @ 8215699
+ .string "{STR_VAR_1}.\n"
+ .string "{STR_VAR_1}.\p"
+ .string "Hmmm… She’s not smiling at all.\n"
+ .string "Maybe WALDA is one serious child…$"
+
+RustboroCity_Flat1_2F_Text_2156E3: @ 82156E3
+ .string "Oh, so you don’t know any good words.\n"
+ .string "I guess I’ll try to amuse her with\l"
+ .string "the saying I used before.\p"
+ .string "Anyways, if you have a good suggestion,\n"
+ .string "don’t hesitate in telling me, okay?$"
+
+RustboroCity_Flat1_2F_Text_215792: @ 8215792
+ .string "Thank you!\p"
+ .string "Thanks to you, my darling WALDA\n"
+ .string "laughed for me!\p"
+ .string "Actually, I may not look all that\n"
+ .string "special, but I’m one of DEVON\l"
+ .string "CORPORATION’s top researchers.\p"
+ .string "So, how about I do something in return\n"
+ .string "for you?\p"
+ .string "I know, I’ll add some new wallpaper\n"
+ .string "patterns for the BOXES in the PC\l"
+ .string "POKéMON Storage System.\p"
+ .string "In the wallpaper pattern menu,\n"
+ .string "select “FRIENDS.”\p"
+ .string "That will give you access to the new\n"
+ .string "wallpaper patterns.$"
+
+RustboroCity_Flat1_2F_Text_215923: @ 8215923
+ .string "It’s a POKéMON plush DOLL!$"
+
diff --git a/data/scripts/maps/RustboroCity_Flat2_1F.inc b/data/scripts/maps/RustboroCity_Flat2_1F.inc
new file mode 100644
index 000000000..fbb174a29
--- /dev/null
+++ b/data/scripts/maps/RustboroCity_Flat2_1F.inc
@@ -0,0 +1,24 @@
+RustboroCity_Flat2_1F_MapScripts:: @ 8215F76
+ .byte 0
+
+RustboroCity_Flat2_1F_EventScript_215F77:: @ 8215F77
+ msgbox RustboroCity_Flat2_1F_Text_215F93, 2
+ end
+
+RustboroCity_Flat2_1F_EventScript_215F80:: @ 8215F80
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_SKITTY, 0
+ msgbox RustboroCity_Flat2_1F_Text_215FC6, 4
+ waitmoncry
+ release
+ end
+
+RustboroCity_Flat2_1F_Text_215F93: @ 8215F93
+ .string "DEVON CORPORATION’s workers live in\n"
+ .string "this building.$"
+
+RustboroCity_Flat2_1F_Text_215FC6: @ 8215FC6
+ .string "SKITTY: Gyaaaah!$"
+
diff --git a/data/scripts/maps/RustboroCity_Flat2_2F.inc b/data/scripts/maps/RustboroCity_Flat2_2F.inc
new file mode 100644
index 000000000..f8a9bcac9
--- /dev/null
+++ b/data/scripts/maps/RustboroCity_Flat2_2F.inc
@@ -0,0 +1,39 @@
+RustboroCity_Flat2_2F_MapScripts:: @ 8215FD7
+ .byte 0
+
+RustboroCity_Flat2_2F_EventScript_215FD8:: @ 8215FD8
+ msgbox RustboroCity_Flat2_2F_Text_21601A, 2
+ end
+
+RustboroCity_Flat2_2F_EventScript_215FE1:: @ 8215FE1
+ lock
+ faceplayer
+ checkflag FLAG_0x0D5
+ goto_eq RustboroCity_Flat2_2F_EventScript_216010
+ msgbox RustboroCity_Flat2_2F_Text_21605A, 4
+ giveitem_std ITEM_PREMIER_BALL
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq RustboroCity_Flat2_2F_EventScript_272054
+ setflag FLAG_0x0D5
+ release
+ end
+
+RustboroCity_Flat2_2F_EventScript_216010:: @ 8216010
+ msgbox RustboroCity_Flat2_2F_Text_2160BD, 4
+ release
+ end
+
+RustboroCity_Flat2_2F_Text_21601A: @ 821601A
+ .string "Way back in the old days, DEVON was just\n"
+ .string "a teeny, tiny company.$"
+
+RustboroCity_Flat2_2F_Text_21605A: @ 821605A
+ .string "My daddy’s working at the CORPORATION.\p"
+ .string "My daddy made this!\n"
+ .string "But I can’t use it, so you can have it.$"
+
+RustboroCity_Flat2_2F_Text_2160BD: @ 82160BD
+ .string "My daddy’s working at the CORPORATION.\p"
+ .string "When I grow up, I’m going to work for\n"
+ .string "DEVON, too.$"
+
diff --git a/data/scripts/maps/RustboroCity_Flat2_3F.inc b/data/scripts/maps/RustboroCity_Flat2_3F.inc
new file mode 100644
index 000000000..6a267c336
--- /dev/null
+++ b/data/scripts/maps/RustboroCity_Flat2_3F.inc
@@ -0,0 +1,19 @@
+RustboroCity_Flat2_3F_MapScripts:: @ 8216116
+ .byte 0
+
+RustboroCity_Flat2_3F_EventScript_216117:: @ 8216117
+ msgbox RustboroCity_Flat2_3F_Text_216129, 2
+ end
+
+RustboroCity_Flat2_3F_EventScript_216120:: @ 8216120
+ msgbox RustboroCity_Flat2_3F_Text_216159, 2
+ end
+
+RustboroCity_Flat2_3F_Text_216129: @ 8216129
+ .string "DEVON’s PRESIDENT likes to collect\n"
+ .string "rare stones.$"
+
+RustboroCity_Flat2_3F_Text_216159: @ 8216159
+ .string "I think the PRESIDENT’s son also\n"
+ .string "collects rare stones.$"
+
diff --git a/data/scripts/maps/RustboroCity_Gym.inc b/data/scripts/maps/RustboroCity_Gym.inc
new file mode 100644
index 000000000..dec6a8e73
--- /dev/null
+++ b/data/scripts/maps/RustboroCity_Gym.inc
@@ -0,0 +1,291 @@
+RustboroCity_Gym_MapScripts:: @ 8212F30
+ .byte 0
+
+RustboroCity_Gym_EventScript_212F31:: @ 8212F31
+ trainerbattle 1, TRAINER_ROXANNE_1, 0, RustboroCity_Gym_Text_21362A, RustboroCity_Gym_Text_21370B, RustboroCity_Gym_EventScript_212F66
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq RustboroCity_Gym_EventScript_212FC8
+ checkflag FLAG_0x0A5
+ goto_if 0, RustboroCity_Gym_EventScript_212FA4
+ msgbox RustboroCity_Gym_Text_2139A7, 4
+ release
+ end
+
+RustboroCity_Gym_EventScript_212F66:: @ 8212F66
+ message RustboroCity_Gym_Text_2137EC
+ waitmessage
+ call RustboroCity_Gym_EventScript_27207E
+ msgbox RustboroCity_Gym_Text_213816, 4
+ setflag FLAG_0x4F0
+ setflag FLAG_BADGE01_GET
+ setvar VAR_0x405A, 1
+ addvar VAR_0x4085, 1
+ setvar VAR_0x8008, 1
+ call RustboroCity_Gym_EventScript_271F43
+ compare_var_to_value VAR_0x4085, 6
+ call_if 1, RustboroCity_Gym_EventScript_271E84
+ goto RustboroCity_Gym_EventScript_212FA4
+ end
+
+RustboroCity_Gym_EventScript_212FA4:: @ 8212FA4
+ giveitem_std ITEM_TM39
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq RustboroCity_Gym_EventScript_272054
+ setflag FLAG_0x0A5
+ msgbox RustboroCity_Gym_Text_2138B1, 4
+ release
+ end
+
+RustboroCity_Gym_EventScript_212FC8:: @ 8212FC8
+ trainerbattle 7, TRAINER_ROXANNE_1, 0, RustboroCity_Gym_Text_213C2F, RustboroCity_Gym_Text_213CF9, RustboroCity_Gym_Text_213D93
+ msgbox RustboroCity_Gym_Text_213D12, 6
+ end
+
+RustboroCity_Gym_EventScript_212FE3:: @ 8212FE3
+ trainerbattle 0, TRAINER_JOSH, 0, RustboroCity_Gym_Text_2133E9, RustboroCity_Gym_Text_21342D
+ msgbox RustboroCity_Gym_Text_213447, 6
+ end
+
+RustboroCity_Gym_EventScript_212FFA:: @ 8212FFA
+ trainerbattle 0, TRAINER_TOMMY, 0, RustboroCity_Gym_Text_213486, RustboroCity_Gym_Text_2134C6
+ msgbox RustboroCity_Gym_Text_2134E6, 6
+ end
+
+RustboroCity_Gym_EventScript_213011:: @ 8213011
+ trainerbattle 0, TRAINER_MARC, 0, RustboroCity_Gym_Text_213533, RustboroCity_Gym_Text_213589
+ msgbox RustboroCity_Gym_Text_2135C0, 6
+ end
+
+RustboroCity_Gym_EventScript_213028:: @ 8213028
+ lock
+ faceplayer
+ checkflag FLAG_0x4F0
+ goto_eq RustboroCity_Gym_EventScript_21303D
+ msgbox RustboroCity_Gym_Text_21309D, 4
+ release
+ end
+
+RustboroCity_Gym_EventScript_21303D:: @ 821303D
+ msgbox RustboroCity_Gym_Text_2132E2, 4
+ release
+ end
+
+RustboroCity_Gym_EventScript_213047:: @ 8213047
+ lockall
+ checkflag FLAG_BADGE01_GET
+ goto_eq RustboroCity_Gym_EventScript_213067
+ goto RustboroCity_Gym_EventScript_213071
+ end
+
+RustboroCity_Gym_EventScript_213057:: @ 8213057
+ lockall
+ checkflag FLAG_BADGE01_GET
+ goto_eq RustboroCity_Gym_EventScript_213067
+ goto RustboroCity_Gym_EventScript_213071
+ end
+
+RustboroCity_Gym_EventScript_213067:: @ 8213067
+ msgbox RustboroCity_Gym_Text_213A3B, 4
+ releaseall
+ end
+
+RustboroCity_Gym_EventScript_213071:: @ 8213071
+ msgbox RustboroCity_Gym_Text_213A21, 4
+ releaseall
+ end
+
+RustboroCity_Gym_EventScript_21307B:: @ 821307B
+ lockall
+ pokenavcall RustboroCity_Gym_Text_213A76
+ waitmessage
+ delay 30
+ playfanfare BGM_ME_MATCH_CALL
+ msgbox RustboroCity_Gym_Text_213C01, 4
+ waitfanfare
+ closemessage
+ delay 30
+ setflag FLAG_0x1D3
+ clearflag FLAG_0x080
+ releaseall
+ end
+
+RustboroCity_Gym_Text_21309D: @ 821309D
+ .string "Yo, how’s it going?\p"
+ .string "Listen, my friend!\n"
+ .string "Would you like to become the CHAMPION?\p"
+ .string "I’m no TRAINER, not me, but I can\n"
+ .string "sure give you winning advice.\p"
+ .string "That’s settled, then! We’ll aim for the\n"
+ .string "POKéMON CHAMPIONSHIP together!\p"
+ .string "It’s your job as a TRAINER to collect\n"
+ .string "GYM BADGES, am I right?\p"
+ .string "But GYM LEADERS aren’t pushovers!\p"
+ .string "And that’s where I come in!\n"
+ .string "I’m here to provide expert advice!\p"
+ .string "ROXANNE, the GYM LEADER, is a user\n"
+ .string "of ROCK-type POKéMON.\p"
+ .string "The ROCK type is very durable, but\n"
+ .string "it can’t stand WATER-type and\l"
+ .string "GRASS-type moves.\p"
+ .string "Come see me afterwards, if you beat\n"
+ .string "the GYM LEADER.\p"
+ .string "Well, go for it!$"
+
+RustboroCity_Gym_Text_2132E2: @ 82132E2
+ .string "Whoa! What a breathtaking victory!\n"
+ .string "My cheering must’ve worked!\p"
+ .string "Great!\n"
+ .string "Check your TRAINER CARD.\p"
+ .string "The STONE BADGE you got should be\n"
+ .string "properly recorded on it.\p"
+ .string "In other words…\p"
+ .string "You’ve climbed the first step on\n"
+ .string "the stairs to the CHAMPIONSHIP!\p"
+ .string "That’s got to feel awesome!$"
+
+RustboroCity_Gym_Text_2133E9: @ 82133E9
+ .string "Don’t take us GYM TRAINERS lightly!\n"
+ .string "I’ll show you why we’re better!$"
+
+RustboroCity_Gym_Text_21342D: @ 821342D
+ .string "You were too good for me…$"
+
+RustboroCity_Gym_Text_213447: @ 8213447
+ .string "You haven’t seen anything of the ROCK\n"
+ .string "type’s terrifying power!$"
+
+RustboroCity_Gym_Text_213486: @ 8213486
+ .string "If you can’t beat me, you won’t stand\n"
+ .string "a chance against ROXANNE!$"
+
+RustboroCity_Gym_Text_2134C6: @ 82134C6
+ .string "Wow! You’ve got some potential!$"
+
+RustboroCity_Gym_Text_2134E6: @ 82134E6
+ .string "ROXANNE is stronger than me by\n"
+ .string "several times.\p"
+ .string "You’d better be on your guard!$"
+
+RustboroCity_Gym_Text_213533: @ 8213533
+ .string "We might be in the middle of town,\n"
+ .string "but so what?\p"
+ .string "My ROCK POKéMON need room to\n"
+ .string "rampage!$"
+
+RustboroCity_Gym_Text_213589: @ 8213589
+ .string "Oh, man oh man!\n"
+ .string "Our challenger is one feisty customer!$"
+
+RustboroCity_Gym_Text_2135C0: @ 82135C0
+ .string "I have to hand it to our LEADER.\p"
+ .string "It took smarts and sense for her to\n"
+ .string "pick the ROCK type at her young age.$"
+
+RustboroCity_Gym_Text_21362A: @ 821362A
+ .string "Hello, I am ROXANNE, the RUSTBORO\n"
+ .string "POKéMON GYM LEADER.\p"
+ .string "I became a GYM LEADER so that I might\n"
+ .string "apply what I learned at the POKéMON\l"
+ .string "TRAINER’S SCHOOL in battle.\p"
+ .string "Would you kindly demonstrate how you\n"
+ .string "battle, and with which POKéMON?$"
+
+RustboroCity_Gym_Text_21370B: @ 821370B
+ .string "So…\n"
+ .string "I lost…\p"
+ .string "It seems that I still have much more\n"
+ .string "to learn…\p"
+ .string "I understand.\p"
+ .string "The POKéMON LEAGUE’s rules state\n"
+ .string "that TRAINERS are to be given this\l"
+ .string "if they defeat a GYM LEADER.\p"
+ .string "Please accept the official POKéMON\n"
+ .string "LEAGUE STONE BADGE.$"
+
+RustboroCity_Gym_Text_2137EC: @ 82137EC
+ .string "{PLAYER} received the STONE BADGE\n"
+ .string "from ROXANNE.$"
+
+RustboroCity_Gym_Text_213816: @ 8213816
+ .string "The STONE BADGE heightens the ATTACK\n"
+ .string "power of your POKéMON.\p"
+ .string "It also enables them to use the HM move\n"
+ .string "CUT outside of battle.\p"
+ .string "Please take this with you, too.$"
+
+RustboroCity_Gym_Text_2138B1: @ 82138B1
+ .string "That TECHNICAL MACHINE, TM39,\n"
+ .string "contains ROCK TOMB.\p"
+ .string "It not only inflicts damage by dropping\n"
+ .string "rocks, it also lowers SPEED.\p"
+ .string "If you use a TM, it instantly teaches\n"
+ .string "the move to a POKéMON.\p"
+ .string "Remember, a TM can be used only once,\n"
+ .string "so think before you use it.$"
+
+RustboroCity_Gym_Text_2139A7: @ 82139A7
+ .string "Since you are so strong, you should\n"
+ .string "challenge other GYM LEADERS.\p"
+ .string "By battling many TRAINERS, you should\n"
+ .string "learn many things.$"
+
+RustboroCity_Gym_Text_213A21: @ 8213A21
+ .string "RUSTBORO CITY POKéMON GYM$"
+
+RustboroCity_Gym_Text_213A3B: @ 8213A3B
+ .string "RUSTBORO CITY POKéMON GYM\p"
+ .string "ROXANNE’S CERTIFIED TRAINERS:\n"
+ .string "{PLAYER}$"
+
+
+RustboroCity_Gym_Text_213A76: @ 8213A76
+ .string "… … … … … …\n"
+ .string "… … … … … Beep!\p"
+ .string "ROXANNE: Oh, hello, {PLAYER}?\n"
+ .string "This is ROXANNE of RUSTBORO CITY.\p"
+ .string "I heard from BRAWLY that you’re\n"
+ .string "moving up through the ranks of\l"
+ .string "TRAINERS at an incredible clip.\p"
+ .string "Well, I’d rather not think that\n"
+ .string "I can’t beat you.\p"
+ .string "I promise, I will shape up my GYM\n"
+ .string "so that you may challenge us again.\p"
+ .string "I hope you’ll be looking forward to\n"
+ .string "that occasion as much as me!\p"
+ .string "… … … … … …\n"
+ .string "… … … … … Click!$"
+
+RustboroCity_Gym_Text_213C01: @ 8213C01
+ .string "Registered GYM LEADER ROXANNE\n"
+ .string "in the POKéNAV.$"
+
+RustboroCity_Gym_Text_213C2F: @ 8213C2F
+ .string "ROXANNE: I’m so glad to see you again.\n"
+ .string "I’m ROXANNE, the GYM LEADER here.\p"
+ .string "I’m sure we’ve both experienced many\n"
+ .string "battles since we last met.\p"
+ .string "I would like to see how much better\n"
+ .string "we’ve become. Let us battle!$"
+
+RustboroCity_Gym_Text_213CF9: @ 8213CF9
+ .string "Grr…\n"
+ .string "Again, I have lost…$"
+
+RustboroCity_Gym_Text_213D12: @ 8213D12
+ .string "ROXANNE: I still have much to learn\n"
+ .string "when it comes to battling POKéMON.\p"
+ .string "That awareness makes me love battling\n"
+ .string "all that much more!$"
+
+RustboroCity_Gym_Text_213D93: @ 8213D93
+ .string "ROXANNE: I’m so glad to see you again.\n"
+ .string "I’m ROXANNE, the GYM LEADER here.\p"
+ .string "I’m sure we’ve both experienced many\n"
+ .string "battles since we last met.\p"
+ .string "I would like to see how much better\n"
+ .string "we’ve become…\p"
+ .string "Oh, no…\n"
+ .string "You only have one POKéMON with you?\p"
+ .string "Please return with at least one more\n"
+ .string "POKéMON.$"
diff --git a/data/scripts/maps/RustboroCity_House1.inc b/data/scripts/maps/RustboroCity_House1.inc
new file mode 100644
index 000000000..bbbacff17
--- /dev/null
+++ b/data/scripts/maps/RustboroCity_House1.inc
@@ -0,0 +1,85 @@
+RustboroCity_House1_MapScripts:: @ 821593E
+ .byte 0
+
+RustboroCity_House1_EventScript_21593F:: @ 821593F
+ lock
+ faceplayer
+ checkflag FLAG_0x099
+ goto_eq RustboroCity_House1_EventScript_2159D5
+ setvar VAR_0x8008, 0
+ copyvar VAR_0x8004, VAR_0x8008
+ specialvar VAR_RESULT, sub_807E73C
+ copyvar VAR_0x8009, VAR_RESULT
+ msgbox RustboroCity_House1_Text_2159E8, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq RustboroCity_House1_EventScript_2159BD
+ special sub_81B94B0
+ waitstate
+ copyvar VAR_0x800A, VAR_0x8004
+ compare_var_to_value VAR_0x8004, 255
+ goto_eq RustboroCity_House1_EventScript_2159BD
+ copyvar VAR_0x8005, VAR_0x800A
+ specialvar VAR_RESULT, sub_807E9D4
+ copyvar VAR_0x800B, VAR_RESULT
+ compare_var_to_var VAR_RESULT, VAR_0x8009
+ goto_if 5, RustboroCity_House1_EventScript_2159C7
+ copyvar VAR_0x8004, VAR_0x8008
+ copyvar VAR_0x8005, VAR_0x800A
+ special sub_807EA10
+ special sub_807F0E4
+ waitstate
+ msgbox RustboroCity_House1_Text_215A77, 4
+ setflag FLAG_0x099
+ release
+ end
+
+RustboroCity_House1_EventScript_2159BD:: @ 82159BD
+ msgbox RustboroCity_House1_Text_215ACE, 4
+ release
+ end
+
+RustboroCity_House1_EventScript_2159C7:: @ 82159C7
+ bufferspeciesname 0, VAR_0x8009
+ msgbox RustboroCity_House1_Text_215A9D, 4
+ release
+ end
+
+RustboroCity_House1_EventScript_2159D5:: @ 82159D5
+ msgbox RustboroCity_House1_Text_215B17, 4
+ release
+ end
+
+RustboroCity_House1_EventScript_2159DF:: @ 82159DF
+ msgbox RustboroCity_House1_Text_215B57, 2
+ end
+
+RustboroCity_House1_Text_2159E8: @ 82159E8
+ .string "Huh? My POKéMON is cute?\n"
+ .string "Sure, I knew that.\p"
+ .string "But if you really want, I’m willing\n"
+ .string "to trade it to you.\p"
+ .string "I’ll trade you my {STR_VAR_2} for\n"
+ .string "a {STR_VAR_1} if you want.$"
+
+RustboroCity_House1_Text_215A77: @ 8215A77
+ .string "Eheheh…\n"
+ .string "Please be good to my POKéMON.$"
+
+RustboroCity_House1_Text_215A9D: @ 8215A9D
+ .string "Huh? That doesn’t look anything like\n"
+ .string "a {STR_VAR_1} to me.$"
+
+RustboroCity_House1_Text_215ACE: @ 8215ACE
+ .string "Oh, if you don’t want to, that’s okay.\n"
+ .string "But my POKéMON is cute, you know…$"
+
+RustboroCity_House1_Text_215B17: @ 8215B17
+ .string "Any POKéMON can be cute if you raise\n"
+ .string "it with care and kindness.$"
+
+RustboroCity_House1_Text_215B57: @ 8215B57
+ .string "In all sorts of places, there are all\n"
+ .string "sorts of POKéMON and people.\p"
+ .string "I find that fascinating, so I go to all\n"
+ .string "sorts of places.$"
+
diff --git a/data/scripts/maps/RustboroCity_House2.inc b/data/scripts/maps/RustboroCity_House2.inc
new file mode 100644
index 000000000..fd71dc016
--- /dev/null
+++ b/data/scripts/maps/RustboroCity_House2.inc
@@ -0,0 +1,21 @@
+RustboroCity_House2_MapScripts:: @ 8215EB3
+ .byte 0
+
+RustboroCity_House2_EventScript_215EB4:: @ 8215EB4
+ msgbox RustboroCity_House2_Text_215EC6, 2
+ end
+
+RustboroCity_House2_EventScript_215EBD:: @ 8215EBD
+ msgbox RustboroCity_House2_Text_215F21, 2
+ end
+
+RustboroCity_House2_Text_215EC6: @ 8215EC6
+ .string "The TRAINER’S SCHOOL is excellent.\p"
+ .string "If you study there, you could even\n"
+ .string "become a GYM LEADER.$"
+
+RustboroCity_House2_Text_215F21: @ 8215F21
+ .string "ROXANNE, the GYM LEADER, really knows\n"
+ .string "a lot about POKéMON.\p"
+ .string "She’s really strong, too!$"
+
diff --git a/data/scripts/maps/RustboroCity_House3.inc b/data/scripts/maps/RustboroCity_House3.inc
new file mode 100644
index 000000000..87d278099
--- /dev/null
+++ b/data/scripts/maps/RustboroCity_House3.inc
@@ -0,0 +1,36 @@
+RustboroCity_House3_MapScripts:: @ 8216190
+ .byte 0
+
+RustboroCity_House3_EventScript_216191:: @ 8216191
+ msgbox RustboroCity_House3_Text_2161B6, 2
+ end
+
+RustboroCity_House3_EventScript_21619A:: @ 821619A
+ msgbox RustboroCity_House3_Text_21622A, 2
+ end
+
+RustboroCity_House3_EventScript_2161A3:: @ 82161A3
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_PIKACHU, 0
+ msgbox RustboroCity_House3_Text_2162AB, 4
+ waitmoncry
+ release
+ end
+
+RustboroCity_House3_Text_2161B6: @ 82161B6
+ .string "For my own POKéMON, I give them\n"
+ .string "perfectly suited nicknames!\p"
+ .string "It’s my expression of, uh…\n"
+ .string "originality, yes, that’s it!$"
+
+RustboroCity_House3_Text_21622A: @ 821622A
+ .string "But giving the name PEKACHU to\n"
+ .string "a PIKACHU? It seems pointless.\p"
+ .string "I suppose it is good to use a name\n"
+ .string "that’s easy to understand, but…$"
+
+RustboroCity_House3_Text_2162AB: @ 82162AB
+ .string "PEKACHU: Peka!$"
+
diff --git a/data/scripts/maps/RustboroCity_Mart.inc b/data/scripts/maps/RustboroCity_Mart.inc
new file mode 100644
index 000000000..daa445a0e
--- /dev/null
+++ b/data/scripts/maps/RustboroCity_Mart.inc
@@ -0,0 +1,89 @@
+RustboroCity_Mart_MapScripts:: @ 8214F05
+ .byte 0
+
+RustboroCity_Mart_EventScript_214F06:: @ 8214F06
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ checkflag FLAG_0x11F
+ goto_if 0, RustboroCity_Mart_EventScript_214F21
+ checkflag FLAG_0x11F
+ goto_eq RustboroCity_Mart_EventScript_214F48
+ end
+
+RustboroCity_Mart_EventScript_214F21:: @ 8214F21
+ pokemart RustboroCity_Mart_Pokemart_214F30
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+RustboroCity_Mart_Pokemart_214F30: @ 8214F30
+ .2byte ITEM_POKE_BALL
+ .2byte ITEM_POTION
+ .2byte ITEM_SUPER_POTION
+ .2byte ITEM_ANTIDOTE
+ .2byte ITEM_PARALYZE_HEAL
+ .2byte ITEM_ESCAPE_ROPE
+ .2byte ITEM_REPEL
+ .2byte ITEM_X_SPEED
+ .2byte ITEM_X_ATTACK
+ .2byte ITEM_X_DEFEND
+ .2byte ITEM_NONE
+ release
+ end
+
+RustboroCity_Mart_EventScript_214F48:: @ 8214F48
+ pokemart RustboroCity_Mart_Pokemart_214F58
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+RustboroCity_Mart_Pokemart_214F58: @ 8214F58
+ .2byte ITEM_POKE_BALL
+ .2byte ITEM_TIMER_BALL
+ .2byte ITEM_REPEAT_BALL
+ .2byte ITEM_POTION
+ .2byte ITEM_SUPER_POTION
+ .2byte ITEM_ANTIDOTE
+ .2byte ITEM_PARALYZE_HEAL
+ .2byte ITEM_ESCAPE_ROPE
+ .2byte ITEM_REPEL
+ .2byte ITEM_X_SPEED
+ .2byte ITEM_X_ATTACK
+ .2byte ITEM_X_DEFEND
+ .2byte ITEM_NONE
+ release
+ end
+
+RustboroCity_Mart_EventScript_214F74:: @ 8214F74
+ msgbox RustboroCity_Mart_Text_214F8F, 2
+ end
+
+RustboroCity_Mart_EventScript_214F7D:: @ 8214F7D
+ msgbox RustboroCity_Mart_Text_214FF1, 2
+ end
+
+RustboroCity_Mart_EventScript_214F86:: @ 8214F86
+ msgbox RustboroCity_Mart_Text_21505C, 2
+ end
+
+RustboroCity_Mart_Text_214F8F: @ 8214F8F
+ .string "I’m buying some PARLYZ HEALS and\n"
+ .string "ANTIDOTES.\p"
+ .string "Just in case I run into SHROOMISH\n"
+ .string "in PETALBURG WOODS.$"
+
+RustboroCity_Mart_Text_214FF1: @ 8214FF1
+ .string "My POKéMON evolved.\n"
+ .string "It has a lot of HP now.\p"
+ .string "I should buy SUPER POTIONS for it\n"
+ .string "instead of ordinary POTIONS.$"
+
+RustboroCity_Mart_Text_21505C: @ 821505C
+ .string "I’m getting an ESCAPE ROPE just in\n"
+ .string "case I get lost in a cave.\p"
+ .string "I just need to use it to get back to\n"
+ .string "the entrance.$"
+
diff --git a/data/scripts/maps/RustboroCity_PokemonCenter_1F.inc b/data/scripts/maps/RustboroCity_PokemonCenter_1F.inc
new file mode 100644
index 000000000..a9156d5aa
--- /dev/null
+++ b/data/scripts/maps/RustboroCity_PokemonCenter_1F.inc
@@ -0,0 +1,47 @@
+RustboroCity_PokemonCenter_1F_MapScripts:: @ 8214D62
+ map_script 3, RustboroCity_PokemonCenter_1F_MapScript1_214D6D
+ map_script 5, RustboroCity_PokemonCenter_1F_MapScript1_277C30
+ .byte 0
+
+RustboroCity_PokemonCenter_1F_MapScript1_214D6D: @ 8214D6D
+ setrespawn 6
+ call RustboroCity_PokemonCenter_1F_EventScript_2718DE
+ end
+
+RustboroCity_PokemonCenter_1F_EventScript_214D76:: @ 8214D76
+ setvar VAR_0x800B, 1
+ call RustboroCity_PokemonCenter_1F_EventScript_27191E
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+RustboroCity_PokemonCenter_1F_EventScript_214D84:: @ 8214D84
+ msgbox RustboroCity_PokemonCenter_1F_Text_214D9F, 2
+ end
+
+RustboroCity_PokemonCenter_1F_EventScript_214D8D:: @ 8214D8D
+ msgbox RustboroCity_PokemonCenter_1F_Text_214E13, 2
+ end
+
+RustboroCity_PokemonCenter_1F_EventScript_214D96:: @ 8214D96
+ msgbox RustboroCity_PokemonCenter_1F_Text_214E81, 2
+ end
+
+RustboroCity_PokemonCenter_1F_Text_214D9F: @ 8214D9F
+ .string "My POKéMON has a NAIVE nature, and my\n"
+ .string "friend’s has a JOLLY nature.\p"
+ .string "It’s fascinating how POKéMON have\n"
+ .string "personalities!$"
+
+RustboroCity_PokemonCenter_1F_Text_214E13: @ 8214E13
+ .string "Just like people, there are male and\n"
+ .string "female POKéMON.\p"
+ .string "But no one seems to have any idea how\n"
+ .string "they’re different.$"
+
+RustboroCity_PokemonCenter_1F_Text_214E81: @ 8214E81
+ .string "The man next door gave me an HM!\p"
+ .string "I used it to teach my POKéMON how to\n"
+ .string "CUT down skinny trees.$"
+
diff --git a/data/scripts/maps/RustboroCity_PokemonCenter_2F.inc b/data/scripts/maps/RustboroCity_PokemonCenter_2F.inc
new file mode 100644
index 000000000..a1bdeba5b
--- /dev/null
+++ b/data/scripts/maps/RustboroCity_PokemonCenter_2F.inc
@@ -0,0 +1,19 @@
+RustboroCity_PokemonCenter_2F_MapScripts:: @ 8214EDE
+ map_script 2, RustboroCity_PokemonCenter_2F_MapScript2_276C3B
+ map_script 4, RustboroCity_PokemonCenter_2F_MapScript2_276B6C
+ map_script 1, RustboroCity_PokemonCenter_2F_MapScript1_276BBE
+ map_script 3, RustboroCity_PokemonCenter_2F_MapScript1_276ACF
+ .byte 0
+
+RustboroCity_PokemonCenter_2F_EventScript_214EF3:: @ 8214EF3
+ call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+ end
+
+RustboroCity_PokemonCenter_2F_EventScript_214EF9:: @ 8214EF9
+ call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+ end
+
+RustboroCity_PokemonCenter_2F_EventScript_214EFF:: @ 8214EFF
+ call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+ end
+
diff --git a/data/scripts/maps/RustboroCity_PokemonSchool.inc b/data/scripts/maps/RustboroCity_PokemonSchool.inc
new file mode 100644
index 000000000..1caf78524
--- /dev/null
+++ b/data/scripts/maps/RustboroCity_PokemonSchool.inc
@@ -0,0 +1,359 @@
+RustboroCity_PokemonSchool_MapScripts:: @ 8213EA8
+ .byte 0
+
+RustboroCity_PokemonSchool_EventScript_213EA9:: @ 8213EA9
+ lockall
+ msgbox RustboroCity_PokemonSchool_Text_2140B2, 4
+ goto RustboroCity_PokemonSchool_EventScript_213EB8
+ end
+
+RustboroCity_PokemonSchool_EventScript_213EB8:: @ 8213EB8
+ message RustboroCity_PokemonSchool_Text_2140F9
+ waitmessage
+ multichoicegrid 8, 1, 13, 3, 0
+ switch VAR_RESULT
+ case 0, RustboroCity_PokemonSchool_EventScript_213F17
+ case 1, RustboroCity_PokemonSchool_EventScript_213F25
+ case 2, RustboroCity_PokemonSchool_EventScript_213F33
+ case 3, RustboroCity_PokemonSchool_EventScript_213F41
+ case 4, RustboroCity_PokemonSchool_EventScript_213F4F
+ case 5, RustboroCity_PokemonSchool_EventScript_213F5D
+ case 127, RustboroCity_PokemonSchool_EventScript_213F5D
+ end
+
+RustboroCity_PokemonSchool_EventScript_213F17:: @ 8213F17
+ msgbox RustboroCity_PokemonSchool_Text_21411A, 4
+ goto RustboroCity_PokemonSchool_EventScript_213EB8
+ end
+
+RustboroCity_PokemonSchool_EventScript_213F25:: @ 8213F25
+ msgbox RustboroCity_PokemonSchool_Text_2141D8, 4
+ goto RustboroCity_PokemonSchool_EventScript_213EB8
+ end
+
+RustboroCity_PokemonSchool_EventScript_213F33:: @ 8213F33
+ msgbox RustboroCity_PokemonSchool_Text_21427D, 4
+ goto RustboroCity_PokemonSchool_EventScript_213EB8
+ end
+
+RustboroCity_PokemonSchool_EventScript_213F41:: @ 8213F41
+ msgbox RustboroCity_PokemonSchool_Text_214336, 4
+ goto RustboroCity_PokemonSchool_EventScript_213EB8
+ end
+
+RustboroCity_PokemonSchool_EventScript_213F4F:: @ 8213F4F
+ msgbox RustboroCity_PokemonSchool_Text_2143B8, 4
+ goto RustboroCity_PokemonSchool_EventScript_213EB8
+ end
+
+RustboroCity_PokemonSchool_EventScript_213F5D:: @ 8213F5D
+ releaseall
+ end
+
+RustboroCity_PokemonSchool_EventScript_213F5F:: @ 8213F5F
+ msgbox RustboroCity_PokemonSchool_Text_21459F, 2
+ end
+
+RustboroCity_PokemonSchool_EventScript_213F68:: @ 8213F68
+ msgbox RustboroCity_PokemonSchool_Text_2145CD, 2
+ end
+
+RustboroCity_PokemonSchool_EventScript_213F71:: @ 8213F71
+ msgbox RustboroCity_PokemonSchool_Text_214604, 2
+ end
+
+RustboroCity_PokemonSchool_EventScript_213F7A:: @ 8213F7A
+ msgbox RustboroCity_PokemonSchool_Text_214669, 2
+ end
+
+RustboroCity_PokemonSchool_EventScript_213F83:: @ 8213F83
+ msgbox RustboroCity_PokemonSchool_Text_214719, 2
+ end
+
+RustboroCity_PokemonSchool_EventScript_213F8C:: @ 8213F8C
+ msgbox RustboroCity_PokemonSchool_Text_2147A2, 3
+ end
+
+RustboroCity_PokemonSchool_EventScript_213F95:: @ 8213F95
+ lock
+ faceplayer
+ checkflag FLAG_0x113
+ goto_eq RustboroCity_PokemonSchool_EventScript_213FFB
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, RustboroCity_PokemonSchool_EventScript_213FE5
+ compare_var_to_value VAR_FACING, 3
+ call_if 1, RustboroCity_PokemonSchool_EventScript_213FF0
+ msgbox RustboroCity_PokemonSchool_Text_214433, 4
+ giveitem_std ITEM_QUICK_CLAW
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq RustboroCity_PokemonSchool_EventScript_272054
+ closemessage
+ applymovement VAR_LAST_TALKED, RustboroCity_PokemonSchool_Movement_2725AA
+ waitmovement 0
+ setflag FLAG_0x113
+ release
+ end
+
+RustboroCity_PokemonSchool_EventScript_213FE5:: @ 8213FE5
+ applymovement VAR_LAST_TALKED, RustboroCity_PokemonSchool_Movement_214027
+ waitmovement 0
+ return
+
+RustboroCity_PokemonSchool_EventScript_213FF0:: @ 8213FF0
+ applymovement VAR_LAST_TALKED, RustboroCity_PokemonSchool_Movement_214010
+ waitmovement 0
+ return
+
+RustboroCity_PokemonSchool_EventScript_213FFB:: @ 8213FFB
+ msgbox RustboroCity_PokemonSchool_Text_2144C8, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, RustboroCity_PokemonSchool_Movement_2725AA
+ waitmovement 0
+ release
+ end
+
+RustboroCity_PokemonSchool_Movement_214010: @ 8214010
+ step_left
+ step_down
+ step_down
+ step_right
+ step_25
+ step_14
+ step_14
+ step_14
+ step_down
+ step_27
+ step_14
+ step_14
+ step_right
+ step_14
+ step_14
+ step_13
+ step_up
+ step_left
+ step_left
+ step_up
+ step_up
+ step_right
+ step_end
+
+RustboroCity_PokemonSchool_Movement_214027: @ 8214027
+ step_right
+ step_right
+ step_down
+ step_down
+ step_left
+ step_left
+ step_25
+ step_14
+ step_14
+ step_14
+ step_down
+ step_27
+ step_14
+ step_14
+ step_right
+ step_14
+ step_14
+ step_13
+ step_up
+ step_right
+ step_up
+ step_up
+ step_left
+ step_left
+ step_end
+
+RustboroCity_PokemonSchool_EventScript_214040:: @ 8214040
+ lock
+ faceplayer
+ checkflag FLAG_0x1CB
+ goto_eq RustboroCity_PokemonSchool_EventScript_2140A8
+ checkflag FLAG_0x136
+ goto_eq RustboroCity_PokemonSchool_EventScript_21406F
+ checkflag FLAG_BADGE01_GET
+ goto_eq RustboroCity_PokemonSchool_EventScript_214082
+ msgbox RustboroCity_PokemonSchool_Text_2148C0, 4
+ addvar VAR_0x40D1, 1
+ setflag FLAG_0x136
+ release
+ end
+
+RustboroCity_PokemonSchool_EventScript_21406F:: @ 821406F
+ checkflag FLAG_BADGE01_GET
+ goto_eq RustboroCity_PokemonSchool_EventScript_214090
+ msgbox RustboroCity_PokemonSchool_Text_214A5F, 4
+ release
+ end
+
+RustboroCity_PokemonSchool_EventScript_214082:: @ 8214082
+ msgbox RustboroCity_PokemonSchool_Text_214B8A, 4
+ goto RustboroCity_PokemonSchool_EventScript_21409E
+ end
+
+RustboroCity_PokemonSchool_EventScript_214090:: @ 8214090
+ msgbox RustboroCity_PokemonSchool_Text_214AB6, 4
+ goto RustboroCity_PokemonSchool_EventScript_21409E
+ end
+
+RustboroCity_PokemonSchool_EventScript_21409E:: @ 821409E
+ addvar VAR_0x40D1, 1
+ setflag FLAG_0x1CB
+ release
+ end
+
+RustboroCity_PokemonSchool_EventScript_2140A8:: @ 82140A8
+ msgbox RustboroCity_PokemonSchool_Text_214A5F, 4
+ release
+ end
+
+RustboroCity_PokemonSchool_Text_2140B2: @ 82140B2
+ .string "The blackboard lists status changes\n"
+ .string "that may affect POKéMON in battle.$"
+
+RustboroCity_PokemonSchool_Text_2140F9: @ 82140F9
+ .string "Which topic do you want to read?$"
+
+RustboroCity_PokemonSchool_Text_21411A: @ 821411A
+ .string "If a POKéMON is poisoned, it will\n"
+ .string "steadily lose HP.\p"
+ .string "The effects of poison remain after\n"
+ .string "a battle.\p"
+ .string "A poisoned POKéMON’s HP will drop\n"
+ .string "while it is traveling.\p"
+ .string "Heal a poisoning using an ANTIDOTE.$"
+
+RustboroCity_PokemonSchool_Text_2141D8: @ 82141D8
+ .string "If a POKéMON becomes paralyzed,\n"
+ .string "its SPEED drops.\p"
+ .string "It may also not be able to move while\n"
+ .string "it is in battle.\p"
+ .string "Paralysis remains after battle.\n"
+ .string "Cure it using a PARLYZ HEAL.$"
+
+RustboroCity_PokemonSchool_Text_21427D: @ 821427D
+ .string "If a POKéMON falls asleep, it will be\n"
+ .string "unable to attack.\p"
+ .string "A POKéMON may wake up on its own,\n"
+ .string "but if a battle ends while it is\l"
+ .string "sleeping, it will stay asleep.\p"
+ .string "Wake it up using an AWAKENING.$"
+
+RustboroCity_PokemonSchool_Text_214336: @ 8214336
+ .string "A burn reduces ATTACK power, and it\n"
+ .string "steadily reduces the victim’s HP.\p"
+ .string "A burn lingers after battle.\n"
+ .string "Cure a burn using a BURN HEAL.$"
+
+RustboroCity_PokemonSchool_Text_2143B8: @ 82143B8
+ .string "If a POKéMON is frozen, it becomes\n"
+ .string "completely helpless.\p"
+ .string "It will remain frozen after battle.\n"
+ .string "Thaw it out using an ICE HEAL.$"
+
+RustboroCity_PokemonSchool_Text_214433: @ 8214433
+ .string "Students who don’t study get a little\n"
+ .string "taste of my QUICK CLAW.\p"
+ .string "Whether or not you are a good student \n"
+ .string "will be evident from the way you use\l"
+ .string "this item.$"
+
+RustboroCity_PokemonSchool_Text_2144C8: @ 82144C8
+ .string "A POKéMON holding the QUICK CLAW will\n"
+ .string "occasionally speed up and get to move\l"
+ .string "before its opponent.\p"
+ .string "There are many other items that are\n"
+ .string "meant to be held by POKéMON.\p"
+ .string "Just those alone will give you many\n"
+ .string "topics to study!$"
+
+RustboroCity_PokemonSchool_Text_21459F: @ 821459F
+ .string "I’m trading POKéMON with my friend\n"
+ .string "right now.$"
+
+RustboroCity_PokemonSchool_Text_2145CD: @ 82145CD
+ .string "I always wanted a SEEDOT, and\n"
+ .string "I’m finally getting one!$"
+
+RustboroCity_PokemonSchool_Text_214604: @ 8214604
+ .string "POKéMON can hold items, but they\n"
+ .string "don’t know what to do with man-made\l"
+ .string "items like POTION and ANTIDOTE.$"
+
+RustboroCity_PokemonSchool_Text_214669: @ 8214669
+ .string "You know how some POKéMON moves can\n"
+ .string "confuse a POKéMON?\p"
+ .string "A confused POKéMON will sometimes\n"
+ .string "attack itself without meaning to.\p"
+ .string "But once it leaves battle, it will\n"
+ .string "return to normal.$"
+
+RustboroCity_PokemonSchool_Text_214719: @ 8214719
+ .string "A POKéMON holding a BERRY will heal\n"
+ .string "itself…\p"
+ .string "There are many kinds of items that\n"
+ .string "POKéMON can hold…\p"
+ .string "Boy, it sure is hard taking notes\n"
+ .string "down…$"
+
+RustboroCity_PokemonSchool_Text_2147A2: @ 82147A2
+ .string "It’s this student’s notebook…\p"
+ .string "POKéMON are to be caught using\n"
+ .string "POKé BALLS.\p"
+ .string "Up to six POKéMON can accompany\n"
+ .string "a TRAINER.\p"
+ .string "A TRAINER is someone who catches\n"
+ .string "POKéMON, raises them, and battles\l"
+ .string "with them.\p"
+ .string "A TRAINER’s mission is to defeat\n"
+ .string "the strong TRAINERS who await\l"
+ .string "challengers in POKéMON GYMS.$"
+
+RustboroCity_PokemonSchool_Text_2148C0: @ 82148C0
+ .string "Hello? Didn’t we meet before?\n"
+ .string "I think back in PETALBURG CITY.\p"
+ .string "Let me introduce myself.\n"
+ .string "My name’s SCOTT.\p"
+ .string "I’ve been traveling everywhere in\n"
+ .string "search of outstanding TRAINERS.\p"
+ .string "More specifically, I’m looking for\n"
+ .string "POKéMON battle experts.\p"
+ .string "So, what brings you to this SCHOOL?\n"
+ .string "Are you a TRAINER, too?\p"
+ .string "The first thing you should do is to\n"
+ .string "have a POKéMON learn the move CUT.\p"
+ .string "If I remember correctly, someone in\n"
+ .string "this town has CUT.$"
+
+RustboroCity_PokemonSchool_Text_214A5F: @ 8214A5F
+ .string "SCOTT: Hmm…\p"
+ .string "The talent levels of the students here\n"
+ .string "are unknown. The potential’s there.$"
+
+RustboroCity_PokemonSchool_Text_214AB6: @ 8214AB6
+ .string "SCOTT: Oh, what’s that?\p"
+ .string "It’s a STONE BADGE, isn’t it?\n"
+ .string "That’s pretty impressive, I’d say.\p"
+ .string "But, you know, I would’ve loved to see\n"
+ .string "you in battle.\p"
+ .string "It’s hard to tell what you’re like as\n"
+ .string "a TRAINER from a LEAGUE BADGE.$"
+
+RustboroCity_PokemonSchool_Text_214B8A: @ 8214B8A
+ .string "Hello? Didn’t we meet before?\n"
+ .string "I think back in PETALBURG CITY.\p"
+ .string "Let me introduce myself.\n"
+ .string "My name’s SCOTT.\p"
+ .string "I’ve been traveling everywhere in\n"
+ .string "search of outstanding TRAINERS.\p"
+ .string "More specifically, I’m looking for\n"
+ .string "POKéMON battle experts.\p"
+ .string "Oh, what’s that?\n"
+ .string "It’s a STONE BADGE, isn’t it?\p"
+ .string "That’s pretty impressive, I’d say, for\n"
+ .string "a starting TRAINER like yourself.\p"
+ .string "But, you know, I would’ve loved to see\n"
+ .string "you in battle.\p"
+ .string "It’s hard to tell what you’re like as\n"
+ .string "a TRAINER from a LEAGUE BADGE.$"
+
diff --git a/data/scripts/maps/RusturfTunnel.inc b/data/scripts/maps/RusturfTunnel.inc
new file mode 100644
index 000000000..25913300c
--- /dev/null
+++ b/data/scripts/maps/RusturfTunnel.inc
@@ -0,0 +1,539 @@
+RusturfTunnel_MapScripts:: @ 822CE27
+ map_script 3, RusturfTunnel_MapScript1_22CE44
+ map_script 2, RusturfTunnel_MapScript2_22CE32
+ .byte 0
+
+RusturfTunnel_MapScript2_22CE32: @ 822CE32
+ map_script_2 VAR_0x409A, 4, RusturfTunnel_EventScript_22CEAE
+ map_script_2 VAR_0x409A, 5, RusturfTunnel_EventScript_22CEAE
+ .2byte 0
+
+RusturfTunnel_MapScript1_22CE44: @ 822CE44
+ compare_var_to_value VAR_0x409A, 2
+ call_if 1, RusturfTunnel_EventScript_22CE50
+ end
+
+RusturfTunnel_EventScript_22CE50:: @ 822CE50
+ setobjectxyperm 7, 13, 4
+ setobjectxyperm 6, 13, 5
+ return
+
+RusturfTunnel_EventScript_22CE5F:: @ 822CE5F
+ lock
+ faceplayer
+ msgbox RusturfTunnel_Text_22D7A3, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, RusturfTunnel_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+RusturfTunnel_EventScript_22CE76:: @ 822CE76
+ lock
+ faceplayer
+ checkflag FLAG_0x001
+ goto_eq RusturfTunnel_EventScript_22CE99
+ setflag FLAG_0x001
+ msgbox RusturfTunnel_Text_22D510, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, RusturfTunnel_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+RusturfTunnel_EventScript_22CE99:: @ 822CE99
+ msgbox RusturfTunnel_Text_22D5F3, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, RusturfTunnel_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+RusturfTunnel_EventScript_22CEAE:: @ 822CEAE
+ lockall
+ compare_var_to_value VAR_0x4001, 1
+ call_if 1, RusturfTunnel_EventScript_22CFA7
+ compare_var_to_value VAR_0x4001, 2
+ call_if 1, RusturfTunnel_EventScript_22CFBC
+ compare_var_to_value VAR_0x4001, 3
+ call_if 1, RusturfTunnel_EventScript_22CFC7
+ call RusturfTunnel_EventScript_22CFFF
+ msgbox RusturfTunnel_Text_22D65C, 4
+ compare_var_to_value VAR_0x4001, 2
+ call_if 1, RusturfTunnel_EventScript_22CFC8
+ compare_var_to_value VAR_0x4001, 3
+ call_if 1, RusturfTunnel_EventScript_22CFC8
+ giveitem_std ITEM_HM04
+ setflag FLAG_0x06A
+ msgbox RusturfTunnel_Text_22D6D2, 4
+ closemessage
+ compare_var_to_value VAR_0x4001, 1
+ call_if 1, RusturfTunnel_EventScript_22CF5D
+ compare_var_to_value VAR_0x4001, 2
+ call_if 1, RusturfTunnel_EventScript_22CF6F
+ compare_var_to_value VAR_0x4001, 3
+ call_if 1, RusturfTunnel_EventScript_22CF8B
+ msgbox RusturfTunnel_Text_22D745, 4
+ closemessage
+ compare_var_to_value VAR_0x4001, 1
+ call_if 1, RusturfTunnel_EventScript_22CFD4
+ compare_var_to_value VAR_0x4001, 2
+ call_if 1, RusturfTunnel_EventScript_22CFE6
+ compare_var_to_value VAR_0x4001, 3
+ call_if 1, RusturfTunnel_EventScript_22CFE6
+ call RusturfTunnel_EventScript_272216
+ releaseall
+ end
+
+RusturfTunnel_EventScript_22CF5D:: @ 822CF5D
+ applymovement 255, RusturfTunnel_Movement_22D042
+ applymovement 1, RusturfTunnel_Movement_22D067
+ waitmovement 0
+ return
+
+RusturfTunnel_EventScript_22CF6F:: @ 822CF6F
+ applymovement 255, RusturfTunnel_Movement_22D045
+ applymovement 1, RusturfTunnel_Movement_22D06C
+ waitmovement 0
+ applymovement 10, RusturfTunnel_Movement_2725AA
+ waitmovement 0
+ return
+
+RusturfTunnel_EventScript_22CF8B:: @ 822CF8B
+ applymovement 255, RusturfTunnel_Movement_22D045
+ applymovement 1, RusturfTunnel_Movement_22D06C
+ waitmovement 0
+ applymovement 10, RusturfTunnel_Movement_2725AA
+ waitmovement 0
+ return
+
+RusturfTunnel_EventScript_22CFA7:: @ 822CFA7
+ applymovement 1, RusturfTunnel_Movement_2725A6
+ waitmovement 0
+ applymovement 255, RusturfTunnel_Movement_2725AA
+ waitmovement 0
+ return
+
+RusturfTunnel_EventScript_22CFBC:: @ 822CFBC
+ applymovement 1, RusturfTunnel_Movement_22D048
+ waitmovement 0
+ return
+
+RusturfTunnel_EventScript_22CFC7:: @ 822CFC7
+ return
+
+RusturfTunnel_EventScript_22CFC8:: @ 822CFC8
+ closemessage
+ applymovement 1, RusturfTunnel_Movement_22D065
+ waitmovement 0
+ return
+
+RusturfTunnel_EventScript_22CFD4:: @ 822CFD4
+ applymovement 10, RusturfTunnel_Movement_22D017
+ applymovement 1, RusturfTunnel_Movement_22D04B
+ waitmovement 0
+ return
+
+RusturfTunnel_EventScript_22CFE6:: @ 822CFE6
+ applymovement 255, RusturfTunnel_Movement_22D02F
+ applymovement 10, RusturfTunnel_Movement_22D023
+ applymovement 1, RusturfTunnel_Movement_22D058
+ waitmovement 0
+ return
+
+RusturfTunnel_EventScript_22CFFF:: @ 822CFFF
+ playse SE_PIN
+ applymovement 1, RusturfTunnel_Movement_272598
+ waitmovement 0
+ applymovement 1, RusturfTunnel_Movement_27259A
+ waitmovement 0
+ return
+
+RusturfTunnel_Movement_22D017: @ 822D017
+ step_right
+ step_right
+ step_right
+ step_right
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+RusturfTunnel_Movement_22D023: @ 822D023
+ step_right
+ step_right
+ step_right
+ step_right
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+RusturfTunnel_Movement_22D02F: @ 822D02F
+ step_13
+ step_26
+ step_14
+ step_14
+ step_28
+ step_end
+
+RusturfTunnel_Movement_22D035: @ 822D035
+ step_left
+ step_28
+ step_end
+
+RusturfTunnel_Movement_22D038: @ 822D038
+ step_down
+ step_26
+ step_13
+ step_28
+ step_end
+
+RusturfTunnel_Movement_22D03D: @ 822D03D
+ step_up
+ step_25
+ step_13
+ step_28
+ step_end
+
+RusturfTunnel_Movement_22D042: @ 822D042
+ step_left
+ step_28
+ step_end
+
+RusturfTunnel_Movement_22D045: @ 822D045
+ step_right
+ step_27
+ step_end
+
+RusturfTunnel_Movement_22D048: @ 822D048
+ step_up
+ step_28
+ step_end
+
+RusturfTunnel_Movement_22D04B: @ 822D04B
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+RusturfTunnel_Movement_22D058: @ 822D058
+ step_up
+ step_right
+ step_right
+ step_right
+ step_right
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+RusturfTunnel_Movement_22D065: @ 822D065
+ step_right
+ step_end
+
+RusturfTunnel_Movement_22D067: @ 822D067
+ step_22
+ step_22
+ step_16
+ step_18
+ step_end
+
+RusturfTunnel_Movement_22D06C: @ 822D06C
+ step_24
+ step_24
+ step_18
+ step_26
+ step_end
+
+RusturfTunnel_EventScript_22D071:: @ 822D071
+ setvar VAR_0x4001, 1
+ end
+
+RusturfTunnel_EventScript_22D077:: @ 822D077
+ setvar VAR_0x4001, 2
+ end
+
+RusturfTunnel_EventScript_22D07D:: @ 822D07D
+ setvar VAR_0x4001, 3
+ end
+
+RusturfTunnel_EventScript_22D083:: @ 822D083
+ lockall
+ msgbox RusturfTunnel_Text_22D1C8, 4
+ closemessage
+ applymovement 6, RusturfTunnel_Movement_22D0AB
+ applymovement 7, RusturfTunnel_Movement_22D0AB
+ waitmovement 0
+ moveobjectoffscreen 6
+ moveobjectoffscreen 7
+ setvar VAR_0x409A, 3
+ releaseall
+ end
+
+RusturfTunnel_Movement_22D0AB: @ 822D0AB
+ step_40
+ step_right
+ step_41
+ step_end
+
+RusturfTunnel_EventScript_22D0AF:: @ 822D0AF
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_WINGULL, 0
+ msgbox RusturfTunnel_Text_22D1F7, 4
+ waitmoncry
+ release
+ end
+
+RusturfTunnel_EventScript_22D0C2:: @ 822D0C2
+ lock
+ faceplayer
+ playbgm BGM_AQA_0, 0
+ msgbox RusturfTunnel_Text_22D20A, 4
+ trainerbattle 3, TRAINER_GRUNT_10, 0, RusturfTunnel_Text_22D2B0
+ msgbox RusturfTunnel_Text_22D2E1, 4
+ giveitem_std ITEM_DEVON_GOODS
+ closemessage
+ applymovement 255, RusturfTunnel_Movement_22D178
+ applymovement 6, RusturfTunnel_Movement_22D181
+ waitmovement 0
+ removeobject 6
+ delay 50
+ addobject 5
+ applymovement 5, RusturfTunnel_Movement_22D18B
+ waitmovement 0
+ applymovement 255, RusturfTunnel_Movement_22D17E
+ applymovement 5, RusturfTunnel_Movement_22D1A4
+ waitmovement 0
+ msgbox RusturfTunnel_Text_22D395, 4
+ applymovement 5, RusturfTunnel_Movement_27259E
+ waitmovement 0
+ message RusturfTunnel_Text_22D3BA
+ waitmessage
+ waitse
+ playmoncry SPECIES_WINGULL, 0
+ waitbuttonpress
+ waitmoncry
+ closemessage
+ applymovement 255, RusturfTunnel_Movement_22D19F
+ applymovement 5, RusturfTunnel_Movement_22D193
+ applymovement 7, RusturfTunnel_Movement_22D1A7
+ waitmovement 0
+ removeobject 5
+ removeobject 7
+ clearflag FLAG_0x08E
+ setflag FLAG_0x08F
+ setvar VAR_0x405A, 4
+ setvar VAR_0x4090, 1
+ setflag FLAG_0x37B
+ release
+ end
+
+RusturfTunnel_Movement_22D178: @ 822D178
+ step_00
+ step_40
+ step_up
+ step_41
+ step_27
+ step_end
+
+RusturfTunnel_Movement_22D17E: @ 822D17E
+ step_down
+ step_26
+ step_end
+
+RusturfTunnel_Movement_22D181: @ 822D181
+ step_17
+ step_17
+ step_17
+ step_17
+ step_17
+ step_17
+ step_17
+ step_17
+ step_17
+ step_end
+
+RusturfTunnel_Movement_22D18B: @ 822D18B
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+RusturfTunnel_Movement_22D193: @ 822D193
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+RusturfTunnel_Movement_22D19F: @ 822D19F
+ step_14
+ step_13
+ step_12
+ step_27
+ step_end
+
+RusturfTunnel_Movement_22D1A4: @ 822D1A4
+ step_14
+ step_right
+ step_end
+
+RusturfTunnel_Movement_22D1A7: @ 822D1A7
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+RusturfTunnel_EventScript_22D1B1:: @ 822D1B1
+ trainerbattle 0, TRAINER_MIKE_2, 0, RusturfTunnel_Text_22D84D, RusturfTunnel_Text_22D8DB
+ msgbox RusturfTunnel_Text_22D8F9, 6
+ end
+
+RusturfTunnel_Text_22D1C8: @ 822D1C8
+ .string "What, are you coming?\n"
+ .string "Come and get some, then!$"
+
+RusturfTunnel_Text_22D1F7: @ 822D1F7
+ .string "PEEKO: Pii pihyoh!$"
+
+RusturfTunnel_Text_22D20A: @ 822D20A
+ .string "Grah, keelhaul it all!\p"
+ .string "That hostage POKéMON turned out to\n"
+ .string "be worthless!\p"
+ .string "And to think I made a getaway…\n"
+ .string "In this tunnel to nowhere!\p"
+ .string "Hey! You!\n"
+ .string "So you want to battle me?$"
+
+RusturfTunnel_Text_22D2B0: @ 822D2B0
+ .string "Urrrggh! My career in crime comes to\n"
+ .string "a dead end!$"
+
+RusturfTunnel_Text_22D2E1: @ 822D2E1
+ .string "This is plain not right…\p"
+ .string "The BOSS told me this would be a\n"
+ .string "slick-and-easy job to pull.\p"
+ .string "All I had to do was steal some package\n"
+ .string "from DEVON.\p"
+ .string "Tch!\n"
+ .string "You want it back that badly, take it!$"
+
+RusturfTunnel_Text_22D395: @ 822D395
+ .string "PEEKO!\n"
+ .string "Am I glad to see you’re safe!$"
+
+RusturfTunnel_Text_22D3BA: @ 822D3BA
+ .string "PEEKO owes her life to you!\p"
+ .string "They call me MR. BRINEY.\n"
+ .string "And, you are?\p"
+ .string "… … … … … … … …\n"
+ .string "… … … … … … … …\p"
+ .string "Ah, so you are {PLAYER}{KUN}!\n"
+ .string "I sincerely thank you!\p"
+ .string "Now, if there’s anything that troubles\n"
+ .string "you, don’t hesitate to tell me!\p"
+ .string "You can usually find me in my cottage\n"
+ .string "by the sea near PETALBURG WOODS.\p"
+ .string "Come, PEEKO, we should make our way\n"
+ .string "home.\p"
+ .string "PEEKO: Pihyoh!$"
+
+RusturfTunnel_Text_22D510: @ 822D510
+ .string "… …\p"
+ .string "Why can’t they keep digging?\n"
+ .string "Is the bedrock too hard?\p"
+ .string "My beloved awaits me in VERDANTURF\n"
+ .string "TOWN just beyond here…\p"
+ .string "If RUSTBORO and VERDANTURF were\n"
+ .string "joined by this tunnel, I could visit\l"
+ .string "her every day…\p"
+ .string "But this…\n"
+ .string "What am I to do?$"
+
+RusturfTunnel_Text_22D5F3: @ 822D5F3
+ .string "To get from RUSTBORO to VERDANTURF,\n"
+ .string "you need to go to DEWFORD, then pass\l"
+ .string "through SLATEPORT and MAUVILLE…$"
+
+RusturfTunnel_Text_22D65C: @ 822D65C
+ .string "Wow! You shattered that boulder\n"
+ .string "blocking the way.\p"
+ .string "To show you how much I appreciate it,\n"
+ .string "I’d like you to have this HM.$"
+
+RusturfTunnel_Text_22D6D2: @ 822D6D2
+ .string "That HM contains STRENGTH.\p"
+ .string "If a muscular POKéMON were to learn\n"
+ .string "that, it would be able to move even\l"
+ .string "large boulders.$"
+
+RusturfTunnel_Text_22D745: @ 822D745
+ .string "WANDA!\n"
+ .string "Now I can see you anytime!\p"
+ .string "WANDA: That’s…wonderful.\p"
+ .string "Please, take some rest at my home.$"
+
+RusturfTunnel_Text_22D7A3: @ 822D7A3
+ .string "On the other side of this rock…\n"
+ .string "My boyfriend is there.\p"
+ .string "He… He’s not just digging the tunnel\n"
+ .string "to come see me.\p"
+ .string "He works his hands raw and rough\n"
+ .string "for the benefit of everyone.$"
+
+RusturfTunnel_Text_22D84D: @ 822D84D
+ .string "What do you call a wild man up in the\n"
+ .string "mountains? A mountain man, right?\p"
+ .string "So why don’t they call a POKéMON in\n"
+ .string "the mountains a mountain POKéMON?$"
+
+RusturfTunnel_Text_22D8DB: @ 822D8DB
+ .string "My POKéMON…\n"
+ .string "Ran out of power…$"
+
+RusturfTunnel_Text_22D8F9: @ 822D8F9
+ .string "They halted development here to\n"
+ .string "protect POKéMON, right?\l"
+ .string "There’s a feel-good story!$"
+
diff --git a/data/scripts/maps/SSTidalCorridor.inc b/data/scripts/maps/SSTidalCorridor.inc
new file mode 100644
index 000000000..2faadc2fb
--- /dev/null
+++ b/data/scripts/maps/SSTidalCorridor.inc
@@ -0,0 +1,356 @@
+SSTidalCorridor_MapScripts:: @ 823BFCF
+ map_script 2, SSTidalCorridor_MapScript2_23BFD5
+ .byte 0
+
+SSTidalCorridor_MapScript2_23BFD5: @ 823BFD5
+ map_script_2 VAR_0x40D4, 0, SSTidalCorridor_EventScript_23C219
+ map_script_2 VAR_PORTHOLE, 1, SSTidalCorridor_EventScript_23BFFF
+ map_script_2 VAR_PORTHOLE, 5, SSTidalCorridor_EventScript_23C015
+ map_script_2 VAR_PORTHOLE, 9, SSTidalCorridor_EventScript_23C067
+ map_script_2 VAR_PORTHOLE, 10, SSTidalCorridor_EventScript_23C07D
+ .2byte 0
+
+SSTidalCorridor_EventScript_23BFFF:: @ 823BFFF
+ special sub_8137F90
+ setvar VAR_PORTHOLE, 2
+ lockall
+ playse SE_PINPON
+ msgbox SSTidalCorridor_Text_23C462, 4
+ releaseall
+ end
+
+SSTidalCorridor_EventScript_23C015:: @ 823C015
+ setvar VAR_PORTHOLE, 6
+ lockall
+ playse SE_PINPON
+ msgbox SSTidalCorridor_Text_23C4E3, 4
+ releaseall
+ end
+
+SSTidalRooms_EventScript_23C028:: @ 823C028
+ special sub_8137F90
+ setvar VAR_PORTHOLE, 7
+ playse SE_PINPON
+ msgbox SSTidalRooms_Text_23C462, 4
+ return
+
+SSTidalRooms_EventScript_23C03C:: @ 823C03C
+ special sub_8137FB0
+ setvar VAR_PORTHOLE, 4
+ playse SE_PINPON
+ msgbox SSTidalRooms_Text_23C553, 4
+ return
+
+SSTidalCorridor_EventScript_23C050:: @ 823C050
+ compare_var_to_value VAR_PORTHOLE, 2
+ goto_eq SSTidalCorridor_EventScript_23C067
+ compare_var_to_value VAR_PORTHOLE, 7
+ goto_eq SSTidalCorridor_EventScript_23C07D
+ end
+
+SSTidalCorridor_EventScript_23C067:: @ 823C067
+ special sub_8137FB0
+ setvar VAR_PORTHOLE, 3
+ lockall
+ playse SE_PINPON
+ msgbox SSTidalCorridor_Text_23C4E3, 4
+ releaseall
+ end
+
+SSTidalCorridor_EventScript_23C07D:: @ 823C07D
+ special sub_8137FB0
+ setvar VAR_PORTHOLE, 8
+ lockall
+ playse SE_PINPON
+ msgbox SSTidalCorridor_Text_23C50F, 4
+ releaseall
+ end
+
+SSTidalRooms_EventScript_23C093:: @ 823C093
+ special sub_8137FB0
+ setvar VAR_PORTHOLE, 8
+ playse SE_PINPON
+ msgbox SSTidalRooms_Text_23C50F, 4
+ return
+
+SSTidalRooms_EventScript_23C0A7:: @ 823C0A7
+ switch VAR_PORTHOLE
+ case 2, SSTidalRooms_EventScript_23C03C
+ case 3, SSTidalRooms_EventScript_23C03C
+ case 6, SSTidalRooms_EventScript_23C028
+ case 7, SSTidalRooms_EventScript_23C093
+ return
+
+SSTidalCorridor_EventScript_23C0D9:: @ 823C0D9
+ msgbox SSTidalCorridor_Text_23C6EC, 2
+ end
+
+SSTidalCorridor_EventScript_23C0E2:: @ 823C0E2
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_WINGULL, 0
+ msgbox SSTidalCorridor_Text_23C7E1, 4
+ waitmoncry
+ release
+ end
+
+SSTidalCorridor_EventScript_23C0F5:: @ 823C0F5
+ msgbox SSTidalCorridor_Text_23C7F8, 3
+ end
+
+SSTidalCorridor_EventScript_23C0FE:: @ 823C0FE
+ msgbox SSTidalCorridor_Text_23C800, 3
+ end
+
+SSTidalCorridor_EventScript_23C107:: @ 823C107
+ msgbox SSTidalCorridor_Text_23C808, 3
+ end
+
+SSTidalCorridor_EventScript_23C110:: @ 823C110
+ msgbox SSTidalCorridor_Text_23C810, 3
+ end
+
+SSTidalCorridor_EventScript_23C119:: @ 823C119
+ lock
+ faceplayer
+ compare_var_to_value VAR_PORTHOLE, 4
+ goto_eq SSTidalCorridor_EventScript_23C13B
+ compare_var_to_value VAR_PORTHOLE, 8
+ goto_eq SSTidalCorridor_EventScript_23C15A
+ msgbox SSTidalCorridor_Text_23C596, 4
+ release
+ end
+
+SSTidalCorridor_EventScript_23C13B:: @ 823C13B
+ setrespawn 8
+ msgbox SSTidalCorridor_Text_23C64F, 4
+ checkflag FLAG_0x104
+ call_if 1, SSTidalCorridor_EventScript_23C179
+ warp LILYCOVE_CITY_HARBOR, 255, 8, 11
+ waitstate
+ release
+ end
+
+SSTidalCorridor_EventScript_23C15A:: @ 823C15A
+ setrespawn 4
+ msgbox SSTidalCorridor_Text_23C64F, 4
+ checkflag FLAG_0x104
+ call_if 1, SSTidalCorridor_EventScript_23C179
+ warp SLATEPORT_CITY_HARBOR, 255, 8, 11
+ waitstate
+ release
+ end
+
+SSTidalCorridor_EventScript_23C179:: @ 823C179
+ setflag FLAG_0x3B7
+ return
+
+SSTidalCorridor_EventScript_23C17D:: @ 823C17D
+ lockall
+ compare_var_to_value VAR_PORTHOLE, 2
+ goto_eq SSTidalCorridor_EventScript_23C19E
+ compare_var_to_value VAR_PORTHOLE, 7
+ goto_eq SSTidalCorridor_EventScript_23C19E
+ msgbox SSTidalCorridor_Text_23C6C3, 4
+ releaseall
+ end
+
+SSTidalCorridor_EventScript_23C19E:: @ 823C19E
+ special sub_80FB7A4
+ waitstate
+ end
+
+SSTidalCorridor_EventScript_23C1A3:: @ 823C1A3
+ lock
+ faceplayer
+ checkflag FLAG_0x0F7
+ goto_eq SSTidalCorridor_EventScript_23C1BD
+ call SSTidalCorridor_EventScript_23C1C7
+ msgbox SSTidalCorridor_Text_23C65E, 4
+ release
+ end
+
+SSTidalCorridor_EventScript_23C1BD:: @ 823C1BD
+ msgbox SSTidalCorridor_Text_23C6B0, 4
+ release
+ end
+
+SSTidalCorridor_EventScript_23C1C7:: @ 823C1C7
+ checktrainerflag TRAINER_PHILLIP
+ goto_if 0, SSTidalCorridor_EventScript_23C218
+ checktrainerflag TRAINER_LEONARD
+ goto_if 0, SSTidalCorridor_EventScript_23C218
+ checktrainerflag TRAINER_COLTON
+ goto_if 0, SSTidalCorridor_EventScript_23C218
+ checktrainerflag TRAINER_MICAH
+ goto_if 0, SSTidalCorridor_EventScript_23C218
+ checktrainerflag TRAINER_THOMAS
+ goto_if 0, SSTidalCorridor_EventScript_23C218
+ checktrainerflag TRAINER_LEA_AND_JED
+ goto_if 0, SSTidalCorridor_EventScript_23C218
+ checktrainerflag TRAINER_GARRET
+ goto_if 0, SSTidalCorridor_EventScript_23C218
+ checktrainerflag TRAINER_NAOMI
+ goto_if 0, SSTidalCorridor_EventScript_23C218
+ setflag FLAG_0x0F7
+ goto SSTidalCorridor_EventScript_23C1BD
+ return
+
+SSTidalCorridor_EventScript_23C218:: @ 823C218
+ return
+
+SSTidalCorridor_EventScript_23C219:: @ 823C219
+ lockall
+ applymovement 5, SSTidalCorridor_Movement_23C26D
+ waitmovement 0
+ applymovement 255, SSTidalCorridor_Movement_2725A8
+ waitmovement 0
+ msgbox SSTidalCorridor_Text_23C28F, 4
+ closemessage
+ applymovement 255, SSTidalCorridor_Movement_23C27D
+ applymovement 1, SSTidalCorridor_Movement_23C284
+ applymovement 5, SSTidalCorridor_Movement_23C275
+ waitmovement 0
+ playse SE_KAIDAN
+ waitse
+ removeobject 5
+ applymovement 1, SSTidalCorridor_Movement_23C28B
+ waitmovement 0
+ delay 30
+ setflag FLAG_0x1D0
+ setvar VAR_0x40D4, 1
+ releaseall
+ end
+
+SSTidalCorridor_Movement_23C26D: @ 823C26D
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+SSTidalCorridor_Movement_23C275: @ 823C275
+ step_25
+ step_14
+ step_14
+ step_14
+ step_14
+ step_down
+ step_left
+ step_end
+
+SSTidalCorridor_Movement_23C27D: @ 823C27D
+ step_14
+ step_14
+ step_14
+ step_14
+ step_13
+ step_25
+ step_end
+
+SSTidalCorridor_Movement_23C284: @ 823C284
+ step_14
+ step_right
+ step_right
+ step_26
+ step_14
+ step_27
+ step_end
+
+SSTidalCorridor_Movement_23C28B: @ 823C28B
+ step_left
+ step_left
+ step_26
+ step_end
+
+SSTidalCorridor_Text_23C28F: @ 823C28F
+ .string "SCOTT: Well, hi, hi!\n"
+ .string "{PLAYER}{KUN}, {PLAYER}{KUN}!\p"
+ .string "Something’s come up, so I have to\n"
+ .string "disembark, but am I glad to see you!\p"
+ .string "Congratulations, LEAGUE CHAMPION!\p"
+ .string "There’s a place I’d like to invite\n"
+ .string "someone like you.\p"
+ .string "It’s the…\n"
+ .string "BATTLE FRONTIER!\p"
+ .string "What’s the place like?\n"
+ .string "You’ll understand when you see it!\p"
+ .string "I’ve spoken with the ship’s CAPTAIN\n"
+ .string "about this.\p"
+ .string "The next time you take a ferry,\n"
+ .string "you should be able to sail to\l"
+ .string "the BATTLE FRONTIER.\p"
+ .string "Okay, {PLAYER}{KUN}, I’ll be waiting for you\n"
+ .string "at the BATTLE FRONTIER!$"
+
+SSTidalCorridor_Text_23C462: @ 823C462
+SSTidalRooms_Text_23C462: @ 823C462
+ .string "This ferry is built to plow through\n"
+ .string "fast-running currents.\p"
+ .string "We hope you enjoy your voyage with us.\n"
+ .string "Feel free to explore the ship.$"
+
+SSTidalCorridor_Text_23C4E3: @ 823C4E3
+ .string "We hope you enjoy your voyage on\n"
+ .string "our ferry.$"
+
+SSTidalCorridor_Text_23C50F: @ 823C50F
+SSTidalRooms_Text_23C50F: @ 823C50F
+ .string "We have made land in SLATEPORT CITY.\n"
+ .string "Thank you for sailing with us.$"
+
+SSTidalRooms_Text_23C553: @ 823C553
+ .string "We have made land in LILYCOVE CITY.\n"
+ .string "Thank you for sailing with us.$"
+
+SSTidalCorridor_Text_23C596: @ 823C596
+ .string "It’ll be some time before we make land,\n"
+ .string "I reckon.\p"
+ .string "You can rest up in your cabin if you’d\n"
+ .string "like. Your cabin’s No. 2.\p"
+ .string "The bed in there is soft and plushy.\n"
+ .string "I can attest to how comfy it is!$"
+
+SSTidalCorridor_Text_23C64F: @ 823C64F
+ .string "We’ve arrived!$"
+
+SSTidalCorridor_Text_23C65E: @ 823C65E
+ .string "Go visit other cabins.\n"
+ .string "TRAINERS bored of the boat trip will\l"
+ .string "be itching to battle.$"
+
+SSTidalCorridor_Text_23C6B0: @ 823C6B0
+ .string "Enjoy your cruise!$"
+
+SSTidalCorridor_Text_23C6C3: @ 823C6C3
+ .string "The horizon spreads beyond\n"
+ .string "the porthole.$"
+
+SSTidalCorridor_Text_23C6EC: @ 823C6EC
+ .string "MR. BRINEY: Welcome aboard, {PLAYER}{KUN}!\p"
+ .string "They made me honorary captain of\n"
+ .string "the S.S. TIDAL!\p"
+ .string "You can call me CAPTAIN BRINEY now!\p"
+ .string "You know, I retired once before,\n"
+ .string "but when I saw this majestic ship…\p"
+ .string "Let me just say, it stirred my sleeping\n"
+ .string "soul as a sailor!$"
+
+SSTidalCorridor_Text_23C7E1: @ 823C7E1
+ .string "PEEKO: Pihyo pihyohyo…$"
+
+SSTidalCorridor_Text_23C7F8: @ 823C7F8
+ .string "Cabin 1$"
+
+SSTidalCorridor_Text_23C800: @ 823C800
+ .string "Cabin 2$"
+
+SSTidalCorridor_Text_23C808: @ 823C808
+ .string "Cabin 3$"
+
+SSTidalCorridor_Text_23C810: @ 823C810
+ .string "Cabin 4$"
diff --git a/data/scripts/maps/SSTidalLowerDeck.inc b/data/scripts/maps/SSTidalLowerDeck.inc
new file mode 100644
index 000000000..2ad1ed580
--- /dev/null
+++ b/data/scripts/maps/SSTidalLowerDeck.inc
@@ -0,0 +1,39 @@
+SSTidalLowerDeck_MapScripts:: @ 823C818
+ .byte 0
+
+SSTidalLowerDeck_EventScript_23C819:: @ 823C819
+ trainerbattle 0, TRAINER_PHILLIP, 0, SSTidalLowerDeck_Text_23C847, SSTidalLowerDeck_Text_23C8A0
+ msgbox SSTidalLowerDeck_Text_23C8B4, 6
+ end
+
+SSTidalLowerDeck_EventScript_23C830:: @ 823C830
+ trainerbattle 0, TRAINER_LEONARD, 0, SSTidalLowerDeck_Text_23C917, SSTidalLowerDeck_Text_23C97D
+ msgbox SSTidalLowerDeck_Text_23C98E, 6
+ end
+
+SSTidalLowerDeck_Text_23C847: @ 823C847
+ .string "Arrrgh! I’m fed up and dog-tired of\n"
+ .string "cleaning this huge place!\p"
+ .string "Let’s have a quick battle!$"
+
+SSTidalLowerDeck_Text_23C8A0: @ 823C8A0
+ .string "Little bro, I lost!$"
+
+SSTidalLowerDeck_Text_23C8B4: @ 823C8B4
+ .string "We’re the CLEANUP BROTHERS!\p"
+ .string "The old one dumps the detergent,\n"
+ .string "and the young one does the scrubbing!$"
+
+SSTidalLowerDeck_Text_23C917: @ 823C917
+ .string "This is the bottom of the ship’s hull.\n"
+ .string "There’s plenty of room.\l"
+ .string "It’ll be alright for a POKéMON battle.$"
+
+SSTidalLowerDeck_Text_23C97D: @ 823C97D
+ .string "Big bro, I lost!$"
+
+SSTidalLowerDeck_Text_23C98E: @ 823C98E
+ .string "We’re the CLEANUP BROTHERS!\p"
+ .string "The old one dumps the detergent,\n"
+ .string "and the young one does the scrubbing!$"
+
diff --git a/data/scripts/maps/SSTidalRooms.inc b/data/scripts/maps/SSTidalRooms.inc
new file mode 100644
index 000000000..4863d8ba9
--- /dev/null
+++ b/data/scripts/maps/SSTidalRooms.inc
@@ -0,0 +1,177 @@
+SSTidalRooms_MapScripts:: @ 823C9F1
+ .byte 0
+
+SSTidalRooms_EventScript_23C9F2:: @ 823C9F2
+ lock
+ faceplayer
+ checkflag FLAG_0x104
+ goto_eq SSTidalRooms_EventScript_23CA29
+ msgbox SSTidalRooms_Text_23D098, 4
+ giveitem_std ITEM_TM49
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SSTidalRooms_EventScript_272054
+ setflag FLAG_0x104
+ msgbox SSTidalRooms_Text_23D145, 4
+ release
+ end
+
+SSTidalRooms_EventScript_23CA29:: @ 823CA29
+ msgbox SSTidalRooms_Text_23D145, 4
+ release
+ end
+
+SSTidalRooms_EventScript_23CA33:: @ 823CA33
+ lockall
+ msgbox SSTidalRooms_Text_23CAF2, 4
+ closemessage
+ call SSTidalRooms_EventScript_272083
+ call SSTidalRooms_EventScript_23C0A7
+ releaseall
+ end
+
+SSTidalRooms_EventScript_23CA49:: @ 823CA49
+ trainerbattle 0, TRAINER_COLTON, 0, SSTidalRooms_Text_23CB14, SSTidalRooms_Text_23CB58
+ msgbox SSTidalRooms_Text_23CB75, 6
+ end
+
+SSTidalRooms_EventScript_23CA60:: @ 823CA60
+ trainerbattle 0, TRAINER_MICAH, 0, SSTidalRooms_Text_23CBEB, SSTidalRooms_Text_23CC04
+ msgbox SSTidalRooms_Text_23CC26, 6
+ end
+
+SSTidalRooms_EventScript_23CA77:: @ 823CA77
+ trainerbattle 0, TRAINER_THOMAS, 0, SSTidalRooms_Text_23CC68, SSTidalRooms_Text_23CC8A
+ msgbox SSTidalRooms_Text_23CCBB, 6
+ end
+
+SSTidalRooms_EventScript_23CA8E:: @ 823CA8E
+ trainerbattle 4, TRAINER_LEA_AND_JED, 0, SSTidalRooms_Text_23CD04, SSTidalRooms_Text_23CD54, SSTidalRooms_Text_23CDC6
+ msgbox SSTidalRooms_Text_23CD5F, 6
+ end
+
+SSTidalRooms_EventScript_23CAA9:: @ 823CAA9
+ trainerbattle 4, TRAINER_LEA_AND_JED, 0, SSTidalRooms_Text_23CE04, SSTidalRooms_Text_23CE4B, SSTidalRooms_Text_23CEB0
+ msgbox SSTidalRooms_Text_23CE59, 6
+ end
+
+SSTidalRooms_EventScript_23CAC4:: @ 823CAC4
+ trainerbattle 0, TRAINER_GARRET, 0, SSTidalRooms_Text_23CEEE, SSTidalRooms_Text_23CF36
+ msgbox SSTidalRooms_Text_23CF45, 6
+ end
+
+SSTidalRooms_EventScript_23CADB:: @ 823CADB
+ trainerbattle 0, TRAINER_NAOMI, 0, SSTidalRooms_Text_23CF97, SSTidalRooms_Text_23CFF4
+ msgbox SSTidalRooms_Text_23D013, 6
+ end
+
+SSTidalRooms_Text_23CAF2: @ 823CAF2
+ .string "There’s a bed…\n"
+ .string "Let’s take a rest.$"
+
+SSTidalRooms_Text_23CB14: @ 823CB14
+ .string "I often sail to LILYCOVE CITY.\p"
+ .string "I enjoy attending CONTESTS,\n"
+ .string "you see.$"
+
+SSTidalRooms_Text_23CB58: @ 823CB58
+ .string "That was an enjoyable match!$"
+
+SSTidalRooms_Text_23CB75: @ 823CB75
+ .string "I get so excited imagining what kinds\n"
+ .string "of POKéMON I’ll get to see in the next\l"
+ .string "CONTEST. The anticipation of it thrills!$"
+
+SSTidalRooms_Text_23CBEB: @ 823CBEB
+ .string "Are your friends strong?$"
+
+SSTidalRooms_Text_23CC04: @ 823CC04
+ .string "Your friends are, indeed, strong.$"
+
+SSTidalRooms_Text_23CC26: @ 823CC26
+ .string "Friends need not be human.\n"
+ .string "For me, POKéMON are treasured friends!$"
+
+SSTidalRooms_Text_23CC68: @ 823CC68
+ .string "Child…\n"
+ .string "Did you knock on the door?$"
+
+SSTidalRooms_Text_23CC8A: @ 823CC8A
+ .string "A loss is to be accepted without haste\n"
+ .string "or panic.$"
+
+SSTidalRooms_Text_23CCBB: @ 823CCBB
+ .string "To be never ruffled in any situation is\n"
+ .string "the GENTLEMAN’s code of conduct.$"
+
+SSTidalRooms_Text_23CD04: @ 823CD04
+ .string "JED: I feel a little shy about this, but…\n"
+ .string "We’ll show you our lovey-dovey power!$"
+
+SSTidalRooms_Text_23CD54: @ 823CD54
+ .string "JED: Sigh…$"
+
+SSTidalRooms_Text_23CD5F: @ 823CD5F
+ .string "JED: It’s the first time that our lovey-\n"
+ .string "dovey power couldn’t prevail!\l"
+ .string "You must be an awesome TRAINER!$"
+
+SSTidalRooms_Text_23CDC6: @ 823CDC6
+ .string "JED: You only have one POKéMON?\n"
+ .string "Isn’t that just too lonesome?$"
+
+SSTidalRooms_Text_23CE04: @ 823CE04
+ .string "LEA: I feel a little silly, but…\n"
+ .string "We’ll show you our lovey-dovey power!$"
+
+SSTidalRooms_Text_23CE4B: @ 823CE4B
+ .string "LEA: Oh, boo!$"
+
+SSTidalRooms_Text_23CE59: @ 823CE59
+ .string "LEA: I can’t believe it!\n"
+ .string "Our lovey-dovey power failed…\l"
+ .string "You must be an awesome TRAINER!$"
+
+SSTidalRooms_Text_23CEB0: @ 823CEB0
+ .string "LEA: I wanted to battle…\n"
+ .string "But you don’t even have two POKéMON…$"
+
+SSTidalRooms_Text_23CEEE: @ 823CEEE
+ .string "Ah, you’ve come just in time.\p"
+ .string "I’m bored, you see.\n"
+ .string "You may entertain me.$"
+
+SSTidalRooms_Text_23CF36: @ 823CF36
+ .string "…That will do.$"
+
+SSTidalRooms_Text_23CF45: @ 823CF45
+ .string "Perhaps I shall get Father to acquire\n"
+ .string "a yacht for me.\l"
+ .string "A yacht for me and POKéMON!$"
+
+SSTidalRooms_Text_23CF97: @ 823CF97
+ .string "Oh, you’re such an adorable TRAINER.\n"
+ .string "Would you like to have tea?\l"
+ .string "Or would you rather battle?$"
+
+SSTidalRooms_Text_23CFF4: @ 823CFF4
+ .string "I see.\n"
+ .string "You’re the active sort.$"
+
+SSTidalRooms_Text_23D013: @ 823D013
+ .string "A world cruise on a luxury liner has its\n"
+ .string "charms, I must say…\p"
+ .string "But, I will admit there is an appealing\n"
+ .string "side to touring HOENN by ferry.$"
+
+SSTidalRooms_Text_23D098: @ 823D098
+ .string "Uh… Hi! I… I’m not acting suspicious!\n"
+ .string "Uh… You can have this! For free!\p"
+ .string "It… Honestly, I didn’t SNATCH it from\n"
+ .string "someone! I’d never do such a thing!\l"
+ .string "It’s clean! You can use it!$"
+
+SSTidalRooms_Text_23D145: @ 823D145
+ .string "SNATCH steals the beneficial effects\n"
+ .string "of certain moves before they can be\l"
+ .string "used by a foe or ally.$"
+
diff --git a/data/scripts/maps/SafariZone_North.inc b/data/scripts/maps/SafariZone_North.inc
new file mode 100644
index 000000000..a96b6b95d
--- /dev/null
+++ b/data/scripts/maps/SafariZone_North.inc
@@ -0,0 +1,11 @@
+SafariZone_North_MapScripts:: @ 823D253
+ .byte 0
+
+SafariZone_North_EventScript_23D254:: @ 823D254
+ msgbox SafariZone_North_Text_2A5489, 2
+ end
+
+SafariZone_North_EventScript_23D25D:: @ 823D25D
+ msgbox SafariZone_North_Text_2A54F0, 2
+ end
+
diff --git a/data/scripts/maps/SafariZone_Northeast.inc b/data/scripts/maps/SafariZone_Northeast.inc
new file mode 100644
index 000000000..207e2a584
--- /dev/null
+++ b/data/scripts/maps/SafariZone_Northeast.inc
@@ -0,0 +1,3 @@
+SafariZone_Northeast_MapScripts:: @ 8242C02
+ .byte 0
+
diff --git a/data/scripts/maps/SafariZone_Northwest.inc b/data/scripts/maps/SafariZone_Northwest.inc
new file mode 100644
index 000000000..34e510237
--- /dev/null
+++ b/data/scripts/maps/SafariZone_Northwest.inc
@@ -0,0 +1,7 @@
+SafariZone_Northwest_MapScripts:: @ 823D249
+ .byte 0
+
+SafariZone_Northwest_EventScript_23D24A:: @ 823D24A
+ msgbox SafariZone_Northwest_Text_2A542C, 2
+ end
+
diff --git a/data/scripts/maps/SafariZone_RestHouse.inc b/data/scripts/maps/SafariZone_RestHouse.inc
new file mode 100644
index 000000000..22657eeb1
--- /dev/null
+++ b/data/scripts/maps/SafariZone_RestHouse.inc
@@ -0,0 +1,15 @@
+SafariZone_RestHouse_MapScripts:: @ 8242BE6
+ .byte 0
+
+SafariZone_RestHouse_EventScript_242BE7:: @ 8242BE7
+ msgbox SafariZone_RestHouse_Text_2A5639, 2
+ end
+
+SafariZone_RestHouse_EventScript_242BF0:: @ 8242BF0
+ msgbox SafariZone_RestHouse_Text_2A56E1, 2
+ end
+
+SafariZone_RestHouse_EventScript_242BF9:: @ 8242BF9
+ msgbox SafariZone_RestHouse_Text_2A5764, 2
+ end
+
diff --git a/data/scripts/maps/SafariZone_South.inc b/data/scripts/maps/SafariZone_South.inc
new file mode 100644
index 000000000..b4e687755
--- /dev/null
+++ b/data/scripts/maps/SafariZone_South.inc
@@ -0,0 +1,154 @@
+SafariZone_South_MapScripts:: @ 823D279
+ map_script 3, SafariZone_South_MapScript1_23D2B1
+ map_script 2, SafariZone_South_MapScript2_23D284
+ .byte 0
+
+SafariZone_South_MapScript2_23D284: @ 823D284
+ map_script_2 VAR_0x40A4, 2, SafariZone_South_EventScript_23D28E
+ .2byte 0
+
+SafariZone_South_EventScript_23D28E:: @ 823D28E
+ lockall
+ applymovement 255, SafariZone_South_Movement_23D2C5
+ waitmovement 0
+ applymovement 1, SafariZone_South_Movement_23D2C7
+ waitmovement 0
+ setobjectxyperm 1, 32, 34
+ setvar VAR_0x40A4, 0
+ releaseall
+ end
+
+SafariZone_South_MapScript1_23D2B1: @ 823D2B1
+ compare_var_to_value VAR_0x40A4, 2
+ call_if 1, SafariZone_South_EventScript_23D2BD
+ end
+
+SafariZone_South_EventScript_23D2BD:: @ 823D2BD
+ setobjectxyperm 1, 31, 34
+ return
+
+SafariZone_South_Movement_23D2C5: @ 823D2C5
+ step_down
+ step_end
+
+SafariZone_South_Movement_23D2C7: @ 823D2C7
+ step_right
+ step_25
+ step_end
+
+SafariZone_South_EventScript_23D2CA:: @ 823D2CA
+ msgbox SafariZone_South_Text_2A52EF, 2
+ end
+
+SafariZone_South_EventScript_23D2D3:: @ 823D2D3
+ msgbox SafariZone_South_Text_2A533B, 2
+ end
+
+SafariZone_South_EventScript_23D2DC:: @ 823D2DC
+ msgbox SafariZone_South_Text_2A553E, 2
+ end
+
+SafariZone_South_EventScript_23D2E5:: @ 823D2E5
+ lock
+ faceplayer
+ checkflag FLAG_0x05D
+ goto_if 0, SafariZone_South_EventScript_23D30D
+ msgbox SafariZone_South_Text_2A51D4, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SafariZone_South_EventScript_23D31A
+ msgbox SafariZone_South_Text_2A521A, 4
+ release
+ end
+
+SafariZone_South_EventScript_23D30D:: @ 823D30D
+ setflag FLAG_0x05D
+ msgbox SafariZone_South_Text_2A52AB, 4
+ release
+ end
+
+SafariZone_South_EventScript_23D31A:: @ 823D31A
+ msgbox SafariZone_South_Text_2A5248, 4
+ closemessage
+ switch VAR_FACING
+ case 2, SafariZone_South_EventScript_23D33F
+ case 4, SafariZone_South_EventScript_23D359
+ end
+
+SafariZone_South_EventScript_23D33F:: @ 823D33F
+ applymovement 1, SafariZone_South_Movement_23D38A
+ waitmovement 0
+ applymovement 255, SafariZone_South_Movement_23D385
+ waitmovement 0
+ goto SafariZone_South_EventScript_23D373
+ end
+
+SafariZone_South_EventScript_23D359:: @ 823D359
+ applymovement 1, SafariZone_South_Movement_23D38D
+ waitmovement 0
+ applymovement 255, SafariZone_South_Movement_23D387
+ waitmovement 0
+ goto SafariZone_South_EventScript_23D373
+ end
+
+SafariZone_South_EventScript_23D373:: @ 823D373
+ setvar VAR_0x40A4, 1
+ special ExitSafariMode
+ warpdoor ROUTE_121_SAFARI_ZONE_ENTRANCE, 255, 2, 5
+ waitstate
+ end
+
+SafariZone_South_Movement_23D385: @ 823D385
+ step_up
+ step_end
+
+SafariZone_South_Movement_23D387: @ 823D387
+ step_right
+ step_26
+ step_end
+
+SafariZone_South_Movement_23D38A: @ 823D38A
+ step_left
+ step_28
+ step_end
+
+SafariZone_South_Movement_23D38D: @ 823D38D
+ step_down
+ step_26
+ step_end
+
+SafariZone_South_EventScript_23D390:: @ 823D390
+ msgbox SafariZone_South_Text_2A57EE, 2
+ end
+
+SafariZone_Southeast_EventScript_23D399:: @ 823D399
+ msgbox SafariZone_Southeast_Text_2A582D, 2
+ end
+
+SafariZone_South_EventScript_23D3A2:: @ 823D3A2
+ msgbox SafariZone_South_Text_2A5887, 2
+ end
+
+SafariZone_Southeast_EventScript_23D3AB:: @ 823D3AB
+ msgbox SafariZone_Southeast_Text_2A58C6, 2
+ end
+
+SafariZone_Southeast_EventScript_23D3B4:: @ 823D3B4
+ msgbox SafariZone_Southeast_Text_2A58FD, 2
+ end
+
+SafariZone_Southeast_EventScript_23D3BD:: @ 823D3BD
+ msgbox SafariZone_Southeast_Text_2A5960, 2
+ end
+
+SafariZone_Northeast_EventScript_23D3C6:: @ 823D3C6
+ msgbox SafariZone_Northeast_Text_2A59A4, 2
+ end
+
+SafariZone_Northeast_EventScript_23D3CF:: @ 823D3CF
+ msgbox SafariZone_Northeast_Text_2A5A09, 2
+ end
+
+SafariZone_Northeast_EventScript_23D3D8:: @ 823D3D8
+ msgbox SafariZone_Northeast_Text_2A5A44, 2
+ end
+
diff --git a/data/scripts/maps/SafariZone_Southeast.inc b/data/scripts/maps/SafariZone_Southeast.inc
new file mode 100644
index 000000000..f88cd22fb
--- /dev/null
+++ b/data/scripts/maps/SafariZone_Southeast.inc
@@ -0,0 +1,3 @@
+SafariZone_Southeast_MapScripts:: @ 8242C03
+ .byte 0
+
diff --git a/data/scripts/maps/SafariZone_Southwest.inc b/data/scripts/maps/SafariZone_Southwest.inc
new file mode 100644
index 000000000..d2e75eb1b
--- /dev/null
+++ b/data/scripts/maps/SafariZone_Southwest.inc
@@ -0,0 +1,11 @@
+SafariZone_Southwest_MapScripts:: @ 823D266
+ .byte 0
+
+SafariZone_Southwest_EventScript_23D267:: @ 823D267
+ msgbox SafariZone_Southwest_Text_2A53B7, 2
+ end
+
+SafariZone_Southwest_EventScript_23D270:: @ 823D270
+ msgbox SafariZone_Southwest_Text_2A5613, 3
+ end
+
diff --git a/data/scripts/maps/ScorchedSlab.inc b/data/scripts/maps/ScorchedSlab.inc
new file mode 100644
index 000000000..c435eb000
--- /dev/null
+++ b/data/scripts/maps/ScorchedSlab.inc
@@ -0,0 +1,8 @@
+ScorchedSlab_MapScripts:: @ 8239291
+ map_script 3, ScorchedSlab_MapScript1_239297
+ .byte 0
+
+ScorchedSlab_MapScript1_239297: @ 8239297
+ setflag FLAG_0x8B8
+ end
+
diff --git a/data/scripts/maps/SeafloorCavern_Entrance.inc b/data/scripts/maps/SeafloorCavern_Entrance.inc
new file mode 100644
index 000000000..ff1afb53b
--- /dev/null
+++ b/data/scripts/maps/SeafloorCavern_Entrance.inc
@@ -0,0 +1,93 @@
+SeafloorCavern_Entrance_MapScripts:: @ 823446E
+ map_script 5, SeafloorCavern_Entrance_MapScript1_234474
+ .byte 0
+
+SeafloorCavern_Entrance_MapScript1_234474: @ 8234474
+ setdivewarp UNDERWATER_SEAFLOOR_CAVERN, 255, 6, 5
+ setescapewarp UNDERWATER_SEAFLOOR_CAVERN, 255, 6, 5
+ end
+
+SeafloorCavern_Entrance_EventScript_234485:: @ 8234485
+ lockall
+ compare_var_to_value VAR_0x40D9, 1
+ goto_eq SeafloorCavern_Entrance_EventScript_2344ED
+ waitse
+ playse SE_PIN
+ applymovement 1, SeafloorCavern_Entrance_Movement_272598
+ waitmovement 0
+ applymovement 1, SeafloorCavern_Entrance_Movement_27259A
+ waitmovement 0
+ delay 20
+ compare_var_to_value VAR_FACING, 3
+ call_if 1, SeafloorCavern_Entrance_EventScript_23452E
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, SeafloorCavern_Entrance_EventScript_234523
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, SeafloorCavern_Entrance_EventScript_234539
+ delay 30
+ setvar VAR_0x40D9, 1
+ moveobjectoffscreen 1
+ msgbox SeafloorCavern_Entrance_Text_234544, 4
+ closemessage
+ applymovement 1, SeafloorCavern_Entrance_Movement_2725A6
+ waitmovement 0
+ releaseall
+ end
+
+SeafloorCavern_Entrance_EventScript_2344ED:: @ 82344ED
+ compare_var_to_value VAR_FACING, 3
+ call_if 1, SeafloorCavern_Entrance_EventScript_23452E
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, SeafloorCavern_Entrance_EventScript_234523
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, SeafloorCavern_Entrance_EventScript_234539
+ msgbox SeafloorCavern_Entrance_Text_2346C8, 4
+ closemessage
+ applymovement 1, SeafloorCavern_Entrance_Movement_2725A6
+ waitmovement 0
+ releaseall
+ end
+
+SeafloorCavern_Entrance_EventScript_234523:: @ 8234523
+ applymovement 1, SeafloorCavern_Entrance_Movement_2725A4
+ waitmovement 0
+ return
+
+SeafloorCavern_Entrance_EventScript_23452E:: @ 823452E
+ applymovement 1, SeafloorCavern_Entrance_Movement_2725A8
+ waitmovement 0
+ return
+
+SeafloorCavern_Entrance_EventScript_234539:: @ 8234539
+ applymovement 1, SeafloorCavern_Entrance_Movement_2725AA
+ waitmovement 0
+ return
+
+SeafloorCavern_Entrance_Text_234544: @ 8234544
+ .string "Hey!\n"
+ .string "I remember your face!\p"
+ .string "If you’re here, it must mean that\n"
+ .string "you’re about to mess with us again!\p"
+ .string "A punk like you, do you really think\n"
+ .string "you can take on TEAM AQUA?\p"
+ .string "I’d say you’re too early by about\n"
+ .string "a trillion years!\p"
+ .string "You’re a perfect fit for the likes of\n"
+ .string "TEAM MAGMA!\p"
+ .string "Speaking of TEAM MAGMA, I hear they\n"
+ .string "were spotted near MOSSDEEP.\p"
+ .string "That bunch of goons, they sure don’t\n"
+ .string "look good near the sea!$"
+
+SeafloorCavern_Entrance_Text_2346C8: @ 82346C8
+ .string "A punk like you, do you really think\n"
+ .string "you can take on TEAM AQUA?\p"
+ .string "I’d say you’re too early by about\n"
+ .string "a trillion years!\p"
+ .string "You’re a perfect fit for the likes of\n"
+ .string "TEAM MAGMA!\p"
+ .string "Speaking of TEAM MAGMA, I hear they\n"
+ .string "were spotted near MOSSDEEP.\p"
+ .string "That bunch of goons, they sure don’t\n"
+ .string "look good near the sea!$"
+
diff --git a/data/scripts/maps/SeafloorCavern_Room1.inc b/data/scripts/maps/SeafloorCavern_Room1.inc
new file mode 100644
index 000000000..d3308fca2
--- /dev/null
+++ b/data/scripts/maps/SeafloorCavern_Room1.inc
@@ -0,0 +1,36 @@
+SeafloorCavern_Room1_MapScripts:: @ 82347EB
+ .byte 0
+
+SeafloorCavern_Room1_EventScript_2347EC:: @ 82347EC
+ trainerbattle 0, TRAINER_GRUNT_5, 0, SeafloorCavern_Room1_Text_23481A, SeafloorCavern_Room1_Text_23484A
+ msgbox SeafloorCavern_Room1_Text_23485D, 6
+ end
+
+SeafloorCavern_Room1_EventScript_234803:: @ 8234803
+ trainerbattle 0, TRAINER_GRUNT_6, 0, SeafloorCavern_Room1_Text_234898, SeafloorCavern_Room1_Text_2348CD
+ msgbox SeafloorCavern_Room1_Text_2348E3, 6
+ end
+
+SeafloorCavern_Room1_Text_23481A: @ 823481A
+ .string "We don’t need a kid around!\n"
+ .string "Go on home already!$"
+
+SeafloorCavern_Room1_Text_23484A: @ 823484A
+ .string "I want to go home…$"
+
+SeafloorCavern_Room1_Text_23485D: @ 823485D
+ .string "I want to get a promotion so I can\n"
+ .string "boss around the GRUNTS…$"
+
+SeafloorCavern_Room1_Text_234898: @ 8234898
+ .string "That submarine… It’s tiny inside.\n"
+ .string "I’m sore all over!$"
+
+SeafloorCavern_Room1_Text_2348CD: @ 82348CD
+ .string "Losing makes me sore!$"
+
+SeafloorCavern_Room1_Text_2348E3: @ 82348E3
+ .string "That submarine we jacked, man,\n"
+ .string "it’s brutal as a ride.\l"
+ .string "It’s way too tight in there!$"
+
diff --git a/data/scripts/maps/SeafloorCavern_Room2.inc b/data/scripts/maps/SeafloorCavern_Room2.inc
new file mode 100644
index 000000000..15201dac0
--- /dev/null
+++ b/data/scripts/maps/SeafloorCavern_Room2.inc
@@ -0,0 +1,3 @@
+SeafloorCavern_Room2_MapScripts:: @ 8234936
+ .byte 0
+
diff --git a/data/scripts/maps/SeafloorCavern_Room3.inc b/data/scripts/maps/SeafloorCavern_Room3.inc
new file mode 100644
index 000000000..f57d58e22
--- /dev/null
+++ b/data/scripts/maps/SeafloorCavern_Room3.inc
@@ -0,0 +1,58 @@
+SeafloorCavern_Room3_MapScripts:: @ 8234937
+ .byte 0
+
+SeafloorCavern_Room3_EventScript_234938:: @ 8234938
+ trainerbattle 0, TRAINER_SHELLY_2, 0, SeafloorCavern_Room3_Text_234966, SeafloorCavern_Room3_Text_234A79
+ msgbox SeafloorCavern_Room3_Text_234A8A, 6
+ end
+
+SeafloorCavern_Room3_EventScript_23494F:: @ 823494F
+ trainerbattle 0, TRAINER_GRUNT_27, 0, SeafloorCavern_Room3_Text_234B3A, SeafloorCavern_Room3_Text_234BFE
+ msgbox SeafloorCavern_Room3_Text_234C04, 6
+ end
+
+SeafloorCavern_Room3_Text_234966: @ 8234966
+ .string "Ahahahaha!\p"
+ .string "How did you manage to get here without\n"
+ .string "a submarine?\l"
+ .string "What an impressive child!\p"
+ .string "But… It won’t do to have you\n"
+ .string "meddling about here.\p"
+ .string "And, I do want payback for what\n"
+ .string "happened at the WEATHER INSTITUTE…\p"
+ .string "I’m going to give you a little taste\n"
+ .string "of pain! Resign yourself to it!$"
+
+SeafloorCavern_Room3_Text_234A79: @ 8234A79
+ .string "Ahahahaha!\p"
+ .string "Ouch!$"
+
+SeafloorCavern_Room3_Text_234A8A: @ 8234A8A
+ .string "Ahahahaha!\n"
+ .string "You’re so darn strong.\p"
+ .string "It’s terribly disappointing that you’re\n"
+ .string "not a TEAM AQUA member.\p"
+ .string "You could have enjoyed the fabulous\n"
+ .string "world our BOSS has promised as\l"
+ .string "one of us…$"
+
+SeafloorCavern_Room3_Text_234B3A: @ 8234B3A
+ .string "For our dream to become real, we need\n"
+ .string "the power of POKéMON.\p"
+ .string "But meddlers like you use the power of\n"
+ .string "POKéMON to mess with us even at\l"
+ .string "a place like this!\p"
+ .string "Life just doesn’t work the way we\n"
+ .string "need it to!$"
+
+SeafloorCavern_Room3_Text_234BFE: @ 8234BFE
+ .string "Gwah!$"
+
+SeafloorCavern_Room3_Text_234C04: @ 8234C04
+ .string "You know, we don’t dare question\n"
+ .string "the motives of our leader.\p"
+ .string "But here you are, just some punk,\n"
+ .string "going up against our BOSS.\p"
+ .string "Maybe…\n"
+ .string "You must be something…$"
+
diff --git a/data/scripts/maps/SeafloorCavern_Room4.inc b/data/scripts/maps/SeafloorCavern_Room4.inc
new file mode 100644
index 000000000..e509013d6
--- /dev/null
+++ b/data/scripts/maps/SeafloorCavern_Room4.inc
@@ -0,0 +1,36 @@
+SeafloorCavern_Room4_MapScripts:: @ 8234C9B
+ .byte 0
+
+SeafloorCavern_Room4_EventScript_234C9C:: @ 8234C9C
+ trainerbattle 0, TRAINER_GRUNT_7, 0, SeafloorCavern_Room4_Text_234CCA, SeafloorCavern_Room4_Text_234CF3
+ msgbox SeafloorCavern_Room4_Text_234CFC, 6
+ end
+
+SeafloorCavern_Room4_EventScript_234CB3:: @ 8234CB3
+ trainerbattle 0, TRAINER_GRUNT_9, 0, SeafloorCavern_Room4_Text_234D3A, SeafloorCavern_Room4_Text_234D68
+ msgbox SeafloorCavern_Room4_Text_234D79, 6
+ end
+
+SeafloorCavern_Room4_Text_234CCA: @ 8234CCA
+ .string "Who are you?\n"
+ .string "Where did you come in from?$"
+
+SeafloorCavern_Room4_Text_234CF3: @ 8234CF3
+ .string "Lost it…$"
+
+SeafloorCavern_Room4_Text_234CFC: @ 8234CFC
+ .string "I can’t find the way out!\p"
+ .string "I’m not afraid. Don’t get me wrong!$"
+
+SeafloorCavern_Room4_Text_234D3A: @ 8234D3A
+ .string "Who are you?\n"
+ .string "Where do you think you’re going?$"
+
+SeafloorCavern_Room4_Text_234D68: @ 8234D68
+ .string "I failed to win!$"
+
+SeafloorCavern_Room4_Text_234D79: @ 8234D79
+ .string "My partner forgot the map in that\n"
+ .string "submarine!\p"
+ .string "How’s that for being useless?$"
+
diff --git a/data/scripts/maps/SeafloorCavern_Room5.inc b/data/scripts/maps/SeafloorCavern_Room5.inc
new file mode 100644
index 000000000..e1c68db6e
--- /dev/null
+++ b/data/scripts/maps/SeafloorCavern_Room5.inc
@@ -0,0 +1,3 @@
+SeafloorCavern_Room5_MapScripts:: @ 8234DC4
+ .byte 0
+
diff --git a/data/scripts/maps/SeafloorCavern_Room6.inc b/data/scripts/maps/SeafloorCavern_Room6.inc
new file mode 100644
index 000000000..ae8cf02fa
--- /dev/null
+++ b/data/scripts/maps/SeafloorCavern_Room6.inc
@@ -0,0 +1,3 @@
+SeafloorCavern_Room6_MapScripts:: @ 8234DC5
+ .byte 0
+
diff --git a/data/scripts/maps/SeafloorCavern_Room7.inc b/data/scripts/maps/SeafloorCavern_Room7.inc
new file mode 100644
index 000000000..e91cf6193
--- /dev/null
+++ b/data/scripts/maps/SeafloorCavern_Room7.inc
@@ -0,0 +1,3 @@
+SeafloorCavern_Room7_MapScripts:: @ 8234DC6
+ .byte 0
+
diff --git a/data/scripts/maps/SeafloorCavern_Room8.inc b/data/scripts/maps/SeafloorCavern_Room8.inc
new file mode 100644
index 000000000..471cafd17
--- /dev/null
+++ b/data/scripts/maps/SeafloorCavern_Room8.inc
@@ -0,0 +1,3 @@
+SeafloorCavern_Room8_MapScripts:: @ 8234DC7
+ .byte 0
+
diff --git a/data/scripts/maps/SeafloorCavern_Room9.inc b/data/scripts/maps/SeafloorCavern_Room9.inc
new file mode 100644
index 000000000..6f968b4d0
--- /dev/null
+++ b/data/scripts/maps/SeafloorCavern_Room9.inc
@@ -0,0 +1,323 @@
+SeafloorCavern_Room9_MapScripts:: @ 8234DC8
+ .byte 0
+
+SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9
+ lockall
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 4
+ setvar VAR_0x8007, 5
+ applymovement 255, SeafloorCavern_Room9_Movement_2725A6
+ waitmovement 0
+ applymovement 255, SeafloorCavern_Room9_Movement_23505C
+ waitmovement 0
+ playbgm BGM_AQA_0, 0
+ msgbox SeafloorCavern_Room9_Text_23505F, 4
+ closemessage
+ addobject VAR_0x8004
+ applymovement 255, SeafloorCavern_Room9_Movement_2725A4
+ waitmovement 0
+ applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_23502A
+ waitmovement 0
+ msgbox SeafloorCavern_Room9_Text_23507C, 4
+ applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_2725A6
+ waitmovement 0
+ msgbox SeafloorCavern_Room9_Text_2350A6, 4
+ applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_27259E
+ waitmovement 0
+ msgbox SeafloorCavern_Room9_Text_23512C, 4
+ trainerbattle 3, TRAINER_ARCHIE, 0, SeafloorCavern_Room9_Text_2351BC
+ msgbox SeafloorCavern_Room9_Text_2351E5, 4
+ setweather 0
+ doweather
+ special sub_80B05B4
+ waitstate
+ msgbox SeafloorCavern_Room9_Text_235279, 4
+ special sub_81379F8
+ waitstate
+ setvar VAR_RESULT, 1
+ playse SE_W197
+ setfieldeffectargument 0, 16
+ setfieldeffectargument 1, 42
+ setfieldeffectargument 2, 0
+ dofieldeffect 54
+ waitfieldeffect 54
+ closemessage
+ setvar VAR_RESULT, 0
+ playfanfare BGM_ME_TAMA
+ playse SE_TAMA
+ special sub_80B0534
+ applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_2725A6
+ applymovement 255, SeafloorCavern_Room9_Movement_2725A6
+ waitmovement 0
+ delay 150
+ removeobject 7
+ addobject 1
+ waitstate
+ delay 60
+ applymovement 1, SeafloorCavern_Room9_Movement_235040
+ waitmovement 0
+ special sub_80B058C
+ waitstate
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 8
+ setvar VAR_0x8007, 5
+ special sub_8139560
+ waitstate
+ applymovement 1, SeafloorCavern_Room9_Movement_23504B
+ waitmovement 0
+ removeobject 1
+ delay 4
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 8
+ setvar VAR_0x8007, 5
+ special sub_8139560
+ waitstate
+ delay 30
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 4
+ setvar VAR_0x8007, 5
+ msgbox SeafloorCavern_Room9_Text_2352A7, 4
+ playse SE_PC_LOGON
+ applymovement 255, SeafloorCavern_Room9_Movement_2725A4
+ waitmovement 0
+ msgbox SeafloorCavern_Room9_Text_2352F6, 4
+ closemessage
+ applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_235035
+ waitmovement 0
+ msgbox SeafloorCavern_Room9_Text_23532B, 4
+ closemessage
+ playse SE_PC_OFF
+ delay 20
+ applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_2725AA
+ waitmovement 0
+ msgbox SeafloorCavern_Room9_Text_23546F, 4
+ closemessage
+ addobject VAR_0x8005
+ addobject VAR_0x8006
+ addobject VAR_0x8007
+ applymovement VAR_0x8007, SeafloorCavern_Room9_Movement_235057
+ applymovement VAR_0x8006, SeafloorCavern_Room9_Movement_235057
+ applymovement VAR_0x8005, SeafloorCavern_Room9_Movement_23504E
+ waitmovement 0
+ applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_2725A4
+ waitmovement 0
+ msgbox SeafloorCavern_Room9_Text_2354F0, 4
+ playse SE_PIN
+ applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_272598
+ waitmovement 0
+ applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_27259A
+ waitmovement 0
+ msgbox SeafloorCavern_Room9_Text_2355C2, 4
+ msgbox SeafloorCavern_Room9_Text_235692, 4
+ closemessage
+ applymovement VAR_0x8005, SeafloorCavern_Room9_Movement_235054
+ applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_23503A
+ waitmovement 0
+ msgbox SeafloorCavern_Room9_Text_235723, 4
+ setvar VAR_0x407B, 1
+ setvar VAR_0x405E, 1
+ clearflag FLAG_0x3CD
+ clearflag FLAG_0x33A
+ clearflag FLAG_0x33B
+ clearflag FLAG_0x356
+ clearflag FLAG_0x3E6
+ clearflag FLAG_0x3E5
+ setflag FLAG_0x347
+ setflag FLAG_0x053
+ clearflag FLAG_0x3B0
+ clearflag FLAG_0x3B1
+ setflag FLAG_SYS_WEATHER_CTRL
+ setflag FLAG_0x081
+ setflag FLAG_0x3C7
+ setvar VAR_0x40C6, 2
+ setvar VAR_0x40A2, 1
+ setflag FLAG_0x33C
+ setflag FLAG_0x33D
+ setflag FLAG_0x33F
+ setflag FLAG_0x35B
+ setflag FLAG_0x3B2
+ setflag FLAG_SPECIAL_FLAG_0x4000
+ warp ROUTE_128, 255, 38, 22
+ waitstate
+ releaseall
+ end
+
+SeafloorCavern_Room9_Movement_23502A: @ 823502A
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+SeafloorCavern_Room9_Movement_235032: @ 8235032
+ step_left
+ step_left
+ step_end
+
+SeafloorCavern_Room9_Movement_235035: @ 8235035
+ step_left
+ step_14
+ step_end
+
+SeafloorCavern_Room9_Movement_235038: @ 8235038
+ step_right
+ step_end
+
+SeafloorCavern_Room9_Movement_23503A: @ 823503A
+ step_01
+ step_40
+ step_down
+ step_41
+ step_28
+ step_end
+
+SeafloorCavern_Room9_Movement_235040: @ 8235040
+ step_14
+ step_14
+ slow_step_down
+ step_14
+ step_14
+ step_14
+ slow_step_down
+ step_14
+ step_14
+ step_14
+ step_end
+
+SeafloorCavern_Room9_Movement_23504B: @ 823504B
+ step_32
+ step_32
+ step_end
+
+SeafloorCavern_Room9_Movement_23504E: @ 823504E
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_end
+
+SeafloorCavern_Room9_Movement_235054: @ 8235054
+ step_right
+ step_right
+ step_end
+
+SeafloorCavern_Room9_Movement_235057: @ 8235057
+ step_18
+ step_18
+ step_18
+ step_18
+ step_end
+
+SeafloorCavern_Room9_Movement_23505C: @ 823505C
+ step_14
+ step_14
+ step_end
+
+SeafloorCavern_Room9_Text_23505F: @ 823505F
+ .string "ARCHIE: Hold it right there.$"
+
+SeafloorCavern_Room9_Text_23507C: @ 823507C
+ .string "ARCHIE: Fufufu…\n"
+ .string "So it was you, after all.$"
+
+SeafloorCavern_Room9_Text_2350A6: @ 82350A6
+ .string "ARCHIE: Behold!\p"
+ .string "See how beautiful it is, the sleeping\n"
+ .string "form of the ancient POKéMON KYOGRE!\p"
+ .string "I have waited so long for this day to\n"
+ .string "come…$"
+
+SeafloorCavern_Room9_Text_23512C: @ 823512C
+ .string "ARCHIE: It surprises me, how you’ve\n"
+ .string "managed to chase me here.\p"
+ .string "But that’s all over now.\p"
+ .string "For the realization of my dream,\n"
+ .string "you must disappear now!$"
+
+SeafloorCavern_Room9_Text_2351BC: @ 82351BC
+ .string "What?!\n"
+ .string "I lost to a mere child like you?!$"
+
+SeafloorCavern_Room9_Text_2351E5: @ 82351E5
+ .string "ARCHIE: Fufufu…\p"
+ .string "I commend you. I must recognize that\n"
+ .string "you are truly gifted.\p"
+ .string "But!\n"
+ .string "I have this in my possession!\p"
+ .string "With this RED ORB, I can make KYOGRE…$"
+
+SeafloorCavern_Room9_Text_235279: @ 8235279
+ .string "The RED ORB suddenly began shining\n"
+ .string "by itself!$"
+
+SeafloorCavern_Room9_Text_2352A7: @ 82352A7
+ .string "ARCHIE: What?!\p"
+ .string "I didn’t do anything.\n"
+ .string "Why did the RED ORB…\p"
+ .string "Where did KYOGRE go?$"
+
+SeafloorCavern_Room9_Text_2352F6: @ 82352F6
+ .string "ARCHIE: Hm? It’s a message from our\n"
+ .string "members outside…$"
+
+SeafloorCavern_Room9_Text_23532B: @ 823532B
+ .string "ARCHIE: Yes, what is it?\p"
+ .string "Hm…\n"
+ .string "It’s raining heavily?\p"
+ .string "Good… That should have happened.\n"
+ .string "That is why we awakened KYOGRE,\l"
+ .string "to realize TEAM AQUA’s vision of\l"
+ .string "expanding the sea.\p"
+ .string "What?!\p"
+ .string "It’s raining far harder than we\n"
+ .string "envisioned? You’re in danger?\p"
+ .string "That can’t be…\n"
+ .string "That’s just not possible…\p"
+ .string "Hold your position and monitor\n"
+ .string "the situation!$"
+
+SeafloorCavern_Room9_Text_23546F: @ 823546F
+ .string "ARCHIE: There’s something wrong…\p"
+ .string "The RED ORB is supposed to awaken\n"
+ .string "and control KYOGRE…\p"
+ .string "But… Why?\n"
+ .string "Why did KYOGRE disappear?\p"
+ .string "Why?!$"
+
+SeafloorCavern_Room9_Text_2354F0: @ 82354F0
+ .string "MAXIE: What have you wrought?\p"
+ .string "ARCHIE… You’ve finally awoken KYOGRE,\n"
+ .string "haven’t you?\p"
+ .string "What will happen to the world if this\n"
+ .string "downpour continues for all eternity?\p"
+ .string "The world’s landmass will drown in\n"
+ .string "the deepening sea…$"
+
+SeafloorCavern_Room9_Text_2355C2: @ 82355C2
+ .string "ARCHIE: W-what?!\n"
+ .string "Don’t get all high and mighty with me!\p"
+ .string "Wasn’t it you, TEAM MAGMA, that\n"
+ .string "infuriated GROUDON?\p"
+ .string "So long as I have this RED ORB,\n"
+ .string "I should be able to control KYOGRE…\p"
+ .string "I should be able to control it…$"
+
+SeafloorCavern_Room9_Text_235692: @ 8235692
+ .string "MAXIE: We don’t have the time to\n"
+ .string "argue about it here!\p"
+ .string "Get outside and see for yourself!\p"
+ .string "See if what you’ve wrought is the\n"
+ .string "world that we desired!$"
+
+SeafloorCavern_Room9_Text_235723: @ 8235723
+ .string "MAXIE: {PLAYER}, come on, you have\n"
+ .string "to get out of here, too!$"
+
diff --git a/data/scripts/maps/SealedChamber_InnerRoom.inc b/data/scripts/maps/SealedChamber_InnerRoom.inc
new file mode 100644
index 000000000..318e3beee
--- /dev/null
+++ b/data/scripts/maps/SealedChamber_InnerRoom.inc
@@ -0,0 +1,89 @@
+SealedChamber_InnerRoom_MapScripts:: @ 82391F7
+ .byte 0
+
+SealedChamber_InnerRoom_EventScript_2391F8:: @ 82391F8
+ lockall
+ braillemessage SealedChamber_InnerRoom_Braille_2A6B99
+ waitbuttonpress
+ hidebox2
+ checkflag FLAG_0x0E4
+ goto_eq SealedChamber_InnerRoom_EventScript_239253
+ specialvar VAR_RESULT, CheckRelicanthWailord
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SealedChamber_InnerRoom_EventScript_239253
+ fadeoutbgm 0
+ playse SE_TRACK_MOVE
+ special DoSealedChamberShakingEffect1
+ waitstate
+ delay 40
+ special DoSealedChamberShakingEffect2
+ waitstate
+ playse SE_DOOR
+ delay 40
+ special DoSealedChamberShakingEffect2
+ waitstate
+ playse SE_DOOR
+ delay 40
+ special DoSealedChamberShakingEffect2
+ waitstate
+ playse SE_DOOR
+ delay 40
+ msgbox gUnknown_0827301B, 4
+ closemessage
+ fadeinbgm 0
+ setflag FLAG_0x0E4
+ releaseall
+ end
+
+SealedChamber_InnerRoom_EventScript_239253:: @ 8239253
+ releaseall
+ end
+
+SealedChamber_InnerRoom_EventScript_239255:: @ 8239255
+ lockall
+ braillemessage SealedChamber_InnerRoom_Braille_2A6BCA
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
+SealedChamber_InnerRoom_EventScript_23925F:: @ 823925F
+ lockall
+ braillemessage SealedChamber_InnerRoom_Braille_2A6BEC
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
+SealedChamber_InnerRoom_EventScript_239269:: @ 8239269
+ lockall
+ braillemessage SealedChamber_InnerRoom_Braille_2A6C0D
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
+SealedChamber_InnerRoom_EventScript_239273:: @ 8239273
+ lockall
+ braillemessage SealedChamber_InnerRoom_Braille_2A6C34
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
+SealedChamber_InnerRoom_EventScript_23927D:: @ 823927D
+ lockall
+ braillemessage SealedChamber_InnerRoom_Braille_2A6C48
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
+SealedChamber_InnerRoom_EventScript_239287:: @ 8239287
+ lockall
+ braillemessage SealedChamber_InnerRoom_Braille_2A6C73
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
diff --git a/data/scripts/maps/SealedChamber_OuterRoom.inc b/data/scripts/maps/SealedChamber_OuterRoom.inc
new file mode 100644
index 000000000..a0e16c442
--- /dev/null
+++ b/data/scripts/maps/SealedChamber_OuterRoom.inc
@@ -0,0 +1,132 @@
+SealedChamber_OuterRoom_MapScripts:: @ 8239106
+ map_script 5, SealedChamber_OuterRoom_MapScript1_239116
+ map_script 3, SealedChamber_OuterRoom_MapScript1_239127
+ map_script 1, SealedChamber_OuterRoom_MapScript1_23912B
+ .byte 0
+
+SealedChamber_OuterRoom_MapScript1_239116: @ 8239116
+ setdivewarp UNDERWATER_SEALED_CHAMBER, 255, 12, 44
+ setescapewarp UNDERWATER_SEALED_CHAMBER, 255, 12, 44
+ end
+
+SealedChamber_OuterRoom_MapScript1_239127: @ 8239127
+ setflag FLAG_0x8BC
+ end
+
+SealedChamber_OuterRoom_MapScript1_23912B: @ 823912B
+ checkflag FLAG_SYS_BRAILLE_DIG
+ call_if 0, SealedChamber_OuterRoom_EventScript_239135
+ end
+
+SealedChamber_OuterRoom_EventScript_239135:: @ 8239135
+ setmetatile 9, 1, 553, 1
+ setmetatile 10, 1, 553, 1
+ setmetatile 11, 1, 553, 1
+ setmetatile 9, 2, 565, 1
+ setmetatile 10, 2, 565, 1
+ setmetatile 11, 2, 565, 1
+ return
+
+SealedChamber_OuterRoom_EventScript_23916C:: @ 823916C
+ lockall
+ braillemessage SealedChamber_OuterRoom_Braille_2A6B27
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
+SealedChamber_OuterRoom_EventScript_239176:: @ 8239176
+ lockall
+ braillemessage SealedChamber_OuterRoom_Braille_2A6B31
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
+SealedChamber_OuterRoom_EventScript_239180:: @ 8239180
+ lockall
+ braillemessage SealedChamber_OuterRoom_Braille_2A6B3B
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
+SealedChamber_OuterRoom_EventScript_23918A:: @ 823918A
+ lockall
+ braillemessage SealedChamber_OuterRoom_Braille_2A6B45
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
+SealedChamber_OuterRoom_EventScript_239194:: @ 8239194
+ lockall
+ braillemessage SealedChamber_OuterRoom_Braille_2A6B4F
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
+SealedChamber_OuterRoom_EventScript_23919E:: @ 823919E
+ lockall
+ braillemessage SealedChamber_OuterRoom_Braille_2A6B59
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
+SealedChamber_OuterRoom_EventScript_2391A8:: @ 82391A8
+ lockall
+ braillemessage SealedChamber_OuterRoom_Braille_2A6B63
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
+SealedChamber_OuterRoom_EventScript_2391B2:: @ 82391B2
+ lockall
+ braillemessage SealedChamber_OuterRoom_Braille_2A6B6E
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
+SealedChamber_OuterRoom_EventScript_2391BC:: @ 82391BC
+ lockall
+ braillemessage SealedChamber_OuterRoom_Braille_2A6B76
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
+SealedChamber_OuterRoom_EventScript_2391C6:: @ 82391C6
+ lockall
+ braillemessage SealedChamber_OuterRoom_Braille_2A6B81
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
+SealedChamber_OuterRoom_EventScript_2391D0:: @ 82391D0
+ lockall
+ checkflag FLAG_SYS_BRAILLE_DIG
+ goto_eq SealedChamber_OuterRoom_EventScript_2391E3
+ braillemessage SealedChamber_OuterRoom_Braille_2A6B89
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
+SealedChamber_OuterRoom_EventScript_2391E3:: @ 82391E3
+ msgbox gUnknown_0827304E, 4
+ releaseall
+ end
+
+SealedChamber_OuterRoom_EventScript_2391ED:: @ 82391ED
+ lockall
+ braillemessage SealedChamber_OuterRoom_Braille_2A6B89
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
diff --git a/data/scripts/maps/SecretBase_BlueCave1.inc b/data/scripts/maps/SecretBase_BlueCave1.inc
new file mode 100644
index 000000000..a7f979bde
--- /dev/null
+++ b/data/scripts/maps/SecretBase_BlueCave1.inc
@@ -0,0 +1 @@
+SecretBase_BlueCave1_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_BlueCave2.inc b/data/scripts/maps/SecretBase_BlueCave2.inc
new file mode 100644
index 000000000..cb4ad3565
--- /dev/null
+++ b/data/scripts/maps/SecretBase_BlueCave2.inc
@@ -0,0 +1 @@
+SecretBase_BlueCave2_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_BlueCave3.inc b/data/scripts/maps/SecretBase_BlueCave3.inc
new file mode 100644
index 000000000..f49ff6dc1
--- /dev/null
+++ b/data/scripts/maps/SecretBase_BlueCave3.inc
@@ -0,0 +1 @@
+SecretBase_BlueCave3_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_BlueCave4.inc b/data/scripts/maps/SecretBase_BlueCave4.inc
new file mode 100644
index 000000000..faa808545
--- /dev/null
+++ b/data/scripts/maps/SecretBase_BlueCave4.inc
@@ -0,0 +1 @@
+SecretBase_BlueCave4_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_BrownCave1.inc b/data/scripts/maps/SecretBase_BrownCave1.inc
new file mode 100644
index 000000000..9d2925611
--- /dev/null
+++ b/data/scripts/maps/SecretBase_BrownCave1.inc
@@ -0,0 +1 @@
+SecretBase_BrownCave1_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_BrownCave2.inc b/data/scripts/maps/SecretBase_BrownCave2.inc
new file mode 100644
index 000000000..e9c497fac
--- /dev/null
+++ b/data/scripts/maps/SecretBase_BrownCave2.inc
@@ -0,0 +1 @@
+SecretBase_BrownCave2_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_BrownCave3.inc b/data/scripts/maps/SecretBase_BrownCave3.inc
new file mode 100644
index 000000000..284262d91
--- /dev/null
+++ b/data/scripts/maps/SecretBase_BrownCave3.inc
@@ -0,0 +1 @@
+SecretBase_BrownCave3_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_BrownCave4.inc b/data/scripts/maps/SecretBase_BrownCave4.inc
new file mode 100644
index 000000000..84f685508
--- /dev/null
+++ b/data/scripts/maps/SecretBase_BrownCave4.inc
@@ -0,0 +1 @@
+SecretBase_BrownCave4_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_RedCave1.inc b/data/scripts/maps/SecretBase_RedCave1.inc
new file mode 100644
index 000000000..f9c55a2b5
--- /dev/null
+++ b/data/scripts/maps/SecretBase_RedCave1.inc
@@ -0,0 +1 @@
+SecretBase_RedCave1_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_RedCave2.inc b/data/scripts/maps/SecretBase_RedCave2.inc
new file mode 100644
index 000000000..e7e0c7ba5
--- /dev/null
+++ b/data/scripts/maps/SecretBase_RedCave2.inc
@@ -0,0 +1 @@
+SecretBase_RedCave2_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_RedCave3.inc b/data/scripts/maps/SecretBase_RedCave3.inc
new file mode 100644
index 000000000..512f7f92a
--- /dev/null
+++ b/data/scripts/maps/SecretBase_RedCave3.inc
@@ -0,0 +1 @@
+SecretBase_RedCave3_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_RedCave4.inc b/data/scripts/maps/SecretBase_RedCave4.inc
new file mode 100644
index 000000000..98e79f89f
--- /dev/null
+++ b/data/scripts/maps/SecretBase_RedCave4.inc
@@ -0,0 +1 @@
+SecretBase_RedCave4_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_Shrub1.inc b/data/scripts/maps/SecretBase_Shrub1.inc
new file mode 100644
index 000000000..24b8685a0
--- /dev/null
+++ b/data/scripts/maps/SecretBase_Shrub1.inc
@@ -0,0 +1 @@
+SecretBase_Shrub1_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_Shrub2.inc b/data/scripts/maps/SecretBase_Shrub2.inc
new file mode 100644
index 000000000..dad94f46d
--- /dev/null
+++ b/data/scripts/maps/SecretBase_Shrub2.inc
@@ -0,0 +1 @@
+SecretBase_Shrub2_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_Shrub3.inc b/data/scripts/maps/SecretBase_Shrub3.inc
new file mode 100644
index 000000000..22c67c939
--- /dev/null
+++ b/data/scripts/maps/SecretBase_Shrub3.inc
@@ -0,0 +1 @@
+SecretBase_Shrub3_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_Shrub4.inc b/data/scripts/maps/SecretBase_Shrub4.inc
new file mode 100644
index 000000000..1a9952232
--- /dev/null
+++ b/data/scripts/maps/SecretBase_Shrub4.inc
@@ -0,0 +1 @@
+SecretBase_Shrub4_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_Tree1.inc b/data/scripts/maps/SecretBase_Tree1.inc
new file mode 100644
index 000000000..7e7704d6a
--- /dev/null
+++ b/data/scripts/maps/SecretBase_Tree1.inc
@@ -0,0 +1 @@
+SecretBase_Tree1_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_Tree2.inc b/data/scripts/maps/SecretBase_Tree2.inc
new file mode 100644
index 000000000..b30a6ec74
--- /dev/null
+++ b/data/scripts/maps/SecretBase_Tree2.inc
@@ -0,0 +1 @@
+SecretBase_Tree2_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_Tree3.inc b/data/scripts/maps/SecretBase_Tree3.inc
new file mode 100644
index 000000000..9512bbb80
--- /dev/null
+++ b/data/scripts/maps/SecretBase_Tree3.inc
@@ -0,0 +1 @@
+SecretBase_Tree3_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_Tree4.inc b/data/scripts/maps/SecretBase_Tree4.inc
new file mode 100644
index 000000000..62f41627f
--- /dev/null
+++ b/data/scripts/maps/SecretBase_Tree4.inc
@@ -0,0 +1 @@
+SecretBase_Tree4_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_YellowCave1.inc b/data/scripts/maps/SecretBase_YellowCave1.inc
new file mode 100644
index 000000000..fa56be0eb
--- /dev/null
+++ b/data/scripts/maps/SecretBase_YellowCave1.inc
@@ -0,0 +1 @@
+SecretBase_YellowCave1_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_YellowCave2.inc b/data/scripts/maps/SecretBase_YellowCave2.inc
new file mode 100644
index 000000000..86c3c876f
--- /dev/null
+++ b/data/scripts/maps/SecretBase_YellowCave2.inc
@@ -0,0 +1 @@
+SecretBase_YellowCave2_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_YellowCave3.inc b/data/scripts/maps/SecretBase_YellowCave3.inc
new file mode 100644
index 000000000..26311e6c5
--- /dev/null
+++ b/data/scripts/maps/SecretBase_YellowCave3.inc
@@ -0,0 +1 @@
+SecretBase_YellowCave3_MapScripts:: @ 823B483
diff --git a/data/scripts/maps/SecretBase_YellowCave4.inc b/data/scripts/maps/SecretBase_YellowCave4.inc
new file mode 100644
index 000000000..32da39388
--- /dev/null
+++ b/data/scripts/maps/SecretBase_YellowCave4.inc
@@ -0,0 +1,24 @@
+SecretBase_YellowCave4_MapScripts:: @ 823B483
+ map_script 4, SecretBase_RedCave1_MapScript2_23B498
+ map_script 3, SecretBase_RedCave1_MapScript1_23B4A2
+ map_script 2, SecretBase_RedCave1_MapScript2_23B4AE
+ map_script 5, SecretBase_RedCave1_MapScript1_23B4B8
+ .byte 0
+
+SecretBase_RedCave1_MapScript2_23B498: @ 823B498
+ map_script_2 VAR_0x4089, 0, EventScript_275D0C
+ .2byte 0
+
+SecretBase_RedCave1_MapScript1_23B4A2: @ 823B4A2
+ call SecretBase_RedCave1_EventScript_275CE1
+ special sub_80E95D4
+ special sub_80EB1AC
+ end
+
+SecretBase_RedCave1_MapScript2_23B4AE: @ 823B4AE
+ map_script_2 VAR_0x4097, 0, SecretBase_RedCave1_EventScript_275B81
+ .2byte 0
+
+SecretBase_RedCave1_MapScript1_23B4B8: @ 823B4B8
+ setstepcallback 6
+ end
diff --git a/data/scripts/maps/ShoalCave_HighTideEntranceRoom.inc b/data/scripts/maps/ShoalCave_HighTideEntranceRoom.inc
new file mode 100644
index 000000000..d2a93f8e9
--- /dev/null
+++ b/data/scripts/maps/ShoalCave_HighTideEntranceRoom.inc
@@ -0,0 +1,3 @@
+ShoalCave_HighTideEntranceRoom_MapScripts:: @ 82372AB
+ .byte 0
+
diff --git a/data/scripts/maps/ShoalCave_HighTideInnerRoom.inc b/data/scripts/maps/ShoalCave_HighTideInnerRoom.inc
new file mode 100644
index 000000000..6045f80a6
--- /dev/null
+++ b/data/scripts/maps/ShoalCave_HighTideInnerRoom.inc
@@ -0,0 +1,3 @@
+ShoalCave_HighTideInnerRoom_MapScripts:: @ 82372AC
+ .byte 0
+
diff --git a/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc b/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc
new file mode 100644
index 000000000..5d83dadf9
--- /dev/null
+++ b/data/scripts/maps/ShoalCave_LowTideEntranceRoom.inc
@@ -0,0 +1,103 @@
+ShoalCave_LowTideEntranceRoom_MapScripts:: @ 8236DBA
+ map_script 3, ShoalCave_LowTideEntranceRoom_MapScript1_236DC0
+ .byte 0
+
+ShoalCave_LowTideEntranceRoom_MapScript1_236DC0: @ 8236DC0
+ special sub_8137988
+ checkflag FLAG_SYS_SHOAL_TIDE
+ goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236DD1
+ goto ShoalCave_LowTideEntranceRoom_EventScript_236DD5
+
+ShoalCave_LowTideEntranceRoom_EventScript_236DD1:: @ 8236DD1
+ setmaplayoutindex 168
+ end
+
+ShoalCave_LowTideEntranceRoom_EventScript_236DD5:: @ 8236DD5
+ setmaplayoutindex 164
+ end
+
+ShoalCave_LowTideEntranceRoom_EventScript_236DD9:: @ 8236DD9
+ lock
+ faceplayer
+ dodailyevents
+ checkflag FLAG_SYS_SHOAL_ITEM
+ call_if 1, ShoalCave_LowTideEntranceRoom_EventScript_236ED9
+ checkitem ITEM_SHOAL_SALT, 4
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236E9B
+ checkitem ITEM_SHOAL_SHELL, 4
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236E9B
+ msgbox ShoalCave_LowTideEntranceRoom_Text_2A7F37, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236ECF
+ checkitemspace ITEM_SHELL_BELL, 1
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, ShoalCave_LowTideEntranceRoom_EventScript_236E69
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236E91
+ msgbox ShoalCave_LowTideEntranceRoom_Text_2A7FAC, 4
+ takeitem ITEM_SHOAL_SALT, 4
+ takeitem ITEM_SHOAL_SHELL, 4
+ giveitem_std ITEM_SHELL_BELL
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq ShoalCave_LowTideEntranceRoom_EventScript_272054
+ msgbox ShoalCave_LowTideEntranceRoom_Text_2A8012, 4
+ setflag FLAG_0x002
+ release
+ end
+
+ShoalCave_LowTideEntranceRoom_EventScript_236E69:: @ 8236E69
+ checkitem ITEM_SHOAL_SALT, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236E7A
+ return
+
+ShoalCave_LowTideEntranceRoom_EventScript_236E7A:: @ 8236E7A
+ checkitem ITEM_SHOAL_SHELL, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236E8B
+ return
+
+ShoalCave_LowTideEntranceRoom_EventScript_236E8B:: @ 8236E8B
+ setvar VAR_RESULT, 2
+ return
+
+ShoalCave_LowTideEntranceRoom_EventScript_236E91:: @ 8236E91
+ msgbox ShoalCave_LowTideEntranceRoom_Text_2A80F5, 4
+ release
+ end
+
+ShoalCave_LowTideEntranceRoom_EventScript_236E9B:: @ 8236E9B
+ checkitem ITEM_SHOAL_SALT, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236EC5
+ checkitem ITEM_SHOAL_SHELL, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236EC5
+ msgbox ShoalCave_LowTideEntranceRoom_Text_2A7E0E, 4
+ release
+ end
+
+ShoalCave_LowTideEntranceRoom_EventScript_236EC5:: @ 8236EC5
+ msgbox ShoalCave_LowTideEntranceRoom_Text_2A7EB3, 4
+ release
+ end
+
+ShoalCave_LowTideEntranceRoom_EventScript_236ECF:: @ 8236ECF
+ msgbox ShoalCave_LowTideEntranceRoom_Text_2A80C6, 4
+ release
+ end
+
+ShoalCave_LowTideEntranceRoom_EventScript_236ED9:: @ 8236ED9
+ clearflag FLAG_0x3B8
+ clearflag FLAG_0x3B9
+ clearflag FLAG_0x3BA
+ clearflag FLAG_0x3BB
+ clearflag FLAG_0x3BC
+ clearflag FLAG_0x3BD
+ clearflag FLAG_0x3BE
+ clearflag FLAG_0x3BF
+ clearflag FLAG_SYS_SHOAL_ITEM
+ return
+
diff --git a/data/scripts/maps/ShoalCave_LowTideIceRoom.inc b/data/scripts/maps/ShoalCave_LowTideIceRoom.inc
new file mode 100644
index 000000000..3f7a5cce8
--- /dev/null
+++ b/data/scripts/maps/ShoalCave_LowTideIceRoom.inc
@@ -0,0 +1,3 @@
+ShoalCave_LowTideIceRoom_MapScripts:: @ 82396A1
+ .byte 0
+
diff --git a/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc b/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc
new file mode 100644
index 000000000..f89306140
--- /dev/null
+++ b/data/scripts/maps/ShoalCave_LowTideInnerRoom.inc
@@ -0,0 +1,158 @@
+ShoalCave_LowTideInnerRoom_MapScripts:: @ 8236EF5
+ map_script 1, ShoalCave_LowTideInnerRoom_MapScript1_236F16
+ map_script 3, ShoalCave_LowTideInnerRoom_MapScript1_236F00
+ .byte 0
+
+ShoalCave_LowTideInnerRoom_MapScript1_236F00: @ 8236F00
+ checkflag FLAG_SYS_SHOAL_TIDE
+ goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F0E
+ goto ShoalCave_LowTideInnerRoom_EventScript_236F12
+
+ShoalCave_LowTideInnerRoom_EventScript_236F0E:: @ 8236F0E
+ setmaplayoutindex 169
+ end
+
+ShoalCave_LowTideInnerRoom_EventScript_236F12:: @ 8236F12
+ setmaplayoutindex 165
+ end
+
+ShoalCave_LowTideInnerRoom_MapScript1_236F16: @ 8236F16
+ call ShoalCave_LowTideInnerRoom_EventScript_236F1C
+ end
+
+ShoalCave_LowTideInnerRoom_EventScript_236F1C:: @ 8236F1C
+ checkflag FLAG_0x3B8
+ goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F3D
+ checkflag FLAG_SYS_SHOAL_TIDE
+ goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F3D
+ setmetatile 31, 8, 856, 1
+ goto ShoalCave_LowTideInnerRoom_EventScript_236F3D
+ end
+
+ShoalCave_LowTideInnerRoom_EventScript_236F3D:: @ 8236F3D
+ checkflag FLAG_0x3B9
+ goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F5E
+ checkflag FLAG_SYS_SHOAL_TIDE
+ goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F5E
+ setmetatile 14, 26, 856, 1
+ goto ShoalCave_LowTideInnerRoom_EventScript_236F5E
+ end
+
+ShoalCave_LowTideInnerRoom_EventScript_236F5E:: @ 8236F5E
+ checkflag FLAG_0x3BC
+ goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F76
+ setmetatile 41, 20, 857, 1
+ goto ShoalCave_LowTideInnerRoom_EventScript_236F76
+ end
+
+ShoalCave_LowTideInnerRoom_EventScript_236F76:: @ 8236F76
+ checkflag FLAG_0x3BD
+ goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F8E
+ setmetatile 41, 10, 857, 1
+ goto ShoalCave_LowTideInnerRoom_EventScript_236F8E
+ end
+
+ShoalCave_LowTideInnerRoom_EventScript_236F8E:: @ 8236F8E
+ checkflag FLAG_0x3BE
+ goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FA6
+ setmetatile 6, 9, 857, 1
+ goto ShoalCave_LowTideInnerRoom_EventScript_236FA6
+ end
+
+ShoalCave_LowTideInnerRoom_EventScript_236FA6:: @ 8236FA6
+ checkflag FLAG_0x3BF
+ goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FB9
+ setmetatile 16, 13, 857, 1
+ return
+
+ShoalCave_LowTideInnerRoom_EventScript_236FB9:: @ 8236FB9
+ return
+
+ShoalCave_LowTideInnerRoom_EventScript_236FBA:: @ 8236FBA
+ lockall
+ checkflag FLAG_0x3BC
+ goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FEC
+ giveitem_std ITEM_SHOAL_SHELL
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054
+ setmetatile 41, 20, 859, 0
+ special DrawWholeMapView
+ setflag FLAG_0x3BC
+ releaseall
+ end
+
+ShoalCave_LowTideInnerRoom_EventScript_236FEC:: @ 8236FEC
+ msgbox ShoalCave_LowTideInnerRoom_Text_2A81A8, 4
+ releaseall
+ end
+
+ShoalCave_LowTideInnerRoom_EventScript_236FF6:: @ 8236FF6
+ lockall
+ checkflag FLAG_0x3BD
+ goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FEC
+ giveitem_std ITEM_SHOAL_SHELL
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054
+ setmetatile 41, 10, 859, 0
+ special DrawWholeMapView
+ setflag FLAG_0x3BD
+ releaseall
+ end
+
+ShoalCave_LowTideInnerRoom_EventScript_237028:: @ 8237028
+ lockall
+ checkflag FLAG_0x3BE
+ goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FEC
+ giveitem_std ITEM_SHOAL_SHELL
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054
+ setmetatile 6, 9, 859, 0
+ special DrawWholeMapView
+ setflag FLAG_0x3BE
+ releaseall
+ end
+
+ShoalCave_LowTideInnerRoom_EventScript_23705A:: @ 823705A
+ lockall
+ checkflag FLAG_0x3BF
+ goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FEC
+ giveitem_std ITEM_SHOAL_SHELL
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054
+ setmetatile 16, 13, 859, 0
+ special DrawWholeMapView
+ setflag FLAG_0x3BF
+ releaseall
+ end
+
+ShoalCave_LowTideInnerRoom_EventScript_23708C:: @ 823708C
+ lockall
+ checkflag FLAG_0x3B8
+ goto_eq ShoalCave_LowTideInnerRoom_EventScript_2370BE
+ giveitem_std ITEM_SHOAL_SALT
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054
+ setmetatile 31, 8, 858, 0
+ special DrawWholeMapView
+ setflag FLAG_0x3B8
+ releaseall
+ end
+
+ShoalCave_LowTideInnerRoom_EventScript_2370BE:: @ 82370BE
+ msgbox ShoalCave_LowTideInnerRoom_Text_2A8169, 4
+ releaseall
+ end
+
+ShoalCave_LowTideInnerRoom_EventScript_2370C8:: @ 82370C8
+ lockall
+ checkflag FLAG_0x3B9
+ goto_eq ShoalCave_LowTideInnerRoom_EventScript_2370BE
+ giveitem_std ITEM_SHOAL_SALT
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054
+ setmetatile 14, 26, 858, 0
+ special DrawWholeMapView
+ setflag FLAG_0x3B9
+ releaseall
+ end
+
diff --git a/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc b/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc
new file mode 100644
index 000000000..a528dde99
--- /dev/null
+++ b/data/scripts/maps/ShoalCave_LowTideLowerRoom.inc
@@ -0,0 +1,63 @@
+ShoalCave_LowTideLowerRoom_MapScripts:: @ 8237156
+ map_script 1, ShoalCave_LowTideLowerRoom_MapScript1_23715C
+ .byte 0
+
+ShoalCave_LowTideLowerRoom_MapScript1_23715C: @ 823715C
+ call ShoalCave_LowTideLowerRoom_EventScript_237162
+ end
+
+ShoalCave_LowTideLowerRoom_EventScript_237162:: @ 8237162
+ checkflag FLAG_0x3BB
+ goto_eq ShoalCave_LowTideLowerRoom_EventScript_237175
+ setmetatile 18, 2, 856, 1
+ return
+
+ShoalCave_LowTideLowerRoom_EventScript_237175:: @ 8237175
+ return
+
+ShoalCave_LowTideLowerRoom_EventScript_237176:: @ 8237176
+ lockall
+ checkflag FLAG_0x3BB
+ goto_eq ShoalCave_LowTideLowerRoom_EventScript_2371A8
+ giveitem_std ITEM_SHOAL_SALT
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq ShoalCave_LowTideLowerRoom_EventScript_272054
+ setmetatile 18, 2, 858, 0
+ special DrawWholeMapView
+ setflag FLAG_0x3BB
+ releaseall
+ end
+
+ShoalCave_LowTideLowerRoom_EventScript_2371A8:: @ 82371A8
+ msgbox ShoalCave_LowTideLowerRoom_Text_2A8169, 4
+ releaseall
+ end
+
+ShoalCave_LowTideLowerRoom_EventScript_2371B2:: @ 82371B2
+ lock
+ faceplayer
+ checkflag FLAG_0x11B
+ goto_eq ShoalCave_LowTideLowerRoom_EventScript_2371E1
+ msgbox ShoalCave_LowTideLowerRoom_Text_2371EB, 4
+ giveitem_std ITEM_FOCUS_BAND
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq ShoalCave_LowTideLowerRoom_EventScript_272054
+ setflag FLAG_0x11B
+ release
+ end
+
+ShoalCave_LowTideLowerRoom_EventScript_2371E1:: @ 82371E1
+ msgbox ShoalCave_LowTideLowerRoom_Text_23728D, 4
+ release
+ end
+
+ShoalCave_LowTideLowerRoom_Text_2371EB: @ 82371EB
+ .string "The penetrating cold around these\n"
+ .string "parts is an impediment to training.\p"
+ .string "But with focus, one can overcome!\p"
+ .string "With this FOCUS BAND, buckle down and\n"
+ .string "withstand the cold!$"
+
+ShoalCave_LowTideLowerRoom_Text_23728D: @ 823728D
+ .string "Everything starts with focus!$"
+
diff --git a/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc b/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc
new file mode 100644
index 000000000..b8c6bb2bb
--- /dev/null
+++ b/data/scripts/maps/ShoalCave_LowTideStairsRoom.inc
@@ -0,0 +1,35 @@
+ShoalCave_LowTideStairsRoom_MapScripts:: @ 82370FA
+ map_script 1, ShoalCave_LowTideStairsRoom_MapScript1_237100
+ .byte 0
+
+ShoalCave_LowTideStairsRoom_MapScript1_237100: @ 8237100
+ call ShoalCave_LowTideStairsRoom_EventScript_237106
+ end
+
+ShoalCave_LowTideStairsRoom_EventScript_237106:: @ 8237106
+ checkflag FLAG_0x3BA
+ goto_eq ShoalCave_LowTideStairsRoom_EventScript_237119
+ setmetatile 11, 11, 856, 1
+ return
+
+ShoalCave_LowTideStairsRoom_EventScript_237119:: @ 8237119
+ return
+
+ShoalCave_LowTideStairsRoom_EventScript_23711A:: @ 823711A
+ lockall
+ checkflag FLAG_0x3BA
+ goto_eq ShoalCave_LowTideStairsRoom_EventScript_23714C
+ giveitem_std ITEM_SHOAL_SALT
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq ShoalCave_LowTideStairsRoom_EventScript_272054
+ setmetatile 11, 11, 858, 0
+ special DrawWholeMapView
+ setflag FLAG_0x3BA
+ releaseall
+ end
+
+ShoalCave_LowTideStairsRoom_EventScript_23714C:: @ 823714C
+ msgbox ShoalCave_LowTideStairsRoom_Text_2A8169, 4
+ releaseall
+ end
+
diff --git a/data/scripts/maps/SingleBattleColosseum.inc b/data/scripts/maps/SingleBattleColosseum.inc
new file mode 100644
index 000000000..06ed3ef16
--- /dev/null
+++ b/data/scripts/maps/SingleBattleColosseum.inc
@@ -0,0 +1,3 @@
+SingleBattleColosseum_MapScripts:: @ 823B77D
+ .byte 0
+
diff --git a/data/scripts/maps/SkyPillar_1F.inc b/data/scripts/maps/SkyPillar_1F.inc
new file mode 100644
index 000000000..25fa53851
--- /dev/null
+++ b/data/scripts/maps/SkyPillar_1F.inc
@@ -0,0 +1,13 @@
+SkyPillar_1F_MapScripts:: @ 8239615
+ map_script 3, SkyPillar_1F_MapScript1_23961B
+ .byte 0
+
+SkyPillar_1F_MapScript1_23961B: @ 823961B
+ compare_var_to_value VAR_0x40CA, 2
+ call_if 0, SkyPillar_1F_EventScript_239627
+ end
+
+SkyPillar_1F_EventScript_239627:: @ 8239627
+ setmaplayoutindex 433
+ return
+
diff --git a/data/scripts/maps/SkyPillar_2F.inc b/data/scripts/maps/SkyPillar_2F.inc
new file mode 100644
index 000000000..c711fa0eb
--- /dev/null
+++ b/data/scripts/maps/SkyPillar_2F.inc
@@ -0,0 +1,21 @@
+SkyPillar_2F_MapScripts:: @ 823962B
+ map_script 2, SkyPillar_2F_MapScript2_2A8327
+ map_script 3, SkyPillar_2F_MapScript1_23963B
+ map_script 5, SkyPillar_2F_MapScript1_239650
+ .byte 0
+
+SkyPillar_2F_MapScript1_23963B: @ 823963B
+ compare_var_to_value VAR_0x40CA, 2
+ call_if 0, SkyPillar_2F_EventScript_23964C
+ copyvar VAR_ICE_STEP_COUNT, 0x1
+ end
+
+SkyPillar_2F_EventScript_23964C:: @ 823964C
+ setmaplayoutindex 434
+ return
+
+SkyPillar_2F_MapScript1_239650: @ 8239650
+ setstepcallback 7
+ setholewarp SKY_PILLAR_1F, 255, 0, 0
+ end
+
diff --git a/data/scripts/maps/SkyPillar_3F.inc b/data/scripts/maps/SkyPillar_3F.inc
new file mode 100644
index 000000000..e376c6aae
--- /dev/null
+++ b/data/scripts/maps/SkyPillar_3F.inc
@@ -0,0 +1,13 @@
+SkyPillar_3F_MapScripts:: @ 823965B
+ map_script 3, SkyPillar_3F_MapScript1_239661
+ .byte 0
+
+SkyPillar_3F_MapScript1_239661: @ 8239661
+ compare_var_to_value VAR_0x40CA, 2
+ call_if 0, SkyPillar_3F_EventScript_23966D
+ end
+
+SkyPillar_3F_EventScript_23966D:: @ 823966D
+ setmaplayoutindex 435
+ return
+
diff --git a/data/scripts/maps/SkyPillar_4F.inc b/data/scripts/maps/SkyPillar_4F.inc
new file mode 100644
index 000000000..99fc10cdc
--- /dev/null
+++ b/data/scripts/maps/SkyPillar_4F.inc
@@ -0,0 +1,21 @@
+SkyPillar_4F_MapScripts:: @ 8239671
+ map_script 2, SkyPillar_4F_MapScript2_2A8327
+ map_script 3, SkyPillar_4F_MapScript1_239681
+ map_script 5, SkyPillar_4F_MapScript1_239696
+ .byte 0
+
+SkyPillar_4F_MapScript1_239681: @ 8239681
+ compare_var_to_value VAR_0x40CA, 2
+ call_if 0, SkyPillar_4F_EventScript_239692
+ copyvar VAR_ICE_STEP_COUNT, 0x1
+ end
+
+SkyPillar_4F_EventScript_239692:: @ 8239692
+ setmaplayoutindex 436
+ return
+
+SkyPillar_4F_MapScript1_239696: @ 8239696
+ setstepcallback 7
+ setholewarp SKY_PILLAR_3F, 255, 0, 0
+ end
+
diff --git a/data/scripts/maps/SkyPillar_5F.inc b/data/scripts/maps/SkyPillar_5F.inc
new file mode 100644
index 000000000..b31cec23d
--- /dev/null
+++ b/data/scripts/maps/SkyPillar_5F.inc
@@ -0,0 +1,13 @@
+SkyPillar_5F_MapScripts:: @ 82396A2
+ map_script 3, SkyPillar_5F_MapScript1_2396A8
+ .byte 0
+
+SkyPillar_5F_MapScript1_2396A8: @ 82396A8
+ compare_var_to_value VAR_0x40CA, 2
+ call_if 0, SkyPillar_5F_EventScript_2396B4
+ return
+
+SkyPillar_5F_EventScript_2396B4:: @ 82396B4
+ setmaplayoutindex 437
+ return
+
diff --git a/data/scripts/maps/SkyPillar_Entrance.inc b/data/scripts/maps/SkyPillar_Entrance.inc
new file mode 100644
index 000000000..b565dff92
--- /dev/null
+++ b/data/scripts/maps/SkyPillar_Entrance.inc
@@ -0,0 +1,8 @@
+SkyPillar_Entrance_MapScripts:: @ 823929E
+ map_script 3, SkyPillar_Entrance_MapScript1_2392A4
+ .byte 0
+
+SkyPillar_Entrance_MapScript1_2392A4: @ 82392A4
+ setflag FLAG_0x8BE
+ end
+
diff --git a/data/scripts/maps/SkyPillar_Outside.inc b/data/scripts/maps/SkyPillar_Outside.inc
new file mode 100644
index 000000000..c2f211ab8
--- /dev/null
+++ b/data/scripts/maps/SkyPillar_Outside.inc
@@ -0,0 +1,174 @@
+SkyPillar_Outside_MapScripts:: @ 82392A8
+ map_script 3, SkyPillar_Outside_MapScript1_2392B8
+ map_script 1, SkyPillar_Outside_MapScript1_2392DD
+ map_script 2, SkyPillar_Outside_MapScript2_2392FA
+ .byte 0
+
+SkyPillar_Outside_MapScript1_2392B8: @ 82392B8
+ compare_var_to_value VAR_0x405E, 3
+ call_if 1, SkyPillar_Outside_EventScript_2392CF
+ compare_var_to_value VAR_0x405E, 4
+ call_if 4, SkyPillar_Outside_EventScript_2392D3
+ end
+
+SkyPillar_Outside_EventScript_2392CF:: @ 82392CF
+ setflag FLAG_SPECIAL_FLAG_0x4000
+ return
+
+SkyPillar_Outside_EventScript_2392D3:: @ 82392D3
+ checkflag FLAG_SYS_WEATHER_CTRL
+ call_if 1, SkyPillar_Outside_EventScript_27207A
+ return
+
+SkyPillar_Outside_MapScript1_2392DD: @ 82392DD
+ checkflag FLAG_0x137
+ call_if 1, SkyPillar_Outside_EventScript_2392E7
+ end
+
+SkyPillar_Outside_EventScript_2392E7:: @ 82392E7
+ setmetatile 14, 4, 682, 0
+ setmetatile 14, 5, 690, 0
+ return
+
+SkyPillar_Outside_MapScript2_2392FA: @ 82392FA
+ map_script_2 VAR_0x405E, 3, SkyPillar_Outside_EventScript_239304
+ .2byte 0
+
+SkyPillar_Outside_EventScript_239304:: @ 8239304
+ lockall
+ applymovement 1, SkyPillar_Outside_Movement_2393D3
+ waitmovement 0
+ applymovement 255, SkyPillar_Outside_Movement_2725A4
+ waitmovement 0
+ msgbox SkyPillar_Outside_Text_239416, 4
+ closemessage
+ delay 30
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 8
+ setvar VAR_0x8007, 3
+ special sub_8139560
+ waitstate
+ delay 40
+ msgbox SkyPillar_Outside_Text_2394BC, 4
+ closemessage
+ applymovement 255, SkyPillar_Outside_Movement_2393EB
+ applymovement 1, SkyPillar_Outside_Movement_2393DE
+ waitmovement 0
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 20
+ setvar VAR_0x8007, 5
+ special sub_8139560
+ waitstate
+ delay 20
+ applymovement 1, SkyPillar_Outside_Movement_2725A4
+ waitmovement 0
+ delay 10
+ applymovement 1, SkyPillar_Outside_Movement_2725A8
+ waitmovement 0
+ delay 20
+ applymovement 1, SkyPillar_Outside_Movement_2725AA
+ waitmovement 0
+ delay 30
+ msgbox SkyPillar_Outside_Text_23950C, 4
+ closemessage
+ setflag FLAG_SYS_WEATHER_CTRL
+ setweather 15
+ doweather
+ special sub_81379F8
+ waitstate
+ delay 30
+ msgbox SkyPillar_Outside_Text_23953A, 4
+ closemessage
+ playse SE_KAIDAN
+ fadescreenswapbuffers 1
+ clearflag FLAG_SPECIAL_FLAG_0x4000
+ setvar VAR_0x405E, 4
+ removeobject 1
+ clearflag FLAG_0x330
+ fadescreenswapbuffers 0
+ releaseall
+ end
+
+SkyPillar_Outside_Movement_2393D3: @ 82393D3
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_end
+
+SkyPillar_Outside_Movement_2393DE: @ 82393DE
+ step_left
+ step_left
+ step_left
+ step_up
+ step_up
+ step_up
+ step_up
+ step_right
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+SkyPillar_Outside_Movement_2393EB: @ 82393EB
+ step_left
+ step_left
+ step_left
+ step_left
+ step_up
+ step_up
+ step_up
+ step_up
+ step_right
+ step_up
+ step_up
+ step_up
+ step_end
+
+SkyPillar_Outside_EventScript_2393F8:: @ 82393F8
+ end
+
+SkyPillar_Outside_EventScript_2393F9:: @ 82393F9
+ msgbox SkyPillar_Outside_Text_239402, 3
+ end
+
+SkyPillar_Outside_Text_239402: @ 8239402
+ .string "The door is closed.$"
+
+SkyPillar_Outside_Text_239416: @ 8239416
+ .string "WALLACE: Oh, my, I’m terribly sorry!\p"
+ .string "In my haste, I didn’t notice that\n"
+ .string "I’d left you behind!\p"
+ .string "I’ve opened the locked door of\n"
+ .string "the SKY PILLAR.\p"
+ .string "{PLAYER}{KUN}, let’s be on our way!$"
+
+SkyPillar_Outside_Text_2394BC: @ 82394BC
+ .string "WALLACE: It’s an earthquake!\p"
+ .string "There’s not a moment to waste!\n"
+ .string "We’ve got to hurry!$"
+
+SkyPillar_Outside_Text_23950C: @ 823950C
+ .string "WALLACE: Hmm…\n"
+ .string "The situation is getting worse…$"
+
+SkyPillar_Outside_Text_23953A: @ 823953A
+ .string "WALLACE: This isn’t good…\p"
+ .string "The weather distortion is spreading\n"
+ .string "even here…\p"
+ .string "{PLAYER}{KUN}.\p"
+ .string "RAYQUAZA should be farther up\n"
+ .string "from here.\p"
+ .string "I’m worried about SOOTOPOLIS.\n"
+ .string "I’ve got to go back.\p"
+ .string "Everything is in your hands now.\n"
+ .string "Don’t fail us!$"
diff --git a/data/scripts/maps/SkyPillar_Top.inc b/data/scripts/maps/SkyPillar_Top.inc
new file mode 100644
index 000000000..d5a4e477c
--- /dev/null
+++ b/data/scripts/maps/SkyPillar_Top.inc
@@ -0,0 +1,189 @@
+SkyPillar_Top_MapScripts:: @ 82396B8
+ map_script 5, SkyPillar_Top_MapScript1_2396C8
+ map_script 3, SkyPillar_Top_MapScript1_2396E6
+ map_script 4, SkyPillar_Top_MapScript2_239713
+ .byte 0
+
+SkyPillar_Top_MapScript1_2396C8: @ 82396C8
+ checkflag FLAG_SYS_CTRL_OBJ_DELETE
+ call_if 1, SkyPillar_Top_EventScript_2396D2
+ end
+
+SkyPillar_Top_EventScript_2396D2:: @ 82396D2
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 7
+ goto_if 5, SkyPillar_Top_EventScript_27374E
+ removeobject VAR_LAST_TALKED
+ return
+
+SkyPillar_Top_MapScript1_2396E6: @ 82396E6
+ compare_var_to_value VAR_0x40CA, 2
+ call_if 0, SkyPillar_Top_EventScript_2396FD
+ compare_var_to_value VAR_0x40CA, 2
+ call_if 4, SkyPillar_Top_EventScript_239705
+ end
+
+SkyPillar_Top_EventScript_2396FD:: @ 82396FD
+ setmaplayoutindex 438
+ setobjectmovementtype 1, 8
+ return
+
+SkyPillar_Top_EventScript_239705:: @ 8239705
+ checkflag FLAG_0x1C0
+ call_if 0, SkyPillar_Top_EventScript_23970F
+ return
+
+SkyPillar_Top_EventScript_23970F:: @ 823970F
+ clearflag FLAG_0x050
+ return
+
+SkyPillar_Top_MapScript2_239713: @ 8239713
+ map_script_2 VAR_0x40CA, 0, SkyPillar_Top_EventScript_23971D
+ .2byte 0
+
+SkyPillar_Top_EventScript_23971D:: @ 823971D
+ turnobject 1, 1
+ end
+
+SkyPillar_Top_EventScript_239722:: @ 8239722
+ lockall
+ waitse
+ playmoncry SPECIES_RAYQUAZA, 2
+ delay 40
+ waitmoncry
+ setwildbattle SPECIES_RAYQUAZA, 70, ITEM_NONE
+ setflag FLAG_SYS_CTRL_OBJ_DELETE
+ special sub_80B0934
+ waitstate
+ clearflag FLAG_SYS_CTRL_OBJ_DELETE
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SkyPillar_Top_EventScript_239768
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq SkyPillar_Top_EventScript_239771
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq SkyPillar_Top_EventScript_239771
+ setflag FLAG_0x1C0
+ releaseall
+ end
+
+SkyPillar_Top_EventScript_239768:: @ 8239768
+ setflag FLAG_0x1C0
+ goto SkyPillar_Top_EventScript_23977C
+ end
+
+SkyPillar_Top_EventScript_239771:: @ 8239771
+ setvar VAR_0x8004, 406
+ goto SkyPillar_Top_EventScript_239785
+ end
+
+SkyPillar_Top_EventScript_23977C:: @ 823977C
+ fadescreenswapbuffers 1
+ removeobject VAR_LAST_TALKED
+ fadescreenswapbuffers 0
+ releaseall
+ end
+
+SkyPillar_Top_EventScript_239785:: @ 8239785
+ fadescreenswapbuffers 1
+ removeobject VAR_LAST_TALKED
+ fadescreenswapbuffers 0
+ bufferspeciesname 0, VAR_0x8004
+ msgbox gUnknown_08273204, 4
+ releaseall
+ end
+
+SkyPillar_Top_EventScript_23979A:: @ 823979A
+ lockall
+ fadeoutbgm 1
+ applymovement 255, SkyPillar_Top_Movement_2725B2
+ waitmovement 0
+ special SpawnScriptFieldObject
+ applymovement 127, SkyPillar_Top_Movement_239858
+ waitmovement 0
+ special RemoveScriptFieldObject
+ applymovement 1, SkyPillar_Top_Movement_23983A
+ waitmovement 0
+ waitse
+ playmoncry SPECIES_RAYQUAZA, 2
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 8
+ setvar VAR_0x8007, 3
+ special sub_8139560
+ waitstate
+ waitse
+ playmoncry SPECIES_RAYQUAZA, 2
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 8
+ setvar VAR_0x8007, 5
+ special sub_8139560
+ waitstate
+ waitmoncry
+ applymovement 1, SkyPillar_Top_Movement_23984B
+ waitmovement 0
+ removeobject 1
+ msgbox SkyPillar_Top_Text_239860, 4
+ closemessage
+ delay 20
+ fadeinbgm 1
+ special SpawnScriptFieldObject
+ applymovement 127, SkyPillar_Top_Movement_23985C
+ waitmovement 0
+ special RemoveScriptFieldObject
+ setvar VAR_0x405E, 5
+ setvar VAR_0x40CA, 1
+ setvar VAR_0x40D7, 1
+ releaseall
+ end
+
+SkyPillar_Top_Movement_23983A: @ 823983A
+ step_14
+ step_23
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_1f
+ step_14
+ step_20
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_end
+
+SkyPillar_Top_Movement_23984B: @ 823984B
+ step_14
+ step_1d
+ step_13
+ step_20
+ step_13
+ step_2e
+ step_32
+ step_32
+ step_32
+ step_32
+ step_32
+ step_32
+ step_end
+
+SkyPillar_Top_Movement_239858: @ 8239858
+ slow_step_up
+ slow_step_up
+ slow_step_up
+ step_end
+
+SkyPillar_Top_Movement_23985C: @ 823985C
+ slow_step_down
+ slow_step_down
+ slow_step_down
+ step_end
+
+SkyPillar_Top_Text_239860: @ 8239860
+ .string "The awakened RAYQUAZA flew off…$"
+
diff --git a/data/scripts/maps/SlateportCity.inc b/data/scripts/maps/SlateportCity.inc
new file mode 100644
index 000000000..10c809947
--- /dev/null
+++ b/data/scripts/maps/SlateportCity.inc
@@ -0,0 +1,1383 @@
+SlateportCity_MapScripts:: @ 81DCC61
+ map_script 3, SlateportCity_MapScript1_1DCC6C
+ map_script 2, SlateportCity_MapScript2_1DCD12
+ .byte 0
+
+SlateportCity_MapScript1_1DCC6C: @ 81DCC6C
+ setvar VAR_0x40AA, 0
+ call SlateportCity_EventScript_1DCC8D
+ compare_var_to_value VAR_0x4058, 1
+ call_if 1, SlateportCity_EventScript_1DCC99
+ compare_var_to_value VAR_0x40D2, 1
+ call_if 1, SlateportCity_EventScript_1DCCE7
+ end
+
+SlateportCity_EventScript_1DCC8D:: @ 81DCC8D
+ setflag FLAG_VISITED_SLATEPORT_CITY
+ setvar VAR_0x4086, 0
+ setflag FLAG_0x323
+ return
+
+SlateportCity_EventScript_1DCC99:: @ 81DCC99
+ setobjectxyperm 11, 28, 13
+ setobjectxyperm 7, 25, 13
+ setobjectxyperm 3, 25, 14
+ setobjectxyperm 6, 27, 16
+ setobjectxyperm 8, 28, 16
+ setobjectxyperm 1, 29, 16
+ setobjectxyperm 2, 31, 14
+ setobjectmovementtype 11, 8
+ setobjectmovementtype 7, 18
+ setobjectmovementtype 3, 16
+ setobjectmovementtype 6, 7
+ setobjectmovementtype 8, 7
+ setobjectmovementtype 1, 7
+ setobjectmovementtype 2, 9
+ return
+
+SlateportCity_EventScript_1DCCE7:: @ 81DCCE7
+ setflag FLAG_SPECIAL_FLAG_0x4000
+ getplayerxy VAR_0x8004, VAR_0x8005
+ compare_var_to_value VAR_0x8004, 30
+ goto_eq SlateportCity_EventScript_1DCD06
+ setobjectxyperm 35, 23, 27
+ setobjectmovementtype 35, 10
+ return
+
+SlateportCity_EventScript_1DCD06:: @ 81DCD06
+ setobjectxyperm 35, 22, 27
+ setobjectmovementtype 35, 10
+ return
+
+SlateportCity_MapScript2_1DCD12: @ 81DCD12
+ map_script_2 VAR_0x40D2, 1, SlateportCity_EventScript_1DCD1C
+ .2byte 0
+
+SlateportCity_EventScript_1DCD1C:: @ 81DCD1C
+ lockall
+ addobject 35
+ applymovement 255, SlateportCity_Movement_1DCDA8
+ applymovement 35, SlateportCity_Movement_1DCDAC
+ waitmovement 0
+ msgbox SlateportCity_Text_1DF032, 4
+ closemessage
+ applymovement 35, SlateportCity_Movement_2725A4
+ waitmovement 0
+ delay 60
+ msgbox SlateportCity_Text_1DF0FE, 4
+ applymovement 35, SlateportCity_Movement_2725A8
+ waitmovement 0
+ msgbox SlateportCity_Text_1DF12B, 4
+ closemessage
+ delay 30
+ playfanfare BGM_ME_MATCH_CALL
+ msgbox SlateportCity_Text_1DF1A6, 4
+ waitfanfare
+ closemessage
+ delay 30
+ setflag FLAG_0x0D7
+ msgbox SlateportCity_Text_1DF1D3, 4
+ closemessage
+ applymovement 35, SlateportCity_Movement_1DCDB4
+ waitmovement 0
+ removeobject 35
+ setobjectxyperm 35, 10, 12
+ setobjectmovementtype 35, 8
+ clearflag FLAG_SPECIAL_FLAG_0x4000
+ setvar VAR_0x40D2, 2
+ addvar VAR_0x40D1, 1
+ releaseall
+ end
+
+SlateportCity_Movement_1DCDA8: @ 81DCDA8
+ step_14
+ step_13
+ step_27
+ step_end
+
+SlateportCity_Movement_1DCDAC: @ 81DCDAC
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+SlateportCity_Movement_1DCDB4: @ 81DCDB4
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+SlateportCity_EventScript_1DCDBD:: @ 81DCDBD
+ lock
+ faceplayer
+ message SlateportCity_Text_1DD64A
+ waitmessage
+ pokemart SlateportCity_Pokemart_1DCDD4
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+SlateportCity_Pokemart_1DCDD4: @ 81DCDD4
+ .2byte ITEM_PROTEIN
+ .2byte ITEM_IRON
+ .2byte ITEM_CARBOS
+ .2byte ITEM_ZINC
+ .2byte ITEM_CALCIUM
+ .2byte ITEM_HP_UP
+ .2byte ITEM_NONE
+ release
+ end
+
+SlateportCity_EventScript_1DCDE4:: @ 81DCDE4
+ lock
+ faceplayer
+ bufferleadmonspeciesname 0
+ msgbox SlateportCity_Text_1DD68A, 4
+ specialvar VAR_RESULT, sub_8139348
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, SlateportCity_EventScript_1DCE38
+ specialvar VAR_RESULT, sub_81393C8
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, SlateportCity_EventScript_1DCE2E
+ msgbox SlateportCity_Text_1DD697, 4
+ playfanfare BGM_FANFA4
+ message SlateportCity_Text_1DD6E3
+ waitfanfare
+ msgbox SlateportCity_Text_1DD702, 4
+ special sub_8139370
+ release
+ end
+
+SlateportCity_EventScript_1DCE2E:: @ 81DCE2E
+ msgbox SlateportCity_Text_1DD722, 4
+ release
+ end
+
+SlateportCity_EventScript_1DCE38:: @ 81DCE38
+ msgbox SlateportCity_Text_1DD77B, 4
+ release
+ end
+
+SlateportCity_EventScript_1DCE42:: @ 81DCE42
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x4058, 1
+ call_if 1, SlateportCity_EventScript_1DCE59
+ msgbox SlateportCity_Text_1DD81A, 4
+ release
+ end
+
+SlateportCity_EventScript_1DCE59:: @ 81DCE59
+ msgbox SlateportCity_Text_1DE3E2, 4
+ release
+ end
+
+SlateportCity_EventScript_1DCE63:: @ 81DCE63
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x4058, 1
+ call_if 1, SlateportCity_EventScript_1DCE7A
+ msgbox SlateportCity_Text_1DD8A6, 4
+ release
+ end
+
+SlateportCity_EventScript_1DCE7A:: @ 81DCE7A
+ msgbox SlateportCity_Text_1DE28E, 4
+ release
+ end
+
+SlateportCity_EventScript_1DCE84:: @ 81DCE84
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x4058, 1
+ call_if 1, SlateportCity_EventScript_1DCEA4
+ checkflag FLAG_0x060
+ goto_eq SlateportCity_EventScript_1DCEAE
+ msgbox SlateportCity_Text_1DD93D, 4
+ release
+ end
+
+SlateportCity_EventScript_1DCEA4:: @ 81DCEA4
+ msgbox SlateportCity_Text_1DE30C, 4
+ release
+ end
+
+SlateportCity_EventScript_1DCEAE:: @ 81DCEAE
+ msgbox SlateportCity_Text_1DD999, 4
+ release
+ end
+
+SlateportCity_EventScript_1DCEB8:: @ 81DCEB8
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x4058, 1
+ call_if 1, SlateportCity_EventScript_1DCECF
+ msgbox SlateportCity_Text_1DDA34, 4
+ release
+ end
+
+SlateportCity_EventScript_1DCECF:: @ 81DCECF
+ msgbox SlateportCity_Text_1DE376, 4
+ release
+ end
+
+SlateportCity_EventScript_1DCED9:: @ 81DCED9
+ compare_var_to_value VAR_0x4058, 1
+ goto_eq SlateportCity_EventScript_1DCEED
+ msgbox SlateportCity_Text_1DDA9A, 2
+ end
+
+SlateportCity_EventScript_1DCEED:: @ 81DCEED
+ msgbox SlateportCity_Text_1DE43D, 3
+ end
+
+SlateportCity_EventScript_1DCEF6:: @ 81DCEF6
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x4058, 1
+ call_if 1, SlateportCity_EventScript_1DCF0D
+ msgbox SlateportCity_Text_1DDB21, 4
+ release
+ end
+
+SlateportCity_EventScript_1DCF0D:: @ 81DCF0D
+ msgbox SlateportCity_Text_1DE460, 4
+ release
+ end
+
+SlateportCity_EventScript_1DCF17:: @ 81DCF17
+ lock
+ faceplayer
+ checkflag FLAG_0x094
+ goto_eq SlateportCity_EventScript_1DCF2C
+ msgbox SlateportCity_Text_1DDBAC, 4
+ release
+ end
+
+SlateportCity_EventScript_1DCF2C:: @ 81DCF2C
+ msgbox SlateportCity_Text_1DDBD5, 4
+ release
+ end
+
+SlateportCity_EventScript_1DCF36:: @ 81DCF36
+ msgbox SlateportCity_Text_1DE8BC, 3
+ end
+
+SlateportCity_EventScript_1DCF3F:: @ 81DCF3F
+ lockall
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_eq SlateportCity_EventScript_1DCF66
+ checkflag FLAG_BADGE07_GET
+ goto_eq SlateportCity_EventScript_1DCF5C
+ msgbox SlateportCity_Text_1DE8F8, 4
+ releaseall
+ end
+
+SlateportCity_EventScript_1DCF5C:: @ 81DCF5C
+ msgbox SlateportCity_Text_1DE940, 4
+ releaseall
+ end
+
+SlateportCity_EventScript_1DCF66:: @ 81DCF66
+ msgbox SlateportCity_Text_1DE9AA, 4
+ releaseall
+ end
+
+SlateportCity_EventScript_1DCF70:: @ 81DCF70
+ msgbox SlateportCity_Text_1DEA0B, 3
+ end
+
+SlateportCity_EventScript_1DCF79:: @ 81DCF79
+ msgbox SlateportCity_Text_1DEA3B, 3
+ end
+
+SlateportCity_EventScript_1DCF82:: @ 81DCF82
+ msgbox SlateportCity_Text_1DEA6F, 3
+ end
+
+SlateportCity_EventScript_1DCF8B:: @ 81DCF8B
+ msgbox SlateportCity_Text_1DEAAF, 3
+ end
+
+SlateportCity_EventScript_1DCF94:: @ 81DCF94
+ lockall
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_eq SlateportCity_EventScript_1DCFA8
+ msgbox SlateportCity_Text_1DEAE3, 4
+ releaseall
+ end
+
+SlateportCity_EventScript_1DCFA8:: @ 81DCFA8
+ msgbox SlateportCity_Text_1DEB5A, 4
+ releaseall
+ end
+
+SlateportCity_EventScript_1DCFB2:: @ 81DCFB2
+ msgbox SlateportCity_Text_1DEBA0, 3
+ end
+
+SlateportCity_EventScript_1DCFBB:: @ 81DCFBB
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x4058, 1
+ call_if 1, SlateportCity_EventScript_1DCFD2
+ msgbox SlateportCity_Text_1DE10E, 4
+ release
+ end
+
+SlateportCity_EventScript_1DCFD2:: @ 81DCFD2
+ msgbox SlateportCity_Text_1DE10E, 4
+ release
+ end
+
+SlateportCity_EventScript_1DCFDC:: @ 81DCFDC
+ msgbox SlateportCity_Text_1DE16C, 2
+ end
+
+SlateportCity_EventScript_1DCFE5:: @ 81DCFE5
+ msgbox SlateportCity_Text_1DDFF7, 2
+ end
+
+SlateportCity_EventScript_1DCFEE:: @ 81DCFEE
+ msgbox SlateportCity_Text_1DE04B, 2
+ end
+
+SlateportCity_EventScript_1DCFF7:: @ 81DCFF7
+ msgbox SlateportCity_Text_1DE0D2, 2
+ end
+
+SlateportCity_EventScript_1DD000:: @ 81DD000
+ msgbox SlateportCity_Text_1DE1EC, 2
+ end
+
+SlateportCity_EventScript_1DD009:: @ 81DD009
+ lock
+ faceplayer
+ msgbox SlateportCity_Text_1DDC4F, 4
+ closemessage
+ applymovement 5, SlateportCity_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+SlateportCity_EventScript_1DD020:: @ 81DD020
+ lock
+ faceplayer
+ msgbox SlateportCity_Text_1DDC8A, 4
+ closemessage
+ applymovement 18, SlateportCity_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+SlateportCity_EventScript_1DD037:: @ 81DD037
+ lock
+ faceplayer
+ msgbox SlateportCity_Text_1DDCD5, 4
+ closemessage
+ applymovement 19, SlateportCity_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+SlateportCity_EventScript_1DD04E:: @ 81DD04E
+ lock
+ faceplayer
+ msgbox SlateportCity_Text_1DDD18, 4
+ closemessage
+ applymovement 26, SlateportCity_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+SlateportCity_EventScript_1DD065:: @ 81DD065
+ lock
+ faceplayer
+ msgbox SlateportCity_Text_1DDD7D, 4
+ closemessage
+ applymovement 27, SlateportCity_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+SlateportCity_EventScript_1DD07C:: @ 81DD07C
+ lock
+ faceplayer
+ msgbox SlateportCity_Text_1DDDC0, 4
+ closemessage
+ applymovement 28, SlateportCity_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+SlateportCity_EventScript_1DD093:: @ 81DD093
+ lock
+ faceplayer
+ msgbox SlateportCity_Text_1DDDDF, 4
+ closemessage
+ applymovement 29, SlateportCity_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+SlateportCity_EventScript_1DD0AA:: @ 81DD0AA
+ lock
+ faceplayer
+ msgbox SlateportCity_Text_1DDE2F, 4
+ closemessage
+ applymovement 30, SlateportCity_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+SlateportCity_EventScript_1DD0C1:: @ 81DD0C1
+ lock
+ faceplayer
+ playse SE_PIN
+ applymovement 31, SlateportCity_Movement_272598
+ waitmovement 0
+ applymovement 31, SlateportCity_Movement_27259A
+ waitmovement 0
+ msgbox SlateportCity_Text_1DDE6E, 4
+ closemessage
+ applymovement 31, SlateportCity_Movement_2725A2
+ waitmovement 0
+ applymovement 31, SlateportCity_Movement_1DD147
+ waitmovement 0
+ applymovement 31, SlateportCity_Movement_27259E
+ waitmovement 0
+ msgbox SlateportCity_Text_1DDE86, 4
+ closemessage
+ applymovement 31, SlateportCity_Movement_2725A2
+ waitmovement 0
+ applymovement 31, SlateportCity_Movement_1DD147
+ waitmovement 0
+ msgbox SlateportCity_Text_1DDEB8, 4
+ closemessage
+ applymovement 31, SlateportCity_Movement_27259E
+ waitmovement 0
+ applymovement 31, SlateportCity_Movement_1DD147
+ waitmovement 0
+ applymovement 31, SlateportCity_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+SlateportCity_Movement_1DD147: @ 81DD147
+ step_14
+ step_14
+ step_end
+
+SlateportCity_EventScript_1DD14A:: @ 81DD14A
+ msgbox SlateportCity_Text_1DDF32, 3
+ end
+
+SlateportCity_EventScript_1DD153:: @ 81DD153
+ lock
+ faceplayer
+ msgbox SlateportCity_Text_1DDF8D, 4
+ closemessage
+ applymovement 33, SlateportCity_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+SlateportCity_EventScript_1DD16A:: @ 81DD16A
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemartdecoration SlateportCity_PokemartDecor_1DD184
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+SlateportCity_PokemartDecor_1DD184: @ 81DD184
+ .2byte 95
+ .2byte 78
+ .2byte 96
+ .2byte 0
+ release
+ end
+
+SlateportCity_EventScript_1DD18E:: @ 81DD18E
+ msgbox gUnknown_08272E30, 4
+ release
+ end
+
+SlateportCity_EventScript_1DD198:: @ 81DD198
+ lock
+ faceplayer
+ checkflag FLAG_0x060
+ goto_if 0, SlateportCity_EventScript_1DD18E
+ message gUnknown_08272A21
+ waitmessage
+ pokemartdecoration SlateportCity_PokemartDecor_1DD1B8
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+SlateportCity_PokemartDecor_1DD1B8: @ 81DD1B8
+ .2byte 25
+ .2byte 27
+ .2byte 26
+ .2byte 28
+ .2byte 29
+ .2byte 30
+ .2byte 51
+ .2byte 52
+ .2byte 53
+ .2byte 54
+ .2byte 55
+ .2byte 56
+ .2byte 57
+ .2byte 58
+ .2byte 0
+ release
+ end
+
+SlateportCity_EventScript_1DD1D8:: @ 81DD1D8
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemart SlateportCity_Pokemart_1DD1F0
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+SlateportCity_Pokemart_1DD1F0: @ 81DD1F0
+ .2byte ITEM_TM10
+ .2byte ITEM_TM43
+ .2byte ITEM_NONE
+ release
+ end
+
+SlateportCity_EventScript_1DD1F8:: @ 81DD1F8
+ lockall
+ msgbox SlateportCity_Text_1DE502, 4
+ msgbox SlateportCity_Text_1DE54A, 4
+ closemessage
+ applymovement 10, SlateportCity_Movement_2725A8
+ waitmovement 0
+ delay 10
+ applymovement 9, SlateportCity_Movement_2725AA
+ waitmovement 0
+ delay 25
+ applymovement 11, SlateportCity_Movement_1DD33C
+ applymovement 255, SlateportCity_Movement_1DD34A
+ applymovement 10, SlateportCity_Movement_1DD319
+ applymovement 9, SlateportCity_Movement_1DD326
+ waitmovement 0
+ removeobject 10
+ removeobject 9
+ msgbox SlateportCity_Text_1DE5F7, 4
+ applymovement 11, SlateportCity_Movement_2725A6
+ waitmovement 0
+ msgbox SlateportCity_Text_1DE64F, 4
+ playbgm BGM_AQA_0, 0
+ msgbox SlateportCity_Text_1DE724, 4
+ applymovement 6, SlateportCity_Movement_2725A4
+ applymovement 1, SlateportCity_Movement_2725A4
+ applymovement 7, SlateportCity_Movement_1DD309
+ applymovement 3, SlateportCity_Movement_272596
+ applymovement 2, SlateportCity_Movement_1DD311
+ waitmovement 0
+ applymovement 11, SlateportCity_Movement_2725AA
+ waitmovement 0
+ msgbox SlateportCity_Text_1DE7F7, 4
+ playse SE_PIN
+ applymovement 11, SlateportCity_Movement_272598
+ waitmovement 0
+ applymovement 11, SlateportCity_Movement_27259A
+ waitmovement 0
+ applymovement 11, SlateportCity_Movement_2725A6
+ waitmovement 0
+ msgbox SlateportCity_Text_1DE860, 4
+ msgbox SlateportCity_Text_1DE8A0, 4
+ closemessage
+ applymovement 11, SlateportCity_Movement_1DD337
+ applymovement 255, SlateportCity_Movement_1DD344
+ waitmovement 0
+ removeobject 11
+ clearflag FLAG_0x349
+ clearflag FLAG_0x350
+ clearflag FLAG_0x34D
+ clearflag FLAG_0x34E
+ setvar VAR_0x4058, 2
+ warp SLATEPORT_CITY_HARBOR, 255, 11, 14
+ waitstate
+ releaseall
+ end
+
+SlateportCity_Movement_1DD309: @ 81DD309
+ step_14
+ step_14
+ step_57
+ step_28
+ step_14
+ step_14
+ step_27
+ step_end
+
+SlateportCity_Movement_1DD311: @ 81DD311
+ step_57
+ step_26
+ step_14
+ step_25
+ step_14
+ step_14
+ step_27
+ step_end
+
+SlateportCity_Movement_1DD319: @ 81DD319
+ step_14
+ step_left
+ step_left
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+SlateportCity_Movement_1DD326: @ 81DD326
+ step_down
+ step_left
+ step_left
+ step_left
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_end
+
+SlateportCity_Movement_1DD334: @ 81DD334
+ step_down
+ step_26
+ step_end
+
+SlateportCity_Movement_1DD337: @ 81DD337
+ step_right
+ step_up
+ step_up
+ step_54
+ step_end
+
+SlateportCity_Movement_1DD33C: @ 81DD33C
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_down
+ step_left
+ step_end
+
+SlateportCity_Movement_1DD344: @ 81DD344
+ step_28
+ step_14
+ step_14
+ step_right
+ step_up
+ step_end
+
+SlateportCity_Movement_1DD34A: @ 81DD34A
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_25
+ step_end
+
+SlateportCity_EventScript_1DD353:: @ 81DD353
+ msgbox SlateportCity_Text_1DE491, 3
+ end
+
+SlateportCity_EventScript_1DD35C:: @ 81DD35C
+ msgbox SlateportCity_Text_1DE4C4, 3
+ end
+
+SlateportCity_EventScript_1DD365:: @ 81DD365
+ msgbox SlateportCity_Text_1DD7AD, 2
+ end
+
+SlateportCity_EventScript_1DD36E:: @ 81DD36E
+ lock
+ faceplayer
+ checkflag FLAG_0x151
+ goto_eq SlateportCity_EventScript_1DD39A
+ msgbox SlateportCity_Text_1DEBCE, 4
+ giveitem_std ITEM_POWDER_JAR
+ setflag FLAG_0x151
+ msgbox SlateportCity_Text_1DED27, 4
+ release
+ end
+
+SlateportCity_EventScript_1DD39A:: @ 81DD39A
+ setvar VAR_0x8004, 1
+ specialvar VAR_RESULT, sub_80246D4
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_EventScript_1DD3C0
+ msgbox SlateportCity_Text_1DEE40, 4
+ special sub_80248B0
+ goto SlateportCity_EventScript_1DD3CA
+ end
+
+SlateportCity_EventScript_1DD3C0:: @ 81DD3C0
+ msgbox SlateportCity_Text_1DED27, 4
+ release
+ end
+
+SlateportCity_EventScript_1DD3CA:: @ 81DD3CA
+ message SlateportCity_Text_1DEE67
+ waitmessage
+ setvar VAR_0x8004, 7
+ special sub_813A128
+ waitstate
+ switch VAR_RESULT
+ case 0, SlateportCity_EventScript_1DD46E
+ case 1, SlateportCity_EventScript_1DD482
+ case 2, SlateportCity_EventScript_1DD496
+ case 3, SlateportCity_EventScript_1DD4AA
+ case 4, SlateportCity_EventScript_1DD4BE
+ case 5, SlateportCity_EventScript_1DD4D2
+ case 6, SlateportCity_EventScript_1DD4E6
+ case 7, SlateportCity_EventScript_1DD4FA
+ case 8, SlateportCity_EventScript_1DD50E
+ case 9, SlateportCity_EventScript_1DD522
+ case 10, SlateportCity_EventScript_1DD536
+ case 11, SlateportCity_EventScript_1DD54A
+ case 127, SlateportCity_EventScript_1DD54A
+ end
+
+SlateportCity_EventScript_1DD46E:: @ 81DD46E
+ bufferitemname 0, ITEM_ENERGY_POWDER
+ setvar VAR_0x8008, 30
+ setvar VAR_0x8009, 50
+ goto SlateportCity_EventScript_1DD557
+ end
+
+SlateportCity_EventScript_1DD482:: @ 81DD482
+ bufferitemname 0, ITEM_ENERGY_ROOT
+ setvar VAR_0x8008, 31
+ setvar VAR_0x8009, 80
+ goto SlateportCity_EventScript_1DD557
+ end
+
+SlateportCity_EventScript_1DD496:: @ 81DD496
+ bufferitemname 0, ITEM_HEAL_POWDER
+ setvar VAR_0x8008, 32
+ setvar VAR_0x8009, 50
+ goto SlateportCity_EventScript_1DD557
+ end
+
+SlateportCity_EventScript_1DD4AA:: @ 81DD4AA
+ bufferitemname 0, ITEM_REVIVAL_HERB
+ setvar VAR_0x8008, 33
+ setvar VAR_0x8009, 300
+ goto SlateportCity_EventScript_1DD557
+ end
+
+SlateportCity_EventScript_1DD4BE:: @ 81DD4BE
+ bufferitemname 0, ITEM_PROTEIN
+ setvar VAR_0x8008, 64
+ setvar VAR_0x8009, 1000
+ goto SlateportCity_EventScript_1DD557
+ end
+
+SlateportCity_EventScript_1DD4D2:: @ 81DD4D2
+ bufferitemname 0, ITEM_IRON
+ setvar VAR_0x8008, 65
+ setvar VAR_0x8009, 1000
+ goto SlateportCity_EventScript_1DD557
+ end
+
+SlateportCity_EventScript_1DD4E6:: @ 81DD4E6
+ bufferitemname 0, ITEM_CARBOS
+ setvar VAR_0x8008, 66
+ setvar VAR_0x8009, 1000
+ goto SlateportCity_EventScript_1DD557
+ end
+
+SlateportCity_EventScript_1DD4FA:: @ 81DD4FA
+ bufferitemname 0, ITEM_CALCIUM
+ setvar VAR_0x8008, 67
+ setvar VAR_0x8009, 1000
+ goto SlateportCity_EventScript_1DD557
+ end
+
+SlateportCity_EventScript_1DD50E:: @ 81DD50E
+ bufferitemname 0, ITEM_ZINC
+ setvar VAR_0x8008, 70
+ setvar VAR_0x8009, 1000
+ goto SlateportCity_EventScript_1DD557
+ end
+
+SlateportCity_EventScript_1DD522:: @ 81DD522
+ bufferitemname 0, ITEM_HP_UP
+ setvar VAR_0x8008, 63
+ setvar VAR_0x8009, 1000
+ goto SlateportCity_EventScript_1DD557
+ end
+
+SlateportCity_EventScript_1DD536:: @ 81DD536
+ bufferitemname 0, ITEM_PP_UP
+ setvar VAR_0x8008, 69
+ setvar VAR_0x8009, 3000
+ goto SlateportCity_EventScript_1DD557
+ end
+
+SlateportCity_EventScript_1DD54A:: @ 81DD54A
+ msgbox SlateportCity_Text_1DEFBC, 4
+ special sub_8024918
+ release
+ end
+
+SlateportCity_EventScript_1DD557:: @ 81DD557
+ msgbox SlateportCity_Text_1DEE90, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_EventScript_1DD3CA
+ copyvar VAR_0x8004, VAR_0x8009
+ specialvar VAR_RESULT, sub_80246D4
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_EventScript_1DD5CE
+ giveitem_std VAR_0x8008
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_EventScript_1DD5C1
+ copyvar VAR_0x8004, VAR_0x8009
+ special sub_802477C
+ special sub_802488C
+ msgbox SlateportCity_Text_1DEEF7, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SlateportCity_EventScript_1DD3CA
+ msgbox SlateportCity_Text_1DEF79, 4
+ special sub_8024918
+ release
+ end
+
+SlateportCity_EventScript_1DD5C1:: @ 81DD5C1
+ msgbox gUnknown_08272A89, 4
+ special sub_8024918
+ release
+ end
+
+SlateportCity_EventScript_1DD5CE:: @ 81DD5CE
+ msgbox SlateportCity_Text_1DEEC9, 4
+ goto SlateportCity_EventScript_1DD3CA
+ end
+
+SlateportCity_EventScript_1DD5DC:: @ 81DD5DC
+ lockall
+ applymovement 255, SlateportCity_Movement_2725B2
+ waitmovement 0
+ opendoor 10, 12
+ waitdooranim
+ addobject 35
+ applymovement 255, SlateportCity_Movement_1DD630
+ applymovement 35, SlateportCity_Movement_1DD637
+ waitmovement 0
+ closedoor 10, 12
+ waitdooranim
+ msgbox SlateportCity_Text_1DF28C, 4
+ closemessage
+ applymovement 255, SlateportCity_Movement_1DD634
+ applymovement 35, SlateportCity_Movement_1DD63A
+ waitmovement 0
+ removeobject 35
+ addvar VAR_0x40D1, 1
+ setvar VAR_0x40D2, 3
+ releaseall
+ end
+
+SlateportCity_Movement_1DD630: @ 81DD630
+ step_40
+ step_down
+ step_41
+ step_end
+
+SlateportCity_Movement_1DD634: @ 81DD634
+ step_14
+ step_28
+ step_end
+
+SlateportCity_Movement_1DD637: @ 81DD637
+ step_13
+ step_down
+ step_end
+
+SlateportCity_Movement_1DD63A: @ 81DD63A
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+SlateportCity_EventScript_1DD643:: @ 81DD643
+ lockall
+ special sub_80224D0
+ waitstate
+ releaseall
+ end
+
+SlateportCity_Text_1DD64A: @ 81DD64A
+ .string "I’m the ENERGY GURU! I’ll go for it and\n"
+ .string "sell you what you need!$"
+
+SlateportCity_Text_1DD68A: @ 81DD68A
+ .string "Oh?\n"
+ .string "Your {STR_VAR_1}…$"
+
+SlateportCity_Text_1DD697: @ 81DD697
+ .string "Went for it stupendously!\p"
+ .string "As its reward, please give it this\n"
+ .string "EFFORT RIBBON.$"
+
+SlateportCity_Text_1DD6E3: @ 81DD6E3
+ .string "{PLAYER} received the EFFORT RIBBON.$"
+
+SlateportCity_Text_1DD702: @ 81DD702
+ .string "{PLAYER} put the EFFORT RIBBON\n"
+ .string "on {STR_VAR_1}.$"
+
+SlateportCity_Text_1DD722: @ 81DD722
+ .string "You have to go for it a little harder.\p"
+ .string "If you do, I’ll give your POKéMON\n"
+ .string "something nice.$"
+
+SlateportCity_Text_1DD77B: @ 81DD77B
+ .string "Oh! Your {STR_VAR_1}, that EFFORT\n"
+ .string "RIBBON looks good on it!$"
+
+SlateportCity_Text_1DD7AD: @ 81DD7AD
+ .string "The light of the lighthouse reaches\n"
+ .string "dozens of miles away.\p"
+ .string "I wonder if it doesn’t startle POKéMON\n"
+ .string "in the sea.$"
+
+SlateportCity_Text_1DD81A: @ 81DD81A
+ .string "Ooh, look at this!\p"
+ .string "The seaweed you can get around these\n"
+ .string "parts is fresh and full of life.\p"
+ .string "Why, it looks like it can even rear up\n"
+ .string "and attack!$"
+
+SlateportCity_Text_1DD8A6: @ 81DD8A6
+ .string "Where the water is clean, the fruits\n"
+ .string "of bountiful harvest gather.\p"
+ .string "And where people gather, a market\n"
+ .string "soon starts.\p"
+ .string "That is how a town is born and grows.$"
+
+SlateportCity_Text_1DD93D: @ 81DD93D
+ .string "Shopping where you can breathe the\n"
+ .string "scent of the ocean…\p"
+ .string "SLATEPORT is such a wonderful place!$"
+
+SlateportCity_Text_1DD999: @ 81DD999
+ .string "If you put DOLLS or CUSHIONS on\n"
+ .string "the floor, they’ll get dirty.\p"
+ .string "I’m going to buy some BRICKS so my\n"
+ .string "DOLLS and CUSHIONS won’t get dirty\l"
+ .string "when I leave them out.$"
+
+SlateportCity_Text_1DDA34: @ 81DDA34
+ .string "Wroooar! I’m going to compete in\n"
+ .string "the BATTLE TENT, too!\p"
+ .string "But before that, I need to catch\n"
+ .string "some POKéMON!$"
+
+SlateportCity_Text_1DDA9A: @ 81DDA9A
+ .string "Whew… I’m just bushed…\p"
+ .string "I hiked over from MAUVILLE CITY.\n"
+ .string "But, boy, this city’s huge.\p"
+ .string "If I’d known this, I would’ve ridden\n"
+ .string "my BIKE here.$"
+
+SlateportCity_Text_1DDB21: @ 81DDB21
+ .string "STERN, the fellow who built the\n"
+ .string "MUSEUM, also happens to be the leader\l"
+ .string "of an undersea exploration team.\p"
+ .string "So, everyone calls him CAPT. STERN.$"
+
+SlateportCity_Text_1DDBAC: @ 81DDBAC
+ .string "What is that over there?\n"
+ .string "That long line…$"
+
+SlateportCity_Text_1DDBD5: @ 81DDBD5
+ .string "When I was a child, I visited\n"
+ .string "the MUSEUM often.\p"
+ .string "I used to dream about the mysteries of\n"
+ .string "the sea after seeing the exhibits.$"
+
+SlateportCity_Text_1DDC4F: @ 81DDC4F
+ .string "Hey, there! Quit pushing!\n"
+ .string "This is the line, can’t you see?$"
+
+SlateportCity_Text_1DDC8A: @ 81DDC8A
+ .string "TEAM AQUA has a policy of\n"
+ .string "assembling and dispersing at\l"
+ .string "the operation site.$"
+
+SlateportCity_Text_1DDCD5: @ 81DDCD5
+ .string "Our BOSS is brilliant.\p"
+ .string "What would he want to do with\n"
+ .string "a MUSEUM now?$"
+
+SlateportCity_Text_1DDD18: @ 81DDD18
+ .string "What’s the new scheme, I wonder?\p"
+ .string "Our BOSS is scary when he’s mad, so\n"
+ .string "I’d better not screw things up…$"
+
+SlateportCity_Text_1DDD7D: @ 81DDD7D
+ .string "If there’s something we need in\n"
+ .string "the MUSEUM, we should take it all!$"
+
+SlateportCity_Text_1DDDC0: @ 81DDDC0
+ .string "Hey, you there!\n"
+ .string "Don’t butt in!$"
+
+SlateportCity_Text_1DDDDF: @ 81DDDDF
+ .string "A long line, huh?\p"
+ .string "It reminds me of the times I lined up to\n"
+ .string "buy smash-hit games…$"
+
+SlateportCity_Text_1DDE2F: @ 81DDE2F
+ .string "Why are we even lining up and paying?\n"
+ .string "We should just march in!$"
+
+SlateportCity_Text_1DDE6E: @ 81DDE6E
+ .string "What?\n"
+ .string "What do you want?$"
+
+SlateportCity_Text_1DDE86: @ 81DDE86
+ .string "You want to read this sign?\n"
+ .string "I’ll read it for you!$"
+
+SlateportCity_Text_1DDEB8: @ 81DDEB8
+ .string "Let’s see…\p"
+ .string "Um… I think it says something like\n"
+ .string "“the life in the sea is endless.”\p"
+ .string "Yup, I’m pretty sure that’s what\n"
+ .string "it says.$"
+
+SlateportCity_Text_1DDF32: @ 81DDF32
+ .string "Grumble…\p"
+ .string "I should’ve brought my Game Boy\n"
+ .string "Advance so I wouldn’t get bored in line…\p"
+ .string "Grumble…$"
+
+SlateportCity_Text_1DDF8D: @ 81DDF8D
+ .string "When this operation’s over, I’ll take\n"
+ .string "you to a hot spring spa!\p"
+ .string "That’s what our leader said.\n"
+ .string "I can’t wait!$"
+
+SlateportCity_Text_1DDFF7: @ 81DDFF7
+ .string "The sea is just so vast…\p"
+ .string "Could the sea have been made by\n"
+ .string "the tears shed by POKéMON?$"
+
+SlateportCity_Text_1DE04B: @ 81DE04B
+ .string "Do you know what they do with old\n"
+ .string "ships that become too creaky to sail?\p"
+ .string "They sink them in the sea so they\n"
+ .string "become habitats for POKéMON.$"
+
+SlateportCity_Text_1DE0D2: @ 81DE0D2
+ .string "Whenever I visit here, I get carried\n"
+ .string "away and buy too much.$"
+
+SlateportCity_Text_1DE10E: @ 81DE10E
+ .string "If you want to change your POKéMON’s\n"
+ .string "nickname, you’ll have to get the NAME\l"
+ .string "RATER to help you.$"
+
+SlateportCity_Text_1DE16C: @ 81DE16C
+ .string "Any POKéMON you get in a trade,\n"
+ .string "you can’t change its nickname.\p"
+ .string "The original TRAINER’s love for that\n"
+ .string "POKéMON is in the nickname.$"
+
+SlateportCity_Text_1DE1EC: @ 81DE1EC
+ .string "Recently, a BATTLE TENT was built\n"
+ .string "in SLATEPORT.\p"
+ .string "GYMS are fun, but the BATTLE TENT’s\n"
+ .string "awesome in its own way.\p"
+ .string "You should go find tough POKéMON\n"
+ .string "for the BATTLE TENT!$"
+
+SlateportCity_Text_1DE28E: @ 81DE28E
+ .string "I was hoping that it was a famous star\n"
+ .string "so I could get an autograph.\p"
+ .string "But who’s that being interviewed?\n"
+ .string "Isn’t that CAPT. STERN?$"
+
+SlateportCity_Text_1DE30C: @ 81DE30C
+ .string "That lady interviewer is so cool\n"
+ .string "and pretty.\p"
+ .string "When I grow up, I’m going to be\n"
+ .string "an international journalist!$"
+
+SlateportCity_Text_1DE376: @ 81DE376
+ .string "CAPT. STERN says they discovered\n"
+ .string "something at the bottom of the sea.\p"
+ .string "I wonder what it is?\n"
+ .string "What could it be?$"
+
+SlateportCity_Text_1DE3E2: @ 81DE3E2
+ .string "What’s going on here?\p"
+ .string "Did the good CAPTAIN come back with\n"
+ .string "a big fish from the ocean floor?$"
+
+SlateportCity_Text_1DE43D: @ 81DE43D
+ .string "Hey! Are you watching?\n"
+ .string "Am I on TV?$"
+
+SlateportCity_Text_1DE460: @ 81DE460
+ .string "A TV interview! Here!\n"
+ .string "The CAPTAIN’s a celebrity!$"
+
+SlateportCity_Text_1DE491: @ 81DE491
+ .string "TY: Okay, CAPT. STERN, a big smile\n"
+ .string "for the camera!$"
+
+SlateportCity_Text_1DE4C4: @ 81DE4C4
+ .string "GABBY: I see, I see. You’ve had a most\n"
+ .string "invaluable experience…$"
+
+SlateportCity_Text_1DE502: @ 81DE502
+ .string "CAPT. STERN: Yes, indeed. We intend to\n"
+ .string "move ahead with our exploration.$"
+
+SlateportCity_Text_1DE54A: @ 81DE54A
+ .string "GABBY: That’s wonderful, CAPT. STERN!\n"
+ .string "Thank you for taking the time from\l"
+ .string "your busy schedule to talk to us.\p"
+ .string "We hope we can interview you again\n"
+ .string "with news of more discoveries!$"
+
+SlateportCity_Text_1DE5F7: @ 81DE5F7
+ .string "CAPT. STERN: Whew…\p"
+ .string "That was my first time to be filmed for\n"
+ .string "TV. That was nerve-wracking.$"
+
+SlateportCity_Text_1DE64F: @ 81DE64F
+ .string "Oh! {PLAYER}{KUN}!\n"
+ .string "You’re looking great!\p"
+ .string "We made a huge discovery on our last\n"
+ .string "seafloor exploration.\p"
+ .string "We found an underwater cavern on\n"
+ .string "ROUTE 128.\p"
+ .string "We think it’s the habitat of a POKéMON\n"
+ .string "that’s said to have been long extinct.$"
+
+SlateportCity_Text_1DE724: @ 81DE724
+ .string "Fufufu…\n"
+ .string "CAPT. STERN, I presume.\p"
+ .string "We of TEAM AQUA will assume\n"
+ .string "control of your submarine!\p"
+ .string "Your objections are meaningless!\n"
+ .string "We expect your total cooperation!\p"
+ .string "Fufufu…\n"
+ .string "Just watch and learn what TEAM\l"
+ .string "AQUA has planned!$"
+
+SlateportCity_Text_1DE7F7: @ 81DE7F7
+ .string "CAPT. STERN: What was that all about?\p"
+ .string "It sounded like someone using\n"
+ .string "a megaphone…\p"
+ .string "Where did it come from?$"
+
+SlateportCity_Text_1DE860: @ 81DE860
+ .string "It’s from the HARBOR!\p"
+ .string "The submarine!\n"
+ .string "They’re trying to take it!$"
+
+SlateportCity_Text_1DE8A0: @ 81DE8A0
+ .string "{PLAYER}{KUN}!\n"
+ .string "Please, come with me!$"
+
+SlateportCity_Text_1DE8BC: @ 81DE8BC
+ .string "BATTLE TENT SLATEPORT SITE\n"
+ .string "“Find it! The ultimate POKéMON!”$"
+
+SlateportCity_Text_1DE8F8: @ 81DE8F8
+ .string "STERN’S SHIPYARD\p"
+ .string "“Wanted: A sailor capable of sailing\n"
+ .string "in all currents.”$"
+
+SlateportCity_Text_1DE940: @ 81DE940
+ .string "STERN’S SHIPYARD\p"
+ .string "“The ferry S.S. TIDAL nears\n"
+ .string "completion for serving the ports of\l"
+ .string "SLATEPORT and LILYCOVE.”$"
+
+SlateportCity_Text_1DE9AA: @ 81DE9AA
+ .string "STERN’S SHIPYARD\p"
+ .string "“Boarding of the SLATEPORT-LILYCOVE\n"
+ .string "ferry S.S. TIDAL is handled at the\l"
+ .string "HARBOR.”$"
+
+SlateportCity_Text_1DEA0B: @ 81DEA0B
+ .string "POKéMON FAN CLUB\n"
+ .string "“Calling all fans of POKéMON!”$"
+
+SlateportCity_Text_1DEA3B: @ 81DEA3B
+ .string "“The endless sea sustains\n"
+ .string "all life.”\p"
+ .string "OCEANIC MUSEUM$"
+
+SlateportCity_Text_1DEA6F: @ 81DEA6F
+ .string "SLATEPORT CITY\p"
+ .string "“The port where people and POKéMON\n"
+ .string "cross paths.”$"
+
+SlateportCity_Text_1DEAAF: @ 81DEAAF
+ .string "SLATEPORT MARKET\n"
+ .string "“Unique items found nowhere else!”$"
+
+SlateportCity_Text_1DEAE3: @ 81DEAE3
+ .string "SLATEPORT HARBOR\p"
+ .string "“The ferry S.S. TIDAL is under\n"
+ .string "construction in the SHIPYARD.\p"
+ .string "“Service is scheduled to begin\n"
+ .string "shortly.”$"
+
+SlateportCity_Text_1DEB5A: @ 81DEB5A
+ .string "SLATEPORT HARBOR\p"
+ .string "“Enjoy a delightful cruise on\n"
+ .string "the ferry S.S. TIDAL.”$"
+
+SlateportCity_Text_1DEBA0: @ 81DEBA0
+ .string "NAME RATER’S HOUSE\n"
+ .string "“POKéMON nicknames rated.”$"
+
+SlateportCity_Text_1DEBCE: @ 81DEBCE
+ .string "If a wild POKéMON gets hurt, it heals\n"
+ .string "itself by chewing on BERRIES.\p"
+ .string "Did you know that?\p"
+ .string "Somebody saw that and got the idea\n"
+ .string "of making medicine from BERRIES.\p"
+ .string "Did you know that?\p"
+ .string "To turn BERRIES into medicine,\n"
+ .string "they must be crushed into powder.\p"
+ .string "Did you know that?\p"
+ .string "You seem to have an interest\n"
+ .string "in BERRIES!\p"
+ .string "I’ve got something good for someone\n"
+ .string "like you.$"
+
+SlateportCity_Text_1DED27: @ 81DED27
+ .string "I recently had machines installed at\n"
+ .string "POKéMON CENTERS for crushing BERRIES.\p"
+ .string "The BERRY CRUSH machines are at\n"
+ .string "the DIRECT CORNER upstairs.\p"
+ .string "Did you know?\p"
+ .string "Could you make BERRY POWDER for\n"
+ .string "me using those machines?\p"
+ .string "I can make you all sorts of medicine\n"
+ .string "if you bring me lots of BERRY POWDER.$"
+
+SlateportCity_Text_1DEE40: @ 81DEE40
+ .string "Have you brought me some\n"
+ .string "BERRY POWDER?$"
+
+SlateportCity_Text_1DEE67: @ 81DEE67
+ .string "What would you like to exchange\n"
+ .string "it with?$"
+
+SlateportCity_Text_1DEE90: @ 81DEE90
+ .string "Okay, you want to exchange your\n"
+ .string "BERRY POWDER for one {STR_VAR_1}?$"
+
+SlateportCity_Text_1DEEC9: @ 81DEEC9
+ .string "Oh, dear. You don’t have enough\n"
+ .string "BERRY POWDER.$"
+
+SlateportCity_Text_1DEEF7: @ 81DEEF7
+ .string "This is fine BERRY POWDER.\n"
+ .string "It will make excellent medicine.\p"
+ .string "Would you like to trade more of your\n"
+ .string "BERRY POWDER for something else?$"
+
+SlateportCity_Text_1DEF79: @ 81DEF79
+ .string "Okay! When you get some more\n"
+ .string "BERRY POWDER, bring it to me, please!$"
+
+SlateportCity_Text_1DEFBC: @ 81DEFBC
+ .string "Come back if you’d like to trade your\n"
+ .string "BERRY POWDER for some medicine.\p"
+ .string "I’m always running a bazaar here.\p"
+ .string "Did you know?$"
+
+SlateportCity_Text_1DF032: @ 81DF032
+ .string "SCOTT: Huh?\n"
+ .string "I’m sure I met you somewhere before.\p"
+ .string "Have I introduced myself to you?\n"
+ .string "If not, my name’s SCOTT.\p"
+ .string "I just saw TEAM AQUA run away from\n"
+ .string "here like they were stung.\p"
+ .string "Let me guess--you drove them away?$"
+
+SlateportCity_Text_1DF0FE: @ 81DF0FE
+ .string "SCOTT: Hmm…\n"
+ .string "Maybe, just maybe, this TRAINER…$"
+
+SlateportCity_Text_1DF12B: @ 81DF12B
+ .string "SCOTT: All right! I think you’re going\n"
+ .string "to become a good friend.\p"
+ .string "So, let’s register each other in our\n"
+ .string "POKéNAVS.\p"
+ .string "… … … … … …$"
+
+SlateportCity_Text_1DF1A6: @ 81DF1A6
+ .string "Registered this SCOTT person\n"
+ .string "in the POKéNAV.$"
+
+SlateportCity_Text_1DF1D3: @ 81DF1D3
+ .string "SCOTT: What I’d like to do is tag along\n"
+ .string "with you, but I do want to keep an eye\l"
+ .string "on the talents of other people, too.\p"
+ .string "So, I’ll be off to roam other towns\n"
+ .string "a bit more.\p"
+ .string "Be seeing you, {PLAYER}{KUN}!$"
+
+SlateportCity_Text_1DF28C: @ 81DF28C
+ .string "SCOTT: Oh, hey!\n"
+ .string "If it isn’t {PLAYER}{KUN}!\p"
+ .string "{PLAYER}{KUN}, let me guess--you’re going\n"
+ .string "to take the BATTLE TENT challenge?\p"
+ .string "Yeah! That’s a good idea!\n"
+ .string "That’s a really great idea!\p"
+ .string "After all, a tough TRAINER is\n"
+ .string "the perfect fit for the BATTLE TENT!\p"
+ .string "Give it your best effort!$"
+
diff --git a/data/scripts/maps/SlateportCity_BattleTentBattleRoom.inc b/data/scripts/maps/SlateportCity_BattleTentBattleRoom.inc
new file mode 100644
index 000000000..6917cac5d
--- /dev/null
+++ b/data/scripts/maps/SlateportCity_BattleTentBattleRoom.inc
@@ -0,0 +1,115 @@
+SlateportCity_BattleTentBattleRoom_MapScripts:: @ 8209960
+ map_script 3, SlateportCity_BattleTentBattleRoom_MapScript1_209970
+ map_script 4, SlateportCity_BattleTentBattleRoom_MapScript2_20999A
+ map_script 2, SlateportCity_BattleTentBattleRoom_MapScript2_2099B4
+ .byte 0
+
+SlateportCity_BattleTentBattleRoom_MapScript1_209970: @ 8209970
+ call SlateportCity_BattleTentBattleRoom_EventScript_209976
+ end
+
+SlateportCity_BattleTentBattleRoom_EventScript_209976:: @ 8209976
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_BattleTentBattleRoom_EventScript_20998E
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SlateportCity_BattleTentBattleRoom_EventScript_209994
+ return
+
+SlateportCity_BattleTentBattleRoom_EventScript_20998E:: @ 820998E
+ setvar VAR_0x4011, 100
+ return
+
+SlateportCity_BattleTentBattleRoom_EventScript_209994:: @ 8209994
+ setvar VAR_0x4011, 105
+ return
+
+SlateportCity_BattleTentBattleRoom_MapScript2_20999A: @ 820999A
+ map_script_2 VAR_0x4001, 0, SlateportCity_BattleTentBattleRoom_EventScript_2099A4
+ .2byte 0
+
+SlateportCity_BattleTentBattleRoom_EventScript_2099A4:: @ 82099A4
+ setvar VAR_0x4001, 1
+ hideobjectat 255, FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM
+ hideobjectat 2, SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM
+ end
+
+SlateportCity_BattleTentBattleRoom_MapScript2_2099B4: @ 82099B4
+ map_script_2 VAR_0x4000, 0, SlateportCity_BattleTentBattleRoom_EventScript_2099BE
+ .2byte 0
+
+SlateportCity_BattleTentBattleRoom_EventScript_2099BE:: @ 82099BE
+ applymovement 3, SlateportCity_BattleTentBattleRoom_Movement_209A99
+ waitmovement 0
+ setvar VAR_0x8004, 11
+ special sub_81A5E74
+ setobjectxyperm 2, 5, 1
+ removeobject 2
+ addobject 2
+ applymovement 2, SlateportCity_BattleTentBattleRoom_Movement_209A9E
+ waitmovement 0
+ setvar VAR_0x8004, 4
+ special sub_81B99B4
+ lockall
+ msgbox 0x2021fc4, 4
+ waitmessage
+ closemessage
+ special sp000_heal_pokemon
+ setvar VAR_0x8004, 6
+ setvar VAR_0x8005, 0
+ special sub_8163AC4
+ waitstate
+ switch VAR_RESULT
+ case 1, SlateportCity_BattleTentBattleRoom_EventScript_209A39
+
+SlateportCity_BattleTentCorridor_EventScript_209A1B:: @ 8209A1B
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 4
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ warp SLATEPORT_CITY_BATTLE_TENT_LOBBY, 255, 6, 6
+ waitstate
+
+SlateportCity_BattleTentBattleRoom_EventScript_209A39:: @ 8209A39
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ addvar VAR_RESULT, 1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A1780
+ switch VAR_RESULT
+ case 3, SlateportCity_BattleTentBattleRoom_EventScript_209A7B
+@ case 3, SlateportCity_BattleTentCorridor_EventScript_209A7B
+ setvar VAR_0x8006, 1
+ warp SLATEPORT_CITY_BATTLE_TENT_CORRIDOR, 255, 2, 3
+ waitstate
+
+SlateportCity_BattleTentBattleRoom_EventScript_209A7B:: @ 8209A7B
+SlateportCity_BattleTentCorridor_EventScript_209A7B:: @ 8209A7B
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 3
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ warp SLATEPORT_CITY_BATTLE_TENT_LOBBY, 255, 6, 6
+ waitstate
+@ forced stop
+
+SlateportCity_BattleTentBattleRoom_Movement_209A99: @ 8209A99
+ step_up
+ step_up
+ step_up
+ step_28
+ step_end
+
+SlateportCity_BattleTentBattleRoom_Movement_209A9E: @ 8209A9E
+ step_down
+ step_down
+ step_down
+ step_down
+ step_27
+ step_end
+
diff --git a/data/scripts/maps/SlateportCity_BattleTentCorridor.inc b/data/scripts/maps/SlateportCity_BattleTentCorridor.inc
new file mode 100644
index 000000000..2d14359f0
--- /dev/null
+++ b/data/scripts/maps/SlateportCity_BattleTentCorridor.inc
@@ -0,0 +1,280 @@
+SlateportCity_BattleTentCorridor_MapScripts:: @ 8208E26
+ map_script 2, SlateportCity_BattleTentCorridor_MapScript2_208E5B
+ map_script 4, SlateportCity_BattleTentCorridor_MapScript2_208E31
+ .byte 0
+
+SlateportCity_BattleTentCorridor_MapScript2_208E31: @ 8208E31
+ map_script_2 VAR_0x4001, 0, SlateportCity_BattleTentCorridor_EventScript_208E3B
+ .2byte 0
+
+SlateportCity_BattleTentCorridor_EventScript_208E3B:: @ 8208E3B
+ setvar VAR_0x4001, 1
+ compare_var_to_value VAR_0x8006, 1
+ goto_if 5, SlateportCity_BattleTentCorridor_EventScript_208E56
+ setobjectxy 1, 2, 2
+ turnobject 1, 1
+
+SlateportCity_BattleTentCorridor_EventScript_208E56:: @ 8208E56
+ turnobject 255, 2
+ end
+
+SlateportCity_BattleTentCorridor_MapScript2_208E5B: @ 8208E5B
+ map_script_2 VAR_0x4000, 0, SlateportCity_BattleTentCorridor_EventScript_208E65
+ .2byte 0
+
+SlateportCity_BattleTentCorridor_EventScript_208E65:: @ 8208E65
+ compare_var_to_value VAR_0x8006, 1
+ goto_eq SlateportCity_BattleTentCorridor_EventScript_208EEE
+ setvar VAR_0x4000, 1
+ applymovement 1, SlateportCity_BattleTentCorridor_Movement_209062
+ applymovement 255, SlateportCity_BattleTentCorridor_Movement_209059
+ waitmovement 0
+ compare_var_to_value VAR_0x8006, 2
+ goto_eq SlateportCity_BattleTentCorridor_EventScript_209044
+ setvar VAR_0x8004, 9
+ special sub_81B9D08
+ setvar VAR_0x8004, 8
+ special sub_81B9D08
+ msgbox SlateportCity_BattleTentCorridor_Text_25A1C8, 4
+ fadescreen 1
+ setvar VAR_0x8004, 6
+ special sub_81B9D08
+ waitstate
+
+SlateportCity_BattleTentCorridor_EventScript_208EB4:: @ 8208EB4
+ msgbox SlateportCity_BattleTentCorridor_Text_25AB96, 4
+ closemessage
+ applymovement 1, SlateportCity_BattleTentCorridor_Movement_2725A6
+ waitmovement 0
+ opendoor 2, 1
+ waitdooranim
+ applymovement 1, SlateportCity_BattleTentCorridor_Movement_209068
+ applymovement 255, SlateportCity_BattleTentCorridor_Movement_20905E
+ waitmovement 0
+ closedoor 2, 1
+ waitdooranim
+ warp SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM, 255, 4, 4
+ waitstate
+ end
+
+SlateportCity_BattleTentCorridor_EventScript_208EEE:: @ 8208EEE
+ setvar VAR_0x8004, 9
+ special sub_81A5E74
+ setvar VAR_0x8004, 16
+ special sub_81A5E74
+ msgbox SlateportCity_BattleTentCorridor_Text_25A22D, 4
+ playfanfare BGM_ME_ASA
+ waitfanfare
+ special sp000_heal_pokemon
+
+SlateportCity_BattleTentCorridor_EventScript_208F0D:: @ 8208F0D
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, SlateportCity_BattleTentCorridor_EventScript_209014
+ compare_var_to_value VAR_RESULT, 2
+ call_if 1, SlateportCity_BattleTentCorridor_EventScript_20901B
+ multichoice 20, 6, 104, 1
+ switch VAR_RESULT
+ case 0, SlateportCity_BattleTentCorridor_EventScript_208FBB
+ case 1, SlateportCity_BattleTentCorridor_EventScript_208F5B
+ case 2, SlateportCity_BattleTentCorridor_EventScript_208F89
+
+SlateportCity_BattleTentCorridor_EventScript_208F5B:: @ 8208F5B
+ msgbox SlateportCity_BattleTentCorridor_Text_25A350, 5
+ switch VAR_RESULT
+ case 0, SlateportCity_BattleTentCorridor_EventScript_208F0D
+ case 1, SlateportCity_BattleTentCorridor_EventScript_209022
+ case 127, SlateportCity_BattleTentCorridor_EventScript_208F0D
+
+SlateportCity_BattleTentCorridor_EventScript_208F89:: @ 8208F89
+ message SlateportCity_BattleTentCorridor_Text_25A37A
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 1, SlateportCity_BattleTentCorridor_EventScript_208F0D
+ case 0, SlateportCity_BattleTentCorridor_EventScript_209A1B
+ case 127, SlateportCity_BattleTentCorridor_EventScript_208F0D
+
+SlateportCity_BattleTentCorridor_EventScript_208FBB:: @ 8208FBB
+ setvar VAR_0x8004, 8
+ special sub_81B9D08
+ msgbox SlateportCity_BattleTentCorridor_Text_25AB2E, 5
+ switch VAR_RESULT
+ case 0, SlateportCity_BattleTentCorridor_EventScript_208EB4
+ case 1, SlateportCity_BattleTentCorridor_EventScript_208FF1
+ case 127, SlateportCity_BattleTentCorridor_EventScript_208EB4
+
+SlateportCity_BattleTentCorridor_EventScript_208FF1:: @ 8208FF1
+ fadescreen 1
+ setvar VAR_0x8004, 7
+ special sub_81B9D08
+ waitstate
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SlateportCity_BattleTentCorridor_EventScript_208EB4
+ msgbox SlateportCity_BattleTentCorridor_Text_25AB6C, 4
+ goto SlateportCity_BattleTentCorridor_EventScript_208EB4
+
+SlateportCity_BattleTentCorridor_EventScript_209014:: @ 8209014
+ message SlateportCity_BattleTentCorridor_Text_25A263
+ waitmessage
+ return
+
+SlateportCity_BattleTentCorridor_EventScript_20901B:: @ 820901B
+ message SlateportCity_BattleTentCorridor_Text_25A289
+ waitmessage
+ return
+
+SlateportCity_BattleTentCorridor_EventScript_209022:: @ 8209022
+ message SlateportCity_BattleTentCorridor_Text_25ABAE
+ waitmessage
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 2
+ special sub_81B9D08
+ playse SE_SAVE
+ waitse
+ fadescreen 1
+ setvar VAR_0x8004, 4
+ special sub_81A1780
+ end
+
+SlateportCity_BattleTentCorridor_EventScript_209044:: @ 8209044
+ special copy_player_party_to_sav1
+ setvar VAR_0x8004, 10
+ setvar VAR_0x8005, 0
+ special sub_81A5E74
+ goto SlateportCity_BattleTentCorridor_EventScript_208F0D
+
+SlateportCity_BattleTentCorridor_Movement_209059: @ 8209059
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+SlateportCity_BattleTentCorridor_Movement_20905E: @ 820905E
+ step_up
+ step_up
+ step_54
+ step_end
+
+SlateportCity_BattleTentCorridor_Movement_209062: @ 8209062
+ step_up
+ step_up
+ step_up
+ step_up
+ step_25
+ step_end
+
+SlateportCity_BattleTentCorridor_Movement_209068: @ 8209068
+ step_up
+ step_54
+ step_end
+
+SlateportCity_BattleTentCorridor_Text_20906B: @ 820906B
+ .string "Want a tasty little bit of advice\n"
+ .string "for CONTESTS?\p"
+ .string "Using a certain move after another\n"
+ .string "certain kind of move sometimes gets\l"
+ .string "you extra attention.\p"
+ .string "If you know what you’re doing,\n"
+ .string "you can score big in appeal.\p"
+ .string "Of course, your opponents might try\n"
+ .string "disrupting your POKéMON’s showing.$"
+
+SlateportCity_BattleTentCorridor_Text_20917A: @ 820917A
+ .string "My papa, he’s a CONTEST JUDGE.\p"
+ .string "I wonder what I should be when I\n"
+ .string "grow up, a JUDGE or a GYM LEADER?$"
+
+SlateportCity_BattleTentCorridor_Text_2091DC: @ 82091DC
+ .string "Hey, man, I’m like majorly cheesed,\n"
+ .string "you know. Like, you know, I just\l"
+ .string "wanted to know why my POKéMON\l"
+ .string "never won, you know, like, hey?\p"
+ .string "So, like, I gave the JUDGE my two\n"
+ .string "cents, you know, they’re free.\p"
+ .string "And he wouldn’t hear me out, like, hey!\n"
+ .string "So, like, total bummer, man!\p"
+ .string "Hey, like, you! Zip it, you know?\n"
+ .string "Just, you know, take this!$"
+
+SlateportCity_BattleTentCorridor_Text_209322: @ 8209322
+ .string "That’s, like, TM41, you know?\n"
+ .string "Hey, it’s TORMENT, you hearing me?\p"
+ .string "Like, it won’t let the other guy\n"
+ .string "use the same move twice in a row, see?\p"
+ .string "Hey, now, you listen here, like,\n"
+ .string "I’m not laying a torment on you!$"
+
+SlateportCity_BattleTentCorridor_Text_2093ED: @ 82093ED
+ .string "MC: Oh, my, my!\n"
+ .string "Now isn’t that a dandy of a POKéMON?\p"
+ .string "Please! Do step right up and take\n"
+ .string "part in our splendid CONTESTS!\p"
+ .string "You’ll do well! I’m sure of it!\n"
+ .string "My eyes have never failed me!$"
+
+SlateportCity_BattleTentCorridor_Text_2094A1: @ 82094A1
+ .string "JUDGE: Well, hello there!\n"
+ .string "I see that you’re a TRAINER!\p"
+ .string "Then, it just wouldn’t do for you\n"
+ .string "to miss a POKéMON CONTEST!\p"
+ .string "Get a CONTEST PASS in VERDANTURF\n"
+ .string "CITY and enter anytime!$"
+
+SlateportCity_BattleTentCorridor_Text_20954E: @ 820954E
+ .string "It’s appeal time!\n"
+ .string "What should I lead with?$"
+
+SlateportCity_BattleTentCorridor_Text_209579: @ 8209579
+ .string "They didn’t pay much attention to\n"
+ .string "my POKéMON’s appeal…\p"
+ .string "Humph, that JUDGE, he doesn’t know\n"
+ .string "a good thing when he sees it.$"
+
+SlateportCity_BattleTentCorridor_Text_2095F1: @ 82095F1
+ .string "Oh, hi! You must be a serious fan to get\n"
+ .string "this close to the action.\p"
+ .string "I’ll reward your enthusiasm with\n"
+ .string "this sage advice.\p"
+ .string "If a move goes over really well,\n"
+ .string "the audience will get excited.\p"
+ .string "The POKéMON that makes its appeal\n"
+ .string "right when everyone’s excited…\p"
+ .string "Well, you’d think something good has\n"
+ .string "to happen!$"
+
+SlateportCity_BattleTentCorridor_Text_209718: @ 8209718
+ .string "I can’t do this! I’m more freaked out\n"
+ .string "than my POKéMON.\p"
+ .string "I’m shivering and my heart is racing!$"
+
+SlateportCity_BattleTentCorridor_Text_209775: @ 8209775
+ .string "A battle and a CONTEST aren’t the\n"
+ .string "same, but they are alike, too.\p"
+ .string "You need to work hard and believe\n"
+ .string "in the POKéMON you’ve raised.$"
+
+SlateportCity_BattleTentCorridor_Text_2097F6: @ 82097F6
+ .string "That POKéMON looks like it’s on top\n"
+ .string "of its game, huh?\p"
+ .string "A POKéMON that does good in the\n"
+ .string "secondary judging seems to be more\l"
+ .string "relaxed when it’s doing appeals.$"
+
+SlateportCity_BattleTentCorridor_Text_209890: @ 8209890
+ .string "Will you look at that sorry sight?\p"
+ .string "Heh, my POKéMON’s absolutely better\n"
+ .string "than that lot!$"
+
+SlateportCity_BattleTentCorridor_Text_2098E6: @ 82098E6
+ .string "Don’t you get the urge to move with\n"
+ .string "POKéMON if they’re putting on an\l"
+ .string "energetic appeal?$"
+
+SlateportCity_BattleTentCorridor_Text_20993D: @ 820993D
+ .string "POKéMON CONTESTS\n"
+ .string "HYPER RANK STAGE!$"
+
diff --git a/data/scripts/maps/SlateportCity_BattleTentLobby.inc b/data/scripts/maps/SlateportCity_BattleTentLobby.inc
new file mode 100644
index 000000000..24c685c6e
--- /dev/null
+++ b/data/scripts/maps/SlateportCity_BattleTentLobby.inc
@@ -0,0 +1,357 @@
+SlateportCity_BattleTentLobby_MapScripts:: @ 8208730
+ map_script 2, SlateportCity_BattleTentLobby_MapScript2_20874F
+ map_script 4, SlateportCity_BattleTentLobby_MapScript2_20873B
+ .byte 0
+
+SlateportCity_BattleTentLobby_MapScript2_20873B: @ 820873B
+ map_script_2 VAR_0x4001, 0, SlateportCity_BattleTentLobby_EventScript_208745
+ .2byte 0
+
+SlateportCity_BattleTentLobby_EventScript_208745:: @ 8208745
+ setvar VAR_0x4001, 1
+ turnobject 255, 2
+ end
+
+SlateportCity_BattleTentLobby_MapScript2_20874F: @ 820874F
+ map_script_2 VAR_0x4000, 0, SlateportCity_BattleTentLobby_EventScript_208779
+ map_script_2 VAR_0x4000, 1, SlateportCity_BattleTentLobby_EventScript_208782
+ map_script_2 VAR_0x4000, 2, SlateportCity_BattleTentLobby_EventScript_208871
+ map_script_2 VAR_0x4000, 3, SlateportCity_BattleTentLobby_EventScript_2087B7
+ map_script_2 VAR_0x4000, 4, SlateportCity_BattleTentLobby_EventScript_208837
+ .2byte 0
+
+SlateportCity_BattleTentLobby_EventScript_208779:: @ 8208779
+ setvar VAR_0x8004, 0
+ special sub_81A1780
+ end
+
+SlateportCity_BattleTentLobby_EventScript_208782:: @ 8208782
+ lockall
+ msgbox SlateportCity_BattleTentLobby_Text_2C5DFA, 4
+ closemessage
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x4000, 255
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ releaseall
+ end
+
+SlateportCity_BattleTentLobby_EventScript_2087B7:: @ 82087B7
+ lockall
+ message SlateportCity_BattleTentLobby_Text_2C5C6F
+ waitmessage
+ setvar VAR_0x8004, 4
+ special sub_81B9D08
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 0
+ special sub_81B9D08
+ playse SE_SAVE
+ waitse
+
+SlateportCity_BattleTentLobby_EventScript_2087E9:: @ 82087E9
+ msgbox SlateportCity_BattleTentLobby_Text_2C5D14, 4
+ setvar VAR_0x8004, 5
+ special sub_81B9D08
+ switch VAR_RESULT
+ case 0, SlateportCity_BattleTentLobby_EventScript_20882A
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ message SlateportCity_BattleTentLobby_Text_23F68C
+ waitmessage
+ playfanfare BGM_FANFA4
+ waitfanfare
+ goto SlateportCity_BattleTentLobby_EventScript_208861
+
+SlateportCity_BattleTentLobby_EventScript_20882A:: @ 820882A
+ msgbox SlateportCity_BattleTentLobby_Text_2C5D52, 4
+ goto SlateportCity_BattleTentLobby_EventScript_208861
+
+SlateportCity_BattleTentLobby_EventScript_208837:: @ 8208837
+ lockall
+ message SlateportCity_BattleTentLobby_Text_2C5BA2
+ waitmessage
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 0
+ special sub_81B9D08
+ playse SE_SAVE
+ waitse
+
+SlateportCity_BattleTentLobby_EventScript_208861:: @ 8208861
+ msgbox SlateportCity_BattleTentLobby_Text_2C5AA5, 4
+ closemessage
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+SlateportCity_BattleTentLobby_EventScript_208871:: @ 8208871
+ lockall
+ message SlateportCity_BattleTentLobby_Text_2C5DA7
+ waitmessage
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 1
+ special sub_81B9D08
+ playse SE_SAVE
+ waitse
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x4000, 255
+ setvar VAR_0x8006, 2
+ goto SlateportCity_BattleTentLobby_EventScript_2089AC
+
+SlateportCity_BattleTentLobby_EventScript_2088AA:: @ 82088AA
+ lock
+ faceplayer
+ setvar VAR_0x8004, 1
+ special sub_81B9D08
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, SlateportCity_BattleTentLobby_EventScript_2087E9
+ special copy_player_party_to_sav1
+ msgbox SlateportCity_BattleTentLobby_Text_2C5810, 4
+
+SlateportCity_BattleTentLobby_EventScript_2088CA:: @ 82088CA
+ message SlateportCity_BattleTentLobby_Text_2C586A
+ waitmessage
+ multichoice 17, 6, 23, 0
+ switch VAR_RESULT
+ case 0, SlateportCity_BattleTentLobby_EventScript_208906
+ case 1, SlateportCity_BattleTentLobby_EventScript_208A07
+ case 2, SlateportCity_BattleTentLobby_EventScript_208A2E
+ case 127, SlateportCity_BattleTentLobby_EventScript_208A2E
+
+SlateportCity_BattleTentLobby_EventScript_208906:: @ 8208906
+ setvar VAR_FRONTIER_FACILITY, 4
+ setvar VAR_0x40CE, 0
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 2
+ special sub_81A1780
+ msgbox SlateportCity_BattleTentLobby_Text_2C5B06, 5
+ switch VAR_RESULT
+ case 0, SlateportCity_BattleTentLobby_EventScript_208A2B
+ case 1, SlateportCity_BattleTentLobby_EventScript_208950
+ case 127, SlateportCity_BattleTentLobby_EventScript_208A2B
+
+SlateportCity_BattleTentLobby_EventScript_208950:: @ 8208950
+ setvar VAR_0x4000, 0
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 4
+ special sub_81A1780
+ setvar VAR_0x8004, 0
+ special sub_81B9D08
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ closemessage
+ delay 2
+ call SlateportCity_BattleTentLobby_EventScript_27134F
+ setvar VAR_0x4000, 255
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_BattleTentLobby_EventScript_208A14
+ setvar VAR_0x8006, 0
+
+SlateportCity_BattleTentLobby_EventScript_2089AC:: @ 82089AC
+ msgbox SlateportCity_BattleTentLobby_Text_2C5B8C, 4
+ closemessage
+ call SlateportCity_BattleTentLobby_EventScript_2089C9
+ warp SLATEPORT_CITY_BATTLE_TENT_CORRIDOR, 255, 2, 7
+ setvar VAR_0x4000, 0
+ waitstate
+ end
+
+SlateportCity_BattleTentLobby_EventScript_2089C9:: @ 82089C9
+ applymovement 1, SlateportCity_BattleTentLobby_Movement_2089F8
+ applymovement 255, SlateportCity_BattleTentLobby_Movement_2089FF
+ waitmovement 0
+ opendoor 6, 1
+ waitdooranim
+ applymovement 1, SlateportCity_BattleTentLobby_Movement_2089FC
+ applymovement 255, SlateportCity_BattleTentLobby_Movement_208A03
+ waitmovement 0
+ closedoor 6, 1
+ waitdooranim
+ return
+
+SlateportCity_BattleTentLobby_Movement_2089F8: @ 82089F8
+ step_up
+ step_up
+ step_up
+ step_end
+
+SlateportCity_BattleTentLobby_Movement_2089FC: @ 82089FC
+ step_up
+ step_54
+ step_end
+
+SlateportCity_BattleTentLobby_Movement_2089FF: @ 82089FF
+ step_up
+ step_up
+ step_up
+ step_end
+
+SlateportCity_BattleTentLobby_Movement_208A03: @ 8208A03
+ step_up
+ step_up
+ step_54
+ step_end
+
+SlateportCity_BattleTentLobby_EventScript_208A07:: @ 8208A07
+ msgbox SlateportCity_BattleTentLobby_Text_2C589C, 4
+ goto SlateportCity_BattleTentLobby_EventScript_2088CA
+
+SlateportCity_BattleTentLobby_EventScript_208A14:: @ 8208A14
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ goto SlateportCity_BattleTentLobby_EventScript_208A2E
+
+SlateportCity_BattleTentLobby_EventScript_208A2B:: @ 8208A2B
+ special copy_player_party_from_sav1
+
+SlateportCity_BattleTentLobby_EventScript_208A2E:: @ 8208A2E
+ msgbox SlateportCity_BattleTentLobby_Text_2C5AA5, 4
+ release
+ end
+
+SlateportCity_BattleTentLobby_Movement_208A38:: @ 8208A38
+ step_up
+ step_up
+ step_up
+ step_54
+ step_end
+
+SlateportCity_BattleTentLobby_EventScript_208A3D:: @ 8208A3D
+ lock
+ faceplayer
+ checkflag FLAG_0x109
+ goto_eq SlateportCity_BattleTentLobby_EventScript_208A74
+ msgbox SlateportCity_BattleTentLobby_Text_208B4E, 4
+ giveitem_std ITEM_TM41
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_BattleTentLobby_EventScript_272054
+ setflag FLAG_0x109
+ msgbox SlateportCity_BattleTentLobby_Text_208C5C, 4
+ release
+ end
+
+SlateportCity_BattleTentLobby_EventScript_208A74:: @ 8208A74
+ msgbox SlateportCity_BattleTentLobby_Text_208C5C, 4
+ release
+ end
+
+SlateportCity_BattleTentLobby_EventScript_208A7E:: @ 8208A7E
+ msgbox SlateportCity_BattleTentLobby_Text_208D27, 2
+ end
+
+SlateportCity_BattleTentLobby_EventScript_208A87:: @ 8208A87
+ msgbox SlateportCity_BattleTentLobby_Text_208DA6, 2
+ end
+
+SlateportCity_BattleTentLobby_EventScript_208A90:: @ 8208A90
+ msgbox SlateportCity_BattleTentLobby_Text_208DF1, 2
+ end
+
+SlateportCity_BattleTentLobby_EventScript_208A99:: @ 8208A99
+ lockall
+ msgbox SlateportCity_BattleTentLobby_Text_259721, 4
+ goto SlateportCity_BattleTentLobby_EventScript_208AA8
+ end
+
+SlateportCity_BattleTentLobby_EventScript_208AA8:: @ 8208AA8
+ message SlateportCity_BattleTentLobby_Text_259743
+ waitmessage
+ multichoice 17, 0, 111, 0
+ switch VAR_RESULT
+ case 0, SlateportCity_BattleTentLobby_EventScript_208B06
+ case 1, SlateportCity_BattleTentLobby_EventScript_208B14
+ case 2, SlateportCity_BattleTentLobby_EventScript_208B22
+ case 3, SlateportCity_BattleTentLobby_EventScript_208B30
+ case 4, SlateportCity_BattleTentLobby_EventScript_208B3E
+ case 5, SlateportCity_BattleTentLobby_EventScript_208B4C
+ case 127, SlateportCity_BattleTentLobby_EventScript_208B4C
+ end
+
+SlateportCity_BattleTentLobby_EventScript_208B06:: @ 8208B06
+ msgbox SlateportCity_BattleTentLobby_Text_2C5F08, 4
+ goto SlateportCity_BattleTentLobby_EventScript_208AA8
+ end
+
+SlateportCity_BattleTentLobby_EventScript_208B14:: @ 8208B14
+ msgbox SlateportCity_BattleTentLobby_Text_2C5F9D, 4
+ goto SlateportCity_BattleTentLobby_EventScript_208AA8
+ end
+
+SlateportCity_BattleTentLobby_EventScript_208B22:: @ 8208B22
+ msgbox SlateportCity_BattleTentLobby_Text_2C6020, 4
+ goto SlateportCity_BattleTentLobby_EventScript_208AA8
+ end
+
+SlateportCity_BattleTentLobby_EventScript_208B30:: @ 8208B30
+ msgbox SlateportCity_BattleTentLobby_Text_2C60C0, 4
+ goto SlateportCity_BattleTentLobby_EventScript_208AA8
+ end
+
+SlateportCity_BattleTentLobby_EventScript_208B3E:: @ 8208B3E
+ msgbox SlateportCity_BattleTentLobby_Text_2C61FE, 4
+ goto SlateportCity_BattleTentLobby_EventScript_208AA8
+ end
+
+SlateportCity_BattleTentLobby_EventScript_208B4C:: @ 8208B4C
+ releaseall
+ end
+
+SlateportCity_BattleTentLobby_Text_208B4E: @ 8208B4E
+ .string "So, like, I couldn’t find myself any\n"
+ .string "POKéMON that were, like, for me.\p"
+ .string "So, I figured, like, hey, I should file\n"
+ .string "a complaint to the guy there?\p"
+ .string "And he wouldn’t hear me out, like, hey!\n"
+ .string "So, like, total bummer, man!\p"
+ .string "Hey, like, you! Zip it, you know?\n"
+ .string "Just, you know, take this!$"
+
+SlateportCity_BattleTentLobby_Text_208C5C: @ 8208C5C
+ .string "That’s, like, TM41, you know?\n"
+ .string "Hey, it’s TORMENT, you hearing me?\p"
+ .string "Like, it won’t let the other guy\n"
+ .string "use the same move twice in a row, see?\p"
+ .string "Hey, now, you listen here, like,\n"
+ .string "I’m not laying a torment on you!$"
+
+SlateportCity_BattleTentLobby_Text_208D27: @ 8208D27
+ .string "I don’t really like BUG POKéMON,\n"
+ .string "but maybe I’ll try using some for\l"
+ .string "a change of pace.\p"
+ .string "Who knows, I might even get to like\n"
+ .string "them!$"
+
+SlateportCity_BattleTentLobby_Text_208DA6: @ 8208DA6
+ .string "You can battle all you want here even\n"
+ .string "if you don’t have any tough POKéMON.$"
+
+SlateportCity_BattleTentLobby_Text_208DF1: @ 8208DF1
+ .string "Wouldn’t it be nice if they had more of\n"
+ .string "a selection?$"
+
diff --git a/data/scripts/maps/SlateportCity_Harbor.inc b/data/scripts/maps/SlateportCity_Harbor.inc
new file mode 100644
index 000000000..f6bfe736e
--- /dev/null
+++ b/data/scripts/maps/SlateportCity_Harbor.inc
@@ -0,0 +1,567 @@
+SlateportCity_Harbor_MapScripts:: @ 820C97D
+ map_script 3, SlateportCity_Harbor_MapScript1_20C983
+ .byte 0
+
+SlateportCity_Harbor_MapScript1_20C983: @ 820C983
+ setescapewarp SLATEPORT_CITY, 255, 28, 13
+ setvar VAR_0x4001, 0
+ compare_var_to_value VAR_0x40A0, 1
+ call_if 1, SlateportCity_Harbor_EventScript_20C9A9
+ checkflag FLAG_SYS_GAME_CLEAR
+ call_if 1, SlateportCity_Harbor_EventScript_20C9A5
+ end
+
+SlateportCity_Harbor_EventScript_20C9A5:: @ 820C9A5
+ clearflag FLAG_0x35C
+ return
+
+SlateportCity_Harbor_EventScript_20C9A9:: @ 820C9A9
+ savebgm BGM_AQA_0
+ setobjectxyperm 4, 12, 13
+ setobjectmovementtype 4, 9
+ setflag FLAG_0x389
+ return
+
+SlateportCity_Harbor_EventScript_20C9BB:: @ 820C9BB
+ lockall
+ setvar VAR_0x8008, 0
+ goto SlateportCity_Harbor_EventScript_20C9F5
+ end
+
+SlateportCity_Harbor_EventScript_20C9C7:: @ 820C9C7
+ lockall
+ setvar VAR_0x8008, 1
+ goto SlateportCity_Harbor_EventScript_20C9F5
+ end
+
+SlateportCity_Harbor_EventScript_20C9D3:: @ 820C9D3
+ lockall
+ setvar VAR_0x8008, 2
+ goto SlateportCity_Harbor_EventScript_20C9F5
+ end
+
+SlateportCity_Harbor_EventScript_20C9DF:: @ 820C9DF
+ lockall
+ setvar VAR_0x8008, 3
+ applymovement 255, SlateportCity_Harbor_Movement_20CAEF
+ waitmovement 0
+ goto SlateportCity_Harbor_EventScript_20C9F5
+ end
+
+SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5
+ applymovement 7, SlateportCity_Harbor_Movement_2725AA
+ waitmovement 0
+ applymovement 6, SlateportCity_Harbor_Movement_2725AA
+ applymovement 255, SlateportCity_Harbor_Movement_2725A6
+ waitmovement 0
+ msgbox SlateportCity_Harbor_Text_20D291, 4
+ closemessage
+ applymovement 6, SlateportCity_Harbor_Movement_20CAC8
+ applymovement 7, SlateportCity_Harbor_Movement_20CAC8
+ applymovement 8, SlateportCity_Harbor_Movement_20CAD2
+ waitmovement 0
+ removeobject 6
+ removeobject 7
+ removeobject 8
+ setvar VAR_0x40A0, 2
+ setflag FLAG_0x061
+ setflag FLAG_0x313
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, SlateportCity_Harbor_EventScript_20CA89
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, SlateportCity_Harbor_EventScript_20CA9E
+ compare_var_to_value VAR_0x8008, 2
+ call_if 1, SlateportCity_Harbor_EventScript_20CAB3
+ compare_var_to_value VAR_0x8008, 3
+ call_if 1, SlateportCity_Harbor_EventScript_20CAB3
+ msgbox SlateportCity_Harbor_Text_20D35A, 4
+ closemessage
+ setflag FLAG_0x335
+ setflag FLAG_0x336
+ moveobjectoffscreen 4
+ setobjectmovementtype 4, 10
+ releaseall
+ end
+
+SlateportCity_Harbor_EventScript_20CA89:: @ 820CA89
+ applymovement 4, SlateportCity_Harbor_Movement_20CAE0
+ waitmovement 0
+ applymovement 255, SlateportCity_Harbor_Movement_2725AA
+ waitmovement 0
+ return
+
+SlateportCity_Harbor_EventScript_20CA9E:: @ 820CA9E
+ applymovement 4, SlateportCity_Harbor_Movement_20CAE6
+ waitmovement 0
+ applymovement 255, SlateportCity_Harbor_Movement_2725A8
+ waitmovement 0
+ return
+
+SlateportCity_Harbor_EventScript_20CAB3:: @ 820CAB3
+ applymovement 4, SlateportCity_Harbor_Movement_20CAEB
+ waitmovement 0
+ applymovement 255, SlateportCity_Harbor_Movement_2725A8
+ waitmovement 0
+ return
+
+SlateportCity_Harbor_Movement_20CAC8: @ 820CAC8
+ step_14
+ step_14
+ step_43
+ step_54
+ step_end
+
+SlateportCity_Harbor_Movement_20CACD: @ 820CACD
+ step_14
+ step_14
+ step_43
+ step_54
+ step_end
+
+SlateportCity_Harbor_Movement_20CAD2: @ 820CAD2
+ step_14
+ step_14
+ step_14
+ step_14
+ step_right
+ step_right
+ step_right
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_18
+ step_end
+
+SlateportCity_Harbor_Movement_20CAE0: @ 820CAE0
+ step_left
+ step_left
+ step_left
+ step_left
+ step_up
+ step_end
+
+SlateportCity_Harbor_Movement_20CAE6: @ 820CAE6
+ step_left
+ step_left
+ step_up
+ step_left
+ step_end
+
+SlateportCity_Harbor_Movement_20CAEB: @ 820CAEB
+ step_left
+ step_left
+ step_left
+ step_end
+
+SlateportCity_Harbor_Movement_20CAEF: @ 820CAEF
+ step_up
+ step_end
+
+SlateportCity_Harbor_EventScript_20CAF1:: @ 820CAF1
+ lock
+ faceplayer
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_eq SlateportCity_Harbor_EventScript_20CB06
+ msgbox SlateportCity_Harbor_Text_20CE20, 4
+ release
+ end
+
+SlateportCity_Harbor_EventScript_20CB06:: @ 820CB06
+ msgbox SlateportCity_Harbor_Text_20CE87, 4
+ message SlateportCity_Harbor_Text_20CF1C
+ waitmessage
+ goto SlateportCity_Harbor_EventScript_20CB1A
+ end
+
+SlateportCity_Harbor_EventScript_20CB1A:: @ 820CB1A
+ checkflag FLAG_0x1D0
+ goto_eq SlateportCity_Harbor_EventScript_20CB50
+ multichoicedefault 18, 8, 56, 2, 0
+ switch VAR_RESULT
+ case 0, SlateportCity_Harbor_EventScript_20CB92
+ case 1, SlateportCity_Harbor_EventScript_20CC2D
+ case 127, SlateportCity_Harbor_EventScript_20CC2D
+ end
+
+SlateportCity_Harbor_EventScript_20CB50:: @ 820CB50
+ multichoicedefault 17, 6, 52, 2, 0
+ switch VAR_RESULT
+ case 0, SlateportCity_Harbor_EventScript_20CB92
+ case 1, SlateportCity_Harbor_EventScript_20CBBA
+ case 2, SlateportCity_Harbor_EventScript_20CC2D
+ case 127, SlateportCity_Harbor_EventScript_20CC2D
+ end
+
+SlateportCity_Harbor_EventScript_20CB88:: @ 820CB88
+ msgbox SlateportCity_Harbor_Text_20CEC1, 4
+ release
+ end
+
+SlateportCity_Harbor_EventScript_20CB92:: @ 820CB92
+ msgbox SlateportCity_Harbor_Text_20CF93, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_Harbor_EventScript_20CBDD
+ setvar VAR_PORTHOLE, 1
+ call SlateportCity_Harbor_EventScript_20CBE9
+ warp SS_TIDAL_CORRIDOR, 255, 1, 10
+ waitstate
+ release
+ end
+
+SlateportCity_Harbor_EventScript_20CBBA:: @ 820CBBA
+ msgbox SlateportCity_Harbor_Text_20CFAE, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_Harbor_EventScript_20CBDD
+ call SlateportCity_Harbor_EventScript_20CBE9
+ warp BATTLE_FRONTIER_OUTSIDE_WEST, 255, 19, 67
+ waitstate
+ release
+ end
+
+SlateportCity_Harbor_EventScript_20CBDD:: @ 820CBDD
+ message SlateportCity_Harbor_Text_20CFFA
+ waitmessage
+ goto SlateportCity_Harbor_EventScript_20CB1A
+ end
+
+SlateportCity_Harbor_EventScript_20CBE9:: @ 820CBE9
+ msgbox SlateportCity_Harbor_Text_20CFCB, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, SlateportCity_Harbor_Movement_2725A6
+ waitmovement 0
+ delay 30
+ hideobjectat VAR_LAST_TALKED, SLATEPORT_CITY_HARBOR
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, SlateportCity_Harbor_EventScript_20CC42
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, SlateportCity_Harbor_EventScript_20CC37
+ delay 30
+ hideobjectat 255, PETALBURG_CITY
+ setvar VAR_0x8004, 5
+ call SlateportCity_Harbor_EventScript_2721E2
+ return
+
+SlateportCity_Harbor_EventScript_20CC2D:: @ 820CC2D
+ msgbox SlateportCity_Harbor_Text_20CF71, 4
+ release
+ end
+
+SlateportCity_Harbor_EventScript_20CC37:: @ 820CC37
+ applymovement 255, SlateportCity_Harbor_Movement_20CC4D
+ waitmovement 0
+ return
+
+SlateportCity_Harbor_EventScript_20CC42:: @ 820CC42
+ applymovement 255, SlateportCity_Harbor_Movement_20CC50
+ waitmovement 0
+ return
+
+SlateportCity_Harbor_Movement_20CC4D: @ 820CC4D
+ step_right
+ step_26
+ step_end
+
+SlateportCity_Harbor_Movement_20CC50: @ 820CC50
+ step_up
+ step_end
+
+SlateportCity_Harbor_EventScript_20CC52:: @ 820CC52
+ lock
+ faceplayer
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_if 0, SlateportCity_Harbor_EventScript_20CC89
+ setvar VAR_0x8004, 0
+ checkflag FLAG_0x1BE
+ call_if 1, SlateportCity_Harbor_EventScript_20CC93
+ checkflag FLAG_0x1BF
+ call_if 1, SlateportCity_Harbor_EventScript_20CC93
+ compare_var_to_value VAR_0x8004, 2
+ goto_eq SlateportCity_Harbor_EventScript_20CC89
+ msgbox SlateportCity_Harbor_Text_20D08E, 4
+ release
+ end
+
+SlateportCity_Harbor_EventScript_20CC89:: @ 820CC89
+ msgbox SlateportCity_Harbor_Text_20D01C, 4
+ release
+ end
+
+SlateportCity_Harbor_EventScript_20CC93:: @ 820CC93
+ addvar VAR_0x8004, 1
+ return
+
+SlateportCity_Harbor_EventScript_20CC99:: @ 820CC99
+ msgbox SlateportCity_Harbor_Text_20D194, 2
+ end
+
+SlateportCity_Harbor_EventScript_20CCA2:: @ 820CCA2
+ lock
+ faceplayer
+ checkflag FLAG_BADGE07_GET
+ goto_eq SlateportCity_Harbor_EventScript_20CD00
+ checkflag FLAG_0x10F
+ goto_eq SlateportCity_Harbor_EventScript_20CCF6
+ checkflag FLAG_0x070
+ goto_eq SlateportCity_Harbor_EventScript_20CCE9
+ compare_var_to_value VAR_0x40A0, 2
+ goto_eq SlateportCity_Harbor_EventScript_20CCDF
+ msgbox SlateportCity_Harbor_Text_20D232, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, SlateportCity_Harbor_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+SlateportCity_Harbor_EventScript_20CCDF:: @ 820CCDF
+ msgbox SlateportCity_Harbor_Text_20D35A, 4
+ release
+ end
+
+SlateportCity_Harbor_EventScript_20CCE9:: @ 820CCE9
+ setflag FLAG_0x10F
+ msgbox SlateportCity_Harbor_Text_20D42B, 4
+ release
+ end
+
+SlateportCity_Harbor_EventScript_20CCF6:: @ 820CCF6
+ msgbox SlateportCity_Harbor_Text_20D58A, 4
+ release
+ end
+
+SlateportCity_Harbor_EventScript_20CD00:: @ 820CD00
+ compare_var_to_value VAR_0x4001, 1
+ goto_eq SlateportCity_Harbor_EventScript_20CE11
+ checkitem ITEM_SCANNER, 1
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SlateportCity_Harbor_EventScript_20CD38
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_eq SlateportCity_Harbor_EventScript_20CD2E
+ msgbox SlateportCity_Harbor_Text_20D65C, 4
+ release
+ end
+
+SlateportCity_Harbor_EventScript_20CD2E:: @ 820CD2E
+ msgbox SlateportCity_Harbor_Text_20D6CB, 4
+ release
+ end
+
+SlateportCity_Harbor_EventScript_20CD38:: @ 820CD38
+ message SlateportCity_Harbor_Text_20D76C
+ waitmessage
+ goto SlateportCity_Harbor_EventScript_20CD44
+ end
+
+SlateportCity_Harbor_EventScript_20CD44:: @ 820CD44
+ multichoice 0, 0, 46, 0
+ switch VAR_RESULT
+ case 0, SlateportCity_Harbor_EventScript_20CD7B
+ case 1, SlateportCity_Harbor_EventScript_20CDBB
+ case 2, SlateportCity_Harbor_EventScript_20CDFB
+ case 127, SlateportCity_Harbor_EventScript_20CDFB
+ end
+
+SlateportCity_Harbor_EventScript_20CD7B:: @ 820CD7B
+ msgbox SlateportCity_Harbor_Text_20D8BC, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_Harbor_EventScript_20CE05
+ giveitem_std ITEM_DEEP_SEA_TOOTH
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_Harbor_EventScript_272054
+ takeitem ITEM_SCANNER, 1
+ msgbox SlateportCity_Harbor_Text_20D94A, 4
+ setflag FLAG_0x126
+ goto SlateportCity_Harbor_EventScript_20CE11
+ end
+
+SlateportCity_Harbor_EventScript_20CDBB:: @ 820CDBB
+ msgbox SlateportCity_Harbor_Text_20D8F1, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_Harbor_EventScript_20CE05
+ giveitem_std ITEM_DEEP_SEA_SCALE
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_Harbor_EventScript_272054
+ takeitem ITEM_SCANNER, 1
+ msgbox SlateportCity_Harbor_Text_20D94A, 4
+ setflag FLAG_0x126
+ goto SlateportCity_Harbor_EventScript_20CE11
+ end
+
+SlateportCity_Harbor_EventScript_20CDFB:: @ 820CDFB
+ msgbox SlateportCity_Harbor_Text_20D841, 4
+ release
+ end
+
+SlateportCity_Harbor_EventScript_20CE05:: @ 820CE05
+ message SlateportCity_Harbor_Text_20D926
+ waitmessage
+ goto SlateportCity_Harbor_EventScript_20CD44
+ end
+
+SlateportCity_Harbor_EventScript_20CE11:: @ 820CE11
+ setvar VAR_0x4001, 1
+ msgbox SlateportCity_Harbor_Text_20D970, 4
+ release
+ end
+
+SlateportCity_Harbor_Text_20CE20: @ 820CE20
+ .string "I beg your pardon?\n"
+ .string "You’re looking for a ship?\p"
+ .string "I’m sorry, the ferry service isn’t\n"
+ .string "available at present…$"
+
+SlateportCity_Harbor_Text_20CE87: @ 820CE87
+ .string "Hello, are you here for the ferry?\n"
+ .string "May I see your TICKET?$"
+
+
+SlateportCity_Harbor_Text_20CEC1: @ 820CEC1
+ .string "{PLAYER} doesn’t have the TICKET…\p"
+ .string "I’m terribly sorry.\p"
+ .string "You must have a TICKET to board\n"
+ .string "the ferry.$"
+
+SlateportCity_Harbor_Text_20CF1C: @ 820CF1C
+ .string "{PLAYER} flashed the TICKET.\p"
+ .string "Perfect! That’s all you need!\p"
+ .string "And where would you like to go?$"
+
+SlateportCity_Harbor_Text_20CF71: @ 820CF71
+ .string "Please sail with us another time!$"
+
+SlateportCity_Harbor_Text_20CF93: @ 820CF93
+ .string "LILYCOVE CITY it is, then!$"
+
+SlateportCity_Harbor_Text_20CFAE: @ 820CFAE
+ .string "BATTLE FRONTIER it is, then!$"
+
+SlateportCity_Harbor_Text_20CFCB: @ 820CFCB
+ .string "Please board the ferry and wait for\n"
+ .string "departure.$"
+
+SlateportCity_Harbor_Text_20CFFA: @ 820CFFA
+ .string "Then, where would you like to go?$"
+
+SlateportCity_Harbor_Text_20D01C: @ 820D01C
+ .string "A journey to the bottom of the sea…\n"
+ .string "I wonder what it’d be like?\p"
+ .string "I’d love to go deep underwater like\n"
+ .string "that someday.$"
+
+SlateportCity_Harbor_Text_20D08E: @ 820D08E
+ .string "For a ship to sail safely, we need to\n"
+ .string "know about the weather!\p"
+ .string "Speaking of weather, I heard something\n"
+ .string "from a guy at the WEATHER INSTITUTE.\p"
+ .string "He was saying abnormal weather has\n"
+ .string "been reported all over the place!\p"
+ .string "You should visit the WEATHER INSTITUTE\n"
+ .string "and ask around!$"
+
+SlateportCity_Harbor_Text_20D194: @ 820D194
+ .string "I wanted to go with CAPT. STERN on\n"
+ .string "the ocean floor exploration.\p"
+ .string "But the sub’s too small for me.\p"
+ .string "If I squeezed in, there wouldn’t be\n"
+ .string "any room for the CAPTAIN…$"
+
+SlateportCity_Harbor_Text_20D232: @ 820D232
+ .string "CAPT. STERN: Those thugs…\p"
+ .string "They’re the same lot who tried to rob\n"
+ .string "the DEVON GOODS at the MUSEUM.$"
+
+SlateportCity_Harbor_Text_20D291: @ 820D291
+ .string "ARCHIE: Oh?\n"
+ .string "Not you again…\p"
+ .string "You are tenacious to track us here,\n"
+ .string "that much I will give you.\p"
+ .string "But now…\n"
+ .string "No one can stop us! No one!\p"
+ .string "Or, will you follow us back to our\n"
+ .string "HIDEOUT in LILYCOVE CITY?\p"
+ .string "Fwahahahaha…$"
+
+SlateportCity_Harbor_Text_20D35A: @ 820D35A
+ .string "CAPT. STERN: Why…\p"
+ .string "Why would TEAM AQUA steal my\n"
+ .string "SUBMARINE EXPLORER 1?\p"
+ .string "They can’t be after the slumbering\n"
+ .string "POKéMON at the bottom of the sea…\p"
+ .string "But even if I were to chase them,\n"
+ .string "I don’t stand a chance against them…$"
+
+SlateportCity_Harbor_Text_20D42B: @ 820D42B
+ .string "CAPT. STERN: Oh, {PLAYER}{KUN}…\p"
+ .string "Okay… So TEAM AQUA left before you\n"
+ .string "could stop them…\p"
+ .string "Oh, no, don’t blame yourself.\n"
+ .string "You’re not responsible for this.\p"
+ .string "Trying to catch a submarine…\n"
+ .string "It’s impossible for most people.\p"
+ .string "You would need a POKéMON that knows\n"
+ .string "how to DIVE…\p"
+ .string "Perhaps if you went out to\n"
+ .string "MOSSDEEP CITY…\p"
+ .string "A lot of divers live out there, so\n"
+ .string "someone might teach you…$"
+
+SlateportCity_Harbor_Text_20D58A: @ 820D58A
+ .string "CAPT. STERN: Trying to catch a\n"
+ .string "submarine… It’s impossible.\p"
+ .string "You would need a POKéMON that knows\n"
+ .string "how to DIVE…\p"
+ .string "Perhaps if you went out to\n"
+ .string "MOSSDEEP CITY…\p"
+ .string "A lot of divers live out there, so\n"
+ .string "someone might teach you…$"
+
+SlateportCity_Harbor_Text_20D65C: @ 820D65C
+ .string "CAPT. STERN: Oh, yes.\n"
+ .string "MR. BRINEY came to our SHIPYARD.\p"
+ .string "It won’t be long now before we finish\n"
+ .string "making the ferry!$"
+
+SlateportCity_Harbor_Text_20D6CB: @ 820D6CB
+ .string "CAPT. STERN: {PLAYER}{KUN}!\p"
+ .string "We finally finished making the ferry\n"
+ .string "S.S. TIDAL!\p"
+ .string "We couldn’t have done it without\n"
+ .string "your friend MR. BRINEY.\p"
+ .string "Please go for a short cruise on it!$"
+
+SlateportCity_Harbor_Text_20D76C: @ 820D76C
+ .string "CAPT. STERN: Oh?\n"
+ .string "{PLAYER}{KUN}, that item you have…\p"
+ .string "That’s a SCANNER! That would sure\n"
+ .string "help us on our explorations.\p"
+ .string "{PLAYER}{KUN}, would you trade your\n"
+ .string "SCANNER for something?\p"
+ .string "Like, say, a DEEPSEATOOTH or\n"
+ .string "a DEEPSEASCALE that I have?$"
+
+SlateportCity_Harbor_Text_20D841: @ 820D841
+ .string "CAPT. STERN: Are you certain?\n"
+ .string "It’s useless to you, {PLAYER}{KUN}…\p"
+ .string "Well, okay, then. If you want to trade\n"
+ .string "your SCANNER, let me know.$"
+
+SlateportCity_Harbor_Text_20D8BC: @ 820D8BC
+ .string "CAPT. STERN: So you’ll trade it for\n"
+ .string "my DEEPSEATOOTH?$"
+
+SlateportCity_Harbor_Text_20D8F1: @ 820D8F1
+ .string "CAPT. STERN: So you’ll trade it for\n"
+ .string "my DEEPSEASCALE?$"
+
+SlateportCity_Harbor_Text_20D926: @ 820D926
+ .string "CAPT. STERN: Which one do you want?$"
+
+SlateportCity_Harbor_Text_20D94A: @ 820D94A
+ .string "{PLAYER} handed the SCANNER to\n"
+ .string "CAPT. STERN.$"
+
+SlateportCity_Harbor_Text_20D970: @ 820D970
+ .string "CAPT. STERN: Thanks, {PLAYER}{KUN}!\n"
+ .string "This will help our research a lot!$"
+
diff --git a/data/scripts/maps/SlateportCity_House1.inc b/data/scripts/maps/SlateportCity_House1.inc
new file mode 100644
index 000000000..c6fcff184
--- /dev/null
+++ b/data/scripts/maps/SlateportCity_House1.inc
@@ -0,0 +1,121 @@
+SlateportCity_House1_MapScripts:: @ 8209AA4
+ .byte 0
+
+SlateportCity_House1_EventScript_209AA5:: @ 8209AA5
+ lock
+ faceplayer
+ msgbox SlateportCity_House1_Text_209B8E, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SlateportCity_House1_EventScript_209AC6
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_House1_EventScript_209AE9
+ end
+
+SlateportCity_House1_EventScript_209AC6:: @ 8209AC6
+ msgbox SlateportCity_House1_Text_209BFF, 4
+ special sub_81B94B0
+ waitstate
+ compare_var_to_value VAR_0x8004, 255
+ goto_if 5, SlateportCity_House1_EventScript_209AF3
+ compare_var_to_value VAR_0x8004, 255
+ goto_eq SlateportCity_House1_EventScript_209AE9
+ end
+
+SlateportCity_House1_EventScript_209AE9:: @ 8209AE9
+ msgbox SlateportCity_House1_Text_209D42, 4
+ release
+ end
+
+SlateportCity_House1_EventScript_209AF3:: @ 8209AF3
+ specialvar VAR_RESULT, sub_81396E0
+ compare_var_to_value VAR_RESULT, 412
+ goto_eq SlateportCity_House1_EventScript_209B46
+ special TV_CopyNicknameToStringVar1AndEnsureTerminated
+ special TV_CheckMonOTIDEqualsPlayerID
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SlateportCity_House1_EventScript_209B50
+ specialvar VAR_RESULT, sub_8139770
+ special TV_CopyNicknameToStringVar1AndEnsureTerminated
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SlateportCity_House1_EventScript_209B50
+ msgbox SlateportCity_House1_Text_209C2B, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SlateportCity_House1_EventScript_209B5A
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_House1_EventScript_209AE9
+ end
+
+SlateportCity_House1_EventScript_209B46:: @ 8209B46
+ msgbox SlateportCity_House1_Text_209E74, 4
+ release
+ end
+
+SlateportCity_House1_EventScript_209B50:: @ 8209B50
+ msgbox SlateportCity_House1_Text_209DF0, 4
+ release
+ end
+
+SlateportCity_House1_EventScript_209B5A:: @ 8209B5A
+ msgbox SlateportCity_House1_Text_209CA4, 4
+ call SlateportCity_House1_EventScript_2723DD
+ specialvar VAR_RESULT, TV_PutNameRaterShowOnTheAirIfNicnkameChanged
+ special TV_CopyNicknameToStringVar1AndEnsureTerminated
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SlateportCity_House1_EventScript_209B84
+ msgbox SlateportCity_House1_Text_209D5E, 4
+ release
+ end
+
+SlateportCity_House1_EventScript_209B84:: @ 8209B84
+ msgbox SlateportCity_House1_Text_209CD4, 4
+ release
+ end
+
+SlateportCity_House1_Text_209B8E: @ 8209B8E
+ .string "Hi, hi! I’m the NAME RATER!\n"
+ .string "I’m the fortune-teller of names!\p"
+ .string "I shall be pleased to rate your\n"
+ .string "POKéMON’s nickname.$"
+
+SlateportCity_House1_Text_209BFF: @ 8209BFF
+ .string "Which POKéMON’s nickname should\n"
+ .string "I critique?$"
+
+SlateportCity_House1_Text_209C2B: @ 8209C2B
+ .string "Hmmm… {STR_VAR_1}, is it? That is\n"
+ .string "quite a fine name you bestowed.\p"
+ .string "But! What say you, if I were to\n"
+ .string "suggest a slightly better name?$"
+
+SlateportCity_House1_Text_209CA4: @ 8209CA4
+ .string "Ah, good. Then, what shall the new\n"
+ .string "nickname be?$"
+
+SlateportCity_House1_Text_209CD4: @ 8209CD4
+ .string "Done! From now on, this POKéMON\n"
+ .string "shall be known as {STR_VAR_1}!\p"
+ .string "It is a better name than before!\n"
+ .string "How fortunate for you!$"
+
+SlateportCity_House1_Text_209D42: @ 8209D42
+ .string "I see.\n"
+ .string "Do come visit again.$"
+
+SlateportCity_House1_Text_209D5E: @ 8209D5E
+ .string "Done! From now on, this POKéMON\n"
+ .string "shall be known as {STR_VAR_1}!\p"
+ .string "It looks no different from before,\n"
+ .string "and yet, this is vastly superior!\p"
+ .string "How fortunate for you!$"
+
+SlateportCity_House1_Text_209DF0: @ 8209DF0
+ .string "Hmmm… {STR_VAR_1} it is!\p"
+ .string "This is a magnificent nickname!\n"
+ .string "It is impeccably beyond reproach!\p"
+ .string "You’ll do well to cherish your\n"
+ .string "{STR_VAR_1} now and beyond.$"
+
+SlateportCity_House1_Text_209E74: @ 8209E74
+ .string "Now, now.\n"
+ .string "That is merely an EGG!$"
+
diff --git a/data/scripts/maps/SlateportCity_House2.inc b/data/scripts/maps/SlateportCity_House2.inc
new file mode 100644
index 000000000..28a05ed38
--- /dev/null
+++ b/data/scripts/maps/SlateportCity_House2.inc
@@ -0,0 +1,23 @@
+SlateportCity_House2_MapScripts:: @ 820D9AE
+ .byte 0
+
+SlateportCity_House2_EventScript_20D9AF:: @ 820D9AF
+ msgbox SlateportCity_House2_Text_20D9C1, 2
+ end
+
+SlateportCity_House2_EventScript_20D9B8:: @ 820D9B8
+ msgbox SlateportCity_House2_Text_20DA59, 2
+ end
+
+SlateportCity_House2_Text_20D9C1: @ 820D9C1
+ .string "My POKéMON has a HASTY nature.\p"
+ .string "It has higher SPEED compared to\n"
+ .string "my other POKéMON.\p"
+ .string "Maybe their nature has something to\n"
+ .string "do with the stat gains of POKéMON.$"
+
+SlateportCity_House2_Text_20DA59: @ 820DA59
+ .string "You’re a TRAINER, aren’t you?\p"
+ .string "Since you came to SLATEPORT CITY,\n"
+ .string "you must be going to the BATTLE TENT.$"
+
diff --git a/data/scripts/maps/SlateportCity_Mart.inc b/data/scripts/maps/SlateportCity_Mart.inc
new file mode 100644
index 000000000..da217f809
--- /dev/null
+++ b/data/scripts/maps/SlateportCity_Mart.inc
@@ -0,0 +1,47 @@
+SlateportCity_Mart_MapScripts:: @ 820DC48
+ .byte 0
+
+SlateportCity_Mart_EventScript_20DC49:: @ 820DC49
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemart SlateportCity_Mart_Pokemart_20DC60
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+SlateportCity_Mart_Pokemart_20DC60: @ 820DC60
+ .2byte ITEM_POKE_BALL
+ .2byte ITEM_GREAT_BALL
+ .2byte ITEM_POTION
+ .2byte ITEM_SUPER_POTION
+ .2byte ITEM_ANTIDOTE
+ .2byte ITEM_PARALYZE_HEAL
+ .2byte ITEM_ESCAPE_ROPE
+ .2byte ITEM_REPEL
+ .2byte ITEM_HARBOR_MAIL
+ .2byte ITEM_NONE
+ release
+ end
+
+SlateportCity_Mart_EventScript_20DC76:: @ 820DC76
+ msgbox SlateportCity_Mart_Text_20DC88, 2
+ end
+
+SlateportCity_Mart_EventScript_20DC7F:: @ 820DC7F
+ msgbox SlateportCity_Mart_Text_20DCF8, 2
+ end
+
+SlateportCity_Mart_Text_20DC88: @ 820DC88
+ .string "The MARKET does have some interesting\n"
+ .string "merchandise.\p"
+ .string "But there are some items you can only\n"
+ .string "get at a POKéMON MART.$"
+
+SlateportCity_Mart_Text_20DCF8: @ 820DCF8
+ .string "A GREAT BALL is better than a POKé BALL\n"
+ .string "at catching POKéMON.\p"
+ .string "With this, I should be able to get that\n"
+ .string "elusive POKéMON…$"
+
diff --git a/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc b/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc
new file mode 100644
index 000000000..065951712
--- /dev/null
+++ b/data/scripts/maps/SlateportCity_OceanicMuseum_1F.inc
@@ -0,0 +1,395 @@
+SlateportCity_OceanicMuseum_1F_MapScripts:: @ 820AD95
+ .byte 0
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AD96:: @ 820AD96
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B026, 2
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AD9F:: @ 820AD9F
+ lockall
+ applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_2725A4
+ waitmovement 0
+ goto SlateportCity_OceanicMuseum_1F_EventScript_20ADC1
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20ADB0:: @ 820ADB0
+ lockall
+ applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_2725A8
+ waitmovement 0
+ goto SlateportCity_OceanicMuseum_1F_EventScript_20ADC1
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20ADC1:: @ 820ADC1
+ showmoneybox 0, 0, 0
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20AFD5, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20ADE8
+ closemessage
+ hidemoneybox
+ nop
+ nop
+ applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_20AE4B
+ waitmovement 0
+ releaseall
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20ADE8:: @ 820ADE8
+ checkmoney 0x32, 0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AE18
+ playse SE_REGI
+ takemoney 0x32, 0
+ updatemoneybox 0, 0
+ nop
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B026, 4
+ setvar VAR_0x40AA, 1
+ hidemoneybox
+ nop
+ nop
+ releaseall
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AE18:: @ 820AE18
+ checkflag FLAG_0x095
+ goto_if 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE39
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B03D, 4
+ closemessage
+ hidemoneybox
+ nop
+ nop
+ applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_20AE4B
+ waitmovement 0
+ releaseall
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AE39:: @ 820AE39
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B075, 4
+ setvar VAR_0x40AA, 1
+ hidemoneybox
+ nop
+ nop
+ releaseall
+ end
+
+SlateportCity_OceanicMuseum_1F_Movement_20AE4B: @ 820AE4B
+ step_down
+ step_end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AE4D:: @ 820AE4D
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B0E8, 2
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AE56:: @ 820AE56
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B112, 2
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AE5F:: @ 820AE5F
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B165, 2
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AE68:: @ 820AE68
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B19C, 3
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AE71:: @ 820AE71
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B1D4, 2
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AE7A:: @ 820AE7A
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B218, 2
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AE83:: @ 820AE83
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B4CF, 3
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AE8C:: @ 820AE8C
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B547, 3
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AE95:: @ 820AE95
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B5CA, 3
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AE9E:: @ 820AE9E
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B699, 3
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AEA7:: @ 820AEA7
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B74B, 3
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AEB0:: @ 820AEB0
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B81F, 3
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AEB9:: @ 820AEB9
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B912, 3
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AEC2:: @ 820AEC2
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B9C0, 3
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AECB:: @ 820AECB
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20BA9C, 3
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AED4:: @ 820AED4
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B25F, 2
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AEDD:: @ 820AEDD
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B2A2, 2
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AEE6:: @ 820AEE6
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B302, 2
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AEEF:: @ 820AEEF
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B369, 2
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AEF8:: @ 820AEF8
+ lock
+ faceplayer
+ delay 8
+ playse SE_PIN
+ applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_272598
+ waitmovement 0
+ applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_27259A
+ waitmovement 0
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B3AB, 4
+ giveitem_std ITEM_TM46
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AFB5
+ setflag FLAG_0x10D
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B449, 4
+ closemessage
+ compare_var_to_value VAR_FACING, 2
+ goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF6C
+ compare_var_to_value VAR_FACING, 1
+ goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF83
+ compare_var_to_value VAR_FACING, 3
+ goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF93
+ compare_var_to_value VAR_FACING, 4
+ goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF93
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AF6C:: @ 820AF6C
+ applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_20AFBF
+ applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_20AFCE
+ waitmovement 0
+ goto SlateportCity_OceanicMuseum_1F_EventScript_20AFAA
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AF83:: @ 820AF83
+ applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_20AFC7
+ waitmovement 0
+ goto SlateportCity_OceanicMuseum_1F_EventScript_20AFAA
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AF93:: @ 820AF93
+ applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_20AFC4
+ applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_20AFC7
+ waitmovement 0
+ goto SlateportCity_OceanicMuseum_1F_EventScript_20AFAA
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AFAA:: @ 820AFAA
+ setflag FLAG_0x3C5
+ playse SE_KAIDAN
+ removeobject 13
+ release
+ end
+
+SlateportCity_OceanicMuseum_1F_EventScript_20AFB5:: @ 820AFB5
+ msgbox SlateportCity_OceanicMuseum_1F_Text_20B49B, 4
+ release
+ end
+
+SlateportCity_OceanicMuseum_1F_Movement_20AFBF: @ 820AFBF
+ step_14
+ step_13
+ step_12
+ step_25
+ step_end
+
+SlateportCity_OceanicMuseum_1F_Movement_20AFC4: @ 820AFC4
+ step_14
+ step_25
+ step_end
+
+SlateportCity_OceanicMuseum_1F_Movement_20AFC7: @ 820AFC7
+ step_00
+ step_15
+ step_15
+ step_15
+ step_15
+ step_13
+ step_end
+
+SlateportCity_OceanicMuseum_1F_Movement_20AFCE: @ 820AFCE
+ step_18
+ step_15
+ step_15
+ step_15
+ step_15
+ step_13
+ step_end
+
+SlateportCity_OceanicMuseum_1F_Text_20AFD5: @ 820AFD5
+ .string "Welcome to the OCEANIC MUSEUM.\p"
+ .string "The entrance fee is ¥50.\n"
+ .string "Would you like to enter?$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B026: @ 820B026
+ .string "Please enjoy yourself.$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B03D: @ 820B03D
+ .string "Oh? I’m sorry, but you don’t seem to\n"
+ .string "have enough money.$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B075: @ 820B075
+ .string "Oh? You’re with that group that\n"
+ .string "went in earlier?\p"
+ .string "You’re the only one who’s late.\n"
+ .string "You’d better go catch up to them!$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B0E8: @ 820B0E8
+ .string "We, TEAM AQUA, exist for the good\n"
+ .string "of all!$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B112: @ 820B112
+ .string "We were told to assemble here,\n"
+ .string "so we did, but…\p"
+ .string "Our BOSS, the linchpin, isn’t here.$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B165: @ 820B165
+ .string "If I ripped off the stuff here,\n"
+ .string "would it make me rich?$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B19C: @ 820B19C
+ .string "What I learn here, I can put to use on\n"
+ .string "nefarious deeds…$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B1D4: @ 820B1D4
+ .string "If our goons didn’t bungle things\n"
+ .string "in RUSTBORO, we wouldn’t be here!$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B218: @ 820B218
+ .string "I didn’t have ¥50, so it took a long\n"
+ .string "time getting by the receptionist.$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B25F: @ 820B25F
+ .string "I want to learn about the sea and\n"
+ .string "use that knowledge for battling.$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B2A2: @ 820B2A2
+ .string "I get all giddy and gooey when\n"
+ .string "I see the sea!\p"
+ .string "For me, CAPT. STERN is the number\n"
+ .string "one role model!$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B302: @ 820B302
+ .string "The sea is vast without end, and\n"
+ .string "infinitely deep…\p"
+ .string "There must be many POKéMON that\n"
+ .string "we don’t know about.$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B369: @ 820B369
+ .string "I want a sea POKéMON.\p"
+ .string "I think it would feel cool and nice\n"
+ .string "to hug.$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B3AB: @ 820B3AB
+ .string "Aiyeeeh!\n"
+ .string "What are you doing here?\p"
+ .string "Me? I’m the TEAM AQUA member\n"
+ .string "you thumped before, remember?\l"
+ .string "Back in RUSTURF TUNNEL?\p"
+ .string "Here, take this!\n"
+ .string "You have to forgive me!$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B449: @ 820B449
+ .string "That TM, it suits you more than it\n"
+ .string "does me.\p"
+ .string "Hope I never see you again!\n"
+ .string "Wahahaha!$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B49B: @ 820B49B
+ .string "Awww, come on!\n"
+ .string "You have to take this and let me go!$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B4CF: @ 820B4CF
+ .string "A blue fluid is spiraling inside\n"
+ .string "a glass vessel.\p"
+ .string "“This is an experiment to create a\n"
+ .string "WHIRLPOOL artificially using wind.”$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B547: @ 820B547
+ .string "A red ball is bobbing up and down\n"
+ .string "inside a glass vessel.\p"
+ .string "“This is an experiment simulating a\n"
+ .string "WATERFALL using the ball’s buoyancy.”$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B5CA: @ 820B5CA
+ .string "It’s a sample of soil from the ocean\n"
+ .string "floor.\p"
+ .string "“Over many years, the remains of\n"
+ .string "life-forms settle at the bottom of\l"
+ .string "the sea, making sedimentary layers.\p"
+ .string "“By analyzing these layers, the\n"
+ .string "ancient past is revealed.”$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B699: @ 820B699
+ .string "It’s a sample of beach sand.\p"
+ .string "“Stones from mountains are washed\n"
+ .string "down by rivers where they are\l"
+ .string "chipped and ground down.\p"
+ .string "“They are reduced to grains and end\n"
+ .string "up as sand on beaches.”$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B74B: @ 820B74B
+ .string "“OCEANIC MINIFACT 1\n"
+ .string "Why is seawater blue?\p"
+ .string "“Light is composed of many colors.\p"
+ .string "“When light passes through water,\n"
+ .string "most kinds of light lose color.\p"
+ .string "“However, blue light retains its\n"
+ .string "color, making the sea appear blue.”$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B81F: @ 820B81F
+ .string "“OCEANIC MINIFACT 2\n"
+ .string "Why is the sea salty?\p"
+ .string "“Seawater contains dissolved salt in\n"
+ .string "the form of sodium and chlorine ions.\p"
+ .string "“These ions leech out of rocks\n"
+ .string "and are carried out to sea by rain.\p"
+ .string "“The concentration of dissolved salt\n"
+ .string "makes the sea salty.”$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B912: @ 820B912
+ .string "“OCEANIC MINIFACT 3\n"
+ .string "Which is bigger? The sea or land?\p"
+ .string "“The sea covers about 70% of\n"
+ .string "the planet, and the rest is land.\p"
+ .string "“The sea is therefore more than twice\n"
+ .string "the size of land.”$"
+
+SlateportCity_OceanicMuseum_1F_Text_20B9C0: @ 820B9C0
+ .string "It’s a fossil with wavy ridges on it.\p"
+ .string "“Soil on the ocean floor gets scoured\n"
+ .string "by the tide.\p"
+ .string "“The flowing seawater marks the soil\n"
+ .string "with small ridges and valleys.\p"
+ .string "“If this soil becomes fossilized, it is\n"
+ .string "called a ripple mark.”$"
+
+SlateportCity_OceanicMuseum_1F_Text_20BA9C: @ 820BA9C
+ .string "A strange machine is rotating under\n"
+ .string "a glass dome.\p"
+ .string "Maybe it’s for measuring the depth\n"
+ .string "of something…$"
+
diff --git a/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc b/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc
new file mode 100644
index 000000000..463c7235c
--- /dev/null
+++ b/data/scripts/maps/SlateportCity_OceanicMuseum_2F.inc
@@ -0,0 +1,441 @@
+SlateportCity_OceanicMuseum_2F_MapScripts:: @ 820BAFF
+ .byte 0
+
+SlateportCity_OceanicMuseum_2F_EventScript_20BB00:: @ 820BB00
+ lock
+ faceplayer
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20BD8D, 4
+ closemessage
+ playbgm BGM_AQA_0, 1
+ addobject 3
+ applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_20BCE4
+ waitmovement 0
+ addobject 4
+ applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCF3
+ waitmovement 0
+ applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_20BCE8
+ applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCF5
+ waitmovement 0
+ compare_var_to_value VAR_FACING, 1
+ call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BC92
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BC92
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20BE40, 4
+ compare_var_to_value VAR_FACING, 4
+ call_if 5, SlateportCity_OceanicMuseum_2F_EventScript_20BC9D
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20BE69, 4
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20BE93, 4
+ closemessage
+ applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCE2
+ waitmovement 0
+ compare_var_to_value VAR_FACING, 1
+ call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BCA8
+ compare_var_to_value VAR_FACING, 3
+ call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BCB3
+ trainerbattle 3, TRAINER_GRUNT_14, 0, SlateportCity_OceanicMuseum_2F_Text_20BEE2
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20BEFA, 4
+ closemessage
+ applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCEF
+ waitmovement 0
+ applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_20BCE2
+ waitmovement 0
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20BF35, 4
+ trainerbattle 3, TRAINER_GRUNT_15, 0, SlateportCity_OceanicMuseum_2F_Text_20BF66
+ applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_20BCEF
+ waitmovement 0
+ applymovement 3, SlateportCity_OceanicMuseum_2F_Movement_2725AA
+ applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_2725A6
+ waitmovement 0
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20BF7A, 4
+ closemessage
+ delay 35
+ addobject 2
+ applymovement 2, SlateportCity_OceanicMuseum_2F_Movement_20BCD8
+ applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCFE
+ waitmovement 0
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20BFF2, 4
+ closemessage
+ applymovement 2, SlateportCity_OceanicMuseum_2F_Movement_20BCD6
+ waitmovement 0
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C059, 4
+ closemessage
+ savebgm SE_STOP
+ fadedefaultbgm
+ fadescreen 1
+ removeobject 2
+ removeobject 3
+ removeobject 4
+ fadescreen 0
+ delay 30
+ setflag FLAG_0x373
+ applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_2725A8
+ waitmovement 0
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C2BE, 4
+ setvar VAR_0x8004, 269
+ call SlateportCity_OceanicMuseum_2F_EventScript_2723E4
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C36C, 4
+ closemessage
+ fadescreen 1
+ playfanfare BGM_ME_ASA
+ waitfanfare
+ special sp000_heal_pokemon
+ removeobject 1
+ setflag FLAG_0x384
+ compare_var_to_value VAR_0x40DA, 0
+ call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BC8C
+ setflag FLAG_0x095
+ clearflag FLAG_0x3B3
+ setflag FLAG_0x3B5
+ setvar VAR_0x40D2, 1
+ fadescreen 0
+ release
+ end
+
+SlateportCity_OceanicMuseum_2F_EventScript_20BC8C:: @ 820BC8C
+ setvar VAR_0x40DA, 1
+ return
+
+SlateportCity_OceanicMuseum_2F_EventScript_20BC92:: @ 820BC92
+ applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_2725A4
+ waitmovement 0
+ return
+
+SlateportCity_OceanicMuseum_2F_EventScript_20BC9D:: @ 820BC9D
+ applymovement 1, SlateportCity_OceanicMuseum_2F_Movement_2725A4
+ waitmovement 0
+ return
+
+SlateportCity_OceanicMuseum_2F_EventScript_20BCA8:: @ 820BCA8
+ applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_20BCBE
+ waitmovement 0
+ return
+
+SlateportCity_OceanicMuseum_2F_EventScript_20BCB3:: @ 820BCB3
+ applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_20BCC2
+ waitmovement 0
+ return
+
+SlateportCity_OceanicMuseum_2F_Movement_20BCBE: @ 820BCBE
+ step_left
+ step_down
+ step_27
+ step_end
+
+SlateportCity_OceanicMuseum_2F_Movement_20BCC2: @ 820BCC2
+ step_up
+ step_left
+ step_left
+ step_down
+ step_27
+ step_end
+
+SlateportCity_OceanicMuseum_2F_Movement_20BCC8: @ 820BCC8
+ step_up
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_up
+ step_up
+ step_left
+ step_left
+ step_up
+ step_up
+ step_13
+ step_end
+
+SlateportCity_OceanicMuseum_2F_Movement_20BCD6: @ 820BCD6
+ step_right
+ step_end
+
+SlateportCity_OceanicMuseum_2F_Movement_20BCD8: @ 820BCD8
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+SlateportCity_OceanicMuseum_2F_Movement_20BCE2: @ 820BCE2
+ step_right
+ step_end
+
+SlateportCity_OceanicMuseum_2F_Movement_20BCE4: @ 820BCE4
+ step_down
+ step_right
+ step_25
+ step_end
+
+SlateportCity_OceanicMuseum_2F_Movement_20BCE8: @ 820BCE8
+ step_down
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_end
+
+SlateportCity_OceanicMuseum_2F_Movement_20BCEF: @ 820BCEF
+ step_40
+ step_left
+ step_41
+ step_end
+
+SlateportCity_OceanicMuseum_2F_Movement_20BCF3: @ 820BCF3
+ step_down
+ step_end
+
+SlateportCity_OceanicMuseum_2F_Movement_20BCF5: @ 820BCF5
+ step_down
+ step_down
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+SlateportCity_OceanicMuseum_2F_Movement_20BCFE: @ 820BCFE
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_13
+ step_15
+ step_26
+ step_end
+
+SlateportCity_OceanicMuseum_2F_EventScript_20BD0A:: @ 820BD0A
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C4F9, 3
+ end
+
+SlateportCity_OceanicMuseum_2F_EventScript_20BD13:: @ 820BD13
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C566, 3
+ end
+
+SlateportCity_OceanicMuseum_2F_EventScript_20BD1C:: @ 820BD1C
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C5C6, 3
+ end
+
+SlateportCity_OceanicMuseum_2F_EventScript_20BD25:: @ 820BD25
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C6C7, 3
+ end
+
+SlateportCity_OceanicMuseum_2F_EventScript_20BD2E:: @ 820BD2E
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C72F, 3
+ end
+
+SlateportCity_OceanicMuseum_2F_EventScript_20BD37:: @ 820BD37
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C7C1, 3
+ end
+
+SlateportCity_OceanicMuseum_2F_EventScript_20BD40:: @ 820BD40
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C82F, 3
+ end
+
+SlateportCity_OceanicMuseum_2F_EventScript_20BD49:: @ 820BD49
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C88B, 3
+ end
+
+SlateportCity_OceanicMuseum_2F_EventScript_20BD52:: @ 820BD52
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C8E8, 3
+ end
+
+SlateportCity_OceanicMuseum_2F_EventScript_20BD5B:: @ 820BD5B
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C93A, 3
+ end
+
+SlateportCity_OceanicMuseum_2F_EventScript_20BD64:: @ 820BD64
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C43F, 2
+ end
+
+SlateportCity_OceanicMuseum_2F_EventScript_20BD6D:: @ 820BD6D
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C495, 2
+ end
+
+SlateportCity_OceanicMuseum_2F_EventScript_20BD76:: @ 820BD76
+ lock
+ faceplayer
+ msgbox SlateportCity_OceanicMuseum_2F_Text_20C4C2, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, SlateportCity_OceanicMuseum_2F_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+SlateportCity_OceanicMuseum_2F_Text_20BD8D: @ 820BD8D
+ .string "Yes? If you’re looking for STERN,\n"
+ .string "that would be me.\p"
+ .string "Ah! Those must be the parts I ordered\n"
+ .string "from MR. STONE of DEVON.\p"
+ .string "Thank you! That’s great!\n"
+ .string "We can prepare for our expedition now.$"
+
+SlateportCity_OceanicMuseum_2F_Text_20BE40: @ 820BE40
+ .string "Hehehe, hold it!\n"
+ .string "We’ll take those parts!$"
+
+SlateportCity_OceanicMuseum_2F_Text_20BE69: @ 820BE69
+ .string "CAPT. STERN: Wh-what?\n"
+ .string "Who are you people?$"
+
+SlateportCity_OceanicMuseum_2F_Text_20BE93: @ 820BE93
+ .string "We’re TEAM AQUA!\p"
+ .string "Our BOSS wants those parts!\n"
+ .string "Shut your yap and fork them over!$"
+
+SlateportCity_OceanicMuseum_2F_Text_20BEE2: @ 820BEE2
+ .string "Awaaaah!\n"
+ .string "A kid beat me!$"
+
+SlateportCity_OceanicMuseum_2F_Text_20BEFA: @ 820BEFA
+ .string "Oh, man, what a disaster…\n"
+ .string "The BOSS is going to be furious…$"
+
+SlateportCity_OceanicMuseum_2F_Text_20BF35: @ 820BF35
+ .string "Humph, sniveling wimp!\n"
+ .string "Let me take care of this!$"
+
+SlateportCity_OceanicMuseum_2F_Text_20BF66: @ 820BF66
+ .string "What?!\n"
+ .string "I lost, too!$"
+
+SlateportCity_OceanicMuseum_2F_Text_20BF7A: @ 820BF7A
+ .string "Now what? If we don’t get the parts,\n"
+ .string "we’re in for it!\p"
+ .string "Arrgh, I didn’t count on being meddled\n"
+ .string "with by some meddling kid!$"
+
+SlateportCity_OceanicMuseum_2F_Text_20BFF2: @ 820BFF2
+ .string "I came to see what was taking so\n"
+ .string "long to snatch some parts, and you\l"
+ .string "simps are held up by a mere child?$"
+
+SlateportCity_OceanicMuseum_2F_Text_20C059: @ 820C059
+ .string "We are TEAM AQUA,\n"
+ .string "and we love the sea!\p"
+ .string "And I am TEAM AQUA’s leader,\n"
+ .string "ARCHIE!\p"
+ .string "What makes you interfere with us?\p"
+ .string "…No! You can’t be!\n"
+ .string "You’re not one of TEAM MAGMA?\p"
+ .string "Wait, that can’t be right.\n"
+ .string "You’re not dressed for the part.\p"
+ .string "… … … … … …\n"
+ .string "… … … … … …\p"
+ .string "POKéMON, people… All life depends on\n"
+ .string "the sea.\p"
+ .string "So, TEAM AQUA is dedicated to\n"
+ .string "the expansion of the sea.\p"
+ .string "Don’t you agree? What we are doing\n"
+ .string "is a magnificent undertaking.\p"
+ .string "Ah, fine…\n"
+ .string "You’re still too young to understand\l"
+ .string "our noble objective.\p"
+ .string "But, I warn you, don’t even consider\n"
+ .string "interfering with our plans again.\p"
+ .string "The consequences will cost you\n"
+ .string "dearly!\p"
+ .string "And don’t you forget it!$"
+
+SlateportCity_OceanicMuseum_2F_Text_20C2BE: @ 820C2BE
+ .string "CAPT. STERN: You’re…\n"
+ .string "Ah, okay, you’re {PLAYER}{KUN}…\p"
+ .string "Anyway, that was a tense situation!\n"
+ .string "Thank you for saving us!\p"
+ .string "Oh, yes, I almost forgot that you\n"
+ .string "even brought the parts from DEVON!$"
+
+SlateportCity_OceanicMuseum_2F_Text_20C36C: @ 820C36C
+ .string "CAPT. STERN: Whoops!\n"
+ .string "There’s no time to lose!\p"
+ .string "We have to set out on our ocean-floor\n"
+ .string "expedition really soon.\p"
+ .string "Thanks again, but now I’ve got\n"
+ .string "to go!\p"
+ .string "Feel free to wander around and check\n"
+ .string "out our facilities, though.$"
+
+SlateportCity_OceanicMuseum_2F_Text_20C43F: @ 820C43F
+ .string "I saw a model of a ship here.\p"
+ .string "It reminded me of the ABANDONED SHIP\n"
+ .string "near DEWFORD TOWN…$"
+
+SlateportCity_OceanicMuseum_2F_Text_20C495: @ 820C495
+ .string "Don’t you dare run around inside\n"
+ .string "the MUSEUM!$"
+
+SlateportCity_OceanicMuseum_2F_Text_20C4C2: @ 820C4C2
+ .string "Wow, the submarine’s awesome!\n"
+ .string "I want to go for a ride!$"
+
+SlateportCity_OceanicMuseum_2F_Text_20C4F9: @ 820C4F9
+ .string "“WATER QUALITY SAMPLE 1,” the\n"
+ .string "label says.\p"
+ .string "The sea is all connected, but the\n"
+ .string "water seems to differ by region.$"
+
+SlateportCity_OceanicMuseum_2F_Text_20C566: @ 820C566
+ .string "“WATER QUALITY SAMPLE 2,” the\n"
+ .string "label says.\p"
+ .string "Does the saltiness of seawater differ\n"
+ .string "by region, too?$"
+
+SlateportCity_OceanicMuseum_2F_Text_20C5C6: @ 820C5C6
+ .string "A rubber ball is expanding and\n"
+ .string "shrinking.\p"
+ .string "“In the sea, the weight of water itself\n"
+ .string "exerts pressure.\p"
+ .string "“In shallow water, the pressure is not\n"
+ .string "very heavy.\p"
+ .string "“However, in extremely deep water,\n"
+ .string "the pressure can reach even tens of\l"
+ .string "thousands of tons on a small area.”$"
+
+SlateportCity_OceanicMuseum_2F_Text_20C6C7: @ 820C6C7
+ .string "“MODEL OF HOENN REGION”\p"
+ .string "It’s a miniature diorama of the\n"
+ .string "HOENN region.\p"
+ .string "Where is LITTLEROOT TOWN on this?$"
+
+SlateportCity_OceanicMuseum_2F_Text_20C72F: @ 820C72F
+ .string "It’s a display on the flow of seawater.\p"
+ .string "“Near the bottom of the sea, water\n"
+ .string "flows due to differences in such\l"
+ .string "factors as temperature and salinity.”$"
+
+SlateportCity_OceanicMuseum_2F_Text_20C7C1: @ 820C7C1
+ .string "It’s a display on the flow of seawater.\p"
+ .string "“Toward the surface, seawater flows\n"
+ .string "as currents driven by the winds.”$"
+
+SlateportCity_OceanicMuseum_2F_Text_20C82F: @ 820C82F
+ .string "“THE FERRY S.S. TIDAL\p"
+ .string "“A scale replica of the ship under\n"
+ .string "construction at STERN’S SHIPYARD.”$"
+
+SlateportCity_OceanicMuseum_2F_Text_20C88B: @ 820C88B
+ .string "“SUBMARINE EXPLORER 1\p"
+ .string "“A replica of the high-performance\n"
+ .string "ocean floor exploration submarine.”$"
+
+SlateportCity_OceanicMuseum_2F_Text_20C8E8: @ 820C8E8
+ .string "“SUBMERSIBLE POD\p"
+ .string "“A replica of a compact, unmanned\n"
+ .string "pod for seafloor exploration.”$"
+
+SlateportCity_OceanicMuseum_2F_Text_20C93A: @ 820C93A
+ .string "“S.S. ANNE\p"
+ .string "“A replica of the luxury liner that\n"
+ .string "circles the globe.”$"
+
diff --git a/data/scripts/maps/SlateportCity_PokemonCenter_1F.inc b/data/scripts/maps/SlateportCity_PokemonCenter_1F.inc
new file mode 100644
index 000000000..404804c57
--- /dev/null
+++ b/data/scripts/maps/SlateportCity_PokemonCenter_1F.inc
@@ -0,0 +1,40 @@
+SlateportCity_PokemonCenter_1F_MapScripts:: @ 820DABF
+ map_script 3, SlateportCity_PokemonCenter_1F_MapScript1_20DACA
+ map_script 5, SlateportCity_PokemonCenter_1F_MapScript1_277C30
+ .byte 0
+
+SlateportCity_PokemonCenter_1F_MapScript1_20DACA: @ 820DACA
+ setrespawn 4
+ call SlateportCity_PokemonCenter_1F_EventScript_2718DE
+ end
+
+SlateportCity_PokemonCenter_1F_EventScript_20DAD3:: @ 820DAD3
+ setvar VAR_0x800B, 1
+ call SlateportCity_PokemonCenter_1F_EventScript_27191E
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+SlateportCity_PokemonCenter_1F_EventScript_20DAE1:: @ 820DAE1
+ msgbox SlateportCity_PokemonCenter_1F_Text_20DAF3, 2
+ end
+
+SlateportCity_PokemonCenter_1F_EventScript_20DAEA:: @ 820DAEA
+ msgbox SlateportCity_PokemonCenter_1F_Text_20DBBC, 2
+ end
+
+SlateportCity_PokemonCenter_1F_Text_20DAF3: @ 820DAF3
+ .string "Want a tip for battling?\p"
+ .string "I’d say it’s raising different kinds\n"
+ .string "of POKéMON in a balanced manner.\p"
+ .string "It’s no good to make just one\n"
+ .string "POKéMON strong.\p"
+ .string "If it has a type disadvantage,\n"
+ .string "it might not stand a chance.$"
+
+SlateportCity_PokemonCenter_1F_Text_20DBBC: @ 820DBBC
+ .string "I trade POKéMON with my friends.\p"
+ .string "If a traded POKéMON is holding an\n"
+ .string "item, it makes me twice as happy!$"
+
diff --git a/data/scripts/maps/SlateportCity_PokemonCenter_2F.inc b/data/scripts/maps/SlateportCity_PokemonCenter_2F.inc
new file mode 100644
index 000000000..3138f20d6
--- /dev/null
+++ b/data/scripts/maps/SlateportCity_PokemonCenter_2F.inc
@@ -0,0 +1,19 @@
+SlateportCity_PokemonCenter_2F_MapScripts:: @ 820DC21
+ map_script 2, SlateportCity_PokemonCenter_2F_MapScript2_276C3B
+ map_script 4, SlateportCity_PokemonCenter_2F_MapScript2_276B6C
+ map_script 1, SlateportCity_PokemonCenter_2F_MapScript1_276BBE
+ map_script 3, SlateportCity_PokemonCenter_2F_MapScript1_276ACF
+ .byte 0
+
+SlateportCity_PokemonCenter_2F_EventScript_20DC36:: @ 820DC36
+ call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+ end
+
+SlateportCity_PokemonCenter_2F_EventScript_20DC3C:: @ 820DC3C
+ call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+ end
+
+SlateportCity_PokemonCenter_2F_EventScript_20DC42:: @ 820DC42
+ call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+ end
+
diff --git a/data/scripts/maps/SlateportCity_PokemonFanClub.inc b/data/scripts/maps/SlateportCity_PokemonFanClub.inc
new file mode 100644
index 000000000..227853c96
--- /dev/null
+++ b/data/scripts/maps/SlateportCity_PokemonFanClub.inc
@@ -0,0 +1,428 @@
+SlateportCity_PokemonFanClub_MapScripts:: @ 8209E95
+ .byte 0
+
+SlateportCity_PokemonFanClub_EventScript_209E96:: @ 8209E96
+ lock
+ faceplayer
+ checkflag FLAG_0x155
+ goto_if 0, SlateportCity_PokemonFanClub_EventScript_20A152
+ checkflag FLAG_0x156
+ call_if 0, SlateportCity_PokemonFanClub_EventScript_20A172
+ switch VAR_0x40B7
+ case 0, SlateportCity_PokemonFanClub_EventScript_209ED2
+ case 1, SlateportCity_PokemonFanClub_EventScript_209EE5
+ case 2, SlateportCity_PokemonFanClub_EventScript_209F3B
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_209ED2:: @ 8209ED2
+ setvar VAR_0x40B7, 1
+ msgbox SlateportCity_PokemonFanClub_Text_20A445, 4
+ goto SlateportCity_PokemonFanClub_EventScript_209F45
+ end
+
+SlateportCity_PokemonFanClub_EventScript_209EE5:: @ 8209EE5
+ setvar VAR_0x4002, 0
+ checkflag FLAG_0x0CC
+ call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0
+ checkflag FLAG_0x0CB
+ call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0
+ checkflag FLAG_0x0CA
+ call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0
+ checkflag FLAG_0x0C9
+ call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0
+ checkflag FLAG_0x0C8
+ call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0
+ compare_var_to_value VAR_0x4002, 5
+ call_if 1, SlateportCity_PokemonFanClub_EventScript_209FCA
+ compare_var_to_value VAR_0x40B7, 2
+ goto_eq SlateportCity_PokemonFanClub_EventScript_209F3B
+ msgbox SlateportCity_PokemonFanClub_Text_20A62A, 4
+ goto SlateportCity_PokemonFanClub_EventScript_209F45
+ end
+
+SlateportCity_PokemonFanClub_EventScript_209F3B:: @ 8209F3B
+ msgbox SlateportCity_PokemonFanClub_Text_20A9E1, 4
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_209F45:: @ 8209F45
+ msgbox SlateportCity_PokemonFanClub_Text_20A65F, 4
+ setvar VAR_0x4001, 0
+ checkflag FLAG_0x0CC
+ call_if 0, SlateportCity_PokemonFanClub_EventScript_20A13B
+ checkflag FLAG_0x0CB
+ call_if 0, SlateportCity_PokemonFanClub_EventScript_20A124
+ checkflag FLAG_0x0CA
+ call_if 0, SlateportCity_PokemonFanClub_EventScript_20A10D
+ checkflag FLAG_0x0C9
+ call_if 0, SlateportCity_PokemonFanClub_EventScript_20A0F6
+ checkflag FLAG_0x0C8
+ call_if 0, SlateportCity_PokemonFanClub_EventScript_20A0DF
+ bufferleadmonspeciesname 0
+ switch VAR_0x4001
+ case 0, SlateportCity_PokemonFanClub_EventScript_209FD6
+ case 1, SlateportCity_PokemonFanClub_EventScript_209FE0
+ case 2, SlateportCity_PokemonFanClub_EventScript_20A011
+ case 3, SlateportCity_PokemonFanClub_EventScript_20A042
+ case 4, SlateportCity_PokemonFanClub_EventScript_20A073
+ case 5, SlateportCity_PokemonFanClub_EventScript_20A0A4
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_209FCA:: @ 8209FCA
+ setvar VAR_0x40B7, 2
+ return
+
+SlateportCity_PokemonFanClub_EventScript_209FD0:: @ 8209FD0
+ addvar VAR_0x4002, 1
+ return
+
+SlateportCity_PokemonFanClub_EventScript_209FD6:: @ 8209FD6
+ msgbox SlateportCity_PokemonFanClub_Text_20A66E, 4
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_209FE0:: @ 8209FE0
+ checkitemspace ITEM_RED_SCARF, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
+ msgbox SlateportCity_PokemonFanClub_Text_20A795, 4
+ setflag FLAG_0x0C8
+ giveitem_std ITEM_RED_SCARF
+ msgbox SlateportCity_PokemonFanClub_Text_20A827, 4
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_20A011:: @ 820A011
+ checkitemspace ITEM_BLUE_SCARF, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
+ msgbox SlateportCity_PokemonFanClub_Text_20A795, 4
+ setflag FLAG_0x0C9
+ giveitem_std ITEM_BLUE_SCARF
+ msgbox SlateportCity_PokemonFanClub_Text_20A880, 4
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_20A042:: @ 820A042
+ checkitemspace ITEM_PINK_SCARF, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
+ msgbox SlateportCity_PokemonFanClub_Text_20A795, 4
+ setflag FLAG_0x0CA
+ giveitem_std ITEM_PINK_SCARF
+ msgbox SlateportCity_PokemonFanClub_Text_20A8D7, 4
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_20A073:: @ 820A073
+ checkitemspace ITEM_GREEN_SCARF, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
+ msgbox SlateportCity_PokemonFanClub_Text_20A795, 4
+ setflag FLAG_0x0CB
+ giveitem_std ITEM_GREEN_SCARF
+ msgbox SlateportCity_PokemonFanClub_Text_20A933, 4
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_20A0A4:: @ 820A0A4
+ checkitemspace ITEM_YELLOW_SCARF, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
+ msgbox SlateportCity_PokemonFanClub_Text_20A795, 4
+ setflag FLAG_0x0CC
+ giveitem_std ITEM_YELLOW_SCARF
+ msgbox SlateportCity_PokemonFanClub_Text_20A984, 4
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_20A0D5:: @ 820A0D5
+ msgbox SlateportCity_PokemonFanClub_Text_20A719, 4
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_20A0DF:: @ 820A0DF
+ specialvar VAR_RESULT, sub_8139004
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, SlateportCity_PokemonFanClub_EventScript_20A0F0
+ return
+
+SlateportCity_PokemonFanClub_EventScript_20A0F0:: @ 820A0F0
+ setvar VAR_0x4001, 1
+ return
+
+SlateportCity_PokemonFanClub_EventScript_20A0F6:: @ 820A0F6
+ specialvar VAR_RESULT, sub_8139030
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, SlateportCity_PokemonFanClub_EventScript_20A107
+ return
+
+SlateportCity_PokemonFanClub_EventScript_20A107:: @ 820A107
+ setvar VAR_0x4001, 2
+ return
+
+SlateportCity_PokemonFanClub_EventScript_20A10D:: @ 820A10D
+ specialvar VAR_RESULT, sub_813905C
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, SlateportCity_PokemonFanClub_EventScript_20A11E
+ return
+
+SlateportCity_PokemonFanClub_EventScript_20A11E:: @ 820A11E
+ setvar VAR_0x4001, 3
+ return
+
+SlateportCity_PokemonFanClub_EventScript_20A124:: @ 820A124
+ specialvar VAR_RESULT, sub_8139088
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, SlateportCity_PokemonFanClub_EventScript_20A135
+ return
+
+SlateportCity_PokemonFanClub_EventScript_20A135:: @ 820A135
+ setvar VAR_0x4001, 4
+ return
+
+SlateportCity_PokemonFanClub_EventScript_20A13B:: @ 820A13B
+ specialvar VAR_RESULT, sub_81390B4
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, SlateportCity_PokemonFanClub_EventScript_20A14C
+ return
+
+SlateportCity_PokemonFanClub_EventScript_20A14C:: @ 820A14C
+ setvar VAR_0x4001, 5
+ return
+
+SlateportCity_PokemonFanClub_EventScript_20A152:: @ 820A152
+ checkflag FLAG_0x156
+ goto_eq SlateportCity_PokemonFanClub_EventScript_20A168
+ msgbox SlateportCity_PokemonFanClub_Text_20A233, 4
+ setflag FLAG_0x156
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_20A168:: @ 820A168
+ msgbox SlateportCity_PokemonFanClub_Text_20A3EE, 4
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_20A172:: @ 820A172
+ msgbox SlateportCity_PokemonFanClub_Text_20A233, 4
+ setflag FLAG_0x156
+ return
+
+SlateportCity_PokemonFanClub_EventScript_20A17E:: @ 820A17E
+ lock
+ faceplayer
+ checkflag FLAG_0x116
+ goto_eq SlateportCity_PokemonFanClub_EventScript_20A1DE
+ msgbox SlateportCity_PokemonFanClub_Text_20AA77, 4
+ specialvar VAR_RESULT, sub_8138C04
+ compare_var_to_value VAR_RESULT, 4
+ goto_if 4, SlateportCity_PokemonFanClub_EventScript_20A1A3
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_20A1A3:: @ 820A1A3
+ playse SE_PIN
+ applymovement VAR_LAST_TALKED, SlateportCity_PokemonFanClub_Movement_272598
+ waitmovement 0
+ applymovement VAR_LAST_TALKED, SlateportCity_PokemonFanClub_Movement_27259A
+ waitmovement 0
+ msgbox SlateportCity_PokemonFanClub_Text_20AB63, 4
+ giveitem_std ITEM_SOOTHE_BELL
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SlateportCity_PokemonFanClub_EventScript_272054
+ setflag FLAG_0x116
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_20A1DE:: @ 820A1DE
+ msgbox SlateportCity_PokemonFanClub_Text_20ABC4, 4
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_20A1E8:: @ 820A1E8
+ msgbox SlateportCity_PokemonFanClub_Text_20AC47, 2
+ end
+
+SlateportCity_PokemonFanClub_EventScript_20A1F1:: @ 820A1F1
+ msgbox SlateportCity_PokemonFanClub_Text_20ACF9, 2
+ end
+
+SlateportCity_PokemonFanClub_EventScript_20A1FA:: @ 820A1FA
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_SKITTY, 0
+ msgbox SlateportCity_PokemonFanClub_Text_20AD5A, 4
+ waitmoncry
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_20A20D:: @ 820A20D
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_ZIGZAGOON, 0
+ msgbox SlateportCity_PokemonFanClub_Text_20AD6E, 4
+ waitmoncry
+ release
+ end
+
+SlateportCity_PokemonFanClub_EventScript_20A220:: @ 820A220
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_AZUMARILL, 0
+ msgbox SlateportCity_PokemonFanClub_Text_20AD80, 4
+ waitmoncry
+ release
+ end
+
+SlateportCity_PokemonFanClub_Text_20A233: @ 820A233
+ .string "Er-hem! I am the CHAIRMAN of the\n"
+ .string "POKéMON FAN CLUB!\p"
+ .string "Being the CHAIRMAN, I am naturally\n"
+ .string "the most important!\p"
+ .string "No one can best me when it comes\n"
+ .string "to raising POKéMON. No one!\p"
+ .string "Well, let me tell you about\n"
+ .string "POKéMON CONTESTS.\p"
+ .string "They’re events where one can show off\n"
+ .string "POKéMON for the world to see!\p"
+ .string "However, they’re held in far-off towns,\n"
+ .string "so I cannot participate often enough.\p"
+ .string "That is why we gather here to show\n"
+ .string "off our POKéMON, and have others\l"
+ .string "show us theirs.$"
+
+SlateportCity_PokemonFanClub_Text_20A3EE: @ 820A3EE
+ .string "The POKéMON of a TRAINER who has\n"
+ .string "entered a POKéMON CONTEST…\l"
+ .string "That, I would like to see.$"
+
+SlateportCity_PokemonFanClub_Text_20A445: @ 820A445
+ .string "Er-hem! I see you’ve participated in\n"
+ .string "a POKéMON CONTEST!\p"
+ .string "Please! Allow me to examine how you\n"
+ .string "have raised your POKéMON.\p"
+ .string "It delights me no end to see POKéMON\n"
+ .string "raised by other TRAINERS.\p"
+ .string "The happy expressions of POKéMON\n"
+ .string "raised with proper care…\p"
+ .string "The kindly eyes of the TRAINER that\n"
+ .string "nurtured and raised the POKéMON…\p"
+ .string "The very thought fills my heart to\n"
+ .string "overwhelming with joy.\p"
+ .string "Oh! I do beg your pardon!\n"
+ .string "Forgive me for prattling on so!\p"
+ .string "Please! Allow me to examine how much\n"
+ .string "your POKéMON has grown!$"
+
+SlateportCity_PokemonFanClub_Text_20A62A: @ 820A62A
+ .string "How is your POKéMON growing?\n"
+ .string "Allow me to examine it.$"
+
+SlateportCity_PokemonFanClub_Text_20A65F: @ 820A65F
+ .string "Hm, hm…\n"
+ .string "I see…$"
+
+SlateportCity_PokemonFanClub_Text_20A66E: @ 820A66E
+ .string "Hmmm… It’s not bad, but it’s not\n"
+ .string "good, either…\p"
+ .string "You, the TRAINER, must put more\n"
+ .string "effort into raising this POKéMON!\p"
+ .string "For instance, may I suggest that\n"
+ .string "you give it more {POKEBLOCK}S?$"
+
+SlateportCity_PokemonFanClub_Text_20A719: @ 820A719
+ .string "Oh, my…\p"
+ .string "Your POKéMON is growing quite well,\n"
+ .string "so you deserve a reward.\p"
+ .string "Unfortunately, you have no space for\n"
+ .string "this in your BAG.$"
+
+SlateportCity_PokemonFanClub_Text_20A795: @ 820A795
+ .string "Your {STR_VAR_1}, it is growing in\n"
+ .string "a most impressive manner!\l"
+ .string "It is one fine specimen!\p"
+ .string "But! If you were to give it this,\n"
+ .string "it would grow even better! Indeed!$"
+
+SlateportCity_PokemonFanClub_Text_20A827: @ 820A827
+ .string "Let a POKéMON hold that RED SCARF.\p"
+ .string "Everyone will recognize the coolness\n"
+ .string "of that POKéMON!$"
+
+SlateportCity_PokemonFanClub_Text_20A880: @ 820A880
+ .string "Let a POKéMON hold that BLUE SCARF.\p"
+ .string "Its beauty will be accentuated much\n"
+ .string "more than now!$"
+
+SlateportCity_PokemonFanClub_Text_20A8D7: @ 820A8D7
+ .string "Let a POKéMON hold that PINK SCARF.\p"
+ .string "It will draw out the cuteness of\n"
+ .string "the POKéMON some more!$"
+
+SlateportCity_PokemonFanClub_Text_20A933: @ 820A933
+ .string "Let a POKéMON hold that GREEN SCARF.\p"
+ .string "That will enhance the\n"
+ .string "smartness of POKéMON!$"
+
+SlateportCity_PokemonFanClub_Text_20A984: @ 820A984
+ .string "Let a POKéMON hold that YELLOW SCARF.\p"
+ .string "It will bolster your POKéMON’s\n"
+ .string "toughness so much more!$"
+
+SlateportCity_PokemonFanClub_Text_20A9E1: @ 820A9E1
+ .string "I’m sorry, but I’ve nothing else to\n"
+ .string "give you! None at all!\p"
+ .string "After all, you’re blessed with the gift\n"
+ .string "of raising POKéMON without resorting\l"
+ .string "to any items!$"
+
+SlateportCity_PokemonFanClub_Text_20AA77: @ 820AA77
+ .string "I love seeing POKéMON that love\n"
+ .string "their TRAINERS.\p"
+ .string "POKéMON are very sensitive to\n"
+ .string "the feelings of their TRAINERS.\p"
+ .string "If you treat your POKéMON with love\n"
+ .string "and care, they’ll love you back.\p"
+ .string "When your POKéMON grow to love you,\n"
+ .string "please come show me.$"
+
+SlateportCity_PokemonFanClub_Text_20AB63: @ 820AB63
+ .string "Your POKéMON really adores you.\p"
+ .string "For you, a most compassionate\n"
+ .string "TRAINER, a gift from the FAN CLUB!$"
+
+SlateportCity_PokemonFanClub_Text_20ABC4: @ 820ABC4
+ .string "POKéMON are very sensitive to\n"
+ .string "the feelings of their TRAINERS.\p"
+ .string "If you treat your POKéMON with love\n"
+ .string "and care, they’ll love you back.$"
+
+SlateportCity_PokemonFanClub_Text_20AC47: @ 820AC47
+ .string "If you keep letting a POKéMON faint\n"
+ .string "in battle, it’ll come to resent it.\p"
+ .string "Soon, it will become less trusting\n"
+ .string "of the TRAINER.\p"
+ .string "In other words, it certainly won’t\n"
+ .string "like you very much.$"
+
+SlateportCity_PokemonFanClub_Text_20ACF9: @ 820ACF9
+ .string "Do POKéMON enjoy having items used\n"
+ .string "on them?\p"
+ .string "Mine acted really happy when I gave\n"
+ .string "it some PROTEIN.$"
+
+SlateportCity_PokemonFanClub_Text_20AD5A: @ 820AD5A
+ .string "SKITTY: Fffnyaaaah…$"
+
+SlateportCity_PokemonFanClub_Text_20AD6E: @ 820AD6E
+ .string "ZIGZAGOON: Kyuuu…$"
+
+SlateportCity_PokemonFanClub_Text_20AD80: @ 820AD80
+ .string "AZUMARILL: Marimari?$"
+
diff --git a/data/scripts/maps/SlateportCity_SternsShipyard_1F.inc b/data/scripts/maps/SlateportCity_SternsShipyard_1F.inc
new file mode 100644
index 000000000..8197eb873
--- /dev/null
+++ b/data/scripts/maps/SlateportCity_SternsShipyard_1F.inc
@@ -0,0 +1,145 @@
+SlateportCity_SternsShipyard_1F_MapScripts:: @ 8207F3F
+ .byte 0
+
+SlateportCity_SternsShipyard_1F_EventScript_207F40:: @ 8207F40
+ lockall
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_eq SlateportCity_SternsShipyard_1F_EventScript_207F92
+ checkflag FLAG_BADGE07_GET
+ goto_eq SlateportCity_SternsShipyard_1F_EventScript_207FA6
+ checkflag FLAG_0x095
+ goto_eq SlateportCity_SternsShipyard_1F_EventScript_207FD9
+ checkflag FLAG_0x094
+ goto_eq SlateportCity_SternsShipyard_1F_EventScript_207FBA
+ msgbox SlateportCity_SternsShipyard_1F_Text_208008, 4
+ applymovement 1, SlateportCity_SternsShipyard_1F_Movement_27259E
+ waitmovement 0
+ msgbox SlateportCity_SternsShipyard_1F_Text_2080A5, 4
+ closemessage
+ applymovement 1, SlateportCity_SternsShipyard_1F_Movement_2725A2
+ waitmovement 0
+ setflag FLAG_0x094
+ setflag FLAG_0x372
+ releaseall
+ end
+
+SlateportCity_SternsShipyard_1F_EventScript_207F92:: @ 8207F92
+ applymovement 1, SlateportCity_SternsShipyard_1F_Movement_27259E
+ waitmovement 0
+ msgbox SlateportCity_SternsShipyard_1F_Text_208323, 4
+ releaseall
+ end
+
+SlateportCity_SternsShipyard_1F_EventScript_207FA6:: @ 8207FA6
+ applymovement 1, SlateportCity_SternsShipyard_1F_Movement_27259E
+ waitmovement 0
+ msgbox SlateportCity_SternsShipyard_1F_Text_2082A8, 4
+ releaseall
+ end
+
+SlateportCity_SternsShipyard_1F_EventScript_207FBA:: @ 8207FBA
+ applymovement 1, SlateportCity_SternsShipyard_1F_Movement_27259E
+ waitmovement 0
+ msgbox SlateportCity_SternsShipyard_1F_Text_2081A5, 4
+ closemessage
+ applymovement 1, SlateportCity_SternsShipyard_1F_Movement_2725A2
+ waitmovement 0
+ releaseall
+ end
+
+SlateportCity_SternsShipyard_1F_EventScript_207FD9:: @ 8207FD9
+ applymovement 1, SlateportCity_SternsShipyard_1F_Movement_27259E
+ waitmovement 0
+ msgbox SlateportCity_SternsShipyard_1F_Text_208213, 4
+ releaseall
+ end
+
+SlateportCity_SternsShipyard_1F_EventScript_207FED:: @ 8207FED
+ msgbox SlateportCity_SternsShipyard_1F_Text_208558, 2
+ end
+
+SlateportCity_SternsShipyard_1F_EventScript_207FF6:: @ 8207FF6
+ msgbox SlateportCity_SternsShipyard_1F_Text_2085FF, 2
+ end
+
+SlateportCity_SternsShipyard_1F_EventScript_207FFF:: @ 8207FFF
+ msgbox SlateportCity_SternsShipyard_1F_Text_2083EE, 2
+ end
+
+SlateportCity_SternsShipyard_1F_Text_208008: @ 8208008
+ .string "Umm… If this goes here, and that\n"
+ .string "goes over there…\p"
+ .string "Then where does this thing go?\n"
+ .string "And what about that doohickey?\p"
+ .string "Aaargh! I can’t make heads or tails\n"
+ .string "of this!$"
+
+SlateportCity_SternsShipyard_1F_Text_2080A5: @ 82080A5
+ .string "Hm?\n"
+ .string "Hi, I’m DOCK.\p"
+ .string "CAPT. STERN commissioned me to\n"
+ .string "design a ferry.\p"
+ .string "Oh! That there…\n"
+ .string "Are they DEVON GOODS?\p"
+ .string "But, hmm…\n"
+ .string "This won’t do…\p"
+ .string "CAPT. STERN went off somewhere.\n"
+ .string "He said he had some work to do.\p"
+ .string "Could I get you to go find CAPT.\n"
+ .string "STERN and deliver that to him?$"
+
+SlateportCity_SternsShipyard_1F_Text_2081A5: @ 82081A5
+ .string "DOCK: Where could CAPT. STERN have\n"
+ .string "gone off to?\p"
+ .string "Could you go find CAPT. STERN and\n"
+ .string "deliver that parcel to him?$"
+
+SlateportCity_SternsShipyard_1F_Text_208213: @ 8208213
+ .string "DOCK: Shipbuilding is an art.\p"
+ .string "A lot of things can’t be figured out\n"
+ .string "just by calculating.\p"
+ .string "I really could use advice from a veteran\n"
+ .string "who knows the seas…$"
+
+SlateportCity_SternsShipyard_1F_Text_2082A8: @ 82082A8
+ .string "DOCK: Hi! MR. BRINEY’s joined us to\n"
+ .string "lend us his help.\p"
+ .string "Thanks to the veteran sailor, the\n"
+ .string "ferry is steadily coming together.$"
+
+SlateportCity_SternsShipyard_1F_Text_208323: @ 8208323
+ .string "DOCK: The ferry is finally ready!\p"
+ .string "The new S.S. TIDAL is truly a marvel\n"
+ .string "of technology!\p"
+ .string "But, I get the feeling that we can\n"
+ .string "make something even better.\p"
+ .string "You know, there’s never an end to\n"
+ .string "technology’s march.$"
+
+SlateportCity_SternsShipyard_1F_Text_2083EE: @ 82083EE
+ .string "MR. BRINEY: Ah, {PLAYER}{KUN}!\n"
+ .string "It’s been too long!\p"
+ .string "Aye, since I met you, this old sea dog’s\n"
+ .string "been feeling frisky!\p"
+ .string "So I’ve decided to help DOCK make\n"
+ .string "a ferry.\p"
+ .string "Aye, after all, a ferry would be able\n"
+ .string "to carry a lot of people.\p"
+ .string "But, you know, that DOCK is really\n"
+ .string "something special.\p"
+ .string "With his knack for technology and\n"
+ .string "my experience, I’m sure that we can\l"
+ .string "build one great ship, aye!$"
+
+SlateportCity_SternsShipyard_1F_Text_208558: @ 8208558
+ .string "The seasons, the weather, where\n"
+ .string "the moon sits in the sky…\p"
+ .string "These and other conditions make\n"
+ .string "the sea change its expression.\p"
+ .string "That’s right!\n"
+ .string "The sea is like a living thing!$"
+
+SlateportCity_SternsShipyard_1F_Text_2085FF: @ 82085FF
+ .string "I get seasick real easily.\n"
+ .string "So I get to help out here instead.$"
+
diff --git a/data/scripts/maps/SlateportCity_SternsShipyard_2F.inc b/data/scripts/maps/SlateportCity_SternsShipyard_2F.inc
new file mode 100644
index 000000000..a599ac9b8
--- /dev/null
+++ b/data/scripts/maps/SlateportCity_SternsShipyard_2F.inc
@@ -0,0 +1,22 @@
+SlateportCity_SternsShipyard_2F_MapScripts:: @ 820863D
+ .byte 0
+
+SlateportCity_SternsShipyard_2F_EventScript_20863E:: @ 820863E
+ msgbox SlateportCity_SternsShipyard_2F_Text_208650, 2
+ end
+
+SlateportCity_SternsShipyard_2F_EventScript_208647:: @ 8208647
+ msgbox SlateportCity_SternsShipyard_2F_Text_2086BA, 2
+ end
+
+SlateportCity_SternsShipyard_2F_Text_208650: @ 8208650
+ .string "Designing a large ship is more like\n"
+ .string "making a big building than putting\l"
+ .string "together a transportation vehicle.$"
+
+SlateportCity_SternsShipyard_2F_Text_2086BA: @ 82086BA
+ .string "Don’t you think it’s strange that\n"
+ .string "a ship made of heavy iron floats?\p"
+ .string "It floats because of a principle\n"
+ .string "called buoyancy.$"
+
diff --git a/data/scripts/maps/SootopolisCity.inc b/data/scripts/maps/SootopolisCity.inc
new file mode 100644
index 000000000..33b65714b
--- /dev/null
+++ b/data/scripts/maps/SootopolisCity.inc
@@ -0,0 +1,1784 @@
+SootopolisCity_MapScripts:: @ 81E565C
+ map_script 1, SootopolisCity_MapScript1_1E5676
+ map_script 3, SootopolisCity_MapScript1_1E56EF
+ map_script 5, SootopolisCity_MapScript1_1E590B
+ map_script 2, SootopolisCity_MapScript2_1E5914
+ map_script 4, SootopolisCity_MapScript2_1E58DB
+ .byte 0
+
+SootopolisCity_MapScript1_1E5676: @ 81E5676
+ checkflag FLAG_0x09E
+ call_if 0, SootopolisCity_EventScript_1E56E5
+ checkflag FLAG_0x081
+ goto_if 0, SootopolisCity_EventScript_1E5692
+ checkflag FLAG_0x09E
+ call_if 0, SootopolisCity_EventScript_1E5693
+ end
+
+SootopolisCity_EventScript_1E5692:: @ 81E5692
+ end
+
+SootopolisCity_EventScript_1E5693:: @ 81E5693
+ setmetatile 9, 6, 584, 1
+ setmetatile 9, 17, 584, 1
+ setmetatile 9, 26, 584, 1
+ setmetatile 44, 17, 584, 1
+ setmetatile 8, 35, 584, 1
+ setmetatile 53, 28, 584, 1
+ setmetatile 45, 6, 584, 1
+ setmetatile 48, 25, 584, 1
+ setmetatile 51, 36, 584, 1
+ return
+
+SootopolisCity_EventScript_1E56E5:: @ 81E56E5
+ setmetatile 31, 32, 592, 1
+ return
+
+SootopolisCity_MapScript1_1E56EF: @ 81E56EF
+ setflag FLAG_VISITED_SOOTOPOLIS_CITY
+ compare_var_to_value VAR_0x405E, 1
+ call_if 1, SootopolisCity_EventScript_1E5781
+ compare_var_to_value VAR_0x40CA, 1
+ call_if 1, SootopolisCity_EventScript_1E5781
+ call SootopolisCity_EventScript_1E5805
+ call SootopolisCity_EventScript_1E57B2
+ compare_var_to_value VAR_0x405E, 1
+ call_if 1, SootopolisCity_EventScript_1E5785
+ compare_var_to_value VAR_0x405E, 2
+ call_if 1, SootopolisCity_EventScript_1E5785
+ compare_var_to_value VAR_0x405E, 3
+ call_if 1, SootopolisCity_EventScript_1E5785
+ compare_var_to_value VAR_0x405E, 4
+ call_if 1, SootopolisCity_EventScript_1E5785
+ compare_var_to_value VAR_0x405E, 5
+ call_if 1, SootopolisCity_EventScript_1E5785
+ compare_var_to_value VAR_0x405E, 2
+ call_if 1, SootopolisCity_EventScript_1E5842
+ compare_var_to_value VAR_0x405E, 3
+ call_if 1, SootopolisCity_EventScript_1E5842
+ compare_var_to_value VAR_0x405E, 4
+ call_if 1, SootopolisCity_EventScript_1E585B
+ compare_var_to_value VAR_0x405E, 5
+ call_if 1, SootopolisCity_EventScript_1E5871
+ compare_var_to_value VAR_0x405E, 6
+ call_if 1, SootopolisCity_EventScript_1E58D3
+ end
+
+SootopolisCity_EventScript_1E5781:: @ 81E5781
+ setflag FLAG_SPECIAL_FLAG_0x4000
+ return
+
+SootopolisCity_EventScript_1E5785:: @ 81E5785
+ setobjectxyperm 3, 13, 48
+ setobjectxyperm 5, 46, 32
+ setobjectxyperm 4, 48, 41
+ setobjectxyperm 8, 45, 43
+ setobjectmovementtype 3, 7
+ setobjectmovementtype 5, 9
+ setobjectmovementtype 4, 9
+ setobjectmovementtype 8, 9
+ return
+
+SootopolisCity_EventScript_1E57B2:: @ 81E57B2
+ compare_var_to_value VAR_0x405E, 0
+ goto_eq SootopolisCity_EventScript_1E5800
+ compare_var_to_value VAR_0x405E, 6
+ goto_if 4, SootopolisCity_EventScript_1E5800
+ compare_var_to_value VAR_0x405E, 1
+ goto_eq SootopolisCity_EventScript_1E5801
+ compare_var_to_value VAR_0x405E, 2
+ goto_eq SootopolisCity_EventScript_1E5801
+ compare_var_to_value VAR_0x405E, 3
+ goto_eq SootopolisCity_EventScript_1E5801
+ compare_var_to_value VAR_0x405E, 4
+ goto_eq SootopolisCity_EventScript_1E5801
+ compare_var_to_value VAR_0x40CA, 1
+ goto_if 3, SootopolisCity_EventScript_1E5801
+ return
+
+SootopolisCity_EventScript_1E5800:: @ 81E5800
+ return
+
+SootopolisCity_EventScript_1E5801:: @ 81E5801
+ setmaplayoutindex 357
+ return
+
+SootopolisCity_EventScript_1E5805:: @ 81E5805
+ compare_var_to_value VAR_0x405E, 0
+ goto_eq SootopolisCity_EventScript_1E583D
+ compare_var_to_value VAR_0x405E, 6
+ goto_if 4, SootopolisCity_EventScript_1E583D
+ compare_var_to_value VAR_0x405E, 1
+ goto_eq SootopolisCity_EventScript_1E583E
+ compare_var_to_value VAR_0x40CA, 1
+ goto_eq SootopolisCity_EventScript_1E583E
+ compare_var_to_value VAR_0x40CA, 1
+ goto_if 3, SootopolisCity_EventScript_27207A
+ return
+
+SootopolisCity_EventScript_1E583D:: @ 81E583D
+ return
+
+SootopolisCity_EventScript_1E583E:: @ 81E583E
+ setweather 13
+ return
+
+SootopolisCity_EventScript_1E5842:: @ 81E5842
+ checkflag FLAG_0x133
+ goto_eq SootopolisCity_EventScript_1E584C
+ return
+
+SootopolisCity_EventScript_1E584C:: @ 81E584C
+ setobjectxyperm 1, 30, 18
+ setobjectxyperm 7, 32, 18
+ return
+
+SootopolisCity_EventScript_1E585B:: @ 81E585B
+ setobjectxyperm 1, 30, 18
+ setobjectxyperm 18, 31, 18
+ setobjectxyperm 7, 32, 18
+ end
+
+SootopolisCity_EventScript_1E5871:: @ 81E5871
+ setobjectxyperm 1, 31, 18
+ setobjectxyperm 7, 29, 33
+ setobjectxyperm 16, 33, 35
+ setobjectxyperm 17, 34, 35
+ compare_var_to_value VAR_0x40D8, 0
+ call_if 1, SootopolisCity_EventScript_1E58AF
+ compare_var_to_value VAR_0x40D8, 1
+ call_if 1, SootopolisCity_EventScript_1E58BB
+ compare_var_to_value VAR_0x40D8, 2
+ call_if 1, SootopolisCity_EventScript_1E58C7
+ return
+
+SootopolisCity_EventScript_1E58AF:: @ 81E58AF
+ setobjectxyperm 18, 31, 33
+ setobjectmovementtype 18, 8
+ return
+
+SootopolisCity_EventScript_1E58BB:: @ 81E58BB
+ setobjectxyperm 18, 32, 33
+ setobjectmovementtype 18, 8
+ return
+
+SootopolisCity_EventScript_1E58C7:: @ 81E58C7
+ setobjectxyperm 18, 30, 33
+ setobjectmovementtype 18, 8
+ return
+
+SootopolisCity_EventScript_1E58D3:: @ 81E58D3
+ setobjectxyperm 1, 31, 18
+ return
+
+SootopolisCity_MapScript2_1E58DB: @ 81E58DB
+ map_script_2 VAR_0x405E, 5, SootopolisCity_EventScript_1E58E5
+ .2byte 0
+
+SootopolisCity_EventScript_1E58E5:: @ 81E58E5
+ compare_var_to_value VAR_0x40CA, 1
+ call_if 1, SootopolisCity_EventScript_1E58FC
+ compare_var_to_value VAR_0x40CA, 2
+ call_if 1, SootopolisCity_EventScript_1E5901
+ end
+
+SootopolisCity_EventScript_1E58FC:: @ 81E58FC
+ turnobject 255, 2
+ return
+
+SootopolisCity_EventScript_1E5901:: @ 81E5901
+ turnobject 255, 2
+ setvar VAR_0x40CA, 3
+ return
+
+SootopolisCity_MapScript1_1E590B: @ 81E590B
+ setdivewarp UNDERWATER_SOOTOPOLIS_CITY, 255, 9, 6
+ end
+
+SootopolisCity_MapScript2_1E5914: @ 81E5914
+ map_script_2 VAR_0x405E, 1, SootopolisCity_EventScript_1E5926
+ map_script_2 VAR_0x40CA, 1, SootopolisCity_EventScript_1E5BFE
+ .2byte 0
+
+SootopolisCity_EventScript_1E5926:: @ 81E5926
+ lockall
+ special sub_8138AD0
+ compare_var_to_value VAR_0x8004, 43
+ goto_if 5, SootopolisCity_EventScript_1E5A82
+ compare_var_to_value VAR_0x8005, 32
+ goto_if 5, SootopolisCity_EventScript_1E5A82
+ goto SootopolisCity_EventScript_1E5946
+ end
+
+SootopolisCity_EventScript_1E5946:: @ 81E5946
+ delay 60
+ special SpawnScriptFieldObject
+ applymovement 127, SootopolisCity_Movement_1E5A68
+ waitmovement 0
+ special RemoveScriptFieldObject
+ delay 60
+ fadescreenspeed 1, 8
+ setweather 15
+ doweather
+ setvar VAR_0x8004, 0
+ special sub_813B7D8
+ waitstate
+ applymovement 10, SootopolisCity_Movement_2725A4
+ applymovement 9, SootopolisCity_Movement_2725A8
+ waitmovement 0
+ delay 60
+ waitse
+ playmoncry SPECIES_KYOGRE, 2
+ applymovement 10, SootopolisCity_Movement_1E5BB8
+ applymovement 9, SootopolisCity_Movement_1E5BE5
+ waitmovement 0
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 8
+ setvar VAR_0x8007, 5
+ special sub_8139560
+ waitstate
+ applymovement 10, SootopolisCity_Movement_1E5BCF
+ applymovement 9, SootopolisCity_Movement_1E5BF0
+ waitmovement 0
+ waitse
+ playmoncry SPECIES_GROUDON, 2
+ applymovement 10, SootopolisCity_Movement_1E5BC2
+ applymovement 9, SootopolisCity_Movement_1E5BDD
+ waitmovement 0
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 8
+ setvar VAR_0x8007, 5
+ special sub_8139560
+ waitstate
+ applymovement 10, SootopolisCity_Movement_1E5BCF
+ applymovement 9, SootopolisCity_Movement_1E5BF0
+ waitmovement 0
+ waitse
+ playmoncry SPECIES_KYOGRE, 2
+ applymovement 10, SootopolisCity_Movement_1E5BB8
+ applymovement 9, SootopolisCity_Movement_1E5BE5
+ waitmovement 0
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 8
+ setvar VAR_0x8007, 5
+ special sub_8139560
+ waitstate
+ applymovement 10, SootopolisCity_Movement_1E5BCF
+ applymovement 9, SootopolisCity_Movement_1E5BF0
+ waitmovement 0
+ special SpawnScriptFieldObject
+ applymovement 10, SootopolisCity_Movement_1E5BD6
+ applymovement 9, SootopolisCity_Movement_1E5BF7
+ applymovement 127, SootopolisCity_Movement_1E5A75
+ waitmovement 0
+ special RemoveScriptFieldObject
+ setvar VAR_0x405E, 2
+ clearflag FLAG_SPECIAL_FLAG_0x4000
+ releaseall
+ end
+
+SootopolisCity_Movement_1E5A68: @ 81E5A68
+ step_92
+ step_92
+ step_92
+ step_92
+ step_92
+ step_92
+ step_92
+ step_92
+ step_92
+ step_92
+ step_92
+ step_92
+ step_end
+
+SootopolisCity_Movement_1E5A75: @ 81E5A75
+ step_91
+ step_91
+ step_91
+ step_91
+ step_91
+ step_91
+ step_91
+ step_91
+ step_91
+ step_91
+ step_91
+ step_91
+ step_end
+
+SootopolisCity_EventScript_1E5A82:: @ 81E5A82
+ delay 60
+ special SpawnScriptFieldObject
+ applymovement 127, SootopolisCity_Movement_1E5BA4
+ waitmovement 0
+ special RemoveScriptFieldObject
+ delay 60
+ fadescreenspeed 1, 8
+ setweather 15
+ doweather
+ setvar VAR_0x8004, 0
+ special sub_813B7D8
+ waitstate
+ applymovement 10, SootopolisCity_Movement_2725A4
+ applymovement 9, SootopolisCity_Movement_2725A8
+ waitmovement 0
+ delay 60
+ waitse
+ playmoncry SPECIES_KYOGRE, 2
+ applymovement 10, SootopolisCity_Movement_1E5BB8
+ applymovement 9, SootopolisCity_Movement_1E5BE5
+ waitmovement 0
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 8
+ setvar VAR_0x8007, 5
+ special sub_8139560
+ waitstate
+ applymovement 10, SootopolisCity_Movement_1E5BCF
+ applymovement 9, SootopolisCity_Movement_1E5BF0
+ waitmovement 0
+ waitse
+ playmoncry SPECIES_GROUDON, 2
+ applymovement 10, SootopolisCity_Movement_1E5BC2
+ applymovement 9, SootopolisCity_Movement_1E5BDD
+ waitmovement 0
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 8
+ setvar VAR_0x8007, 5
+ special sub_8139560
+ waitstate
+ applymovement 10, SootopolisCity_Movement_1E5BCF
+ applymovement 9, SootopolisCity_Movement_1E5BF0
+ waitmovement 0
+ waitse
+ playmoncry SPECIES_KYOGRE, 2
+ applymovement 10, SootopolisCity_Movement_1E5BB8
+ applymovement 9, SootopolisCity_Movement_1E5BE5
+ waitmovement 0
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 8
+ setvar VAR_0x8007, 5
+ special sub_8139560
+ waitstate
+ applymovement 10, SootopolisCity_Movement_1E5BCF
+ applymovement 9, SootopolisCity_Movement_1E5BF0
+ waitmovement 0
+ special SpawnScriptFieldObject
+ applymovement 10, SootopolisCity_Movement_1E5BD6
+ applymovement 9, SootopolisCity_Movement_1E5BF7
+ applymovement 127, SootopolisCity_Movement_1E5BAE
+ waitmovement 0
+ special RemoveScriptFieldObject
+ setvar VAR_0x405E, 2
+ clearflag FLAG_SPECIAL_FLAG_0x4000
+ releaseall
+ end
+
+SootopolisCity_Movement_1E5BA4: @ 81E5BA4
+ step_91
+ step_91
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+SootopolisCity_Movement_1E5BAE: @ 81E5BAE
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_92
+ step_92
+ step_end
+
+SootopolisCity_Movement_1E5BB8: @ 81E5BB8
+ step_1b
+ step_1b
+ step_1b
+ step_14
+ step_14
+ step_14
+ step_5e
+ step_96
+ step_5f
+ step_end
+
+SootopolisCity_Movement_1E5BC2: @ 81E5BC2
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_5e
+ step_96
+ step_5f
+ step_end
+
+SootopolisCity_Movement_1E5BCF: @ 81E5BCF
+ step_40
+ step_right
+ step_14
+ step_14
+ step_14
+ step_41
+ step_end
+
+SootopolisCity_Movement_1E5BD6: @ 81E5BD6
+ step_1b
+ step_1b
+ step_1b
+ step_1b
+ step_1b
+ step_1b
+ step_end
+
+SootopolisCity_Movement_1E5BDD: @ 81E5BDD
+ step_1c
+ step_1c
+ step_1c
+ step_14
+ step_14
+ step_14
+ step_18
+ step_end
+
+SootopolisCity_Movement_1E5BE5: @ 81E5BE5
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_18
+ step_end
+
+SootopolisCity_Movement_1E5BF0: @ 81E5BF0
+ step_40
+ step_left
+ step_14
+ step_14
+ step_14
+ step_41
+ step_end
+
+SootopolisCity_Movement_1E5BF7: @ 81E5BF7
+ step_1c
+ step_1c
+ step_1c
+ step_1c
+ step_1c
+ step_1c
+ step_end
+
+SootopolisCity_EventScript_1E5BFE:: @ 81E5BFE
+ lockall
+ special sub_8138AD0
+ compare_var_to_value VAR_0x8004, 43
+ goto_if 5, SootopolisCity_EventScript_1E5CCE
+ compare_var_to_value VAR_0x8005, 32
+ goto_if 5, SootopolisCity_EventScript_1E5CCE
+ goto SootopolisCity_EventScript_1E5C1E
+ end
+
+SootopolisCity_EventScript_1E5C1E:: @ 81E5C1E
+ delay 60
+ special SpawnScriptFieldObject
+ applymovement 127, SootopolisCity_Movement_1E5A68
+ waitmovement 0
+ special RemoveScriptFieldObject
+ delay 60
+ fadescreenspeed 1, 8
+ call SootopolisCity_EventScript_1E5D82
+ removeobject 9
+ removeobject 10
+ addobject 11
+ setvar VAR_0x8004, 1
+ special sub_813B7D8
+ waitstate
+ playse SE_T_KAMI
+ special SpawnScriptFieldObject
+ applymovement 127, SootopolisCity_Movement_1E5E63
+ waitmovement 0
+ waitse
+ playmoncry SPECIES_RAYQUAZA, 2
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 8
+ setvar VAR_0x8007, 3
+ special sub_8139560
+ waitstate
+ waitse
+ playmoncry SPECIES_RAYQUAZA, 2
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 8
+ setvar VAR_0x8007, 5
+ special sub_8139560
+ waitstate
+ waitmoncry
+ setweather 0
+ doweather
+ applymovement 11, SootopolisCity_Movement_1E5E5B
+ waitmovement 0
+ removeobject 11
+ special sub_81379F8
+ waitstate
+ clearflag FLAG_SYS_WEATHER_CTRL
+ setvar VAR_0x40CA, 3
+ clearflag FLAG_0x053
+ fadenewbgm BGM_RUNECITY
+ delay 120
+ clearflag FLAG_SPECIAL_FLAG_0x4000
+ warp8 SOOTOPOLIS_CITY, 255, 43, 32
+ waitstate
+ end
+
+SootopolisCity_EventScript_1E5CCE:: @ 81E5CCE
+ delay 60
+ special SpawnScriptFieldObject
+ applymovement 127, SootopolisCity_Movement_1E5BA4
+ waitmovement 0
+ special RemoveScriptFieldObject
+ delay 60
+ fadescreenspeed 1, 8
+ call SootopolisCity_EventScript_1E5D82
+ removeobject 9
+ removeobject 10
+ addobject 11
+ setvar VAR_0x8004, 1
+ special sub_813B7D8
+ waitstate
+ special SpawnScriptFieldObject
+ applymovement 127, SootopolisCity_Movement_1E5E63
+ applymovement 255, SootopolisCity_Movement_1E5E68
+ waitmovement 0
+ waitse
+ playmoncry SPECIES_RAYQUAZA, 2
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 8
+ setvar VAR_0x8007, 3
+ special sub_8139560
+ waitstate
+ waitse
+ playmoncry SPECIES_RAYQUAZA, 2
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ setvar VAR_0x8006, 8
+ setvar VAR_0x8007, 5
+ special sub_8139560
+ waitstate
+ waitmoncry
+ setweather 0
+ doweather
+ applymovement 11, SootopolisCity_Movement_1E5E5B
+ waitmovement 0
+ removeobject 11
+ special sub_81379F8
+ waitstate
+ clearflag FLAG_SYS_WEATHER_CTRL
+ setvar VAR_0x40CA, 2
+ clearflag FLAG_0x053
+ fadenewbgm BGM_NAMINORI
+ delay 120
+ clearflag FLAG_SPECIAL_FLAG_0x4000
+ warp8 SOOTOPOLIS_CITY, 255, 29, 53
+ waitstate
+ end
+
+SootopolisCity_EventScript_1E5D82:: @ 81E5D82
+ setmetatile 27, 43, 656, 0
+ setmetatile 28, 43, 656, 0
+ setmetatile 29, 43, 656, 0
+ setmetatile 30, 43, 656, 0
+ setmetatile 27, 44, 656, 0
+ setmetatile 28, 44, 656, 0
+ setmetatile 29, 44, 656, 0
+ setmetatile 30, 44, 656, 0
+ setmetatile 27, 45, 656, 0
+ setmetatile 28, 45, 656, 0
+ setmetatile 29, 45, 656, 0
+ setmetatile 30, 45, 656, 0
+ setmetatile 32, 43, 656, 0
+ setmetatile 33, 43, 656, 0
+ setmetatile 34, 43, 656, 0
+ setmetatile 35, 43, 656, 0
+ setmetatile 32, 44, 656, 0
+ setmetatile 33, 44, 656, 0
+ setmetatile 34, 44, 656, 0
+ setmetatile 35, 44, 656, 0
+ setmetatile 32, 45, 656, 0
+ setmetatile 33, 45, 656, 0
+ setmetatile 34, 45, 656, 0
+ setmetatile 35, 45, 656, 0
+ return
+
+SootopolisCity_Movement_1E5E5B: @ 81E5E5B
+ step_16
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_2e
+ step_end
+
+SootopolisCity_Movement_1E5E63: @ 81E5E63
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+SootopolisCity_Movement_1E5E68: @ 81E5E68
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+SootopolisCity_Movement_1E5E6D: @ 81E5E6D
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+SootopolisCity_Movement_1E5E72: @ 81E5E72
+ step_91
+ step_91
+ step_91
+ step_91
+ step_91
+ step_91
+ step_91
+ step_91
+ step_right
+ step_right
+ step_right
+ step_right
+ step_end
+
+SootopolisCity_Movement_1E5E7F: @ 81E5E7F
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_92
+ step_92
+ step_end
+
+SootopolisCity_EventScript_1E5E8D:: @ 81E5E8D
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x405E, 6
+ goto_if 4, SootopolisCity_EventScript_1E5EC4
+ compare_var_to_value VAR_0x405E, 5
+ goto_eq SootopolisCity_EventScript_1E5ECE
+ compare_var_to_value VAR_0x405E, 2
+ goto_if 4, SootopolisCity_EventScript_1E5EBA
+ msgbox SootopolisCity_Text_1E6D77, 4
+ release
+ end
+
+SootopolisCity_EventScript_1E5EBA:: @ 81E5EBA
+ msgbox SootopolisCity_Text_1E6DFE, 4
+ release
+ end
+
+SootopolisCity_EventScript_1E5EC4:: @ 81E5EC4
+ msgbox SootopolisCity_Text_1E6F38, 4
+ release
+ end
+
+SootopolisCity_EventScript_1E5ECE:: @ 81E5ECE
+ msgbox SootopolisCity_Text_1E6ED4, 4
+ release
+ end
+
+SootopolisCity_EventScript_1E5ED8:: @ 81E5ED8
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x405E, 1
+ goto_if 3, SootopolisCity_EventScript_1E5F1B
+ compare_var_to_value VAR_0x405E, 6
+ goto_if 4, SootopolisCity_EventScript_1E5F1B
+ compare_var_to_value VAR_0x405E, 5
+ goto_eq SootopolisCity_EventScript_1E5F10
+ msgbox SootopolisCity_Text_1E6BFF, 4
+ closemessage
+ applymovement 3, SootopolisCity_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+SootopolisCity_EventScript_1E5F10:: @ 81E5F10
+ msgbox SootopolisCity_Text_1E6C53, 4
+ closemessage
+ release
+ end
+
+SootopolisCity_EventScript_1E5F1B:: @ 81E5F1B
+ dodailyevents
+ special sub_8138B10
+ checkflag FLAG_0x932
+ goto_eq SootopolisCity_EventScript_1E5FBB
+ msgbox SootopolisCity_Text_2A7BB0, 4
+ random 10
+ addvar VAR_RESULT, 20
+ addvar VAR_RESULT, 133
+ giveitem_std VAR_RESULT
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SootopolisCity_EventScript_272054
+ setflag FLAG_0x932
+ msgbox SootopolisCity_Text_2A7C7C, 4
+ random 2
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SootopolisCity_EventScript_1E5F79
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SootopolisCity_EventScript_1E5F9A
+ end
+
+SootopolisCity_EventScript_1E5F79:: @ 81E5F79
+ giveitem_std ITEM_FIGY_BERRY
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SootopolisCity_EventScript_272054
+ msgbox SootopolisCity_Text_2A7CB7, 4
+ release
+ end
+
+SootopolisCity_EventScript_1E5F9A:: @ 81E5F9A
+ giveitem_std ITEM_IAPAPA_BERRY
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SootopolisCity_EventScript_272054
+ msgbox SootopolisCity_Text_2A7CB7, 4
+ release
+ end
+
+SootopolisCity_EventScript_1E5FBB:: @ 81E5FBB
+ msgbox SootopolisCity_Text_2A7CEC, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SootopolisCity_EventScript_1E5FD8
+ msgbox SootopolisCity_Text_2A7DD2, 4
+ release
+ end
+
+SootopolisCity_EventScript_1E5FD8:: @ 81E5FD8
+ msgbox SootopolisCity_Text_2A7D80, 4
+ release
+ end
+
+SootopolisCity_EventScript_1E5FE2:: @ 81E5FE2
+ lockall
+ applymovement 2, SootopolisCity_Movement_27259E
+ waitmovement 0
+ compare_var_to_value VAR_0x405E, 5
+ goto_eq SootopolisCity_EventScript_1E600D
+ msgbox SootopolisCity_Text_1E71A1, 4
+ closemessage
+ applymovement 2, SootopolisCity_Movement_2725A2
+ waitmovement 0
+ releaseall
+ end
+
+SootopolisCity_EventScript_1E600D:: @ 81E600D
+ msgbox SootopolisCity_Text_1E728C, 4
+ releaseall
+ end
+
+SootopolisCity_EventScript_1E6017:: @ 81E6017
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x405E, 6
+ goto_if 4, SootopolisCity_EventScript_1E602E
+ msgbox SootopolisCity_Text_1E6CCA, 4
+ release
+ end
+
+SootopolisCity_EventScript_1E602E:: @ 81E602E
+ msgbox SootopolisCity_Text_1E6D57, 4
+ release
+ end
+
+SootopolisCity_EventScript_1E6038:: @ 81E6038
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x405E, 6
+ goto_if 4, SootopolisCity_EventScript_1E607A
+ compare_var_to_value VAR_0x405E, 5
+ goto_eq SootopolisCity_EventScript_1E6084
+ compare_var_to_value VAR_0x405E, 2
+ goto_if 4, SootopolisCity_EventScript_1E6065
+ msgbox SootopolisCity_Text_1E6F90, 4
+ release
+ end
+
+SootopolisCity_EventScript_1E6065:: @ 81E6065
+ msgbox SootopolisCity_Text_1E7078, 4
+ closemessage
+ applymovement 8, SootopolisCity_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+SootopolisCity_EventScript_1E607A:: @ 81E607A
+ msgbox SootopolisCity_Text_1E710B, 4
+ release
+ end
+
+SootopolisCity_EventScript_1E6084:: @ 81E6084
+ msgbox SootopolisCity_Text_1E70D4, 4
+ release
+ end
+
+SootopolisCity_EventScript_1E608E:: @ 81E608E
+ lockall
+ applymovement 4, SootopolisCity_Movement_27259E
+ waitmovement 0
+ compare_var_to_value VAR_0x405E, 5
+ goto_eq SootopolisCity_EventScript_1E60D9
+ compare_var_to_value VAR_0x405E, 6
+ goto_if 4, SootopolisCity_EventScript_1E60CF
+ compare_var_to_value VAR_0x405E, 1
+ goto_if 3, SootopolisCity_EventScript_1E60CF
+ msgbox SootopolisCity_Text_1E690B, 4
+ closemessage
+ applymovement 4, SootopolisCity_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+SootopolisCity_EventScript_1E60CF:: @ 81E60CF
+ msgbox SootopolisCity_Text_1E68A1, 4
+ release
+ end
+
+SootopolisCity_EventScript_1E60D9:: @ 81E60D9
+ msgbox SootopolisCity_Text_1E6920, 4
+ release
+ end
+
+SootopolisCity_EventScript_1E60E3:: @ 81E60E3
+ lockall
+ applymovement 5, SootopolisCity_Movement_27259E
+ waitmovement 0
+ compare_var_to_value VAR_0x405E, 5
+ goto_eq SootopolisCity_EventScript_1E612D
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_eq SootopolisCity_EventScript_1E6137
+ compare_var_to_value VAR_0x405E, 6
+ goto_if 4, SootopolisCity_EventScript_1E6141
+ compare_var_to_value VAR_0x405E, 1
+ goto_if 3, SootopolisCity_EventScript_1E6141
+ msgbox SootopolisCity_Text_1E6692, 4
+ closemessage
+ applymovement 5, SootopolisCity_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+SootopolisCity_EventScript_1E612D:: @ 81E612D
+ msgbox SootopolisCity_Text_1E6750, 4
+ release
+ end
+
+SootopolisCity_EventScript_1E6137:: @ 81E6137
+ msgbox SootopolisCity_Text_1E677F, 4
+ release
+ end
+
+SootopolisCity_EventScript_1E6141:: @ 81E6141
+ msgbox SootopolisCity_Text_1E6618, 4
+ release
+ end
+
+SootopolisCity_EventScript_1E614B:: @ 81E614B
+ msgbox SootopolisCity_Text_1E656F, 3
+ end
+
+SootopolisCity_EventScript_1E6154:: @ 81E6154
+ msgbox SootopolisCity_Text_1E65C8, 3
+ end
+
+SootopolisCity_EventScript_1E615D:: @ 81E615D
+ msgbox SootopolisCity_Text_1E6604, 3
+ end
+
+SootopolisCity_EventScript_1E6166:: @ 81E6166
+ lockall
+ applymovement 7, SootopolisCity_Movement_27259E
+ waitmovement 0
+ checkflag FLAG_0x133
+ call_if 0, SootopolisCity_EventScript_1E61CC
+ compare_var_to_value VAR_0x405E, 2
+ goto_eq SootopolisCity_EventScript_1E61AE
+ compare_var_to_value VAR_0x405E, 3
+ goto_eq SootopolisCity_EventScript_1E61C2
+ compare_var_to_value VAR_0x405E, 4
+ goto_eq SootopolisCity_EventScript_1E61C2
+ checkflag FLAG_0x09E
+ goto_eq SootopolisCity_EventScript_1E61B8
+ msgbox SootopolisCity_Text_1E78E5, 4
+ releaseall
+ end
+
+SootopolisCity_EventScript_1E61AE:: @ 81E61AE
+ msgbox SootopolisCity_Text_1E7866, 4
+ releaseall
+ end
+
+SootopolisCity_EventScript_1E61B8:: @ 81E61B8
+ msgbox SootopolisCity_Text_1E794B, 4
+ releaseall
+ end
+
+SootopolisCity_EventScript_1E61C2:: @ 81E61C2
+ msgbox SootopolisCity_Text_1E789A, 4
+ releaseall
+ end
+
+SootopolisCity_EventScript_1E61CC:: @ 81E61CC
+ msgbox SootopolisCity_Text_1E75CB, 4
+ closemessage
+ compare_var_to_value VAR_FACING, 3
+ call_if 1, SootopolisCity_EventScript_1E6243
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, SootopolisCity_EventScript_1E6255
+ msgbox SootopolisCity_Text_1E7737, 4
+ closemessage
+ applymovement 7, SootopolisCity_Movement_1E62D4
+ applymovement 255, SootopolisCity_Movement_1E630E
+ waitmovement 0
+ delay 120
+ applymovement 1, SootopolisCity_Movement_1E6341
+ waitmovement 0
+ applymovement 7, SootopolisCity_Movement_1E6344
+ applymovement 255, SootopolisCity_Movement_1E634F
+ waitmovement 0
+ msgbox SootopolisCity_Text_1E77F0, 4
+ closemessage
+ setflag FLAG_0x133
+ applymovement 255, SootopolisCity_Movement_1E635A
+ waitmovement 0
+ warp CAVE_OF_ORIGIN_ENTRANCE, 255, 9, 20
+ waitstate
+ end
+
+SootopolisCity_EventScript_1E6243:: @ 81E6243
+ applymovement 7, SootopolisCity_Movement_1E6267
+ applymovement 255, SootopolisCity_Movement_1E628C
+ waitmovement 0
+ return
+
+SootopolisCity_EventScript_1E6255:: @ 81E6255
+ applymovement 7, SootopolisCity_Movement_1E6267
+ applymovement 255, SootopolisCity_Movement_1E62B0
+ waitmovement 0
+ return
+
+SootopolisCity_Movement_1E6267: @ 81E6267
+ step_up
+ step_up
+ step_up
+ step_right
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_left
+ step_up
+ step_up
+ step_up
+ step_up
+ step_left
+ step_left
+ step_left
+ step_left
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_25
+ step_end
+
+SootopolisCity_Movement_1E628C: @ 81E628C
+ step_left
+ step_up
+ step_up
+ step_up
+ step_right
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_left
+ step_up
+ step_up
+ step_up
+ step_up
+ step_left
+ step_left
+ step_left
+ step_left
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+SootopolisCity_Movement_1E62B0: @ 81E62B0
+ step_up
+ step_up
+ step_up
+ step_up
+ step_right
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_left
+ step_up
+ step_up
+ step_up
+ step_up
+ step_left
+ step_left
+ step_left
+ step_left
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+SootopolisCity_Movement_1E62D4: @ 81E62D4
+ step_up
+ step_up
+ step_right
+ step_right
+ step_right
+ step_right
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_up
+ step_right
+ step_right
+ step_right
+ step_right
+ step_down
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_down
+ step_down
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_12
+ step_27
+ step_14
+ step_14
+ step_right
+ step_up
+ step_up
+ step_end
+
+SootopolisCity_Movement_1E630E: @ 81E630E
+ step_up
+ step_up
+ step_up
+ step_right
+ step_right
+ step_right
+ step_right
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_up
+ step_right
+ step_right
+ step_right
+ step_right
+ step_down
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_right
+ step_right
+ step_down
+ step_down
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_end
+
+SootopolisCity_Movement_1E6341: @ 81E6341
+ slow_step_left
+ step_28
+ step_end
+
+SootopolisCity_Movement_1E6344: @ 81E6344
+ step_down
+ step_down
+ step_left
+ step_13
+ step_right
+ step_up
+ step_up
+ step_up
+ step_right
+ step_27
+ step_end
+
+SootopolisCity_Movement_1E634F: @ 81E634F
+ step_14
+ step_14
+ step_14
+ step_13
+ step_right
+ step_right
+ step_up
+ step_up
+ step_up
+ step_28
+ step_end
+
+SootopolisCity_Movement_1E635A: @ 81E635A
+ step_up
+ step_up
+ step_end
+
+SootopolisCity_EventScript_1E635D:: @ 81E635D
+ lockall
+ applymovement 15, SootopolisCity_Movement_27259E
+ waitmovement 0
+ compare_var_to_value VAR_0x405E, 5
+ goto_eq SootopolisCity_EventScript_1E6388
+ msgbox SootopolisCity_Text_1E67DC, 4
+ closemessage
+ applymovement 15, SootopolisCity_Movement_2725A2
+ waitmovement 0
+ releaseall
+ end
+
+SootopolisCity_EventScript_1E6388:: @ 81E6388
+ msgbox SootopolisCity_Text_1E6853, 4
+ closemessage
+ releaseall
+ end
+
+SootopolisCity_EventScript_1E6393:: @ 81E6393
+ lockall
+ compare_var_to_value VAR_0x405E, 5
+ goto_eq SootopolisCity_EventScript_1E63C7
+ msgbox SootopolisCity_Text_1E6936, 4
+ closemessage
+ applymovement 14, SootopolisCity_Movement_27259E
+ waitmovement 0
+ msgbox SootopolisCity_Text_1E696C, 4
+ closemessage
+ applymovement 14, SootopolisCity_Movement_2725A2
+ waitmovement 0
+ releaseall
+ end
+
+SootopolisCity_EventScript_1E63C7:: @ 81E63C7
+ applymovement 14, SootopolisCity_Movement_27259E
+ waitmovement 0
+ msgbox SootopolisCity_Text_1E69B8, 4
+ releaseall
+ end
+
+SootopolisCity_EventScript_1E63DB:: @ 81E63DB
+ lockall
+ applymovement 13, SootopolisCity_Movement_27259E
+ waitmovement 0
+ compare_var_to_value VAR_0x405E, 5
+ goto_eq SootopolisCity_EventScript_1E6406
+ msgbox SootopolisCity_Text_1E6C7C, 4
+ closemessage
+ applymovement 13, SootopolisCity_Movement_2725A2
+ waitmovement 0
+ releaseall
+ end
+
+SootopolisCity_EventScript_1E6406:: @ 81E6406
+ msgbox SootopolisCity_Text_1E6CA6, 4
+ closemessage
+ releaseall
+ end
+
+SootopolisCity_EventScript_1E6411:: @ 81E6411
+ lockall
+ applymovement 12, SootopolisCity_Movement_27259E
+ waitmovement 0
+ compare_var_to_value VAR_0x405E, 5
+ goto_eq SootopolisCity_EventScript_1E643C
+ msgbox SootopolisCity_Text_1E6A50, 4
+ closemessage
+ applymovement 12, SootopolisCity_Movement_2725A2
+ waitmovement 0
+ releaseall
+ end
+
+SootopolisCity_EventScript_1E643C:: @ 81E643C
+ msgbox SootopolisCity_Text_1E6B2A, 4
+ releaseall
+ end
+
+SootopolisCity_EventScript_1E6446:: @ 81E6446
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x405E, 4
+ goto_eq SootopolisCity_EventScript_1E64D8
+ checkflag FLAG_0x138
+ goto_eq SootopolisCity_EventScript_1E64E2
+ checkflag FLAG_0x09E
+ goto_eq SootopolisCity_EventScript_1E646F
+ msgbox SootopolisCity_Text_1E7A3E, 4
+ release
+ end
+
+SootopolisCity_EventScript_1E646F:: @ 81E646F
+ msgbox SootopolisCity_Text_1E7ACF, 4
+ giveitem_std ITEM_HM07
+ setflag FLAG_0x138
+ msgbox SootopolisCity_Text_1E7B86, 4
+ closemessage
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, SootopolisCity_EventScript_1E64B2
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, SootopolisCity_EventScript_1E64B2
+ compare_var_to_value VAR_FACING, 3
+ call_if 1, SootopolisCity_EventScript_1E64C5
+ release
+ end
+
+SootopolisCity_EventScript_1E64B2:: @ 81E64B2
+ applymovement 18, SootopolisCity_Movement_1E64EC
+ waitmovement 0
+ moveobjectoffscreen 18
+ setvar VAR_0x40D8, 1
+ return
+
+SootopolisCity_EventScript_1E64C5:: @ 81E64C5
+ applymovement 18, SootopolisCity_Movement_1E64EF
+ waitmovement 0
+ moveobjectoffscreen 18
+ setvar VAR_0x40D8, 2
+ return
+
+SootopolisCity_EventScript_1E64D8:: @ 81E64D8
+ msgbox SootopolisCity_Text_1E79C8, 4
+ release
+ end
+
+SootopolisCity_EventScript_1E64E2:: @ 81E64E2
+ msgbox SootopolisCity_Text_1E7CBC, 4
+ release
+ end
+
+SootopolisCity_Movement_1E64EC: @ 81E64EC
+ step_right
+ step_25
+ step_end
+
+SootopolisCity_Movement_1E64EF: @ 81E64EF
+ step_left
+ step_25
+ step_end
+
+SootopolisCity_EventScript_1E64F2:: @ 81E64F2
+ lockall
+ compare_var_to_value VAR_0x405E, 5
+ goto_eq SootopolisCity_EventScript_1E6509
+ msgbox SootopolisCity_Text_1E72DB, 4
+ closemessage
+ releaseall
+ end
+
+SootopolisCity_EventScript_1E6509:: @ 81E6509
+ msgbox SootopolisCity_Text_1E737E, 4
+ setflag FLAG_0x135
+ checkflag FLAG_0x134
+ goto_eq SootopolisCity_EventScript_1E654C
+ releaseall
+ end
+
+SootopolisCity_EventScript_1E651F:: @ 81E651F
+ lockall
+ compare_var_to_value VAR_0x405E, 5
+ goto_eq SootopolisCity_EventScript_1E6536
+ msgbox SootopolisCity_Text_1E7460, 4
+ closemessage
+ releaseall
+ end
+
+SootopolisCity_EventScript_1E6536:: @ 81E6536
+ msgbox SootopolisCity_Text_1E74F6, 4
+ setflag FLAG_0x134
+ checkflag FLAG_0x135
+ goto_eq SootopolisCity_EventScript_1E654C
+ releaseall
+ end
+
+SootopolisCity_EventScript_1E654C:: @ 81E654C
+ setflag FLAG_0x33B
+ setflag FLAG_0x33A
+ setflag FLAG_0x09E
+ clearflag FLAG_0x358
+ clearflag FLAG_0x394
+ setvar VAR_0x40B9, 2
+ warpsilent SOOTOPOLIS_CITY, 255, 31, 34
+ waitstate
+ releaseall
+ end
+
+SootopolisCity_Movement_1E656B:: @ 81E656B
+ step_98
+ step_end
+
+SootopolisCity_Movement_1E656D:: @ 81E656D
+ step_9A
+ step_end
+
+SootopolisCity_Text_1E656F: @ 81E656F
+ .string "SOOTOPOLIS CITY POKéMON GYM\n"
+ .string "LEADER: JUAN\p"
+ .string "“The GYM LEADER with the beauty\n"
+ .string "of pure water!”$"
+
+SootopolisCity_Text_1E65C8: @ 81E65C8
+ .string "SOOTOPOLIS CITY\p"
+ .string "“The mystical city where history\n"
+ .string "slumbers.”$"
+
+
+SootopolisCity_Text_1E6604: @ 81E6604
+ .string "The door is closed.$"
+
+SootopolisCity_Text_1E6618: @ 81E6618
+ .string "Diving in the sea. Climbing up and\n"
+ .string "down stairs all the time…\p"
+ .string "If you live in this town, you end up\n"
+ .string "getting physically fit.$"
+
+SootopolisCity_Text_1E6692: @ 81E6692
+ .string "These giant POKéMON suddenly appeared\n"
+ .string "in the middle of the city!\p"
+ .string "And, I’ve never seen them before!\p"
+ .string "Why are they smashing into each\n"
+ .string "other like that?\p"
+ .string "Why can’t they be friends, those\n"
+ .string "POKéMON?$"
+
+SootopolisCity_Text_1E6750: @ 81E6750
+ .string "What? What? What?\n"
+ .string "What is that green POKéMON?!$"
+
+SootopolisCity_Text_1E677F: @ 81E677F
+ .string "GROUDON and KYOGRE…\n"
+ .string "Where did they go?\p"
+ .string "Will they cause droughts or downpours\n"
+ .string "somewhere else?$"
+
+SootopolisCity_Text_1E67DC: @ 81E67DC
+ .string "I just get this sense somehow that\n"
+ .string "the two POKéMON aren’t angry.\p"
+ .string "I think… They probably can’t control\n"
+ .string "their own power…$"
+
+SootopolisCity_Text_1E6853: @ 81E6853
+ .string "That flying POKéMON came down from\n"
+ .string "the sky and stopped the rampaging\l"
+ .string "POKéMON…$"
+
+SootopolisCity_Text_1E68A1: @ 81E68A1
+ .string "I… I’ve never been out of this city.\p"
+ .string "I wonder what the world is like on\n"
+ .string "the other side of this round sky?$"
+
+SootopolisCity_Text_1E690B: @ 81E690B
+ .string "Wow!\n"
+ .string "This is wicked!$"
+
+SootopolisCity_Text_1E6920: @ 81E6920
+ .string "Wow!\n"
+ .string "That was wicked!$"
+
+SootopolisCity_Text_1E6936: @ 81E6936
+ .string "Go for it, red POKéMON!\n"
+ .string "Don’t back off, blue POKéMON!$"
+
+SootopolisCity_Text_1E696C: @ 81E696C
+ .string "… … … … … …\p"
+ .string "Hi, do you know the names of those\n"
+ .string "POKéMON fighting over there?$"
+
+SootopolisCity_Text_1E69B8: @ 81E69B8
+ .string "I was wondering which one would win,\n"
+ .string "the red one or the blue one, but, oh no,\l"
+ .string "it’s the green one that settles things!\p"
+ .string "Talk about a huge turn of events!$"
+
+SootopolisCity_Text_1E6A50: @ 81E6A50
+ .string "There’s an ancient legend that claims\n"
+ .string "the land and sea were shaped by\l"
+ .string "a colossal battle between POKéMON.\p"
+ .string "Well, I’m seeing that happen with\n"
+ .string "my very own eyes!\p"
+ .string "Whoa! I never expected to be\n"
+ .string "witness to something this huge!$"
+
+SootopolisCity_Text_1E6B2A: @ 81E6B2A
+ .string "There’s an ancient legend that claims\n"
+ .string "the land and sea were shaped by\l"
+ .string "a colossal battle between POKéMON.\p"
+ .string "Well, I saw that happen with\n"
+ .string "my very own eyes!\p"
+ .string "Whoa! I never expected to be\n"
+ .string "witness to something this huge!$"
+
+SootopolisCity_Text_1E6BFF: @ 81E6BFF
+ .string "A big POKéMON is fighting with\n"
+ .string "another big POKéMON!\p"
+ .string "Please, someone make them stop!$"
+
+SootopolisCity_Text_1E6C53: @ 81E6C53
+ .string "A pretty POKéMON came down from\n"
+ .string "the sky…$"
+
+SootopolisCity_Text_1E6C7C: @ 81E6C7C
+ .string "Oh, no!\n"
+ .string "SOOTOPOLIS CITY will get wrecked!$"
+
+SootopolisCity_Text_1E6CA6: @ 81E6CA6
+ .string "SOOTOPOLIS CITY didn’t get wrecked!$"
+
+SootopolisCity_Text_1E6CCA: @ 81E6CCA
+ .string "Hm!\n"
+ .string "You’ve come all the way to SOOTOPOLIS?\l"
+ .string "You’re no ordinary tourist.\p"
+ .string "But I suppose that doesn’t make you\n"
+ .string "an extraordinary tourist, either.$"
+
+SootopolisCity_Text_1E6D57: @ 81E6D57
+ .string "The city has regained its calm…$"
+
+SootopolisCity_Text_1E6D77: @ 81E6D77
+ .string "Who might you be?\p"
+ .string "This is the CAVE OF ORIGIN.\p"
+ .string "The spirits of POKéMON, becalmed at\n"
+ .string "MT. PYRE, are said to be revived here.\p"
+ .string "Please leave.$"
+
+SootopolisCity_Text_1E6DFE: @ 81E6DFE
+ .string "A person with a strong will and\n"
+ .string "superior talent…\p"
+ .string "A TRAINER who has knowledge and\n"
+ .string "experience of many kinds of POKéMON…\p"
+ .string "If such a person were to appear, I was\n"
+ .string "instructed by WALLACE to lead that\l"
+ .string "TRAINER to this CAVE.$"
+
+SootopolisCity_Text_1E6ED4: @ 81E6ED4
+ .string "Oh, my…\p"
+ .string "The clash between the two awakened\n"
+ .string "POKéMON was quelled by the awakening\l"
+ .string "of a third POKéMON…$"
+
+SootopolisCity_Text_1E6F38: @ 81E6F38
+ .string "This is the CAVE OF ORIGIN…\p"
+ .string "With the passing of the crisis,\n"
+ .string "the cave, too, shall sleep…$"
+
+SootopolisCity_Text_1E6F90: @ 81E6F90
+ .string "SOOTOPOLIS sprang up as a town in\n"
+ .string "the crater of a volcano.\p"
+ .string "If you look up at the sky, the lip of\n"
+ .string "the crater is also visible.\l"
+ .string "So, all you see is the sky in a circle.\p"
+ .string "But that’s what makes the sky above\n"
+ .string "SOOTOPOLIS the most beautiful.$"
+
+SootopolisCity_Text_1E7078: @ 81E7078
+ .string "When two POKéMON that gigantic\n"
+ .string "are fighting that savagely, there’s\l"
+ .string "not much that we can do.$"
+
+SootopolisCity_Text_1E70D4: @ 81E70D4
+ .string "When that third POKéMON flew down,\n"
+ .string "I feared the worst.$"
+
+SootopolisCity_Text_1E710B: @ 81E710B
+ .string "A circle of a night sky framed by\n"
+ .string "the crater of a volcano…\p"
+ .string "And in that ring, stars flicker and\n"
+ .string "blink as if they were alive…\l"
+ .string "It’s my favorite scenery.$"
+
+SootopolisCity_Text_1E71A1: @ 81E71A1
+ .string "The weather was clear this morning,\n"
+ .string "but…\p"
+ .string "All of a sudden, dark clouds brewed up,\n"
+ .string "rain started falling in sheets, and\l"
+ .string "there was thunder and lightning, too.\p"
+ .string "The weather just went completely\n"
+ .string "wild!\p"
+ .string "Is all of this because of those\n"
+ .string "POKéMON?$"
+
+SootopolisCity_Text_1E728C: @ 81E728C
+ .string "Oh?\p"
+ .string "It was you who brought that flying\n"
+ .string "POKéMON here?\p"
+ .string "Well, aren’t you amazing!$"
+
+SootopolisCity_Text_1E72DB: @ 81E72DB
+ .string "MAXIE: G… GROUDON…\n"
+ .string "Please! Stop what you’re doing!\p"
+ .string "I know the extent of your power now!\p"
+ .string "If you keep going, all HOENN, not just\n"
+ .string "SOOTOPOLIS, will be utterly ruined!$"
+
+SootopolisCity_Text_1E737E: @ 81E737E
+ .string "MAXIE: So the super-ancient POKéMON\n"
+ .string "weren’t only GROUDON and KYOGRE…\p"
+ .string "After all our fruitless scheming and\n"
+ .string "frantic efforts, that one POKéMON’s\l"
+ .string "simple action puts everything right\l"
+ .string "again as if nothing had happened…\p"
+ .string "Fu…\n"
+ .string "Fuhahaha…$"
+
+SootopolisCity_Text_1E7460: @ 81E7460
+ .string "ARCHIE: KYOGRE! What’s wrong?!\n"
+ .string "Look over here! It’s the RED ORB!\l"
+ .string "Calm down! KYOGRE!\p"
+ .string "… … … … … …\n"
+ .string "… … … … … …\p"
+ .string "It’s no good!\n"
+ .string "It’s not responding at all!$"
+
+SootopolisCity_Text_1E74F6: @ 81E74F6
+ .string "ARCHIE: KYOGRE and GROUDON both\n"
+ .string "flew off to who knows where.\p"
+ .string "The weather in HOENN has returned\n"
+ .string "to its normal state…\p"
+ .string "Haha…\n"
+ .string "Hahaha…\p"
+ .string "Maybe what we were trying to do was\n"
+ .string "something small, even meaningless,\l"
+ .string "to POKéMON…$"
+
+SootopolisCity_Text_1E75CB: @ 81E75CB
+ .string "STEVEN: Those POKéMON fighting…\n"
+ .string "GROUDON… And KYOGRE…\p"
+ .string "The two super-ancient POKéMON\n"
+ .string "were awakened from a long sleep…\p"
+ .string "And now they are smashing each other\n"
+ .string "with their uncontrollable energy…\p"
+ .string "…{PLAYER}{KUN}.\p"
+ .string "You being here now I’ll take to mean\n"
+ .string "that you’re prepared to become\l"
+ .string "involved in this crisis.\p"
+ .string "Well, then, there’s someone that\n"
+ .string "I’d like you to meet.\p"
+ .string "Come with me, please.$"
+
+SootopolisCity_Text_1E7737: @ 81E7737
+ .string "STEVEN: Listen, {PLAYER}{KUN}.\p"
+ .string "Does seeing GROUDON and KYOGRE make\n"
+ .string "you think POKéMON are to be feared?\p"
+ .string "But that’s not true.\n"
+ .string "POKéMON are really more…\p"
+ .string "…Why am I asking you this?\n"
+ .string "You already know.$"
+
+SootopolisCity_Text_1E77F0: @ 81E77F0
+ .string "STEVEN: Okay, here we are!\p"
+ .string "Inside here you’ll find someone named\n"
+ .string "WALLACE.\p"
+ .string "I think you have what’s needed to\n"
+ .string "help him…$"
+
+SootopolisCity_Text_1E7866: @ 81E7866
+ .string "STEVEN: I think you have what’s\n"
+ .string "needed to help him…$"
+
+SootopolisCity_Text_1E789A: @ 81E789A
+ .string "STEVEN: The SKY PILLAR…\p"
+ .string "I’ve never been there.\n"
+ .string "I wonder where it could be?$"
+
+SootopolisCity_Text_1E78E5: @ 81E78E5
+ .string "STEVEN: So that’s RAYQUAZA…\p"
+ .string "It’s incredible how the two rampaging\n"
+ .string "POKéMON would flee from it in fear…$"
+
+SootopolisCity_Text_1E794B: @ 81E794B
+ .string "STEVEN: It looks like both MAXIE and\n"
+ .string "ARCHIE have gone away somewhere.\p"
+ .string "Perhaps they’ve gone to MT. PYRE to\n"
+ .string "return those ORBS…$"
+
+SootopolisCity_Text_1E79C8: @ 81E79C8
+ .string "WALLACE: Oh?\n"
+ .string "{PLAYER}{KUN}?\p"
+ .string "Haven’t you scaled the SKY PILLAR\n"
+ .string "yet?\p"
+ .string "I’m sure that you can make it to\n"
+ .string "the top of the SKY PILLAR…$"
+
+SootopolisCity_Text_1E7A3E: @ 81E7A3E
+ .string "WALLACE: {PLAYER}{KUN}…\p"
+ .string "The leaders of TEAM MAGMA and AQUA,\n"
+ .string "I don’t think they meant harm.\p"
+ .string "It wouldn’t hurt to hear what they\n"
+ .string "have to say for themselves.$"
+
+SootopolisCity_Text_1E7ACF: @ 81E7ACF
+ .string "WALLACE: {PLAYER}{KUN}…\n"
+ .string "My eyes didn’t deceive me.\p"
+ .string "Thanks to your help, SOOTOPOLIS…\n"
+ .string "No, all of HOENN was saved.\p"
+ .string "On behalf of the people, I thank you.\p"
+ .string "This is a gift from me.\n"
+ .string "Please accept it.$"
+
+SootopolisCity_Text_1E7B86: @ 81E7B86
+ .string "That HIDDEN MACHINE contains\n"
+ .string "WATERFALL.\p"
+ .string "If you have the RAIN BADGE, a POKéMON\n"
+ .string "that has learned that HM move can\l"
+ .string "force its way up waterfalls.\p"
+ .string "And where does one get the RAIN BADGE?\n"
+ .string "You know, don’t you?\p"
+ .string "That’s right! You have to beat\n"
+ .string "the SOOTOPOLIS GYM LEADER.\p"
+ .string "When you’re all set to go, step through\n"
+ .string "that door.$"
+
+SootopolisCity_Text_1E7CBC: @ 81E7CBC
+ .string "WALLACE: I’m sure that you will be\n"
+ .string "dazzled by my mentor’s breathtakingly\l"
+ .string "elegant battle style.$"
diff --git a/data/scripts/maps/SootopolisCity_Gym_1F.inc b/data/scripts/maps/SootopolisCity_Gym_1F.inc
new file mode 100644
index 000000000..e28d8d13f
--- /dev/null
+++ b/data/scripts/maps/SootopolisCity_Gym_1F.inc
@@ -0,0 +1,329 @@
+SootopolisCity_Gym_1F_MapScripts:: @ 8224E4C
+ map_script 2, SootopolisCity_Gym_1F_MapScript2_224ECB
+ map_script 5, SootopolisCity_Gym_1F_MapScript1_224E67
+ map_script 1, SootopolisCity_Gym_1F_MapScript1_224E6A
+ map_script 3, SootopolisCity_Gym_1F_MapScript1_224E61
+ .byte 0
+
+SootopolisCity_Gym_1F_MapScript1_224E61: @ 8224E61
+ setvar VAR_ICE_STEP_COUNT, 1
+ end
+
+SootopolisCity_Gym_1F_MapScript1_224E67: @ 8224E67
+ setstepcallback 4
+ end
+
+SootopolisCity_Gym_1F_MapScript1_224E6A: @ 8224E6A
+ call SootopolisCity_Gym_1F_EventScript_224E73
+ special sub_809E1C8
+ end
+
+SootopolisCity_Gym_1F_EventScript_224E73:: @ 8224E73
+ compare_var_to_value VAR_ICE_STEP_COUNT, 8
+ goto_if 0, SootopolisCity_Gym_1F_EventScript_224ECA
+ compare_var_to_value VAR_ICE_STEP_COUNT, 28
+ goto_if 0, SootopolisCity_Gym_1F_EventScript_224EB8
+ compare_var_to_value VAR_ICE_STEP_COUNT, 67
+ goto_if 0, SootopolisCity_Gym_1F_EventScript_224EA6
+ setmetatile 8, 4, 519, 0
+ setmetatile 8, 5, 519, 0
+
+SootopolisCity_Gym_1F_EventScript_224EA6:: @ 8224EA6
+ setmetatile 8, 10, 519, 0
+ setmetatile 8, 11, 519, 0
+
+SootopolisCity_Gym_1F_EventScript_224EB8:: @ 8224EB8
+ setmetatile 8, 15, 519, 0
+ setmetatile 8, 16, 519, 0
+
+SootopolisCity_Gym_1F_EventScript_224ECA:: @ 8224ECA
+ return
+
+SootopolisCity_Gym_1F_MapScript2_224ECB: @ 8224ECB
+ map_script_2 VAR_ICE_STEP_COUNT, 8, SootopolisCity_Gym_1F_EventScript_224EED
+ map_script_2 VAR_ICE_STEP_COUNT, 28, SootopolisCity_Gym_1F_EventScript_224F01
+ map_script_2 VAR_ICE_STEP_COUNT, 67, SootopolisCity_Gym_1F_EventScript_224F15
+ map_script_2 VAR_ICE_STEP_COUNT, 0, SootopolisCity_Gym_1F_EventScript_224F29
+ .2byte 0
+
+SootopolisCity_Gym_1F_EventScript_224EED:: @ 8224EED
+ addvar VAR_ICE_STEP_COUNT, 1
+ delay 40
+ playse SE_RU_GASHIN
+ call SootopolisCity_Gym_1F_EventScript_224E73
+ special DrawWholeMapView
+ end
+
+SootopolisCity_Gym_1F_EventScript_224F01:: @ 8224F01
+ addvar VAR_ICE_STEP_COUNT, 1
+ delay 40
+ playse SE_RU_GASHIN
+ call SootopolisCity_Gym_1F_EventScript_224E73
+ special DrawWholeMapView
+ end
+
+SootopolisCity_Gym_1F_EventScript_224F15:: @ 8224F15
+ addvar VAR_ICE_STEP_COUNT, 1
+ delay 40
+ playse SE_RU_GASHIN
+ call SootopolisCity_Gym_1F_EventScript_224E73
+ special DrawWholeMapView
+ end
+
+SootopolisCity_Gym_1F_EventScript_224F29:: @ 8224F29
+ lockall
+ delay 20
+ applymovement 255, SootopolisCity_Gym_1F_Movement_224F42
+ waitmovement 0
+ playse SE_RU_HYUU
+ delay 60
+ warphole SOOTOPOLIS_CITY_GYM_B1F
+ waitstate
+ end
+
+SootopolisCity_Gym_1F_Movement_224F42: @ 8224F42
+ step_54
+ step_end
+
+SootopolisCity_Gym_1F_EventScript_224F44:: @ 8224F44
+ trainerbattle 1, TRAINER_JUAN_1, 0, SootopolisCity_Gym_1F_Text_225268, SootopolisCity_Gym_1F_Text_225432, SootopolisCity_Gym_1F_EventScript_224F82
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SootopolisCity_Gym_1F_EventScript_225025
+ checkflag FLAG_0x0AC
+ goto_if 0, SootopolisCity_Gym_1F_EventScript_224FF7
+ checkflag FLAG_BADGE06_GET
+ goto_if 0, SootopolisCity_Gym_1F_EventScript_22501B
+ msgbox SootopolisCity_Gym_1F_Text_225778, 4
+ release
+ end
+
+SootopolisCity_Gym_1F_EventScript_224F82:: @ 8224F82
+ message SootopolisCity_Gym_1F_Text_225598
+ waitmessage
+ call SootopolisCity_Gym_1F_EventScript_27207E
+ msgbox SootopolisCity_Gym_1F_Text_2255BE, 4
+ setflag FLAG_0x4F7
+ setflag FLAG_BADGE08_GET
+ setflag FLAG_0x356
+ setflag FLAG_0x3CD
+ setflag FLAG_0x330
+ setvar VAR_0x405E, 6
+ clearflag FLAG_0x347
+ setvar VAR_0x8008, 8
+ call SootopolisCity_Gym_1F_EventScript_271F43
+ call SootopolisCity_Gym_1F_EventScript_224FD4
+ closemessage
+ delay 30
+ playfanfare BGM_ME_MATCH_CALL
+ msgbox SootopolisCity_Gym_1F_Text_22574D, 4
+ waitfanfare
+ closemessage
+ delay 30
+ setflag FLAG_0x1D9
+ release
+ end
+
+SootopolisCity_Gym_1F_EventScript_224FD4:: @ 8224FD4
+ giveitem_std ITEM_TM03
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SootopolisCity_Gym_1F_EventScript_27205E
+ msgbox SootopolisCity_Gym_1F_Text_2256C1, 4
+ setflag FLAG_0x0AC
+ return
+
+SootopolisCity_Gym_1F_EventScript_224FF7:: @ 8224FF7
+ giveitem_std ITEM_TM03
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SootopolisCity_Gym_1F_EventScript_272054
+ msgbox SootopolisCity_Gym_1F_Text_2256C1, 4
+ setflag FLAG_0x0AC
+ release
+ end
+
+SootopolisCity_Gym_1F_EventScript_22501B:: @ 822501B
+ msgbox SootopolisCity_Gym_1F_Text_225865, 4
+ release
+ end
+
+SootopolisCity_Gym_1F_EventScript_225025:: @ 8225025
+ trainerbattle 7, TRAINER_JUAN_1, 0, SootopolisCity_Gym_1F_Text_225950, SootopolisCity_Gym_1F_Text_225A2E, SootopolisCity_Gym_1F_Text_225B48
+ msgbox SootopolisCity_Gym_1F_Text_225A67, 6
+ end
+
+SootopolisCity_Gym_1F_EventScript_225040:: @ 8225040
+ lock
+ faceplayer
+ checkflag FLAG_0x4F7
+ goto_eq SootopolisCity_Gym_1F_EventScript_225055
+ msgbox SootopolisCity_Gym_1F_Text_225093, 4
+ release
+ end
+
+SootopolisCity_Gym_1F_EventScript_225055:: @ 8225055
+ msgbox SootopolisCity_Gym_1F_Text_2251AF, 4
+ release
+ end
+
+SootopolisCity_Gym_1F_EventScript_22505F:: @ 822505F
+ lockall
+ checkflag FLAG_BADGE08_GET
+ goto_eq SootopolisCity_Gym_1F_EventScript_22507F
+ goto SootopolisCity_Gym_1F_EventScript_225089
+ end
+
+SootopolisCity_Gym_1F_EventScript_22506F:: @ 822506F
+ lockall
+ checkflag FLAG_BADGE08_GET
+ goto_eq SootopolisCity_Gym_1F_EventScript_22507F
+ goto SootopolisCity_Gym_1F_EventScript_225089
+ end
+
+SootopolisCity_Gym_1F_EventScript_22507F:: @ 822507F
+ msgbox SootopolisCity_Gym_1F_Text_225916, 4
+ releaseall
+ end
+
+SootopolisCity_Gym_1F_EventScript_225089:: @ 8225089
+ msgbox SootopolisCity_Gym_1F_Text_2258FA, 4
+ releaseall
+ end
+
+SootopolisCity_Gym_1F_Text_225093: @ 8225093
+ .string "Yo! How’s it going, CHAMPION-\n"
+ .string "bound {PLAYER}?\p"
+ .string "SOOTOPOLIS’s GYM LEADER JUAN is\n"
+ .string "a master of WATER-type POKéMON.\p"
+ .string "And, to get to JUAN, an icy floor\n"
+ .string "will hamper your progress…\p"
+ .string "Listen, I’m sorry, but that’s all the\n"
+ .string "advice that I have for you.\p"
+ .string "The rest of the way, you have to\n"
+ .string "go for it yourself!$"
+
+SootopolisCity_Gym_1F_Text_2251AF: @ 82251AF
+ .string "Yow! You’ve beaten even JUAN, who\n"
+ .string "was supposedly the best in all HOENN!\p"
+ .string "Okay! Check out your TRAINER CARD.\p"
+ .string "If you’ve gotten all the BADGES, you’re\n"
+ .string "set for the POKéMON LEAGUE challenge!$"
+
+SootopolisCity_Gym_1F_Text_225268: @ 8225268
+ .string "Let me ask you.\n"
+ .string "Did you know?\l"
+ .string "Ah, I should not be so coy.\p"
+ .string "It was I who taught WALLACE everything\n"
+ .string "there is to know about POKéMON.\p"
+ .string "Once, I had given up my position as\n"
+ .string "the GYM LEADER.\p"
+ .string "In my place, I had entrusted WALLACE\n"
+ .string "with the GYM.\p"
+ .string "However, a compelling reason arose for\n"
+ .string "me to make a comeback.\p"
+ .string "Ah, but enough chatter.\n"
+ .string "Let us begin our match, shall we?\p"
+ .string "Please, you shall bear witness to\n"
+ .string "our artistry.\p"
+ .string "A grand illusion of water sculpted\n"
+ .string "by POKéMON and myself!$"
+
+SootopolisCity_Gym_1F_Text_225432: @ 8225432
+ .string "Ahahaha, excellent!\n"
+ .string "Very well, you are the winner.\p"
+ .string "From you, I sense the brilliant shine\n"
+ .string "of skill that will overcome all.\p"
+ .string "However, compared with me or even\n"
+ .string "WALLACE, you are lacking in elegance.\p"
+ .string "Perhaps I should make you a loan\n"
+ .string "of my outfit?\p"
+ .string "… … … … … …\n"
+ .string "… … … … … …\p"
+ .string "Hahaha, I merely jest!\p"
+ .string "Rather than my clothes, I shall reward\n"
+ .string "you with this, the RAIN BADGE!$"
+
+SootopolisCity_Gym_1F_Text_225598: @ 8225598
+ .string "{PLAYER} received the RAIN BADGE\n"
+ .string "from JUAN.$"
+
+SootopolisCity_Gym_1F_Text_2255BE: @ 82255BE
+ .string "Having the RAIN BADGE shall assure you\n"
+ .string "the full obedience of all your POKéMON\l"
+ .string "to your every command.\p"
+ .string "The RAIN BADGE also allows the use\n"
+ .string "of the HM move WATERFALL to scale\l"
+ .string "walls of cascading water.\p"
+ .string "And, so that you never forget the\n"
+ .string "battle we shared, take this…$"
+
+SootopolisCity_Gym_1F_Text_2256C1: @ 82256C1
+ .string "The TECHNICAL MACHINE I handed you\n"
+ .string "contains WATER PULSE.\p"
+ .string "In use, it will occasionally confuse\n"
+ .string "the target with ultrasonic waves.\p"
+ .string "… … … … … …$"
+
+SootopolisCity_Gym_1F_Text_22574D: @ 822574D
+ .string "Registered GYM LEADER JUAN\n"
+ .string "in the POKéNAV.$"
+
+SootopolisCity_Gym_1F_Text_225778: @ 8225778
+ .string "The TRAINERS who have gathered all\n"
+ .string "the GYM BADGES of HOENN should make\l"
+ .string "way to the ultimate destination.\p"
+ .string "The POKéMON LEAGUE.\p"
+ .string "Travel to the easternmost reaches\n"
+ .string "of HOENN, to the island EVER GRANDE.\p"
+ .string "There, you shall find the POKéMON\n"
+ .string "LEAGUE.$"
+
+SootopolisCity_Gym_1F_Text_225865: @ 8225865
+ .string "There remains but one BADGE to\n"
+ .string "obtain in HOENN.\p"
+ .string "If you wish to challenge the POKéMON\n"
+ .string "LEAGUE, you must obtain the last\l"
+ .string "BADGE from the GYM in FORTREE.$"
+
+SootopolisCity_Gym_1F_Text_2258FA: @ 82258FA
+ .string "SOOTOPOLIS CITY POKéMON GYM$"
+
+SootopolisCity_Gym_1F_Text_225916: @ 8225916
+ .string "SOOTOPOLIS CITY POKéMON GYM\p"
+ .string "JUAN’S CERTIFIED TRAINERS:\n"
+ .string "{PLAYER}$"
+
+SootopolisCity_Gym_1F_Text_225950: @ 8225950
+ .string "JUAN: Ah, this GYM had returned to its\n"
+ .string "usual state of serenity…\p"
+ .string "But our young typhoon has returned\n"
+ .string "to put us to the test again!\p"
+ .string "Well, my friend, most certainly!\p"
+ .string "I shall be delighted to dance with you\n"
+ .string "as often as you wish!$"
+
+SootopolisCity_Gym_1F_Text_225A2E: @ 8225A2E
+ .string "Ahahaha, you are the winner!\n"
+ .string "You have defeated me again!$"
+
+SootopolisCity_Gym_1F_Text_225A67: @ 8225A67
+ .string "JUAN: If I told you to become my\n"
+ .string "apprentice, you will refuse, I am sure.\p"
+ .string "I would like to make a gift of my coat\n"
+ .string "to you.\p"
+ .string "But again, you will refuse.\n"
+ .string "I imagine that to be so.\p"
+ .string "And that, my friend, is a certain sign\n"
+ .string "of nobility!$"
+
+SootopolisCity_Gym_1F_Text_225B48: @ 8225B48
+ .string "JUAN: Ah, this GYM had returned to its\n"
+ .string "usual state of serenity…\p"
+ .string "But our young typhoon has returned\n"
+ .string "to put us to the test again!\p"
+ .string "Well, my friend, most certainly!\n"
+ .string "I shall be delighted to dance with you…\p"
+ .string "Ah, no, no, no.\n"
+ .string "You have with you but one POKéMON.\p"
+ .string "I wish that you would return with\n"
+ .string "two, perhaps more, POKéMON, please.$"
+
diff --git a/data/scripts/maps/SootopolisCity_Gym_B1F.inc b/data/scripts/maps/SootopolisCity_Gym_B1F.inc
new file mode 100644
index 000000000..8aaa604e2
--- /dev/null
+++ b/data/scripts/maps/SootopolisCity_Gym_B1F.inc
@@ -0,0 +1,183 @@
+SootopolisCity_Gym_B1F_MapScripts:: @ 8225C8A
+ .byte 0
+
+SootopolisCity_Gym_B1F_EventScript_225C8B:: @ 8225C8B
+ trainerbattle 0, TRAINER_ANDREA, 0, SootopolisCity_Gym_B1F_Text_225D71, SootopolisCity_Gym_B1F_Text_225DB6
+ msgbox SootopolisCity_Gym_B1F_Text_225DCF, 6
+ end
+
+SootopolisCity_Gym_B1F_EventScript_225CA2:: @ 8225CA2
+ trainerbattle 0, TRAINER_CRISSY, 0, SootopolisCity_Gym_B1F_Text_225E04, SootopolisCity_Gym_B1F_Text_225E60
+ msgbox SootopolisCity_Gym_B1F_Text_225E90, 6
+ end
+
+SootopolisCity_Gym_B1F_EventScript_225CB9:: @ 8225CB9
+ trainerbattle 0, TRAINER_BRIANNA, 0, SootopolisCity_Gym_B1F_Text_22646E, SootopolisCity_Gym_B1F_Text_226495
+ msgbox SootopolisCity_Gym_B1F_Text_2264BC, 6
+ end
+
+SootopolisCity_Gym_B1F_EventScript_225CD0:: @ 8225CD0
+ trainerbattle 0, TRAINER_CONNIE, 0, SootopolisCity_Gym_B1F_Text_225FBE, SootopolisCity_Gym_B1F_Text_225FEB
+ msgbox SootopolisCity_Gym_B1F_Text_225FFE, 6
+ end
+
+SootopolisCity_Gym_B1F_EventScript_225CE7:: @ 8225CE7
+ trainerbattle 0, TRAINER_BRIDGET, 0, SootopolisCity_Gym_B1F_Text_226061, SootopolisCity_Gym_B1F_Text_2260B6
+ msgbox SootopolisCity_Gym_B1F_Text_2260D1, 6
+ end
+
+SootopolisCity_Gym_B1F_EventScript_225CFE:: @ 8225CFE
+ trainerbattle 0, TRAINER_OLIVIA, 0, SootopolisCity_Gym_B1F_Text_226164, SootopolisCity_Gym_B1F_Text_2261A7
+ msgbox SootopolisCity_Gym_B1F_Text_2261B5, 6
+ end
+
+SootopolisCity_Gym_B1F_EventScript_225D15:: @ 8225D15
+ trainerbattle 0, TRAINER_TIFFANY, 0, SootopolisCity_Gym_B1F_Text_2261F7, SootopolisCity_Gym_B1F_Text_226274
+ msgbox SootopolisCity_Gym_B1F_Text_226286, 6
+ end
+
+SootopolisCity_Gym_B1F_EventScript_225D2C:: @ 8225D2C
+ trainerbattle 0, TRAINER_BETHANY, 0, SootopolisCity_Gym_B1F_Text_2262F3, SootopolisCity_Gym_B1F_Text_22633B
+ msgbox SootopolisCity_Gym_B1F_Text_226341, 6
+ end
+
+SootopolisCity_Gym_B1F_EventScript_225D43:: @ 8225D43
+ trainerbattle 0, TRAINER_ANNIKA, 0, SootopolisCity_Gym_B1F_Text_226388, SootopolisCity_Gym_B1F_Text_2263BD
+ msgbox SootopolisCity_Gym_B1F_Text_2263F4, 6
+ end
+
+SootopolisCity_Gym_B1F_EventScript_225D5A:: @ 8225D5A
+ trainerbattle 0, TRAINER_DAPHNE, 0, SootopolisCity_Gym_B1F_Text_225ED6, SootopolisCity_Gym_B1F_Text_225F35
+ msgbox SootopolisCity_Gym_B1F_Text_225F67, 6
+ end
+
+SootopolisCity_Gym_B1F_Text_225D71: @ 8225D71
+ .string "I’ll show you the sublime techniques\n"
+ .string "I learned from our LEADER JUAN!$"
+
+SootopolisCity_Gym_B1F_Text_225DB6: @ 8225DB6
+ .string "Please forgive me, JUAN…$"
+
+SootopolisCity_Gym_B1F_Text_225DCF: @ 8225DCF
+ .string "Watch what happens if you crack all\n"
+ .string "the floor tiles.$"
+
+SootopolisCity_Gym_B1F_Text_225E04: @ 8225E04
+ .string "You came all the way here, but you won’t\n"
+ .string "get to see JUAN.\p"
+ .string "Not if you lose to me, you won’t!$"
+
+SootopolisCity_Gym_B1F_Text_225E60: @ 8225E60
+ .string "You’re strong!\n"
+ .string "I was fooled by your cute looks!$"
+
+SootopolisCity_Gym_B1F_Text_225E90: @ 8225E90
+ .string "You might be good enough to avoid\n"
+ .string "being wiped out in one hit by JUAN.$"
+
+SootopolisCity_Gym_B1F_Text_225ED6: @ 8225ED6
+ .string "The sight of JUAN conducting\n"
+ .string "a battle…\p"
+ .string "The very beauty of it compelled me to\n"
+ .string "become a TRAINER.$"
+
+SootopolisCity_Gym_B1F_Text_225F35: @ 8225F35
+ .string "You battled with more beauty than\n"
+ .string "I could muster…$"
+
+SootopolisCity_Gym_B1F_Text_225F67: @ 8225F67
+ .string "The grace you bring to battle is\n"
+ .string "fabulous.\p"
+ .string "Oh… I’m so fortunate to have found\n"
+ .string "POKéMON.$"
+
+SootopolisCity_Gym_B1F_Text_225FBE: @ 8225FBE
+ .string "I should teach you how harsh battles\n"
+ .string "can be.$"
+
+SootopolisCity_Gym_B1F_Text_225FEB: @ 8225FEB
+ .string "Oh.\n"
+ .string "You’re strong.$"
+
+SootopolisCity_Gym_B1F_Text_225FFE: @ 8225FFE
+ .string "I’ll tell you something good.\p"
+ .string "If you want to reach JUAN, you\n"
+ .string "need to walk on each floor tile once.$"
+
+SootopolisCity_Gym_B1F_Text_226061: @ 8226061
+ .string "The POKéMON GYM of the highest level\n"
+ .string "in the HOENN region…\p"
+ .string "That’s the SOOTOPOLIS GYM.$"
+
+SootopolisCity_Gym_B1F_Text_2260B6: @ 82260B6
+ .string "What a high level you are!$"
+
+SootopolisCity_Gym_B1F_Text_2260D1: @ 82260D1
+ .string "Rather than being satisfied by being\n"
+ .string "in a strong GYM, I imagine training in\l"
+ .string "other places will make you stronger.\l"
+ .string "But above all, it looks more fun.$"
+
+SootopolisCity_Gym_B1F_Text_226164: @ 8226164
+ .string "I train my POKéMON together with\n"
+ .string "JUAN.\p"
+ .string "Don’t think I’m a pushover.$"
+
+SootopolisCity_Gym_B1F_Text_2261A7: @ 82261A7
+ .string "I was beaten…$"
+
+SootopolisCity_Gym_B1F_Text_2261B5: @ 82261B5
+ .string "I think you have potential.\n"
+ .string "Why don’t you stay and train with us?$"
+
+SootopolisCity_Gym_B1F_Text_2261F7: @ 82261F7
+ .string "A graceful glide across the ice while\n"
+ .string "crossing no lines…\p"
+ .string "A TRAINER putting on that performance\n"
+ .string "would be elegantly beautiful!$"
+
+SootopolisCity_Gym_B1F_Text_226274: @ 8226274
+ .string "Well, excuse me?!$"
+
+SootopolisCity_Gym_B1F_Text_226286: @ 8226286
+ .string "This is really obvious, but how strong\n"
+ .string "you are as a TRAINER has nothing to do\l"
+ .string "with how young or old you are.$"
+
+SootopolisCity_Gym_B1F_Text_2262F3: @ 82262F3
+ .string "When I’m with my POKéMON, the time\n"
+ .string "flies by before you can say, “Oops!”$"
+
+SootopolisCity_Gym_B1F_Text_22633B: @ 822633B
+ .string "Oops!$"
+
+SootopolisCity_Gym_B1F_Text_226341: @ 8226341
+ .string "I wish I could forget about lost causes\n"
+ .string "before I can manage an “Oops!”$"
+
+SootopolisCity_Gym_B1F_Text_226388: @ 8226388
+ .string "I can battle with really rare POKéMON\n"
+ .string "if you’d like.$"
+
+SootopolisCity_Gym_B1F_Text_2263BD: @ 82263BD
+ .string "Oh, there now! Did you have a good look\n"
+ .string "at my POKéMON?$"
+
+SootopolisCity_Gym_B1F_Text_2263F4: @ 82263F4
+ .string "I came to this GYM because JUAN\n"
+ .string "praised me for my darling POKéMON.\p"
+ .string "Oh, if only I’d met JUAN years ago\n"
+ .string "when I was younger…$"
+
+SootopolisCity_Gym_B1F_Text_22646E: @ 822646E
+ .string "Giggle…\n"
+ .string "Your grim look is so charming.$"
+
+SootopolisCity_Gym_B1F_Text_226495: @ 8226495
+ .string "Oh, dear.\n"
+ .string "I went much too easy on you.$"
+
+SootopolisCity_Gym_B1F_Text_2264BC: @ 82264BC
+ .string "You couldn’t lay a finger on JUAN,\n"
+ .string "I’m sure. Giggle…$"
+
diff --git a/data/scripts/maps/SootopolisCity_House1.inc b/data/scripts/maps/SootopolisCity_House1.inc
new file mode 100644
index 000000000..57ae7551f
--- /dev/null
+++ b/data/scripts/maps/SootopolisCity_House1.inc
@@ -0,0 +1,45 @@
+SootopolisCity_House1_MapScripts:: @ 822694C
+ .byte 0
+
+SootopolisCity_House1_EventScript_22694D:: @ 822694D
+ lock
+ faceplayer
+ checkflag FLAG_0x079
+ goto_eq SootopolisCity_House1_EventScript_226984
+ msgbox SootopolisCity_House1_Text_2269A1, 4
+ giveitem_std ITEM_TM31
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SootopolisCity_House1_EventScript_272054
+ setflag FLAG_0x079
+ msgbox SootopolisCity_House1_Text_226A13, 4
+ release
+ end
+
+SootopolisCity_House1_EventScript_226984:: @ 8226984
+ msgbox SootopolisCity_House1_Text_226A13, 4
+ release
+ end
+
+SootopolisCity_House1_EventScript_22698E:: @ 822698E
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_KECLEON, 0
+ msgbox SootopolisCity_House1_Text_226A60, 4
+ waitmoncry
+ release
+ end
+
+SootopolisCity_House1_Text_2269A1: @ 82269A1
+ .string "For thirty years I’ve remained in\n"
+ .string "SOOTOPOLIS honing my skills.\p"
+ .string "I developed a shattering TM.\n"
+ .string "I bequeath it to you!$"
+
+SootopolisCity_House1_Text_226A13: @ 8226A13
+ .string "TM31 contains BRICK BREAK! It’s a move\n"
+ .string "so horrible that I can’t describe it.$"
+
+SootopolisCity_House1_Text_226A60: @ 8226A60
+ .string "KECLEON: Puu puhyaah.$"
+
diff --git a/data/scripts/maps/SootopolisCity_House2.inc b/data/scripts/maps/SootopolisCity_House2.inc
new file mode 100644
index 000000000..974dd7892
--- /dev/null
+++ b/data/scripts/maps/SootopolisCity_House2.inc
@@ -0,0 +1,36 @@
+SootopolisCity_House2_MapScripts:: @ 8226A76
+ .byte 0
+
+SootopolisCity_House2_EventScript_226A77:: @ 8226A77
+ lock
+ faceplayer
+ msgbox SootopolisCity_House2_Text_226AAB, 5
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, SootopolisCity_House2_EventScript_226A99
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, SootopolisCity_House2_EventScript_226AA2
+ release
+ end
+
+SootopolisCity_House2_EventScript_226A99:: @ 8226A99
+ msgbox SootopolisCity_House2_Text_226AF1, 4
+ return
+
+SootopolisCity_House2_EventScript_226AA2:: @ 8226AA2
+ msgbox SootopolisCity_House2_Text_226B41, 4
+ return
+
+SootopolisCity_House2_Text_226AAB: @ 8226AAB
+ .string "MT. PYRE…\p"
+ .string "At its peak are two orbs placed side\n"
+ .string "by side. Did you know?$"
+
+SootopolisCity_House2_Text_226AF1: @ 8226AF1
+ .string "Yes, two orbs side by side…\p"
+ .string "The sight of them together…\n"
+ .string "It is somehow soothing…$"
+
+SootopolisCity_House2_Text_226B41: @ 8226B41
+ .string "Is that so?\n"
+ .string "Perhaps you ought to visit and see…$"
+
diff --git a/data/scripts/maps/SootopolisCity_House3.inc b/data/scripts/maps/SootopolisCity_House3.inc
new file mode 100644
index 000000000..e3d0c7be3
--- /dev/null
+++ b/data/scripts/maps/SootopolisCity_House3.inc
@@ -0,0 +1,43 @@
+SootopolisCity_House3_MapScripts:: @ 8226B71
+ .byte 0
+
+SootopolisCity_House3_EventScript_226B72:: @ 8226B72
+ lock
+ faceplayer
+ msgbox SootopolisCity_House3_Text_226BA4, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SootopolisCity_House3_EventScript_226B91
+ msgbox SootopolisCity_House3_Text_226C44, 4
+ release
+ end
+
+SootopolisCity_House3_EventScript_226B91:: @ 8226B91
+ msgbox SootopolisCity_House3_Text_226C20, 4
+ release
+ end
+
+SootopolisCity_House3_EventScript_226B9B:: @ 8226B9B
+ msgbox SootopolisCity_House3_Text_226C9C, 2
+ end
+
+SootopolisCity_House3_Text_226BA4: @ 8226BA4
+ .string "You’re a POKéMON TRAINER, aren’t you?\p"
+ .string "SOOTOPOLIS’s JUAN has many fans.\n"
+ .string "Even more than his student WALLACE!\p"
+ .string "Do you have any?$"
+
+SootopolisCity_House3_Text_226C20: @ 8226C20
+ .string "Oh, then you must be pretty strong.$"
+
+SootopolisCity_House3_Text_226C44: @ 8226C44
+ .string "Oh, dear…\n"
+ .string "That’s a little lonesome.\p"
+ .string "Try working a little harder to get\n"
+ .string "a fan following.$"
+
+SootopolisCity_House3_Text_226C9C: @ 8226C9C
+ .string "Dedicated fans come over from even\n"
+ .string "outside of HOENN.\p"
+ .string "It was really wild when I went to the\n"
+ .string "TRAINER FAN CLUB in LILYCOVE.$"
+
diff --git a/data/scripts/maps/SootopolisCity_House4.inc b/data/scripts/maps/SootopolisCity_House4.inc
new file mode 100644
index 000000000..e34e6991d
--- /dev/null
+++ b/data/scripts/maps/SootopolisCity_House4.inc
@@ -0,0 +1,39 @@
+SootopolisCity_House4_MapScripts:: @ 8226D15
+ .byte 0
+
+SootopolisCity_House4_EventScript_226D16:: @ 8226D16
+ msgbox SootopolisCity_House4_Text_226D3B, 2
+ end
+
+SootopolisCity_House4_EventScript_226D1F:: @ 8226D1F
+ msgbox SootopolisCity_House4_Text_226DEA, 2
+ end
+
+SootopolisCity_House4_EventScript_226D28:: @ 8226D28
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_AZUMARILL, 0
+ msgbox SootopolisCity_House4_Text_226E7F, 4
+ waitmoncry
+ release
+ end
+
+SootopolisCity_House4_Text_226D3B: @ 8226D3B
+ .string "Listen up, and I’ll tell you something\n"
+ .string "good.\p"
+ .string "There’s supposed to be an ancient\n"
+ .string "ruin in the sea around here.\p"
+ .string "There could be treasures just waiting\n"
+ .string "to be discovered down there.$"
+
+SootopolisCity_House4_Text_226DEA: @ 8226DEA
+ .string "Ancient treasures…\p"
+ .string "It would be nice if they existed, but\n"
+ .string "even if they didn’t, it would be so\l"
+ .string "beautiful to take an underwater\l"
+ .string "stroll with my POKéMON.$"
+
+SootopolisCity_House4_Text_226E7F: @ 8226E7F
+ .string "AZUMARILL: Marurii.$"
+
diff --git a/data/scripts/maps/SootopolisCity_House5.inc b/data/scripts/maps/SootopolisCity_House5.inc
new file mode 100644
index 000000000..51da02de1
--- /dev/null
+++ b/data/scripts/maps/SootopolisCity_House5.inc
@@ -0,0 +1,20 @@
+SootopolisCity_House5_MapScripts:: @ 8226E93
+ .byte 0
+
+SootopolisCity_House5_EventScript_226E94:: @ 8226E94
+ msgbox SootopolisCity_House5_Text_226EA6, 2
+ end
+
+SootopolisCity_House5_EventScript_226E9D:: @ 8226E9D
+ msgbox SootopolisCity_House5_Text_226F35, 2
+ end
+
+SootopolisCity_House5_Text_226EA6: @ 8226EA6
+ .string "There appears to be some connection\n"
+ .string "between SOOTOPOLIS and MT. PYRE.\p"
+ .string "My friends and I did some research on\n"
+ .string "it at the lab where I used to work.$"
+
+SootopolisCity_House5_Text_226F35: @ 8226F35
+ .string "My big brother used to study the sea.$"
+
diff --git a/data/scripts/maps/SootopolisCity_House6.inc b/data/scripts/maps/SootopolisCity_House6.inc
new file mode 100644
index 000000000..185ef284a
--- /dev/null
+++ b/data/scripts/maps/SootopolisCity_House6.inc
@@ -0,0 +1,56 @@
+SootopolisCity_House6_MapScripts:: @ 8226F5B
+ .byte 0
+
+SootopolisCity_House6_EventScript_226F5C:: @ 8226F5C
+ lock
+ faceplayer
+ checkflag FLAG_0x0F5
+ goto_eq SootopolisCity_House6_EventScript_226FA3
+ msgbox SootopolisCity_House6_Text_226FC3, 5
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, SootopolisCity_House6_EventScript_226F99
+ msgbox SootopolisCity_House6_Text_227034, 4
+ givedecoration_std 117
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SootopolisCity_House6_EventScript_226FAD
+ setflag FLAG_0x0F5
+ release
+ end
+
+SootopolisCity_House6_EventScript_226F99:: @ 8226F99
+ msgbox SootopolisCity_House6_Text_22708F, 4
+ release
+ end
+
+SootopolisCity_House6_EventScript_226FA3:: @ 8226FA3
+ msgbox SootopolisCity_House6_Text_2270B7, 4
+ release
+ end
+
+SootopolisCity_House6_EventScript_226FAD:: @ 8226FAD
+ bufferdecorationname 1, 117
+ msgbox gUnknown_08272B1A, 4
+ msgbox SootopolisCity_House6_Text_22704A, 4
+ release
+ end
+
+SootopolisCity_House6_Text_226FC3: @ 8226FC3
+ .string "Hello! You’re our first guest in\n"
+ .string "a good while.\p"
+ .string "You’ve brightened up my day, so I’ll\n"
+ .string "give you a big WAILMER DOLL.$"
+
+SootopolisCity_House6_Text_227034: @ 8227034
+ .string "Take good care of it!$"
+
+SootopolisCity_House6_Text_22704A: @ 822704A
+ .string "Oh, you want it, but not right now?\n"
+ .string "Okay, then I’ll hold it for you.$"
+
+SootopolisCity_House6_Text_22708F: @ 822708F
+ .string "Are you sure?\n"
+ .string "You don’t want this DOLL?$"
+
+SootopolisCity_House6_Text_2270B7: @ 82270B7
+ .string "I love plush DOLLS!$"
+
diff --git a/data/scripts/maps/SootopolisCity_House7.inc b/data/scripts/maps/SootopolisCity_House7.inc
new file mode 100644
index 000000000..9df9cde0b
--- /dev/null
+++ b/data/scripts/maps/SootopolisCity_House7.inc
@@ -0,0 +1,26 @@
+SootopolisCity_House7_MapScripts:: @ 82270CB
+ .byte 0
+
+SootopolisCity_House7_EventScript_2270CC:: @ 82270CC
+ msgbox SootopolisCity_House7_Text_2270DE, 2
+ end
+
+SootopolisCity_House7_EventScript_2270D5:: @ 82270D5
+ msgbox SootopolisCity_House7_Text_227190, 2
+ end
+
+SootopolisCity_House7_Text_2270DE: @ 82270DE
+ .string "An underwater volcano erupted and\n"
+ .string "forced itself up from the depths.\p"
+ .string "Its crater emerged from the sea and\n"
+ .string "became filled with rainwater.\p"
+ .string "That’s how SOOTOPOLIS CITY came into\n"
+ .string "being.$"
+
+SootopolisCity_House7_Text_227190: @ 8227190
+ .string "The cave that links SOOTOPOLIS and\n"
+ .string "the outside world…\p"
+ .string "It seems as if the cave was made to\n"
+ .string "keep something from getting out.\p"
+ .string "Or am I just imagining things?$"
+
diff --git a/data/scripts/maps/SootopolisCity_LotadAndSeedotHouse.inc b/data/scripts/maps/SootopolisCity_LotadAndSeedotHouse.inc
new file mode 100644
index 000000000..f8b4c6e2c
--- /dev/null
+++ b/data/scripts/maps/SootopolisCity_LotadAndSeedotHouse.inc
@@ -0,0 +1,210 @@
+SootopolisCity_LotadAndSeedotHouse_MapScripts:: @ 822722A
+ .byte 0
+
+SootopolisCity_LotadAndSeedotHouse_EventScript_22722B:: @ 822722B
+ special GetSeedotSizeRecordInfo
+ lock
+ faceplayer
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_227369, 4
+ special sub_81B94B0
+ waitstate
+ copyvar VAR_RESULT, VAR_0x8004
+ compare_var_to_value VAR_RESULT, 255
+ goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227272
+ special CompareSeedotSize
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_22727C
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227286
+ compare_var_to_value VAR_RESULT, 3
+ goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227290
+ release
+ end
+
+SootopolisCity_LotadAndSeedotHouse_EventScript_227272:: @ 8227272
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_2275BC, 4
+ release
+ end
+
+SootopolisCity_LotadAndSeedotHouse_EventScript_22727C:: @ 822727C
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_227584, 4
+ release
+ end
+
+SootopolisCity_LotadAndSeedotHouse_EventScript_227286:: @ 8227286
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_227544, 4
+ release
+ end
+
+SootopolisCity_LotadAndSeedotHouse_EventScript_227290:: @ 8227290
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_227480, 4
+ giveitem_std ITEM_ELIXIR
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_2272B2
+ closemessage
+ release
+ end
+
+SootopolisCity_LotadAndSeedotHouse_EventScript_2272B2:: @ 82272B2
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_227524, 4
+ release
+ end
+
+SootopolisCity_LotadAndSeedotHouse_EventScript_2272BC:: @ 82272BC
+ special GetLotadSizeRecordInfo
+ lock
+ faceplayer
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_227676, 4
+ special sub_81B94B0
+ waitstate
+ copyvar VAR_RESULT, VAR_0x8004
+ compare_var_to_value VAR_RESULT, 255
+ goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227303
+ special CompareLotadSize
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_22730D
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227317
+ compare_var_to_value VAR_RESULT, 3
+ goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227321
+ release
+ end
+
+SootopolisCity_LotadAndSeedotHouse_EventScript_227303:: @ 8227303
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_227896, 4
+ release
+ end
+
+SootopolisCity_LotadAndSeedotHouse_EventScript_22730D:: @ 822730D
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_227867, 4
+ release
+ end
+
+SootopolisCity_LotadAndSeedotHouse_EventScript_227317:: @ 8227317
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_22782A, 4
+ release
+ end
+
+SootopolisCity_LotadAndSeedotHouse_EventScript_227321:: @ 8227321
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_22776C, 4
+ giveitem_std ITEM_ELIXIR
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227343
+ closemessage
+ release
+ end
+
+SootopolisCity_LotadAndSeedotHouse_EventScript_227343:: @ 8227343
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_22780A, 4
+ release
+ end
+
+SootopolisCity_LotadAndSeedotHouse_EventScript_22734D:: @ 822734D
+ special GetSeedotSizeRecordInfo
+ lockall
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_227617, 4
+ releaseall
+ end
+
+SootopolisCity_LotadAndSeedotHouse_EventScript_22735B:: @ 822735B
+ special GetLotadSizeRecordInfo
+ lockall
+ msgbox SootopolisCity_LotadAndSeedotHouse_Text_2278F2, 4
+ releaseall
+ end
+
+SootopolisCity_LotadAndSeedotHouse_Text_227369: @ 8227369
+ .string "Do you know the POKéMON SEEDOT?\n"
+ .string "It’s hardly ever seen in SOOTOPOLIS.\p"
+ .string "Anyway, I love big SEEDOT.\n"
+ .string "The bigger the better.\p"
+ .string "But my younger brother, he says that\n"
+ .string "LOTAD is bigger.\p"
+ .string "That’s silly.\n"
+ .string "SEEDOT has to be bigger than that!\p"
+ .string "Huh? Do you have a SEEDOT with you?\n"
+ .string "P-p-please, show me!$"
+
+SootopolisCity_LotadAndSeedotHouse_Text_227480: @ 8227480
+ .string "{STR_VAR_2} inches!\n"
+ .string "Oh, my gosh, this is a big one!\p"
+ .string "It might even beat the big LOTAD\n"
+ .string "my younger brother saw!\p"
+ .string "Thanks for showing me.\n"
+ .string "This is my thanks!$"
+
+SootopolisCity_LotadAndSeedotHouse_Text_22750E: @ 822750E
+ .string "{PLAYER} received a POTION.$"
+
+SootopolisCity_LotadAndSeedotHouse_Text_227524: @ 8227524
+ .string "Hunh?\n"
+ .string "Your BAG is crammed full.$"
+
+SootopolisCity_LotadAndSeedotHouse_Text_227544: @ 8227544
+ .string "{STR_VAR_2} inches, is it?\p"
+ .string "Hmm… I’ve seen a bigger SEEDOT\n"
+ .string "than this one.$"
+
+SootopolisCity_LotadAndSeedotHouse_Text_227584: @ 8227584
+ .string "Oh, now this is quite something…\n"
+ .string "But it’s not a SEEDOT!$"
+
+SootopolisCity_LotadAndSeedotHouse_Text_2275BC: @ 82275BC
+ .string "You don’t have a big SEEDOT?\n"
+ .string "That’s too bad…\p"
+ .string "If you get a big SEEDOT, please\n"
+ .string "come show me.$"
+
+SootopolisCity_LotadAndSeedotHouse_Text_227617: @ 8227617
+ .string "The biggest SEEDOT in history!\n"
+ .string "{STR_VAR_2}’s {STR_VAR_3}-inch giant!\p"
+ .string "A SEEDOT bigger than a LOTAD\n"
+ .string "always wanted!$"
+
+SootopolisCity_LotadAndSeedotHouse_Text_227676: @ 8227676
+ .string "Do you know the POKéMON LOTAD?\n"
+ .string "It’s rarely seen in SOOTOPOLIS.\p"
+ .string "I love, I mean love, big LOTAD!\p"
+ .string "My big brother says that SEEDOT is\n"
+ .string "bigger.\p"
+ .string "But that’s wrong! Everyone knows that\n"
+ .string "LOTAD is a lot bigger.\p"
+ .string "Hunh? Do you have a LOTAD?\n"
+ .string "P-p-please show me!$"
+
+SootopolisCity_LotadAndSeedotHouse_Text_22776C: @ 822776C
+ .string "{STR_VAR_2} inches!\n"
+ .string "Wow, that is big!\p"
+ .string "It might be even bigger than the huge\n"
+ .string "SEEDOT my big brother saw.\p"
+ .string "Thanks for showing me!\n"
+ .string "This is my thanks!$"
+
+SootopolisCity_LotadAndSeedotHouse_Text_2277F4: @ 82277F4
+ .string "{PLAYER} received a POTION.$"
+
+SootopolisCity_LotadAndSeedotHouse_Text_22780A: @ 822780A
+ .string "Hunh?\n"
+ .string "Your BAG is crammed full.$"
+
+SootopolisCity_LotadAndSeedotHouse_Text_22782A: @ 822782A
+ .string "{STR_VAR_2} inches?\p"
+ .string "Hmm… I’ve seen a bigger LOTAD\n"
+ .string "than this one here.$"
+
+SootopolisCity_LotadAndSeedotHouse_Text_227867: @ 8227867
+ .string "Well, isn’t this something!\n"
+ .string "But it’s no LOTAD!$"
+
+SootopolisCity_LotadAndSeedotHouse_Text_227896: @ 8227896
+ .string "Don’t you have a big LOTAD?\n"
+ .string "How disappointing…\p"
+ .string "If you get a big LOTAD, please\n"
+ .string "come show me!$"
+
+SootopolisCity_LotadAndSeedotHouse_Text_2278F2: @ 82278F2
+ .string "The biggest LOTAD in history!\n"
+ .string "{STR_VAR_2}’s {STR_VAR_3}-inch colossus!\p"
+ .string "A LOTAD bigger than a SEEDOT\n"
+ .string "always wanted!$"
+
diff --git a/data/scripts/maps/SootopolisCity_Mart.inc b/data/scripts/maps/SootopolisCity_Mart.inc
new file mode 100644
index 000000000..b59ab9c93
--- /dev/null
+++ b/data/scripts/maps/SootopolisCity_Mart.inc
@@ -0,0 +1,80 @@
+SootopolisCity_Mart_MapScripts:: @ 8226794
+ .byte 0
+
+SootopolisCity_Mart_EventScript_226795:: @ 8226795
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemart SootopolisCity_Mart_Pokemart_2267AC
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+SootopolisCity_Mart_Pokemart_2267AC: @ 82267AC
+ .2byte ITEM_ULTRA_BALL
+ .2byte ITEM_HYPER_POTION
+ .2byte ITEM_MAX_POTION
+ .2byte ITEM_FULL_HEAL
+ .2byte ITEM_REVIVE
+ .2byte ITEM_MAX_REPEL
+ .2byte ITEM_X_ATTACK
+ .2byte ITEM_X_DEFEND
+ .2byte ITEM_SHADOW_MAIL
+ .2byte ITEM_NONE
+ release
+ end
+
+SootopolisCity_Mart_EventScript_2267C2:: @ 82267C2
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x40CA, 2
+ goto_if 4, SootopolisCity_Mart_EventScript_2267E2
+ checkflag FLAG_0x081
+ goto_if 0, SootopolisCity_Mart_EventScript_2267E2
+ msgbox SootopolisCity_Mart_Text_22685D, 4
+ release
+ end
+
+SootopolisCity_Mart_EventScript_2267E2:: @ 82267E2
+ msgbox SootopolisCity_Mart_Text_226816, 4
+ release
+ end
+
+SootopolisCity_Mart_EventScript_2267EC:: @ 82267EC
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x40CA, 2
+ goto_if 4, SootopolisCity_Mart_EventScript_22680C
+ checkflag FLAG_0x081
+ goto_if 0, SootopolisCity_Mart_EventScript_22680C
+ msgbox SootopolisCity_Mart_Text_226928, 4
+ release
+ end
+
+SootopolisCity_Mart_EventScript_22680C:: @ 822680C
+ msgbox SootopolisCity_Mart_Text_2268AF, 4
+ release
+ end
+
+SootopolisCity_Mart_Text_226816: @ 8226816
+ .string "PP UP is great!\p"
+ .string "It raises the POWER POINTS, the PP,\n"
+ .string "of a POKéMON move.$"
+
+SootopolisCity_Mart_Text_22685D: @ 822685D
+ .string "What…\n"
+ .string "What is happening?\p"
+ .string "I really want to know, but it’s too\n"
+ .string "scary to go outside.$"
+
+SootopolisCity_Mart_Text_2268AF: @ 82268AF
+ .string "Do you know FULL RESTORE?\p"
+ .string "Full restoration of HP!\n"
+ .string "Eradication of all status problems!\p"
+ .string "It’s truly an item of your dreams!$"
+
+SootopolisCity_Mart_Text_226928: @ 8226928
+ .string "This weather…\n"
+ .string "Did something awaken?$"
+
diff --git a/data/scripts/maps/SootopolisCity_MysteryEventsHouse_1F.inc b/data/scripts/maps/SootopolisCity_MysteryEventsHouse_1F.inc
new file mode 100644
index 000000000..ccd4558fd
--- /dev/null
+++ b/data/scripts/maps/SootopolisCity_MysteryEventsHouse_1F.inc
@@ -0,0 +1,241 @@
+SootopolisCity_MysteryEventsHouse_1F_MapScripts:: @ 8227953
+ map_script 3, SootopolisCity_MysteryEventsHouse_1F_MapScript1_22795E
+ map_script 2, SootopolisCity_MysteryEventsHouse_1F_MapScript2_22799D
+ .byte 0
+
+SootopolisCity_MysteryEventsHouse_1F_MapScript1_22795E: @ 822795E
+ setvar VAR_0x8004, 16
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_22797D
+ compare_var_to_value VAR_0x40C0, 0
+ call_if 5, SootopolisCity_MysteryEventsHouse_1F_EventScript_227991
+ end
+
+SootopolisCity_MysteryEventsHouse_1F_EventScript_22797D:: @ 822797D
+ setvar VAR_0x4001, 1
+ setobjectxyperm 1, 3, 2
+ setobjectmovementtype 1, 8
+ setmaplayoutindex 441
+ return
+
+SootopolisCity_MysteryEventsHouse_1F_EventScript_227991:: @ 8227991
+ setobjectxyperm 1, 2, 2
+ setobjectmovementtype 1, 10
+ return
+
+SootopolisCity_MysteryEventsHouse_1F_MapScript2_22799D: @ 822799D
+ map_script_2 VAR_0x40C0, 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7
+ map_script_2 VAR_0x40C0, 2, SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7
+ map_script_2 VAR_0x40C0, 3, SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7
+ .2byte 0
+
+SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7:: @ 82279B7
+ lockall
+ applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_227A1F
+ waitmovement 0
+ applymovement 1, SootopolisCity_MysteryEventsHouse_1F_Movement_227A21
+ waitmovement 0
+ moveobjectoffscreen 1
+ applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_2725A6
+ waitmovement 0
+ compare_var_to_value VAR_0x40C0, 1
+ call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227A04
+ compare_var_to_value VAR_0x40C0, 2
+ call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227A0D
+ compare_var_to_value VAR_0x40C0, 3
+ call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227A16
+ special copy_player_party_from_sav1
+ setvar VAR_0x40C0, 0
+ releaseall
+ end
+
+SootopolisCity_MysteryEventsHouse_1F_EventScript_227A04:: @ 8227A04
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227DB8, 4
+ return
+
+SootopolisCity_MysteryEventsHouse_1F_EventScript_227A0D:: @ 8227A0D
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227E03, 4
+ return
+
+SootopolisCity_MysteryEventsHouse_1F_EventScript_227A16:: @ 8227A16
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227D5B, 4
+ return
+
+SootopolisCity_MysteryEventsHouse_1F_Movement_227A1F: @ 8227A1F
+ step_down
+ step_end
+
+SootopolisCity_MysteryEventsHouse_1F_Movement_227A21: @ 8227A21
+ step_right
+ step_25
+ step_end
+
+SootopolisCity_MysteryEventsHouse_1F_EventScript_227A24:: @ 8227A24
+ lock
+ faceplayer
+ setvar VAR_0x8004, 16
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A4E
+ compare_var_to_value VAR_0x4001, 1
+ goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227B46, 4
+ release
+ end
+
+SootopolisCity_MysteryEventsHouse_1F_EventScript_227A4E:: @ 8227A4E
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227B46, 4
+ release
+ end
+
+SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58:: @ 8227A58
+ special copy_player_party_to_sav1
+ special sub_8139238
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227BFC, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
+ call SootopolisCity_MysteryEventsHouse_1F_EventScript_227AEF
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227CEB, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
+ special copy_player_party_from_sav1
+ call SootopolisCity_MysteryEventsHouse_1F_EventScript_27134F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
+ special copy_player_party_to_sav1
+ special sub_80F94E8
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227D21, 4
+ closemessage
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227AFE
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227B10
+ compare_var_to_value VAR_FACING, 3
+ call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227B22
+ warp SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_B1F, 255, 3, 1
+ waitstate
+ release
+ end
+
+SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2:: @ 8227AE2
+ special copy_player_party_from_sav1
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227C44, 4
+ release
+ end
+
+SootopolisCity_MysteryEventsHouse_1F_EventScript_227AEF:: @ 8227AEF
+ msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227C84, 4
+ fadescreen 1
+ special sub_80F9438
+ waitstate
+ return
+
+SootopolisCity_MysteryEventsHouse_1F_EventScript_227AFE:: @ 8227AFE
+ applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_227B40
+ applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_227B34
+ waitmovement 0
+ return
+
+SootopolisCity_MysteryEventsHouse_1F_EventScript_227B10:: @ 8227B10
+ applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_227B43
+ applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_227B38
+ waitmovement 0
+ return
+
+SootopolisCity_MysteryEventsHouse_1F_EventScript_227B22:: @ 8227B22
+ applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_227B40
+ applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_227B3C
+ waitmovement 0
+ return
+
+SootopolisCity_MysteryEventsHouse_1F_Movement_227B34: @ 8227B34
+ step_14
+ step_up
+ step_up
+ step_end
+
+SootopolisCity_MysteryEventsHouse_1F_Movement_227B38: @ 8227B38
+ step_14
+ step_right
+ step_up
+ step_end
+
+SootopolisCity_MysteryEventsHouse_1F_Movement_227B3C: @ 8227B3C
+ step_14
+ step_left
+ step_up
+ step_end
+
+SootopolisCity_MysteryEventsHouse_1F_Movement_227B40: @ 8227B40
+ step_left
+ step_28
+ step_end
+
+SootopolisCity_MysteryEventsHouse_1F_Movement_227B43: @ 8227B43
+ step_right
+ step_27
+ step_end
+
+SootopolisCity_MysteryEventsHouse_1F_Text_227B46: @ 8227B46
+ .string "When I was young, I traveled the world\n"
+ .string "as a POKéMON TRAINER.\p"
+ .string "Now that I’ve become an old buzzard,\n"
+ .string "my only amusement is watching young\l"
+ .string "TRAINERS battle.$"
+
+SootopolisCity_MysteryEventsHouse_1F_Text_227BDD: @ 8227BDD
+ .string "The door appears to be locked.$"
+
+SootopolisCity_MysteryEventsHouse_1F_Text_227BFC: @ 8227BFC
+ .string "A TRAINER named {STR_VAR_1}\n"
+ .string "is visiting my home.\p"
+ .string "Would you like to challenge\n"
+ .string "{STR_VAR_1}?$"
+
+SootopolisCity_MysteryEventsHouse_1F_Text_227C44: @ 8227C44
+ .string "You won’t battle? I’m disappointed\n"
+ .string "that I can’t see you battle…$"
+
+SootopolisCity_MysteryEventsHouse_1F_Text_227C84: @ 8227C84
+ .string "Oh, good, good!\p"
+ .string "But my house isn’t all that sturdy.\p"
+ .string "Could I ask you to keep it down to\n"
+ .string "a 3-on-3 match?$"
+
+SootopolisCity_MysteryEventsHouse_1F_Text_227CEB: @ 8227CEB
+ .string "Before you two battle, you should\n"
+ .string "save your progress.$"
+
+SootopolisCity_MysteryEventsHouse_1F_Text_227D21: @ 8227D21
+ .string "I hope to see a good match!$"
+
+SootopolisCity_MysteryEventsHouse_1F_Text_227D3D: @ 8227D3D
+ .string "{STR_VAR_1}$"
+
+SootopolisCity_MysteryEventsHouse_B1F_Text_227D40: @ 8227D40
+ .string "The match ended up a draw.$"
+
+SootopolisCity_MysteryEventsHouse_1F_Text_227D5B: @ 8227D5B
+ .string "So, it became a standoff.\p"
+ .string "It was a brilliant match in which\n"
+ .string "neither side conceded a step!$"
+
+SootopolisCity_MysteryEventsHouse_1F_Text_227DB5: @ 8227DB5
+ .string "{STR_VAR_1}$"
+
+SootopolisCity_MysteryEventsHouse_1F_Text_227DB8: @ 8227DB8
+ .string "That was superlative!\p"
+ .string "Why, it was like seeing myself in\n"
+ .string "my youth again!$"
+
+SootopolisCity_MysteryEventsHouse_1F_Text_227E00: @ 8227E00
+ .string "{STR_VAR_1}$"
+
+SootopolisCity_MysteryEventsHouse_1F_Text_227E03: @ 8227E03
+ .string "Ah, too bad for you!\p"
+ .string "But it was a good match.\n"
+ .string "I hope you can win next time.$"
+
diff --git a/data/scripts/maps/SootopolisCity_MysteryEventsHouse_B1F.inc b/data/scripts/maps/SootopolisCity_MysteryEventsHouse_B1F.inc
new file mode 100644
index 000000000..94733f189
--- /dev/null
+++ b/data/scripts/maps/SootopolisCity_MysteryEventsHouse_B1F.inc
@@ -0,0 +1,78 @@
+SootopolisCity_MysteryEventsHouse_B1F_MapScripts:: @ 8227E4F
+ map_script 3, SootopolisCity_MysteryEventsHouse_B1F_MapScript1_227E5A
+ map_script 2, SootopolisCity_MysteryEventsHouse_B1F_MapScript2_227E5E
+ .byte 0
+
+SootopolisCity_MysteryEventsHouse_B1F_MapScript1_227E5A: @ 8227E5A
+ special sub_8162794
+ end
+
+SootopolisCity_MysteryEventsHouse_B1F_MapScript2_227E5E: @ 8227E5E
+ map_script_2 VAR_0x4001, 0, SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68
+ .2byte 0
+
+SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68:: @ 8227E68
+ lockall
+ applymovement 255, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF3
+ waitmovement 0
+ special sub_8165360
+ msgbox 0x2021fc4, 4
+ closemessage
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ special sub_8163AC4
+ waitstate
+ compare_var_to_value VAR_RESULT, 3
+ call_if 1, SootopolisCity_MysteryEventsHouse_B1F_EventScript_227ECF
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EDD
+ compare_var_to_value VAR_RESULT, 2
+ call_if 1, SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EE8
+ closemessage
+ special sp000_heal_pokemon
+ applymovement 255, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF9
+ waitmovement 0
+ special copy_player_party_from_sav1
+ setvar VAR_0x4001, 1
+ warp SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F, 255, 3, 1
+ waitstate
+ releaseall
+ end
+
+SootopolisCity_MysteryEventsHouse_B1F_EventScript_227ECF:: @ 8227ECF
+ setvar VAR_0x40C0, 3
+ msgbox SootopolisCity_MysteryEventsHouse_B1F_Text_227D40, 4
+ return
+
+SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EDD:: @ 8227EDD
+ setvar VAR_0x40C0, 1
+ special sub_8138AC0
+ waitmessage
+ waitbuttonpress
+ return
+
+SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EE8:: @ 8227EE8
+ setvar VAR_0x40C0, 2
+ special sub_8138AC0
+ waitmessage
+ waitbuttonpress
+ return
+
+SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF3: @ 8227EF3
+ step_down
+ step_down
+ step_down
+ step_right
+ step_right
+ step_end
+
+SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF9: @ 8227EF9
+ step_left
+ step_left
+ step_up
+ step_up
+ step_up
+ step_up
+ step_13
+ step_end
+
diff --git a/data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc b/data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc
new file mode 100644
index 000000000..b1b405335
--- /dev/null
+++ b/data/scripts/maps/SootopolisCity_PokemonCenter_1F.inc
@@ -0,0 +1,74 @@
+SootopolisCity_PokemonCenter_1F_MapScripts:: @ 82264F1
+ map_script 3, SootopolisCity_PokemonCenter_1F_MapScript1_2264FC
+ map_script 5, SootopolisCity_PokemonCenter_1F_MapScript1_277C30
+ .byte 0
+
+SootopolisCity_PokemonCenter_1F_MapScript1_2264FC: @ 82264FC
+ setrespawn 10
+ end
+
+SootopolisCity_PokemonCenter_1F_EventScript_226500:: @ 8226500
+ setvar VAR_0x800B, 1
+ call SootopolisCity_PokemonCenter_1F_EventScript_27191E
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+SootopolisCity_PokemonCenter_1F_EventScript_22650E:: @ 822650E
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x40CA, 2
+ goto_if 4, SootopolisCity_PokemonCenter_1F_EventScript_22652E
+ checkflag FLAG_0x081
+ goto_if 0, SootopolisCity_PokemonCenter_1F_EventScript_22652E
+ msgbox SootopolisCity_PokemonCenter_1F_Text_22664B, 4
+ release
+ end
+
+SootopolisCity_PokemonCenter_1F_EventScript_22652E:: @ 822652E
+ msgbox SootopolisCity_PokemonCenter_1F_Text_226562, 4
+ release
+ end
+
+SootopolisCity_PokemonCenter_1F_EventScript_226538:: @ 8226538
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x40CA, 2
+ goto_if 4, SootopolisCity_PokemonCenter_1F_EventScript_226558
+ checkflag FLAG_0x081
+ goto_if 0, SootopolisCity_PokemonCenter_1F_EventScript_226558
+ msgbox SootopolisCity_PokemonCenter_1F_Text_22672F, 4
+ release
+ end
+
+SootopolisCity_PokemonCenter_1F_EventScript_226558:: @ 8226558
+ msgbox SootopolisCity_PokemonCenter_1F_Text_2266B9, 4
+ release
+ end
+
+SootopolisCity_PokemonCenter_1F_Text_226562: @ 8226562
+ .string "WALLACE is rumored to be the toughest\n"
+ .string "TRAINER in the whole HOENN region.\p"
+ .string "This town’s GYM is led by the TRAINER\n"
+ .string "who taught WALLACE.\p"
+ .string "But the ELITE FOUR… They’re said to be\n"
+ .string "even stronger than WALLACE’s mentor.\p"
+ .string "How strong could they be?$"
+
+SootopolisCity_PokemonCenter_1F_Text_22664B: @ 822664B
+ .string "Everyone in town has taken refuge\n"
+ .string "and won’t come out of their homes.\p"
+ .string "Even I would rather not venture\n"
+ .string "outside.$"
+
+SootopolisCity_PokemonCenter_1F_Text_2266B9: @ 82266B9
+ .string "Whenever, wherever, and whatever\n"
+ .string "happens, I will always be friends with\l"
+ .string "POKéMON.\p"
+ .string "Because it’s fun to be with POKéMON!$"
+
+SootopolisCity_PokemonCenter_1F_Text_22672F: @ 822672F
+ .string "Aren’t POKéMON our friends?\p"
+ .string "Why are they going wild this way?$"
+
diff --git a/data/scripts/maps/SootopolisCity_PokemonCenter_2F.inc b/data/scripts/maps/SootopolisCity_PokemonCenter_2F.inc
new file mode 100644
index 000000000..43d8a9d2f
--- /dev/null
+++ b/data/scripts/maps/SootopolisCity_PokemonCenter_2F.inc
@@ -0,0 +1,19 @@
+SootopolisCity_PokemonCenter_2F_MapScripts:: @ 822676D
+ map_script 2, SootopolisCity_PokemonCenter_2F_MapScript2_276C3B
+ map_script 4, SootopolisCity_PokemonCenter_2F_MapScript2_276B6C
+ map_script 1, SootopolisCity_PokemonCenter_2F_MapScript1_276BBE
+ map_script 3, SootopolisCity_PokemonCenter_2F_MapScript1_276ACF
+ .byte 0
+
+SootopolisCity_PokemonCenter_2F_EventScript_226782:: @ 8226782
+ call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+ end
+
+SootopolisCity_PokemonCenter_2F_EventScript_226788:: @ 8226788
+ call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+ end
+
+SootopolisCity_PokemonCenter_2F_EventScript_22678E:: @ 822678E
+ call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+ end
+
diff --git a/data/scripts/maps/SouthernIsland_Exterior.inc b/data/scripts/maps/SouthernIsland_Exterior.inc
new file mode 100644
index 000000000..de56c294b
--- /dev/null
+++ b/data/scripts/maps/SouthernIsland_Exterior.inc
@@ -0,0 +1,55 @@
+SouthernIsland_Exterior_MapScripts:: @ 82429C8
+ map_script 3, SouthernIsland_Exterior_MapScript1_2429CE
+ .byte 0
+
+SouthernIsland_Exterior_MapScript1_2429CE: @ 82429CE
+ setflag FLAG_UNLOCK_SOUTHERN_ISLAND
+ end
+
+SouthernIsland_Exterior_EventScript_2429D2:: @ 82429D2
+ lock
+ faceplayer
+ msgbox SouthernIsland_Exterior_Text_2A69F1, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SouthernIsland_Exterior_EventScript_242A17
+ msgbox SouthernIsland_Exterior_Text_2A6A5D, 4
+ closemessage
+ applymovement VAR_LAST_TALKED, SouthernIsland_Exterior_Movement_2725AA
+ waitmovement 0
+ delay 30
+ hideobjectat 1, SOUTHERN_ISLAND_EXTERIOR
+ setvar VAR_0x8004, 2
+ call SouthernIsland_Exterior_EventScript_272250
+ warp LILYCOVE_CITY_HARBOR, 255, 8, 11
+ waitstate
+ release
+ end
+
+SouthernIsland_Exterior_EventScript_242A17:: @ 8242A17
+ msgbox SouthernIsland_Exterior_Text_2A6A82, 4
+ release
+ end
+
+BattleFrontier_OutsideWest_EventScript_242A21:: @ 8242A21
+ applymovement 255, BattleFrontier_OutsideWest_Movement_242A37
+ waitmovement 0
+ return
+
+BattleFrontier_OutsideWest_EventScript_242A2C:: @ 8242A2C
+ applymovement 255, BattleFrontier_OutsideWest_Movement_242A39
+ waitmovement 0
+ return
+
+BattleFrontier_OutsideWest_Movement_242A37: @ 8242A37
+ step_down
+ step_end
+
+BattleFrontier_OutsideWest_Movement_242A39: @ 8242A39
+ step_left
+ step_25
+ step_end
+
+SouthernIsland_Exterior_EventScript_242A3C:: @ 8242A3C
+ msgbox SouthernIsland_Exterior_Text_2A6AD5, 3
+ end
+
diff --git a/data/scripts/maps/SouthernIsland_Interior.inc b/data/scripts/maps/SouthernIsland_Interior.inc
new file mode 100644
index 000000000..1853c08b8
--- /dev/null
+++ b/data/scripts/maps/SouthernIsland_Interior.inc
@@ -0,0 +1,167 @@
+SouthernIsland_Interior_MapScripts:: @ 8242A45
+ map_script 5, SouthernIsland_Interior_MapScript1_242A50
+ map_script 3, SouthernIsland_Interior_MapScript1_242A6E
+ .byte 0
+
+SouthernIsland_Interior_MapScript1_242A50: @ 8242A50
+ checkflag FLAG_SYS_CTRL_OBJ_DELETE
+ call_if 1, SouthernIsland_Interior_EventScript_242A5A
+ end
+
+SouthernIsland_Interior_EventScript_242A5A:: @ 8242A5A
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 7
+ goto_if 5, SouthernIsland_Interior_EventScript_27374E
+ removeobject 2
+ return
+
+SouthernIsland_Interior_MapScript1_242A6E: @ 8242A6E
+ compare_var_to_value VAR_0x40D5, 0
+ call_if 1, SouthernIsland_Interior_EventScript_242A8A
+ compare_var_to_value VAR_0x40D5, 0
+ call_if 5, SouthernIsland_Interior_EventScript_242A95
+ call SouthernIsland_Interior_EventScript_242AA0
+ end
+
+SouthernIsland_Interior_EventScript_242A8A:: @ 8242A8A
+ setvar VAR_0x4011, 188
+ setvar VAR_0x4004, 408
+ return
+
+SouthernIsland_Interior_EventScript_242A95:: @ 8242A95
+ setvar VAR_0x4011, 187
+ setvar VAR_0x4004, 407
+ return
+
+SouthernIsland_Interior_EventScript_242AA0:: @ 8242AA0
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq SouthernIsland_Interior_EventScript_242AB8
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SouthernIsland_Interior_EventScript_242ABE
+ end
+
+SouthernIsland_Interior_EventScript_242AB8:: @ 8242AB8
+ setvar VAR_0x4010, 100
+ return
+
+SouthernIsland_Interior_EventScript_242ABE:: @ 8242ABE
+ setvar VAR_0x4010, 105
+ return
+
+SouthernIsland_Interior_EventScript_242AC4:: @ 8242AC4
+ lockall
+ setvar VAR_0x8008, 12
+ goto SouthernIsland_Interior_EventScript_242AD0
+ end
+
+SouthernIsland_Interior_EventScript_242AD0:: @ 8242AD0
+ checkflag FLAG_0x002
+ goto_eq SouthernIsland_Interior_EventScript_242B9A
+ checkflag FLAG_0x1C8
+ goto_eq SouthernIsland_Interior_EventScript_242B9A
+ checkflag FLAG_0x1C9
+ goto_eq SouthernIsland_Interior_EventScript_242B9A
+ checkflag FLAG_SYS_HAS_EON_TICKET
+ goto_if 0, SouthernIsland_Interior_EventScript_242B9A
+ setflag FLAG_0x0CE
+ setflag FLAG_0x002
+ special SpawnScriptFieldObject
+ applymovement 127, SouthernIsland_Interior_Movement_242BCA
+ waitmovement 0
+ delay 50
+ waitse
+ playmoncry VAR_0x4004, 0
+ delay 30
+ waitmoncry
+ addobject 2
+ delay 30
+ applymovement 127, SouthernIsland_Interior_Movement_242BCE
+ applymovement 2, SouthernIsland_Interior_Movement_242BDA
+ waitmovement 0
+ delay 50
+ special RemoveScriptFieldObject
+ setvar VAR_LAST_TALKED, 2
+ compare_var_to_value VAR_0x40D5, 0
+ call_if 1, SouthernIsland_Interior_EventScript_242BA4
+ compare_var_to_value VAR_0x40D5, 0
+ call_if 5, SouthernIsland_Interior_EventScript_242BB7
+ setflag FLAG_SYS_CTRL_OBJ_DELETE
+ special sub_80B08EC
+ waitstate
+ clearflag FLAG_SYS_CTRL_OBJ_DELETE
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq SouthernIsland_Interior_EventScript_242B81
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq SouthernIsland_Interior_EventScript_242B8F
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq SouthernIsland_Interior_EventScript_242B8F
+ setflag FLAG_0x1C9
+ releaseall
+ end
+
+SouthernIsland_Interior_EventScript_242B81:: @ 8242B81
+ setflag FLAG_0x1C8
+ copyvar VAR_0x8004, VAR_0x4004
+ goto SouthernIsland_Interior_EventScript_273776
+ end
+
+SouthernIsland_Interior_EventScript_242B8F:: @ 8242B8F
+ copyvar VAR_0x8004, VAR_0x4004
+ goto SouthernIsland_Interior_EventScript_273776
+ end
+
+SouthernIsland_Interior_EventScript_242B9A:: @ 8242B9A
+ msgbox SouthernIsland_Interior_Text_2A6AA1, 4
+ releaseall
+ end
+
+SouthernIsland_Interior_EventScript_242BA4:: @ 8242BA4
+ setvar VAR_0x8004, 408
+ setvar VAR_0x8005, 50
+ setvar VAR_0x8006, 191
+ special DoScriptedWildBattle
+ return
+
+SouthernIsland_Interior_EventScript_242BB7:: @ 8242BB7
+ setvar VAR_0x8004, 407
+ setvar VAR_0x8005, 50
+ setvar VAR_0x8006, 191
+ special DoScriptedWildBattle
+ return
+
+SouthernIsland_Interior_Movement_242BCA: @ 8242BCA
+ step_up
+ step_up
+ step_up
+ step_end
+
+SouthernIsland_Interior_Movement_242BCE: @ 8242BCE
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_14
+ step_down
+ step_down
+ step_down
+ step_26
+ step_end
+
+SouthernIsland_Interior_Movement_242BDA: @ 8242BDA
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_14
+ step_14
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
diff --git a/data/scripts/maps/TerraCave_End.inc b/data/scripts/maps/TerraCave_End.inc
new file mode 100644
index 000000000..a39856dda
--- /dev/null
+++ b/data/scripts/maps/TerraCave_End.inc
@@ -0,0 +1,78 @@
+TerraCave_End_MapScripts:: @ 823B0B0
+ map_script 5, TerraCave_End_MapScript1_23B0BB
+ map_script 3, TerraCave_End_MapScript1_23B0D9
+ .byte 0
+
+TerraCave_End_MapScript1_23B0BB: @ 823B0BB
+ checkflag FLAG_SYS_CTRL_OBJ_DELETE
+ call_if 1, TerraCave_End_EventScript_23B0C5
+ end
+
+TerraCave_End_EventScript_23B0C5:: @ 823B0C5
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 7
+ goto_if 5, TerraCave_End_EventScript_27374E
+ removeobject 1
+ return
+
+TerraCave_End_MapScript1_23B0D9: @ 823B0D9
+ checkflag FLAG_0x1BF
+ call_if 0, TerraCave_End_EventScript_23B0E3
+ end
+
+TerraCave_End_EventScript_23B0E3:: @ 823B0E3
+ clearflag FLAG_0x30F
+ setvar VAR_0x4001, 1
+ return
+
+TerraCave_End_EventScript_23B0EC:: @ 823B0EC
+ lockall
+ applymovement 255, TerraCave_End_Movement_2725B2
+ waitmovement 0
+ applymovement 1, TerraCave_End_Movement_23B16E
+ waitmovement 0
+ waitse
+ playmoncry SPECIES_GROUDON, 2
+ delay 40
+ waitmoncry
+ setvar VAR_LAST_TALKED, 1
+ setwildbattle SPECIES_GROUDON, 70, ITEM_NONE
+ setflag FLAG_SYS_CTRL_OBJ_DELETE
+ special sub_80B0934
+ waitstate
+ clearflag FLAG_SYS_CTRL_OBJ_DELETE
+ setvar VAR_0x4001, 0
+ specialvar VAR_RESULT, sub_8138B80
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq TerraCave_End_EventScript_23B155
+ compare_var_to_value VAR_RESULT, 4
+ goto_eq TerraCave_End_EventScript_23B163
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq TerraCave_End_EventScript_23B163
+ setvar VAR_0x4039, 1
+ setflag FLAG_0x1BF
+ releaseall
+ end
+
+TerraCave_End_EventScript_23B155:: @ 823B155
+ setvar VAR_0x4039, 1
+ setflag FLAG_0x1BF
+ goto TerraCave_End_EventScript_27376D
+ end
+
+TerraCave_End_EventScript_23B163:: @ 823B163
+ setvar VAR_0x8004, 405
+ goto TerraCave_End_EventScript_273776
+ end
+
+TerraCave_End_Movement_23B16E: @ 823B16E
+ step_5e
+ step_62
+ step_14
+ step_14
+ step_63
+ step_14
+ step_14
+ step_63
+ step_end
+
diff --git a/data/scripts/maps/TerraCave_Entrance.inc b/data/scripts/maps/TerraCave_Entrance.inc
new file mode 100644
index 000000000..1762265ea
--- /dev/null
+++ b/data/scripts/maps/TerraCave_Entrance.inc
@@ -0,0 +1,8 @@
+TerraCave_Entrance_MapScripts:: @ 823B0A6
+ map_script 3, TerraCave_Entrance_MapScript1_23B0AC
+ .byte 0
+
+TerraCave_Entrance_MapScript1_23B0AC: @ 823B0AC
+ setflag FLAG_0x8DA
+ end
+
diff --git a/data/scripts/maps/TradeCenter.inc b/data/scripts/maps/TradeCenter.inc
new file mode 100644
index 000000000..e0e0e7d1e
--- /dev/null
+++ b/data/scripts/maps/TradeCenter.inc
@@ -0,0 +1,3 @@
+TradeCenter_MapScripts:: @ 823B77E
+ .byte 0
+
diff --git a/data/scripts/maps/TrainerHill_1F.inc b/data/scripts/maps/TrainerHill_1F.inc
new file mode 100644
index 000000000..465a6d781
--- /dev/null
+++ b/data/scripts/maps/TrainerHill_1F.inc
@@ -0,0 +1,6 @@
+TrainerHill_1F_MapScripts:: @ 8268F71
+ map_script 5, TrainerHill_1F_MapScript1_2C8336
+ map_script 4, TrainerHill_1F_MapScript2_2C8372
+ map_script 2, TrainerHill_1F_MapScript2_2C8381
+ .byte 0
+
diff --git a/data/scripts/maps/TrainerHill_2F.inc b/data/scripts/maps/TrainerHill_2F.inc
new file mode 100644
index 000000000..ca8eeff72
--- /dev/null
+++ b/data/scripts/maps/TrainerHill_2F.inc
@@ -0,0 +1,6 @@
+TrainerHill_2F_MapScripts:: @ 8268F81
+ map_script 5, TrainerHill_2F_MapScript1_2C8336
+ map_script 4, TrainerHill_2F_MapScript2_2C8372
+ map_script 2, TrainerHill_2F_MapScript2_2C8381
+ .byte 0
+
diff --git a/data/scripts/maps/TrainerHill_3F.inc b/data/scripts/maps/TrainerHill_3F.inc
new file mode 100644
index 000000000..921a8d808
--- /dev/null
+++ b/data/scripts/maps/TrainerHill_3F.inc
@@ -0,0 +1,5 @@
+TrainerHill_3F_MapScripts:: @ 8268F91
+ map_script 5, TrainerHill_3F_MapScript1_2C8336
+ map_script 2, TrainerHill_3F_MapScript2_2C8381
+ .byte 0
+
diff --git a/data/scripts/maps/TrainerHill_4F.inc b/data/scripts/maps/TrainerHill_4F.inc
new file mode 100644
index 000000000..0f710152c
--- /dev/null
+++ b/data/scripts/maps/TrainerHill_4F.inc
@@ -0,0 +1,5 @@
+TrainerHill_4F_MapScripts:: @ 8268F9C
+ map_script 5, TrainerHill_4F_MapScript1_2C8336
+ map_script 2, TrainerHill_4F_MapScript2_2C8381
+ .byte 0
+
diff --git a/data/scripts/maps/TrainerHill_Elevator.inc b/data/scripts/maps/TrainerHill_Elevator.inc
new file mode 100644
index 000000000..5efad0b86
--- /dev/null
+++ b/data/scripts/maps/TrainerHill_Elevator.inc
@@ -0,0 +1,87 @@
+TrainerHill_Elevator_MapScripts:: @ 826934F
+ map_script 2, TrainerHill_Elevator_MapScript2_269355
+ .byte 0
+
+TrainerHill_Elevator_MapScript2_269355: @ 8269355
+ map_script_2 VAR_0x4004, 0, TrainerHill_Elevator_EventScript_269375
+ .2byte 0
+
+TrainerHill_Elevator_EventScript_26935F:: @ 826935F
+ end
+
+TrainerHill_Elevator_EventScript_269360:: @ 8269360
+ applymovement 255, TrainerHill_Elevator_Movement_2693EB
+ waitmovement 0
+ releaseall
+ warp TRAINER_HILL_ROOF, 255, 15, 5
+ waitstate
+ end
+
+TrainerHill_Elevator_EventScript_269375:: @ 8269375
+ applymovement 255, TrainerHill_Elevator_Movement_2693E4
+ waitmovement 0
+ applymovement 1, TrainerHill_Elevator_Movement_2693EE
+ waitmovement 0
+ lockall
+ msgbox TrainerHill_Elevator_Text_268F3E, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq TrainerHill_Elevator_EventScript_269360
+ releaseall
+ applymovement 1, TrainerHill_Elevator_Movement_2693F0
+ waitmovement 0
+ applymovement 255, TrainerHill_Elevator_Movement_2693DF
+ waitmovement 0
+ call TrainerHill_Elevator_EventScript_2693D9
+ delay 25
+ applymovement 255, TrainerHill_Elevator_Movement_2693E7
+ waitmovement 0
+ warp TRAINER_HILL_ENTRANCE, 255, 17, 8
+ waitstate
+ end
+
+TrainerHill_Elevator_EventScript_2693CE:: @ 82693CE
+ goto TrainerHill_Elevator_EventScript_2693D4
+ end
+
+TrainerHill_Elevator_EventScript_2693D4:: @ 82693D4
+ special sub_8139C10
+ releaseall
+ end
+
+TrainerHill_Elevator_EventScript_2693D9:: @ 82693D9
+ waitse
+ special sub_8139A78
+ waitstate
+ return
+
+TrainerHill_Elevator_Movement_2693DF: @ 82693DF
+ step_up
+ step_up
+ step_right
+ step_00
+ step_end
+
+TrainerHill_Elevator_Movement_2693E4: @ 82693E4
+ step_14
+ step_left
+ step_end
+
+TrainerHill_Elevator_Movement_2693E7: @ 82693E7
+ step_14
+ step_down
+ step_down
+ step_end
+
+TrainerHill_Elevator_Movement_2693EB: @ 82693EB
+ step_00
+ step_14
+ step_end
+
+TrainerHill_Elevator_Movement_2693EE: @ 82693EE
+ step_03
+ step_end
+
+TrainerHill_Elevator_Movement_2693F0: @ 82693F0
+ step_00
+ step_end
+
diff --git a/data/scripts/maps/TrainerHill_Entrance.inc b/data/scripts/maps/TrainerHill_Entrance.inc
new file mode 100644
index 000000000..d4cc8a2ba
--- /dev/null
+++ b/data/scripts/maps/TrainerHill_Entrance.inc
@@ -0,0 +1,476 @@
+TrainerHill_Entrance_MapScripts:: @ 82680AC
+ map_script 5, TrainerHill_Entrance_MapScript1_2680D0
+ map_script 7, TrainerHill_Entrance_MapScript1_26811B
+ map_script 3, TrainerHill_Entrance_MapScript1_2680C6
+ map_script 1, TrainerHill_Entrance_MapScript1_268128
+ map_script 2, TrainerHill_Entrance_MapScript2_26813E
+ .byte 0
+
+TrainerHill_Entrance_MapScript1_2680C6: @ 82680C6
+ setflag FLAG_0x8E2
+ getplayerxy VAR_0x400D, VAR_RESULT
+ end
+
+TrainerHill_Entrance_MapScript1_2680CF: @ 82680CF
+ end
+
+TrainerHill_Entrance_MapScript1_2680D0: @ 82680D0
+ setvar VAR_0x8004, 4
+ special sp194_trainer_tower
+ setvar VAR_0x4000, 0
+ setvar VAR_0x8004, 9
+ special sp194_trainer_tower
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq TrainerHill_Entrance_EventScript_2680FF
+ setobjectxy 255, 9, 6
+ applymovement 255, TrainerHill_Entrance_Movement_26837F
+ end
+
+TrainerHill_Entrance_EventScript_2680FF:: @ 82680FF
+ setvar VAR_0x8004, 16
+ special sp194_trainer_tower
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq TrainerHill_Entrance_EventScript_26811A
+ applymovement 255, TrainerHill_Entrance_Movement_26837F
+ end
+
+TrainerHill_Entrance_EventScript_26811A:: @ 826811A
+ end
+
+TrainerHill_Entrance_MapScript1_26811B: @ 826811B
+ addobject 2
+ addobject 1
+ addobject 5
+ addobject 4
+ end
+
+TrainerHill_Entrance_MapScript1_268128: @ 8268128
+ compare_var_to_value VAR_0x400D, 17
+ call_if 1, TrainerHill_Entrance_EventScript_268134
+ end
+
+TrainerHill_Entrance_EventScript_268134:: @ 8268134
+ setmetatile 17, 10, 775, 0
+ return
+
+TrainerHill_Entrance_MapScript2_26813E: @ 826813E
+ map_script_2 VAR_0x4000, 0, TrainerHill_Entrance_EventScript_268182
+ map_script_2 VAR_0x400D, 17, TrainerHill_Entrance_EventScript_268160
+ map_script_2 VAR_0x4005, 1, TrainerHill_Entrance_EventScript_268229
+ map_script_2 VAR_0x4001, 1, TrainerHill_Entrance_EventScript_2C83DF
+ .2byte 0
+
+TrainerHill_Entrance_EventScript_268160:: @ 8268160
+ lockall
+ applymovement 255, TrainerHill_Entrance_Movement_268385
+ waitmovement 0
+ setmetatile 17, 10, 820, 1
+ special DrawWholeMapView
+ playse SE_TK_KASYA
+ waitse
+ setvar VAR_0x400D, 0
+ releaseall
+ end
+
+TrainerHill_Entrance_EventScript_268182:: @ 8268182
+ setvar VAR_0x4000, 1
+ setvar VAR_0x8004, 6
+ special sp194_trainer_tower
+ switch VAR_RESULT
+ case 0, TrainerHill_Entrance_EventScript_2681B5
+ case 1, TrainerHill_Entrance_EventScript_2681CA
+ case 2, TrainerHill_Entrance_EventScript_2681EE
+
+TrainerHill_Entrance_EventScript_2681B5:: @ 82681B5
+ lockall
+ applymovement 255, TrainerHill_Entrance_Movement_26837F
+ msgbox TrainerHill_Entrance_Text_268689, 4
+ goto TrainerHill_Entrance_EventScript_2681DA
+
+TrainerHill_Entrance_EventScript_2681CA:: @ 82681CA
+ lockall
+ applymovement 255, TrainerHill_Entrance_Movement_26837F
+ msgbox TrainerHill_Entrance_Text_268712, 4
+
+TrainerHill_Entrance_EventScript_2681DA:: @ 82681DA
+ closemessage
+ applymovement 255, TrainerHill_Entrance_Movement_268381
+ waitmovement 0
+ setvar VAR_0x40D6, 0
+ special sp000_heal_pokemon
+ releaseall
+
+TrainerHill_Entrance_EventScript_2681EE:: @ 82681EE
+ end
+
+TrainerHill_Entrance_EventScript_2681EF:: @ 82681EF
+ setvar VAR_0x800B, 2
+ call TrainerHill_Entrance_EventScript_27191E
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+TrainerHill_Entrance_EventScript_2681FD:: @ 82681FD
+ lock
+ faceplayer
+ setvar VAR_0x8004, 10
+ special sp194_trainer_tower
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq TrainerHill_Entrance_EventScript_26821F
+ msgbox TrainerHill_Entrance_Text_2686F4, 4
+ goto TrainerHill_Entrance_EventScript_268227
+
+TrainerHill_Entrance_EventScript_26821F:: @ 826821F
+ msgbox TrainerHill_Entrance_Text_2687AC, 4
+
+TrainerHill_Entrance_EventScript_268227:: @ 8268227
+ release
+ end
+
+TrainerHill_Entrance_EventScript_268229:: @ 8268229
+ lockall
+ applymovement 255, TrainerHill_Entrance_Movement_26837F
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_if 0, TrainerHill_Entrance_EventScript_26836A
+ msgbox TrainerHill_Entrance_Text_2684C6, 4
+ setvar VAR_0x8004, 13
+ special sp194_trainer_tower
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, TrainerHill_Entrance_EventScript_26832E
+ setvar VAR_0x8004, 8
+ special sp194_trainer_tower
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq TrainerHill_Entrance_EventScript_268275
+ msgbox TrainerHill_Entrance_Text_268564, 4
+ goto TrainerHill_Entrance_EventScript_26827D
+
+TrainerHill_Entrance_EventScript_268275:: @ 8268275
+ msgbox TrainerHill_Entrance_Text_26859E, 4
+
+TrainerHill_Entrance_EventScript_26827D:: @ 826827D
+ message TrainerHill_Entrance_Text_2685F8
+ waitmessage
+ multichoice 15, 6, 17, 0
+ switch VAR_RESULT
+ case 0, TrainerHill_Entrance_EventScript_2682C8
+ case 1, TrainerHill_Entrance_EventScript_268314
+ case 2, TrainerHill_Entrance_EventScript_2682BA
+ case 127, TrainerHill_Entrance_EventScript_268314
+ end
+
+TrainerHill_Entrance_EventScript_2682BA:: @ 82682BA
+ msgbox TrainerHill_Entrance_Text_2687C3, 4
+ goto TrainerHill_Entrance_EventScript_26827D
+ end
+
+TrainerHill_Entrance_EventScript_2682C8:: @ 82682C8
+ multichoice 13, 2, 113, 0
+ switch VAR_RESULT
+ case 4, TrainerHill_Entrance_EventScript_268314
+ case 127, TrainerHill_Entrance_EventScript_268314
+ setvar VAR_0x8004, 17
+ copyvar VAR_0x8005, VAR_RESULT
+ special sp194_trainer_tower
+ setvar VAR_0x40D6, 1
+ setvar VAR_0x4005, 0
+ special sp000_heal_pokemon
+ msgbox TrainerHill_Entrance_Text_26862A, 4
+ setvar VAR_0x8004, 0
+ special sp194_trainer_tower
+ releaseall
+ end
+
+TrainerHill_Entrance_EventScript_268314:: @ 8268314
+ setvar VAR_0x4005, 0
+ msgbox TrainerHill_Entrance_Text_26866F, 4
+ closemessage
+ applymovement 255, TrainerHill_Entrance_Movement_268381
+ waitmovement 0
+ releaseall
+ end
+
+TrainerHill_Entrance_EventScript_26832E:: @ 826832E
+ msgbox TrainerHill_Entrance_Text_26851C, 4
+ setvar VAR_0x8004, 14
+ special sp194_trainer_tower
+ setvar VAR_0x4005, 1
+ call TrainerHill_Entrance_EventScript_27134F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq TrainerHill_Entrance_EventScript_26835C
+ setvar VAR_0x8004, 14
+ special sp194_trainer_tower
+ return
+
+TrainerHill_Entrance_EventScript_26835C:: @ 826835C
+ setvar VAR_0x8004, 15
+ special sp194_trainer_tower
+ goto TrainerHill_Entrance_EventScript_268314
+ end
+
+TrainerHill_Entrance_EventScript_26836A:: @ 826836A
+ msgbox TrainerHill_Entrance_Text_268430, 4
+ closemessage
+ applymovement 255, TrainerHill_Entrance_Movement_268381
+ waitmovement 0
+ releaseall
+ end
+
+TrainerHill_Entrance_Movement_26837F: @ 826837F
+ step_03
+ step_end
+
+TrainerHill_Entrance_Movement_268381: @ 8268381
+ step_down
+ step_end
+
+TrainerHill_Entrance_Movement_268383: @ 8268383
+ step_01
+ step_end
+
+TrainerHill_Entrance_Movement_268385: @ 8268385
+ step_down
+ step_down
+ step_end
+
+TrainerHill_Entrance_EventScript_268388:: @ 8268388
+ lockall
+ fadescreen 1
+ special sub_813C904
+ waitstate
+ releaseall
+ end
+
+TrainerHill_Entrance_EventScript_268391:: @ 8268391
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_if 0, TrainerHill_Entrance_EventScript_2683A3
+ msgbox TrainerHill_Entrance_Text_268D5A, 2
+ end
+
+TrainerHill_Entrance_EventScript_2683A3:: @ 82683A3
+ msgbox TrainerHill_Entrance_Text_268DDA, 2
+ end
+
+TrainerHill_Entrance_EventScript_2683AC:: @ 82683AC
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_if 0, TrainerHill_Entrance_EventScript_2683BE
+ msgbox TrainerHill_Entrance_Text_268E6A, 2
+ end
+
+TrainerHill_Entrance_EventScript_2683BE:: @ 82683BE
+ msgbox TrainerHill_Entrance_Text_268EDC, 2
+ end
+
+TrainerHill_Entrance_EventScript_2683C7:: @ 82683C7
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ checkflag FLAG_SYS_GAME_CLEAR
+ goto_eq TrainerHill_Entrance_EventScript_268402
+ pokemart TrainerHill_Entrance_Pokemart_2683E8
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+TrainerHill_Entrance_Pokemart_2683E8: @ 82683E8
+ .2byte ITEM_SUPER_POTION
+ .2byte ITEM_ANTIDOTE
+ .2byte ITEM_PARALYZE_HEAL
+ .2byte ITEM_AWAKENING
+ .2byte ITEM_X_SPEED
+ .2byte ITEM_X_SPECIAL
+ .2byte ITEM_X_ATTACK
+ .2byte ITEM_X_DEFEND
+ .2byte ITEM_DIRE_HIT
+ .2byte ITEM_GUARD_SPEC
+ .2byte ITEM_X_ACCURACY
+ .2byte ITEM_NONE
+ release
+ end
+
+TrainerHill_Entrance_EventScript_268402:: @ 8268402
+ pokemart TrainerHill_Entrance_Pokemart_268414
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+TrainerHill_Entrance_Pokemart_268414: @ 8268414
+ .2byte ITEM_HYPER_POTION
+ .2byte ITEM_MAX_POTION
+ .2byte ITEM_FULL_RESTORE
+ .2byte ITEM_FULL_HEAL
+ .2byte ITEM_REVIVE
+ .2byte ITEM_X_SPEED
+ .2byte ITEM_X_SPECIAL
+ .2byte ITEM_X_ATTACK
+ .2byte ITEM_X_DEFEND
+ .2byte ITEM_DIRE_HIT
+ .2byte ITEM_GUARD_SPEC
+ .2byte ITEM_X_ACCURACY
+ .2byte ITEM_NONE
+ release
+ end
+
+TrainerHill_Entrance_Text_268430: @ 8268430
+ .string "This is the TRAINER HILL where\n"
+ .string "you may enjoy tag battles with many\l"
+ .string "TRAINERS.\p"
+ .string "Unfortunately, we’re still getting\n"
+ .string "things ready. Please come back later!$"
+
+TrainerHill_Entrance_Text_2684C6: @ 82684C6
+ .string "Welcome!\p"
+ .string "This is the TRAINER HILL where\n"
+ .string "you may enjoy tag battles with many\l"
+ .string "TRAINERS!$"
+
+TrainerHill_Entrance_Text_26851C: @ 826851C
+ .string "Is this your first visit here?\p"
+ .string "Before you enter, please save\n"
+ .string "your game.$"
+
+TrainerHill_Entrance_Text_268564: @ 8268564
+ .string "Let’s see…\n"
+ .string "The TRAINERS here now are…\p"
+ .string "Up to floor no. {STR_VAR_1}.$"
+
+TrainerHill_Entrance_Text_26859E: @ 826859E
+ .string "Let’s see…\n"
+ .string "The TRAINERS here now are…\p"
+ .string "There appear to be TRAINERS gathered\n"
+ .string "in every room.$"
+
+TrainerHill_Entrance_Text_2685F8: @ 82685F8
+ .string "Would you like to challenge the\n"
+ .string "waiting TRAINERS?$"
+
+TrainerHill_Entrance_Text_26862A: @ 826862A
+ .string "I will time your progress.\n"
+ .string "Best of luck!\p"
+ .string "On your marks…\p"
+ .string "Get set…\p"
+ .string "Go!$"
+
+TrainerHill_Entrance_Text_26866F: @ 826866F
+ .string "Please do visit us again!$"
+
+TrainerHill_Entrance_Text_268689: @ 8268689
+ .string "That was too bad.\p"
+ .string "I think you put in a tremendous\n"
+ .string "effort in your battling.\p"
+ .string "Please come back and try again!$"
+
+TrainerHill_Entrance_Text_2686F4: @ 82686F4
+ .string "I hope you give it your best.$"
+
+TrainerHill_Entrance_Text_268712: @ 8268712
+ .string "When the TRAINERS switch places,\n"
+ .string "the movement can be hectic.\p"
+ .string "To avoid the stampede, we moved\n"
+ .string "the reception counter here.\p"
+ .string "I’m sorry for the inconvenience.$"
+
+TrainerHill_Entrance_Text_2687AC: @ 82687AC
+ .string "Thank you for playing!$"
+
+TrainerHill_Entrance_Text_2687C3: @ 82687C3
+ .string "Here at the TRAINER HILL, we conduct\n"
+ .string "an event called the Time Attack.\p"
+ .string "It is a race that measures how long\n"
+ .string "you take to reach our owner on\l"
+ .string "the rooftop from this counter.\p"
+ .string "The fastest times are posted on\n"
+ .string "the Time Board--try competing with\l"
+ .string "your friends.\p"
+ .string "In TRAINER battles along the way,\n"
+ .string "neither Exp. Points nor money will\l"
+ .string "be awarded.$"
+
+TrainerHill_Entrance_Text_26890D: @ 826890D
+ .string "Oh, I’m sorry, but you appear to have\n"
+ .string "only one POKéMON with you.\p"
+ .string "You will need at least two POKéMON\n"
+ .string "to enter this event.$"
+
+TrainerHill_Roof_Text_268986: @ 8268986
+ .string "Hm! Hm!\p"
+ .string "You finally came!\n"
+ .string "Yes, you have arrived!\p"
+ .string "Wait! Don’t say it!\n"
+ .string "I know why you came all the way\l"
+ .string "here by yourself!\p"
+ .string "You wanted to see me, the owner\n"
+ .string "of the TRAINER HILL, because…\p"
+ .string "You want to form a tag team with me!\n"
+ .string "Wa-hoo!\p"
+ .string "…Uh?\n"
+ .string "That’s not it?\p"
+ .string "Anyway, I watched you on your way up.\n"
+ .string "Marvelous battling! Bravo, indeed!$"
+
+TrainerHill_Roof_Text_268AC5: @ 8268AC5
+ .string "For a marvelous someone like you,\n"
+ .string "I have the most marvelous gift!$"
+
+TrainerHill_Roof_Text_268B07: @ 8268B07
+ .string "Oh, no, full up with things!\n"
+ .string "You’ll be back later for this!$"
+
+TrainerHill_Roof_Text_268B43: @ 8268B43
+ .string "Oh, hold on here! Did you possibly get\n"
+ .string "here marvelously quickly?\p"
+ .string "How splendid! You needn’t have\n"
+ .string "hurried so to see me!\p"
+ .string "That is so delightful. I’ll have the Time\n"
+ .string "Board at the reception updated!$"
+
+TrainerHill_Roof_Text_268C03: @ 8268C03
+ .string "But, oh…\n"
+ .string "You weren’t very quick getting here.$"
+
+TrainerHill_Roof_Text_268C31: @ 8268C31
+ .string "Perhaps it would please me more if you\n"
+ .string "arrived zippier next time.\p"
+ .string "Then, I should be pleased to form\n"
+ .string "a tag team with you!\p"
+ .string "Until we meet again, amigo!$"
+
+TrainerHill_Roof_Text_268CC6: @ 8268CC6
+ .string "I had the TRAINER HILL built for but\n"
+ .string "one reason and one only!\p"
+ .string "To find the most suitable partner\n"
+ .string "with whom I may form a tag team!$"
+
+TrainerHill_Entrance_Text_268D47: @ 8268D47
+ .string "{STR_VAR_1} min. {STR_VAR_2}.{STR_VAR_3} sec.$"
+
+TrainerHill_Entrance_Text_268D5A: @ 8268D5A
+ .string "Who knows what sort of TRAINERS\n"
+ .string "and POKéMON combos are ahead?\p"
+ .string "All I know is that I’ll knock aside\n"
+ .string "anyone that stands in my way!$"
+
+TrainerHill_Entrance_Text_268DDA: @ 8268DDA
+ .string "I heard tough TRAINERS come to this\n"
+ .string "TRAINER HILL from all over.\p"
+ .string "I can’t wait to test the waters!\p"
+ .string "I’ll knock aside anyone that stands\n"
+ .string "in my way!$"
+
+TrainerHill_Entrance_Text_268E6A: @ 8268E6A
+ .string "Do you see the Time Board over there?\p"
+ .string "My friends and I are trying to see who\n"
+ .string "can reach the top in the least time.$"
+
+TrainerHill_Entrance_Text_268EDC: @ 8268EDC
+ .string "Do you know when they’re opening\n"
+ .string "this place up?\p"
+ .string "I’m waiting here to be the first\n"
+ .string "challenger ever!$"
+
+TrainerHill_Elevator_Text_268F3E: @ 8268F3E
+ .string "Would you like to return to\n"
+ .string "the reception counter?$"
diff --git a/data/scripts/maps/TrainerHill_Roof.inc b/data/scripts/maps/TrainerHill_Roof.inc
new file mode 100644
index 000000000..d38ef8153
--- /dev/null
+++ b/data/scripts/maps/TrainerHill_Roof.inc
@@ -0,0 +1,70 @@
+TrainerHill_Roof_MapScripts:: @ 8268FA7
+ map_script 5, TrainerHill_Roof_MapScript1_2C8336
+ map_script 2, TrainerHill_Roof_MapScript2_2C8381
+ .byte 0
+
+TrainerHill_Roof_EventScript_268FB2:: @ 8268FB2
+ setvar VAR_0x8004, 12
+ special sp194_trainer_tower
+ lock
+ faceplayer
+ setvar VAR_0x8004, 1
+ special sp194_trainer_tower
+ switch VAR_RESULT
+ case 0, TrainerHill_Roof_EventScript_268FEA
+ case 1, TrainerHill_Roof_EventScript_268FF2
+ case 2, TrainerHill_Roof_EventScript_2690A8
+
+TrainerHill_Roof_EventScript_268FEA:: @ 8268FEA
+ msgbox TrainerHill_Roof_Text_268986, 4
+
+TrainerHill_Roof_EventScript_268FF2:: @ 8268FF2
+ setvar VAR_0x8004, 2
+ special sp194_trainer_tower
+ switch VAR_RESULT
+ case 0, TrainerHill_Roof_EventScript_269020
+ case 1, TrainerHill_Roof_EventScript_269037
+ case 2, TrainerHill_Roof_EventScript_269054
+
+TrainerHill_Roof_EventScript_269020:: @ 8269020
+ msgbox TrainerHill_Roof_Text_268AC5, 4
+ playfanfare BGM_FANFA1
+ message gUnknown_08272A78
+ waitfanfare
+ waitmessage
+ goto TrainerHill_Roof_EventScript_269054
+
+TrainerHill_Roof_EventScript_269037:: @ 8269037
+ msgbox TrainerHill_Roof_Text_268AC5, 4
+ msgbox gUnknown_08272A89, 4
+ msgbox TrainerHill_Roof_Text_268B07, 4
+ goto TrainerHill_Roof_EventScript_269054
+
+TrainerHill_Roof_EventScript_269054:: @ 8269054
+ setvar VAR_0x8004, 3
+ special sp194_trainer_tower
+ switch VAR_RESULT
+ case 0, TrainerHill_Roof_EventScript_269082
+ case 1, TrainerHill_Roof_EventScript_269090
+ case 2, TrainerHill_Roof_EventScript_26909E
+
+TrainerHill_Roof_EventScript_269082:: @ 8269082
+ msgbox TrainerHill_Roof_Text_268B43, 4
+ goto TrainerHill_Roof_EventScript_26909E
+ end
+
+TrainerHill_Roof_EventScript_269090:: @ 8269090
+ msgbox TrainerHill_Roof_Text_268C03, 4
+ goto TrainerHill_Roof_EventScript_26909E
+ end
+
+TrainerHill_Roof_EventScript_26909E:: @ 826909E
+ msgbox TrainerHill_Roof_Text_268C31, 4
+ release
+ end
+
+TrainerHill_Roof_EventScript_2690A8:: @ 82690A8
+ msgbox TrainerHill_Roof_Text_268C31, 4
+ release
+ end
+
diff --git a/data/scripts/maps/Underwater1.inc b/data/scripts/maps/Underwater1.inc
new file mode 100644
index 000000000..107a038a8
--- /dev/null
+++ b/data/scripts/maps/Underwater1.inc
@@ -0,0 +1,3 @@
+Underwater1_MapScripts:: @ 81F7722
+ .byte 0
+
diff --git a/data/scripts/maps/Underwater2.inc b/data/scripts/maps/Underwater2.inc
new file mode 100644
index 000000000..80c854c63
--- /dev/null
+++ b/data/scripts/maps/Underwater2.inc
@@ -0,0 +1,3 @@
+Underwater2_MapScripts:: @ 81F7723
+ .byte 0
+
diff --git a/data/scripts/maps/Underwater3.inc b/data/scripts/maps/Underwater3.inc
new file mode 100644
index 000000000..463f7a0ff
--- /dev/null
+++ b/data/scripts/maps/Underwater3.inc
@@ -0,0 +1,8 @@
+Underwater3_MapScripts:: @ 81F7724
+ map_script 5, Underwater3_MapScript1_1F772A
+ .byte 0
+
+Underwater3_MapScript1_1F772A: @ 81F772A
+ call Underwater3_EventScript_274223
+ end
+
diff --git a/data/scripts/maps/Underwater4.inc b/data/scripts/maps/Underwater4.inc
new file mode 100644
index 000000000..295c27356
--- /dev/null
+++ b/data/scripts/maps/Underwater4.inc
@@ -0,0 +1,3 @@
+Underwater4_MapScripts:: @ 81F7730
+ .byte 0
+
diff --git a/data/scripts/maps/Underwater5.inc b/data/scripts/maps/Underwater5.inc
new file mode 100644
index 000000000..9d0cc373c
--- /dev/null
+++ b/data/scripts/maps/Underwater5.inc
@@ -0,0 +1,8 @@
+Underwater5_MapScripts:: @ 81F7731
+ map_script 5, Underwater5_MapScript1_1F7737
+ .byte 0
+
+Underwater5_MapScript1_1F7737: @ 81F7737
+ call Underwater5_EventScript_274223
+ end
+
diff --git a/data/scripts/maps/Underwater6.inc b/data/scripts/maps/Underwater6.inc
new file mode 100644
index 000000000..047628c9c
--- /dev/null
+++ b/data/scripts/maps/Underwater6.inc
@@ -0,0 +1,8 @@
+Underwater6_MapScripts:: @ 81F773D
+ map_script 5, Underwater6_MapScript1_1F7743
+ .byte 0
+
+Underwater6_MapScript1_1F7743: @ 81F7743
+ call Underwater6_EventScript_274223
+ end
+
diff --git a/data/scripts/maps/Underwater7.inc b/data/scripts/maps/Underwater7.inc
new file mode 100644
index 000000000..dd757f98a
--- /dev/null
+++ b/data/scripts/maps/Underwater7.inc
@@ -0,0 +1,8 @@
+Underwater7_MapScripts:: @ 81F7749
+ map_script 5, Underwater7_MapScript1_1F774F
+ .byte 0
+
+Underwater7_MapScript1_1F774F: @ 81F774F
+ call Underwater7_EventScript_274223
+ end
+
diff --git a/data/scripts/maps/Underwater_MarineCave.inc b/data/scripts/maps/Underwater_MarineCave.inc
new file mode 100644
index 000000000..c18534c61
--- /dev/null
+++ b/data/scripts/maps/Underwater_MarineCave.inc
@@ -0,0 +1,13 @@
+Underwater_MarineCave_MapScripts:: @ 823AFB8
+ map_script 5, Underwater_MarineCave_MapScript1_23AFC7
+ map_script 3, Underwater_MarineCave_MapScript1_23AFC3
+ .byte 0
+
+Underwater_MarineCave_MapScript1_23AFC3: @ 823AFC3
+ setflag FLAG_0x8D9
+ end
+
+Underwater_MarineCave_MapScript1_23AFC7: @ 823AFC7
+ setdivewarp MARINE_CAVE_ENTRANCE, 255, 10, 17
+ end
+
diff --git a/data/scripts/maps/Underwater_Route134.inc b/data/scripts/maps/Underwater_Route134.inc
new file mode 100644
index 000000000..a06f87b48
--- /dev/null
+++ b/data/scripts/maps/Underwater_Route134.inc
@@ -0,0 +1,8 @@
+Underwater_Route134_MapScripts:: @ 82390B5
+ map_script 5, Underwater_Route134_MapScript1_2390BB
+ .byte 0
+
+Underwater_Route134_MapScript1_2390BB: @ 82390BB
+ setdivewarp ROUTE_134, 255, 60, 31
+ end
+
diff --git a/data/scripts/maps/Underwater_SeafloorCavern.inc b/data/scripts/maps/Underwater_SeafloorCavern.inc
new file mode 100644
index 000000000..2e439d4d2
--- /dev/null
+++ b/data/scripts/maps/Underwater_SeafloorCavern.inc
@@ -0,0 +1,52 @@
+Underwater_SeafloorCavern_MapScripts:: @ 823433B
+ map_script 5, Underwater_SeafloorCavern_MapScript1_2343D3
+ map_script 3, Underwater_SeafloorCavern_MapScript1_23434B
+ map_script 1, Underwater_SeafloorCavern_MapScript1_23435C
+ .byte 0
+
+Underwater_SeafloorCavern_MapScript1_23434B: @ 823434B
+ setflag FLAG_0x8A7
+ checkflag FLAG_0x081
+ goto_eq Underwater_SeafloorCavern_EventScript_234358
+ end
+
+Underwater_SeafloorCavern_EventScript_234358:: @ 8234358
+ setflag FLAG_0x3D4
+ end
+
+Underwater_SeafloorCavern_MapScript1_23435C: @ 823435C
+ checkflag FLAG_0x081
+ call_if 1, Underwater_SeafloorCavern_EventScript_234366
+ end
+
+Underwater_SeafloorCavern_EventScript_234366:: @ 8234366
+ setmetatile 5, 3, 542, 1
+ setmetatile 6, 3, 542, 1
+ setmetatile 7, 3, 542, 1
+ setmetatile 8, 3, 542, 1
+ setmetatile 5, 4, 552, 0
+ setmetatile 6, 4, 552, 0
+ setmetatile 7, 4, 552, 0
+ setmetatile 8, 4, 552, 0
+ setmetatile 5, 5, 552, 0
+ setmetatile 6, 5, 552, 0
+ setmetatile 7, 5, 552, 0
+ setmetatile 8, 5, 552, 0
+ return
+
+Underwater_SeafloorCavern_MapScript1_2343D3: @ 82343D3
+ setdivewarp SEAFLOOR_CAVERN_ENTRANCE, 255, 10, 17
+ end
+
+Underwater_SeafloorCavern_EventScript_2343DC:: @ 82343DC
+ msgbox Underwater_SeafloorCavern_Text_2343E5, 3
+ end
+
+Underwater_SeafloorCavern_Text_2343E5: @ 82343E5
+ .string "“SUBMARINE EXPLORER 1” is painted\n"
+ .string "on the hull.\p"
+ .string "This is the submarine TEAM AQUA\n"
+ .string "stole in SLATEPORT!\p"
+ .string "TEAM AQUA must have gone\n"
+ .string "ashore here.$"
+
diff --git a/data/scripts/maps/Underwater_SealedChamber.inc b/data/scripts/maps/Underwater_SealedChamber.inc
new file mode 100644
index 000000000..607a8e04d
--- /dev/null
+++ b/data/scripts/maps/Underwater_SealedChamber.inc
@@ -0,0 +1,28 @@
+Underwater_SealedChamber_MapScripts:: @ 82390C4
+ map_script 6, Underwater_SealedChamber_MapScript1_2390CA
+ .byte 0
+
+Underwater_SealedChamber_MapScript1_2390CA: @ 82390CA
+ getplayerxy VAR_0x8004, VAR_0x8005
+ compare_var_to_value VAR_0x8004, 12
+ goto_if 5, Underwater_SealedChamber_EventScript_2390EA
+ compare_var_to_value VAR_0x8005, 44
+ goto_if 5, Underwater_SealedChamber_EventScript_2390EA
+ goto Underwater_SealedChamber_EventScript_2390F3
+
+Underwater_SealedChamber_EventScript_2390EA:: @ 82390EA
+ setdivewarp ROUTE_134, 255, 60, 31
+ end
+
+Underwater_SealedChamber_EventScript_2390F3:: @ 82390F3
+ setdivewarp SEALED_CHAMBER_OUTER_ROOM, 255, 10, 19
+ end
+
+Underwater_SealedChamber_EventScript_2390FC:: @ 82390FC
+ lockall
+ braillemessage Underwater_SealedChamber_Braille_2A6B15
+ waitbuttonpress
+ hidebox2
+ releaseall
+ end
+
diff --git a/data/scripts/maps/Underwater_SootopolisCity.inc b/data/scripts/maps/Underwater_SootopolisCity.inc
new file mode 100644
index 000000000..3337b72f1
--- /dev/null
+++ b/data/scripts/maps/Underwater_SootopolisCity.inc
@@ -0,0 +1,8 @@
+Underwater_SootopolisCity_MapScripts:: @ 822D94C
+ map_script 5, Underwater_SootopolisCity_MapScript1_22D952
+ .byte 0
+
+Underwater_SootopolisCity_MapScript1_22D952: @ 822D952
+ setdivewarp SOOTOPOLIS_CITY, 255, 29, 53
+ end
+
diff --git a/data/scripts/maps/UnionRoom.inc b/data/scripts/maps/UnionRoom.inc
new file mode 100644
index 000000000..250b4b402
--- /dev/null
+++ b/data/scripts/maps/UnionRoom.inc
@@ -0,0 +1,107 @@
+UnionRoom_MapScripts:: @ 823D1A6
+ map_script 5, UnionRoom_MapScript1_23D1B1
+ map_script 3, UnionRoom_MapScript1_23D1E5
+ .byte 0
+
+UnionRoom_MapScript1_23D1B1: @ 823D1B1
+ setflag FLAG_0x2BF
+ setflag FLAG_0x2C0
+ setflag FLAG_0x2C1
+ setflag FLAG_0x2C2
+ setflag FLAG_0x2C3
+ setflag FLAG_0x2C4
+ setflag FLAG_0x2C5
+ setflag FLAG_0x2C6
+ removeobject 9
+ removeobject 8
+ removeobject 7
+ removeobject 2
+ removeobject 6
+ removeobject 5
+ removeobject 4
+ removeobject 3
+ special UnionRoomSpecial
+ end
+
+UnionRoom_MapScript1_23D1E5: @ 823D1E5
+ end
+
+UnionRoom_EventScript_23D1E6:: @ 823D1E6
+ lock
+ faceplayer
+ setvar VAR_RESULT, 1
+ waitstate
+ release
+ end
+
+UnionRoom_EventScript_23D1F0:: @ 823D1F0
+ lock
+ faceplayer
+ setvar VAR_RESULT, 2
+ waitstate
+ release
+ end
+
+UnionRoom_EventScript_23D1FA:: @ 823D1FA
+ lock
+ faceplayer
+ setvar VAR_RESULT, 3
+ waitstate
+ release
+ end
+
+UnionRoom_EventScript_23D204:: @ 823D204
+ lock
+ faceplayer
+ setvar VAR_RESULT, 4
+ waitstate
+ release
+ end
+
+UnionRoom_EventScript_23D20E:: @ 823D20E
+ lock
+ faceplayer
+ setvar VAR_RESULT, 5
+ waitstate
+ release
+ end
+
+UnionRoom_EventScript_23D218:: @ 823D218
+ lock
+ faceplayer
+ setvar VAR_RESULT, 6
+ waitstate
+ release
+ end
+
+UnionRoom_EventScript_23D222:: @ 823D222
+ lock
+ faceplayer
+ setvar VAR_RESULT, 7
+ waitstate
+ release
+ end
+
+UnionRoom_EventScript_23D22C:: @ 823D22C
+ lock
+ faceplayer
+ setvar VAR_RESULT, 8
+ waitstate
+ release
+ end
+
+UnionRoom_EventScript_23D236:: @ 823D236
+ lock
+ faceplayer
+ setvar VAR_RESULT, 9
+ waitstate
+ release
+ end
+
+UnionRoom_EventScript_23D240:: @ 823D240
+ lockall
+ setvar VAR_RESULT, 10
+ waitstate
+ releaseall
+ end
+
diff --git a/data/scripts/maps/UnknownMap_25_29.inc b/data/scripts/maps/UnknownMap_25_29.inc
new file mode 100644
index 000000000..575e7a898
--- /dev/null
+++ b/data/scripts/maps/UnknownMap_25_29.inc
@@ -0,0 +1 @@
+UnknownMap_25_29_MapScripts:: @ 823B781
diff --git a/data/scripts/maps/UnknownMap_25_30.inc b/data/scripts/maps/UnknownMap_25_30.inc
new file mode 100644
index 000000000..dbc73166d
--- /dev/null
+++ b/data/scripts/maps/UnknownMap_25_30.inc
@@ -0,0 +1 @@
+UnknownMap_25_30_MapScripts:: @ 823B781
diff --git a/data/scripts/maps/UnknownMap_25_31.inc b/data/scripts/maps/UnknownMap_25_31.inc
new file mode 100644
index 000000000..cacda4d1f
--- /dev/null
+++ b/data/scripts/maps/UnknownMap_25_31.inc
@@ -0,0 +1 @@
+UnknownMap_25_31_MapScripts:: @ 823B781
diff --git a/data/scripts/maps/UnknownMap_25_32.inc b/data/scripts/maps/UnknownMap_25_32.inc
new file mode 100644
index 000000000..e34f454e7
--- /dev/null
+++ b/data/scripts/maps/UnknownMap_25_32.inc
@@ -0,0 +1 @@
+UnknownMap_25_32_MapScripts:: @ 823B781
diff --git a/data/scripts/maps/UnknownMap_25_33.inc b/data/scripts/maps/UnknownMap_25_33.inc
new file mode 100644
index 000000000..086d2d32c
--- /dev/null
+++ b/data/scripts/maps/UnknownMap_25_33.inc
@@ -0,0 +1 @@
+UnknownMap_25_33_MapScripts:: @ 823B781
diff --git a/data/scripts/maps/UnknownMap_25_34.inc b/data/scripts/maps/UnknownMap_25_34.inc
new file mode 100644
index 000000000..ccecbbba6
--- /dev/null
+++ b/data/scripts/maps/UnknownMap_25_34.inc
@@ -0,0 +1,458 @@
+UnknownMap_25_34_MapScripts:: @ 823B781
+ map_script 4, LinkContestRoom1_MapScript2_23B81F
+ map_script 2, LinkContestRoom1_MapScript2_23B815
+ map_script 3, LinkContestRoom1_MapScript1_23B79F
+ map_script 5, LinkContestRoom1_MapScript1_23B803
+ map_script 7, LinkContestRoom1_MapScript1_23B79B
+ .byte 0
+
+LinkContestRoom1_MapScript1_23B79B: @ 823B79B
+ special sub_80F8B94
+ end
+
+LinkContestRoom1_MapScript1_23B79F: @ 823B79F
+ call LinkContestRoom1_EventScript_23B7AF
+ setvar VAR_0x4000, 1
+ call LinkContestRoom1_EventScript_23B842
+ end
+
+LinkContestRoom1_EventScript_23B7AF:: @ 823B7AF
+ call LinkContestRoom1_EventScript_27A133
+ special sub_80F8FA0
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LinkContestRoom1_EventScript_23B7EF
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LinkContestRoom1_EventScript_23B7F3
+ compare_var_to_value VAR_RESULT, 2
+ call_if 1, LinkContestRoom1_EventScript_23B7F7
+ compare_var_to_value VAR_RESULT, 3
+ call_if 1, LinkContestRoom1_EventScript_23B7FB
+ compare_var_to_value VAR_RESULT, 4
+ call_if 1, LinkContestRoom1_EventScript_23B7FF
+ return
+
+LinkContestRoom1_EventScript_23B7EF:: @ 823B7EF
+ savebgm BGM_TEST1
+ return
+
+LinkContestRoom1_EventScript_23B7F3:: @ 823B7F3
+ savebgm BGM_TEST2
+ return
+
+LinkContestRoom1_EventScript_23B7F7:: @ 823B7F7
+ savebgm BGM_TEST3
+ return
+
+LinkContestRoom1_EventScript_23B7FB:: @ 823B7FB
+ savebgm BGM_TEST4
+ return
+
+LinkContestRoom1_EventScript_23B7FF:: @ 823B7FF
+ savebgm BGM_CONTEST0
+ return
+
+LinkContestRoom1_MapScript1_23B803: @ 823B803
+ compare_var_to_value VAR_0x4009, 1
+ call_if 1, LinkContestRoom1_EventScript_23B80F
+ end
+
+LinkContestRoom1_EventScript_23B80F:: @ 823B80F
+ call LinkContestRoom1_EventScript_23BB2B
+ return
+
+LinkContestRoom1_MapScript2_23B815: @ 823B815
+ map_script_2 VAR_0x4086, 1, LinkContestRoom1_EventScript_23B829
+ .2byte 0
+
+LinkContestRoom1_MapScript2_23B81F: @ 823B81F
+ map_script_2 VAR_0x4086, 1, LinkContestRoom1_EventScript_23B834
+ .2byte 0
+
+LinkContestRoom1_EventScript_23B829:: @ 823B829
+ call LinkContestRoom1_EventScript_279F97
+ call LinkContestRoom1_EventScript_23BE44
+ end
+
+LinkContestRoom1_EventScript_23B834:: @ 823B834
+ special sub_80F8B94
+ hideobjectat 255, LITTLEROOT_TOWN
+ call LinkContestRoom1_EventScript_23BB2B
+ end
+
+LinkContestRoom1_EventScript_23B842:: @ 823B842
+ call LinkContestRoom1_EventScript_23B8F8
+ call LinkContestRoom1_EventScript_23B858
+ compare_var_to_value VAR_0x4000, 8
+ goto_if 0, LinkContestRoom1_EventScript_23B842
+ return
+
+LinkContestRoom1_EventScript_23B858:: @ 823B858
+ switch VAR_0x4000
+ case 1, LinkContestRoom1_EventScript_23B8AB
+ case 2, LinkContestRoom1_EventScript_23B8B6
+ case 3, LinkContestRoom1_EventScript_23B8C1
+ case 4, LinkContestRoom1_EventScript_23B8CC
+ case 5, LinkContestRoom1_EventScript_23B8D7
+ case 6, LinkContestRoom1_EventScript_23B8E2
+ case 7, LinkContestRoom1_EventScript_23B8ED
+ end
+
+LinkContestRoom1_EventScript_23B8AB:: @ 823B8AB
+ copyvar VAR_0x4014, VAR_0x4001
+ addvar VAR_0x4000, 1
+ return
+
+LinkContestRoom1_EventScript_23B8B6:: @ 823B8B6
+ copyvar VAR_0x4015, VAR_0x4001
+ addvar VAR_0x4000, 1
+ return
+
+LinkContestRoom1_EventScript_23B8C1:: @ 823B8C1
+ copyvar VAR_0x4016, VAR_0x4001
+ addvar VAR_0x4000, 1
+ return
+
+LinkContestRoom1_EventScript_23B8CC:: @ 823B8CC
+ copyvar VAR_0x4017, VAR_0x4001
+ addvar VAR_0x4000, 1
+ return
+
+LinkContestRoom1_EventScript_23B8D7:: @ 823B8D7
+ copyvar VAR_0x4018, VAR_0x4001
+ addvar VAR_0x4000, 1
+ return
+
+LinkContestRoom1_EventScript_23B8E2:: @ 823B8E2
+ copyvar VAR_0x4019, VAR_0x4001
+ addvar VAR_0x4000, 1
+ return
+
+LinkContestRoom1_EventScript_23B8ED:: @ 823B8ED
+ copyvar VAR_0x401A, VAR_0x4001
+ addvar VAR_0x4000, 1
+ return
+
+LinkContestRoom1_EventScript_23B8F8:: @ 823B8F8
+ setvar VAR_RESULT, 32
+ special sub_80F8FE8
+ addvar VAR_RESULT, 1
+ switch VAR_RESULT
+ case 1, LinkContestRoom1_EventScript_23BA6B
+ case 2, LinkContestRoom1_EventScript_23BA71
+ case 3, LinkContestRoom1_EventScript_23BA77
+ case 4, LinkContestRoom1_EventScript_23BA7D
+ case 5, LinkContestRoom1_EventScript_23BA83
+ case 6, LinkContestRoom1_EventScript_23BA89
+ case 7, LinkContestRoom1_EventScript_23BA8F
+ case 8, LinkContestRoom1_EventScript_23BA95
+ case 9, LinkContestRoom1_EventScript_23BA9B
+ case 10, LinkContestRoom1_EventScript_23BAA1
+ case 11, LinkContestRoom1_EventScript_23BAA7
+ case 12, LinkContestRoom1_EventScript_23BAAD
+ case 13, LinkContestRoom1_EventScript_23BAB3
+ case 14, LinkContestRoom1_EventScript_23BAB9
+ case 15, LinkContestRoom1_EventScript_23BABF
+ case 16, LinkContestRoom1_EventScript_23BAC5
+ case 17, LinkContestRoom1_EventScript_23BACB
+ case 18, LinkContestRoom1_EventScript_23BAD1
+ case 19, LinkContestRoom1_EventScript_23BAD7
+ case 20, LinkContestRoom1_EventScript_23BADD
+ case 21, LinkContestRoom1_EventScript_23BAE3
+ case 22, LinkContestRoom1_EventScript_23BAE9
+ case 23, LinkContestRoom1_EventScript_23BAEF
+ case 24, LinkContestRoom1_EventScript_23BAF5
+ case 25, LinkContestRoom1_EventScript_23BAFB
+ case 26, LinkContestRoom1_EventScript_23BB01
+ case 27, LinkContestRoom1_EventScript_23BB07
+ case 28, LinkContestRoom1_EventScript_23BB0D
+ case 29, LinkContestRoom1_EventScript_23BB13
+ case 30, LinkContestRoom1_EventScript_23BB19
+ case 31, LinkContestRoom1_EventScript_23BB1F
+ case 32, LinkContestRoom1_EventScript_23BB25
+ end
+
+LinkContestRoom1_EventScript_23BA6B:: @ 823BA6B
+ setvar VAR_0x4001, 5
+ return
+
+LinkContestRoom1_EventScript_23BA71:: @ 823BA71
+ setvar VAR_0x4001, 6
+ return
+
+LinkContestRoom1_EventScript_23BA77:: @ 823BA77
+ setvar VAR_0x4001, 7
+ return
+
+LinkContestRoom1_EventScript_23BA7D:: @ 823BA7D
+ setvar VAR_0x4001, 8
+ return
+
+LinkContestRoom1_EventScript_23BA83:: @ 823BA83
+ setvar VAR_0x4001, 10
+ return
+
+LinkContestRoom1_EventScript_23BA89:: @ 823BA89
+ setvar VAR_0x4001, 11
+ return
+
+LinkContestRoom1_EventScript_23BA8F:: @ 823BA8F
+ setvar VAR_0x4001, 12
+ return
+
+LinkContestRoom1_EventScript_23BA95:: @ 823BA95
+ setvar VAR_0x4001, 13
+ return
+
+LinkContestRoom1_EventScript_23BA9B:: @ 823BA9B
+ setvar VAR_0x4001, 14
+ return
+
+LinkContestRoom1_EventScript_23BAA1:: @ 823BAA1
+ setvar VAR_0x4001, 15
+ return
+
+LinkContestRoom1_EventScript_23BAA7:: @ 823BAA7
+ setvar VAR_0x4001, 17
+ return
+
+LinkContestRoom1_EventScript_23BAAD:: @ 823BAAD
+ setvar VAR_0x4001, 18
+ return
+
+LinkContestRoom1_EventScript_23BAB3:: @ 823BAB3
+ setvar VAR_0x4001, 19
+ return
+
+LinkContestRoom1_EventScript_23BAB9:: @ 823BAB9
+ setvar VAR_0x4001, 20
+ return
+
+LinkContestRoom1_EventScript_23BABF:: @ 823BABF
+ setvar VAR_0x4001, 21
+ return
+
+LinkContestRoom1_EventScript_23BAC5:: @ 823BAC5
+ setvar VAR_0x4001, 22
+ return
+
+LinkContestRoom1_EventScript_23BACB:: @ 823BACB
+ setvar VAR_0x4001, 25
+ return
+
+LinkContestRoom1_EventScript_23BAD1:: @ 823BAD1
+ setvar VAR_0x4001, 26
+ return
+
+LinkContestRoom1_EventScript_23BAD7:: @ 823BAD7
+ setvar VAR_0x4001, 27
+ return
+
+LinkContestRoom1_EventScript_23BADD:: @ 823BADD
+ setvar VAR_0x4001, 47
+ return
+
+LinkContestRoom1_EventScript_23BAE3:: @ 823BAE3
+ setvar VAR_0x4001, 30
+ return
+
+LinkContestRoom1_EventScript_23BAE9:: @ 823BAE9
+ setvar VAR_0x4001, 31
+ return
+
+LinkContestRoom1_EventScript_23BAEF:: @ 823BAEF
+ setvar VAR_0x4001, 32
+ return
+
+LinkContestRoom1_EventScript_23BAF5:: @ 823BAF5
+ setvar VAR_0x4001, 33
+ return
+
+LinkContestRoom1_EventScript_23BAFB:: @ 823BAFB
+ setvar VAR_0x4001, 34
+ return
+
+LinkContestRoom1_EventScript_23BB01:: @ 823BB01
+ setvar VAR_0x4001, 35
+ return
+
+LinkContestRoom1_EventScript_23BB07:: @ 823BB07
+ setvar VAR_0x4001, 36
+ return
+
+LinkContestRoom1_EventScript_23BB0D:: @ 823BB0D
+ setvar VAR_0x4001, 37
+ return
+
+LinkContestRoom1_EventScript_23BB13:: @ 823BB13
+ setvar VAR_0x4001, 38
+ return
+
+LinkContestRoom1_EventScript_23BB19:: @ 823BB19
+ setvar VAR_0x4001, 44
+ return
+
+LinkContestRoom1_EventScript_23BB1F:: @ 823BB1F
+ setvar VAR_0x4001, 45
+ return
+
+LinkContestRoom1_EventScript_23BB25:: @ 823BB25
+ setvar VAR_0x4001, 46
+ return
+
+LinkContestRoom1_EventScript_23BB2B:: @ 823BB2B
+ specialvar VAR_RESULT, sub_80F9160
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LinkContestRoom1_EventScript_23BD86
+ switch VAR_0x4088
+ case 1, LinkContestRoom1_EventScript_23BB78
+ case 2, LinkContestRoom1_EventScript_23BB8B
+ case 3, LinkContestRoom1_EventScript_23BBE6
+ case 4, LinkContestRoom1_EventScript_23BC92
+ case 5, LinkContestRoom1_EventScript_23BC92
+ return
+
+LinkContestRoom1_EventScript_23BB78:: @ 823BB78
+ createvobject 5, 20, 3, 2, 3, 1
+ createvobject 46, 24, 11, 2, 3, 1
+ return
+
+LinkContestRoom1_EventScript_23BB8B:: @ 823BB8B
+ createvobject 45, 0, 2, 3, 3, 4
+ createvobject 66, 1, 2, 4, 3, 4
+ createvobject 55, 2, 2, 7, 3, 4
+ createvobject 46, 3, 2, 8, 3, 4
+ createvobject 5, 10, 12, 3, 3, 3
+ createvobject 20, 11, 12, 4, 3, 3
+ createvobject 24, 12, 12, 7, 3, 3
+ createvobject 12, 13, 12, 8, 3, 3
+ createvobject 47, 20, 3, 2, 3, 1
+ createvobject 46, 24, 11, 2, 3, 1
+ return
+
+LinkContestRoom1_EventScript_23BBE6:: @ 823BBE6
+ createvobject 45, 0, 2, 3, 3, 4
+ createvobject 66, 1, 2, 4, 3, 4
+ createvobject 55, 2, 2, 7, 3, 4
+ createvobject 48, 3, 2, 8, 3, 4
+ createvobject 5, 10, 12, 3, 3, 3
+ createvobject 20, 11, 12, 4, 3, 3
+ createvobject 24, 12, 12, 7, 3, 3
+ createvobject 45, 13, 12, 8, 3, 3
+ createvobject 22, 20, 3, 2, 3, 1
+ createvobject 23, 20, 6, 2, 3, 1
+ createvobject 34, 20, 7, 2, 3, 1
+ createvobject 46, 24, 8, 2, 3, 1
+ createvobject 48, 24, 11, 2, 3, 1
+ createvobject 11, 25, 3, 9, 3, 2
+ createvobject 35, 26, 4, 9, 3, 2
+ createvobject 17, 27, 5, 9, 3, 2
+ createvobject 40, 28, 9, 9, 3, 2
+ createvobject 38, 29, 10, 9, 3, 2
+ createvobject 83, 30, 11, 9, 3, 2
+ return
+
+LinkContestRoom1_EventScript_23BC92:: @ 823BC92
+ createvobject 45, 0, 2, 3, 3, 4
+ createvobject 66, 1, 2, 4, 3, 4
+ createvobject 55, 2, 2, 7, 3, 4
+ createvobject 12, 3, 2, 8, 3, 4
+ createvobject 39, 4, 1, 3, 3, 4
+ createvobject 34, 6, 1, 5, 3, 4
+ createvobject 26, 7, 1, 6, 3, 4
+ createvobject 48, 9, 1, 8, 3, 4
+ createvobject 5, 10, 12, 3, 3, 3
+ createvobject 20, 11, 12, 4, 3, 3
+ createvobject 24, 12, 12, 7, 3, 3
+ createvobject 45, 13, 12, 8, 3, 3
+ createvobject 50, 14, 13, 3, 3, 3
+ createvobject 52, 15, 13, 4, 3, 3
+ createvobject 65, 17, 13, 6, 3, 3
+ createvobject 83, 18, 13, 7, 3, 3
+ createvobject 116, 19, 13, 8, 3, 3
+ createvobject 25, 20, 3, 2, 3, 1
+ createvobject 31, 21, 6, 2, 3, 1
+ createvobject 33, 22, 7, 2, 3, 1
+ createvobject 46, 24, 11, 2, 3, 1
+ createvobject 49, 25, 3, 9, 3, 2
+ createvobject 35, 26, 4, 9, 3, 2
+ createvobject 48, 27, 5, 9, 3, 2
+ createvobject 40, 28, 9, 9, 3, 2
+ createvobject 38, 29, 10, 9, 3, 2
+ createvobject 83, 30, 11, 9, 3, 2
+ return
+
+LinkContestRoom1_EventScript_23BD86:: @ 823BD86
+ createvobject 45, 0, 2, 3, 3, 4
+ createvobject 66, 1, 2, 4, 3, 4
+ createvobject 55, 2, 2, 7, 3, 4
+ createvobject 12, 3, 2, 8, 3, 4
+ createvobject 39, 4, 1, 3, 3, 4
+ createvobject 34, 6, 1, 5, 3, 4
+ createvobject 26, 7, 1, 6, 3, 4
+ createvobject 48, 9, 1, 8, 3, 4
+ createvobject 5, 10, 12, 3, 3, 3
+ createvobject 20, 11, 12, 4, 3, 3
+ createvobject 24, 12, 12, 7, 3, 3
+ createvobject 45, 13, 12, 8, 3, 3
+ createvobject 50, 14, 13, 3, 3, 3
+ createvobject 52, 15, 13, 4, 3, 3
+ createvobject 65, 17, 13, 6, 3, 3
+ createvobject 83, 18, 13, 7, 3, 3
+ createvobject 116, 19, 13, 8, 3, 3
+ createvobject 25, 20, 3, 2, 3, 1
+ createvobject 31, 21, 6, 2, 3, 1
+ createvobject 33, 22, 7, 2, 3, 1
+ createvobject 46, 24, 11, 2, 3, 1
+ return
+
+LinkContestRoom1_EventScript_23BE44:: @ 823BE44
+ special sub_80F9154
+ switch VAR_0x4088
+ case 1, LinkContestRoom1_EventScript_23BE84
+ case 2, LinkContestRoom1_EventScript_23BE8E
+ case 3, LinkContestRoom1_EventScript_23BE98
+ case 4, LinkContestRoom1_EventScript_23BEA2
+ case 5, LinkContestRoom1_EventScript_23BEAC
+ return
+
+LinkContestRoom1_EventScript_23BE84:: @ 823BE84
+ warp LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
+ waitstate
+ end
+
+LinkContestRoom1_EventScript_23BE8E:: @ 823BE8E
+ warp LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
+ waitstate
+ end
+
+LinkContestRoom1_EventScript_23BE98:: @ 823BE98
+ warp LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
+ waitstate
+ end
+
+LinkContestRoom1_EventScript_23BEA2:: @ 823BEA2
+ warp LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
+ waitstate
+ end
+
+LinkContestRoom1_EventScript_23BEAC:: @ 823BEAC
+ warp LILYCOVE_CITY_CONTEST_LOBBY, 255, 15, 4
+ waitstate
+ end
+
+LilycoveCity_ContestLobby_EventScript_23BEB6:: @ 823BEB6
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_23BECE
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_23BED4
+ return
+
+LilycoveCity_ContestLobby_EventScript_23BECE:: @ 823BECE
+ setvar VAR_0x4013, 100
+ return
+
+LilycoveCity_ContestLobby_EventScript_23BED4:: @ 823BED4
+ setvar VAR_0x4013, 105
+ return
+
diff --git a/data/scripts/maps/VerdanturfTown.inc b/data/scripts/maps/VerdanturfTown.inc
new file mode 100644
index 000000000..2987a9a59
--- /dev/null
+++ b/data/scripts/maps/VerdanturfTown.inc
@@ -0,0 +1,127 @@
+VerdanturfTown_MapScripts:: @ 81EB566
+ map_script 3, VerdanturfTown_MapScript1_1EB56C
+ .byte 0
+
+VerdanturfTown_MapScript1_1EB56C: @ 81EB56C
+ setflag FLAG_VISITED_VERDANTURF_TOWN
+ setvar VAR_0x4086, 0
+ end
+
+VerdanturfTown_EventScript_1EB575:: @ 81EB575
+ lock
+ faceplayer
+ checkflag FLAG_0x0C7
+ goto_eq VerdanturfTown_EventScript_1EB594
+ msgbox VerdanturfTown_Text_1EB5FD, 4
+ applymovement 2, VerdanturfTown_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+VerdanturfTown_EventScript_1EB594:: @ 81EB594
+ msgbox VerdanturfTown_Text_1EB6E0, 4
+ applymovement 2, VerdanturfTown_Movement_2725A2
+ waitmovement 0
+ release
+ end
+
+VerdanturfTown_EventScript_1EB5A8:: @ 81EB5A8
+ msgbox VerdanturfTown_Text_1EB736, 2
+ end
+
+VerdanturfTown_EventScript_1EB5B1:: @ 81EB5B1
+ msgbox VerdanturfTown_Text_1EB7E2, 2
+ end
+
+VerdanturfTown_EventScript_1EB5BA:: @ 81EB5BA
+ lock
+ faceplayer
+ checkflag FLAG_0x0C7
+ goto_eq VerdanturfTown_EventScript_1EB5CF
+ msgbox VerdanturfTown_Text_1EB854, 4
+ release
+ end
+
+VerdanturfTown_EventScript_1EB5CF:: @ 81EB5CF
+ msgbox VerdanturfTown_Text_1EB935, 4
+ release
+ end
+
+VerdanturfTown_EventScript_1EB5D9:: @ 81EB5D9
+ msgbox VerdanturfTown_Text_1EB9C4, 3
+ end
+
+VerdanturfTown_EventScript_1EB5E2:: @ 81EB5E2
+ msgbox VerdanturfTown_Text_1EBA11, 3
+ end
+
+VerdanturfTown_EventScript_1EB5EB:: @ 81EB5EB
+ msgbox VerdanturfTown_Text_1EBA1F, 3
+ end
+
+VerdanturfTown_EventScript_1EB5F4:: @ 81EB5F4
+ msgbox VerdanturfTown_Text_1EBA59, 3
+ end
+
+VerdanturfTown_Text_1EB5FD: @ 81EB5FD
+ .string "My papa told me.\p"
+ .string "He says this tunnel is full of\n"
+ .string "timid POKéMON.\p"
+ .string "They get all scared of loud noise and\n"
+ .string "make a big uproar.\p"
+ .string "So they had to stop the big tunnel\n"
+ .string "project.\p"
+ .string "But there’s one man. He’s trying to dig\n"
+ .string "the tunnel by himself!$"
+
+VerdanturfTown_Text_1EB6E0: @ 81EB6E0
+ .string "There was a man who dug a tunnel for\n"
+ .string "a lady he loved.\p"
+ .string "I don’t really get it, but hey!$"
+
+VerdanturfTown_Text_1EB736: @ 81EB736
+ .string "The way the winds blow, volcanic ash\n"
+ .string "is never blown in this direction.\p"
+ .string "The air is clean and delicious here.\n"
+ .string "Living here should do wonders for even\l"
+ .string "frail and sickly people.$"
+
+VerdanturfTown_Text_1EB7E2: @ 81EB7E2
+ .string "My POKéMON and I, we’ve been riding\n"
+ .string "a hot winning streak.\p"
+ .string "So I decided to make my BATTLE TENT\n"
+ .string "debut in this town.$"
+
+VerdanturfTown_Text_1EB854: @ 81EB854
+ .string "Did you see the cave next to the\n"
+ .string "POKéMON MART?\p"
+ .string "There’s a guy in there who’s trying to\n"
+ .string "bust up boulders so he can bust out\l"
+ .string "through to the other side.\p"
+ .string "It’d be great if we could go through…\n"
+ .string "It’ll make it easy to visit RUSTBORO.$"
+
+VerdanturfTown_Text_1EB935: @ 81EB935
+ .string "That cave next to the POKéMON MART\n"
+ .string "is now a tunnel to the other side.\p"
+ .string "It’s great--it’s easy to go shop for\n"
+ .string "new DEVON products in RUSTBORO now.$"
+
+VerdanturfTown_Text_1EB9C4: @ 81EB9C4
+ .string "VERDANTURF TOWN\p"
+ .string "“The windswept highlands with the\n"
+ .string "sweet fragrance of grass.”$"
+
+VerdanturfTown_Text_1EBA11: @ 81EBA11
+ .string "WANDA’S HOUSE$"
+
+VerdanturfTown_Text_1EBA1F: @ 81EBA1F
+ .string "BATTLE TENT VERDANTURF SITE\n"
+ .string "“Feast Your Eyes on Battles!”$"
+
+VerdanturfTown_Text_1EBA59: @ 81EBA59
+ .string "RUSTURF TUNNEL\n"
+ .string "“Linking RUSTBORO and VERDANTURF\p"
+ .string "“The tunnel project has been\n"
+ .string "canceled.”$"
+
diff --git a/data/scripts/maps/VerdanturfTown_BattleTentBattleRoom.inc b/data/scripts/maps/VerdanturfTown_BattleTentBattleRoom.inc
new file mode 100644
index 000000000..e2ff39cd7
--- /dev/null
+++ b/data/scripts/maps/VerdanturfTown_BattleTentBattleRoom.inc
@@ -0,0 +1,200 @@
+VerdanturfTown_BattleTentBattleRoom_MapScripts:: @ 82022FA
+ map_script 3, VerdanturfTown_BattleTentBattleRoom_MapScript1_20230A
+ map_script 2, VerdanturfTown_BattleTentBattleRoom_MapScript2_20233E
+ map_script 4, VerdanturfTown_BattleTentBattleRoom_MapScript2_202541
+ .byte 0
+
+VerdanturfTown_BattleTentBattleRoom_MapScript1_20230A: @ 820230A
+ call VerdanturfTown_BattleTentBattleRoom_EventScript_202310
+ end
+
+VerdanturfTown_BattleTentBattleRoom_EventScript_202310:: @ 8202310
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202328
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202333
+ return
+
+VerdanturfTown_BattleTentBattleRoom_EventScript_202328:: @ 8202328
+ setvar VAR_0x4011, 100
+ setvar VAR_0x4010, 100
+ return
+
+VerdanturfTown_BattleTentBattleRoom_EventScript_202333:: @ 8202333
+ setvar VAR_0x4011, 105
+ setvar VAR_0x4010, 105
+ return
+
+VerdanturfTown_BattleTentBattleRoom_MapScript2_20233E: @ 820233E
+ map_script_2 VAR_0x4000, 0, VerdanturfTown_BattleTentBattleRoom_EventScript_202348
+ .2byte 0
+
+VerdanturfTown_BattleTentBattleRoom_EventScript_202348:: @ 8202348
+ showobjectat 1, VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM
+ applymovement 1, VerdanturfTown_BattleTentBattleRoom_Movement_202575
+ waitmovement 0
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C
+
+VerdanturfTown_BattleTentBattleRoom_EventScript_20236F:: @ 820236F
+ setvar VAR_0x8004, 3
+ special sub_8161F74
+ addobject 2
+ applymovement 2, VerdanturfTown_BattleTentBattleRoom_Movement_20257B
+ waitmovement 0
+ setvar VAR_0x8004, 4
+ special sub_81B99B4
+ msgbox 0x2021fc4, 4
+ waitmessage
+ call VerdanturfTown_BattleTentBattleRoom_EventScript_24FDF7
+ switch VAR_RESULT
+ case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_2023C8
+
+VerdanturfTown_BattleTentBattleRoom_EventScript_2023AA:: @ 82023AA
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 4
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ warp VERDANTURF_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
+ waitstate
+
+VerdanturfTown_BattleTentBattleRoom_EventScript_2023C8:: @ 82023C8
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ addvar VAR_RESULT, 1
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 2
+ copyvar VAR_0x8006, VAR_RESULT
+ special sub_81A1780
+ switch VAR_RESULT
+ case 3, VerdanturfTown_BattleTentBattleRoom_EventScript_202501
+ applymovement 2, VerdanturfTown_BattleTentBattleRoom_Movement_202581
+ waitmovement 0
+ removeobject 2
+ applymovement 3, VerdanturfTown_BattleTentBattleRoom_Movement_2725AA
+ applymovement 1, VerdanturfTown_BattleTentBattleRoom_Movement_2725A6
+ waitmovement 0
+ msgbox VerdanturfTown_BattleTentBattleRoom_Text_24FF00, 4
+ special copy_player_party_from_sav1
+ special copy_player_party_to_sav1
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 3
+ special sub_81A1780
+ playfanfare BGM_ME_ASA
+ waitfanfare
+ special sp000_heal_pokemon
+
+VerdanturfTown_BattleTentBattleRoom_EventScript_20243C:: @ 820243C
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 2
+ special sub_81A1780
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, VerdanturfTown_BattleTentBattleRoom_EventScript_202565
+ compare_var_to_value VAR_RESULT, 2
+ call_if 1, VerdanturfTown_BattleTentBattleRoom_EventScript_20256C
+ multichoice 20, 6, 104, 1
+ switch VAR_RESULT
+ case 0, VerdanturfTown_BattleTentBattleRoom_EventScript_2024EA
+ case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_20248A
+ case 2, VerdanturfTown_BattleTentBattleRoom_EventScript_2024B8
+
+VerdanturfTown_BattleTentBattleRoom_EventScript_20248A:: @ 820248A
+ msgbox VerdanturfTown_BattleTentBattleRoom_Text_250030, 5
+ switch VAR_RESULT
+ case 0, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C
+ case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_20251F
+ case 127, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C
+
+VerdanturfTown_BattleTentBattleRoom_EventScript_2024B8:: @ 82024B8
+ message VerdanturfTown_BattleTentBattleRoom_Text_25005A
+ waitmessage
+ multichoicedefault 20, 8, 94, 1, 0
+ switch VAR_RESULT
+ case 1, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C
+ case 0, VerdanturfTown_BattleTentBattleRoom_EventScript_2023AA
+ case 127, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C
+
+VerdanturfTown_BattleTentBattleRoom_EventScript_2024EA:: @ 82024EA
+ applymovement 3, VerdanturfTown_BattleTentBattleRoom_Movement_2725A8
+ applymovement 1, VerdanturfTown_BattleTentBattleRoom_Movement_2725A8
+ waitmovement 0
+ closemessage
+ goto VerdanturfTown_BattleTentBattleRoom_EventScript_20236F
+
+VerdanturfTown_BattleTentBattleRoom_EventScript_202501:: @ 8202501
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 3
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ warp VERDANTURF_TOWN_BATTLE_TENT_LOBBY, 255, 6, 6
+ waitstate
+
+VerdanturfTown_BattleTentBattleRoom_EventScript_20251F:: @ 820251F
+ message VerdanturfTown_BattleTentBattleRoom_Text_25007E
+ waitmessage
+ setvar VAR_0x8004, 5
+ setvar VAR_0x8005, 2
+ special sub_81B99B4
+ playse SE_SAVE
+ waitse
+ fadescreen 1
+ setvar VAR_0x8004, 4
+ special sub_81A1780
+ end
+
+VerdanturfTown_BattleTentBattleRoom_MapScript2_202541: @ 8202541
+ map_script_2 VAR_0x4001, 0, VerdanturfTown_BattleTentBattleRoom_EventScript_20254B
+ .2byte 0
+
+VerdanturfTown_BattleTentBattleRoom_EventScript_20254B:: @ 820254B
+ hideobjectat 1, VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM
+ call VerdanturfTown_BattleTentBattleRoom_EventScript_202310
+ setvar VAR_0x4001, 1
+ applymovement 255, VerdanturfTown_BattleTentBattleRoom_Movement_202573
+ removeobject 2
+ end
+
+VerdanturfTown_BattleTentBattleRoom_EventScript_202565:: @ 8202565
+ message VerdanturfTown_BattleTentBattleRoom_Text_24FF28
+ waitmessage
+ return
+
+VerdanturfTown_BattleTentBattleRoom_EventScript_20256C:: @ 820256C
+ message VerdanturfTown_BattleTentBattleRoom_Text_24FF54
+ waitmessage
+ return
+
+VerdanturfTown_BattleTentBattleRoom_Movement_202573: @ 8202573
+ step_54
+ step_end
+
+VerdanturfTown_BattleTentBattleRoom_Movement_202575: @ 8202575
+ step_55
+ step_up
+ step_up
+ step_up
+ step_03
+ step_end
+
+VerdanturfTown_BattleTentBattleRoom_Movement_20257B: @ 820257B
+ step_down
+ step_down
+ step_down
+ step_down
+ step_02
+ step_end
+
+VerdanturfTown_BattleTentBattleRoom_Movement_202581: @ 8202581
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
diff --git a/data/scripts/maps/VerdanturfTown_BattleTentCorridor.inc b/data/scripts/maps/VerdanturfTown_BattleTentCorridor.inc
new file mode 100644
index 000000000..a44e98ed8
--- /dev/null
+++ b/data/scripts/maps/VerdanturfTown_BattleTentCorridor.inc
@@ -0,0 +1,69 @@
+VerdanturfTown_BattleTentCorridor_MapScripts:: @ 820208A
+ map_script 2, VerdanturfTown_BattleTentCorridor_MapScript2_202090
+ .byte 0
+
+VerdanturfTown_BattleTentCorridor_MapScript2_202090: @ 8202090
+ map_script_2 VAR_0x4000, 0, VerdanturfTown_BattleTentCorridor_EventScript_20209A
+ .2byte 0
+
+VerdanturfTown_BattleTentCorridor_EventScript_20209A:: @ 820209A
+ lockall
+ setvar VAR_0x4000, 1
+ applymovement 1, VerdanturfTown_BattleTentCorridor_Movement_2020DE
+ applymovement 255, VerdanturfTown_BattleTentCorridor_Movement_2020DE
+ waitmovement 0
+ opendoor 2, 1
+ waitdooranim
+ applymovement 1, VerdanturfTown_BattleTentCorridor_Movement_2020E4
+ applymovement 255, VerdanturfTown_BattleTentCorridor_Movement_2020E3
+ waitmovement 0
+ closedoor 2, 1
+ waitdooranim
+ setvar VAR_0x8006, 0
+ warp VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM, 255, 6, 5
+ waitstate
+ releaseall
+ end
+
+VerdanturfTown_BattleTentCorridor_Movement_2020DE: @ 82020DE
+ step_up
+ step_up
+ step_up
+ step_up
+ step_end
+
+VerdanturfTown_BattleTentCorridor_Movement_2020E3: @ 82020E3
+ step_up
+
+VerdanturfTown_BattleTentCorridor_Movement_2020E4: @ 82020E4
+ step_up
+ step_54
+ step_end
+
+VerdanturfTown_BattleTentCorridor_Text_2020E7: @ 82020E7
+ .string "Which CONTEST are you entering?\n"
+ .string "Want a piece of advice?\p"
+ .string "In any CONTEST, for example, a CUTE\n"
+ .string "CONTEST, I don’t think they judge you\l"
+ .string "only on cuteness in the first round.\p"
+ .string "You need to work out ways for raising\n"
+ .string "POKéMON better.$"
+
+VerdanturfTown_BattleTentCorridor_Text_2021C4: @ 82021C4
+ .string "I raised my POKéMON to be cute.\p"
+ .string "I found out you can put POKéMON in\n"
+ .string "a CONTEST for cuteness!\p"
+ .string "I’m so glad I raised my POKéMON with\n"
+ .string "loving care…$"
+
+VerdanturfTown_BattleTentCorridor_Text_202251: @ 8202251
+ .string "My POKéMON rules!\p"
+ .string "It’s cool, tough yet beautiful, cute,\n"
+ .string "and smart. It’s complete!\p"
+ .string "I may as well go for wins in every\n"
+ .string "single CONTEST.$"
+
+VerdanturfTown_BattleTentCorridor_Text_2022D6: @ 82022D6
+ .string "POKéMON CONTESTS\n"
+ .string "NORMAL RANK STAGE!$"
+
diff --git a/data/scripts/maps/VerdanturfTown_BattleTentLobby.inc b/data/scripts/maps/VerdanturfTown_BattleTentLobby.inc
new file mode 100644
index 000000000..7ffd5c162
--- /dev/null
+++ b/data/scripts/maps/VerdanturfTown_BattleTentLobby.inc
@@ -0,0 +1,439 @@
+VerdanturfTown_BattleTentLobby_MapScripts:: @ 82016D0
+ map_script 2, VerdanturfTown_BattleTentLobby_MapScript2_2016EF
+ map_script 4, VerdanturfTown_BattleTentLobby_MapScript2_2016DB
+ .byte 0
+
+VerdanturfTown_BattleTentLobby_MapScript2_2016DB: @ 82016DB
+ map_script_2 VAR_0x4001, 0, VerdanturfTown_BattleTentLobby_EventScript_2016E5
+ .2byte 0
+
+VerdanturfTown_BattleTentLobby_EventScript_2016E5:: @ 82016E5
+ setvar VAR_0x4001, 1
+ turnobject 255, 2
+ end
+
+VerdanturfTown_BattleTentLobby_MapScript2_2016EF: @ 82016EF
+ map_script_2 VAR_0x4000, 0, VerdanturfTown_BattleTentLobby_EventScript_201719
+ map_script_2 VAR_0x4000, 1, VerdanturfTown_BattleTentLobby_EventScript_201722
+ map_script_2 VAR_0x4000, 2, VerdanturfTown_BattleTentLobby_EventScript_201837
+ map_script_2 VAR_0x4000, 3, VerdanturfTown_BattleTentLobby_EventScript_201757
+ map_script_2 VAR_0x4000, 4, VerdanturfTown_BattleTentLobby_EventScript_2017FD
+ .2byte 0
+
+VerdanturfTown_BattleTentLobby_EventScript_201719:: @ 8201719
+ setvar VAR_0x8004, 0
+ special sub_81A1780
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_201722:: @ 8201722
+ lockall
+ msgbox VerdanturfTown_BattleTentLobby_Text_24E636, 4
+ closemessage
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x4000, 255
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ releaseall
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_201757:: @ 8201757
+ lockall
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C5731, 4
+ message VerdanturfTown_BattleTentLobby_Text_2C5791
+ waitmessage
+ setvar VAR_0x8004, 6
+ special sub_81B99B4
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x8004, 5
+ setvar VAR_0x8005, 0
+ special sub_81B99B4
+ playse SE_SAVE
+ waitse
+
+VerdanturfTown_BattleTentLobby_EventScript_201791:: @ 8201791
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C57CD, 4
+ setvar VAR_0x8004, 7
+ special sub_81B99B4
+ switch VAR_RESULT
+ case 0, VerdanturfTown_BattleTentLobby_EventScript_2017DD
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ message VerdanturfTown_BattleTentLobby_Text_24A554
+ waitmessage
+ playfanfare BGM_FANFA4
+ waitfanfare
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, 4
+ closemessage
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_2017DD:: @ 82017DD
+ msgbox VerdanturfTown_BattleTentLobby_Text_24E57B, 4
+ waitmessage
+ closemessage
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_2017EE:: @ 82017EE
+ lockall
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C5731, 4
+ goto VerdanturfTown_BattleTentLobby_EventScript_201791
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_2017FD:: @ 82017FD
+ lockall
+ message VerdanturfTown_BattleTentLobby_Text_2C56B8
+ waitmessage
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x8004, 5
+ setvar VAR_0x8005, 0
+ special sub_81B99B4
+ playse SE_SAVE
+ waitse
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, 4
+ closemessage
+ setvar VAR_0x4000, 255
+ releaseall
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_201837:: @ 8201837
+ lockall
+ msgbox VerdanturfTown_BattleTentLobby_Text_24E5D8, 4
+ message VerdanturfTown_BattleTentLobby_Text_24E5F6
+ waitmessage
+ setvar VAR_0x8004, 5
+ setvar VAR_0x8005, 1
+ special sub_81B99B4
+ playse SE_SAVE
+ waitse
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ setvar VAR_0x4000, 255
+ goto VerdanturfTown_BattleTentLobby_EventScript_2019AE
+
+VerdanturfTown_BattleTentLobby_EventScript_201873:: @ 8201873
+ lock
+ faceplayer
+ setvar VAR_0x8004, 1
+ special sub_81B99B4
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, VerdanturfTown_BattleTentLobby_EventScript_2017EE
+ special copy_player_party_to_sav1
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C50C3, 4
+
+VerdanturfTown_BattleTentLobby_EventScript_201893:: @ 8201893
+ message VerdanturfTown_BattleTentLobby_Text_2C5129
+ waitmessage
+ multichoice 17, 6, 23, 0
+ switch VAR_RESULT
+ case 0, VerdanturfTown_BattleTentLobby_EventScript_2018CF
+ case 1, VerdanturfTown_BattleTentLobby_EventScript_2019DB
+ case 2, VerdanturfTown_BattleTentLobby_EventScript_201A37
+ case 127, VerdanturfTown_BattleTentLobby_EventScript_201A37
+
+VerdanturfTown_BattleTentLobby_EventScript_2018CF:: @ 82018CF
+ setvar VAR_FRONTIER_FACILITY, 2
+ setvar VAR_0x40CE, 0
+ setvar VAR_RESULT, 2
+ setvar VAR_0x8004, 15
+ special sub_81A1780
+ compare_var_to_value VAR_0x8004, 1
+ goto_eq VerdanturfTown_BattleTentLobby_EventScript_2019E8
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 1
+ setvar VAR_0x8006, 2
+ special sub_81A1780
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C5633, 4
+ fadescreen 1
+ setvar VAR_0x8004, 1
+ setvar VAR_0x8005, 3
+ special sub_80F9490
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq VerdanturfTown_BattleTentLobby_EventScript_201A34
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C5662, 5
+ switch VAR_RESULT
+ case 0, VerdanturfTown_BattleTentLobby_EventScript_201A34
+ case 1, VerdanturfTown_BattleTentLobby_EventScript_201954
+ case 127, VerdanturfTown_BattleTentLobby_EventScript_201A34
+
+VerdanturfTown_BattleTentLobby_EventScript_201954:: @ 8201954
+ setvar VAR_0x4000, 0
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 4
+ special sub_81A1780
+ setvar VAR_0x8004, 0
+ special sub_81B99B4
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 1
+ special sub_81A1780
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 3
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ special copy_player_party_from_sav1
+ closemessage
+ delay 2
+ call VerdanturfTown_BattleTentLobby_EventScript_27134F
+ setvar VAR_0x4000, 255
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq VerdanturfTown_BattleTentLobby_EventScript_201A1D
+
+VerdanturfTown_BattleTentLobby_EventScript_2019AE:: @ 82019AE
+ special copy_player_party_to_sav1
+ setvar VAR_0x8004, 3
+ setvar VAR_0x8005, 3
+ special sub_81A1780
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C56A2, 4
+ closemessage
+ call VerdanturfTown_BattleTentLobby_EventScript_201A41
+ warp VERDANTURF_TOWN_BATTLE_TENT_CORRIDOR, 255, 2, 7
+ setvar VAR_0x4000, 0
+ waitstate
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_2019DB:: @ 82019DB
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C5163, 4
+ goto VerdanturfTown_BattleTentLobby_EventScript_201893
+
+VerdanturfTown_BattleTentLobby_EventScript_2019E8:: @ 82019E8
+ switch VAR_RESULT
+ case 0, VerdanturfTown_BattleTentLobby_EventScript_201A03
+ case 1, VerdanturfTown_BattleTentLobby_EventScript_201A10
+
+VerdanturfTown_BattleTentLobby_EventScript_201A03:: @ 8201A03
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C543D, 4
+ goto VerdanturfTown_BattleTentLobby_EventScript_201A3F
+
+VerdanturfTown_BattleTentLobby_EventScript_201A10:: @ 8201A10
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C5538, 4
+ goto VerdanturfTown_BattleTentLobby_EventScript_201A3F
+
+VerdanturfTown_BattleTentLobby_EventScript_201A1D:: @ 8201A1D
+ setvar VAR_0x8004, 2
+ setvar VAR_0x8005, 0
+ setvar VAR_0x8006, 0
+ special sub_81A1780
+ goto VerdanturfTown_BattleTentLobby_EventScript_201A37
+
+VerdanturfTown_BattleTentLobby_EventScript_201A34:: @ 8201A34
+ special copy_player_party_from_sav1
+
+VerdanturfTown_BattleTentLobby_EventScript_201A37:: @ 8201A37
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C539A, 4
+
+VerdanturfTown_BattleTentLobby_EventScript_201A3F:: @ 8201A3F
+ release
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_201A41:: @ 8201A41
+ applymovement 1, VerdanturfTown_BattleTentLobby_Movement_201A70
+ applymovement 255, VerdanturfTown_BattleTentLobby_Movement_201A70
+ waitmovement 0
+ opendoor 6, 1
+ waitdooranim
+ applymovement 1, VerdanturfTown_BattleTentLobby_Movement_201A74
+ applymovement 255, VerdanturfTown_BattleTentLobby_Movement_201A77
+ waitmovement 0
+ closedoor 6, 1
+ waitdooranim
+ return
+
+VerdanturfTown_BattleTentLobby_Movement_201A70: @ 8201A70
+ step_up
+ step_up
+ step_up
+ step_end
+
+VerdanturfTown_BattleTentLobby_Movement_201A74: @ 8201A74
+ step_up
+ step_54
+ step_end
+
+VerdanturfTown_BattleTentLobby_Movement_201A77: @ 8201A77
+ step_up
+ step_up
+ step_54
+ step_end
+
+VerdanturfTown_BattleTentLobby_EventScript_201A7B:: @ 8201A7B
+ lock
+ faceplayer
+ checkflag FLAG_0x0EB
+ goto_eq VerdanturfTown_BattleTentLobby_EventScript_201AB2
+ msgbox VerdanturfTown_BattleTentLobby_Text_201D9E, 4
+ giveitem_std ITEM_TM45
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq VerdanturfTown_BattleTentLobby_EventScript_272054
+ setflag FLAG_0x0EB
+ msgbox VerdanturfTown_BattleTentLobby_Text_201E43, 4
+ release
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_201AB2:: @ 8201AB2
+ msgbox VerdanturfTown_BattleTentLobby_Text_201E43, 4
+ release
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_201ABC:: @ 8201ABC
+ msgbox VerdanturfTown_BattleTentLobby_Text_201EB1, 2
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_201AC5:: @ 8201AC5
+ lock
+ msgbox VerdanturfTown_BattleTentLobby_Text_201BD4, 4
+ release
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_201AD0:: @ 8201AD0
+ lock
+ faceplayer
+ checkflag FLAG_0x1CC
+ goto_eq VerdanturfTown_BattleTentLobby_EventScript_201AED
+ msgbox VerdanturfTown_BattleTentLobby_Text_201F3F, 4
+ addvar VAR_0x40D1, 1
+ setflag FLAG_0x1CC
+ release
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_201AED:: @ 8201AED
+ msgbox VerdanturfTown_BattleTentLobby_Text_202025, 4
+ release
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_201AF7:: @ 8201AF7
+ lock
+ msgbox VerdanturfTown_BattleTentLobby_Text_201D11, 4
+ release
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_201B02:: @ 8201B02
+ lockall
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C6878, 4
+ goto VerdanturfTown_BattleTentLobby_EventScript_201B11
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_201B11:: @ 8201B11
+ message VerdanturfTown_BattleTentLobby_Text_24EF88
+ waitmessage
+ setvar VAR_0x8004, 12
+ special sub_813A128
+ waitstate
+ switch VAR_RESULT
+ case 0, VerdanturfTown_BattleTentLobby_EventScript_201B7E
+ case 1, VerdanturfTown_BattleTentLobby_EventScript_201B8C
+ case 2, VerdanturfTown_BattleTentLobby_EventScript_201B9A
+ case 3, VerdanturfTown_BattleTentLobby_EventScript_201BA8
+ case 4, VerdanturfTown_BattleTentLobby_EventScript_201BB6
+ case 5, VerdanturfTown_BattleTentLobby_EventScript_201BC4
+ case 6, VerdanturfTown_BattleTentLobby_EventScript_201BD2
+ case 127, VerdanturfTown_BattleTentLobby_EventScript_201BD2
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_201B7E:: @ 8201B7E
+ msgbox VerdanturfTown_BattleTentLobby_Text_2C67CD, 4
+ goto VerdanturfTown_BattleTentLobby_EventScript_201B11
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_201B8C:: @ 8201B8C
+ msgbox VerdanturfTown_BattleTentLobby_Text_24EFAB, 4
+ goto VerdanturfTown_BattleTentLobby_EventScript_201B11
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_201B9A:: @ 8201B9A
+ msgbox VerdanturfTown_BattleTentLobby_Text_24F049, 4
+ goto VerdanturfTown_BattleTentLobby_EventScript_201B11
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_201BA8:: @ 8201BA8
+ msgbox VerdanturfTown_BattleTentLobby_Text_24F190, 4
+ goto VerdanturfTown_BattleTentLobby_EventScript_201B11
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_201BB6:: @ 8201BB6
+ msgbox VerdanturfTown_BattleTentLobby_Text_24F2E8, 4
+ goto VerdanturfTown_BattleTentLobby_EventScript_201B11
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_201BC4:: @ 8201BC4
+ msgbox VerdanturfTown_BattleTentLobby_Text_24F3F4, 4
+ goto VerdanturfTown_BattleTentLobby_EventScript_201B11
+ end
+
+VerdanturfTown_BattleTentLobby_EventScript_201BD2:: @ 8201BD2
+ releaseall
+ end
+
+VerdanturfTown_BattleTentLobby_Text_201BD4: @ 8201BD4
+ .string "If it doesn’t like a certain move,\n"
+ .string "a POKéMON will be reluctant to use it.\p"
+ .string "It doesn’t matter how strong it is,\n"
+ .string "either.\p"
+ .string "For example, a POKéMON with a GENTLE\n"
+ .string "nature probably won’t enjoy hurting\l"
+ .string "its opponents.\p"
+ .string "If it can’t seem to live up to its\n"
+ .string "potential, it’s probably failing at\l"
+ .string "using a disliked move against its will.$"
+
+VerdanturfTown_BattleTentLobby_Text_201D11: @ 8201D11
+ .string "My big sister is gentle usually.\n"
+ .string "But when she gets angry,\l"
+ .string "she’s really, really scary!\p"
+ .string "I bet a gentle POKéMON will be scary\n"
+ .string "if it gets angry!$"
+
+VerdanturfTown_BattleTentLobby_Text_201D9E: @ 8201D9E
+ .string "My feelings toward my POKéMON…\n"
+ .string "The attraction runs deep…\p"
+ .string "Oh, hi, you didn’t see that, did you?\n"
+ .string "Well, it doesn’t matter.\p"
+ .string "How would you like this TM for\n"
+ .string "your POKéMON?$"
+
+VerdanturfTown_BattleTentLobby_Text_201E43: @ 8201E43
+ .string "My feelings toward my POKéMON…\n"
+ .string "I’m sure the attraction is mutual!\p"
+ .string "They battle exactly the way I want\n"
+ .string "them to!$"
+
+VerdanturfTown_BattleTentLobby_Text_201EB1: @ 8201EB1
+ .string "What kind of moves have you taught\n"
+ .string "your POKéMON?\p"
+ .string "I think you would give yourself\n"
+ .string "an advantage if they knew how to\l"
+ .string "heal or protect themselves.$"
+
+VerdanturfTown_BattleTentLobby_Text_201F3F: @ 8201F3F
+ .string "SCOTT: Hey there, {PLAYER}{KUN}!\n"
+ .string "I thought I might see you here.\p"
+ .string "A BATTLE TENT’s a place where\n"
+ .string "you can meet tough TRAINERS.\p"
+ .string "It doesn’t matter what the rules are,\n"
+ .string "or how battles are waged, either.\p"
+ .string "{PLAYER}{KUN}, I expect you to do\n"
+ .string "the best you can!$"
+
+VerdanturfTown_BattleTentLobby_Text_202025: @ 8202025
+ .string "SCOTT: I visit here regularly in hopes\n"
+ .string "of seeing tough TRAINERS in action\l"
+ .string "in whatever the situation.$"
+
diff --git a/data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc b/data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc
new file mode 100644
index 000000000..ee62be96e
--- /dev/null
+++ b/data/scripts/maps/VerdanturfTown_FriendshipRatersHouse.inc
@@ -0,0 +1,104 @@
+VerdanturfTown_FriendshipRatersHouse_MapScripts:: @ 8203030
+ .byte 0
+
+VerdanturfTown_FriendshipRatersHouse_EventScript_203031:: @ 8203031
+ lock
+ faceplayer
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_2030ED, 4
+ specialvar VAR_RESULT, sub_8138C04
+ switch VAR_RESULT
+ case 0, VerdanturfTown_FriendshipRatersHouse_EventScript_203094
+ case 1, VerdanturfTown_FriendshipRatersHouse_EventScript_20309E
+ case 2, VerdanturfTown_FriendshipRatersHouse_EventScript_2030A8
+ case 3, VerdanturfTown_FriendshipRatersHouse_EventScript_2030B2
+ case 4, VerdanturfTown_FriendshipRatersHouse_EventScript_2030BC
+ case 5, VerdanturfTown_FriendshipRatersHouse_EventScript_2030C6
+ case 6, VerdanturfTown_FriendshipRatersHouse_EventScript_2030D0
+ release
+ end
+
+VerdanturfTown_FriendshipRatersHouse_EventScript_203094:: @ 8203094
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_2032DF, 4
+ release
+ end
+
+VerdanturfTown_FriendshipRatersHouse_EventScript_20309E:: @ 820309E
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_203288, 4
+ release
+ end
+
+VerdanturfTown_FriendshipRatersHouse_EventScript_2030A8:: @ 82030A8
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_203249, 4
+ release
+ end
+
+VerdanturfTown_FriendshipRatersHouse_EventScript_2030B2:: @ 82030B2
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_203213, 4
+ release
+ end
+
+VerdanturfTown_FriendshipRatersHouse_EventScript_2030BC:: @ 82030BC
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_2031D1, 4
+ release
+ end
+
+VerdanturfTown_FriendshipRatersHouse_EventScript_2030C6:: @ 82030C6
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_203192, 4
+ release
+ end
+
+VerdanturfTown_FriendshipRatersHouse_EventScript_2030D0:: @ 82030D0
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_203141, 4
+ release
+ end
+
+VerdanturfTown_FriendshipRatersHouse_EventScript_2030DA:: @ 82030DA
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_PIKACHU, 0
+ msgbox VerdanturfTown_FriendshipRatersHouse_Text_20334A, 4
+ waitmoncry
+ release
+ end
+
+VerdanturfTown_FriendshipRatersHouse_Text_2030ED: @ 82030ED
+ .string "Let me see your POKéMON.\n"
+ .string "I’ll check to see how much it likes you.\p"
+ .string "Oh.\n"
+ .string "Your POKéMON…$"
+
+VerdanturfTown_FriendshipRatersHouse_Text_203141: @ 8203141
+ .string "It adores you.\n"
+ .string "It can’t possibly love you any more.\l"
+ .string "I even feel happy seeing it.$"
+
+VerdanturfTown_FriendshipRatersHouse_Text_203192: @ 8203192
+ .string "It seems to be very happy.\n"
+ .string "It obviously likes you a whole lot.$"
+
+VerdanturfTown_FriendshipRatersHouse_Text_2031D1: @ 82031D1
+ .string "It likes you quite a lot.\n"
+ .string "It seems to want to be babied a little.$"
+
+VerdanturfTown_FriendshipRatersHouse_Text_203213: @ 8203213
+ .string "It’s getting used to you.\n"
+ .string "It seems to believe in you.$"
+
+VerdanturfTown_FriendshipRatersHouse_Text_203249: @ 8203249
+ .string "It’s not very used to you yet.\n"
+ .string "It neither loves nor hates you.$"
+
+VerdanturfTown_FriendshipRatersHouse_Text_203288: @ 8203288
+ .string "It’s very wary.\n"
+ .string "It has scary viciousness in its eyes.\l"
+ .string "It doesn’t like you much at all.$"
+
+VerdanturfTown_FriendshipRatersHouse_Text_2032DF: @ 82032DF
+ .string "This is a little hard for me to say…\p"
+ .string "Your POKéMON simply detests you.\n"
+ .string "Doesn’t that make you uncomfortable?$"
+
+VerdanturfTown_FriendshipRatersHouse_Text_20334A: @ 820334A
+ .string "PIKACHU: Pika pika!$"
+
diff --git a/data/scripts/maps/VerdanturfTown_House.inc b/data/scripts/maps/VerdanturfTown_House.inc
new file mode 100644
index 000000000..ce48fd662
--- /dev/null
+++ b/data/scripts/maps/VerdanturfTown_House.inc
@@ -0,0 +1,25 @@
+VerdanturfTown_House_MapScripts:: @ 820335E
+ .byte 0
+
+VerdanturfTown_House_EventScript_20335F:: @ 820335F
+ msgbox VerdanturfTown_House_Text_203371, 2
+ end
+
+VerdanturfTown_House_EventScript_203368:: @ 8203368
+ msgbox VerdanturfTown_House_Text_2033EE, 2
+ end
+
+VerdanturfTown_House_Text_203371: @ 8203371
+ .string "Far away, deep in EVER GRANDE CITY,\n"
+ .string "is the POKéMON LEAGUE.\p"
+ .string "The TRAINERS who gather there are\n"
+ .string "all frighteningly well skilled.$"
+
+VerdanturfTown_House_Text_2033EE: @ 82033EE
+ .string "In the POKéMON LEAGUE, I think the\n"
+ .string "rules say that you have to battle the\l"
+ .string "ELITE FOUR all in a row.\p"
+ .string "If you lose to any of them, you have\n"
+ .string "to begin your challenge again from the\l"
+ .string "first one.$"
+
diff --git a/data/scripts/maps/VerdanturfTown_Mart.inc b/data/scripts/maps/VerdanturfTown_Mart.inc
new file mode 100644
index 000000000..96daf2c84
--- /dev/null
+++ b/data/scripts/maps/VerdanturfTown_Mart.inc
@@ -0,0 +1,60 @@
+VerdanturfTown_Mart_MapScripts:: @ 8202586
+ .byte 0
+
+VerdanturfTown_Mart_EventScript_202587:: @ 8202587
+ lock
+ faceplayer
+ message gUnknown_08272A21
+ waitmessage
+ pokemart VerdanturfTown_Mart_Pokemart_2025A0
+ msgbox gUnknown_08272A3F, 4
+ release
+ end
+
+ .align 2
+VerdanturfTown_Mart_Pokemart_2025A0: @ 82025A0
+ .2byte ITEM_GREAT_BALL
+ .2byte ITEM_NEST_BALL
+ .2byte ITEM_SUPER_POTION
+ .2byte ITEM_ANTIDOTE
+ .2byte ITEM_PARALYZE_HEAL
+ .2byte ITEM_AWAKENING
+ .2byte ITEM_BURN_HEAL
+ .2byte ITEM_ICE_HEAL
+ .2byte ITEM_REPEL
+ .2byte ITEM_X_SPECIAL
+ .2byte ITEM_FLUFFY_TAIL
+ .2byte ITEM_NONE
+ release
+ end
+
+VerdanturfTown_Mart_EventScript_2025BA:: @ 82025BA
+ msgbox VerdanturfTown_Mart_Text_2025D5, 2
+ end
+
+VerdanturfTown_Mart_EventScript_2025C3:: @ 82025C3
+ msgbox VerdanturfTown_Mart_Text_20264C, 2
+ end
+
+VerdanturfTown_Mart_EventScript_2025CC:: @ 82025CC
+ msgbox VerdanturfTown_Mart_Text_2026C9, 2
+ end
+
+VerdanturfTown_Mart_Text_2025D5: @ 82025D5
+ .string "For any POKéMON match, X SPECIAL\n"
+ .string "is crucial.\p"
+ .string "It jacks up the power of some moves\n"
+ .string "even though it’s only for one battle.$"
+
+VerdanturfTown_Mart_Text_20264C: @ 820264C
+ .string "They don’t seem to sell any winning\n"
+ .string "strategy guides for the BATTLE TENT…\p"
+ .string "It seems one must rely on one’s\n"
+ .string "own wits after all…$"
+
+VerdanturfTown_Mart_Text_2026C9: @ 82026C9
+ .string "The NEST BALL works better on\n"
+ .string "weakened POKéMON.\p"
+ .string "VERDANTURF is the only place you can\n"
+ .string "buy it.$"
+
diff --git a/data/scripts/maps/VerdanturfTown_PokemonCenter_1F.inc b/data/scripts/maps/VerdanturfTown_PokemonCenter_1F.inc
new file mode 100644
index 000000000..73c7fe1f3
--- /dev/null
+++ b/data/scripts/maps/VerdanturfTown_PokemonCenter_1F.inc
@@ -0,0 +1,42 @@
+VerdanturfTown_PokemonCenter_1F_MapScripts:: @ 8202726
+ map_script 3, VerdanturfTown_PokemonCenter_1F_MapScript1_202731
+ map_script 5, VerdanturfTown_PokemonCenter_1F_MapScript1_277C30
+ .byte 0
+
+VerdanturfTown_PokemonCenter_1F_MapScript1_202731: @ 8202731
+ setrespawn 18
+ call VerdanturfTown_PokemonCenter_1F_EventScript_2718DE
+ end
+
+VerdanturfTown_PokemonCenter_1F_EventScript_20273A:: @ 820273A
+ setvar VAR_0x800B, 1
+ call VerdanturfTown_PokemonCenter_1F_EventScript_27191E
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+VerdanturfTown_PokemonCenter_1F_EventScript_202748:: @ 8202748
+ msgbox VerdanturfTown_PokemonCenter_1F_Text_20275A, 2
+ end
+
+VerdanturfTown_PokemonCenter_1F_EventScript_202751:: @ 8202751
+ msgbox VerdanturfTown_PokemonCenter_1F_Text_20280B, 2
+ end
+
+VerdanturfTown_PokemonCenter_1F_Text_20275A: @ 820275A
+ .string "You can’t consider yourself a real\n"
+ .string "TRAINER if you don’t have faith\l"
+ .string "in your POKéMON.\p"
+ .string "Only those people who can believe\n"
+ .string "in their battling POKéMON can win\l"
+ .string "through to the very end.$"
+
+VerdanturfTown_PokemonCenter_1F_Text_20280B: @ 820280B
+ .string "The reason why anyone would visit\n"
+ .string "VERDANTURF…\p"
+ .string "It’s the BATTLE TENT. It goes without\n"
+ .string "saying.\p"
+ .string "Or is there somebody here that you\n"
+ .string "came to see?$"
+
diff --git a/data/scripts/maps/VerdanturfTown_PokemonCenter_2F.inc b/data/scripts/maps/VerdanturfTown_PokemonCenter_2F.inc
new file mode 100644
index 000000000..9e93a628e
--- /dev/null
+++ b/data/scripts/maps/VerdanturfTown_PokemonCenter_2F.inc
@@ -0,0 +1,19 @@
+VerdanturfTown_PokemonCenter_2F_MapScripts:: @ 8202897
+ map_script 2, VerdanturfTown_PokemonCenter_2F_MapScript2_276C3B
+ map_script 4, VerdanturfTown_PokemonCenter_2F_MapScript2_276B6C
+ map_script 1, VerdanturfTown_PokemonCenter_2F_MapScript1_276BBE
+ map_script 3, VerdanturfTown_PokemonCenter_2F_MapScript1_276ACF
+ .byte 0
+
+VerdanturfTown_PokemonCenter_2F_EventScript_2028AC:: @ 82028AC
+ call OldaleTown_PokemonCenter_2F_EventScript_276EB7
+ end
+
+VerdanturfTown_PokemonCenter_2F_EventScript_2028B2:: @ 82028B2
+ call OldaleTown_PokemonCenter_2F_EventScript_2770B2
+ end
+
+VerdanturfTown_PokemonCenter_2F_EventScript_2028B8:: @ 82028B8
+ call OldaleTown_PokemonCenter_2F_EventScript_2771DB
+ end
+
diff --git a/data/scripts/maps/VerdanturfTown_WandasHouse.inc b/data/scripts/maps/VerdanturfTown_WandasHouse.inc
new file mode 100644
index 000000000..fabff6420
--- /dev/null
+++ b/data/scripts/maps/VerdanturfTown_WandasHouse.inc
@@ -0,0 +1,176 @@
+VerdanturfTown_WandasHouse_MapScripts:: @ 82028BE
+ .byte 0
+
+VerdanturfTown_WandasHouse_EventScript_2028BF:: @ 82028BF
+ lock
+ faceplayer
+ checkflag FLAG_0x0C1
+ goto_eq VerdanturfTown_WandasHouse_EventScript_2028D7
+ msgbox VerdanturfTown_WandasHouse_Text_202993, 4
+ setflag FLAG_0x0C1
+ release
+ end
+
+VerdanturfTown_WandasHouse_EventScript_2028D7:: @ 82028D7
+ msgbox VerdanturfTown_WandasHouse_Text_202ABE, 4
+ release
+ end
+
+VerdanturfTown_WandasHouse_EventScript_2028E1:: @ 82028E1
+ lock
+ faceplayer
+ checkflag FLAG_0x07E
+ goto_eq VerdanturfTown_WandasHouse_EventScript_202909
+ checkflag FLAG_0x4F3
+ goto_eq VerdanturfTown_WandasHouse_EventScript_2028FF
+ msgbox VerdanturfTown_WandasHouse_Text_202B37, 4
+ release
+ end
+
+VerdanturfTown_WandasHouse_EventScript_2028FF:: @ 82028FF
+ msgbox VerdanturfTown_WandasHouse_Text_202C20, 4
+ release
+ end
+
+VerdanturfTown_WandasHouse_EventScript_202909:: @ 8202909
+ msgbox VerdanturfTown_WandasHouse_Text_202C4E, 4
+ release
+ end
+
+VerdanturfTown_WandasHouse_EventScript_202913:: @ 8202913
+ msgbox VerdanturfTown_WandasHouse_Text_202E00, 2
+ end
+
+VerdanturfTown_WandasHouse_EventScript_20291C:: @ 820291C
+ lock
+ faceplayer
+ checkflag FLAG_0x4F3
+ goto_eq VerdanturfTown_WandasHouse_EventScript_202944
+ checkflag FLAG_0x0BE
+ goto_eq VerdanturfTown_WandasHouse_EventScript_20293A
+ msgbox VerdanturfTown_WandasHouse_Text_202D91, 4
+ release
+ end
+
+VerdanturfTown_WandasHouse_EventScript_20293A:: @ 820293A
+ msgbox VerdanturfTown_WandasHouse_Text_202CCF, 4
+ release
+ end
+
+VerdanturfTown_WandasHouse_EventScript_202944:: @ 8202944
+ msgbox VerdanturfTown_WandasHouse_Text_202D91, 4
+ release
+ end
+
+VerdanturfTown_WandasHouse_EventScript_20294E:: @ 820294E
+ lock
+ faceplayer
+ checkflag FLAG_0x07E
+ goto_eq VerdanturfTown_WandasHouse_EventScript_202989
+ checkflag FLAG_0x4F3
+ goto_eq VerdanturfTown_WandasHouse_EventScript_20297F
+ checkflag FLAG_0x0C7
+ goto_eq VerdanturfTown_WandasHouse_EventScript_202975
+ msgbox VerdanturfTown_WandasHouse_Text_202E47, 4
+ release
+ end
+
+VerdanturfTown_WandasHouse_EventScript_202975:: @ 8202975
+ msgbox VerdanturfTown_WandasHouse_Text_202F19, 4
+ release
+ end
+
+VerdanturfTown_WandasHouse_EventScript_20297F:: @ 820297F
+ msgbox VerdanturfTown_WandasHouse_Text_202F73, 4
+ release
+ end
+
+VerdanturfTown_WandasHouse_EventScript_202989:: @ 8202989
+ msgbox VerdanturfTown_WandasHouse_Text_202FDB, 4
+ release
+ end
+
+VerdanturfTown_WandasHouse_Text_202993: @ 8202993
+ .string "WALLY: I lost to you, {PLAYER}, but I’m\n"
+ .string "not feeling down anymore.\p"
+ .string "Because I have a new purpose in life.\n"
+ .string "Together with my RALTS, I’m going\l"
+ .string "to challenge POKéMON GYMS and become\l"
+ .string "a great TRAINER.\p"
+ .string "Please watch me, {PLAYER}.\n"
+ .string "I’m going to be stronger than you.\p"
+ .string "When I do, I’m going to challenge you\n"
+ .string "to another battle.$"
+
+VerdanturfTown_WandasHouse_Text_202ABE: @ 8202ABE
+ .string "WALLY: Please watch me, {PLAYER}.\n"
+ .string "I’m going to get stronger than you.\p"
+ .string "When I do, I’m going to challenge you\n"
+ .string "to another battle.$"
+
+VerdanturfTown_WandasHouse_Text_202B37: @ 8202B37
+ .string "UNCLE: Oh! {PLAYER}{KUN}!\n"
+ .string "WALLY’s next door.\p"
+ .string "But, boy, there’s something I have to\n"
+ .string "tell you.\p"
+ .string "This natural environment is doing\n"
+ .string "wonders for WALLY’s health.\p"
+ .string "Maybe it’s not just the environment.\n"
+ .string "It could be POKéMON that are giving\l"
+ .string "the boy hope.$"
+
+VerdanturfTown_WandasHouse_Text_202C20: @ 8202C20
+ .string "WALLY’s gone away…\n"
+ .string "He slipped off on his own…$"
+
+VerdanturfTown_WandasHouse_Text_202C4E: @ 8202C4E
+ .string "UNCLE: Is that right?\n"
+ .string "WALLY’s gone away that far all by\l"
+ .string "himself…\p"
+ .string "Well, I have to give him credit--he is\n"
+ .string "my little brother’s son.$"
+
+VerdanturfTown_WandasHouse_Text_202CCF: @ 8202CCF
+ .string "WANDA: You are?\n"
+ .string "Oh, right, I get it!\p"
+ .string "You’re the {PLAYER} who WALLY was\n"
+ .string "telling me about.\p"
+ .string "I’m WALLY’s cousin.\n"
+ .string "Glad to meet you!\p"
+ .string "I think WALLY’s become a lot more lively\n"
+ .string "and healthy since he came here.$"
+
+VerdanturfTown_WandasHouse_Text_202D91: @ 8202D91
+ .string "WANDA: Don’t worry about WALLY.\n"
+ .string "He’ll be just fine.\p"
+ .string "I know my little cousin, and he has\n"
+ .string "POKéMON with him, too.$"
+
+VerdanturfTown_WandasHouse_Text_202E00: @ 8202E00
+ .string "Thanks to you, I can see my girlfriend\n"
+ .string "every day.\l"
+ .string "Happy? You bet I am!$"
+
+VerdanturfTown_WandasHouse_Text_202E47: @ 8202E47
+ .string "My daughter’s boyfriend is a very\n"
+ .string "driven and passionate sort of person.\p"
+ .string "He’s been digging a tunnel nonstop\n"
+ .string "just so he can see my daughter.\p"
+ .string "My daughter’s a little concerned,\n"
+ .string "so she goes out to the tunnel a lot.$"
+
+VerdanturfTown_WandasHouse_Text_202F19: @ 8202F19
+ .string "It’s amazing. My daughter’s boyfriend\n"
+ .string "was digging the tunnel by hand!\p"
+ .string "It’s so incredible!$"
+
+VerdanturfTown_WandasHouse_Text_202F73: @ 8202F73
+ .string "If anything were to happen to WALLY,\n"
+ .string "I would never be able to look his\l"
+ .string "parents in PETALBURG in the eye…$"
+
+VerdanturfTown_WandasHouse_Text_202FDB: @ 8202FDB
+ .string "WALLY was in EVER GRANDE?\p"
+ .string "His parents in PETALBURG would be\n"
+ .string "astonished to hear that!$"
+
diff --git a/data/scripts/maps/VictoryRoad_1F.inc b/data/scripts/maps/VictoryRoad_1F.inc
new file mode 100644
index 000000000..8bc22aa3d
--- /dev/null
+++ b/data/scripts/maps/VictoryRoad_1F.inc
@@ -0,0 +1,220 @@
+VictoryRoad_1F_MapScripts:: @ 8235D7A
+ map_script 3, VictoryRoad_1F_MapScript1_235D80
+ .byte 0
+
+VictoryRoad_1F_MapScript1_235D80: @ 8235D80
+ compare_var_to_value VAR_0x40C3, 1
+ call_if 1, VictoryRoad_1F_EventScript_235D97
+ compare_var_to_value VAR_0x40C3, 2
+ call_if 1, VictoryRoad_1F_EventScript_235DA3
+ end
+
+VictoryRoad_1F_EventScript_235D97:: @ 8235D97
+ setobjectxyperm 4, 2, 24
+ setobjectmovementtype 4, 8
+ return
+
+VictoryRoad_1F_EventScript_235DA3:: @ 8235DA3
+ setobjectxyperm 4, 3, 24
+ setobjectmovementtype 4, 8
+ return
+
+VictoryRoad_1F_EventScript_235DAF:: @ 8235DAF
+ lockall
+ setvar VAR_0x8008, 1
+ addobject 4
+ applymovement 4, VictoryRoad_1F_Movement_235E15
+ waitmovement 0
+ goto VictoryRoad_1F_EventScript_235DE1
+ end
+
+VictoryRoad_1F_EventScript_235DC8:: @ 8235DC8
+ lockall
+ setvar VAR_0x8008, 2
+ addobject 4
+ applymovement 4, VictoryRoad_1F_Movement_235E21
+ waitmovement 0
+ goto VictoryRoad_1F_EventScript_235DE1
+ end
+
+VictoryRoad_1F_EventScript_235DE1:: @ 8235DE1
+ applymovement 255, VictoryRoad_1F_Movement_2725AA
+ waitmovement 0
+ msgbox VictoryRoad_1F_Text_235EE6, 4
+ trainerbattle 3, TRAINER_WALLY_1, 0, VictoryRoad_1F_Text_235FFC
+ msgbox VictoryRoad_1F_Text_236020, 4
+ clearflag FLAG_0x35A
+ moveobjectoffscreen 4
+ setflag FLAG_0x07E
+ copyvar VAR_0x40C3, VAR_0x8008
+ releaseall
+ end
+
+VictoryRoad_1F_Movement_235E15: @ 8235E15
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_up
+ step_end
+
+VictoryRoad_1F_Movement_235E21: @ 8235E21
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_left
+ step_up
+ step_end
+
+VictoryRoad_1F_EventScript_235E2C:: @ 8235E2C
+ msgbox VictoryRoad_1F_Text_236020, 2
+ end
+
+VictoryRoad_1F_EventScript_235E35:: @ 8235E35
+ trainerbattle 0, TRAINER_WALLY_3, 0, VictoryRoad_1F_Text_236073, VictoryRoad_1F_Text_2360DA
+ specialvar VAR_RESULT, sub_80B226C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq VictoryRoad_1F_EventScript_235E5C
+ msgbox VictoryRoad_1F_Text_2360FE, 6
+ end
+
+VictoryRoad_1F_EventScript_235E5C:: @ 8235E5C
+ trainerbattle 5, TRAINER_WALLY_3, 0, VictoryRoad_1F_Text_236073, VictoryRoad_1F_Text_2360DA
+ msgbox VictoryRoad_1F_Text_2360FE, 6
+ end
+
+VictoryRoad_1F_EventScript_235E73:: @ 8235E73
+ trainerbattle 0, TRAINER_EDGAR, 0, VictoryRoad_1F_Text_236184, VictoryRoad_1F_Text_2361CB
+ msgbox VictoryRoad_1F_Text_2361E5, 6
+ end
+
+VictoryRoad_1F_EventScript_235E8A:: @ 8235E8A
+ trainerbattle 0, TRAINER_ALBERT, 0, VictoryRoad_1F_Text_236248, VictoryRoad_1F_Text_236290
+ msgbox VictoryRoad_1F_Text_2362A4, 6
+ end
+
+VictoryRoad_1F_EventScript_235EA1:: @ 8235EA1
+ trainerbattle 0, TRAINER_HOPE, 0, VictoryRoad_1F_Text_2362EE, VictoryRoad_1F_Text_236336
+ msgbox VictoryRoad_1F_Text_236356, 6
+ end
+
+VictoryRoad_1F_EventScript_235EB8:: @ 8235EB8
+ trainerbattle 0, TRAINER_QUINCY, 0, VictoryRoad_1F_Text_236390, VictoryRoad_1F_Text_2363C4
+ msgbox VictoryRoad_1F_Text_2363D5, 6
+ end
+
+VictoryRoad_1F_EventScript_235ECF:: @ 8235ECF
+ trainerbattle 0, TRAINER_KATELYNN, 0, VictoryRoad_1F_Text_236468, VictoryRoad_1F_Text_2364A7
+ msgbox VictoryRoad_1F_Text_2364BB, 6
+ end
+
+VictoryRoad_1F_Text_235EE6: @ 8235EE6
+ .string "WALLY: Hi! {PLAYER}!\p"
+ .string "I bet you’re surprised to see me here!\p"
+ .string "I made it all the way here, and it’s\n"
+ .string "all thanks to you!\p"
+ .string "{PLAYER}, losing to you that time\n"
+ .string "made me stronger!\p"
+ .string "But I’m not going to lose anymore!\p"
+ .string "I’m going to win! For the POKéMON who\n"
+ .string "gave me courage and strength!\p"
+ .string "Okay… Here I come!$"
+
+VictoryRoad_1F_Text_235FFC: @ 8235FFC
+ .string "Wow!\n"
+ .string "{PLAYER}, you are strong, after all!$"
+
+VictoryRoad_1F_Text_236020: @ 8236020
+ .string "WALLY: I couldn’t beat you today,\n"
+ .string "{PLAYER}, but one of these days, I’ll\l"
+ .string "catch up to you!$"
+
+VictoryRoad_1F_Text_236073: @ 8236073
+ .string "WALLY: Hi! {PLAYER}!\p"
+ .string "I’ve gotten stronger since that last\n"
+ .string "time! I wanted to show you, {PLAYER}!\p"
+ .string "Okay… Here I come!$"
+
+VictoryRoad_1F_Text_2360DA: @ 82360DA
+ .string "Wow!\n"
+ .string "{PLAYER}, you are strong, after all!$"
+
+VictoryRoad_1F_Text_2360FE: @ 82360FE
+ .string "WALLY: I couldn’t beat you this time,\n"
+ .string "too… But one of these days, {PLAYER},\l"
+ .string "I’m going to catch up to you…\p"
+ .string "And challenge the POKéMON LEAGUE!$"
+
+VictoryRoad_1F_Text_236184: @ 8236184
+ .string "I’ve made it this far a couple times,\n"
+ .string "but the last stretch is so long…$"
+
+VictoryRoad_1F_Text_2361CB: @ 82361CB
+ .string "My dream ends here again…$"
+
+VictoryRoad_1F_Text_2361E5: @ 82361E5
+ .string "You’ve made it this far. Keep the\n"
+ .string "momentum going and become the\l"
+ .string "CHAMPION! If anyone can, it’s you!$"
+
+VictoryRoad_1F_Text_236248: @ 8236248
+ .string "I didn’t come all this way to lose now.\n"
+ .string "That possibility doesn’t exist!$"
+
+VictoryRoad_1F_Text_236290: @ 8236290
+ .string "Impossible…\n"
+ .string "I lost?$"
+
+VictoryRoad_1F_Text_2362A4: @ 82362A4
+ .string "I lost here…\p"
+ .string "That means I lack the qualifications\n"
+ .string "to become the CHAMPION…$"
+
+VictoryRoad_1F_Text_2362EE: @ 82362EE
+ .string "This seemingly infinite and harsh road\n"
+ .string "lives up to its name of VICTORY.$"
+
+VictoryRoad_1F_Text_236336: @ 8236336
+ .string "Your battle style is fantastic…$"
+
+VictoryRoad_1F_Text_236356: @ 8236356
+ .string "You seem to have the potential for\n"
+ .string "becoming the CHAMPION.$"
+
+VictoryRoad_1F_Text_236390: @ 8236390
+ .string "What is the VICTORY ROAD?\n"
+ .string "I’ll tell you if you win!$"
+
+VictoryRoad_1F_Text_2363C4: @ 82363C4
+ .string "Okay!\n"
+ .string "Well done!$"
+
+VictoryRoad_1F_Text_2363D5: @ 82363D5
+ .string "Getting through here safely--that’s\n"
+ .string "the final test for any TRAINER aiming\l"
+ .string "to become the POKéMON CHAMPION.\p"
+ .string "That’s why it’s called the VICTORY\n"
+ .string "ROAD.$"
+
+VictoryRoad_1F_Text_236468: @ 8236468
+ .string "I have nothing to say to anyone\n"
+ .string "that’s come this far. Come on!$"
+
+VictoryRoad_1F_Text_2364A7: @ 82364A7
+ .string "This is a disgrace…$"
+
+VictoryRoad_1F_Text_2364BB: @ 82364BB
+ .string "Humph, go right on ahead.\n"
+ .string "See if I care.$"
+
diff --git a/data/scripts/maps/VictoryRoad_B1F.inc b/data/scripts/maps/VictoryRoad_B1F.inc
new file mode 100644
index 000000000..376fda7d5
--- /dev/null
+++ b/data/scripts/maps/VictoryRoad_B1F.inc
@@ -0,0 +1,91 @@
+VictoryRoad_B1F_MapScripts:: @ 82364E4
+ .byte 0
+
+VictoryRoad_B1F_EventScript_2364E5:: @ 82364E5
+ trainerbattle 0, TRAINER_SAMUEL, 0, VictoryRoad_B1F_Text_236558, VictoryRoad_B1F_Text_2365AD
+ msgbox VictoryRoad_B1F_Text_2365C4, 6
+ end
+
+VictoryRoad_B1F_EventScript_2364FC:: @ 82364FC
+ trainerbattle 0, TRAINER_SHANNON, 0, VictoryRoad_B1F_Text_2365FD, VictoryRoad_B1F_Text_23664D
+ msgbox VictoryRoad_B1F_Text_236678, 6
+ end
+
+VictoryRoad_B1F_EventScript_236513:: @ 8236513
+ trainerbattle 0, TRAINER_MICHELLE, 0, VictoryRoad_B1F_Text_2366C2, VictoryRoad_B1F_Text_23670B
+ msgbox VictoryRoad_B1F_Text_23671B, 6
+ end
+
+VictoryRoad_B1F_EventScript_23652A:: @ 823652A
+ trainerbattle 0, TRAINER_MITCHELL, 0, VictoryRoad_B1F_Text_236757, VictoryRoad_B1F_Text_236780
+ msgbox VictoryRoad_B1F_Text_2367A7, 6
+ end
+
+VictoryRoad_B1F_EventScript_236541:: @ 8236541
+ trainerbattle 0, TRAINER_HALLE, 0, VictoryRoad_B1F_Text_2367FD, VictoryRoad_B1F_Text_23683B
+ msgbox VictoryRoad_B1F_Text_23684C, 6
+ end
+
+VictoryRoad_B1F_Text_236558: @ 8236558
+ .string "The thought that I’m getting closer to\n"
+ .string "the POKéMON LEAGUE…\p"
+ .string "I’m getting stage fright…$"
+
+VictoryRoad_B1F_Text_2365AD: @ 82365AD
+ .string "I couldn’t do a thing…$"
+
+VictoryRoad_B1F_Text_2365C4: @ 82365C4
+ .string "The POKéMON LEAGUE became distant\n"
+ .string "again… What a letdown…$"
+
+VictoryRoad_B1F_Text_2365FD: @ 82365FD
+ .string "To win your way through the POKéMON\n"
+ .string "LEAGUE, you need the trust of your\l"
+ .string "POKéMON.$"
+
+VictoryRoad_B1F_Text_23664D: @ 823664D
+ .string "Your relationship is based on\n"
+ .string "solid trust.$"
+
+VictoryRoad_B1F_Text_236678: @ 8236678
+ .string "By being together all the time, trust\n"
+ .string "grows between POKéMON and TRAINERS.$"
+
+VictoryRoad_B1F_Text_2366C2: @ 82366C2
+ .string "This isn’t the goal. It’s only a place\n"
+ .string "on the way to the POKéMON LEAGUE.$"
+
+VictoryRoad_B1F_Text_23670B: @ 823670B
+ .string "That’s the way!$"
+
+VictoryRoad_B1F_Text_23671B: @ 823671B
+ .string "You’ll do fine, for sure!\n"
+ .string "Your POKéMON are all eager to go!$"
+
+VictoryRoad_B1F_Text_236757: @ 8236757
+ .string "My POKéMON are cosmically\n"
+ .string "awe inspiring!$"
+
+VictoryRoad_B1F_Text_236780: @ 8236780
+ .string "I’ve never met anyone like you before.$"
+
+VictoryRoad_B1F_Text_2367A7: @ 82367A7
+ .string "Even outside of battle, I sense\n"
+ .string "incredible power emanating from you\l"
+ .string "and your POKéMON.$"
+
+VictoryRoad_B1F_Text_2367FD: @ 82367FD
+ .string "Okay, no need to get your back up!\n"
+ .string "Relax, let’s take it easy!$"
+
+VictoryRoad_B1F_Text_23683B: @ 823683B
+ .string "Whoa!\n"
+ .string "Wonderful!$"
+
+VictoryRoad_B1F_Text_23684C: @ 823684C
+ .string "Sure, this is VICTORY ROAD.\p"
+ .string "But it’s not all that different from\n"
+ .string "the path you’ve taken so far.\p"
+ .string "Try to enjoy things the rest of\n"
+ .string "the way!$"
+
diff --git a/data/scripts/maps/VictoryRoad_B2F.inc b/data/scripts/maps/VictoryRoad_B2F.inc
new file mode 100644
index 000000000..15deea104
--- /dev/null
+++ b/data/scripts/maps/VictoryRoad_B2F.inc
@@ -0,0 +1,108 @@
+VictoryRoad_B2F_MapScripts:: @ 82368D4
+ .byte 0
+
+VictoryRoad_B2F_EventScript_2368D5:: @ 82368D5
+ trainerbattle 0, TRAINER_VITO, 0, VictoryRoad_B2F_Text_23695F, VictoryRoad_B2F_Text_2369B3
+ msgbox VictoryRoad_B2F_Text_2369DE, 6
+ end
+
+VictoryRoad_B2F_EventScript_2368EC:: @ 82368EC
+ trainerbattle 0, TRAINER_OWEN, 0, VictoryRoad_B2F_Text_236A4C, VictoryRoad_B2F_Text_236A92
+ msgbox VictoryRoad_B2F_Text_236AAE, 6
+ end
+
+VictoryRoad_B2F_EventScript_236903:: @ 8236903
+ trainerbattle 0, TRAINER_CAROLINE, 0, VictoryRoad_B2F_Text_236AF0, VictoryRoad_B2F_Text_236B14
+ msgbox VictoryRoad_B2F_Text_236B2F, 6
+ end
+
+VictoryRoad_B2F_EventScript_23691A:: @ 823691A
+ trainerbattle 0, TRAINER_JULIE, 0, VictoryRoad_B2F_Text_236B88, VictoryRoad_B2F_Text_236C0A
+ msgbox VictoryRoad_B2F_Text_236C21, 6
+ end
+
+VictoryRoad_B2F_EventScript_236931:: @ 8236931
+ trainerbattle 0, TRAINER_FELIX, 0, VictoryRoad_B2F_Text_236C67, VictoryRoad_B2F_Text_236CAB
+ msgbox VictoryRoad_B2F_Text_236CBA, 6
+ end
+
+VictoryRoad_B2F_EventScript_236948:: @ 8236948
+ trainerbattle 0, TRAINER_DIANNE, 0, VictoryRoad_B2F_Text_236D27, VictoryRoad_B2F_Text_236D6E
+ msgbox VictoryRoad_B2F_Text_236D8C, 6
+ end
+
+VictoryRoad_B2F_Text_23695F: @ 823695F
+ .string "I trained together with my whole family,\n"
+ .string "every one of us!\l"
+ .string "I’m not losing to anyone!$"
+
+VictoryRoad_B2F_Text_2369B3: @ 82369B3
+ .string "Better than my family?!\n"
+ .string "Is that possible?!$"
+
+VictoryRoad_B2F_Text_2369DE: @ 82369DE
+ .string "I was better than everyone in my\n"
+ .string "family. I’ve never lost before…\p"
+ .string "I’ve lost my confidence…\n"
+ .string "Maybe I’ll go home…$"
+
+VictoryRoad_B2F_Text_236A4C: @ 8236A4C
+ .string "I’d heard that there was a tough\n"
+ .string "little kid around. Do they mean you?$"
+
+VictoryRoad_B2F_Text_236A92: @ 8236A92
+ .string "The little shrimp is tough!$"
+
+VictoryRoad_B2F_Text_236AAE: @ 8236AAE
+ .string "The rumors I heard, that tough little\n"
+ .string "kid is from PETALBURG CITY.$"
+
+VictoryRoad_B2F_Text_236AF0: @ 8236AF0
+ .string "You must be getting a little tired.$"
+
+VictoryRoad_B2F_Text_236B14: @ 8236B14
+ .string "No signs of tiring at all!$"
+
+VictoryRoad_B2F_Text_236B2F: @ 8236B2F
+ .string "VICTORY ROAD and the POKéMON LEAGUE\n"
+ .string "are long and grueling challenges.\l"
+ .string "Beware of fatigue!$"
+
+VictoryRoad_B2F_Text_236B88: @ 8236B88
+ .string "You shouldn’t get complacent just\n"
+ .string "because you have a lot of GYM BADGES.\p"
+ .string "There’s always going to be someone\n"
+ .string "who’s better than you!$"
+
+VictoryRoad_B2F_Text_236C0A: @ 8236C0A
+ .string "You’re better than me!$"
+
+VictoryRoad_B2F_Text_236C21: @ 8236C21
+ .string "Gaze on your collected BADGES and\n"
+ .string "remember the TRAINERS you’ve faced.$"
+
+VictoryRoad_B2F_Text_236C67: @ 8236C67
+ .string "I’ve come this far, but the tension’s\n"
+ .string "giving me awful stomach pain…$"
+
+VictoryRoad_B2F_Text_236CAB: @ 8236CAB
+ .string "Ooh…\n"
+ .string "It hurts…$"
+
+VictoryRoad_B2F_Text_236CBA: @ 8236CBA
+ .string "I can’t help getting all tense knowing\n"
+ .string "that I’m nearing the POKéMON LEAGUE.\p"
+ .string "It’s all I can do to feign calm.$"
+
+VictoryRoad_B2F_Text_236D27: @ 8236D27
+ .string "The elite among the elite gather in\n"
+ .string "this cave.\p"
+ .string "How are you finding it?$"
+
+VictoryRoad_B2F_Text_236D6E: @ 8236D6E
+ .string "Not rattled in the least bit!$"
+
+VictoryRoad_B2F_Text_236D8C: @ 8236D8C
+ .string "You do have guts! I like that!\n"
+ .string "Keep it going!$"
+
diff --git a/data/scripts/mauville_man.inc b/data/scripts/mauville_man.inc
new file mode 100644
index 000000000..8ee62a5d5
--- /dev/null
+++ b/data/scripts/mauville_man.inc
@@ -0,0 +1,893 @@
+MauvilleCity_PokemonCenter_1F_EventScript_28E066:: @ 828E066
+ special sub_81201DC
+ switch VAR_RESULT
+ case 0, MauvilleCity_PokemonCenter_1F_EventScript_28E0A6
+ case 1, MauvilleCity_PokemonCenter_1F_EventScript_28E167
+ case 2, MauvilleCity_PokemonCenter_1F_EventScript_28E4D4
+ case 3, MauvilleCity_PokemonCenter_1F_EventScript_29014A
+ case 4, MauvilleCity_PokemonCenter_1F_EventScript_2902F6
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_28E0A6:: @ 828E0A6
+ lock
+ faceplayer
+ msgbox MauvilleCity_PokemonCenter_1F_Text_29038E, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0C7
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0EA
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_28E0C7:: @ 828E0C7
+ setvar VAR_0x8004, 0
+ special sub_8120340
+ delay 60
+ special sub_81201F4
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0F4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_2903E6, 4
+ release
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_28E0EA:: @ 828E0EA
+ msgbox MauvilleCity_PokemonCenter_1F_Text_2903C0, 4
+ release
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_28E0F4:: @ 828E0F4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_290421, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E113
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E15D
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_28E113:: @ 828E113
+ setvar VAR_0x8004, 6
+ call MauvilleCity_PokemonCenter_1F_EventScript_271E7C
+ lock
+ faceplayer
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E15D
+ msgbox MauvilleCity_PokemonCenter_1F_Text_2904C1, 4
+ setvar VAR_0x8004, 1
+ special sub_8120340
+ delay 60
+ msgbox MauvilleCity_PokemonCenter_1F_Text_2904EB, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E113
+ special sub_8120210
+ msgbox MauvilleCity_PokemonCenter_1F_Text_290514, 4
+ release
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_28E15D:: @ 828E15D
+ msgbox MauvilleCity_PokemonCenter_1F_Text_29049B, 4
+ release
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_28E167:: @ 828E167
+ lock
+ faceplayer
+ setflag FLAG_SYS_HIPSTER_MEET
+ msgbox MauvilleCity_PokemonCenter_1F_Text_29054C, 4
+ special sub_8120358
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E18C
+ msgbox MauvilleCity_PokemonCenter_1F_Text_290598, 4
+ release
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_28E18C:: @ 828E18C
+ special sub_812038C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E1A4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_290602, 4
+ release
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_28E1A4:: @ 828E1A4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_290666, 4
+ special sub_8120374
+ release
+ end
+
+MauvilleCity_PokemonCenter_1F_Text_28E1B1: @ 828E1B1
+ .string "Hi, I’m the TRADER.\n"
+ .string "Want to trade decorations with me?$"
+
+MauvilleCity_PokemonCenter_1F_Text_28E1E8: @ 828E1E8
+ .string "Oh…\n"
+ .string "You’ve left me feeling the blues…$"
+
+MauvilleCity_PokemonCenter_1F_Text_28E20E: @ 828E20E
+ .string "But we’ve traded decorations already,\n"
+ .string "you and I.$"
+
+MauvilleCity_PokemonCenter_1F_Text_28E23F: @ 828E23F
+ .string "If you see any decorative item that\n"
+ .string "you want of mine, speak up.$"
+
+MauvilleCity_PokemonCenter_1F_Text_28E27F: @ 828E27F
+ .string "You don’t want anything?\n"
+ .string "I feel unwanted…$"
+
+MauvilleCity_PokemonCenter_1F_Text_28E2A9: @ 828E2A9
+ .string "That decorative item once belonged\n"
+ .string "to {STR_VAR_1}.\p"
+ .string "Do you want it?$"
+
+MauvilleCity_PokemonCenter_1F_Text_28E2E3: @ 828E2E3
+ .string "Uh… Wait a second. You don’t have a\n"
+ .string "single piece of decoration!$"
+
+MauvilleCity_PokemonCenter_1F_Text_28E323: @ 828E323
+ .string "Okay, pick the decoration that you’ll\n"
+ .string "trade to me.$"
+
+MauvilleCity_PokemonCenter_1F_Text_28E356: @ 828E356
+ .string "You won’t trade with me?\n"
+ .string "I feel unwanted…$"
+
+MauvilleCity_PokemonCenter_1F_Text_28E380: @ 828E380
+ .string "You’ve got all the {STR_VAR_2}S that can\n"
+ .string "be stored. You’ve no room for this.$"
+
+MauvilleCity_PokemonCenter_1F_Text_28E3C4: @ 828E3C4
+ .string "Okay, so we’ll trade my {STR_VAR_3}\n"
+ .string "for your {STR_VAR_2}?$"
+
+MauvilleCity_PokemonCenter_1F_Text_28E3EC: @ 828E3EC
+ .string "That piece of decoration is in use.\n"
+ .string "You can’t trade it.$"
+
+MauvilleCity_PokemonCenter_1F_Text_28E424: @ 828E424
+ .string "Then we’ll trade!\n"
+ .string "I’ll send my decoration to your PC.$"
+
+MauvilleCity_PokemonCenter_1F_Text_28E45A: @ 828E45A
+ .string "Oops! Sorry! That’s a really rare\n"
+ .string "piece of decoration.\l"
+ .string "I can’t trade that one away!\p"
+ .string "Can I interest you in something else?$"
+
+MauvilleCity_PokemonCenter_1F_EventScript_28E4D4:: @ 828E4D4
+ lock
+ faceplayer
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E1B1, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E503
+ special sub_8133CD8
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E50D
+ message MauvilleCity_PokemonCenter_1F_Text_28E23F
+ waitmessage
+ goto MauvilleCity_PokemonCenter_1F_EventScript_28E517
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_28E503:: @ 828E503
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E1E8, 4
+ release
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_28E50D:: @ 828E50D
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E20E, 4
+ release
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_28E517:: @ 828E517
+ special sub_8133EC0
+ waitstate
+ compare_var_to_value VAR_0x8004, 0
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E558
+ compare_var_to_value VAR_0x8004, 65535
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E562
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E2A9, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E56E
+ special sub_8133CF4
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E57A
+ goto MauvilleCity_PokemonCenter_1F_EventScript_28E584
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_28E558:: @ 828E558
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E27F, 4
+ release
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_28E562:: @ 828E562
+ message MauvilleCity_PokemonCenter_1F_Text_28E45A
+ waitmessage
+ goto MauvilleCity_PokemonCenter_1F_EventScript_28E517
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_28E56E:: @ 828E56E
+ message MauvilleCity_PokemonCenter_1F_Text_28E23F
+ waitmessage
+ goto MauvilleCity_PokemonCenter_1F_EventScript_28E517
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_28E57A:: @ 828E57A
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E2E3, 4
+ release
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_28E584:: @ 828E584
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E323, 4
+ special sub_8133D8C
+ waitstate
+ compare_var_to_value VAR_0x8006, 0
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5D4
+ compare_var_to_value VAR_0x8006, 65535
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5DE
+ special sub_8133D2C
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5EC
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E3C4, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E584
+ special sub_8133E38
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E424, 4
+ release
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_28E5D4:: @ 828E5D4
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E356, 4
+ release
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_28E5DE:: @ 828E5DE
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E3EC, 4
+ goto MauvilleCity_PokemonCenter_1F_EventScript_28E584
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_28E5EC:: @ 828E5EC
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E380, 4
+ release
+ end
+
+MauvilleCity_PokemonCenter_1F_Text_28E5F6: @ 828E5F6
+ .string "I’m the STORYTELLER.\n"
+ .string "I’ll tell you tales of legendary\l"
+ .string "TRAINERS.\p"
+ .string "Will you hear my tale?$"
+
+MauvilleCity_PokemonCenter_1F_Text_28E64D: @ 828E64D
+ .string "Oh…\n"
+ .string "You’ve left me feeling the blues…$"
+
+MauvilleCity_PokemonCenter_1F_Text_28E673: @ 828E673
+ .string "I know of these legends.\n"
+ .string "Which tale will you have me tell?$"
+
+MauvilleCity_PokemonCenter_1F_Text_28E6AE: @ 828E6AE
+ .string "But, I know of no legendary TRAINERS.\n"
+ .string "Hence, I know no tales.\p"
+ .string "Where does one find a TRAINER worthy\n"
+ .string "of a legendary tale?$"
+
+MauvilleCity_PokemonCenter_1F_Text_28E726: @ 828E726
+ .string "What’s that?!\n"
+ .string "You… You…\p"
+ .string "{STR_VAR_2}\n"
+ .string "{STR_VAR_1} time(s)?!\p"
+ .string "That is indeed magnificent!\n"
+ .string "It’s the birth of a new legend!$"
+
+MauvilleCity_PokemonCenter_1F_Text_28E78A: @ 828E78A
+ .string "It gets me thinking, could there be\n"
+ .string "other TRAINERS with more impressive\l"
+ .string "legends awaiting discovery?$"
+
+MauvilleCity_PokemonCenter_1F_Text_28E7EE: @ 828E7EE
+ .string "Are you a TRAINER?\p"
+ .string "Then tell me, have you any tales that\n"
+ .string "are even remotely legendary?$"
+
+MauvilleCity_PokemonCenter_1F_Text_28E844: @ 828E844
+ .string "Incidentally… Would you care to hear\n"
+ .string "another legendary tale?$"
+
+MauvilleCity_PokemonCenter_1F_Text_28E881: @ 828E881
+ .string "Hmm…\n"
+ .string "I’m not satisfied…\p"
+ .string "I wish you would bring me news worthy\n"
+ .string "of being called a legend.$"
+
+MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
+ .string "I wish more people would be interested\n"
+ .string "in hearing my epic tales of legendary\l"
+ .string "TRAINERS.$"
+
+ .string "The Save-Happy TRAINER$"
+
+ .string "Saved the game$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER saved the game\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "A more cautious TRAINER than\n"
+ .string "{STR_VAR_3} one will never find!$"
+
+ .string "The Trendsetter TRAINER$"
+
+ .string "Started trends$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER started new trends\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} is setting trends for all\n"
+ .string "the HOENN region!$"
+
+ .string "The BERRY-Planting TRAINER$"
+
+ .string "Planted BERRIES$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER planted BERRIES\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} is a legendary lover of\n"
+ .string "BERRIES!$"
+
+ .string "The BIKE-Loving TRAINER$"
+
+ .string "Traded BIKES$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER swapped BIKES\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} must love BIKES deeply\n"
+ .string "and passionately!$"
+
+ .string "The Interviewed TRAINER$"
+
+ .string "Got interviewed$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER got interviewed\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} must be a TRAINER who’s\n"
+ .string "attracting much attention!$"
+
+ .string "The Battle-Happy TRAINER$"
+
+ .string "Battled$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER battled {STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} must be a TRAINER who can\n"
+ .string "never refuse a chance to battle!$"
+
+ .string "The POKéMON-Catching TRAINER$"
+
+ .string "Caught POKéMON$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER caught\n"
+ .string "{STR_VAR_1} POKéMON!\p"
+ .string "{STR_VAR_3} is a legendary catcher of\n"
+ .string "wild POKéMON!$"
+
+ .string "The Fishing TRAINER$"
+
+ .string "Caught POKéMON with a ROD$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER caught\n"
+ .string "{STR_VAR_1} POKéMON while fishing!\p"
+ .string "{STR_VAR_3} is a legendary fishing\n"
+ .string "expert!$"
+
+ .string "The EGG-Warming TRAINER$"
+
+ .string "Hatched EGGS$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER hatched {STR_VAR_1} POKéMON\n"
+ .string "from EGGS!\p"
+ .string "{STR_VAR_3} is a legendary warmer\n"
+ .string "of EGGS!$"
+
+ .string "The Evolver TRAINER$"
+
+ .string "Evolved POKéMON$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER made {STR_VAR_1} POKéMON\n"
+ .string "evolve!\p"
+ .string "{STR_VAR_3} is the ultimate evolver\n"
+ .string "of POKéMON!$"
+
+ .string "The POKéMON CENTER-Loving TRAINER$"
+
+ .string "Used POKéMON CENTERS$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER healed POKéMON\n"
+ .string "{STR_VAR_1} times at POKéMON CENTERS!\p"
+ .string "There could be no greater lover of\n"
+ .string "POKéMON CENTERS than {STR_VAR_3}!$"
+
+ .string "The Homebody TRAINER$"
+
+ .string "Rested POKéMON at home$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER healed POKéMON\n"
+ .string "{STR_VAR_1} times at home!\p"
+ .string "There could be no more of a homebody\n"
+ .string "than {STR_VAR_3}!$"
+
+ .string "The SAFARI-Loving TRAINER$"
+
+ .string "Entered the SAFARI ZONE$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER went into the SAFARI ZONE\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} is a TRAINER whose wild side\n"
+ .string "must come out in the SAFARI ZONE!$"
+
+ .string "The CUT-Frenzy TRAINER$"
+
+ .string "Used CUT$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER used CUT\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} is a TRAINER who just must\n"
+ .string "love to CUT!$"
+
+ .string "The ROCK-SMASHING TRAINER$"
+
+ .string "Smashed rocks$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER used ROCK SMASH\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} must be a TRAINER who\n"
+ .string "can’t leave a stone unsmashed!$"
+
+ .string "The Move-Loving TRAINER$"
+
+ .string "Moved the SECRET BASE$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER moved the SECRET BASE\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} is a TRAINER who loves\n"
+ .string "to move houses often!$"
+
+ .string "The SPLASH-Happy TRAINER$"
+
+ .string "Used SPLASH$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER used SPLASH\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} is a TRAINER who must love\n"
+ .string "SPLASHING around!$"
+
+ .string "The Tenacious TRAINER$"
+
+ .string "Resorted to using STRUGGLE$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER had to rely on STRUGGLE\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} is a tenacious TRAINER\n"
+ .string "who never gives in to adversity!$"
+
+ .string "The SLOT Champ$"
+
+ .string "Won the jackpot on the SLOTS$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER won the jackpot on\n"
+ .string "the SLOTS {STR_VAR_1} times.\p"
+ .string "{STR_VAR_3} is a TRAINER who was lucky\n"
+ .string "on the SLOTS!$"
+
+ .string "The ROULETTE Champ$"
+
+ .string "Had consecutive ROULETTE wins of$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER won in ROULETTE\n"
+ .string "{STR_VAR_1} times in a row.\p"
+ .string "{STR_VAR_3} was lucky when the ball\n"
+ .string "bounced in ROULETTE!$"
+
+ .string "The BATTLE TOWER Challenger$"
+
+ .string "Took the BATTLE TOWER challenge$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER took the BATTLE TOWER\n"
+ .string "challenge {STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} is a TRAINER who aspires\n"
+ .string "for excellence in the BATTLE TOWER!$"
+
+ .string "The Blend-Loving TRAINER$"
+
+ .string "Made {POKEBLOCK}S$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER made {POKEBLOCK}S\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "There is none better at using a BERRY\n"
+ .string "BLENDER than {STR_VAR_3}!$"
+
+ .string "The CONTEST-Loving TRAINER$"
+
+ .string "Entered CONTESTS$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER entered CONTESTS\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} must love showing off\n"
+ .string "POKéMON to others!$"
+
+ .string "The CONTEST Master$"
+
+ .string "Won CONTESTS$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER won CONTESTS\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} must be an incredible\n"
+ .string "CONTEST master!$"
+
+ .string "The Happy Shopper$"
+
+ .string "Shopped$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER bought items in shops\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} must be one of those\n"
+ .string "people who are born to shop.$"
+
+ .string "The Item-Finding TRAINER$"
+
+ .string "Used an ITEMFINDER$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER used an ITEMFINDER\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} must enjoy scouring the\n"
+ .string "ground for hidden items!$"
+
+ .string "The Rain-Soaked TRAINER$"
+
+ .string "Got rained on$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER got soaked by rain\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "{STR_VAR_3}’s charisma must even\n"
+ .string "attract rain!$"
+
+ .string "The Avid POKéDEX Reader$"
+
+ .string "Checked a POKéDEX$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER checked a POKéDEX\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} must love inspecting\n"
+ .string "POKéMON in a POKéDEX!$"
+
+ .string "The RIBBON Collector$"
+
+ .string "Received RIBBONS$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER received RIBBONS\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} must be a TRAINER who\n"
+ .string "loves to collect RIBBONS!$"
+
+ .string "The Ledge-Jumping TRAINER$"
+
+ .string "Jumped down ledges$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER jumped down ledges\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "If there’s a ledge to be jumped,\n"
+ .string "{STR_VAR_3} can’t ignore it!$"
+
+ .string "The Legendary TV Viewer$"
+
+ .string "Watched TV$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER watched TV\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} must love watching TV!$"
+
+ .string "The Time-Conscious TRAINER$"
+
+ .string "Checked the time$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER checked the time\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} must be a punctual TRAINER\n"
+ .string "who’s conscious of the time.$"
+
+ .string "The POKéMON LOTTERY Wizard$"
+
+ .string "Won POKéMON LOTTERIES$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER won POKéMON LOTTERIES\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} must have many friends\n"
+ .string "to trade POKéMON with!$"
+
+ .string "The DAY CARE-Using Trainer$"
+
+ .string "Left POKéMON at the DAY CARE$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER left POKéMON with the\n"
+ .string "DAY CARE {STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} must be a real go-getter\n"
+ .string "who raises POKéMON aggressively!$"
+
+ .string "The CABLE CAR-Loving TRAINER$"
+
+ .string "Rode the CABLE CAR$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER rode the CABLE CAR\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} must be a busy TRAINER\n"
+ .string "who’s up and down all the time!$"
+
+ .string "The Hot Spring-Loving TRAINER$"
+
+ .string "Bathed in hot springs$"
+
+ .string "This is a tale of a TRAINER\n"
+ .string "named {STR_VAR_3}.\p"
+ .string "This TRAINER bathed in hot springs\n"
+ .string "{STR_VAR_1} times!\p"
+ .string "{STR_VAR_3} must be a TRAINER with\n"
+ .string "baby-smooth skin!$"
+
+MauvilleCity_PokemonCenter_1F_EventScript_29014A:: @ 829014A
+ lock
+ faceplayer
+ setvar VAR_0x8008, 0
+ setvar VAR_0x8009, 0
+ setvar VAR_0x800A, 0
+ setvar VAR_0x800B, 0
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E5F6, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290219
+ specialvar VAR_RESULT, sub_81213B0
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_2901DA
+ message MauvilleCity_PokemonCenter_1F_Text_28E673
+ waitmessage
+ special sub_8121388
+ waitstate
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_2901B7
+ setvar VAR_0x8008, 1
+ special sub_812139C
+ waitmessage
+ waitbuttonpress
+ specialvar VAR_RESULT, sub_81213D8
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_2901BD
+ goto MauvilleCity_PokemonCenter_1F_EventScript_29020F
+
+MauvilleCity_PokemonCenter_1F_EventScript_2901B7:: @ 82901B7
+ goto MauvilleCity_PokemonCenter_1F_EventScript_290219
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_2901BD:: @ 82901BD
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E78A, 4
+ specialvar VAR_RESULT, sub_8121424
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29022D
+ goto MauvilleCity_PokemonCenter_1F_EventScript_2901E2
+
+MauvilleCity_PokemonCenter_1F_EventScript_2901DA:: @ 82901DA
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E6AE, 4
+
+MauvilleCity_PokemonCenter_1F_EventScript_2901E2:: @ 82901E2
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E7EE, 5
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290219
+ specialvar VAR_RESULT, sub_8121450
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29020F
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E881, 4
+ release
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_29020F:: @ 829020F
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E726, 4
+ release
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_290219:: @ 8290219
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E64D, 4
+ release
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_290223:: @ 8290223
+ msgbox MauvilleCity_PokemonCenter_1F_Text_28E8D9, 4
+ release
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_29022D:: @ 829022D
+ release
+ end
+
+MauvilleCity_PokemonCenter_1F_Text_29022F: @ 829022F
+ .string "I’m GIDDY!\n"
+ .string "I have a scintillating story for you!\p"
+ .string "Would you like to hear my story?$"
+
+MauvilleCity_PokemonCenter_1F_Text_290281: @ 8290281
+ .string "Oh…\n"
+ .string "You’ve left me feeling the blues…$"
+
+MauvilleCity_PokemonCenter_1F_Text_2902A7: @ 82902A7
+ .string "Also, I was thinking…$"
+
+MauvilleCity_PokemonCenter_1F_Text_2902BD: @ 82902BD
+ .string "That’s about it, I think…\p"
+ .string "We should chat again!\n"
+ .string "Bye-bye!$"
+
+MauvilleCity_PokemonCenter_1F_EventScript_2902F6:: @ 82902F6
+ lock
+ faceplayer
+ msgbox MauvilleCity_PokemonCenter_1F_Text_29022F, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290317
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29037A
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_290317:: @ 8290317
+ special sub_81203C4
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290359
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290384
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_290331:: @ 8290331
+ special sub_81203C4
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29034B
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290384
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_29034B:: @ 829034B
+ msgbox MauvilleCity_PokemonCenter_1F_Text_2902A7, 4
+ goto MauvilleCity_PokemonCenter_1F_EventScript_290359
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_290359:: @ 8290359
+ special sub_81203FC
+ special sub_8138AC0
+ waitmessage
+ yesnobox 20, 8
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290331
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290331
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_29037A:: @ 829037A
+ msgbox MauvilleCity_PokemonCenter_1F_Text_290281, 4
+ release
+ end
+
+MauvilleCity_PokemonCenter_1F_EventScript_290384:: @ 8290384
+ msgbox MauvilleCity_PokemonCenter_1F_Text_2902BD, 4
+ release
+ end
+
+MauvilleCity_PokemonCenter_1F_Text_29038E: @ 829038E
+ .string "Hi, I’m the BARD.\n"
+ .string "Would you like to hear my song?$"
+
+MauvilleCity_PokemonCenter_1F_Text_2903C0: @ 82903C0
+ .string "Oh…\n"
+ .string "You’ve left me feeling the blues…$"
+
+MauvilleCity_PokemonCenter_1F_Text_2903E6: @ 82903E6
+ .string "Oh, what a moving song…\n"
+ .string "I wish I could play it for others…$"
+
+MauvilleCity_PokemonCenter_1F_Text_290421: @ 8290421
+ .string "So?\n"
+ .string "How do you like my song?\p"
+ .string "But I’m none too happy about\n"
+ .string "the lyrics.\p"
+ .string "How would you like to write some\n"
+ .string "new lyrics for me?$"
+
+MauvilleCity_PokemonCenter_1F_Text_29049B: @ 829049B
+ .string "Oh…\n"
+ .string "You’ve left me feeling the blues…$"
+
+MauvilleCity_PokemonCenter_1F_Text_2904C1: @ 82904C1
+ .string "Thank you kindly!\n"
+ .string "Let me sing it for you.$"
+
+MauvilleCity_PokemonCenter_1F_Text_2904EB: @ 82904EB
+ .string "Was that how you wanted your song\n"
+ .string "to go?$"
+
+MauvilleCity_PokemonCenter_1F_Text_290514: @ 8290514
+ .string "Okay! That’s it, then.\n"
+ .string "I’ll sing this song for a while.$"
+
+MauvilleCity_PokemonCenter_1F_Text_29054C: @ 829054C
+ .string "Hey, yo! They call me the HIPSTER.\n"
+ .string "I’ll teach you what’s hip and happening.$"
+
+MauvilleCity_PokemonCenter_1F_Text_290598: @ 8290598
+ .string "But, hey, I taught you what’s hip and\n"
+ .string "happening already.\p"
+ .string "I’d like to spread the good word to\n"
+ .string "other folks.$"
+
+MauvilleCity_PokemonCenter_1F_Text_290602: @ 8290602
+ .string "But, hey, you already know a lot about\n"
+ .string "what’s hip and happening.\p"
+ .string "I’ve got nothing new to teach you!$"
+
+MauvilleCity_PokemonCenter_1F_Text_290666: @ 8290666
+ .string "Hey, have you heard about\n"
+ .string "“{STR_VAR_1}”?\p"
+ .string "What’s it mean? Well…\n"
+ .string "Ask your daddy or mommy, okay?$"
diff --git a/data/scripts/mystery_event_club.inc b/data/scripts/mystery_event_club.inc
new file mode 100644
index 000000000..f5fbeec34
--- /dev/null
+++ b/data/scripts/mystery_event_club.inc
@@ -0,0 +1,169 @@
+PetalburgCity_PokemonCenter_1F_EventScript_291539:: @ 8291539
+ lock
+ faceplayer
+ checkflag FLAG_SYS_CHAT_USED
+ goto_eq PetalburgCity_PokemonCenter_1F_EventScript_2915F5
+ msgbox PetalburgCity_PokemonCenter_1F_Text_291687, 4
+ goto PetalburgCity_PokemonCenter_1F_EventScript_291552
+ end
+
+PetalburgCity_PokemonCenter_1F_EventScript_291552:: @ 8291552
+ msgbox PetalburgCity_PokemonCenter_1F_Text_2916FF, 4
+ multichoice 17, 6, 20, 0
+ switch VAR_RESULT
+ case 0, PetalburgCity_PokemonCenter_1F_EventScript_29159F
+ case 1, PetalburgCity_PokemonCenter_1F_EventScript_2915EB
+ case 2, PetalburgCity_PokemonCenter_1F_EventScript_291591
+ case 127, PetalburgCity_PokemonCenter_1F_EventScript_2915EB
+ end
+
+PetalburgCity_PokemonCenter_1F_EventScript_291591:: @ 8291591
+ msgbox PetalburgCity_PokemonCenter_1F_Text_291729, 4
+ goto PetalburgCity_PokemonCenter_1F_EventScript_291552
+ end
+
+PetalburgCity_PokemonCenter_1F_EventScript_29159F:: @ 829159F
+ msgbox PetalburgCity_PokemonCenter_1F_Text_291969, 4
+ closemessage
+ setvar VAR_0x8004, 0
+ call PetalburgCity_PokemonCenter_1F_EventScript_271E7C
+ lock
+ faceplayer
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PetalburgCity_PokemonCenter_1F_EventScript_2915CB
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq PetalburgCity_PokemonCenter_1F_EventScript_2915D5
+ end
+
+PetalburgCity_PokemonCenter_1F_EventScript_2915CB:: @ 82915CB
+ msgbox PetalburgCity_PokemonCenter_1F_Text_2919DC, 4
+ release
+ end
+
+PetalburgCity_PokemonCenter_1F_EventScript_2915D5:: @ 82915D5
+ setvar VAR_0x8004, 0
+ special sub_811EECC
+ waitmessage
+ delay 80
+ msgbox PetalburgCity_PokemonCenter_1F_Text_291B22, 4
+ release
+ end
+
+PetalburgCity_PokemonCenter_1F_EventScript_2915EB:: @ 82915EB
+ msgbox PetalburgCity_PokemonCenter_1F_Text_291991, 4
+ release
+ end
+
+PetalburgCity_PokemonCenter_1F_EventScript_2915F5:: @ 82915F5
+ msgbox PetalburgCity_PokemonCenter_1F_Text_291A1B, 4
+ goto PetalburgCity_PokemonCenter_1F_EventScript_291603
+ end
+
+PetalburgCity_PokemonCenter_1F_EventScript_291603:: @ 8291603
+ msgbox PetalburgCity_PokemonCenter_1F_Text_291A4F, 4
+ multichoice 17, 6, 20, 0
+ switch VAR_RESULT
+ case 0, PetalburgCity_PokemonCenter_1F_EventScript_291650
+ case 1, PetalburgCity_PokemonCenter_1F_EventScript_29167C
+ case 2, PetalburgCity_PokemonCenter_1F_EventScript_291642
+ case 127, PetalburgCity_PokemonCenter_1F_EventScript_29167C
+ end
+
+PetalburgCity_PokemonCenter_1F_EventScript_291642:: @ 8291642
+ msgbox PetalburgCity_PokemonCenter_1F_Text_291729, 4
+ goto PetalburgCity_PokemonCenter_1F_EventScript_291603
+ end
+
+PetalburgCity_PokemonCenter_1F_EventScript_291650:: @ 8291650
+ msgbox PetalburgCity_PokemonCenter_1F_Text_291A6B, 4
+ closemessage
+ setvar VAR_0x8004, 0
+ call PetalburgCity_PokemonCenter_1F_EventScript_271E7C
+ lock
+ faceplayer
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq PetalburgCity_PokemonCenter_1F_EventScript_2915CB
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq PetalburgCity_PokemonCenter_1F_EventScript_2915D5
+ end
+
+PetalburgCity_PokemonCenter_1F_EventScript_29167C:: @ 829167C
+ msgbox PetalburgCity_PokemonCenter_1F_Text_291ABA, 4
+ release
+ end
+
+PetalburgCity_PokemonCenter_1F_EventScript_291686:: @ 8291686
+ return
+
+PetalburgCity_PokemonCenter_1F_Text_291687: @ 8291687
+ .string "Hello there, TRAINER!\n"
+ .string "You’ve got a wonderful smile, there.\p"
+ .string "I have a hobby--collecting the profiles\n"
+ .string "of POKéMON TRAINERS.$"
+
+PetalburgCity_PokemonCenter_1F_Text_2916FF: @ 82916FF
+ .string "So, how about it?\n"
+ .string "May I see your profile?$"
+
+PetalburgCity_PokemonCenter_1F_Text_291729: @ 8291729
+ .string "You make your own profile by putting\n"
+ .string "together four words or phrases.\p"
+ .string "Here, I’ll show you an example of a\n"
+ .string "profile using four pieces of text.\p"
+ .string "You can switch those four pieces with\n"
+ .string "other text pieces any which way you\l"
+ .string "like to make your own profile.\p"
+ .string "There are a lot of text pieces that\n"
+ .string "you can use.\p"
+ .string "They are arranged in groups like\n"
+ .string "POKéMON, lifestyles, and hobbies so\l"
+ .string "it is easier to look them up.\p"
+ .string "So, first, choose the group of text\n"
+ .string "pieces to display a list of choices.\p"
+ .string "Then, pick the choice you want.\p"
+ .string "Repeat for the remaining text choices,\n"
+ .string "and you’ll have your very own profile.$"
+
+PetalburgCity_PokemonCenter_1F_Text_291969: @ 8291969
+ .string "Yes! Thank you!\n"
+ .string "So, let’s see it, then.$"
+
+PetalburgCity_PokemonCenter_1F_Text_291991: @ 8291991
+ .string "Oh, no, really?\p"
+ .string "I imagine someone like you would have\n"
+ .string "a wonderful profile…$"
+
+PetalburgCity_PokemonCenter_1F_Text_2919DC: @ 82919DC
+ .string "Oh? You’re not into it right now?\p"
+ .string "Well, anytime is good by me!$"
+
+PetalburgCity_PokemonCenter_1F_Text_291A1B: @ 8291A1B
+ .string "Hello there, TRAINER!\n"
+ .string "You’ve got a wonderful smile.$"
+
+PetalburgCity_PokemonCenter_1F_Text_291A4F: @ 8291A4F
+ .string "May I see your new profile?$"
+
+PetalburgCity_PokemonCenter_1F_Text_291A6B: @ 8291A6B
+ .string "Yes! Thank you!\p"
+ .string "I hope it’s even better than the profile\n"
+ .string "you showed me before.$"
+
+PetalburgCity_PokemonCenter_1F_Text_291ABA: @ 8291ABA
+ .string "Oh, you like your profile the way it is.\p"
+ .string "I don’t blame you--it’s a wonderful\n"
+ .string "profile the way it is now.$"
+
+PetalburgCity_PokemonCenter_1F_Text_291B22: @ 8291B22
+ .string "F-fantastic!\p"
+ .string "Your profile, it’s wonderful!\n"
+ .string "It really says what you’re about.\p"
+ .string "Why, anyone hearing this profile would\n"
+ .string "be captivated by you!\p"
+ .string "Thank you!$"
+
+PetalburgCity_PokemonCenter_1F_Text_291BB7: @ 8291BB7
+ .string "Oh?\n"
+ .string "You know the secret saying!\p"
+ .string "That means you’re now a fellow member\n"
+ .string "of the MYSTERY EVENT CLUB!$"
diff --git a/data/scripts/players_house.inc b/data/scripts/players_house.inc
new file mode 100644
index 000000000..85952d9f0
--- /dev/null
+++ b/data/scripts/players_house.inc
@@ -0,0 +1,714 @@
+LittlerootTown_BrendansHouse_2F_EventScript_2926FE:: @ 82926FE
+LittlerootTown_MaysHouse_2F_EventScript_2926FE:: @ 82926FE
+ setvar VAR_0x4092, 5
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_292704:: @ 8292704
+LittlerootTown_MaysHouse_1F_EventScript_292704:: @ 8292704
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A1C, 4
+ applymovement VAR_0x8004, LittlerootTown_BrendansHouse_1F_Movement_27259E
+ waitmovement 0
+ compare_var_to_value VAR_0x8005, 0
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_29274D
+ compare_var_to_value VAR_0x8005, 1
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292758
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A46, 4
+ closemessage
+ setvar VAR_0x4092, 4
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292763
+ applymovement VAR_0x8004, LittlerootTown_BrendansHouse_1F_Movement_2725A6
+ waitmovement 0
+ releaseall
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_29274D:: @ 829274D
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A8
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_292758:: @ 8292758
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_Movement_292763: @ 8292763
+ step_up
+ step_end
+
+LittlerootTown_BrendansHouse_1F_EventScript_292765:: @ 8292765
+LittlerootTown_MaysHouse_1F_EventScript_292765:: @ 8292765
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B24, 4
+ closemessage
+ applymovement VAR_0x8004, LittlerootTown_BrendansHouse_1F_Movement_2725A6
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292AF0
+ waitmovement 0
+ releaseall
+ end
+
+LittlerootTown_BrendansHouse_2F_EventScript_292781:: @ 8292781
+ lockall
+ setvar VAR_0x8004, 0
+ goto LittlerootTown_BrendansHouse_2F_EventScript_292799
+ end
+
+LittlerootTown_MaysHouse_2F_EventScript_29278D:: @ 829278D
+ lockall
+ setvar VAR_0x8004, 1
+ goto LittlerootTown_MaysHouse_2F_EventScript_292799
+ end
+
+LittlerootTown_BrendansHouse_2F_EventScript_292799:: @ 8292799
+LittlerootTown_MaysHouse_2F_EventScript_292799:: @ 8292799
+ checkflag FLAG_0x051
+ goto_eq LittlerootTown_BrendansHouse_2F_EventScript_29283F
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F8668, 4
+ call LittlerootTown_BrendansHouse_2F_EventScript_292849
+ delay 30
+ setvar VAR_0x4092, 6
+ setflag FLAG_0x051
+ setflag FLAG_0x2F2
+ setflag FLAG_0x2F3
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_2927DF
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_29280F
+ playse SE_KAIDAN
+ removeobject VAR_0x8008
+ releaseall
+ end
+
+LittlerootTown_BrendansHouse_2F_EventScript_2927DF:: @ 82927DF
+ setvar VAR_0x8008, 14
+ addobject VAR_0x8008
+ applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_292850
+ waitmovement 0
+ applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8
+ waitmovement 0
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F869A, 4
+ closemessage
+ applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_292857
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_2F_EventScript_29280F:: @ 829280F
+ setvar VAR_0x8008, 14
+ addobject VAR_0x8008
+ applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_29285B
+ waitmovement 0
+ applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A4
+ waitmovement 0
+ msgbox LittlerootTown_BrendansHouse_2F_Text_1F869A, 4
+ closemessage
+ applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_292862
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_2F_EventScript_29283F:: @ 829283F
+ incrementgamestat 45
+ fadescreen 1
+ special Special_ViewWallClock
+ waitstate
+ releaseall
+ end
+
+LittlerootTown_BrendansHouse_2F_EventScript_292849:: @ 8292849
+ fadescreen 1
+ special Special_StartWallClock
+ waitstate
+ return
+
+LittlerootTown_BrendansHouse_2F_Movement_292850: @ 8292850
+ step_13
+ step_down
+ step_27
+ step_14
+ step_13
+ step_left
+ step_end
+
+LittlerootTown_BrendansHouse_2F_Movement_292857: @ 8292857
+ step_right
+ step_up
+ step_13
+ step_end
+
+LittlerootTown_BrendansHouse_2F_Movement_29285B: @ 829285B
+ step_13
+ step_down
+ step_28
+ step_14
+ step_13
+ step_right
+ step_end
+
+LittlerootTown_BrendansHouse_2F_Movement_292862: @ 8292862
+ step_left
+ step_up
+ step_13
+ step_end
+
+LittlerootTown_BrendansHouse_1F_EventScript_292866:: @ 8292866
+LittlerootTown_MaysHouse_1F_EventScript_292866:: @ 8292866
+ setvar VAR_0x4092, 7
+ releaseall
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_29286D:: @ 829286D
+ applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_2725A8
+ waitmovement 0
+ call LittlerootTown_BrendansHouse_1F_EventScript_29294B
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292AE0
+ waitmovement 0
+ playbgm BGM_INTER_V, 0
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7BBC, 4
+ closemessage
+ applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_2929B7
+ waitmovement 0
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292AE6
+ waitmovement 0
+ call LittlerootTown_BrendansHouse_1F_EventScript_29296C
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4
+ waitmovement 0
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7BF1, 4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7C35, 4
+ closemessage
+ setvar VAR_0x4001, 1
+ applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_2929BD
+ waitmovement 0
+ goto LittlerootTown_BrendansHouse_1F_EventScript_292866
+ end
+
+LittlerootTown_MaysHouse_1F_EventScript_2928DC:: @ 82928DC
+ applymovement VAR_0x8005, LittlerootTown_MaysHouse_1F_Movement_2725A4
+ waitmovement 0
+ call LittlerootTown_MaysHouse_1F_EventScript_29294B
+ applymovement 255, LittlerootTown_MaysHouse_1F_Movement_292AE8
+ waitmovement 0
+ playbgm BGM_INTER_V, 0
+ msgbox LittlerootTown_MaysHouse_1F_Text_1F7BBC, 4
+ closemessage
+ applymovement VAR_0x8005, LittlerootTown_MaysHouse_1F_Movement_2929BA
+ waitmovement 0
+ applymovement 255, LittlerootTown_MaysHouse_1F_Movement_292AEE
+ waitmovement 0
+ call LittlerootTown_MaysHouse_1F_EventScript_29296C
+ applymovement 255, LittlerootTown_MaysHouse_1F_Movement_2725A8
+ waitmovement 0
+ msgbox LittlerootTown_MaysHouse_1F_Text_1F7BF1, 4
+ msgbox LittlerootTown_MaysHouse_1F_Text_1F7C35, 4
+ closemessage
+ setvar VAR_0x4001, 1
+ applymovement VAR_0x8005, LittlerootTown_MaysHouse_1F_Movement_2929C1
+ waitmovement 0
+ goto LittlerootTown_MaysHouse_1F_EventScript_292866
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_29294B:: @ 829294B
+LittlerootTown_MaysHouse_1F_EventScript_29294B:: @ 829294B
+ playse SE_PIN
+ applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_272598
+ waitmovement 0
+ applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_27259A
+ waitmovement 0
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B96, 4
+ closemessage
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_29296C:: @ 829296C
+LittlerootTown_MaysHouse_1F_EventScript_29296C:: @ 829296C
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A6
+ waitmovement 0
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7EC6, 4
+ fadedefaultbgm
+ special TurnOffTVScreen
+ setflag FLAG_SYS_TV_HOME
+ delay 35
+ return
+
+LittlerootTown_BrendansHouse_1F_Movement_292989: @ 8292989
+ step_up
+ step_right
+ step_right
+ step_right
+ step_right
+ step_down
+ step_28
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_292991: @ 8292991
+ step_up
+ step_left
+ step_left
+ step_left
+ step_left
+ step_down
+ step_27
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_292999: @ 8292999
+ step_right
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_29299B: @ 829299B
+ step_left
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_29299D: @ 829299D
+ step_27
+ step_14
+ step_14
+ step_14
+ step_14
+ step_28
+ step_14
+ step_14
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_2929A6: @ 82929A6
+ step_28
+ step_14
+ step_14
+ step_14
+ step_14
+ step_27
+ step_14
+ step_14
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_2929AF: @ 82929AF
+ step_up
+ step_left
+ step_left
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_2929B3: @ 82929B3
+ step_up
+ step_right
+ step_right
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_2929B7: @ 82929B7
+ step_left
+ step_28
+ step_end
+
+LittlerootTown_MaysHouse_1F_Movement_2929BA: @ 82929BA
+ step_right
+ step_27
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_2929BD: @ 82929BD
+ step_left
+ step_down
+ step_28
+ step_end
+
+LittlerootTown_MaysHouse_1F_Movement_2929C1: @ 82929C1
+ step_right
+ step_down
+ step_27
+ step_end
+
+LittlerootTown_BrendansHouse_1F_EventScript_2929C5:: @ 82929C5
+LittlerootTown_MaysHouse_1F_EventScript_2929C5:: @ 82929C5
+ lock
+ faceplayer
+ compare_var_to_value VAR_0x4082, 4
+ goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A0F
+ compare_var_to_value VAR_0x408C, 4
+ goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A0F
+ checkflag FLAG_0x12F
+ goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A19
+ checkflag FLAG_0x052
+ goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A86
+ compare_var_to_value VAR_0x4001, 1
+ goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A94
+ compare_var_to_value VAR_0x4092, 7
+ goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292AB0
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A1C, 4
+ release
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_292A0F:: @ 8292A0F
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7DBE, 4
+ release
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_292A19:: @ 8292A19
+ checkflag FLAG_0x0D8
+ goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A43
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7E0E, 4
+ closemessage
+ delay 30
+ playfanfare BGM_ME_MATCH_CALL
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7E89, 4
+ waitfanfare
+ closemessage
+ delay 30
+ setflag FLAG_0x0D8
+ release
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_292A43:: @ 8292A43
+ checkflag FLAG_BADGE05_GET
+ goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A51
+ goto LittlerootTown_BrendansHouse_1F_EventScript_292A86
+
+LittlerootTown_BrendansHouse_1F_EventScript_292A51:: @ 8292A51
+ checkflag FLAG_0x085
+ goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A86
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7D73, 4
+ giveitem_std ITEM_AMULET_COIN
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LittlerootTown_BrendansHouse_1F_EventScript_272054
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7DBE, 4
+ setflag FLAG_0x085
+ release
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_292A86:: @ 8292A86
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7D08, 4
+ goto LittlerootTown_BrendansHouse_1F_EventScript_292A9E
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_292A94:: @ 8292A94
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7CC3, 4
+ release
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_292A9E:: @ 8292A9E
+ closemessage
+ call LittlerootTown_BrendansHouse_1F_EventScript_272083
+ incrementgamestat 16
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7D5C, 4
+ release
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_292AB0:: @ 8292AB0
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7CD8, 4
+ release
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_292ABA:: @ 8292ABA
+LittlerootTown_MaysHouse_1F_EventScript_292ABA:: @ 8292ABA
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_VIGOROTH, 0
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7EA8, 4
+ waitmoncry
+ release
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_292ACD:: @ 8292ACD
+LittlerootTown_MaysHouse_1F_EventScript_292ACD:: @ 8292ACD
+ lock
+ faceplayer
+ waitse
+ playmoncry SPECIES_VIGOROTH, 0
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7EB3, 4
+ waitmoncry
+ release
+ end
+
+LittlerootTown_BrendansHouse_1F_Movement_292AE0: @ 8292AE0
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_292AE6: @ 8292AE6
+ step_left
+ step_end
+
+LittlerootTown_MaysHouse_1F_Movement_292AE8: @ 8292AE8
+ step_down
+ step_down
+ step_right
+ step_right
+ step_right
+ step_end
+
+LittlerootTown_MaysHouse_1F_Movement_292AEE: @ 8292AEE
+ step_right
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_292AF0: @ 8292AF0
+ step_up
+ step_end
+
+LittlerootTown_BrendansHouse_1F_EventScript_292AF2:: @ 8292AF2
+LittlerootTown_MaysHouse_1F_EventScript_292AF2:: @ 8292AF2
+ lockall
+ checkplayergender
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292C76
+ compare_var_to_value VAR_RESULT, 1
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292C86
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D08
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D13
+ applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_27259E
+ waitmovement 0
+ playse SE_PIN
+ applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_272598
+ waitmovement 0
+ applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_27259A
+ waitmovement 0
+ delay 20
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292C96
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CA1
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F800E, 4
+ giveitem_std ITEM_SS_TICKET
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F80FE, 4
+ closemessage
+ delay 20
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CAC
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CC1
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F815B, 4
+ closemessage
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CD6
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CEF
+ playse SE_DOOR
+ removeobject VAR_0x8009
+ setflag FLAG_0x123
+ delay 30
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D48
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D5D
+ delay 20
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F81B9, 4
+ closemessage
+ setflag FLAG_SYS_TV_LATI
+ special TurnOnTVScreen
+ delay 60
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D72
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D7D
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F824B, 4
+ closemessage
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D1E
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D33
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F826F, 4
+ closemessage
+ clearflag FLAG_SYS_TV_LATI
+ setflag FLAG_0x0FF
+ special TurnOffTVScreen
+ compare_var_to_value VAR_0x8008, 0
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D88
+ compare_var_to_value VAR_0x8008, 1
+ call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D9D
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F8351, 4
+ multichoice 22, 8, 108, 1
+ copyvar VAR_0x8004, VAR_RESULT
+ special InitRoamer
+ copyvar VAR_0x40D5, VAR_RESULT
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F83A1, 4
+ closemessage
+ setvar VAR_0x4082, 4
+ setvar VAR_0x408C, 4
+ releaseall
+ end
+
+LittlerootTown_BrendansHouse_1F_EventScript_292C72:: @ 8292C72
+ setflag FLAG_SYS_TV_LATI
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_292C76:: @ 8292C76
+ setvar VAR_0x8008, 0
+ setvar VAR_0x8009, 5
+ setvar VAR_0x800A, 1
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_292C86:: @ 8292C86
+ setvar VAR_0x8008, 1
+ setvar VAR_0x8009, 5
+ setvar VAR_0x800A, 1
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_292C96:: @ 8292C96
+ applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DB2
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_292CA1:: @ 8292CA1
+ applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DB5
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_292CAC:: @ 8292CAC
+ applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292989
+ waitmovement 0
+ applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DB8
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_292CC1:: @ 8292CC1
+ applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292991
+ waitmovement 0
+ applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DBA
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_292CD6:: @ 8292CD6
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DCC
+ applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292DCC
+ applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DBC
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_292CEF:: @ 8292CEF
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DCC
+ applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292DCC
+ applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_292DC1
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_292D08:: @ 8292D08
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DC6
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_292D13:: @ 8292D13
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DD1
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_292D1E:: @ 8292D1E
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DD7
+ waitmovement 0
+ applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2725A4
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_292D33:: @ 8292D33
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DDE
+ waitmovement 0
+ applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2725A8
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_292D48:: @ 8292D48
+ applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292999
+ waitmovement 0
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_292D5D:: @ 8292D5D
+ applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_29299B
+ waitmovement 0
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A8
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_292D72:: @ 8292D72
+ applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_29299D
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_292D7D:: @ 8292D7D
+ applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2929A6
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_292D88:: @ 8292D88
+ applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2929AF
+ waitmovement 0
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A8
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_EventScript_292D9D:: @ 8292D9D
+ applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2929B3
+ waitmovement 0
+ applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4
+ waitmovement 0
+ return
+
+LittlerootTown_BrendansHouse_1F_Movement_292DB2: @ 8292DB2
+ step_right
+ step_right
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_292DB5: @ 8292DB5
+ step_left
+ step_left
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_292DB8: @ 8292DB8
+ step_02
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_292DBA: @ 8292DBA
+ step_03
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_292DBC: @ 8292DBC
+ step_down
+ step_right
+ step_down
+ step_13
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_292DC1: @ 8292DC1
+ step_down
+ step_left
+ step_down
+ step_13
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_292DC6: @ 8292DC6
+ step_14
+ step_down
+ step_down
+ step_down
+ step_27
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_292DCC: @ 8292DCC
+ step_13
+ step_14
+ step_14
+ step_25
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_292DD1: @ 8292DD1
+ step_14
+ step_down
+ step_down
+ step_down
+ step_28
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_292DD7: @ 8292DD7
+ step_up
+ step_left
+ step_left
+ step_left
+ step_left
+ step_26
+ step_end
+
+LittlerootTown_BrendansHouse_1F_Movement_292DDE: @ 8292DDE
+ step_up
+ step_right
+ step_right
+ step_right
+ step_right
+ step_26
+ step_end
diff --git a/data/scripts/pokeblocks.inc b/data/scripts/pokeblocks.inc
new file mode 100644
index 000000000..e77e4d789
--- /dev/null
+++ b/data/scripts/pokeblocks.inc
@@ -0,0 +1,748 @@
+LilycoveCity_ContestLobby_Text_292DEE: @ 8292DEE
+ .string "Oh? Did you want to make some {POKEBLOCK}S\n"
+ .string "with this old-timer?$"
+
+LilycoveCity_ContestLobby_Text_292E28: @ 8292E28
+ .string "Excellent!$"
+
+LilycoveCity_ContestLobby_Text_292E33: @ 8292E33
+ .string "Oh…\n"
+ .string "You’ve made this old-timer sad…$"
+
+LilycoveCity_ContestLobby_Text_292E57: @ 8292E57
+ .string "Do you know how to make a {POKEBLOCK}?$"
+
+LilycoveCity_ContestLobby_Text_292E78: @ 8292E78
+ .string "Let’s get started, then!\p"
+ .string "Let’s BERRY BLENDER!$"
+
+LilycoveCity_ContestLobby_Text_292EA6: @ 8292EA6
+ .string "Okay, a little explanation, then.\p"
+ .string "Oh, don’t worry, it’s quite simple.\p"
+ .string "When the BLENDER’s arrow comes to\n"
+ .string "your marker, just press the A Button.\p"
+ .string "That’s all you have to do.\n"
+ .string "You’ll see how easy it is when you try.$"
+
+LilycoveCity_ContestLobby_Text_292F77: @ 8292F77
+ .string "Oh?\n"
+ .string "You don’t have any BERRIES?\p"
+ .string "If you don’t have any BERRIES,\n"
+ .string "you can’t make any {POKEBLOCK}S.$"
+
+LilycoveCity_ContestLobby_Text_292FD1: @ 8292FD1
+ .string "Well, that won’t do at all now, will it?\p"
+ .string "If you don’t mind leftovers, you can\n"
+ .string "have one of my BERRIES.\p"
+ .string "That way, we could make some {POKEBLOCK}S\n"
+ .string "together using the BERRY BLENDER.$"
+
+LilycoveCity_ContestLobby_Text_29307D: @ 829307D
+ .string "If I had some BERRIES left over,\n"
+ .string "I’d gladly give you one…\p"
+ .string "But, I don’t have any to spare today.\n"
+ .string "We’ll have to do this another time.$"
+
+LilycoveCity_ContestLobby_Text_293101: @ 8293101
+ .string "But your {POKEBLOCK} CASE is full.\p"
+ .string "You should use some {POKEBLOCK}S before\n"
+ .string "you come see me again.$"
+
+LilycoveCity_ContestLobby_Text_293157: @ 8293157
+ .string "But you don’t have a {POKEBLOCK} CASE.\p"
+ .string "You should get a {POKEBLOCK} CASE and then\n"
+ .string "come see me.$"
+
+LilycoveCity_ContestLobby_Text_2931AA: @ 82931AA
+ .string "Let’s get blending already!$"
+
+LilycoveCity_ContestLobby_Text_2931C6: @ 82931C6
+ .string "I wonder what kind of {POKEBLOCK} I’ll get?\n"
+ .string "This is so exciting!$"
+
+LilycoveCity_ContestLobby_Text_293201: @ 8293201
+ .string "Hi, there! Did you want to blend some\n"
+ .string "{POKEBLOCK}S with us?$"
+
+LilycoveCity_ContestLobby_Text_293237: @ 8293237
+ .string "Okay!$"
+
+LilycoveCity_ContestLobby_Text_29323D: @ 829323D
+ .string "That’s too bad…\p"
+ .string "But we’ll always be around whenever\n"
+ .string "you get the urge to blend!$"
+
+LilycoveCity_ContestLobby_Text_29328C: @ 829328C
+ .string "Of course, you do know how to\n"
+ .string "blend {POKEBLOCK}S, don’t you?$"
+
+LilycoveCity_ContestLobby_Text_2932C3: @ 82932C3
+ .string "Let’s get started, then!\p"
+ .string "Let’s BERRY BLENDER!$"
+
+LilycoveCity_ContestLobby_Text_2932F1: @ 82932F1
+ .string "Okay!\n"
+ .string "Let me explain it to you!\p"
+ .string "When the spinning BLENDER’s arrow\n"
+ .string "reaches your marker, just press\l"
+ .string "the A Button.\p"
+ .string "That’s all it takes.\n"
+ .string "Pretty easy, don’t you think?$"
+
+LilycoveCity_ContestLobby_Text_293394: @ 8293394
+ .string "Oh, but wait a second here…\n"
+ .string "You don’t have any BERRIES.\p"
+ .string "You can’t make any {POKEBLOCK}S without\n"
+ .string "BERRIES…\p"
+ .string "We’ll always be around whenever you\n"
+ .string "get hold of some BERRIES to blend.$"
+
+LilycoveCity_ContestLobby_Text_29343E: @ 829343E
+ .string "Oh, but wait a second here…\n"
+ .string "Your {POKEBLOCK} CASE is full.\p"
+ .string "You should use some {POKEBLOCK}S and\n"
+ .string "then come back.$"
+
+LilycoveCity_ContestLobby_Text_2934A2: @ 82934A2
+ .string "Oh, but wait a second here…\n"
+ .string "You don’t have a {POKEBLOCK} CASE.\p"
+ .string "You should get a {POKEBLOCK} CASE and\n"
+ .string "then come back.$"
+
+LilycoveCity_ContestLobby_Text_29350B: @ 829350B
+ .string "Oh, hello! Did you want to make some\n"
+ .string "{POKEBLOCK}S with our little group?$"
+
+LilycoveCity_ContestLobby_Text_29354E: @ 829354E
+ .string "Oh, dear!$"
+
+LilycoveCity_ContestLobby_Text_293558: @ 8293558
+ .string "Oh, dear me…\p"
+ .string "You’ve left us in shock!$"
+
+LilycoveCity_ContestLobby_Text_29357E: @ 829357E
+ .string "Naturally, you know how to make\n"
+ .string "{POKEBLOCK}S, don’t you?$"
+
+LilycoveCity_ContestLobby_Text_2935B1: @ 82935B1
+ .string "Okay, dear!\n"
+ .string "Let’s get started!\p"
+ .string "Let’s BERRY BLENDER!$"
+
+LilycoveCity_ContestLobby_Text_2935E5: @ 82935E5
+ .string "Oh, dear!\p"
+ .string "Then, I’ll explain it to you nicely.\p"
+ .string "When the BLENDER’s arrow spins to\n"
+ .string "your marker, press the A Button.\p"
+ .string "That’s all it takes.\n"
+ .string "Isn’t it simple?$"
+
+LilycoveCity_ContestLobby_Text_29367D: @ 829367D
+ .string "You don’t have any BERRIES,\n"
+ .string "do you?\p"
+ .string "If you don’t have any BERRIES,\n"
+ .string "you can’t make any {POKEBLOCK}S.\p"
+ .string "We’ll always be making {POKEBLOCK}S here,\n"
+ .string "so let’s make some together when\l"
+ .string "you get a BERRY or two.$"
+
+LilycoveCity_ContestLobby_Text_293738: @ 8293738
+ .string "Your {POKEBLOCK} CASE is full,\n"
+ .string "it looks like.\p"
+ .string "You should use some {POKEBLOCK}S up\n"
+ .string "and then come back.$"
+
+LilycoveCity_ContestLobby_Text_293792: @ 8293792
+ .string "You haven’t gotten a {POKEBLOCK} CASE\n"
+ .string "yet, it looks like.\p"
+ .string "You need to get a {POKEBLOCK} CASE before\n"
+ .string "you come back.$"
+
+LilycoveCity_ContestLobby_Text_2937F9: @ 82937F9
+ .string "Okay! Today’s going to be the day that\n"
+ .string "I set a new BLENDER speed record!$"
+
+LilycoveCity_ContestLobby_Text_293842: @ 8293842
+ .string "Oh, dear!\n"
+ .string "You look as if you’re good at blending.\l"
+ .string "Would you like to join us?$"
+
+LilycoveCity_ContestLobby_Text_29388F: @ 829388F
+ .string "I’m going to make delicious {POKEBLOCK}S\n"
+ .string "and make my POKéMON cuter.$"
+
+LilycoveCity_ContestLobby_Text_2938CD: @ 82938CD
+ .string "{POKEBLOCK}S will be made with your friends \n"
+ .string "from BERRIES in the BERRY BLENDER.\p"
+ .string "Is it okay to save the game before\n"
+ .string "linking with your friends?$"
+
+LilycoveCity_ContestLobby_Text_293955: @ 8293955
+ .string "Searching for your friends…\n"
+ .string "… … B Button: Cancel$"
+
+LilycoveCity_ContestLobby_Text_293986: @ 8293986
+ .string "{STR_VAR_1} arrived.$"
+
+LilycoveCity_ContestLobby_Text_293992: @ 8293992
+ .string "{STR_VAR_1} and {STR_VAR_2} arrived.$"
+
+LilycoveCity_ContestLobby_Text_2939A5: @ 82939A5
+ .string "{STR_VAR_1}, {STR_VAR_2}, and\n"
+ .string "{STR_VAR_3} arrived.$"
+
+LilycoveCity_ContestLobby_Text_2939BD: @ 82939BD
+ .string "You have no BERRIES.\n"
+ .string "The BERRY BLENDER can’t be used.$"
+
+LilycoveCity_ContestLobby_Text_2939F3: @ 82939F3
+ .string "Your {POKEBLOCK} CASE is full.\n"
+ .string "The BERRY BLENDER can’t be used.$"
+
+LilycoveCity_ContestLobby_Text_293A2D: @ 8293A2D
+ .string "You don’t have a {POKEBLOCK} CASE.\n"
+ .string "The BERRY BLENDER can’t be used.$"
+
+LilycoveCity_ContestLobby_Text_293A6B: @ 8293A6B
+ .string "I love making {POKEBLOCK}S.\p"
+ .string "I always have some BERRIES with me.$"
+
+LilycoveCity_ContestLobby_Text_293AA5: @ 8293AA5
+ .string "If you’d like, we could make some\n"
+ .string "{POKEBLOCK}S together using the\l"
+ .string "BERRY BLENDER.$"
+
+LilycoveCity_ContestLobby_Text_293AF0: @ 8293AF0
+ .string "Oh?\n"
+ .string "You don’t have any BERRIES?\p"
+ .string "Well, that won’t do at all now, will it?\p"
+ .string "If you don’t mind leftovers, you can\n"
+ .string "have one of my BERRIES.$"
+
+LilycoveCity_ContestLobby_Text_293B76: @ 8293B76
+ .string "We’ll use it to make {POKEBLOCK}S together\n"
+ .string "using the BERRY BLENDER.$"
+
+LilycoveCity_ContestLobby_Text_293BB4: @ 8293BB4
+ .string "Oh?\n"
+ .string "You don’t have any BERRIES?\p"
+ .string "If I had some left over, I’d gladly\n"
+ .string "give you one…\p"
+ .string "But, I don’t have any to spare today.\n"
+ .string "Sorry about that.$"
+
+LilycoveCity_ContestLobby_EventScript_293C3E:: @ 8293C3E
+ lockall
+ checkflag FLAG_0x340
+ goto_if 0, LilycoveCity_ContestLobby_EventScript_293EFB
+ setvar VAR_0x8009, 1
+ applymovement 16, LilycoveCity_ContestLobby_Movement_294053
+ waitmovement 0
+ msgbox LilycoveCity_ContestLobby_Text_292DEE, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_293CEE
+ goto LilycoveCity_ContestLobby_EventScript_293C70
+ end
+
+LilycoveCity_ContestLobby_EventScript_293C70:: @ 8293C70
+ msgbox LilycoveCity_ContestLobby_Text_292E33, 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_293C7A:: @ 8293C7A
+ msgbox LilycoveCity_ContestLobby_Text_292F77, 4
+ dodailyevents
+ checkflag FLAG_0x921
+ goto_eq LilycoveCity_ContestLobby_EventScript_293C92
+ goto LilycoveCity_ContestLobby_EventScript_293C9C
+ end
+
+LilycoveCity_ContestLobby_EventScript_293C92:: @ 8293C92
+ msgbox LilycoveCity_ContestLobby_Text_29307D, 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_293C9C:: @ 8293C9C
+ msgbox LilycoveCity_ContestLobby_Text_292FD1, 4
+ giveitem_std ITEM_PECHA_BERRY
+ setflag FLAG_0x921
+ goto LilycoveCity_ContestLobby_EventScript_293CB9
+ end
+
+LilycoveCity_ContestLobby_EventScript_293CB9:: @ 8293CB9
+ msgbox LilycoveCity_ContestLobby_Text_292E57, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_293CD2
+ goto LilycoveCity_ContestLobby_EventScript_293CE0
+ end
+
+LilycoveCity_ContestLobby_EventScript_293CD2:: @ 8293CD2
+ msgbox LilycoveCity_ContestLobby_Text_292E78, 4
+ goto LilycoveCity_ContestLobby_EventScript_293D2C
+ end
+
+LilycoveCity_ContestLobby_EventScript_293CE0:: @ 8293CE0
+ msgbox LilycoveCity_ContestLobby_Text_292EA6, 4
+ goto LilycoveCity_ContestLobby_EventScript_293CD2
+ end
+
+LilycoveCity_ContestLobby_EventScript_293CEE:: @ 8293CEE
+ checkitem ITEM_POKEBLOCK_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_293D43
+ specialvar VAR_RESULT, sub_8136EF4
+ compare_var_to_value VAR_RESULT, 65535
+ goto_eq LilycoveCity_ContestLobby_EventScript_293D39
+ specialvar VAR_RESULT, PlayerHasBerries
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_293C7A
+ msgbox LilycoveCity_ContestLobby_Text_292E28, 4
+ goto LilycoveCity_ContestLobby_EventScript_293CB9
+ end
+
+LilycoveCity_ContestLobby_EventScript_293D2C:: @ 8293D2C
+ copyvar VAR_0x8004, VAR_0x8009
+ fadescreen 1
+ special sub_807FA80
+ waitstate
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_293D39:: @ 8293D39
+ msgbox LilycoveCity_ContestLobby_Text_293101, 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_293D43:: @ 8293D43
+ msgbox LilycoveCity_ContestLobby_Text_293157, 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_293D4D:: @ 8293D4D
+ lockall
+ setvar VAR_0x8009, 2
+ applymovement 10, LilycoveCity_ContestLobby_Movement_2725A2
+ applymovement 3, LilycoveCity_ContestLobby_Movement_294053
+ waitmovement 0
+ msgbox LilycoveCity_ContestLobby_Text_293201, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_293DC6
+ goto LilycoveCity_ContestLobby_EventScript_293D7D
+ end
+
+LilycoveCity_ContestLobby_EventScript_293D7D:: @ 8293D7D
+ msgbox LilycoveCity_ContestLobby_Text_29323D, 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_293D87:: @ 8293D87
+ msgbox LilycoveCity_ContestLobby_Text_293394, 4
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_293D91:: @ 8293D91
+ msgbox LilycoveCity_ContestLobby_Text_29328C, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_293DAA
+ goto LilycoveCity_ContestLobby_EventScript_293DB8
+ end
+
+LilycoveCity_ContestLobby_EventScript_293DAA:: @ 8293DAA
+ msgbox LilycoveCity_ContestLobby_Text_2932C3, 4
+ goto LilycoveCity_ContestLobby_EventScript_293D2C
+ end
+
+LilycoveCity_ContestLobby_EventScript_293DB8:: @ 8293DB8
+ msgbox LilycoveCity_ContestLobby_Text_2932F1, 4
+ goto LilycoveCity_ContestLobby_EventScript_293DAA
+ end
+
+LilycoveCity_ContestLobby_EventScript_293DC6:: @ 8293DC6
+ specialvar VAR_RESULT, PlayerHasBerries
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_293D87
+ checkitem ITEM_POKEBLOCK_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_293E14
+ msgbox LilycoveCity_ContestLobby_Text_293237, 4
+ specialvar VAR_RESULT, sub_8136EF4
+ compare_var_to_value VAR_RESULT, 65535
+ goto_if 5, LilycoveCity_ContestLobby_EventScript_293D91
+ compare_var_to_value VAR_RESULT, 65535
+ goto_eq LilycoveCity_ContestLobby_EventScript_293E0A
+ end
+
+LilycoveCity_ContestLobby_EventScript_293E0A:: @ 8293E0A
+ msgbox LilycoveCity_ContestLobby_Text_29343E, 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_293E14:: @ 8293E14
+ msgbox LilycoveCity_ContestLobby_Text_2934A2, 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_293E1E:: @ 8293E1E
+ lockall
+ setvar VAR_0x8008, 15
+ setvar VAR_0x8009, 3
+ applymovement 9, LilycoveCity_ContestLobby_Movement_2725A2
+ applymovement 17, LilycoveCity_ContestLobby_Movement_2725A2
+ applymovement VAR_0x8008, LilycoveCity_ContestLobby_Movement_294053
+ waitmovement 0
+ msgbox LilycoveCity_ContestLobby_Text_293842, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_293EA3
+ goto LilycoveCity_ContestLobby_EventScript_293E5A
+ end
+
+LilycoveCity_ContestLobby_EventScript_293E5A:: @ 8293E5A
+ msgbox LilycoveCity_ContestLobby_Text_293558, 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_293E64:: @ 8293E64
+ msgbox LilycoveCity_ContestLobby_Text_29367D, 4
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_293E6E:: @ 8293E6E
+ msgbox LilycoveCity_ContestLobby_Text_29357E, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_293E87
+ goto LilycoveCity_ContestLobby_EventScript_293E95
+ end
+
+LilycoveCity_ContestLobby_EventScript_293E87:: @ 8293E87
+ msgbox LilycoveCity_ContestLobby_Text_2935B1, 4
+ goto LilycoveCity_ContestLobby_EventScript_293D2C
+ end
+
+LilycoveCity_ContestLobby_EventScript_293E95:: @ 8293E95
+ msgbox LilycoveCity_ContestLobby_Text_2935E5, 4
+ goto LilycoveCity_ContestLobby_EventScript_293E87
+ end
+
+LilycoveCity_ContestLobby_EventScript_293EA3:: @ 8293EA3
+ specialvar VAR_RESULT, PlayerHasBerries
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_293E64
+ checkitem ITEM_POKEBLOCK_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_293EF1
+ msgbox LilycoveCity_ContestLobby_Text_29354E, 4
+ specialvar VAR_RESULT, sub_8136EF4
+ compare_var_to_value VAR_RESULT, 65535
+ goto_if 5, LilycoveCity_ContestLobby_EventScript_293E6E
+ compare_var_to_value VAR_RESULT, 65535
+ goto_eq LilycoveCity_ContestLobby_EventScript_293EE7
+ end
+
+LilycoveCity_ContestLobby_EventScript_293EE7:: @ 8293EE7
+ msgbox LilycoveCity_ContestLobby_Text_293738, 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_293EF1:: @ 8293EF1
+ msgbox LilycoveCity_ContestLobby_Text_293792, 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_293EFB:: @ 8293EFB
+ lockall
+ setvar VAR_0x8009, 1
+ msgbox LilycoveCity_ContestLobby_Text_2C42F4, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_293F28
+ msgbox LilycoveCity_ContestLobby_Text_2C4332, 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_293F1E:: @ 8293F1E
+ msgbox LilycoveCity_ContestLobby_Text_2C439D, 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_293F28:: @ 8293F28
+ checkitem ITEM_POKEBLOCK_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_293F8E
+ specialvar VAR_RESULT, PlayerHasBerries
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_293F1E
+ specialvar VAR_RESULT, sub_8136EF4
+ compare_var_to_value VAR_RESULT, 65535
+ goto_if 5, LilycoveCity_ContestLobby_EventScript_293F64
+ compare_var_to_value VAR_RESULT, 65535
+ goto_eq LilycoveCity_ContestLobby_EventScript_293F98
+ end
+
+LilycoveCity_ContestLobby_EventScript_293F64:: @ 8293F64
+ msgbox LilycoveCity_ContestLobby_Text_2C43FA, 5
+ compare_var_to_value VAR_RESULT, 0
+ call_if 1, LilycoveCity_ContestLobby_EventScript_293F85
+ msgbox LilycoveCity_ContestLobby_Text_2C451B, 4
+ goto LilycoveCity_ContestLobby_EventScript_293D2C
+ end
+
+LilycoveCity_ContestLobby_EventScript_293F85:: @ 8293F85
+ msgbox LilycoveCity_ContestLobby_Text_2C444C, 4
+ return
+
+LilycoveCity_ContestLobby_EventScript_293F8E:: @ 8293F8E
+ msgbox LilycoveCity_ContestLobby_Text_2C4573, 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_293F98:: @ 8293F98
+ msgbox LilycoveCity_ContestLobby_Text_2C45E8, 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_293FA2:: @ 8293FA2
+ msgbox LilycoveCity_ContestLobby_Text_2937F9, 2
+ end
+
+LilycoveCity_ContestLobby_EventScript_293FAB:: @ 8293FAB
+ msgbox LilycoveCity_ContestLobby_Text_293842, 2
+ end
+
+LilycoveCity_ContestLobby_EventScript_293FB4:: @ 8293FB4
+ msgbox LilycoveCity_ContestLobby_Text_29388F, 2
+ end
+
+LilycoveCity_ContestLobby_EventScript_293FBD:: @ 8293FBD
+ setvar VAR_0x8008, 15
+ goto LilycoveCity_ContestLobby_EventScript_293FC8
+ end
+
+LilycoveCity_ContestLobby_EventScript_293FC8:: @ 8293FC8
+ lock
+ faceplayer
+ msgbox LilycoveCity_ContestLobby_Text_293A6B, 4
+ specialvar VAR_RESULT, PlayerHasBerries
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_293FEE
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_293FF8
+ end
+
+LilycoveCity_ContestLobby_EventScript_293FEE:: @ 8293FEE
+ msgbox LilycoveCity_ContestLobby_Text_293AA5, 4
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_293FF8:: @ 8293FF8
+ checkitem ITEM_POKEBLOCK_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_294028
+ specialvar VAR_RESULT, sub_8136EF4
+ compare_var_to_value VAR_RESULT, 65535
+ goto_eq LilycoveCity_ContestLobby_EventScript_294028
+ dodailyevents
+ checkflag FLAG_0x921
+ goto_eq LilycoveCity_ContestLobby_EventScript_294028
+ goto LilycoveCity_ContestLobby_EventScript_294032
+ end
+
+LilycoveCity_ContestLobby_EventScript_294028:: @ 8294028
+ msgbox LilycoveCity_ContestLobby_Text_293BB4, 4
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_294032:: @ 8294032
+ msgbox LilycoveCity_ContestLobby_Text_293AF0, 4
+ giveitem_std ITEM_PECHA_BERRY
+ setflag FLAG_0x921
+ msgbox LilycoveCity_ContestLobby_Text_293B76, 4
+ release
+ end
+
+LilycoveCity_ContestLobby_Movement_294053: @ 8294053
+ step_28
+ step_end
+
+LilycoveCity_ContestLobby_EventScript_294055:: @ 8294055
+ lockall
+ specialvar VAR_RESULT, PlayerHasBerries
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_2940B1
+ checkitem ITEM_POKEBLOCK_CASE, 1
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_29416C
+ specialvar VAR_RESULT, sub_8136EF4
+ compare_var_to_value VAR_RESULT, 65535
+ goto_if 5, LilycoveCity_ContestLobby_EventScript_294092
+ compare_var_to_value VAR_RESULT, 65535
+ goto_eq LilycoveCity_ContestLobby_EventScript_294162
+ end
+
+LilycoveCity_ContestLobby_EventScript_294092:: @ 8294092
+ msgbox LilycoveCity_ContestLobby_Text_2938CD, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_2940BB
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_294160
+ end
+
+LilycoveCity_ContestLobby_EventScript_2940B1:: @ 82940B1
+ msgbox LilycoveCity_ContestLobby_Text_2939BD, 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_2940BB:: @ 82940BB
+ call LilycoveCity_ContestLobby_EventScript_27134F
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq LilycoveCity_ContestLobby_EventScript_294160
+ specialvar VAR_RESULT, sub_80093CC
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_2941ED
+ message LilycoveCity_ContestLobby_Text_293955
+ waitmessage
+ special sub_80B2FD8
+ waitstate
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_2941AA
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq LilycoveCity_ContestLobby_EventScript_294176
+ compare_var_to_value VAR_RESULT, 3
+ goto_eq LilycoveCity_ContestLobby_EventScript_294183
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq LilycoveCity_ContestLobby_EventScript_294190
+ compare_var_to_value VAR_RESULT, 6
+ goto_eq LilycoveCity_ContestLobby_EventScript_29419D
+ end
+
+LilycoveCity_ContestLobby_EventScript_29411D:: @ 829411D
+ msgbox LilycoveCity_ContestLobby_Text_293986, 4
+ goto LilycoveCity_ContestLobby_EventScript_294147
+ end
+
+LilycoveCity_ContestLobby_EventScript_29412B:: @ 829412B
+ msgbox LilycoveCity_ContestLobby_Text_293992, 4
+ goto LilycoveCity_ContestLobby_EventScript_294147
+ end
+
+LilycoveCity_ContestLobby_EventScript_294139:: @ 8294139
+ msgbox LilycoveCity_ContestLobby_Text_2939A5, 4
+ goto LilycoveCity_ContestLobby_EventScript_294147
+ end
+
+LilycoveCity_ContestLobby_EventScript_294147:: @ 8294147
+ setvar VAR_0x8004, 0
+ fadescreen 1
+ removeobject 240
+ removeobject 239
+ removeobject 238
+ removeobject 237
+ special sub_807FA80
+ waitstate
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_294160:: @ 8294160
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_294162:: @ 8294162
+ msgbox LilycoveCity_ContestLobby_Text_2939F3, 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_29416C:: @ 829416C
+ msgbox LilycoveCity_ContestLobby_Text_293A2D, 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_294176:: @ 8294176
+ special sub_80097E8
+ msgbox LilycoveCity_ContestLobby_Text_2781C7, 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_294183:: @ 8294183
+ special sub_80097E8
+ msgbox LilycoveCity_ContestLobby_Text_278255, 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_294190:: @ 8294190
+ special sub_80097E8
+ msgbox gUnknown_08272D9C, 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_29419D:: @ 829419D
+ special sub_80097E8
+ msgbox LilycoveCity_ContestLobby_Text_27821C, 4
+ releaseall
+ end
+
+LilycoveCity_ContestLobby_EventScript_2941AA:: @ 82941AA
+ fadescreen 1
+ specialvar VAR_RESULT, sub_8138240
+ copyvar VAR_0x8008, VAR_RESULT
+ copyvar VAR_0x8004, VAR_0x8008
+ special SpawnLinkPartnerFieldObject
+ goto LilycoveCity_ContestLobby_EventScript_2941C4
+ end
+
+LilycoveCity_ContestLobby_EventScript_2941C4:: @ 82941C4
+ fadescreen 0
+ switch VAR_0x8008
+ case 2, LilycoveCity_ContestLobby_EventScript_29411D
+ case 3, LilycoveCity_ContestLobby_EventScript_29412B
+ case 4, LilycoveCity_ContestLobby_EventScript_294139
+ end
+
+LilycoveCity_ContestLobby_EventScript_2941ED:: @ 82941ED
+ setvar VAR_0x8004, 13
+ goto LilycoveCity_ContestLobby_EventScript_2941F8
+ end
+
+LilycoveCity_ContestLobby_EventScript_2941F8:: @ 82941F8
+ message LilycoveCity_ContestLobby_Text_27C1EA
+ waitmessage
+ multichoice 16, 6, 81, 0
+ switch VAR_RESULT
+ case 0, LilycoveCity_ContestLobby_EventScript_29425D
+ case 1, LilycoveCity_ContestLobby_EventScript_294235
+ case 2, LilycoveCity_ContestLobby_EventScript_294190
+ case 127, LilycoveCity_ContestLobby_EventScript_294190
+ end
+
+LilycoveCity_ContestLobby_EventScript_294235:: @ 8294235
+ call LilycoveCity_ContestLobby_EventScript_294285
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_29428F
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq LilycoveCity_ContestLobby_EventScript_2941F8
+ compare_var_to_value VAR_RESULT, 8
+ goto_eq LilycoveCity_ContestLobby_EventScript_294235
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_29425D:: @ 829425D
+ call LilycoveCity_ContestLobby_EventScript_29428A
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq LilycoveCity_ContestLobby_EventScript_29428F
+ compare_var_to_value VAR_RESULT, 5
+ goto_eq LilycoveCity_ContestLobby_EventScript_2941F8
+ compare_var_to_value VAR_RESULT, 8
+ goto_eq LilycoveCity_ContestLobby_EventScript_29425D
+ release
+ end
+
+LilycoveCity_ContestLobby_EventScript_294285:: @ 8294285
+ special BerryBlenderLinkBecomeLeader
+ waitstate
+ return
+
+LilycoveCity_ContestLobby_EventScript_29428A:: @ 829428A
+ special BerryBlenderLinkJoinGroup
+ waitstate
+ return
+
+LilycoveCity_ContestLobby_EventScript_29428F:: @ 829428F
+ goto LilycoveCity_ContestLobby_EventScript_2941AA
+ end
diff --git a/data/scripts/safari_zone.inc b/data/scripts/safari_zone.inc
new file mode 100644
index 000000000..a052c90cc
--- /dev/null
+++ b/data/scripts/safari_zone.inc
@@ -0,0 +1,295 @@
+EventScript_2A4B4C:: @ 82A4B4C
+ setvar VAR_0x40A4, 1
+ special ExitSafariMode
+ setwarp ROUTE_121_SAFARI_ZONE_ENTRANCE, 255, 2, 5
+ end
+
+EventScript_2A4B5D:: @ 82A4B5D
+ setvar VAR_0x40A4, 1
+ special ExitSafariMode
+ warp ROUTE_121_SAFARI_ZONE_ENTRANCE, 255, 2, 5
+ waitstate
+ end
+
+EventScript_2A4B6F:: @ 82A4B6F
+ lockall
+ msgbox Text_2A4BF4, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq EventScript_2A4B85
+ releaseall
+ end
+
+EventScript_2A4B85:: @ 82A4B85
+ goto EventScript_2A4B5D
+
+EventScript_2A4B8A:: @ 82A4B8A
+ lockall
+ playse SE_PINPON
+ message Text_2A4C26
+ waitmessage
+ waitbuttonpress
+ releaseall
+ goto EventScript_2A4B5D
+
+EventScript_2A4B9B:: @ 82A4B9B
+ lockall
+ playse SE_PINPON
+ message Text_2A4C56
+ waitmessage
+ waitbuttonpress
+ releaseall
+ goto EventScript_2A4B5D
+
+EventScript_2A4BAC:: @ 82A4BAC
+ lockall
+ special GetPokeblockFeederInFront
+ compare_var_to_value VAR_RESULT, 65535
+ goto_if 5, EventScript_2A4BEB
+ msgbox Text_2A4C90, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq EventScript_2A4BD0
+ releaseall
+ end
+
+EventScript_2A4BD0:: @ 82A4BD0
+ fadescreen 1
+ special sub_8135908
+ waitstate
+ compare_var_to_value VAR_RESULT, 65535
+ goto_if 5, EventScript_2A4BE2
+ end
+
+EventScript_2A4BE2:: @ 82A4BE2
+ message Text_2A4CEB
+ waitmessage
+ waitbuttonpress
+ releaseall
+ end
+
+EventScript_2A4BEB:: @ 82A4BEB
+ message Text_2A4CC5
+ waitmessage
+ waitbuttonpress
+ releaseall
+ end
+
+Text_2A4BF4: @ 82A4BF4
+ .string "Would you like to exit the SAFARI\n"
+ .string "ZONE right now?$"
+
+Text_2A4C26: @ 82A4C26
+ .string "Ding-dong! Time’s up!\n"
+ .string "Your SAFARI Game is over.$"
+
+Text_2A4C56: @ 82A4C56
+ .string "You’ve run out of SAFARI BALLS.\n"
+ .string "Your SAFARI Game is over.$"
+
+Text_2A4C90: @ 82A4C90
+ .string "Would you like to place a {POKEBLOCK}\n"
+ .string "on the {POKEBLOCK} FEEDER?$"
+
+Text_2A4CC5: @ 82A4CC5
+ .string "The {STR_VAR_1} you left\n"
+ .string "before is still here.$"
+
+Text_2A4CEB: @ 82A4CEB
+ .string "The {STR_VAR_1} was placed\n"
+ .string "on the {POKEBLOCK} FEEDER.$"
+
+Route121_SafariZoneEntrance_Text_2A4D12: @ 82A4D12
+ .string "Welcome to the SAFARI ZONE!\p"
+ .string "Here, you may witness many kinds of\n"
+ .string "POKéMON rarely seen in HOENN.\p"
+ .string "And, you’ll see them in their wild,\n"
+ .string "untamed state in natural habitats.\p"
+ .string "What’s more, we’ve thrown open the\n"
+ .string "gates to POKéMON TRAINERS.\p"
+ .string "You’re encouraged to catch POKéMON\n"
+ .string "for keeps!\p"
+ .string "Come in and enjoy the SAFARI ZONE!$"
+
+Route121_SafariZoneEntrance_Text_2A4E46: @ 82A4E46
+ .string "Welcome to the SAFARI ZONE!\n"
+ .string "Is it your first time here?$"
+
+Route121_SafariZoneEntrance_Text_2A4E7E: @ 82A4E7E
+ .string "Come in and enjoy the SAFARI ZONE!$"
+
+Route121_SafariZoneEntrance_Text_2A4EA1: @ 82A4EA1
+ .string "When you enter the SAFARI ZONE, you\n"
+ .string "start with 30 SAFARI BALLS for\l"
+ .string "catching POKéMON.\p"
+ .string "The SAFARI Game is over when you run\n"
+ .string "out of SAFARI BALLS, or when you’ve\l"
+ .string "walked 500 steps.\p"
+ .string "Come in and enjoy the SAFARI ZONE!$"
+
+Route121_SafariZoneEntrance_Text_2A4F74: @ 82A4F74
+ .string "Welcome to the SAFARI ZONE!\p"
+ .string "All you can catch for just ¥500!\n"
+ .string "Would you like to play a SAFARI Game?$"
+
+Route121_SafariZoneEntrance_Text_2A4FD7: @ 82A4FD7
+ .string "Okay.\n"
+ .string "Please play another time!$"
+
+Route121_SafariZoneEntrance_Text_2A4FF7: @ 82A4FF7
+ .string "You don’t have enough money.\n"
+ .string "Sorry.$"
+
+Route121_SafariZoneEntrance_Text_2A501B: @ 82A501B
+ .string "That will be ¥500, please.$"
+
+Route121_SafariZoneEntrance_Text_2A5036: @ 82A5036
+ .string "Here are your SAFARI BALLS.$"
+
+Route121_SafariZoneEntrance_Text_2A5052: @ 82A5052
+ .string "{PLAYER} received 30 SAFARI BALLS.$"
+
+Route121_SafariZoneEntrance_Text_2A506F: @ 82A506F
+ .string "We’ll let you know when your game\n"
+ .string "is over.\p"
+ .string "So, until then, enjoy yourself, please!\n"
+ .string "Off you go on your wild excursion!$"
+
+Route121_SafariZoneEntrance_Text_2A50E5: @ 82A50E5
+ .string "Excuse me!\n"
+ .string "Your PC BOX is full.$"
+
+Route121_SafariZoneEntrance_Text_2A5105: @ 82A5105
+ .string "Excuse me!\n"
+ .string "You seem to be without a {POKEBLOCK} CASE.\p"
+ .string "Your SAFARI Game will be much more\n"
+ .string "fruitful if you use {POKEBLOCK}S.\p"
+ .string "Please come back with a {POKEBLOCK} CASE.\p"
+ .string "You may obtain a {POKEBLOCK} CASE from\n"
+ .string "the LILYCOVE CONTEST HALL.$"
+
+SafariZone_South_Text_2A51D4: @ 82A51D4
+ .string "You still have time left. Would you like\n"
+ .string "to exit the SAFARI ZONE now?$"
+
+SafariZone_South_Text_2A521A: @ 82A521A
+ .string "Please enjoy the rest of your wild\n"
+ .string "adventure!$"
+
+SafariZone_South_Text_2A5248: @ 82A5248
+ .string "Okay.\p"
+ .string "I’ll take back your remaining SAFARI\n"
+ .string "BALLS.\p"
+ .string "Thank you for playing.\n"
+ .string "We hope to see you again.$"
+
+SafariZone_South_Text_2A52AB: @ 82A52AB
+ .string "Good luck!\p"
+ .string "If you need anything, don’t hesitate\n"
+ .string "to tell me, please!$"
+
+SafariZone_South_Text_2A52EF: @ 82A52EF
+ .string "Did you know?\p"
+ .string "If you put a {POKEBLOCK} in that square box,\n"
+ .string "POKéMON gather around.$"
+
+SafariZone_South_Text_2A533B: @ 82A533B
+ .string "I want to keep going deeper, but I\n"
+ .string "forgot to bring a BIKE.\p"
+ .string "Something tells me that rare POKéMON\n"
+ .string "live in the outlying areas.$"
+
+SafariZone_Southwest_Text_2A53B7: @ 82A53B7
+ .string "Sometimes, when I toss a {POKEBLOCK} at \n"
+ .string "POKéMON, it gets ignored.\p"
+ .string "Do POKéMON have likes and dislikes\n"
+ .string "about what they eat?$"
+
+SafariZone_Northwest_Text_2A542C: @ 82A542C
+ .string "Gasp… Gasp…\n"
+ .string "I…made it out here…but…\p"
+ .string "I’m exhausted… I don’t have the\n"
+ .string "energy to catch POKéMON…$"
+
+SafariZone_North_Text_2A5489: @ 82A5489
+ .string "I’m on a mission to find WATER POKéMON\n"
+ .string "you don’t see in HOENN.\p"
+ .string "Do you have any idea where the lake is?$"
+
+SafariZone_North_Text_2A54F0: @ 82A54F0
+ .string "I’m going to catch a lot of rare POKéMON\n"
+ .string "here and trade them with my friends!$"
+
+SafariZone_South_Text_2A553E: @ 82A553E
+ .string "I put a {POKEBLOCK} on the {POKEBLOCK} FEEDER.\n"
+ .string "But it seems to have disappeared.\p"
+ .string "I guess POKéMON must have eaten it\n"
+ .string "without me noticing.$"
+
+Route121_SafariZoneEntrance_Text_2A55BB: @ 82A55BB
+ .string "SAFARI ZONE TRAINER TIP!\p"
+ .string "Throw {POKEBLOCK}S at wild POKéMON to make\n"
+ .string "them less likely to flee.$"
+
+SafariZone_Southwest_Text_2A5613: @ 82A5613
+ .string "“Relieve your tired feet.”\n"
+ .string "REST HOUSE$"
+
+SafariZone_RestHouse_Text_2A5639: @ 82A5639
+ .string "I don’t have any {POKEBLOCK}S, but I caught\n"
+ .string "a good number of POKéMON.\p"
+ .string "You can improve your chances of making\n"
+ .string "a catch by getting closer to them\l"
+ .string "before throwing a SAFARI BALL.$"
+
+SafariZone_RestHouse_Text_2A56E1: @ 82A56E1
+ .string "If you use {POKEBLOCK}S, wild POKéMON won’t\n"
+ .string "be so quick to run away.\p"
+ .string "It’s not much use to give {POKEBLOCK}S to\n"
+ .string "POKéMON that don’t flee easily.$"
+
+SafariZone_RestHouse_Text_2A5764: @ 82A5764
+ .string "If you put a {POKEBLOCK} on the FEEDER,\n"
+ .string "POKéMON are attracted to it.\p"
+ .string "I think POKéMON with the same sort of\n"
+ .string "nature are drawn by a certain {POKEBLOCK}.$"
+
+SafariZone_South_Text_2A57EE: @ 82A57EE
+ .string "This area is still under construction.\n"
+ .string "It’s off-limits, sorry!$"
+
+SafariZone_Southeast_Text_2A582D: @ 82A582D
+ .string "The SAFARI ZONE’s expansion project\n"
+ .string "is finished now.\p"
+ .string "We hope you will enjoy the new area.$"
+
+SafariZone_South_Text_2A5887: @ 82A5887
+ .string "This area is still under construction.\n"
+ .string "It’s off-limits, sorry!$"
+
+SafariZone_Southeast_Text_2A58C6: @ 82A58C6
+ .string "Wow! Whee! I haven’t seen any of\n"
+ .string "these POKéMON before!$"
+
+SafariZone_Southeast_Text_2A58FD: @ 82A58FD
+ .string "The POKéMON in this area are all\n"
+ .string "new to me.\p"
+ .string "And I’m allowed to catch these rare\n"
+ .string "POKéMON! Too cool!$"
+
+SafariZone_Southeast_Text_2A5960: @ 82A5960
+ .string "The POKéMON around here seem to be\n"
+ .string "from somewhere other than HOENN.$"
+
+SafariZone_Northeast_Text_2A59A4: @ 82A59A4
+ .string "I only have a couple SAFARI BALLS left.\p"
+ .string "I’m having a hard time trying to\n"
+ .string "decide what I should catch.$"
+
+SafariZone_Northeast_Text_2A5A09: @ 82A5A09
+ .string "I heard that you can see PIKACHU here.\n"
+ .string "Where might one be?$"
+
+SafariZone_Northeast_Text_2A5A44: @ 82A5A44
+ .string "Oh, boo!\n"
+ .string "I can’t seem to catch anything!\p"
+ .string "I’ll end up wasting the admission\n"
+ .string "price if I don’t catch something!$"
diff --git a/data/scripts/secret_power_tm.inc b/data/scripts/secret_power_tm.inc
new file mode 100644
index 000000000..215f997b8
--- /dev/null
+++ b/data/scripts/secret_power_tm.inc
@@ -0,0 +1,113 @@
+Route111_Text_2762C9: @ 82762C9
+ .string "What’s that?\n"
+ .string "What am I doing?\p"
+ .string "I’m thinking about making my own room\n"
+ .string "here using a POKéMON move.\p"
+ .string "I know! I’ll give you this TM.\n"
+ .string "Will you use it to make your own room?$"
+
+Route111_Text_27636E: @ 827636E
+ .string "Find a big tree that looks like it might\n"
+ .string "drop some vines.\p"
+ .string "Use SECRET POWER in front of the tree.\n"
+ .string "Some vines should get free and drop\l"
+ .string "down, so you can climb the tree.\p"
+ .string "You’ll find a lot of space for putting\n"
+ .string "your favorite things.\p"
+ .string "It’ll be your own secret room…\n"
+ .string "A SECRET BASE!\p"
+ .string "You should make one, too.\p"
+ .string "Another thing, you don’t always have\n"
+ .string "to make your SECRET BASE in a tree.\p"
+ .string "Try using SECRET POWER on rock walls\n"
+ .string "that have small indents in them.\p"
+ .string "I’m going to look for other places, too.\n"
+ .string "Okay, bye!$"
+
+Route111_Text_27655C: @ 827655C
+ .string "Oh, you don’t want this?\n"
+ .string "If you change your mind, tell me, okay?$"
+
+Route111_Text_27659D: @ 827659D
+ .string "Oh, you don’t have any room for this.\p"
+ .string "I’ll hold on to it, so come back for it\n"
+ .string "another time, okay?$"
+
+Route111_EventScript_2765FF:: @ 82765FF
+ lock
+ faceplayer
+ msgbox Route111_Text_2762C9, 5
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq Route111_EventScript_27661E
+ msgbox Route111_Text_27655C, 4
+ release
+ end
+
+Route111_EventScript_27661E:: @ 827661E
+ giveitem_std ITEM_TM43
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq Route111_EventScript_276680
+ msgbox Route111_Text_27636E, 4
+ closemessage
+ setflag FLAG_0x060
+ clearflag FLAG_0x3B4
+ compare_var_to_value VAR_FACING, 3
+ call_if 1, Route111_EventScript_27666A
+ compare_var_to_value VAR_FACING, 4
+ call_if 1, Route111_EventScript_27666A
+ compare_var_to_value VAR_FACING, 2
+ call_if 1, Route111_EventScript_276675
+ removeobject VAR_LAST_TALKED
+ release
+ end
+
+Route111_EventScript_27666A:: @ 827666A
+ applymovement VAR_LAST_TALKED, Route111_Movement_27668A
+ waitmovement 0
+ return
+
+Route111_EventScript_276675:: @ 8276675
+ applymovement VAR_LAST_TALKED, Route111_Movement_276696
+ waitmovement 0
+ return
+
+Route111_EventScript_276680:: @ 8276680
+ msgbox Route111_Text_27659D, 4
+ release
+ end
+
+Route111_Movement_27668A: @ 827668A
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_left
+ step_down
+ step_down
+ step_end
+
+Route111_Movement_276696: @ 8276696
+ step_left
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_left
+ step_left
+ step_left
+ step_down
+ step_down
+ step_end
+
+EventScript_2766A2:: @ 82766A2
+ special sub_80EB290
+ end
+
+EventScript_2766A6:: @ 82766A6
+ special sub_80EB2C8
+ end
diff --git a/data/scripts/tv.inc b/data/scripts/tv.inc
new file mode 100644
index 000000000..7cf485835
--- /dev/null
+++ b/data/scripts/tv.inc
@@ -0,0 +1,91 @@
+EventScript_27EE0B:: @ 827EE0B
+ lockall
+ incrementgamestat 44
+ special ResetTVShowState
+ specialvar VAR_RESULT, CheckForBigMovieOrEmergencyNewsOnTV
+ compare_var_to_value VAR_RESULT, 2
+ goto_eq EventScript_27EE9A
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq EventScript_27EEA4
+ checkflag FLAG_SYS_TV_START
+ goto_if 0, EventScript_27EE8A
+ checkflag FLAG_SYS_TV_WATCH
+ goto_eq EventScript_27EE8A
+ specialvar VAR_RESULT, IsTVShowInSearchOfTrainersAiring
+ compare_var_to_value VAR_RESULT, 1
+ goto_eq EventScript_27EEFF
+ goto EventScript_27EEE9
+ end
+
+EventScript_27EE54:: @ 827EE54
+ specialvar VAR_0x8004, special_0x44
+ compare_var_to_value VAR_0x8004, 255
+ goto_eq EventScript_27EED8
+ specialvar VAR_RESULT, special_0x4a
+ compare_var_to_value VAR_RESULT, 255
+ goto_eq EventScript_27EED8
+ copyvar VAR_0x8004, VAR_RESULT
+ specialvar VAR_RESULT, special_0x45
+ compare_var_to_value VAR_RESULT, 0
+ goto_if 5, EventScript_27EEBA
+ end
+
+EventScript_27EE8A:: @ 827EE8A
+ special GetMomOrDadStringForTVMessage
+ msgbox gUnknown_08272BCF, 4
+ special TurnOffTVScreen
+ releaseall
+ end
+
+EventScript_27EE9A:: @ 827EE9A
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F7F0F, 4
+ releaseall
+ end
+
+EventScript_27EEA4:: @ 827EEA4
+ msgbox LittlerootTown_BrendansHouse_1F_Text_1F826F, 4
+ special InitRoamer
+ clearflag FLAG_SYS_TV_LATI
+ setflag FLAG_0x0FF
+ special TurnOffTVScreen
+ releaseall
+ end
+
+EventScript_27EEBA:: @ 827EEBA
+ special DoTVShow
+ waitmessage
+ waitbuttonpress
+ compare_var_to_value VAR_RESULT, 1
+ goto_if 5, EventScript_27EEBA
+ goto EventScript_27EED0
+ end
+
+EventScript_27EED0:: @ 827EED0
+ special TurnOffTVScreen
+ setflag FLAG_SYS_TV_WATCH
+ releaseall
+ end
+
+EventScript_27EED8:: @ 827EED8
+ special GetMomOrDadStringForTVMessage
+ msgbox gUnknown_08272BCF, 4
+ goto EventScript_27EED0
+ end
+
+EventScript_27EEE9:: @ 827EEE9
+ special DoPokeNews
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_27EE54
+ waitmessage
+ waitbuttonpress
+ goto EventScript_27EED0
+ end
+
+EventScript_27EEFF:: @ 827EEFF
+ special DoTVShowInSearchOfTrainers
+ waitmessage
+ waitbuttonpress
+ compare_var_to_value VAR_RESULT, 0
+ goto_eq EventScript_27EEFF
+ goto EventScript_27EED0
+ end
diff --git a/data/starter_choose.s b/data/starter_choose.s
new file mode 100644
index 000000000..ae81aae20
--- /dev/null
+++ b/data/starter_choose.s
@@ -0,0 +1,67 @@
+@ the fourth big chunk of data
+
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+gBirchBagGrassPal:: @ 85B0A00
+ .incbin "baserom.gba", 0x5b0a00, 0x80
+
+gBirchBagTilemap:: @ 85B0A80
+ .incbin "baserom.gba", 0x5b0a80, 0x18c
+
+gBirchGrassTilemap:: @ 85B0C0C
+ .incbin "baserom.gba", 0x5b0c0c, 0x1f8
+
+gBirchHelpGfx:: @ 85B0E04
+ .incbin "baserom.gba", 0x5b0e04, 0xfc8
+
+gUnknown_085B1DCC:: @ 85B1DCC
+ .incbin "baserom.gba", 0x5b1dcc, 0x10
+
+gUnknown_085B1DDC:: @ 85B1DDC
+ .incbin "baserom.gba", 0x5b1ddc, 0x8
+
+gUnknown_085B1DE4:: @ 85B1DE4
+ .incbin "baserom.gba", 0x5b1de4, 0x8
+
+sPokeballCoords:: @ 85B1DEC
+ .incbin "baserom.gba", 0x5b1dec, 0x6
+
+gStarterChoose_LabelCoords:: @ 85B1DF2
+ .incbin "baserom.gba", 0x5b1df2, 0x6
+
+sStarterMon:: @ 85B1DF8
+ .incbin "baserom.gba", 0x5b1df8, 0x8
+
+gUnknown_085B1E00:: @ 85B1E00
+ .incbin "baserom.gba", 0x5b1e00, 0xc
+
+gUnknown_085B1E0C:: @ 85B1E0C
+ .incbin "baserom.gba", 0x5b1e0c, 0x1c
+
+gUnknown_085B1E28:: @ 85B1E28
+ .incbin "baserom.gba", 0x5b1e28, 0xa8
+
+gUnknown_085B1ED0:: @ 85B1ED0
+ .incbin "baserom.gba", 0x5b1ed0, 0x8
+
+gUnknown_085B1ED8:: @ 85B1ED8
+ .incbin "baserom.gba", 0x5b1ed8, 0x10
+
+gUnknown_085B1EE8:: @ 85B1EE8
+ .incbin "baserom.gba", 0x5b1ee8, 0x10
+
+gUnknown_085B1EF8:: @ 85B1EF8
+ .incbin "baserom.gba", 0x5b1ef8, 0x18
+
+sSpriteTemplate_Hand:: @ 85B1F10
+ .incbin "baserom.gba", 0x5b1f10, 0x18
+
+sSpriteTemplate_PokeBall:: @ 85B1F28
+ .incbin "baserom.gba", 0x5b1f28, 0x18
+
+gUnknown_085B1F40:: @ 85B1F40
+ .incbin "baserom.gba", 0x5b1f40, 0x294
+
diff --git a/data/text/berries.inc b/data/text/berries.inc
new file mode 100644
index 000000000..f35caca18
--- /dev/null
+++ b/data/text/berries.inc
@@ -0,0 +1,234 @@
+PetalburgCity_Gym_Text_2A6D3D: @ 82A6D3D
+ .string "DAD: Hi, {PLAYER}!\p"
+ .string "I just received a very rare BERRY.\n"
+ .string "I’d like you to have it.$"
+
+Route104_Text_2A6D86: @ 82A6D86
+ .string "If you see BERRIES growing in loamy\n"
+ .string "soil, feel free to take them.\p"
+ .string "But make sure you plant a BERRY in the\n"
+ .string "same spot. That’s common courtesy.\p"
+ .string "Here, I’ll share this with you.$"
+
+Route104_Text_2A6E32: @ 82A6E32
+ .string "The way you look, you must be a\n"
+ .string "TRAINER, no?\p"
+ .string "TRAINERS often make POKéMON hold\n"
+ .string "BERRIES.\p"
+ .string "It’s up to you whether to grow BERRIES\n"
+ .string "or use them.$"
+
+Route111_Text_2A6EBD: @ 82A6EBD
+ .string "I watered the plants every day.\n"
+ .string "They grew lots of flowers.\p"
+ .string "And they gave me lots of BERRIES, too.\p"
+ .string "Here you go!\n"
+ .string "You can have it!$"
+
+Route111_Text_2A6F3D: @ 82A6F3D
+ .string "I’m going to try really hard and make\n"
+ .string "BERRIES in different colors.\p"
+ .string "I hope you try hard, too!$"
+
+Route111_Text_2A6F9A: @ 82A6F9A
+ .string "I wonder what color BERRIES I’ll look\n"
+ .string "for today?$"
+
+Route114_Text_2A6FCB: @ 82A6FCB
+ .string "I love using the BERRY CRUSH machine,\n"
+ .string "so I’m collecting BERRIES.\p"
+ .string "I’ll share one with you, if you’d like.$"
+
+Route114_Text_2A7034: @ 82A7034
+ .string "You should try the BERRY CRUSH\n"
+ .string "machine with your friends.$"
+
+Route114_Text_2A706E: @ 82A706E
+ .string "Which BERRY should be planted?\n"
+ .string "Should you use or hoard BERRIES?\p"
+ .string "It’s fun to think about.$"
+
+Route120_Text_2A70C7: @ 82A70C7
+ .string "BERRIES grow by soaking up sunlight.\p"
+ .string "We help the BERRIES grow by watering\n"
+ .string "them regularly.\p"
+ .string "It’s an expression of love, isn’t it?$"
+
+Route120_Text_2A7147: @ 82A7147
+ .string "Yes, yes.\n"
+ .string "You understand what I mean.\p"
+ .string "You should take this.$"
+
+Route120_Text_2A7183: @ 82A7183
+ .string "Oh… But it is important to make your\n"
+ .string "own impressions, I guess…\p"
+ .string "You can have this.$"
+
+Route120_Text_2A71D5: @ 82A71D5
+ .string "I think that BERRY is rare.\n"
+ .string "I hope you raise it with loving care.$"
+
+Route120_Text_2A7217: @ 82A7217
+ .string "I’ll get more BERRIES from\n"
+ .string "the BERRY MASTER.$"
+
+LilycoveCity_Text_2A7244: @ 82A7244
+ .string "When it gets right down to it…\p"
+ .string "The same way suits suit me perfectly,\n"
+ .string "a crisp breeze suits the sea.\p"
+ .string "And you, a BERRY suits you to a “T”…\p"
+ .string "Why should that be so?$"
+
+LilycoveCity_Text_2A72E3: @ 82A72E3
+ .string "When it gets right down to it…\p"
+ .string "It’s because you’re a TRAINER!$"
+
+LilycoveCity_Text_2A7321: @ 82A7321
+ .string "When it gets right down to it…\p"
+ .string "The way dignified simplicity suits me,\n"
+ .string "{POKEBLOCK}S perfectly suit POKéMON.$"
+
+Route123_BerryMastersHouse_Text_2A7386: @ 82A7386
+ .string "You may call me the BERRY MASTER.\p"
+ .string "I dream of filling the world with\n"
+ .string "beautiful flowers, so I raise BERRIES\l"
+ .string "and hand them out to everyone.\p"
+ .string "You’re deserving of one!$"
+
+Route123_BerryMastersHouse_Text_2A7428: @ 82A7428
+ .string "Why be stingy?\n"
+ .string "Take another!$"
+
+Route123_BerryMastersHouse_Text_2A7445: @ 82A7445
+ .string "Be sure to visit the PRETTY PETAL\n"
+ .string "flower shop near RUSTBORO.\p"
+ .string "Let flowers fill the world!$"
+
+Route123_BerryMastersHouse_Text_2A749E: @ 82A749E
+ .string "I’m done for today.\n"
+ .string "Come again another day.\p"
+ .string "Let flowers fill the world!$"
+
+Route123_BerryMastersHouse_Text_2A74E6: @ 82A74E6
+ .string "The way my husband grows BERRIES,\n"
+ .string "oh, he’s the best in the world.\p"
+ .string "He makes me proud, that he does.\p"
+ .string "Incidentally, child, have you heard\n"
+ .string "a good saying lately?$"
+
+Route123_BerryMastersHouse_Text_2A7583: @ 82A7583
+ .string "Ah! What a remarkable saying!\n"
+ .string "Inspirational, it is!\p"
+ .string "I want you to have this.$"
+
+Route123_BerryMastersHouse_Text_2A75D0: @ 82A75D0
+ .string "Oh! A good saying it is.\n"
+ .string "You’re quite remarkable.\p"
+ .string "I want you to have this.$"
+
+Route123_BerryMastersHouse_Text_2A761B: @ 82A761B
+ .string "Our four grandchildren should become\n"
+ .string "more accomplished than my husband.\p"
+ .string "Joy never goes out of my life!$"
+
+Route123_BerryMastersHouse_Text_2A7682: @ 82A7682
+ .string "Ah…$"
+
+Route104_PrettyPetalFlowerShop_Text_2A7686: @ 82A7686
+ .string "Hello!\p"
+ .string "This is the PRETTY PETAL flower shop.\n"
+ .string "Spreading flowers all over the world!$"
+
+Route104_PrettyPetalFlowerShop_Text_2A76D9: @ 82A76D9
+ .string "{PLAYER}{KUN}, would you like to learn about\n"
+ .string "BERRIES?$"
+
+Route104_PrettyPetalFlowerShop_Text_2A7706: @ 82A7706
+ .string "Your name is?\p"
+ .string "{PLAYER}{KUN}.\n"
+ .string "That’s a nice name.\p"
+ .string "{PLAYER}{KUN}, would you like to learn about\n"
+ .string "BERRIES?$"
+
+Route104_PrettyPetalFlowerShop_Text_2A775B: @ 82A775B
+ .string "BERRIES grow on trees that thrive\n"
+ .string "only in soft, loamy soil.\p"
+ .string "If you take some BERRIES, be sure to\n"
+ .string "plant one in the loamy soil again.\p"
+ .string "A planted BERRY will soon sprout,\n"
+ .string "grow into a plant, flower beautifully,\l"
+ .string "then grow BERRIES again.\p"
+ .string "I want to see the whole wide world\n"
+ .string "filled with beautiful flowers.\l"
+ .string "That’s my dream.\p"
+ .string "Please help me, {PLAYER}{KUN}. Plant BERRIES\n"
+ .string "and bring more flowers into the world.$"
+
+Route104_PrettyPetalFlowerShop_Text_2A78DF: @ 82A78DF
+ .string "Flowers bring so much happiness to\n"
+ .string "people, don’t they?$"
+
+Route104_PrettyPetalFlowerShop_Text_2A7916: @ 82A7916
+ .string "Hello!\p"
+ .string "The more attention you give to flowers,\n"
+ .string "the more beautifully they bloom.\p"
+ .string "You’ll like tending flowers. I’m sure\n"
+ .string "of it. You can have this.$"
+
+Route104_PrettyPetalFlowerShop_Text_2A79A6: @ 82A79A6
+ .string "While BERRY plants are growing,\n"
+ .string "water them with the WAILMER PAIL.\p"
+ .string "Oh, another thing.\p"
+ .string "If you don’t pick BERRIES for a while,\n"
+ .string "they’ll drop off onto the ground.\l"
+ .string "But they’ll sprout again.\p"
+ .string "Isn’t that awesome?\n"
+ .string "It’s like they have the will to live.$"
+
+Route104_PrettyPetalFlowerShop_Text_2A7A98: @ 82A7A98
+ .string "I’m trying to be like my big sisters.\n"
+ .string "I’m growing flowers, too!\p"
+ .string "Here you go!\n"
+ .string "It’s for you!$"
+
+Route104_PrettyPetalFlowerShop_Text_2A7AF3: @ 82A7AF3
+ .string "You can plant a BERRY and grow it big,\n"
+ .string "or you can make a POKéMON hold it.\p"
+ .string "But now they have a machine that mixes\n"
+ .string "up different BERRIES and makes candies\l"
+ .string "for POKéMON.\p"
+ .string "I want some candy, too.$"
+
+SootopolisCity_Text_2A7BB0: @ 82A7BB0
+ .string "Hi, what’s your name?\p"
+ .string "… … … … … … … … …\n"
+ .string "Okay. That’s nice!\p"
+ .string "My name is KIRI.\p"
+ .string "My mommy and daddy named me that so\n"
+ .string "I would grow healthy and warmhearted.\l"
+ .string "That’s what they wished.\p"
+ .string "You can have one of these.$"
+
+SootopolisCity_Text_2A7C7C: @ 82A7C7C
+ .string "KIRI will give you this BERRY, too!\n"
+ .string "I really like it lots!$"
+
+SootopolisCity_Text_2A7CB7: @ 82A7CB7
+ .string "I wonder what kind of wish is included\n"
+ .string "in your name.$"
+
+SootopolisCity_Text_2A7CEC: @ 82A7CEC
+ .string "Spring, summer, autumn, and winter.\p"
+ .string "If you’re born in springtime, do you like\n"
+ .string "the spring, and if you’re born in the\l"
+ .string "summer, do you like the summer?$"
+
+SootopolisCity_Text_2A7D80: @ 82A7D80
+ .string "Then KIRI was born in the autumn,\n"
+ .string "so I love the autumn!\p"
+ .string "Which season do you like?$"
+
+SootopolisCity_Text_2A7DD2: @ 82A7DD2
+ .string "Oh…\n"
+ .string "It doesn’t matter…\p"
+ .string "There’s so much that I want to know…$"
diff --git a/data/text/birch_speech.inc b/data/text/birch_speech.inc
new file mode 100644
index 000000000..9e7eea3bc
--- /dev/null
+++ b/data/text/birch_speech.inc
@@ -0,0 +1,61 @@
+gUnknown_082C897B:: @ 82C897B
+ .string "Hi! Sorry to keep you waiting!\p"
+ .string "Welcome to the world of POKéMON!\p"
+ .string "My name is BIRCH.\p"
+ .string "But everyone calls me the POKéMON\n"
+ .string "PROFESSOR.\p"
+ .string "$"
+
+gUnknown_082C89FB:: @ 82C89FB
+ .string "This is what we call a “POKéMON.”\p"
+ .string "\n"
+ .string "$"
+
+gUnknown_082C8A1F:: @ 82C8A1F
+ .string "This world is widely inhabited by\n"
+ .string "creatures known as POKéMON.\p"
+ .string "We humans live alongside POKéMON,\n"
+ .string "at times as friendly playmates, and\l"
+ .string "at times as cooperative workmates.\p"
+ .string "And sometimes, we band together\n"
+ .string "and battle others like us.\p"
+ .string "But despite our closeness, we don’t\n"
+ .string "know everything about POKéMON.\p"
+ .string "In fact, there are many, many\n"
+ .string "secrets surrounding POKéMON.\p"
+ .string "To unravel POKéMON mysteries,\n"
+ .string "I’ve been undertaking research.\l"
+ .string "That’s what I do.\p"
+ .string "$"
+
+gUnknown_082C8BD0:: @ 82C8BD0
+ .string "And you are?$"
+
+gUnknown_082C8BDD:: @ 82C8BDD
+ .string "Are you a boy?\n"
+ .string "Or are you a girl?$"
+
+gUnknown_082C8BFF:: @ 82C8BFF
+ .string "All right.\n"
+ .string "What’s your name?$"
+
+gUnknown_082C8C1C:: @ 82C8C1C
+ .string "So it’s {PLAYER}{KUN}?$"
+
+gUnknown_082C8C2A:: @ 82C8C2A
+ .string "Ah, okay!\p"
+ .string "You’re {PLAYER}{KUN} who’s moving to my\n"
+ .string "hometown of LITTLEROOT.\l"
+ .string "I get it now!\p"
+ .string "$"
+
+gUnknown_082C8C7A:: @ 82C8C7A
+ .string "All right, are you ready?\p"
+ .string "Your very own adventure is about\n"
+ .string "to unfold.\p"
+ .string "Take courage, and leap into the\n"
+ .string "world of POKéMON where dreams,\l"
+ .string "adventure, and friendships await!\p"
+ .string "Well, I’ll be expecting you later.\n"
+ .string "Come see me in my POKéMON LAB.\p"
+ .string "$"
diff --git a/data/text/braille.inc b/data/text/braille.inc
new file mode 100644
index 000000000..3d4b8e116
--- /dev/null
+++ b/data/text/braille.inc
@@ -0,0 +1,223 @@
+Underwater_SealedChamber_Braille_2A6B15: @ 82A6B15
+ .byte 4
+ .byte 6
+ .byte 26
+ .byte 13
+ .byte 7
+ .byte 9
+ .braille "GO UP HERE.$"
+
+SealedChamber_OuterRoom_Braille_2A6B27: @ 82A6B27
+ .byte 7
+ .byte 6
+ .byte 21
+ .byte 13
+ .byte 10
+ .byte 9
+ .braille "ABC$"
+
+SealedChamber_OuterRoom_Braille_2A6B31: @ 82A6B31
+ .byte 7
+ .byte 6
+ .byte 21
+ .byte 13
+ .byte 10
+ .byte 9
+ .braille "GHI$"
+
+SealedChamber_OuterRoom_Braille_2A6B3B: @ 82A6B3B
+ .byte 7
+ .byte 6
+ .byte 21
+ .byte 13
+ .byte 10
+ .byte 9
+ .braille "MNO$"
+
+SealedChamber_OuterRoom_Braille_2A6B45: @ 82A6B45
+ .byte 7
+ .byte 6
+ .byte 21
+ .byte 13
+ .byte 10
+ .byte 9
+ .braille "TUV$"
+
+SealedChamber_OuterRoom_Braille_2A6B4F: @ 82A6B4F
+ .byte 7
+ .byte 6
+ .byte 21
+ .byte 13
+ .byte 10
+ .byte 9
+ .braille "DEF$"
+
+SealedChamber_OuterRoom_Braille_2A6B59: @ 82A6B59
+ .byte 7
+ .byte 6
+ .byte 21
+ .byte 13
+ .byte 10
+ .byte 9
+ .braille "JKL$"
+
+SealedChamber_OuterRoom_Braille_2A6B63: @ 82A6B63
+ .byte 7
+ .byte 6
+ .byte 21
+ .byte 13
+ .byte 10
+ .byte 9
+ .braille "PQRS$"
+
+SealedChamber_OuterRoom_Braille_2A6B6E: @ 82A6B6E
+ .byte 9
+ .byte 6
+ .byte 19
+ .byte 13
+ .byte 12
+ .byte 9
+ .braille ".$"
+
+SealedChamber_OuterRoom_Braille_2A6B76: @ 82A6B76
+ .byte 7
+ .byte 6
+ .byte 21
+ .byte 13
+ .byte 10
+ .byte 9
+ .braille "WXYZ$"
+
+SealedChamber_OuterRoom_Braille_2A6B81: @ 82A6B81
+ .byte 9
+ .byte 6
+ .byte 19
+ .byte 13
+ .byte 12
+ .byte 9
+ .braille ",$"
+
+SealedChamber_OuterRoom_Braille_2A6B89: @ 82A6B89
+ .byte 7
+ .byte 4
+ .byte 23
+ .byte 15
+ .byte 10
+ .byte 7
+ .braille "DIG HERE.$"
+
+SealedChamber_InnerRoom_Braille_2A6B99: @ 82A6B99
+ .byte 0
+ .byte 0
+ .byte 29
+ .byte 19
+ .byte 3
+ .byte 3
+ .braille "FIRST COMES\n"
+ .braille "WAILORD.\n"
+ .braille "LAST COMES\n"
+ .braille "RELICANTH.$"
+
+SealedChamber_InnerRoom_Braille_2A6BCA: @ 82A6BCA
+ .byte 2
+ .byte 0
+ .byte 26
+ .byte 19
+ .byte 5
+ .byte 3
+ .braille "IN THIS\n"
+ .braille "CAVE WE\n"
+ .braille "HAVE\n"
+ .braille "LIVED.$"
+
+SealedChamber_InnerRoom_Braille_2A6BEC: @ 82A6BEC
+ .byte 7
+ .byte 2
+ .byte 23
+ .byte 17
+ .byte 10
+ .byte 5
+ .braille "WE OWE ALL\n"
+ .braille "TO THE\n"
+ .braille "POKEMON.$"
+
+SealedChamber_InnerRoom_Braille_2A6C0D: @ 82A6C0D
+ .byte 3
+ .byte 0
+ .byte 25
+ .byte 19
+ .byte 6
+ .byte 3
+ .braille "BUT, WE\n"
+ .braille "SEALED THE\n"
+ .braille "POKEMON\n"
+ .braille "AWAY.$"
+
+SealedChamber_InnerRoom_Braille_2A6C34: @ 82A6C34
+ .byte 5
+ .byte 6
+ .byte 25
+ .byte 13
+ .byte 8
+ .byte 9
+ .braille "WE FEARED IT.$"
+
+SealedChamber_InnerRoom_Braille_2A6C48: @ 82A6C48
+ .byte 6
+ .byte 0
+ .byte 24
+ .byte 19
+ .byte 9
+ .byte 3
+ .braille "THOSE WITH\n"
+ .braille "COURAGE,\n"
+ .braille "THOSE WITH\n"
+ .braille "HOPE.$"
+
+SealedChamber_InnerRoom_Braille_2A6C73: @ 82A6C73
+ .byte 3
+ .byte 2
+ .byte 27
+ .byte 17
+ .byte 6
+ .byte 5
+ .braille "OPEN A DOOR.\n"
+ .braille "AN ETERNAL\n"
+ .braille "POKEMON\n"
+ .braille "WAITS.$"
+
+DesertRuins_Braille_2A6CA0: @ 82A6CA0
+ .byte 1
+ .byte 0
+ .byte 27
+ .byte 19
+ .byte 4
+ .byte 3
+ .braille "LEFT, LEFT,\n"
+ .braille "DOWN, DOWN.\n"
+ .braille "THEN, USE\n"
+ .braille "ROCK SMASH.$"
+
+IslandCave_Braille_2A6CD4: @ 82A6CD4
+ .byte 5
+ .byte 0
+ .byte 25
+ .byte 19
+ .byte 8
+ .byte 3
+ .braille "STAY CLOSE\n"
+ .braille "TO THE WALL.\n"
+ .braille "RUN AROUND\n"
+ .braille "ONE LAP.$"
+
+AncientTomb_Braille_2A6D06: @ 82A6D06
+ .byte 3
+ .byte 0
+ .byte 25
+ .byte 19
+ .byte 6
+ .byte 3
+ .braille "THOSE WHO\n"
+ .braille "INHERIT OUR\n"
+ .braille "WILL, SHINE\n"
+ .braille "IN THE MIDDLE.$"
diff --git a/data/text/cable_club.inc b/data/text/cable_club.inc
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/data/text/cable_club.inc
diff --git a/data/text/contest_strings.inc b/data/text/contest_strings.inc
new file mode 100644
index 000000000..46ce8a8c4
--- /dev/null
+++ b/data/text/contest_strings.inc
@@ -0,0 +1,677 @@
+@ contest move effect descriptions
+
+gContestEffect00hDescription:: @ 827CB82
+ .string "A highly appealing move.$"
+
+gContestEffect01hDescription:: @ 827CB9B
+ .string "After this move, the user is\nmore easily startled.$"
+
+gContestEffect02hDescription:: @ 827CBCE
+ .string "Makes a great appeal, but\nallows no more to the end.$"
+
+gContestEffect03hDescription:: @ 827CC03
+ .string "Can be repeatedly used\nwithout boring the JUDGE.$"
+
+gContestEffect04hDescription:: @ 827CC34
+ .string "Can avoid being startled\nby others once.$"
+
+gContestEffect05hDescription:: @ 827CC5D
+ .string "Can avoid being startled\nby others.$"
+
+gContestEffect06hDescription:: @ 827CC81
+ .string "Can avoid being startled\nby others a little.$"
+
+gContestEffect07hDescription:: @ 827CCAE
+ .string "After this move, the user is\nless likely to be startled.$"
+
+gContestEffect08hDescription:: @ 827CCE7
+ .string "Slightly startles the\nPOKéMON in front.$"
+
+gContestEffect09hDescription:: @ 827CD0F
+ .string "Slightly startles those\nthat have made appeals.$"
+
+gContestEffect0AhDescription:: @ 827CD3F
+ .string "Startles the POKéMON that\nappealed before the user.$"
+
+gContestEffect0BhDescription:: @ 827CD73
+ .string "Startles all POKéMON that\nhave done their appeals.$"
+
+gContestEffect0ChDescription:: @ 827CDA6
+ .string "Badly startles the\nPOKéMON in front.$"
+
+gContestEffect0DhDescription:: @ 827CDCB
+ .string "Badly startles those that\nhave made appeals.$"
+
+gContestEffect0EhDescription:: @ 827CDF8
+ .string "Startles the POKéMON that\nappealed before the user.$"
+
+gContestEffect0FhDescription:: @ 827CE2C
+ .string "Startles all POKéMON that\nhave done their appeals.$"
+
+gContestEffect10hDescription:: @ 827CE5F
+ .string "Shifts the JUDGE’s\nattention from others.$"
+
+gContestEffect11hDescription:: @ 827CE89
+ .string "Startles the POKéMON that\nhas the JUDGE’s attention.$"
+
+gContestEffect12hDescription:: @ 827CEBE
+ .string "Jams the others, and misses\none turn of appeals.$"
+
+gContestEffect13hDescription:: @ 827CEEF
+ .string "Startles POKéMON that\nmade a same-type appeal.$"
+
+gContestEffect14hDescription:: @ 827CF1E
+ .string "Badly startles POKéMON\nthat made COOL appeals.$"
+
+gContestEffect15hDescription:: @ 827CF4D
+ .string "Badly startles POKéMON\nthat made BEAUTY appeals.$"
+
+gContestEffect16hDescription:: @ 827CF7E
+ .string "Badly startles POKéMON\nthat made CUTE appeals.$"
+
+gContestEffect17hDescription:: @ 827CFAD
+ .string "Badly startles POKéMON\nthat made SMART appeals.$"
+
+gContestEffect18hDescription:: @ 827CFDD
+ .string "Badly startles POKéMON\nthat made TOUGH appeals.$"
+
+gContestEffect19hDescription:: @ 827D00D
+ .string "Makes one POKéMON after\nthe user nervous.$"
+
+gContestEffect1AhDescription:: @ 827D037
+ .string "Makes all POKéMON after\nthe user nervous.$"
+
+gContestEffect1BhDescription:: @ 827D061
+ .string "Worsens the condition of\nthose that made appeals.$"
+
+gContestEffect1ChDescription:: @ 827D093
+ .string "Badly startles POKéMON in\ngood condition.$"
+
+gContestEffect1DhDescription:: @ 827D0BD
+ .string "The appeal works great if\nperformed first.$"
+
+gContestEffect1EhDescription:: @ 827D0E8
+ .string "The appeal works great if\nperformed last.$"
+
+gContestEffect1FhDescription:: @ 827D112
+ .string "Makes the appeal as good\nas those before it.$"
+
+gContestEffect20hDescription:: @ 827D13F
+ .string "Makes the appeal as good\nas the one before it.$"
+
+gContestEffect21hDescription:: @ 827D16E
+ .string "The appeal works better\nthe later it is performed.$"
+
+gContestEffect22hDescription:: @ 827D1A1
+ .string "The appeal’s quality varies\ndepending on its timing.$"
+
+gContestEffect23hDescription:: @ 827D1D6
+ .string "Works well if it’s the same\ntype as the one before.$"
+
+gContestEffect24hDescription:: @ 827D20A
+ .string "Works well if different in\ntype than the one before.$"
+
+gContestEffect25hDescription:: @ 827D23F
+ .string "Affected by how well the\nappeal in front goes.$"
+
+gContestEffect26hDescription:: @ 827D26E
+ .string "Ups the user’s condition.\nHelps prevent nervousness.$"
+
+gContestEffect27hDescription:: @ 827D2A3
+ .string "The appeal works well if the\nuser’s condition is good.$"
+
+gContestEffect28hDescription:: @ 827D2DA
+ .string "The next appeal can be\nmade earlier next turn.$"
+
+gContestEffect29hDescription:: @ 827D309
+ .string "The next appeal can be\nmade later next turn.$"
+
+gContestEffect2AhDescription:: @ 827D336
+ .string "Makes the next turn’s order\nmore easily scrambled.$"
+
+gContestEffect2BhDescription:: @ 827D369
+ .string "Scrambles the order of\nappeals on the next turn.$"
+
+gContestEffect2ChDescription:: @ 827D39A
+ .string "An appeal that excites the\naudience in any CONTEST.$"
+
+gContestEffect2DhDescription:: @ 827D3CE
+ .string "Badly startles all POKéMON\nthat made good appeals.$"
+
+gContestEffect2EhDescription:: @ 827D401
+ .string "The appeal works best the\nmore the crowd is excited.$"
+
+gContestEffect2FhDescription:: @ 827D436
+ .string "Temporarily stops the\ncrowd from growing excited.$"
+
+@ unused move names
+
+gUnusedContestMoveName0:: @ 827D468
+ .string "RAIN DANCE$"
+
+gUnusedContestMoveName1:: @ 827D473
+ .string "RAGE$"
+
+gUnusedContestMoveName2:: @ 827D478
+ .string "FOCUS ENERGY$"
+
+gUnusedContestMoveName3:: @ 827D485
+ .string "HYPNOSIS$"
+
+gUnusedContestMoveName4:: @ 827D48E
+ .string "SOFTBOILED$"
+
+gUnusedContestMoveName5:: @ 827D499
+ .string "HORN ATTACK$"
+
+gUnusedContestMoveName6:: @ 827D4A5
+ .string "SWORDS DANCE$"
+
+gUnusedContestMoveName7:: @ 827D4B2
+ .string "CONVERSION$"
+
+gUnusedContestMoveName8:: @ 827D4BD
+ .string "SUNNY DAY$"
+
+gUnusedContestMoveName9:: @ 827D4C7
+ .string "REST$"
+
+gUnusedContestMoveName10:: @ 827D4CC
+ .string "VICEGRIP$"
+
+gUnusedContestMoveName11:: @ 827D4D5
+ .string "DEFENSE CURL$"
+
+gUnusedContestMoveName12:: @ 827D4E2
+ .string "LOCK-ON$"
+
+@ contest type names
+
+gContestMoveTypeCoolText:: @ 827D4EA
+ .string "COOL$"
+
+gContestMoveTypeBeautyText:: @ 827D4EF
+ .string "BEAUTY$"
+
+gContestMoveTypeCuteText:: @ 827D4F6
+ .string "CUTE$"
+
+gContestMoveTypeSmartText:: @ 827D4FB
+ .string "SMART$"
+
+gContestMoveTypeToughText:: @ 827D501
+ .string "TOUGH$"
+
+gUnknown_0827D507:: @ 827D507
+ .string "Appeal no. {STR_VAR_1}!\n"
+ .string "Which move will be played?$"
+
+gUnknown_0827D531:: @ 827D531
+ .string "Appeal no. {STR_VAR_1}!\n"
+ .string "But it can’t participate!$"
+
+gUnknown_0827D55A:: @ 827D55A
+ .string "{STR_VAR_1} appealed with\n"
+ .string "{STR_VAR_2}!$"
+
+gUnknown_0827D56F:: @ 827D56F
+ .string "{STR_VAR_1} was watching\n"
+ .string "the others.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827D597:: @ 827D597
+ .string "We’re all out of\n"
+ .string "Appeal Time!{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827D5C1:: @ 827D5C1
+ .string "But the appeal was\n"
+ .string "jammed.$"
+
+gUnknown_0827D5DC:: @ 827D5DC
+ .string "It followed another\n"
+ .string "POKéMON’s lead.$"
+
+gUnknown_0827D600:: @ 827D600
+ .string "But it messed up.$"
+
+gUnknown_0827D612:: @ 827D612
+ .string "It went better than\n"
+ .string "usual.$"
+
+gUnknown_0827D62D:: @ 827D62D
+ .string "The JUDGE looked away\n"
+ .string "for some reason.$"
+
+gUnknown_0827D654:: @ 827D654
+ .string "It worked hard to build on\n"
+ .string "past mistakes.$"
+
+gUnknown_0827D67E:: @ 827D67E
+ .string "It can’t make any more\n"
+ .string "moves.$"
+
+gUnknown_0827D69C:: @ 827D69C
+ .string "It worked frighteningly\n"
+ .string "well.$"
+
+gUnknown_0827D6BA:: @ 827D6BA
+ .string "It worked as hard as the\n"
+ .string "standout POKéMON.$"
+
+gUnknown_0827D6E5:: @ 827D6E5
+ .string "The JUDGE looked on\n"
+ .string "expectantly.$"
+
+gUnknown_0827D706:: @ 827D706
+ .string "It worked rather well.$"
+
+gUnknown_0827D71D:: @ 827D71D
+ .string "It worked a little better\n"
+ .string "than usual.$"
+
+gUnknown_0827D743:: @ 827D743
+ .string "{STR_VAR_1} failed to\n"
+ .string "stand out at all…{PAUSE_UNTIL_PRESS}$"
+
+gUnknown_0827D764:: @ 827D764
+ .string "{STR_VAR_1} didn’t stand\n"
+ .string "out very much…{PAUSE_UNTIL_PRESS}$"
+
+gUnknown_0827D785:: @ 827D785
+ .string "{STR_VAR_1} caught a\n"
+ .string "little attention.{PAUSE_UNTIL_PRESS}$"
+
+gUnknown_0827D7A5:: @ 827D7A5
+ .string "{STR_VAR_1} attracted a\n"
+ .string "lot of attention.{PAUSE_UNTIL_PRESS}$"
+
+gUnknown_0827D7C8:: @ 827D7C8
+ .string "{STR_VAR_1} commanded\n"
+ .string "total attention.{PAUSE_UNTIL_PRESS}$"
+
+gUnknown_0827D7E8:: @ 827D7E8
+ .string "{STR_VAR_1} hasn’t made\n"
+ .string "its appeal.{PAUSE_UNTIL_PRESS}$"
+
+gUnknown_0827D805:: @ 827D805
+ .string "Anticipation swelled for\n"
+ .string "{STR_VAR_1}’s appeal next.$"
+
+gUnknown_0827D830:: @ 827D830
+ .string "$"
+
+gUnknown_0827D831:: @ 827D831
+ .string "The JUDGE ’s views on\n"
+ .string "{STR_VAR_1} held firm.$"
+
+gUnknown_0827D855:: @ 827D855
+ .string "{STR_VAR_1}’s {STR_VAR_3}\n"
+ .string "changed perceptions.$"
+
+gUnknown_0827D872:: @ 827D872
+ .string "{STR_VAR_1}’s appeal\n"
+ .string "effect wore off.$"
+
+gUnknown_0827D88F:: @ 827D88F
+ .string "The special appeal’s\n"
+ .string "effect wore off.$"
+
+gUnknown_0827D8B5:: @ 827D8B5
+ .string "Everyone’s appeals were\n"
+ .string "made to look the same.$"
+
+gUnknown_0827D8E4:: @ 827D8E4
+ .string "It cheapened\n"
+ .string "{STR_VAR_2}’s appeal.$"
+
+gUnknown_0827D8FE:: @ 827D8FE
+ .string "It cheapened the appeal\n"
+ .string "of those ahead.$"
+
+gUnknown_0827D926:: @ 827D926
+ .string "It stole attention away\n"
+ .string "from {STR_VAR_2}.$"
+
+gUnknown_0827D947:: @ 827D947
+ .string "It cheapened\n"
+ .string "{STR_VAR_2}’s appeal.$"
+
+gUnknown_0827D961:: @ 827D961
+ .string "It severely cheapened\n"
+ .string "other appeals.$"
+
+gUnknown_0827D986:: @ 827D986
+ .string "Anticipation swelled for\n"
+ .string "{STR_VAR_1}’s appeal next.$"
+
+gUnknown_0827D9B1:: @ 827D9B1
+ .string "It cheapened the appeal\n"
+ .string "of those ahead.$"
+
+gUnknown_0827D9D9:: @ 827D9D9
+ .string "It cheapened the JUDGE’s\n"
+ .string "favorite appeal.$"
+
+gUnknown_0827DA03:: @ 827DA03
+ .string "The appeals of others\n"
+ .string "were cheapened by half.$"
+
+gUnknown_0827DA31:: @ 827DA31
+ .string "It stood out to make up\n"
+ .string "for being jammed.$"
+
+gUnknown_0827DA5B:: @ 827DA5B
+ .string "It can’t participate in\n"
+ .string "appeals any more.$"
+
+gUnknown_0827DA85:: @ 827DA85
+ .string "It touched the JUDGE for\n"
+ .string "a fantastic appeal.$"
+
+gUnknown_0827DAB2:: @ 827DAB2
+ .string "Anticipation rose for\n"
+ .string "upcoming appeals.$"
+
+gUnknown_0827DADA:: @ 827DADA
+ .string "It stood out as much as\n"
+ .string "special appeals.$"
+
+gUnknown_0827DB03:: @ 827DB03
+ .string "It stood out as much as\n"
+ .string "{STR_VAR_1}.$"
+
+gUnknown_0827DB1F:: @ 827DB1F
+ .string "Jammed appeals were made\n"
+ .string "even less noticeable.$"
+
+gUnknown_0827DB4E:: @ 827DB4E
+ .string "Everyone’s appeals were\n"
+ .string "made the same.$"
+
+ .string "It became more conscious\n"
+ .string "of the other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "{STR_VAR_1} can’t make an\n"
+ .string "appeal after this.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "It settled down just a\n"
+ .string "little bit.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "It became oblivious to\n"
+ .string "the other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "It became less aware of\n"
+ .string "the other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "It stopped caring about\n"
+ .string "other POKéMON much.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "It tried to startle the\n"
+ .string "other POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "It tried to dazzle the\n"
+ .string "others.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "The JUDGE looked away\n"
+ .string "from {STR_VAR_1}.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "It tried to unnerve the\n"
+ .string "next POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "{STR_VAR_1} became\n"
+ .string "nervous.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "The appeal tried to\n"
+ .string "unnerve waiting POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "It taunted POKéMON\n"
+ .string "doing well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "{STR_VAR_1} regained its\n"
+ .string "form.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "It tried to jam POKéMON\n"
+ .string "doing well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "The standout {STR_VAR_1}\n"
+ .string "hustled even more.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "The largely unnoticed\n"
+ .string "{STR_VAR_1} worked hard.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "It worked as much as\n"
+ .string "POKéMON before it.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "{STR_VAR_1}’s appeal did\n"
+ .string "not go well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "It worked as much as the\n"
+ .string "preceding POKéMON.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "{STR_VAR_1}’s appeal did\n"
+ .string "not go well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "{STR_VAR_1}’s appeal did\n"
+ .string "not go well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "{STR_VAR_1}’s appeal\n"
+ .string "went slightly well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "{STR_VAR_1}’s appeal\n"
+ .string "went pretty well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "{STR_VAR_1}’s appeal\n"
+ .string "went excellently.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "{STR_VAR_1}’s appeal was\n"
+ .string "a dud.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "{STR_VAR_1}’s appeal did\n"
+ .string "not work very well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "{STR_VAR_1}’s appeal\n"
+ .string "went slightly well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "{STR_VAR_1}’s appeal\n"
+ .string "went pretty well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "{STR_VAR_1}’s appeal\n"
+ .string "went very well.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "{STR_VAR_1}’s appeal\n"
+ .string "went excellently.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "It’s the same type as the\n"
+ .string "POKéMON before--good!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "It’s not the same type as\n"
+ .string "the one before--good!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "It stood out much more\n"
+ .string "than the POKéMON before.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "It didn’t do as well as the\n"
+ .string "POKéMON before.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "{STR_VAR_1}’s condition\n"
+ .string "rose above usual.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "{STR_VAR_1}’s hot status\n"
+ .string "made it a great appeal!{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "It moved up in line for\n"
+ .string "the next appeal.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "It moved back in line once\n"
+ .string "for the next appeal.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+ .string "It scrambled up the\n"
+ .string "order for the next turn.{PAUSE 15}{PAUSE 15}{PAUSE 15}{PAUSE 15}$"
+
+gUnknown_0827E2FE:: @ 827E2FE
+ .string "The JUDGE looked at\n"
+ .string "{STR_VAR_1} expectantly.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E32E:: @ 827E32E
+ .string "The appeal combo went\n"
+ .string "over well.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E35B:: @ 827E35B
+ .string "The appeal combo went\n"
+ .string "over very well.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E38D:: @ 827E38D
+ .string "The appeal combo went\n"
+ .string "over excellently.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E3C1:: @ 827E3C1
+ .string "{STR_VAR_1} managed to\n"
+ .string "avert its gaze.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E3EB:: @ 827E3EB
+ .string "{STR_VAR_1} managed to\n"
+ .string "avoid seeing it.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E416:: @ 827E416
+ .string "{STR_VAR_1} isn’t fazed\n"
+ .string "by that sort of thing.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E448:: @ 827E448
+ .string "{STR_VAR_1} became a\n"
+ .string "little distracted.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E473:: @ 827E473
+ .string "It tried to startle the\n"
+ .string "other POKéMON.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E4A6:: @ 827E4A6
+ .string "{STR_VAR_1} looked down\n"
+ .string "out of distraction.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E4D5:: @ 827E4D5
+ .string "{STR_VAR_1} turned back\n"
+ .string "out of distraction.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E504:: @ 827E504
+ .string "{STR_VAR_1} couldn’t help\n"
+ .string "uttering a cry.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E531:: @ 827E531
+ .string "{STR_VAR_1} couldn’t help\n"
+ .string "leaping up.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E55A:: @ 827E55A
+ .string "{STR_VAR_1} tripped over\n"
+ .string "out of distraction.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E58A:: @ 827E58A
+ .string "{STR_VAR_1} was too\n"
+ .string "nervous to move.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E5B2:: @ 827E5B2
+ .string "But it messed up.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E5D0:: @ 827E5D0
+ .string "But it failed to make\n"
+ .string "the target nervous.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E606:: @ 827E606
+ .string "But it failed to make\n"
+ .string "anyone nervous.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E638:: @ 827E638
+ .string "But it was ignored…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E658:: @ 827E658
+ .string "But it couldn’t improve\n"
+ .string "its condition…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E68B:: @ 827E68B
+ .string "Its bad condition\n"
+ .string "resulted in a weak appeal.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E6C4:: @ 827E6C4
+ .string "{STR_VAR_1} was\n"
+ .string "unaffected.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E6E3:: @ 827E6E3
+ .string "{STR_VAR_1} disappointed\n"
+ .string "by repeating an appeal.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E717:: @ 827E717
+ .string "{STR_VAR_1}’s {STR_VAR_3}\n"
+ .string "went over great.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E73C:: @ 827E73C
+ .string "{STR_VAR_1}’s {STR_VAR_3}\n"
+ .string "didn’t go over well here…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E76A:: @ 827E76A
+ .string "{STR_VAR_1}’s {STR_VAR_3}\n"
+ .string "got the crowd going.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E793:: @ 827E793
+ .string "{STR_VAR_1} can’t appeal\n"
+ .string "next turn…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E7BA:: @ 827E7BA
+ .string "It attracted the crowd’s\n"
+ .string "attention.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E7EA:: @ 827E7EA
+ .string "The crowd continues to\n"
+ .string "watch {STR_VAR_3}.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E817:: @ 827E817
+ .string "{STR_VAR_1}’s\n"
+ .string "{STR_VAR_2} is ignored.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+gUnknown_0827E837:: @ 827E837
+ .string "shyness$"
+
+gUnknown_0827E83F:: @ 827E83F
+ .string "anxiety$"
+
+gUnknown_0827E847:: @ 827E847
+ .string "laziness$"
+
+gUnknown_0827E850:: @ 827E850
+ .string "hesitancy$"
+
+gUnknown_0827E85A:: @ 827E85A
+ .string "fear$"
+
+gUnknown_0827E85F:: @ 827E85F
+ .string "coolness$"
+
+gUnknown_0827E868:: @ 827E868
+ .string "beauty$"
+
+gUnknown_0827E86F:: @ 827E86F
+ .string "cuteness$"
+
+gUnknown_0827E878:: @ 827E878
+ .string "smartness$"
+
+gUnknown_0827E882:: @ 827E882
+ .string "toughness$"
+
+gUnknown_0827E88C:: @ 827E88C
+ .string "TENSION$"
+
+gUnknown_0827E894:: @ 827E894
+ .string "COOL Move$"
+
+gUnknown_0827E89E:: @ 827E89E
+ .string "BEAUTY Move$"
+
+gUnknown_0827E8AA:: @ 827E8AA
+ .string "CUTE Move$"
+
+gUnknown_0827E8B4:: @ 827E8B4
+ .string "SMART Move$"
+
+gUnknown_0827E8BF:: @ 827E8BF
+ .string "TOUGH Move$"
+
+gUnknown_0827E8CA:: @ 827E8CA
+ .string "???$"
diff --git a/data/text/contest_text.inc b/data/text/contest_text.inc
deleted file mode 100644
index 927b6a48d..000000000
--- a/data/text/contest_text.inc
+++ /dev/null
@@ -1,203 +0,0 @@
-@ contest move effect descriptions
-
-gContestEffect00hDescription:: @ 827CB82
- .string "A highly appealing move.$"
-
-gContestEffect01hDescription:: @ 827CB9B
- .string "After this move, the user is\nmore easily startled.$"
-
-gContestEffect02hDescription:: @ 827CBCE
- .string "Makes a great appeal, but\nallows no more to the end.$"
-
-gContestEffect03hDescription:: @ 827CC03
- .string "Can be repeatedly used\nwithout boring the JUDGE.$"
-
-gContestEffect04hDescription:: @ 827CC34
- .string "Can avoid being startled\nby others once.$"
-
-gContestEffect05hDescription:: @ 827CC5D
- .string "Can avoid being startled\nby others.$"
-
-gContestEffect06hDescription:: @ 827CC81
- .string "Can avoid being startled\nby others a little.$"
-
-gContestEffect07hDescription:: @ 827CCAE
- .string "After this move, the user is\nless likely to be startled.$"
-
-gContestEffect08hDescription:: @ 827CCE7
- .string "Slightly startles the\nPOKéMON in front.$"
-
-gContestEffect09hDescription:: @ 827CD0F
- .string "Slightly startles those\nthat have made appeals.$"
-
-gContestEffect0AhDescription:: @ 827CD3F
- .string "Startles the POKéMON that\nappealed before the user.$"
-
-gContestEffect0BhDescription:: @ 827CD73
- .string "Startles all POKéMON that\nhave done their appeals.$"
-
-gContestEffect0ChDescription:: @ 827CDA6
- .string "Badly startles the\nPOKéMON in front.$"
-
-gContestEffect0DhDescription:: @ 827CDCB
- .string "Badly startles those that\nhave made appeals.$"
-
-gContestEffect0EhDescription:: @ 827CDF8
- .string "Startles the POKéMON that\nappealed before the user.$"
-
-gContestEffect0FhDescription:: @ 827CE2C
- .string "Startles all POKéMON that\nhave done their appeals.$"
-
-gContestEffect10hDescription:: @ 827CE5F
- .string "Shifts the JUDGE’s\nattention from others.$"
-
-gContestEffect11hDescription:: @ 827CE89
- .string "Startles the POKéMON that\nhas the JUDGE’s attention.$"
-
-gContestEffect12hDescription:: @ 827CEBE
- .string "Jams the others, and misses\none turn of appeals.$"
-
-gContestEffect13hDescription:: @ 827CEEF
- .string "Startles POKéMON that\nmade a same-type appeal.$"
-
-gContestEffect14hDescription:: @ 827CF1E
- .string "Badly startles POKéMON\nthat made COOL appeals.$"
-
-gContestEffect15hDescription:: @ 827CF4D
- .string "Badly startles POKéMON\nthat made BEAUTY appeals.$"
-
-gContestEffect16hDescription:: @ 827CF7E
- .string "Badly startles POKéMON\nthat made CUTE appeals.$"
-
-gContestEffect17hDescription:: @ 827CFAD
- .string "Badly startles POKéMON\nthat made SMART appeals.$"
-
-gContestEffect18hDescription:: @ 827CFDD
- .string "Badly startles POKéMON\nthat made TOUGH appeals.$"
-
-gContestEffect19hDescription:: @ 827D00D
- .string "Makes one POKéMON after\nthe user nervous.$"
-
-gContestEffect1AhDescription:: @ 827D037
- .string "Makes all POKéMON after\nthe user nervous.$"
-
-gContestEffect1BhDescription:: @ 827D061
- .string "Worsens the condition of\nthose that made appeals.$"
-
-gContestEffect1ChDescription:: @ 827D093
- .string "Badly startles POKéMON in\ngood condition.$"
-
-gContestEffect1DhDescription:: @ 827D0BD
- .string "The appeal works great if\nperformed first.$"
-
-gContestEffect1EhDescription:: @ 827D0E8
- .string "The appeal works great if\nperformed last.$"
-
-gContestEffect1FhDescription:: @ 827D112
- .string "Makes the appeal as good\nas those before it.$"
-
-gContestEffect20hDescription:: @ 827D13F
- .string "Makes the appeal as good\nas the one before it.$"
-
-gContestEffect21hDescription:: @ 827D16E
- .string "The appeal works better\nthe later it is performed.$"
-
-gContestEffect22hDescription:: @ 827D1A1
- .string "The appeal’s quality varies\ndepending on its timing.$"
-
-gContestEffect23hDescription:: @ 827D1D6
- .string "Works well if it’s the same\ntype as the one before.$"
-
-gContestEffect24hDescription:: @ 827D20A
- .string "Works well if different in\ntype than the one before.$"
-
-gContestEffect25hDescription:: @ 827D23F
- .string "Affected by how well the\nappeal in front goes.$"
-
-gContestEffect26hDescription:: @ 827D26E
- .string "Ups the user’s condition.\nHelps prevent nervousness.$"
-
-gContestEffect27hDescription:: @ 827D2A3
- .string "The appeal works well if the\nuser’s condition is good.$"
-
-gContestEffect28hDescription:: @ 827D2DA
- .string "The next appeal can be\nmade earlier next turn.$"
-
-gContestEffect29hDescription:: @ 827D309
- .string "The next appeal can be\nmade later next turn.$"
-
-gContestEffect2AhDescription:: @ 827D336
- .string "Makes the next turn’s order\nmore easily scrambled.$"
-
-gContestEffect2BhDescription:: @ 827D369
- .string "Scrambles the order of\nappeals on the next turn.$"
-
-gContestEffect2ChDescription:: @ 827D39A
- .string "An appeal that excites the\naudience in any CONTEST.$"
-
-gContestEffect2DhDescription:: @ 827D3CE
- .string "Badly startles all POKéMON\nthat made good appeals.$"
-
-gContestEffect2EhDescription:: @ 827D401
- .string "The appeal works best the\nmore the crowd is excited.$"
-
-gContestEffect2FhDescription:: @ 827D436
- .string "Temporarily stops the\ncrowd from growing excited.$"
-
-@ unused move names
-
-gUnusedContestMoveName0:: @ 827D468
- .string "RAIN DANCE$"
-
-gUnusedContestMoveName1:: @ 827D473
- .string "RAGE$"
-
-gUnusedContestMoveName2:: @ 827D478
- .string "FOCUS ENERGY$"
-
-gUnusedContestMoveName3:: @ 827D485
- .string "HYPNOSIS$"
-
-gUnusedContestMoveName4:: @ 827D48E
- .string "SOFTBOILED$"
-
-gUnusedContestMoveName5:: @ 827D499
- .string "HORN ATTACK$"
-
-gUnusedContestMoveName6:: @ 827D4A5
- .string "SWORDS DANCE$"
-
-gUnusedContestMoveName7:: @ 827D4B2
- .string "CONVERSION$"
-
-gUnusedContestMoveName8:: @ 827D4BD
- .string "SUNNY DAY$"
-
-gUnusedContestMoveName9:: @ 827D4C7
- .string "REST$"
-
-gUnusedContestMoveName10:: @ 827D4CC
- .string "VICEGRIP$"
-
-gUnusedContestMoveName11:: @ 827D4D5
- .string "DEFENSE CURL$"
-
-gUnusedContestMoveName12:: @ 827D4E2
- .string "LOCK-ON$"
-
-@ contest type names
-
-gContestMoveTypeCoolText:: @ 827D4EA
- .string "COOL$"
-
-gContestMoveTypeBeautyText:: @ 827D4EF
- .string "BEAUTY$"
-
-gContestMoveTypeCuteText:: @ 827D4F6
- .string "CUTE$"
-
-gContestMoveTypeSmartText:: @ 827D4FB
- .string "SMART$"
-
-gContestMoveTypeToughText:: @ 827D501
- .string "TOUGH$"
diff --git a/data/text/eon_ticket.inc b/data/text/eon_ticket.inc
new file mode 100644
index 000000000..ac4c9dba1
--- /dev/null
+++ b/data/text/eon_ticket.inc
@@ -0,0 +1,48 @@
+LilycoveCity_Harbor_Text_2A6848: @ 82A6848
+ .string "The ferry to SLATEPORT is…\p"
+ .string "I beg your pardon?\n"
+ .string "Can we sail to this place on the map?\p"
+ .string "I know someone who will help you better.\n"
+ .string "Please wait.$"
+
+LilycoveCity_Harbor_Text_2A68D2: @ 82A68D2
+ .string "The ferry to SLATEPORT is…\p"
+ .string "Oh?\n"
+ .string "That PASS…$"
+
+LilycoveCity_Harbor_Text_2A68FC: @ 82A68FC
+ .string "Aye, mate, are you the one who brought\n"
+ .string "that mighty odd PASS?\p"
+ .string "I’ll tell you, you’re trying to reach a\n"
+ .string "tiny spit of an island far in the south.\p"
+ .string "There’s no telling what we’ll encounter\n"
+ .string "once we reach there, aye.\l"
+ .string "That shivers my timbers!\p"
+ .string "All aboard!$"
+
+SouthernIsland_Exterior_Text_2A69F1: @ 82A69F1
+ .string "Aye, mate, there’s nothing here to\n"
+ .string "see or do on this forgettable island.\p"
+ .string "What say we sail back to LILYCOVE?$"
+
+BirthIsland_Harbor_Text_2A6A5D: @ 82A6A5D
+FarawayIsland_Entrance_Text_2A6A5D: @ 82A6A5D
+NavelRock_Harbor_Text_2A6A5D: @ 82A6A5D
+SouthernIsland_Exterior_Text_2A6A5D: @ 82A6A5D
+ .string "Aye, right, then!\n"
+ .string "Sail home we will!$"
+
+BirthIsland_Harbor_Text_2A6A82: @ 82A6A82
+FarawayIsland_Entrance_Text_2A6A82: @ 82A6A82
+LilycoveCity_Harbor_Text_2A6A82: @ 82A6A82
+NavelRock_Harbor_Text_2A6A82: @ 82A6A82
+SouthernIsland_Exterior_Text_2A6A82: @ 82A6A82
+ .string "Aye, right, as you like, then.$"
+
+SouthernIsland_Interior_Text_2A6AA1: @ 82A6AA1
+ .string "“All dreams are but another reality.\n"
+ .string "Never forget…”$"
+
+SouthernIsland_Exterior_Text_2A6AD5: @ 82A6AD5
+ .string "“Those whose memories fade seek to\n"
+ .string "carve them in their hearts…”$"
diff --git a/data/text/lottery_corner.inc b/data/text/lottery_corner.inc
new file mode 100644
index 000000000..21ae534b2
--- /dev/null
+++ b/data/text/lottery_corner.inc
@@ -0,0 +1,77 @@
+LilycoveCity_DepartmentStore_1F_Text_2A6390: @ 82A6390
+ .string "This is the POKéMON LOTTERY CORNER.\p"
+ .string "All shoppers at our DEPARTMENT STORE\n"
+ .string "get to draw a POKéMON LOTO TICKET.\p"
+ .string "If the LOTO TICKET’s number matches\n"
+ .string "the ID number of any of your POKéMON,\l"
+ .string "you will receive a fabulous gift.\p"
+ .string "Would you like to draw a POKéMON\n"
+ .string "LOTO TICKET?$"
+
+LilycoveCity_DepartmentStore_1F_Text_2A6496: @ 82A6496
+ .string "Please come back tomorrow.$"
+
+LilycoveCity_DepartmentStore_1F_Text_2A64B1: @ 82A64B1
+ .string "Please do visit again.$"
+
+LilycoveCity_DepartmentStore_1F_Text_2A64C8: @ 82A64C8
+ .string "Please pick a LOTO TICKET.\n"
+ .string "…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}…{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
+
+LilycoveCity_DepartmentStore_1F_Text_2A650B: @ 82A650B
+ .string "The LOTO TICKET number is {STR_VAR_1}.\p"
+ .string "I need to run a check on this number\n"
+ .string "to see if it matches any of your\l"
+ .string "POKéMON’s ID numbers. Please wait.$"
+
+LilycoveCity_DepartmentStore_1F_Text_2A6592: @ 82A6592
+ .string "Congratulations!\p"
+ .string "The ID number of your team’s\n"
+ .string "{STR_VAR_1} matches your\l"
+ .string "LOTO TICKET’s number!$"
+
+LilycoveCity_DepartmentStore_1F_Text_2A65E6: @ 82A65E6
+ .string "Congratulations!\p"
+ .string "The ID number of your PC-boxed\n"
+ .string "{STR_VAR_1} matches your\l"
+ .string "LOTO TICKET’s number!$"
+
+LilycoveCity_DepartmentStore_1F_Text_2A663C: @ 82A663C
+ .string "I’m sorry.\n"
+ .string "None of the numbers matched.$"
+
+LilycoveCity_DepartmentStore_1F_Text_2A6664: @ 82A6664
+ .string "Two digits matched, so you win the\n"
+ .string "third prize!\l"
+ .string "You’ve won the {STR_VAR_1}!$"
+
+LilycoveCity_DepartmentStore_1F_Text_2A66A7: @ 82A66A7
+ .string "Three digits matched, so you win the\n"
+ .string "second prize!\l"
+ .string "You’ve won the {STR_VAR_1}!$"
+
+LilycoveCity_DepartmentStore_1F_Text_2A66ED: @ 82A66ED
+ .string "Four digits matched, so you win the\n"
+ .string "first prize!\l"
+ .string "You’ve won the {STR_VAR_1}!$"
+
+LilycoveCity_DepartmentStore_1F_Text_2A6731: @ 82A6731
+ .string "Oh, my goodness, all five digits\n"
+ .string "matched!\p"
+ .string "You’ve won the jackpot prize!\n"
+ .string "You’ve won the {STR_VAR_1}!$"
+
+LilycoveCity_DepartmentStore_1F_Text_2A678C: @ 82A678C
+ .string "Oh?\n"
+ .string "You seem to have no room for this.\p"
+ .string "Please make room in your BAG and\n"
+ .string "let me know.$"
+
+LilycoveCity_DepartmentStore_1F_Text_2A67E1: @ 82A67E1
+ .string "{PLAYER}?\n"
+ .string "Yes, I’ve been expecting you.\p"
+ .string "This is the prize we’ve been holding\n"
+ .string "for you.$"
+
+LilycoveCity_DepartmentStore_1F_Text_2A6831: @ 82A6831
+ .string "Please do visit again.$"
diff --git a/data/text/pokedex_rating.inc b/data/text/pokedex_rating.inc
new file mode 100644
index 000000000..735488b37
--- /dev/null
+++ b/data/text/pokedex_rating.inc
@@ -0,0 +1,115 @@
+gUnknown_082A5C9C:: @ 82A5C9C
+ .string "PROF. BIRCH: Ah, {PLAYER}{KUN}!\p"
+ .string "Are you curious about how your\n"
+ .string "POKéDEX is coming along?$"
+
+Route101_Text_2A5CEB: @ 82A5CEB
+ .string "Hm? Oh, you haven’t caught enough\n"
+ .string "POKéMON to make it worthwhile.$"
+
+gUnknown_082A5D2C:: @ 82A5D2C
+ .string "Hmhm…\p"
+ .string "So, you’ve seen {STR_VAR_1} POKéMON,\n"
+ .string "and you’ve caught {STR_VAR_2} POKéMON…$"
+
+gUnknown_082A5D6C:: @ 82A5D6C
+ .string "Go into grassy areas more and look\n"
+ .string "for POKéMON more carefully.$"
+
+gUnknown_082A5DAB:: @ 82A5DAB
+ .string "I guess you’re getting the hang\n"
+ .string "of it. But, it gets harder from here.$"
+
+gUnknown_082A5DF1:: @ 82A5DF1
+ .string "Some POKéMON only appear in\n"
+ .string "certain areas.\l"
+ .string "You must be persistent.$"
+
+gUnknown_082A5E34:: @ 82A5E34
+ .string "Well, it could use more quantity,\n"
+ .string "but this is looking more like\l"
+ .string "a POKéDEX now.$"
+
+gUnknown_082A5E83:: @ 82A5E83
+ .string "This is coming along pretty good.\n"
+ .string "Keep up the effort.$"
+
+gUnknown_082A5EB9:: @ 82A5EB9
+ .string "Are you using any RODS?\n"
+ .string "There are many POKéMON in the sea.$"
+
+gUnknown_082A5EF4:: @ 82A5EF4
+ .string "Instead of just catching POKéMON,\n"
+ .string "how about making them evolve, too?$"
+
+gUnknown_082A5F39:: @ 82A5F39
+ .string "This is going to be a fantastic\n"
+ .string "POKéDEX.\l"
+ .string "That’s the feeling I’m getting.$"
+
+gUnknown_082A5F82:: @ 82A5F82
+ .string "You’ve collected this many…\n"
+ .string "Your talent is remarkable!$"
+
+gUnknown_082A5FB9:: @ 82A5FB9
+ .string "Have you visited the SAFARI ZONE?\p"
+ .string "I hear there are some POKéMON that\n"
+ .string "can only be caught there.$"
+
+gUnknown_082A6018:: @ 82A6018
+ .string "You’ve finally reached\n"
+ .string "the 100-kind mark.\p"
+ .string "This is an impressive POKéDEX!$"
+
+gUnknown_082A6061:: @ 82A6061
+ .string "There might be POKéMON that can be\n"
+ .string "found using ROCK SMASH.$"
+
+gUnknown_082A609C:: @ 82A609C
+ .string "You should get some more POKéMON\n"
+ .string "by trading with others.$"
+
+gUnknown_082A60D5:: @ 82A60D5
+ .string "I’ve heard of POKéMON that evolve\n"
+ .string "when they come to fully love their\l"
+ .string "TRAINERS.$"
+
+gUnknown_082A6124:: @ 82A6124
+ .string "I had no idea that there were so\n"
+ .string "many POKéMON species in the HOENN\l"
+ .string "region.$"
+
+gUnknown_082A616F:: @ 82A616F
+ .string "On occasion, some POKéMON appear\n"
+ .string "in large numbers like outbreaks.\p"
+ .string "Don’t miss opportunities like\n"
+ .string "those.$"
+
+gUnknown_082A61D6:: @ 82A61D6
+ .string "One can get a very good idea about\n"
+ .string "the POKéMON of the HOENN region\l"
+ .string "by looking through your POKéDEX.$"
+
+gUnknown_082A623A:: @ 82A623A
+ .string "I would say you already qualify as\n"
+ .string "a POKéMON PROFESSOR, and a good\l"
+ .string "one, too!$"
+
+gUnknown_082A6287:: @ 82A6287
+ .string "With a POKéDEX this complete,\n"
+ .string "you’re a real professional at this!$"
+
+gUnknown_082A62C9:: @ 82A62C9
+ .string "You’re very close to completing\n"
+ .string "this POKéDEX.\l"
+ .string "I can feel it in my bones!$"
+
+gUnknown_082A6312:: @ 82A6312
+ .string "Congratulations!\n"
+ .string "Your POKéDEX is complete!$"
+
+gUnknown_082A633D:: @ 82A633D
+ .string "Hmhm…\n"
+ .string "On a nationwide basis…\p"
+ .string "You’ve seen {STR_VAR_1} POKéMON,\n"
+ .string "and you’ve caught {STR_VAR_2} POKéMON…$"
diff --git a/data/text/roulette.inc b/data/text/roulette.inc
new file mode 100644
index 000000000..1973626c4
--- /dev/null
+++ b/data/text/roulette.inc
@@ -0,0 +1,41 @@
+gUnknown_082A5B12:: @ 82A5B12
+ .string "The minimum wager at this table\n"
+ .string "is {STR_VAR_1}. Do you want to play?$"
+
+gUnknown_082A5B4E:: @ 82A5B4E
+ .string "You don’t have enough COINS.$"
+
+gUnknown_082A5B6B:: @ 82A5B6B
+ .string "Special rate table right now!$"
+
+gUnknown_082A5B89:: @ 82A5B89
+ .string "Place your wager with the + Control\n"
+ .string "Pad, then press the A Button.$"
+
+gUnknown_082A5BCB:: @ 82A5BCB
+ .string "It’s a hit!$"
+
+gUnknown_082A5BD7:: @ 82A5BD7
+ .string "Jackpot!$"
+
+gUnknown_082A5BE0:: @ 82A5BE0
+ .string "Nothing doing!$"
+
+gUnknown_082A5BEF:: @ 82A5BEF
+ .string "You’ve won {STR_VAR_1} COINS!$"
+
+gUnknown_082A5C04:: @ 82A5C04
+ .string "No COINS left…$"
+
+gUnknown_082A5C13:: @ 82A5C13
+ .string "Keep playing?$"
+
+gUnknown_082A5C21:: @ 82A5C21
+ .string "The ROULETTE board will be cleared.$"
+
+gUnknown_082A5C45:: @ 82A5C45
+ .string "You don’t have a COIN CASE.$"
+
+gUnknown_082A5C61:: @ 82A5C61
+ .string "Your COIN CASE is full!\n"
+ .string "Coins can be exchanged for prizes.$"
diff --git a/data/text/save.inc b/data/text/save.inc
new file mode 100644
index 000000000..d909489ac
--- /dev/null
+++ b/data/text/save.inc
@@ -0,0 +1,32 @@
+gUnknown_082C87B4:: @ 82C87B4
+ .string "Would you like to save the game?$"
+
+gUnknown_082C87D5:: @ 82C87D5
+ .string "There is already a saved file.\n"
+ .string "Is it okay to overwrite it?$"
+
+gUnknown_082C8810:: @ 82C8810
+ .string "SAVING…\n"
+ .string "DON’T TURN OFF THE POWER.$"
+
+gUnknown_082C8832:: @ 82C8832
+ .string "{PLAYER} saved the game.$"
+
+gUnknown_082C8845:: @ 82C8845
+ .string "WARNING!\p"
+ .string "There is a different game file that\n"
+ .string "is already saved.\p"
+ .string "If you save now, the other file’s\n"
+ .string "adventure, including items and\l"
+ .string "POKéMON, will be entirely lost.\p"
+ .string "Are you sure you want to save now\n"
+ .string "and overwrite the other save file?$"
+
+gUnknown_082C892A:: @ 82C892A
+ .string "Save error.\p"
+ .string "Please exchange the\n"
+ .string "backup memory.$"
+
+gText_SavingDontTurnOffPower:: @ 82C8959
+ .string "SAVING…\n"
+ .string "DON’T TURN OFF THE POWER.$"
diff --git a/data/text/shoal_cave.inc b/data/text/shoal_cave.inc
new file mode 100644
index 000000000..345a24149
--- /dev/null
+++ b/data/text/shoal_cave.inc
@@ -0,0 +1,55 @@
+ShoalCave_LowTideEntranceRoom_Text_2A7E0E: @ 82A7E0E
+ .string "Are you planning on going deep\n"
+ .string "in there?\p"
+ .string "How about bringing me back some\n"
+ .string "SHOAL SALT and SHOAL SHELLS?\p"
+ .string "I can make you something good if\n"
+ .string "you bring me the ingredients.$"
+
+ShoalCave_LowTideEntranceRoom_Text_2A7EB3: @ 82A7EB3
+ .string "If you bring me four each of the\n"
+ .string "SHOAL SALT and SHOAL SHELLS,\l"
+ .string "I can make you a SHELL BELL…\p"
+ .string "You can get those ingredients\n"
+ .string "every day.$"
+
+ShoalCave_LowTideEntranceRoom_Text_2A7F37: @ 82A7F37
+ .string "Oh, hey! SHOAL SALT and SHOAL SHELLS!\n"
+ .string "And enough of them, too!\p"
+ .string "Would you like me to make you\n"
+ .string "a SHELL BELL with them?$"
+
+ShoalCave_LowTideEntranceRoom_Text_2A7FAC: @ 82A7FAC
+ .string "All righty, then! I’ll make you\n"
+ .string "a SHELL BELL right away.\p"
+ .string "… … … … … … … …\n"
+ .string "… … … … … … … …\p"
+ .string "There! Done!$"
+
+ShoalCave_LowTideEntranceRoom_Text_2A8012: @ 82A8012
+ .string "Have a POKéMON hold on to that.\n"
+ .string "It’ll love it, that’s for certain.\p"
+ .string "Why, the SHELL BELL’s chime…\n"
+ .string "It’s simply sublime!\p"
+ .string "You can get its ingredients every day,\n"
+ .string "so I can make you more.$"
+
+ShoalCave_LowTideEntranceRoom_Text_2A80C6: @ 82A80C6
+ .string "Oh… Is that so…\n"
+ .string "I wanted to make a SHELL BELL…$"
+
+ShoalCave_LowTideEntranceRoom_Text_2A80F5: @ 82A80F5
+ .string "You don’t have space in your BAG\n"
+ .string "if I were to make it for you.\p"
+ .string "You should make room and come back\n"
+ .string "for a SHELL BELL.$"
+
+ShoalCave_LowTideInnerRoom_Text_2A8169: @ 82A8169
+ShoalCave_LowTideLowerRoom_Text_2A8169: @ 82A8169
+ShoalCave_LowTideStairsRoom_Text_2A8169: @ 82A8169
+ .string "There was some SHOAL SALT here.\n"
+ .string "But, there’s nothing here now.$"
+
+ShoalCave_LowTideInnerRoom_Text_2A81A8: @ 82A81A8
+ .string "There was a SHOAL SHELL here.\n"
+ .string "But, there’s nothing here now.$"
diff --git a/data/text/surf.inc b/data/text/surf.inc
new file mode 100644
index 000000000..2751dae7b
--- /dev/null
+++ b/data/text/surf.inc
@@ -0,0 +1,5 @@
+gUnknown_08272FD6:: @ 8272FD6
+ .string "The water is dyed a deep blue…\nWould you like to SURF?$"
+
+gUnknown_0827300D:: @ 827300D
+ .string "{STR_VAR_1} used SURF!$"
diff --git a/data/text/trainers.inc b/data/text/trainers.inc
new file mode 100644
index 000000000..45f73a216
--- /dev/null
+++ b/data/text/trainers.inc
@@ -0,0 +1,4781 @@
+Route102_Text_294513: @ 8294513
+ .string "If you have POKéMON with you, then\n"
+ .string "you’re an official POKéMON TRAINER!\l"
+ .string "You can’t say no to my challenge!$"
+
+Route102_Text_29457C: @ 829457C
+ .string "Arrgh, I lost…\n"
+ .string "I should have trained mine more…$"
+
+Route102_Text_2945AC: @ 82945AC
+ .string "Listen, you. If you’re strong,\n"
+ .string "you should have told me before!$"
+
+Route102_Text_2945EB: @ 82945EB
+ .string "I’ve been working hard at this since\n"
+ .string "I saw you before.\p"
+ .string "I’d like to battle you again, so can\n"
+ .string "you register me in your POKéNAV?$"
+
+Route102_Text_294668: @ 8294668
+ .string "I’d like to battle you again, so can\n"
+ .string "you register me in your POKéNAV?$"
+
+Route102_Text_2946AE: @ 82946AE
+ .string "Ever since I lost to you, I desperately\n"
+ .string "trained my POKéMON.\l"
+ .string "You can’t say no to my challenge!$"
+
+Route102_Text_29470C: @ 829470C
+ .string "Arrgh, I lost…\n"
+ .string "Is my training method not right?$"
+
+Route102_Text_29473C: @ 829473C
+ .string "If you’re going to get stronger,\n"
+ .string "I’ll get stronger, too.$"
+
+Route102_Text_294775: @ 8294775
+ .string "Did you just become a TRAINER?\n"
+ .string "We’re both beginners!$"
+
+Route102_Text_2947AA: @ 82947AA
+ .string "I called you because I thought\n"
+ .string "I could beat you…$"
+
+Route102_Text_2947DB: @ 82947DB
+ .string "I haven’t won once yet…\n"
+ .string "I wish I would win soon…$"
+
+Route102_Text_29480C: @ 829480C
+ .string "Hahah! Our eyes met!\n"
+ .string "I’ll take you on with my BUG POKéMON!$"
+
+Route102_Text_294847: @ 8294847
+ .string "Ow! Down and out!$"
+
+Route102_Text_294859: @ 8294859
+ .string "If you lock eyes with a TRAINER,\n"
+ .string "you have to challenge! It’s a rule!$"
+
+Route102_Text_29489E: @ 829489E
+ .string "I’m going to keep winning and aim\n"
+ .string "to be the best TRAINER.\p"
+ .string "Help me further my career!$"
+
+Route102_Text_2948F3: @ 82948F3
+ .string "I ended up furthering your career…$"
+
+Route102_Text_294916: @ 8294916
+ .string "To keep winning my way up, I see that\n"
+ .string "I have to catch more POKéMON.$"
+
+Route103_Text_29495A: @ 829495A
+ .string "Did you feel the tug of our\n"
+ .string "soul-soothing fragrance?$"
+
+Route103_Text_29498F: @ 829498F
+ .string "You weren’t led astray by our aroma…$"
+
+Route103_Text_2949B4: @ 82949B4
+ .string "Aromatherapy is a form of mental\n"
+ .string "healing that works with fragrances.$"
+
+Route103_Text_2949F9: @ 82949F9
+ .string "AMY: I’m AMY.\n"
+ .string "And this is my little sister LIV.\l"
+ .string "We battle together!$"
+
+Route103_Text_294A3D: @ 8294A3D
+ .string "AMY: Uh-oh, we lost.$"
+
+Route103_Text_294A52: @ 8294A52
+ .string "AMY: You have to think about all\n"
+ .string "kinds of things when you’re battling\l"
+ .string "against two TRAINERS.$"
+
+Route103_Text_294AAE: @ 8294AAE
+ .string "AMY: Uh-oh, you have only one\n"
+ .string "POKéMON with you.\l"
+ .string "You can’t battle us like that.$"
+
+Route103_Text_294AFD: @ 8294AFD
+ .string "LIV: We battle together as one\n"
+ .string "team.$"
+
+Route103_Text_294B22: @ 8294B22
+ .string "LIV: Oh, we lost, big sister…$"
+
+Route103_Text_294B40: @ 8294B40
+ .string "LIV: We work perfectly together,\n"
+ .string "me and my big sister…\p"
+ .string "But we still lost…$"
+
+Route103_Text_294B8A: @ 8294B8A
+ .string "LIV: Really, we’re a lot better…\n"
+ .string "It’s true! We’ll show you next time!$"
+
+Route103_Text_294BD0: @ 8294BD0
+ .string "LIV: If you want to battle us,\n"
+ .string "you have to have two POKéMON!\l"
+ .string "It’s not fair if you don’t!$"
+
+Route103_Text_294C29: @ 8294C29
+ .string "AMY: I’m AMY.\n"
+ .string "And this is my little sister LIV.\l"
+ .string "We battle together!$"
+
+Route103_Text_294C6D: @ 8294C6D
+ .string "AMY: Aww, boo!\n"
+ .string "We couldn’t win again…$"
+
+Route103_Text_294C93: @ 8294C93
+ .string "AMY: You have to think about all\n"
+ .string "kinds of things when you’re battling\l"
+ .string "against two TRAINERS.$"
+
+Route103_Text_294CEF: @ 8294CEF
+ .string "AMY: Uh-oh, you have only one\n"
+ .string "POKéMON with you.\l"
+ .string "You can’t battle us like that.$"
+
+Route103_Text_294D3E: @ 8294D3E
+ .string "LIV: We battle together as one\n"
+ .string "team.$"
+
+Route103_Text_294D63: @ 8294D63
+ .string "LIV: Awww, we lost again…\n"
+ .string "Big sister…$"
+
+Route103_Text_294D89: @ 8294D89
+ .string "LIV: We work perfectly together,\n"
+ .string "me and my big sister…\p"
+ .string "But why did we lose again?$"
+
+Route103_Text_294DDB: @ 8294DDB
+ .string "LIV: If you want to battle us, you\n"
+ .string "have to have two POKéMON!\l"
+ .string "It’s not fair if you don’t!$"
+
+Route103_Text_294E34: @ 8294E34
+ .string "Gah! My fishing line’s all snarled up!\n"
+ .string "I’m getting frustrated and mean!\l"
+ .string "That’s it! Battle me!$"
+
+Route103_Text_294E92: @ 8294E92
+ .string "Gah! Lost it!\n"
+ .string "I’m even more annoyed now!$"
+
+Route103_Text_294EBB: @ 8294EBB
+ .string "Gah, I’m still boiling mad…\n"
+ .string "Grrrrr…$"
+
+Route103_Text_294EDF: @ 8294EDF
+ .string "My POKéMON is delightfully adorable!\n"
+ .string "Don’t be shy--I’ll show you!$"
+
+Route103_Text_294F21: @ 8294F21
+ .string "Oh, my gosh!\n"
+ .string "My darling POKéMON!$"
+
+Route103_Text_294F42: @ 8294F42
+ .string "My delightful POKéMON looks darling\n"
+ .string "even when it’s fainted!$"
+
+Route103_Text_294F7E: @ 8294F7E
+ .string "I’ll get you to come out and look in\n"
+ .string "on my delightful POKéMON again!$"
+
+Route103_Text_294FC3: @ 8294FC3
+ .string "Hi, you! My delightfully adorable\n"
+ .string "POKéMON has become more darling!$"
+
+Route103_Text_295006: @ 8295006
+ .string "Oh!\n"
+ .string "My darling POKéMON!$"
+
+Route103_Text_29501E: @ 829501E
+ .string "The more I spend time with it,\n"
+ .string "the more adorable my POKéMON becomes.$"
+
+Route103_Text_295063: @ 8295063
+ .string "This sort of distance…\n"
+ .string "You should just swim it!$"
+
+Route103_Text_295093: @ 8295093
+ .string "Oh, that’s good going!$"
+
+Route103_Text_2950AA: @ 82950AA
+ .string "Oh, I understand where you’re coming\n"
+ .string "from now.\p"
+ .string "If I had a POKéMON that trusty,\n"
+ .string "I’d want to SURF on it, too!$"
+
+Route103_Text_295116: @ 8295116
+ .string "Watch where you’re going!\n"
+ .string "We’re going to crash!$"
+
+Route103_Text_295146: @ 8295146
+ .string "Groan…$"
+
+Route103_Text_29514D: @ 829514D
+ .string "I’m a poor swimmer so I was practicing…\n"
+ .string "Sorry for almost crashing into you.$"
+
+Route103_Text_295199: @ 8295199
+ .string "Whoa!\n"
+ .string "How’d you get into a space this small?$"
+
+Route103_Text_2951C6: @ 82951C6
+ .string "Whoa!\n"
+ .string "The kid can rock!$"
+
+Route103_Text_2951DE: @ 82951DE
+ .string "Do you like cramped quarters\n"
+ .string "like this?$"
+
+Route103_Text_295206: @ 8295206
+ .string "Did my guitar’s wailing draw you in?$"
+
+Route103_Text_29522B: @ 829522B
+ .string "My one-man show is ruined…$"
+
+Route103_Text_295246: @ 8295246
+ .string "I was playing my guitar where few\n"
+ .string "people were around, but a lot of fans\l"
+ .string "have gathered.\p"
+ .string "Heh, maybe I should turn pro.$"
+
+Route104_Text_2952BB: @ 82952BB
+ .string "GINA: Okay, let’s battle with our\n"
+ .string "POKéMON!$"
+
+Route104_Text_2952E6: @ 82952E6
+ .string "GINA: Losing upsets me!$"
+
+Route104_Text_2952FE: @ 82952FE
+ .string "GINA: You are strong!\n"
+ .string "We have to train lots more!$"
+
+Route104_Text_295330: @ 8295330
+ .string "GINA: Oh? Only one POKéMON?\n"
+ .string "Then, we don’t battle with you.\p"
+ .string "If there’s only one POKéMON, it will\n"
+ .string "be lonesome. That’s not nice.$"
+
+Route104_Text_2953AF: @ 82953AF
+ .string "MIA: We are twins, so we battle\n"
+ .string "POKéMON together.$"
+
+Route104_Text_2953E1: @ 82953E1
+ .string "MIA: We battled together, but we\n"
+ .string "both lost…$"
+
+Route104_Text_29540D: @ 829540D
+ .string "MIA: We will train our POKéMON more\n"
+ .string "and be strong like you.$"
+
+Route104_Text_295449: @ 8295449
+ .string "MIA: You want to battle with us?\p"
+ .string "It’s a big no-no if you don’t have two\n"
+ .string "POKéMON with you.\l"
+ .string "We’re too strong for you!$"
+
+Route104_Text_2954BD: @ 82954BD
+ .string "Why keep it a secret?\n"
+ .string "I’m the WATER POKéMON expert!\p"
+ .string "Huh?\n"
+ .string "You don’t know me?$"
+
+Route104_Text_295509: @ 8295509
+ .string "I thought I wasn’t too bad, if I may\n"
+ .string "say so, but I guess not… Bleah…$"
+
+Route104_Text_29554E: @ 829554E
+ .string "I got too into fishing.\n"
+ .string "I forgot I had to raise my POKéMON…$"
+
+Route104_Text_29558A: @ 829558A
+ .string "Leaving footprints in the sand is\n"
+ .string "so fun!$"
+
+Route104_Text_2955B4: @ 82955B4
+ .string "Waah! I got sand in my runners!\n"
+ .string "They’re all gritty!$"
+
+Route104_Text_2955E8: @ 82955E8
+ .string "I want to leave my footprints in\n"
+ .string "the sand everywhere, but they\l"
+ .string "disappear quickly…$"
+
+Route104_Text_29563A: @ 829563A
+ .string "Should I…\n"
+ .string "Or shouldn’t I?\p"
+ .string "Okay, sure, I will battle!$"
+
+Route104_Text_29566F: @ 829566F
+ .string "I shouldn’t have battled…$"
+
+Route104_Text_295689: @ 8295689
+ .string "If you’re faced with a decision and\n"
+ .string "you let someone else choose for you,\l"
+ .string "you will regret it, however things\l"
+ .string "turn out.$"
+
+Route104_Text_2956FF: @ 82956FF
+ .string "You’re strong, but should I register\n"
+ .string "you in my POKéNAV?\l"
+ .string "Maybe I shouldn’t…\p"
+ .string "Okay, sure, I will register you!$"
+
+Route104_Text_29576B: @ 829576B
+ .string "You’re strong, but should I register\n"
+ .string "you in my POKéNAV?\l"
+ .string "Maybe I shouldn’t…\p"
+ .string "Okay, sure, I will register you!$"
+
+Route104_Text_2957D7: @ 82957D7
+ .string "Come on, battle with me!$"
+
+Route104_Text_2957F0: @ 82957F0
+ .string "Ohh…\n"
+ .string "I thought I could win…$"
+
+Route104_Text_29580C: @ 829580C
+ .string "I made the decision to battle, so\n"
+ .string "I can accept this loss with grace.\p"
+ .string "I am still upset about losing!$"
+
+Route104_Text_295870: @ 8295870
+ .string "Oh, sure, I’ll accept your challenge.\n"
+ .string "I have a lot of money.$"
+
+Route104_Text_2958AD: @ 82958AD
+ .string "Why couldn’t I win?$"
+
+Route104_Text_2958C1: @ 82958C1
+ .string "There are some things money can’t buy.\n"
+ .string "That’s POKéMON…$"
+
+Route104_Text_2958F8: @ 82958F8
+ .string "Hm?\n"
+ .string "Ah, you’ve obtained a POKéNAV.\p"
+ .string "I will gladly register you.\n"
+ .string "After all, I have plenty of money.$"
+
+Route104_Text_29595A: @ 829595A
+ .string "Hm?\n"
+ .string "Ah, you’ve obtained a POKéNAV.\p"
+ .string "I will gladly register you.\n"
+ .string "After all, I have plenty of money.$"
+
+Route104_Text_2959BC: @ 82959BC
+ .string "After I lost to you, I learned a bunch\n"
+ .string "of things about POKéMON.$"
+
+Route104_Text_2959FC: @ 82959FC
+ .string "I lost again?\n"
+ .string "Why couldn’t I win?$"
+
+Route104_Text_295A1E: @ 8295A1E
+ .string "I’m fabulously wealthy, but I can’t\n"
+ .string "seem to win at POKéMON…\p"
+ .string "It’s so deep, the world of POKéMON…$"
+
+Route104_Text_295A7E: @ 8295A7E
+ .string "We must have been fated to meet.\n"
+ .string "May I ask you for a battle?$"
+
+Route104_Text_295ABB: @ 8295ABB
+ .string "Oh, my!$"
+
+Route104_Text_295AC3: @ 8295AC3
+ .string "“Hello” is the beginning of “good-bye.”\n"
+ .string "I hope we meet again.$"
+
+Route104_Text_295B01: @ 8295B01
+ .string "Hello, we meet again.\p"
+ .string "We seem to be drawn together. Let’s\n"
+ .string "register each other in our POKéNAVS.$"
+
+Route104_Text_295B60: @ 8295B60
+ .string "We should commemorate how we seem\n"
+ .string "to be drawn to each other.\p"
+ .string "Let’s register each other in our\n"
+ .string "POKéNAVS.$"
+
+Route104_Text_295BC8: @ 8295BC8
+ .string "Hello, we meet again.\n"
+ .string "May I ask you for a battle?$"
+
+Route104_Text_295BFA: @ 8295BFA
+ .string "Oh, my…\n"
+ .string "I did the best that I could…$"
+
+Route104_Text_295C1F: @ 8295C1F
+ .string "“Hello” is the beginning of “good-bye.”\n"
+ .string "I hope we meet again.$"
+
+Route104_Text_295C5D: @ 8295C5D
+ .string "I fished up a tough-looking POKéMON!\p"
+ .string "It has this magical quality to it!\n"
+ .string "It surely looks tough, yes it does!$"
+
+Route104_Text_295CC9: @ 8295CC9
+ .string "What the…$"
+
+Route104_Text_295CD3: @ 8295CD3
+ .string "Hey, MAGIKARP, you sure don’t live up\n"
+ .string "to your name, do you?$"
+
+Route105_Text_295D0F: @ 8295D0F
+ .string "There’s supposed to be a mystical\n"
+ .string "rock around here.\l"
+ .string "Do you know anything about it?$"
+
+Route105_Text_295D62: @ 8295D62
+ .string "I was thinking too much about that\n"
+ .string "rock, while my POKéMON remained weak…$"
+
+Route105_Text_295DAB: @ 8295DAB
+ .string "I can spend hours and hours staring\n"
+ .string "at a nice rock without growing bored.$"
+
+Route105_Text_295DF5: @ 8295DF5
+ .string "Whew! I was worried that a kid was\n"
+ .string "drowning when I saw you.\p"
+ .string "You seem to be okay, so what do you\n"
+ .string "say to a battle?$"
+
+Route105_Text_295E66: @ 8295E66
+ .string "Glub… Glub…$"
+
+Route105_Text_295E72: @ 8295E72
+ .string "If you are drowning, the signal is to\n"
+ .string "wave one arm toward the beach.$"
+
+Route105_Text_295EB7: @ 8295EB7
+ .string "Swimming the deep blue sea…\n"
+ .string "It feels the greatest!$"
+
+Route105_Text_295EEA: @ 8295EEA
+ .string "I lost…\n"
+ .string "Now I’m feeling blue…$"
+
+Route105_Text_295F08: @ 8295F08
+ .string "Why is the sea blue?\p"
+ .string "I learned about that at the MUSEUM in\n"
+ .string "SLATEPORT, but I forgot.$"
+
+Route105_Text_295F5C: @ 8295F5C
+ .string "My body feels lighter in the water.\n"
+ .string "It’s as if I’ve gotten slimmer!$"
+
+Route105_Text_295FA0: @ 8295FA0
+ .string "I’m floating…$"
+
+Route105_Text_295FAE: @ 8295FAE
+ .string "Your body weight is reduced to just\n"
+ .string "one tenth in the water.\p"
+ .string "That would make me…\n"
+ .string "Whoops! I’m not telling you my weight!$"
+
+Route105_Text_296025: @ 8296025
+ .string "The blue, blue sky…\n"
+ .string "The vast sea…\l"
+ .string "It’s so peaceful…$"
+
+Route105_Text_296059: @ 8296059
+ .string "I lost while I was lounging!$"
+
+Route105_Text_296076: @ 8296076
+ .string "I want to be told I’m relaxing to be\n"
+ .string "with. Giggle.$"
+
+Route105_Text_2960A9: @ 82960A9
+ .string "I’m convinced that the sea keeps\n"
+ .string "secrets from us.$"
+
+Route105_Text_2960DB: @ 82960DB
+ .string "Yes…\n"
+ .string "I am no good at battling…$"
+
+Route105_Text_2960FA: @ 82960FA
+ .string "I’m sure there are many secrets to be\n"
+ .string "discovered in the world’s seas.\p"
+ .string "I mean to find them all!$"
+
+Route105_Text_296159: @ 8296159
+ .string "Huh? I’m so weak, but you’re willing\n"
+ .string "to register me in your POKéNAV?$"
+
+Route105_Text_29619E: @ 829619E
+ .string "I’ve told you that I’m weak…\n"
+ .string "Are you sure you want to do this?$"
+
+Route105_Text_2961DD: @ 82961DD
+ .string "Yes…\n"
+ .string "I didn’t think I could win.$"
+
+Route105_Text_2961FE: @ 82961FE
+ .string "I may be weak at battling, but my\n"
+ .string "drive to explore can’t be bested.\p"
+ .string "I will travel the seas all around\n"
+ .string "the world!$"
+
+Route105_Text_29626F: @ 829626F
+ .string "I’m exhausted from swimming.\n"
+ .string "I’m just not used to it.\p"
+ .string "I need a battle for a change of pace!$"
+
+Route105_Text_2962CB: @ 82962CB
+ .string "I lost because I battled at sea.$"
+
+Route105_Text_2962EC: @ 82962EC
+ .string "Yeah, for me, the sky is a much better\n"
+ .string "match than the sea.$"
+
+Route106_Text_296327: @ 8296327
+ .string "Which do you prefer, fishing in the\n"
+ .string "sea or a stream?$"
+
+Route106_Text_29635C: @ 829635C
+ .string "Like in deep-sea fishing, I lost\n"
+ .string "spectacularly!$"
+
+Route106_Text_29638C: @ 829638C
+ .string "Fishing is the greatest whether it’s\n"
+ .string "in the sea or a stream.\l"
+ .string "You agree with me, right?$"
+
+Route106_Text_2963E3: @ 82963E3
+ .string "Fishing’s great, but so is battling.\n"
+ .string "If you don’t mind, can we meet again?$"
+
+Route106_Text_29642E: @ 829642E
+ .string "I caught a bunch of POKéMON fishing.\n"
+ .string "I’ll show you an impressive battle!$"
+
+Route106_Text_296477: @ 8296477
+ .string "I lost again spectacularly!$"
+
+Route106_Text_296493: @ 8296493
+ .string "Win or lose, POKéMON are the greatest!\n"
+ .string "You agree with me, right?$"
+
+Route106_Text_2964D4: @ 82964D4
+ .string "What do people do if they need to go\n"
+ .string "to a washroom?\p"
+ .string "What if my ROD hooks a big one while\n"
+ .string "I’m in the washroom? I just can’t go…$"
+
+Route106_Text_296553: @ 8296553
+ .string "I lost because I’m trying to not go\n"
+ .string "to the washroom…$"
+
+Route106_Text_296588: @ 8296588
+ .string "Oh, no! I’ve got this feeling I’ll hook\n"
+ .string "a big one!$"
+
+Route106_Text_2965BB: @ 82965BB
+ .string "Hahahah! I’m a lousy runner, but in\n"
+ .string "the water you can’t catch me!$"
+
+Route106_Text_2965FD: @ 82965FD
+ .string "I give up!$"
+
+Route106_Text_296608: @ 8296608
+ .string "I wouldn’t lose in a swim race…$"
+
+Route106_Text_296628: @ 8296628
+ .string "The sea is my backyard. I’m not going\n"
+ .string "to take it easy because you’re a kid!$"
+
+Route106_Text_296674: @ 8296674
+ .string "Did you take it easy on me by any\n"
+ .string "chance?$"
+
+Route106_Text_29669E: @ 829669E
+ .string "Drifting along with the waves…\n"
+ .string "I love it! Why don’t you give it a try?$"
+
+Route107_Text_2966E5: @ 82966E5
+ .string "Yawn…\p"
+ .string "I must have drifted off to sleep while\n"
+ .string "I was drifting in the waves.$"
+
+Route107_Text_29672F: @ 829672F
+ .string "Ahaha, I lost…\n"
+ .string "I’ll take a snooze, I think…$"
+
+Route107_Text_29675B: @ 829675B
+ .string "Floating and being rocked by\n"
+ .string "the waves--it’s like sleeping in\l"
+ .string "a plush, comfy bed.$"
+
+Route107_Text_2967AD: @ 82967AD
+ .string "The sea is like my backyard.\n"
+ .string "Let’s battle!$"
+
+Route107_Text_2967D8: @ 82967D8
+ .string "I lost on my home field…\n"
+ .string "I’m in shock!$"
+
+Route107_Text_2967FF: @ 82967FF
+ .string "I swim the seas with a heart full of\n"
+ .string "dreams…\p"
+ .string "It’s a song!\n"
+ .string "Anyways, I’m swimming some more.$"
+
+Route107_Text_29685A: @ 829685A
+ .string "You’ve shocked me to the bone!\n"
+ .string "Well, so you won’t forget me…$"
+
+Route107_Text_296897: @ 8296897
+ .string "Swimming in the big, wide sea,\n"
+ .string "my POKéMON has grown stronger!$"
+
+Route107_Text_2968D5: @ 82968D5
+ .string "What a shock!\p"
+ .string "My POKéMON has gotten stronger, but\n"
+ .string "I stayed weak as a TRAINER!$"
+
+Route107_Text_296923: @ 8296923
+ .string "What you learn in battle makes you\n"
+ .string "a stronger TRAINER.\l"
+ .string "The waves taught me that.$"
+
+Route107_Text_296974: @ 8296974
+ .string "Do you know a little town called\n"
+ .string "DEWFORD?$"
+
+Route107_Text_29699E: @ 829699E
+ .string "I hate this!$"
+
+Route107_Text_2969AB: @ 82969AB
+ .string "A weird saying is getting really\n"
+ .string "trendy at DEWFORD HALL.$"
+
+Route107_Text_2969E4: @ 82969E4
+ .string "Did you want to battle me?\n"
+ .string "Sure, I’ll go with you!$"
+
+Route107_Text_296A17: @ 8296A17
+ .string "I wasn’t good enough for you.$"
+
+Route107_Text_296A35: @ 8296A35
+ .string "I think you’re going to keep getting\n"
+ .string "better. I’ll go for it, too!$"
+
+Route107_Text_296A77: @ 8296A77
+ .string "LISA: We challenge you as a sister\n"
+ .string "and brother!$"
+
+Route107_Text_296AA7: @ 8296AA7
+ .string "LISA: Awesome.\n"
+ .string "You’re in a different class of tough.$"
+
+Route107_Text_296ADC: @ 8296ADC
+ .string "LISA: Do you have any friends who\n"
+ .string "would go to the beach with you?$"
+
+Route107_Text_296B1E: @ 8296B1E
+ .string "LISA: If you want to battle with us,\n"
+ .string "bring more POKéMON.$"
+
+Route107_Text_296B57: @ 8296B57
+ .string "RAY: We always battle POKéMON,\n"
+ .string "me and my sister.\p"
+ .string "I always lose, but we can beat you\n"
+ .string "2-on-2!$"
+
+Route107_Text_296BB3: @ 8296BB3
+ .string "RAY: Wowee, you’re at a higher level\n"
+ .string "than us!$"
+
+Route107_Text_296BE1: @ 8296BE1
+ .string "RAY: My sister gave me my POKéMON.\n"
+ .string "I raised it, and now it’s my important\l"
+ .string "partner!$"
+
+Route107_Text_296C34: @ 8296C34
+ .string "RAY: If you want to battle us,\n"
+ .string "go bring some more POKéMON!$"
+
+Route107_Text_296C6F: @ 8296C6F
+ .string "I’m in the middle of a triathlon,\n"
+ .string "but I’m nowhere near tired!$"
+
+Route107_Text_296CAD: @ 8296CAD
+ .string "That exhausted me…$"
+
+Route107_Text_296CC0: @ 8296CC0
+ .string "I still have swimming and running left\n"
+ .string "to do after this.\p"
+ .string "Am I going to be okay?$"
+
+Route108_Text_296D10: @ 8296D10
+ .string "My dream is to swim the world’s seven\n"
+ .string "seas!$"
+
+Route108_Text_296D3C: @ 8296D3C
+ .string "I won’t be able to swim the seven seas\n"
+ .string "like this…$"
+
+Route108_Text_296D6E: @ 8296D6E
+ .string "Playing with marine POKéMON is one of\n"
+ .string "the pleasures of swimming!$"
+
+Route108_Text_296DAF: @ 8296DAF
+ .string "Ahoy, there! Are you going out to\n"
+ .string "the ABANDONED SHIP, too?$"
+
+Route108_Text_296DEA: @ 8296DEA
+ .string "I’m sinking!\n"
+ .string "Glub… Glub…$"
+
+Route108_Text_296E03: @ 8296E03
+ .string "Some people even go inside that\n"
+ .string "ABANDONED SHIP.$"
+
+Route108_Text_296E33: @ 8296E33
+ .string "My liar of a boyfriend told me that\n"
+ .string "I look great in a bikini…$"
+
+Route108_Text_296E71: @ 8296E71
+ .string "Oh, boo!$"
+
+Route108_Text_296E7A: @ 8296E7A
+ .string "Even if it’s a lie, I love being told\n"
+ .string "I look great…\l"
+ .string "We girls are so complex…$"
+
+Route108_Text_296EC7: @ 8296EC7
+ .string "I love the sea!\n"
+ .string "I forget all my worries when I swim!$"
+
+Route108_Text_296EFC: @ 8296EFC
+ .string "When I lose a battle, I get all\n"
+ .string "stressed out!$"
+
+Route108_Text_296F2A: @ 8296F2A
+ .string "Work off your stress by swimming!\n"
+ .string "It’s so healthy!$"
+
+Route108_Text_296F5D: @ 8296F5D
+ .string "I love WATER-type POKéMON.\n"
+ .string "I love other POKéMON, too!$"
+
+Route108_Text_296F93: @ 8296F93
+ .string "Waaah! I lost!\n"
+ .string "Waaah! Waaah!$"
+
+Route108_Text_296FB0: @ 8296FB0
+ .string "Shouting is good for me!\n"
+ .string "It uplifts me!$"
+
+Route108_Text_296FD8: @ 8296FD8
+ .string "I love tough TRAINERS, too!\n"
+ .string "Register me in your POKéNAV!$"
+
+Route108_Text_297011: @ 8297011
+ .string "Win or lose, I love battling at sea!$"
+
+Route108_Text_297036: @ 8297036
+ .string "Waaah! I lost again!\n"
+ .string "Waaah! Waaah!$"
+
+Route108_Text_297059: @ 8297059
+ .string "If you’re faced with a challenge,\n"
+ .string "try shouting at the sea!$"
+
+Route108_Text_297094: @ 8297094
+ .string "I take huge pride in my POKéMON.\n"
+ .string "We’ll show you one speedy battle!$"
+
+Route108_Text_2970D7: @ 82970D7
+ .string "That wasn’t cute at all.$"
+
+Route108_Text_2970F0: @ 82970F0
+ .string "Since I’m at sea like this, I wouldn’t\n"
+ .string "mind putting on a pink, frilly swimsuit…$"
+
+Route109_Text_297140: @ 8297140
+ .string "Hiyah! Look at my chiseled abs!\n"
+ .string "This is what you call “cut”!$"
+
+Route109_Text_29717D: @ 829717D
+ .string "Aiyah!\n"
+ .string "Flubbed out!$"
+
+Route109_Text_297191: @ 8297191
+ .string "Hiyah!\p"
+ .string "My sculpted abs have nothing to do\n"
+ .string "with POKéMON battles!$"
+
+Route109_Text_2971D1: @ 82971D1
+ .string "Are you properly protected against\n"
+ .string "the sun?$"
+
+Route109_Text_2971FD: @ 82971FD
+ .string "Ouch, ouch, ouch!$"
+
+Route109_Text_29720F: @ 829720F
+ .string "Cheeks are the most prone to burning!$"
+
+Route109_Text_297235: @ 8297235
+ .string "I’ve laid anchor in ports around\n"
+ .string "the world, but SLATEPORT’s the best.$"
+
+Route109_Text_29727B: @ 829727B
+ .string "You’re the best!$"
+
+Route109_Text_29728C: @ 829728C
+ .string "In the best port was the best\n"
+ .string "TRAINER…$"
+
+Route109_Text_2972B3: @ 82972B3
+ .string "Urrrrppp…\n"
+ .string "Battle? With me?$"
+
+Route109_Text_2972CE: @ 82972CE
+ .string "Urp… Ooooooohhhhhh…\n"
+ .string "Urrrrpppp…$"
+
+Route109_Text_2972ED: @ 82972ED
+ .string "I’m usually stronger than this!\n"
+ .string "I’m just seasick as a dog!\p"
+ .string "I’m a SAILOR, but…$"
+
+Route109_Text_29733B: @ 829733B
+ .string "I’m thirsty… I could go for a SODA POP\n"
+ .string "at the SEASHORE HOUSE…$"
+
+Route109_Text_297379: @ 8297379
+ .string "Groan…$"
+
+Route109_Text_297380: @ 8297380
+ .string "I’m getting famished… My inner tube\n"
+ .string "looks like a giant doughnut…$"
+
+Route109_Text_2973C1: @ 82973C1
+ .string "Will you have another match with me\n"
+ .string "when I’m not all thirsty?$"
+
+Route109_Text_2973FF: @ 82973FF
+ .string "I’m hungry, but I’ve got enough pep in\n"
+ .string "me for a battle!$"
+
+Route109_Text_297437: @ 8297437
+ .string "I lost…\n"
+ .string "It’s because I’m hungry…$"
+
+Route109_Text_297458: @ 8297458
+ .string "When you eat on a beach, everything\n"
+ .string "seems to taste a little better.$"
+
+Route109_Text_29749C: @ 829749C
+ .string "Doesn’t a beach umbrella look like\n"
+ .string "a giant flower?$"
+
+Route109_Text_2974CF: @ 82974CF
+ .string "Mommy!$"
+
+Route109_Text_2974D6: @ 82974D6
+ .string "If you look at the beach from the sky,\n"
+ .string "it looks like a big flower garden!$"
+
+Route109_Text_297520: @ 8297520
+ .string "Me?\n"
+ .string "I’m here every day!$"
+
+Route109_Text_297538: @ 8297538
+ .string "I’m not losing to you again!\n"
+ .string "That’s why I have my inner tube!$"
+
+Route109_Text_297576: @ 8297576
+ .string "Mommy!$"
+
+Route109_Text_29757D: @ 829757D
+ .string "If I have an inner tube, me and my\n"
+ .string "POKéMON’s cuteness goes way up!$"
+
+Route109_Text_2975C0: @ 82975C0
+ .string "I can’t swim without my inner tube,\n"
+ .string "but I won’t lose at POKéMON!$"
+
+Route109_Text_297601: @ 8297601
+ .string "Did I lose because I have an inner\n"
+ .string "tube?$"
+
+Route109_Text_29762A: @ 829762A
+ .string "My inner tube is a fashion item.\n"
+ .string "I can’t be seen without it.$"
+
+Route109_Text_297667: @ 8297667
+ .string "Hi, big TRAINER.\n"
+ .string "Will you battle with me?$"
+
+Route109_Text_297691: @ 8297691
+ .string "Oh, you’re strong.$"
+
+Route109_Text_2976A4: @ 82976A4
+ .string "How did you get to be so strong?$"
+
+Route109_Text_2976C5: @ 82976C5
+ .string "Wahahah! This dude’s going to catch\n"
+ .string "himself a big one!$"
+
+Route109_Text_2976FC: @ 82976FC
+ .string "This dude just lost one…$"
+
+Route109_Text_297715: @ 8297715
+ .string "This dude thinks you’re a big one.\n"
+ .string "No, you’re a big-one-to-be!$"
+
+Route109_Text_297754: @ 8297754
+ .string "PAUL: Well, this is a mood-breaker.\p"
+ .string "I wish you wouldn’t disturb our\n"
+ .string "precious time together.$"
+
+Route109_Text_2977B0: @ 82977B0
+ .string "PAUL: Well, I give up.$"
+
+Route109_Text_2977C7: @ 82977C7
+ .string "PAUL: Well, don’t tell anyone that\n"
+ .string "we’re here.\l"
+ .string "This is just our private world of two!$"
+
+Route109_Text_29781D: @ 829781D
+ .string "PAUL: We’re totally, deeply in love.\n"
+ .string "That’s why we make our POKéMON battle\l"
+ .string "together.$"
+
+Route109_Text_297872: @ 8297872
+ .string "MEL: We’re, like, totally in love.\n"
+ .string "Our romance is heating up all of HOENN!$"
+
+Route109_Text_2978BD: @ 82978BD
+ .string "MEL: We lost, and it’s my fault!\n"
+ .string "PAUL will hate me!$"
+
+Route109_Text_2978F1: @ 82978F1
+ .string "MEL: Um, PAUL, are you angry with me?\n"
+ .string "Please don’t be angry.$"
+
+Route109_Text_29792E: @ 829792E
+ .string "MEL: We’re, like, deeply and truly in love.\n"
+ .string "That’s why we make our POKéMON\l"
+ .string "battle together.$"
+
+Route109_Text_29798A: @ 829798A
+ .string "Tadaah! See?\n"
+ .string "My inner tube’s round!$"
+
+Route109_Text_2979AE: @ 82979AE
+ .string "Oh, oh!\n"
+ .string "Too bad!$"
+
+Route109_Text_2979BF: @ 82979BF
+ .string "After I showed you my round inner\n"
+ .string "tube, too…$"
+
+Route109_Text_2979EC: @ 82979EC
+ .string "I can’t swim, so I’m pretending\n"
+ .string "to swim.$"
+
+Route109_Text_297A15: @ 8297A15
+ .string "I thought so!\n"
+ .string "I didn’t think we could win.$"
+
+Route109_Text_297A40: @ 8297A40
+ .string "When I learn how to swim, I think\n"
+ .string "my POKéMON will become tougher.$"
+
+Route109_Text_297A82: @ 8297A82
+ .string "For a guy as macho as me, this kind\n"
+ .string "of POKéMON is the perfect match!$"
+
+Route109_Text_297AC7: @ 8297AC7
+ .string "I’m cool even in defeat, hey?$"
+
+Route109_Text_297AE5: @ 8297AE5
+ .string "For a guy as macho as me, a port\n"
+ .string "is the perfect setting!\p"
+ .string "I guess I’ll head for SLATEPORT.$"
+
+Route110_Text_297B3F: @ 8297B3F
+ .string "Whoa! Watch it!\n"
+ .string "I guess you’re not used to BIKE racing.$"
+
+Route110_Text_297B77: @ 8297B77
+ .string "Whoa!\n"
+ .string "My brakes failed!$"
+
+Route110_Text_297B8F: @ 8297B8F
+ .string "Flat tires and brake problems can\n"
+ .string "cause serious injury!\l"
+ .string "Inspect your BIKE for problems!$"
+
+Route110_Text_297BE7: @ 8297BE7
+ .string "Yo, you!\n"
+ .string "Can you keep up with my speed?$"
+
+Route110_Text_297C0F: @ 8297C0F
+ .string "Crash and burn!$"
+
+Route110_Text_297C1F: @ 8297C1F
+ .string "Speed alone won’t let me win at POKéMON.\n"
+ .string "I need to reconsider this…$"
+
+Route110_Text_297C63: @ 8297C63
+ .string "Don’t panic if your BIKE’s going fast!$"
+
+Route110_Text_297C8A: @ 8297C8A
+ .string "I shouldn’t panic during POKéMON\n"
+ .string "battles…$"
+
+Route110_Text_297CB4: @ 8297CB4
+ .string "There’s no need to panic or stress.\n"
+ .string "Take it easy. There’s plenty of time.$"
+
+Route110_Text_297CFE: @ 8297CFE
+ .string "I’ll keep chugging on without stressing.\n"
+ .string "Give me a shout if you’re up to it.$"
+
+Route110_Text_297D4B: @ 8297D4B
+ .string "Aren’t you going a little too fast?\n"
+ .string "Take it easy and let’s battle.$"
+
+Route110_Text_297D8E: @ 8297D8E
+ .string "I didn’t panic, but I still lost…$"
+
+Route110_Text_297DB0: @ 8297DB0
+ .string "There’s no need to panic or stress.\n"
+ .string "Take it easy. There’s plenty of time.$"
+
+Route110_Text_297DFA: @ 8297DFA
+ .string "The triathlon is hard in the extreme.\p"
+ .string "You have to complete the three events\n"
+ .string "of swimming, cycling, and running.$"
+
+Route110_Text_297E69: @ 8297E69
+ .string "POKéMON battles are hard, too!$"
+
+Route110_Text_297E88: @ 8297E88
+ .string "I’m exhausted, so I need a break.\n"
+ .string "It’s important to get proper rest.$"
+
+Route110_Text_297ECD: @ 8297ECD
+ .string "You know, I like you!\n"
+ .string "Let’s have a rematch on CYCLING ROAD.$"
+
+Route110_Text_297F09: @ 8297F09
+ .string "Isn’t it neat to hold a battle while\n"
+ .string "cycling?$"
+
+Route110_Text_297F37: @ 8297F37
+ .string "Wow…\n"
+ .string "How could you be so strong?$"
+
+Route110_Text_297F58: @ 8297F58
+ .string "Were you going after a record?\p"
+ .string "I’m sorry if I held you up!$"
+
+Route110_Text_297F93: @ 8297F93
+ .string "I’ve been riding without stopping.\n"
+ .string "My thighs are like rocks!$"
+
+Route110_Text_297FD0: @ 8297FD0
+ .string "I’m worried about muscle cramps…$"
+
+Route110_Text_297FF1: @ 8297FF1
+ .string "Oh, you have some GYM BADGES?\n"
+ .string "No wonder you’re so strong!$"
+
+Route110_Text_29802B: @ 829802B
+ .string "I have foreseen your intentions!\n"
+ .string "I cannot possibly lose!$"
+
+Route110_Text_298064: @ 8298064
+ .string "I failed to prophesize my own demise!$"
+
+Route110_Text_29808A: @ 829808A
+ .string "I see your future…\p"
+ .string "Hmm…\n"
+ .string "I see a shining light…$"
+
+Route110_Text_2980B9: @ 82980B9
+ .string "Ahahahaha!\n"
+ .string "I’ll dazzle you with my wonders!$"
+
+Route110_Text_2980E5: @ 82980E5
+ .string "I wondrously lost!$"
+
+Route110_Text_2980F8: @ 82980F8
+ .string "You managed to win only because it was\n"
+ .string "a wonder! Yes, a wonder!\l"
+ .string "Don’t think you can win all the time!$"
+
+Route110_Text_29815E: @ 829815E
+ .string "Could I see your POKéMON?\n"
+ .string "Just one look, please?$"
+
+Route110_Text_29818F: @ 829818F
+ .string "I wanted to complete\n"
+ .string "my collection…$"
+
+Route110_Text_2981B3: @ 82981B3
+ .string "When I see a POKéMON that I don’t know,\n"
+ .string "my passion as a collector is ignited!$"
+
+Route110_Text_298201: @ 8298201
+ .string "I like collecting MATCH CALL\n"
+ .string "registrations, too…$"
+
+Route110_Text_298232: @ 8298232
+ .string "Hi, have you caught any new POKéMON?\p"
+ .string "Could I see your POKéMON?\n"
+ .string "Just one look, please?$"
+
+Route110_Text_298288: @ 8298288
+ .string "Your POKéMON…\n"
+ .string "I envy you.$"
+
+Route110_Text_2982A2: @ 82982A2
+ .string "Oh, I long to make all rare POKéMON\n"
+ .string "mine!$"
+
+Route110_Text_2982CC: @ 82982CC
+ .string "Hey!\n"
+ .string "Don’t sneak up behind me like that!$"
+
+Route110_Text_2982F5: @ 82982F5
+ .string "I lost!\n"
+ .string "Drat!$"
+
+Route110_Text_298303: @ 8298303
+ .string "Fishing is all about concentration.\n"
+ .string "You have to focus on the floater.$"
+
+Route110_Text_298349: @ 8298349
+ .string "Ahahaha! I would go anywhere to show\n"
+ .string "off my delightful POKéMON.$"
+
+Route110_Text_298389: @ 8298389
+ .string "Oh, dear, this won’t do.$"
+
+Route110_Text_2983A2: @ 82983A2
+ .string "Rather than battling, perhaps I should\n"
+ .string "show off my POKéMON at the FAN CLUB.$"
+
+Route110_Text_2983EE: @ 82983EE
+ .string "That wasn’t close to what I could\n"
+ .string "do to show off my POKéMON.\p"
+ .string "I’ll have you as my captive audience\n"
+ .string "as often as possible!$"
+
+Route110_Text_298466: @ 8298466
+ .string "Ahahahaha! I would be happy to show\n"
+ .string "off my POKéMON as often as you like!$"
+
+Route110_Text_2984AF: @ 82984AF
+ .string "Oh, dear, this won’t do.$"
+
+Route110_Text_2984C8: @ 82984C8
+ .string "I don’t think that I could ever stop\n"
+ .string "from showing off my POKéMON.\p"
+ .string "But I like to battle, too!$"
+
+Route110_Text_298525: @ 8298525
+ .string "I found some cool POKéMON in the grass\n"
+ .string "around here!$"
+
+Route110_Text_298559: @ 8298559
+ .string "Being cool isn’t enough to win…$"
+
+Route110_Text_298579: @ 8298579
+ .string "It’s hard to battle with POKéMON you\n"
+ .string "just caught.$"
+
+Route110_Text_2985AB: @ 82985AB
+ .string "I fell off CYCLING ROAD…\p"
+ .string "I’ll get over my embarrassment by\n"
+ .string "battling with you!$"
+
+Route110_Text_2985F9: @ 82985F9
+ .string "Oops!\n"
+ .string "I ended up losing!$"
+
+Route110_Text_298612: @ 8298612
+ .string "Falling… Losing…\n"
+ .string "This is so humiliating for me!$"
+
+Route110_Text_298642: @ 8298642
+ .string "Okay! Full-throttle time! If you can’t\n"
+ .string "groove, you get left behind!$"
+
+Route110_Text_298686: @ 8298686
+ .string "You got into the groove all right…$"
+
+Route110_Text_2986A9: @ 82986A9
+ .string "This isn’t going to bring me down!\n"
+ .string "Losing has made me a better man!$"
+
+Route110_Text_2986ED: @ 82986ED
+ .string "When cute POKéMON help each other…\n"
+ .string "You won’t see a more adorable sight!$"
+
+Route110_Text_298735: @ 8298735
+ .string "Have you no compassion or pity?$"
+
+Route110_Text_298755: @ 8298755
+ .string "Okay, okay, you’ve done the best you\n"
+ .string "could, my pretties.$"
+
+Route111_Text_29878E: @ 829878E
+ .string "Oh, hey! Those GO-GOGGLES suit you.\n"
+ .string "But I think they look better on me.\p"
+ .string "Let’s decide who they look better on\n"
+ .string "with a battle!$"
+
+Route111_Text_29880A: @ 829880A
+ .string "I couldn’t see what was happening at\n"
+ .string "my sides because of the GO-GOGGLES.$"
+
+Route111_Text_298853: @ 8298853
+ .string "The GO-GOGGLES make it possible to\n"
+ .string "get through sandstorms.\l"
+ .string "That makes me happy!$"
+
+Route111_Text_2988A3: @ 82988A3
+ .string "I’m having a picnic in the desert.\p"
+ .string "You can always find a TRAINER,\n"
+ .string "so I can enjoy a battle here, too!$"
+
+Route111_Text_298908: @ 8298908
+ .string "Ohhh! You’re mean!$"
+
+Route111_Text_29891B: @ 829891B
+ .string "When you’re battling in a sandstorm,\n"
+ .string "watch out for your POKéMON’s HP.\p"
+ .string "It can faint if you don’t keep\n"
+ .string "an eye on it!$"
+
+Route111_Text_29898E: @ 829898E
+ .string "Wearing these GO-GOGGLES makes me\n"
+ .string "feel like a superhero.\l"
+ .string "Right now, nobody can beat me!$"
+
+Route111_Text_2989E6: @ 82989E6
+ .string "I can’t win on spirit alone…$"
+
+Route111_Text_298A03: @ 8298A03
+ .string "I’m going to be a real hero one day.\n"
+ .string "I’m going to work harder to make me\l"
+ .string "and my POKéMON stronger.$"
+
+Route111_Text_298A65: @ 8298A65
+ .string "I heard there are fossils to be found\n"
+ .string "in the desert. Where could they be?$"
+
+Route111_Text_298AAF: @ 8298AAF
+ .string "I came up short…$"
+
+Route111_Text_298AC0: @ 8298AC0
+ .string "If they can find fossils in the desert,\n"
+ .string "it must have been a sea before.$"
+
+Route111_Text_298B08: @ 8298B08
+ .string "For thirty years I have searched for\n"
+ .string "ancient ruins!\l"
+ .string "I am to be challenged?$"
+
+Route111_Text_298B53: @ 8298B53
+ .string "While I have searched for ruins,\n"
+ .string "I’ve not searched for strong POKéMON.$"
+
+Route111_Text_298B9A: @ 8298B9A
+ .string "For thirty years I have searched for\n"
+ .string "ancient ruins!\p"
+ .string "No, wait, was that forty years?\n"
+ .string "Which was it now?$"
+
+Route111_Text_298C00: @ 8298C00
+ .string "I haven’t been searching for any\n"
+ .string "tough POKéMON.\p"
+ .string "But, for some reason, I sure do like\n"
+ .string "POKéNAVS.$"
+
+Route111_Text_298C5F: @ 8298C5F
+ .string "For thirty years I have searched for\n"
+ .string "ancient ruins!\p"
+ .string "No, wait, was that forty years?\n"
+ .string "Anyway, am I to be challenged?$"
+
+Route111_Text_298CD2: @ 8298CD2
+ .string "I’ve found no ruins, nor have I found\n"
+ .string "any strong POKéMON…$"
+
+Route111_Text_298D0C: @ 8298D0C
+ .string "For thirty years I have searched for\n"
+ .string "ancient ruins!\p"
+ .string "No, wait, was that forty years\n"
+ .string "I’ve searched?\p"
+ .string "Hmm… It could even be fifty…\n"
+ .string "How long have I been at this?$"
+
+Route111_Text_298DA9: @ 8298DA9
+ .string "I’m full of pep!\n"
+ .string "And my POKéMON is peppy, too!$"
+
+Route111_Text_298DD8: @ 8298DD8
+ .string "My POKéMON lost its pep…$"
+
+Route111_Text_298DF1: @ 8298DF1
+ .string "When I see a TRAINER with a lot of pep,\n"
+ .string "I can’t help looking.$"
+
+Route111_Text_298E2F: @ 8298E2F
+ .string "I don’t know where you’re going,\n"
+ .string "but would you like to battle?$"
+
+Route111_Text_298E6E: @ 8298E6E
+ .string "Oh, you’re disgustingly good!$"
+
+Route111_Text_298E8C: @ 8298E8C
+ .string "I’m thinking that I should go to\n"
+ .string "MT. CHIMNEY, but the view around\l"
+ .string "here is very nice, too.$"
+
+Route111_Text_298EE6: @ 8298EE6
+ .string "To train myself, I challenge all\n"
+ .string "whom I meet!$"
+
+Route111_Text_298F14: @ 8298F14
+ .string "Uncle! I give up!$"
+
+Route111_Text_298F26: @ 8298F26
+ .string "All I can do is keep training until\n"
+ .string "I can defeat strong TRAINERS such\l"
+ .string "as yourself.$"
+
+Route111_Text_298F79: @ 8298F79
+ .string "Show me how much you’ve toughened\n"
+ .string "your POKéMON.$"
+
+Route111_Text_298FA9: @ 8298FA9
+ .string "I see, you’ve toughened them\n"
+ .string "considerably.$"
+
+Route111_Text_298FD4: @ 8298FD4
+ .string "POKéMON and TRAINERS learn much\n"
+ .string "through battling.\p"
+ .string "What’s important is to never give up\n"
+ .string "even if you lose.$"
+
+Route111_Text_29903D: @ 829903D
+ .string "There is much to be learned from\n"
+ .string "your training style.\p"
+ .string "I request a rematch if it\n"
+ .string "behooves you.$"
+
+Route111_Text_29909B: @ 829909B
+ .string "We’re training here to elevate our\n"
+ .string "game to the next level.\l"
+ .string "Stay and train with us!$"
+
+Route111_Text_2990EE: @ 82990EE
+ .string "Ooh, you’re decent!$"
+
+Route111_Text_299102: @ 8299102
+ .string "Since you’re that strong, you should\n"
+ .string "aim for the POKéMON LEAGUE.$"
+
+Route111_Text_299143: @ 8299143
+ .string "Oh, your POKéMON look like serious\n"
+ .string "actors.\l"
+ .string "I have to ask you for an engagement.$"
+
+Route111_Text_299193: @ 8299193
+ .string "They didn’t just look strong,\n"
+ .string "they are strong!$"
+
+Route111_Text_2991C2: @ 82991C2
+ .string "I thought I was raising my POKéMON\n"
+ .string "diligently, but, oh no, there is still\l"
+ .string "much to be done.$"
+
+Route111_Text_29921D: @ 829921D
+ .string "I wish I could become friends with\n"
+ .string "more strong people like you!$"
+
+Route111_Text_29925D: @ 829925D
+ .string "You can make POKéMON stronger or\n"
+ .string "weaker depending on the moves you\l"
+ .string "teach them.\p"
+ .string "What kinds of moves do your POKéMON\n"
+ .string "know?$"
+
+Route111_Text_2992D6: @ 82992D6
+ .string "You’ve taught them good moves!$"
+
+Route111_Text_2992F5: @ 82992F5
+ .string "Maybe I should have stopped my\n"
+ .string "POKéMON from evolving until they\l"
+ .string "learned better moves…$"
+
+Route111_Text_29934B: @ 829934B
+ .string "I shouldn’t have come to a place like\n"
+ .string "this for a picnic!$"
+
+Route111_Text_299384: @ 8299384
+ .string "Aww!\n"
+ .string "I really shouldn’t have come!$"
+
+Route111_Text_2993A7: @ 82993A7
+ .string "In a sandstorm like this, I can’t set\n"
+ .string "the places for a picnic even with my\l"
+ .string "GO-GOGGLES on…$"
+
+Route111_Text_299401: @ 8299401
+ .string "How tough are you?\n"
+ .string "We shall expose that secret!$"
+
+Route111_Text_299431: @ 8299431
+ .string "Oh! Your strength!\n"
+ .string "It is shrouded in mystery!$"
+
+Route111_Text_29945F: @ 829945F
+ .string "This desert hoards mysteries in\n"
+ .string "its shifting sands!$"
+
+Route111_Text_299493: @ 8299493
+ .string "I’ll give you some of my sandwich\n"
+ .string "if you’ll lose.$"
+
+Route111_Text_2994C5: @ 82994C5
+ .string "Tch! I thought a sandwich would be\n"
+ .string "enough of a bribe…$"
+
+Route111_Text_2994FB: @ 82994FB
+ .string "My SANDSHREW loves eating\n"
+ .string "my sandwiches.$"
+
+Route111_Text_299524: @ 8299524
+ .string "This is my favorite kind of POKéMON!$"
+
+Route111_Text_299549: @ 8299549
+ .string "Wait!\n"
+ .string "Did you get a good look at my POKéMON?$"
+
+Route111_Text_299576: @ 8299576
+ .string "When having a battle, I get a kick out\n"
+ .string "of showing off my POKéMON.\p"
+ .string "I bet everyone feels that way when\n"
+ .string "they enter a battle!$"
+
+Route111_Text_2995F0: @ 82995F0
+ .string "Show me how to put a little excitement\n"
+ .string "into my life.$"
+
+Route111_Text_299625: @ 8299625
+ .string "Oh… My…\n"
+ .string "That was too much excitement.$"
+
+Route111_Text_29964B: @ 829964B
+ .string "My pulse is still racing.\n"
+ .string "You’re one fabulous TRAINER.$"
+
+Route111_Text_299682: @ 8299682
+ .string "When you’re as famished as I am,\n"
+ .string "there is no room for pity!$"
+
+Route111_Text_2996BE: @ 82996BE
+ .string "Groan…$"
+
+Route111_Text_2996C5: @ 82996C5
+ .string "My stomach is grumbling!\n"
+ .string "Maybe I can grill some BERRIES…$"
+
+Route111_Text_2996FE: @ 82996FE
+ .string "Did you come from MAUVILLE?\n"
+ .string "Then you should be full of energy!$"
+
+Route111_Text_29973D: @ 829973D
+ .string "Ooh lala!\n"
+ .string "That’s a lot to take!$"
+
+Route111_Text_29975D: @ 829975D
+ .string "This road here…\n"
+ .string "You have quite a ways to travel.$"
+
+Route112_Text_29978E: @ 829978E
+ .string "Hahahaha!\n"
+ .string "How about we have a battle?\l"
+ .string "You and me!\l"
+ .string "Hahahaha!$"
+
+Route112_Text_2997CA: @ 82997CA
+ .string "I lost!\n"
+ .string "Hahahaha!$"
+
+Route112_Text_2997DC: @ 82997DC
+ .string "Hahahahaha! Something flew up my nose!\n"
+ .string "Hahahaha-hatchoo!$"
+
+Route112_Text_299815: @ 8299815
+ .string "My legs are solid from pounding up\n"
+ .string "and down the mountains.\p"
+ .string "They’re not going to buckle easily,\n"
+ .string "friend!$"
+
+Route112_Text_29987C: @ 829987C
+ .string "Ouch! My legs cramped up!$"
+
+Route112_Text_299896: @ 8299896
+ .string "Try hiking, and I mean really\n"
+ .string "pounding, on these mountain trails\l"
+ .string "with a heavy pack weighing dozens of\l"
+ .string "pounds.\p"
+ .string "That, my friend, will get your body\n"
+ .string "into serious shape.$"
+
+Route112_Text_29993C: @ 829993C
+ .string "Ow, my legs have cramped up.\n"
+ .string "Can you grab me some bandages from\l"
+ .string "my backpack?\p"
+ .string "No, that’s my POKéNAV!\n"
+ .string "Oh, fine, I’ll register you.$"
+
+Route112_Text_2999BD: @ 82999BD
+ .string "I’ve been keeping fit by hiking.\n"
+ .string "Power, I have in spades!$"
+
+Route112_Text_2999F7: @ 82999F7
+ .string "I got trumped in power?$"
+
+Route112_Text_299A0F: @ 8299A0F
+ .string "I hear there are some seriously tough\n"
+ .string "TRAINERS on top of MT. CHIMNEY.\p"
+ .string "I intend to get up there and give them\n"
+ .string "a challenge!$"
+
+Route112_Text_299A89: @ 8299A89
+ .string "I’m strong.\n"
+ .string "I won’t cry if I lose.$"
+
+Route112_Text_299AAC: @ 8299AAC
+ .string "Waaaah!$"
+
+Route112_Text_299AB4: @ 8299AB4
+ .string "I’m not crying because I miss my mommy!\n"
+ .string "Snivel…$"
+
+Route112_Text_299AE4: @ 8299AE4
+ .string "When you’re out on a picnic, why,\n"
+ .string "you simply have to sing!\l"
+ .string "Come on, sing with me!$"
+
+Route112_Text_299B36: @ 8299B36
+ .string "Oh, you’re so strong!$"
+
+Route112_Text_299B4C: @ 8299B4C
+ .string "It doesn’t matter if you’re good or bad\n"
+ .string "at singing or POKéMON.\p"
+ .string "If you have the most fun, you win!$"
+
+Route112_Text_299BAE: @ 8299BAE
+ .string "I caught hot POKéMON in FIERY PATH!\n"
+ .string "Take a look!$"
+
+Route112_Text_299BDF: @ 8299BDF
+ .string "What a bumpy ride that was!$"
+
+Route112_Text_299BFB: @ 8299BFB
+ .string "I like the way you battle.\n"
+ .string "It has a certain flair to it.$"
+
+Route112_Text_299C34: @ 8299C34
+ .string "Oh, aren’t you an adorable TRAINER!\n"
+ .string "Please, I need a romantic battle!\l"
+ .string "I’m somewhat decent!$"
+
+Route112_Text_299C8F: @ 8299C8F
+ .string "Oh, how strong you are!\n"
+ .string "You’ve given me quite a shock!$"
+
+Route112_Text_299CC6: @ 8299CC6
+ .string "Are you busy right now?\n"
+ .string "I was thinking that maybe we can have\l"
+ .string "a rematch right now…\l"
+ .string "But it’s all right if you’re busy.$"
+
+Route113_Text_299D3C: @ 8299D3C
+ .string "Can you guess why it’s so cool\n"
+ .string "around here?$"
+
+Route113_Text_299D68: @ 8299D68
+ .string "Peeuuw!\n"
+ .string "That stinks!$"
+
+Route113_Text_299D7D: @ 8299D7D
+ .string "The volcanic ash blocks the sun,\n"
+ .string "so it doesn’t get very warm.\p"
+ .string "That’s good for me--I can’t stand heat!$"
+
+Route113_Text_299DE3: @ 8299DE3
+ .string "The volcano’s eruption is proof that\n"
+ .string "the earth is alive.$"
+
+Route113_Text_299E1C: @ 8299E1C
+ .string "You’re some kind of strong!$"
+
+Route113_Text_299E38: @ 8299E38
+ .string "Ouch! Owww! I can’t see!\n"
+ .string "I got ashes in my eyelashes!\p"
+ .string "Get it? Ashes and eyelashes?\p"
+ .string "Okay, that was bad, sorry…$"
+
+Route113_Text_299EA6: @ 8299EA6
+ .string "I use this parasol to ward off this\n"
+ .string "filthy, yucky volcanic ash from\l"
+ .string "my dear NUMEL.$"
+
+Route113_Text_299EF9: @ 8299EF9
+ .string "Huff, huff…\n"
+ .string "I am exhausted…$"
+
+Route113_Text_299F15: @ 8299F15
+ .string "You’re very good at this.\n"
+ .string "I must say I’m impressed!$"
+
+Route113_Text_299F49: @ 8299F49
+ .string "Here, slide under my parasol.\n"
+ .string "Let me register you in my POKéNAV.$"
+
+Route113_Text_299F8A: @ 8299F8A
+ .string "Oh, hello, hasn’t it been a while?\n"
+ .string "May I invite you to battle?$"
+
+Route113_Text_299FC9: @ 8299FC9
+ .string "Oh, how super!$"
+
+Route113_Text_299FD8: @ 8299FD8
+ .string "You’ve remained very good at this.\n"
+ .string "I must say I’m impressed!$"
+
+Route113_Text_29A015: @ 829A015
+ .string "From out of the ashes I leap! Hiyah!\n"
+ .string "I challenge thee!$"
+
+Route113_Text_29A04C: @ 829A04C
+ .string "With honor I admit defeat!$"
+
+Route113_Text_29A067: @ 829A067
+ .string "I must refine the art of concealment.\n"
+ .string "I bid thee farewell.$"
+
+Route113_Text_29A0A2: @ 829A0A2
+ .string "Yiiyaah! Witness the ancient ninja\n"
+ .string "technique of POKéNAV registration!$"
+
+Route113_Text_29A0E8: @ 829A0E8
+ .string "From out of the ashes I leap! Hiyah!\n"
+ .string "I challenge thee!$"
+
+Route113_Text_29A11F: @ 829A11F
+ .string "With honor I admit defeat!$"
+
+Route113_Text_29A13A: @ 829A13A
+ .string "My flawless concealment was let down\n"
+ .string "by my immature battle skills…\p"
+ .string "I bid thee farewell.$"
+
+Route113_Text_29A192: @ 829A192
+ .string "Thanks for finding me!\n"
+ .string "But we still have to battle!$"
+
+Route113_Text_29A1C6: @ 829A1C6
+ .string "I’ll use my ninjutsu on you…\n"
+ .string "“VOLCANIC ASH SWIRL CLOAK”!\p"
+ .string "…What?\n"
+ .string "It’s already over?$"
+
+Route113_Text_29A219: @ 829A219
+ .string "You know what’s crummy about hiding?\n"
+ .string "It’s lonely if no one comes along.$"
+
+Route113_Text_29A261: @ 829A261
+ .string "TORI: Both of us, we collect ashes.\n"
+ .string "We battle POKéMON, too.$"
+
+Route113_Text_29A29D: @ 829A29D
+ .string "TORI: We lost… It’s boring, so I’m going\n"
+ .string "to get some more ashes.$"
+
+Route113_Text_29A2DE: @ 829A2DE
+ .string "TORI: How much ash do we have?\n"
+ .string "Enough for a WHITE FLUTE, I hope.$"
+
+Route113_Text_29A31F: @ 829A31F
+ .string "TORI: We want to battle 2-on-2.\n"
+ .string "If we didn’t, we would lose!$"
+
+Route113_Text_29A35C: @ 829A35C
+ .string "TIA: Both of us, we collect ashes.\n"
+ .string "We battle POKéMON, too.$"
+
+Route113_Text_29A397: @ 829A397
+ .string "TIA: We couldn’t win… It’s boring,\n"
+ .string "so I’m getting some more ashes.$"
+
+Route113_Text_29A3DA: @ 829A3DA
+ .string "TIA: We have a lot of ashes!\n"
+ .string "I think enough for a WHITE FLUTE!$"
+
+Route113_Text_29A419: @ 829A419
+ .string "TIA: We want to battle 2-on-2.\n"
+ .string "If we don’t, we won’t win!$"
+
+Route113_Text_29A453: @ 829A453
+ .string "Pfft, with these wings I can\n"
+ .string "flick you away!$"
+
+Route113_Text_29A480: @ 829A480
+ .string "A… What?$"
+
+Route113_Text_29A489: @ 829A489
+ .string "I don’t know what to say when I get\n"
+ .string "beaten so easily…$"
+
+Route113_Text_29A4BF: @ 829A4BF
+ .string "The warmth here is making me drowsy.\n"
+ .string "Battle with me so I can stay awake.$"
+
+Route113_Text_29A508: @ 829A508
+ .string "This is a dream.\n"
+ .string "I’m sure of it…$"
+
+Route113_Text_29A529: @ 829A529
+ .string "Losing burns me up…\n"
+ .string "I’m just going to sleep right here!\l"
+ .string "Zzz!$"
+
+Route113_Text_29A566: @ 829A566
+ .string "Were you maybe in the middle\n"
+ .string "of gathering volcanic ashes?$"
+
+Route113_Text_29A5A0: @ 829A5A0
+ .string "Ehehe.\n"
+ .string "We got beaten cleanly.$"
+
+Route113_Text_29A5BE: @ 829A5BE
+ .string "I ought to hide under the ashes, too.$"
+
+Route113_Text_29A5E4: @ 829A5E4
+ .string "Y-you want to battle with me?\n"
+ .string "Even though I just caught my POKéMON?$"
+
+Route113_Text_29A628: @ 829A628
+ .string "Y-you’re all happy to win?\n"
+ .string "Even though it’s only me?$"
+
+Route113_Text_29A65D: @ 829A65D
+ .string "Oh, so now you want to say a word to\n"
+ .string "the loser?\p"
+ .string "Aren’t you just the coolest?\n"
+ .string "Humph!$"
+
+Route114_Text_29A6B1: @ 829A6B1
+ .string "Yodelayhihoo!\p"
+ .string "… …\p"
+ .string "You’re supposed to shout\n"
+ .string "“yodelayhihoo” since it doesn’t\l"
+ .string "echo here!$"
+
+Route114_Text_29A707: @ 829A707
+ .string "Yodelayhihoo!$"
+
+Route114_Text_29A715: @ 829A715
+ .string "When I was a wee tyke, I believed there\n"
+ .string "was someone copying me and shouting\l"
+ .string "back, “Yodelayhihoo.”$"
+
+Route114_Text_29A777: @ 829A777
+ .string "If you’re not prepared, you shouldn’t\n"
+ .string "be up in the mountains!$"
+
+Route114_Text_29A7B5: @ 829A7B5
+ .string "The mountains are unforgiving…$"
+
+Route114_Text_29A7D4: @ 829A7D4
+ .string "In the winter, mountains turn deadly\n"
+ .string "with blizzards and avalanches.$"
+
+Route114_Text_29A818: @ 829A818
+ .string "Camping’s fun! You can fish, roast\n"
+ .string "marshmallows, and tell spooky stories!\p"
+ .string "But the best of all are the POKéMON\n"
+ .string "battles!$"
+
+Route114_Text_29A88F: @ 829A88F
+ .string "Way too strong!$"
+
+Route114_Text_29A89F: @ 829A89F
+ .string "I think it’s great that I can go\n"
+ .string "camping with my POKéMON.$"
+
+Route114_Text_29A8D9: @ 829A8D9
+ .string "I need to exercise after a meal.\n"
+ .string "Let’s have a match!$"
+
+Route114_Text_29A90E: @ 829A90E
+ .string "Oh, no!$"
+
+Route114_Text_29A916: @ 829A916
+ .string "I just had a tasty meal.\n"
+ .string "I’m getting drowsy…$"
+
+Route114_Text_29A943: @ 829A943
+ .string "Ufufufufufu…\n"
+ .string "Want to battle against my POKéMON?$"
+
+Route114_Text_29A973: @ 829A973
+ .string "M-My POKéMON…$"
+
+Route114_Text_29A981: @ 829A981
+ .string "A big body that’s all lumpy and hard,\n"
+ .string "enormous horns, and vicious fangs…\p"
+ .string "Ufufufufu…\n"
+ .string "I wish I had a POKéMON like that…$"
+
+Route114_Text_29A9F7: @ 829A9F7
+ .string "Don’t forget what you’ve done to me!\n"
+ .string "I’ll make it so you can’t forget!$"
+
+Route114_Text_29AA3E: @ 829AA3E
+ .string "Ufufufufufu…\n"
+ .string "Come on, battle my POKéMON…$"
+
+Route114_Text_29AA67: @ 829AA67
+ .string "I feel so lucky getting to see your\n"
+ .string "POKéMON…$"
+
+Route114_Text_29AA94: @ 829AA94
+ .string "Ufufufufufu…\p"
+ .string "When I see POKéMON battling, I get all\n"
+ .string "shivery and shaky…$"
+
+Route114_Text_29AADB: @ 829AADB
+ .string "If you’re lighting a campfire,\n"
+ .string "make sure you have water handy.$"
+
+Route114_Text_29AB1A: @ 829AB1A
+ .string "Thanks for dousing my fire!$"
+
+Route114_Text_29AB36: @ 829AB36
+ .string "You really do have to be careful with\n"
+ .string "any sort of fire in a forest.\p"
+ .string "Don’t ever underestimate the power\n"
+ .string "of fire.$"
+
+Route114_Text_29ABA6: @ 829ABA6
+ .string "You set my spirit on fire.\n"
+ .string "Let’s register each other!$"
+
+Route114_Text_29ABDC: @ 829ABDC
+ .string "Have you learned to keep water handy\n"
+ .string "for campfires?$"
+
+Route114_Text_29AC10: @ 829AC10
+ .string "I got hosed down before I could\n"
+ .string "flare up, I guess.$"
+
+Route114_Text_29AC43: @ 829AC43
+ .string "You really do have to be careful with\n"
+ .string "any sort of fire in a forest.\p"
+ .string "Don’t ever underestimate the power\n"
+ .string "of fire.$"
+
+Route114_Text_29ACB3: @ 829ACB3
+ .string "If we were fishing, you wouldn’t stand\n"
+ .string "a chance against me.\l"
+ .string "So, bring on your POKéMON!$"
+
+Route114_Text_29AD0A: @ 829AD0A
+ .string "If we were fishing, I would’ve won…$"
+
+Route114_Text_29AD2E: @ 829AD2E
+ .string "I think I’ll try my luck at landing\n"
+ .string "a big one at METEOR FALLS.\p"
+ .string "There has to be something in there.\n"
+ .string "I just know it.$"
+
+Route114_Text_29ADA1: @ 829ADA1
+ .string "I like to fish. But I also like to\n"
+ .string "battle!\p"
+ .string "If anyone challenges me, I’m there,\n"
+ .string "even if I’m fishing.$"
+
+Route114_Text_29AE05: @ 829AE05
+ .string "I like to battle, but that doesn’t\n"
+ .string "mean I’m good at it…$"
+
+Route114_Text_29AE3D: @ 829AE3D
+ .string "This time I’ll do it!\p"
+ .string "I always think that, so I can’t walk\n"
+ .string "away from fishing or POKéMON.$"
+
+Route114_Text_29AE96: @ 829AE96
+ .string "TYRA: Well, sure.\n"
+ .string "I’m in the mood for it.\l"
+ .string "I’ll teach you a little about POKéMON.$"
+
+Route114_Text_29AEE7: @ 829AEE7
+ .string "TYRA: What an amazing battle style!$"
+
+Route114_Text_29AF0B: @ 829AF0B
+ .string "TYRA: I was teaching my junior IVY\n"
+ .string "about POKéMON.$"
+
+Route114_Text_29AF3D: @ 829AF3D
+ .string "TYRA: Giggle…\n"
+ .string "If you want to battle with us, just one\l"
+ .string "POKéMON isn’t enough!$"
+
+Route114_Text_29AF89: @ 829AF89
+ .string "IVY: Who taught you about POKéMON?$"
+
+Route114_Text_29AFAC: @ 829AFAC
+ .string "IVY: What an amazing battle style!$"
+
+Route114_Text_29AFCF: @ 829AFCF
+ .string "IVY: I started training POKéMON\n"
+ .string "because TYRA, my student mentor,\l"
+ .string "taught me!$"
+
+Route114_Text_29B01B: @ 829B01B
+ .string "IVY: Do you only have one POKéMON?\n"
+ .string "I think it must feel lonesome.$"
+
+Route114_Text_29B05D: @ 829B05D
+ .string "I landed a big one!\n"
+ .string "A huge one, I tell you!$"
+
+Route114_Text_29B089: @ 829B089
+ .string "What was that about?\n"
+ .string "Did mine lose in size?$"
+
+Route114_Text_29B0B5: @ 829B0B5
+ .string "Okay!\n"
+ .string "I’ll just fish me a bigger one!$"
+
+Route114_Text_29B0DB: @ 829B0DB
+ .string "Me!\n"
+ .string "I’m not just a pretty face!$"
+
+Route114_Text_29B0FB: @ 829B0FB
+ .string "That wasn’t cute in the least!$"
+
+Route114_Text_29B11A: @ 829B11A
+ .string "I don’t want a POKéMON that’s\n"
+ .string "just cute.\p"
+ .string "I adore cute ones that have a quirk\n"
+ .string "or two!$"
+
+Route114_Text_29B16F: @ 829B16F
+ .string "Have you made your POKéMON evolve\n"
+ .string "very much?$"
+
+Route114_Text_29B19C: @ 829B19C
+ .string "Oh, I see.\n"
+ .string "That’s good to know.$"
+
+Route114_Text_29B1BC: @ 829B1BC
+ .string "Some POKéMON change so much when\n"
+ .string "they evolve, it’s startling!$"
+
+Route115_Text_29B1FA: @ 829B1FA
+ .string "Hm…\n"
+ .string "You seem rather capable…\l"
+ .string "Let me keep you company!$"
+
+Route115_Text_29B230: @ 829B230
+ .string "You’re much stronger than\n"
+ .string "I’d imagined!$"
+
+Route115_Text_29B258: @ 829B258
+ .string "There is no such thing as a born genius.\n"
+ .string "It all depends on effort!\l"
+ .string "That is what I believe…$"
+
+Route115_Text_29B2B3: @ 829B2B3
+ .string "Hmm… A loss this thorough has been\n"
+ .string "a distant memory.\p"
+ .string "If you would allow it, I wish for\n"
+ .string "another opportunity to do battle.$"
+
+Route115_Text_29B32C: @ 829B32C
+ .string "Hm… As always, your agility speaks\n"
+ .string "for itself.\l"
+ .string "Come, keep me company!$"
+
+Route115_Text_29B372: @ 829B372
+ .string "As strong as ever!$"
+
+Route115_Text_29B385: @ 829B385
+ .string "All it takes is effort!\p"
+ .string "I lost because I haven’t put in enough\n"
+ .string "effort!$"
+
+Route115_Text_29B3CC: @ 829B3CC
+ .string "You!\p"
+ .string "My MACHOP!\p"
+ .string "Demand a battle!$"
+
+Route115_Text_29B3ED: @ 829B3ED
+ .string "Ouch, ouch, ouch!$"
+
+Route115_Text_29B3FF: @ 829B3FF
+ .string "My MACHOP crew!\p"
+ .string "So long as they seek power, I will\n"
+ .string "grow strong with them!$"
+
+Route115_Text_29B449: @ 829B449
+ .string "My strongest skill is busting bricks\n"
+ .string "with my forehead!$"
+
+Route115_Text_29B480: @ 829B480
+ .string "Ugwaaaah!\n"
+ .string "My head is busted!$"
+
+Route115_Text_29B49D: @ 829B49D
+ .string "I’ve been teaching my POKéMON karate.\p"
+ .string "It looks like they’ll get a lot better\n"
+ .string "than me. I’m excited about that.$"
+
+Route115_Text_29B50B: @ 829B50B
+ .string "You impress me! Give me a rematch\n"
+ .string "after I redo my training!$"
+
+Route115_Text_29B547: @ 829B547
+ .string "After you beat me, we trained hard to\n"
+ .string "improve our skills.\l"
+ .string "Come on, give us a rematch!$"
+
+Route115_Text_29B59D: @ 829B59D
+ .string "Ugwaaah!\n"
+ .string "We lost again!$"
+
+Route115_Text_29B5B5: @ 829B5B5
+ .string "My POKéMON will grow stronger!\n"
+ .string "I’ll redouble my training!$"
+
+Route115_Text_29B5EF: @ 829B5EF
+ .string "This beach is my secret training spot!\n"
+ .string "Don’t come butting in!$"
+
+Route115_Text_29B62D: @ 829B62D
+ .string "I haven’t trained enough!$"
+
+Route115_Text_29B647: @ 829B647
+ .string "The sand acts as a cushion to reduce\n"
+ .string "impact and prevent injury.\l"
+ .string "This is the perfect place to train.$"
+
+Route115_Text_29B6AB: @ 829B6AB
+ .string "Okay, fine, you’re free to come here.\n"
+ .string "In return, I’d like to battle you again.$"
+
+Route115_Text_29B6FA: @ 829B6FA
+ .string "Okay, let’s get this battle on!$"
+
+Route115_Text_29B71A: @ 829B71A
+ .string "I can battle but my POKéMON…$"
+
+Route115_Text_29B737: @ 829B737
+ .string "Even when I lose, I still get some\n"
+ .string "enjoyment out of it.\l"
+ .string "It must be that I love POKéMON.$"
+
+Route115_Text_29B78F: @ 829B78F
+ .string "I have a rare POKéMON!\n"
+ .string "Would you like me to show you?$"
+
+Route115_Text_29B7C5: @ 829B7C5
+ .string "You…\n"
+ .string "You want my POKéMON, don’t you?$"
+
+Route115_Text_29B7EA: @ 829B7EA
+ .string "I have this rare POKéMON.\n"
+ .string "It’s enough to keep me satisfied.$"
+
+Route115_Text_29B826: @ 829B826
+ .string "I’ll battle while I’m running!\n"
+ .string "Try to keep up with me!$"
+
+Route115_Text_29B85D: @ 829B85D
+ .string "Gasp, gasp…$"
+
+Route115_Text_29B869: @ 829B869
+ .string "I made the mistake of trying to battle\n"
+ .string "while running!\p"
+ .string "I should take a run to calm down…$"
+
+Route115_Text_29B8C1: @ 829B8C1
+ .string "Take that!\n"
+ .string "Ultra POKéMON ninja attack!$"
+
+Route115_Text_29B8E8: @ 829B8E8
+ .string "Waaah!\n"
+ .string "Our strategy failed!$"
+
+Route115_Text_29B904: @ 829B904
+ .string "But my POKéMON were ultra,\n"
+ .string "weren’t they?$"
+
+Route115_Text_29B92D: @ 829B92D
+ .string "My POKéMON have black belt-level\n"
+ .string "strength!$"
+
+Route115_Text_29B958: @ 829B958
+ .string "This is too humiliating!$"
+
+Route115_Text_29B971: @ 829B971
+ .string "I rarely meet anyone who’s better\n"
+ .string "than me…\p"
+ .string "I get it now!\n"
+ .string "You’re a GYM LEADER, aren’t you?$"
+
+Route115_Text_29B9CB: @ 829B9CB
+ .string "Our eyes met!\n"
+ .string "There’s no getting away now!$"
+
+Route115_Text_29B9F6: @ 829B9F6
+ .string "Gah!\n"
+ .string "Not bad!$"
+
+Route115_Text_29BA04: @ 829BA04
+ .string "Oh, well.\n"
+ .string "I think I will TELEPORT home.$"
+
+Route115_Text_29BA2C: @ 829BA2C
+ .string "You’ve disturbed my meditation…\n"
+ .string "You’ll be punished for it.$"
+
+Route115_Text_29BA67: @ 829BA67
+ .string "You’ve broken my concentration!$"
+
+Route115_Text_29BA87: @ 829BA87
+ .string "I was meditating with my POKéMON.\n"
+ .string "But this place isn’t very peaceful…$"
+
+Route116_Text_29BACD: @ 829BACD
+ .string "If the tunnel doesn’t go through, then\n"
+ .string "I’ll just go over the top.$"
+
+Route116_Text_29BB0F: @ 829BB0F
+ .string "Gasp… Gasp…\n"
+ .string "Losing made me tired…$"
+
+Route116_Text_29BB31: @ 829BB31
+ .string "It’s no big deal if there’s no tunnel.\n"
+ .string "To a HIKER, mountains are roads!$"
+
+Route116_Text_29BB79: @ 829BB79
+ .string "My POKéMON rule!\n"
+ .string "Check them out!$"
+
+Route116_Text_29BB9A: @ 829BB9A
+ .string "Ouch! A scrape!\n"
+ .string "I have to put on a bandage!$"
+
+Route116_Text_29BBC6: @ 829BBC6
+ .string "Bandages are signs of toughness!\n"
+ .string "I’ve got another one!$"
+
+Route116_Text_29BBFD: @ 829BBFD
+ .string "My BUG POKéMON are tough!\n"
+ .string "Let’s battle!$"
+
+Route116_Text_29BC25: @ 829BC25
+ .string "I lost!\n"
+ .string "I thought I had you!$"
+
+Route116_Text_29BC42: @ 829BC42
+ .string "BUG POKéMON evolve quickly.\n"
+ .string "So they get strong quickly, too.$"
+
+Route116_Text_29BC7F: @ 829BC7F
+ .string "Let me teach you how strong my\n"
+ .string "adorable POKéMON is!$"
+
+Route116_Text_29BCB3: @ 829BCB3
+ .string "You’re a notch above me…$"
+
+Route116_Text_29BCCC: @ 829BCCC
+ .string "POKéMON that possess cuteness and\n"
+ .string "power, that’s ideal, I think.$"
+
+Route116_Text_29BD0C: @ 829BD0C
+ .string "We learn all sorts of things at the\n"
+ .string "TRAINER’S SCHOOL.\p"
+ .string "I want to test things out for real!$"
+
+Route116_Text_29BD66: @ 829BD66
+ .string "I slacked off in school…\n"
+ .string "That’s why I lost.$"
+
+Route116_Text_29BD92: @ 829BD92
+ .string "I’ll have to redo some courses at\n"
+ .string "the TRAINER’S SCHOOL.\l"
+ .string "If I don’t, ROXANNE will be steamed.$"
+
+Route116_Text_29BDEF: @ 829BDEF
+ .string "I learned at the TRAINER’S SCHOOL\n"
+ .string "that a POKéNAV can register TRAINERS.\p"
+ .string "I don’t really get what that means,\n"
+ .string "so can I just try it?$"
+
+Route116_Text_29BE71: @ 829BE71
+ .string "I learned at the TRAINER’S SCHOOL\n"
+ .string "that a POKéNAV can register TRAINERS.\p"
+ .string "I don’t really get what that means,\n"
+ .string "so can I just try it?$"
+
+Route116_Text_29BEF3: @ 829BEF3
+ .string "I’ve been studying seriously at the\n"
+ .string "TRAINER’S SCHOOL.\l"
+ .string "I won’t lose like I did last time.$"
+
+Route116_Text_29BF4C: @ 829BF4C
+ .string "Hunh?\n"
+ .string "I studied diligently.$"
+
+Route116_Text_29BF68: @ 829BF68
+ .string "I’ll have to redo some courses at\n"
+ .string "the TRAINER’S SCHOOL.\l"
+ .string "If I don’t, ROXANNE will be steamed.$"
+
+Route116_Text_29BFC5: @ 829BFC5
+ .string "I study at school, and I study on\n"
+ .string "the way home, too!$"
+
+Route116_Text_29BFFA: @ 829BFFA
+ .string "I’m in shock--I lost?$"
+
+Route116_Text_29C010: @ 829C010
+ .string "Awww, I’ll never become an elegant\n"
+ .string "TRAINER like ROXANNE this way!$"
+
+Route116_Text_29C052: @ 829C052
+ .string "Oh, wow! Isn’t that a POKéNAV?\n"
+ .string "I have one, too! Please register me!$"
+
+Route116_Text_29C096: @ 829C096
+ .string "Oh, wow! Isn’t that a POKéNAV?\n"
+ .string "I have one, too! Please register me!$"
+
+Route116_Text_29C0DA: @ 829C0DA
+ .string "I studied a whole lot since I saw you.\n"
+ .string "You must see my achievements!$"
+
+Route116_Text_29C11F: @ 829C11F
+ .string "I’m in shock.\n"
+ .string "I lost again?$"
+
+Route116_Text_29C13B: @ 829C13B
+ .string "You’ve beaten ROXANNE?\n"
+ .string "I can’t beat you, then. Not yet.$"
+
+Route116_Text_29C173: @ 829C173
+ .string "Just so you know, I’ve never once been\n"
+ .string "bested by anyone at anything.$"
+
+Route116_Text_29C1B8: @ 829C1B8
+ .string "Oh, my goodness.\n"
+ .string "This is a new experience for me.$"
+
+Route116_Text_29C1EA: @ 829C1EA
+ .string "My life of luxury affords me all that\n"
+ .string "I could possibly desire.\p"
+ .string "However, when it comes to POKéMON,\n"
+ .string "my wealth has no meaning.$"
+
+Route116_Text_29C266: @ 829C266
+ .string "When you lay your eyes on my POKéMON’s\n"
+ .string "gorgeous fur, their beauty will render\l"
+ .string "you helpless!$"
+
+Route116_Text_29C2C2: @ 829C2C2
+ .string "Oh, baby, say it isn’t so!$"
+
+Route116_Text_29C2DD: @ 829C2DD
+ .string "Oh, no, no, no!\n"
+ .string "You’ve mussed up my POKéMON’s fur!\l"
+ .string "You’ve ruined my hairdo, too!\l"
+ .string "I’ll have to call my stylist now!$"
+
+Route116_Text_29C350: @ 829C350
+ .string "We’ll rock you hard!$"
+
+Route116_Text_29C365: @ 829C365
+ .string "Aiyiyi!\n"
+ .string "No contest at all!$"
+
+Route116_Text_29C380: @ 829C380
+ .string "I should try different POKéMON\n"
+ .string "types, that’s what I ought to do.$"
+
+Route116_Text_29C3C1: @ 829C3C1
+ .string "It’s a dead end up here.\n"
+ .string "I’m bored, so can we battle?$"
+
+Route116_Text_29C3F7: @ 829C3F7
+ .string "That was fun even though I lost.$"
+
+Route116_Text_29C418: @ 829C418
+ .string "Want to stay here and keep\n"
+ .string "me company?$"
+
+Route117_Text_29C43F: @ 829C43F
+ .string "Listen, could I get you to battle\n"
+ .string "the POKéMON I’m raising?$"
+
+Route117_Text_29C47A: @ 829C47A
+ .string "You’ve raised yours superbly…$"
+
+Route117_Text_29C498: @ 829C498
+ .string "POKéMON isn’t all about power.\p"
+ .string "Polishing a unique aspect of one’s\n"
+ .string "character is another way of enjoying\l"
+ .string "POKéMON.$"
+
+Route117_Text_29C508: @ 829C508
+ .string "I’m going to redouble my training.\n"
+ .string "Would you come look in on us?$"
+
+Route117_Text_29C549: @ 829C549
+ .string "The POKéMON I’ve been raising are\n"
+ .string "looking good, just like before.$"
+
+Route117_Text_29C58B: @ 829C58B
+ .string "You know how to raise them properly.\n"
+ .string "You might have DAY CARE skills…$"
+
+Route117_Text_29C5D0: @ 829C5D0
+ .string "Your POKéMON are growing good!\n"
+ .string "You should enter them in CONTESTS.$"
+
+Route117_Text_29C612: @ 829C612
+ .string "Please, allow me to evaluate if you\n"
+ .string "have raised your POKéMON properly.$"
+
+Route117_Text_29C659: @ 829C659
+ .string "Yes, they are growing properly.$"
+
+Route117_Text_29C679: @ 829C679
+ .string "Try raising POKéMON with more\n"
+ .string "attention to their character traits.$"
+
+Route117_Text_29C6BC: @ 829C6BC
+ .string "I’m glad I met a superb TRAINER in you.\n"
+ .string "I hope to see you again.$"
+
+Route117_Text_29C6FD: @ 829C6FD
+ .string "Allow me to reevaluate if you have\n"
+ .string "raised your POKéMON properly.$"
+
+Route117_Text_29C73E: @ 829C73E
+ .string "They are growing admirably.$"
+
+Route117_Text_29C75A: @ 829C75A
+ .string "POKéMON seem to like different kinds\n"
+ .string "of {POKEBLOCK}S, depending on their nature.$"
+
+Route117_Text_29C7A5: @ 829C7A5
+ .string "I’m in the middle of a triathlon, but,\n"
+ .string "whatever, let’s have a battle!$"
+
+Route117_Text_29C7EB: @ 829C7EB
+ .string "I ran out of energy!$"
+
+Route117_Text_29C800: @ 829C800
+ .string "I may have blown it…\p"
+ .string "I might have dropped to last during\n"
+ .string "that battle…$"
+
+Route117_Text_29C846: @ 829C846
+ .string "POKéMON have to be strong, too?\n"
+ .string "I’d like you to train me!$"
+
+Route117_Text_29C880: @ 829C880
+ .string "I’m smack in the middle of a triathlon,\n"
+ .string "but I’m comfortably ahead.\l"
+ .string "Let’s make this a quick battle!$"
+
+Route117_Text_29C8E3: @ 829C8E3
+ .string "I ran out of energy again!$"
+
+Route117_Text_29C8FE: @ 829C8FE
+ .string "I was tops in swimming and cycling,\n"
+ .string "but I’m not quite that confident with\l"
+ .string "POKéMON yet.$"
+
+Route117_Text_29C955: @ 829C955
+ .string "I do my triathlon training with POKéMON,\n"
+ .string "so I’m pretty confident about my speed.$"
+
+Route117_Text_29C9A6: @ 829C9A6
+ .string "I need to get more practices in,\n"
+ .string "I guess.$"
+
+Route117_Text_29C9D0: @ 829C9D0
+ .string "Training is meaningful only if you\n"
+ .string "keep it up regularly.\p"
+ .string "Okay! I’ll resume my training!\n"
+ .string "Tomorrow!$"
+
+Route117_Text_29CA32: @ 829CA32
+ .string "You appear to be training properly…\n"
+ .string "If you’d like, I’ll battle you later!$"
+
+Route117_Text_29CA7C: @ 829CA7C
+ .string "Are you keeping up with your training?\n"
+ .string "I sure am!\l"
+ .string "Let me show you the evidence!$"
+
+Route117_Text_29CACC: @ 829CACC
+ .string "I need to get more practices in,\n"
+ .string "I guess.$"
+
+Route117_Text_29CAF6: @ 829CAF6
+ .string "I’ll resume training tomorrow.\n"
+ .string "Let’s battle again sometime!$"
+
+Route117_Text_29CB32: @ 829CB32
+ .string "Once a BUG CATCHER!\n"
+ .string "And now a BUG MANIAC!\p"
+ .string "But my love for POKéMON remains\n"
+ .string "unchanged!$"
+
+Route117_Text_29CB87: @ 829CB87
+ .string "My ineptitude also remains\n"
+ .string "unchanged…$"
+
+Route117_Text_29CBAD: @ 829CBAD
+ .string "All I did was follow my heart, and now\n"
+ .string "they call me a BUG MANIAC…\p"
+ .string "Still, I am an expert on BUG POKéMON,\n"
+ .string "so it’s only natural that they call me\l"
+ .string "a BUG MANIAC.$"
+
+Route117_Text_29CC4A: @ 829CC4A
+ .string "ANNA: I’m with my pretty junior student\n"
+ .string "partner. I have to do good!$"
+
+Route117_Text_29CC8E: @ 829CC8E
+ .string "ANNA: I’m with my pretty junior student\n"
+ .string "partner! Let me win!$"
+
+Route117_Text_29CCCB: @ 829CCCB
+ .string "ANNA: Your POKéMON have some good\n"
+ .string "combinations.\p"
+ .string "I’d say you’re second only to us!$"
+
+Route117_Text_29CD1D: @ 829CD1D
+ .string "ANNA: We can’t take this lying down!\n"
+ .string "You will come back, won’t you?$"
+
+Route117_Text_29CD61: @ 829CD61
+ .string "ANNA: If you want to battle us,\n"
+ .string "bring two POKéMON with you.$"
+
+Route117_Text_29CD9D: @ 829CD9D
+ .string "MEG: I’m going to tag up with my super\n"
+ .string "senior student partner and beat you!$"
+
+Route117_Text_29CDE9: @ 829CDE9
+ .string "MEG: Oh, no!\n"
+ .string "I’m sorry, ANNA! I let you down…$"
+
+Route117_Text_29CE17: @ 829CE17
+ .string "MEG: I dragged ANNA down…\n"
+ .string "If I didn’t, she would have won!$"
+
+Route117_Text_29CE52: @ 829CE52
+ .string "MEG: Do you only have one POKéMON?\n"
+ .string "We can’t battle with you, then.\p"
+ .string "We want to have a 2-on-2 battle.$"
+
+Route117_Text_29CEB6: @ 829CEB6
+ .string "ANNA: I can’t keep losing in front of\n"
+ .string "my junior partner, right?$"
+
+Route117_Text_29CEF6: @ 829CEF6
+ .string "ANNA: I couldn’t get into the groove.$"
+
+Route117_Text_29CF1C: @ 829CF1C
+ .string "ANNA: Your POKéMON have some good\n"
+ .string "combinations.\p"
+ .string "I’d say you’re second only to us!$"
+
+Route117_Text_29CF6E: @ 829CF6E
+ .string "ANNA: If you want to battle us,\n"
+ .string "bring two POKéMON with you.$"
+
+Route117_Text_29CFAA: @ 829CFAA
+ .string "MEG: I’m going to tag up with my\n"
+ .string "senior partner and win this time!$"
+
+Route117_Text_29CFED: @ 829CFED
+ .string "MEG: Too strong!$"
+
+Route117_Text_29CFFE: @ 829CFFE
+ .string "MEG: I battled together with my\n"
+ .string "senior partner, but we lost…\p"
+ .string "That’s so discouraging…$"
+
+Route117_Text_29D053: @ 829D053
+ .string "MEG: Do you only have one POKéMON?\n"
+ .string "We can’t battle with you, then.\p"
+ .string "We want to have a 2-on-2 battle.$"
+
+Route117_Text_29D0B7: @ 829D0B7
+ .string "Isn’t it nice? To battle while looking\n"
+ .string "at pretty flowers?$"
+
+Route117_Text_29D0F1: @ 829D0F1
+ .string "Oh, that’s quite impressive!$"
+
+Route117_Text_29D10E: @ 829D10E
+ .string "It feels wonderful to go for a jog\n"
+ .string "while looking at flowers.$"
+
+Route117_Text_29D14B: @ 829D14B
+ .string "Let me demonstrate the power\n"
+ .string "hidden within a PSYCHIC POKéMON!$"
+
+Route117_Text_29D189: @ 829D189
+ .string "Astonishing!$"
+
+Route117_Text_29D196: @ 829D196
+ .string "PSYCHIC POKéMON are complex.\n"
+ .string "You should try catching some.$"
+
+Route117_Text_29D1D1: @ 829D1D1
+ .string "Concentrate on getting the win.\n"
+ .string "That’s how I battle!$"
+
+Route117_Text_29D206: @ 829D206
+ .string "I don’t waste any time being angry\n"
+ .string "over a loss--I would rather train.$"
+
+Route117_Text_29D24C: @ 829D24C
+ .string "I think that if you worry about losing,\n"
+ .string "you’re more likely to lose.$"
+
+Route118_Text_29D290: @ 829D290
+ .string "The aroma of flowers has a magical\n"
+ .string "power. It cleanses us body and soul.$"
+
+Route118_Text_29D2D8: @ 829D2D8
+ .string "Oh, dear me.\n"
+ .string "I seem to have lost.$"
+
+Route118_Text_29D2FA: @ 829D2FA
+ .string "Flowers, POKéMON…\n"
+ .string "I love whatever smells nice.\p"
+ .string "Stinky things…\n"
+ .string "I’ll pass.$"
+
+Route118_Text_29D343: @ 829D343
+ .string "Sniff… That odor--it’s a POKéNAV!\n"
+ .string "We must register each other!$"
+
+Route118_Text_29D382: @ 829D382
+ .string "Were you drawn here by the sweet\n"
+ .string "aroma?$"
+
+Route118_Text_29D3AA: @ 829D3AA
+ .string "The power of aroma…\n"
+ .string "It didn’t seem to do much.$"
+
+Route118_Text_29D3D9: @ 829D3D9
+ .string "If you use a sweet aroma properly,\n"
+ .string "POKéMON will be attracted by it.$"
+
+Route118_Text_29D41D: @ 829D41D
+ .string "BIRD POKéMON that FLY elegantly in\n"
+ .string "the sky… They’re the best!$"
+
+Route118_Text_29D45B: @ 829D45B
+ .string "Urgh…\n"
+ .string "I crashed…$"
+
+Route118_Text_29D46C: @ 829D46C
+ .string "You’ve got great POKéMON.\n"
+ .string "I’ll have to train mine better.$"
+
+Route118_Text_29D4A6: @ 829D4A6
+ .string "Take flight!\n"
+ .string "My BIRD POKéMON!$"
+
+Route118_Text_29D4C4: @ 829D4C4
+ .string "They did take flight…$"
+
+Route118_Text_29D4DA: @ 829D4DA
+ .string "If they’d get stronger, they’d be able\n"
+ .string "to fly more freely…$"
+
+Route118_Text_29D515: @ 829D515
+ .string "I’m a FISHERMAN, but also a TRAINER.\n"
+ .string "I’m raising the POKéMON I caught.$"
+
+Route118_Text_29D55C: @ 829D55C
+ .string "I thought I was doing okay in my\n"
+ .string "training…$"
+
+Route118_Text_29D587: @ 829D587
+ .string "I couldn’t win by training POKéMON\n"
+ .string "while I fished…\p"
+ .string "Was I doing things in half measures?$"
+
+Route118_Text_29D5DF: @ 829D5DF
+ .string "For FISHERMEN, equipment is the key.\p"
+ .string "But for TRAINERS, the key ingredients\n"
+ .string "are POKéMON and heart, of course!$"
+
+Route118_Text_29D64C: @ 829D64C
+ .string "I was beaten in heart?$"
+
+Route118_Text_29D663: @ 829D663
+ .string "Come to think of it, fishing is a battle\n"
+ .string "between a FISHERMAN and a POKéMON.$"
+
+Route118_Text_29D6AF: @ 829D6AF
+ .string "Let my melody rock your soul!$"
+
+Route118_Text_29D6CD: @ 829D6CD
+ .string "La-lalala…$"
+
+Route118_Text_29D6D8: @ 829D6D8
+ .string "An electric guitar doesn’t always\n"
+ .string "have to be noisy…\p"
+ .string "It can be strummed to squeeze out\n"
+ .string "this heart-stirring melody…$"
+
+Route118_Text_29D74A: @ 829D74A
+ .string "When I compose better melodies,\n"
+ .string "you have to come listen, okay?$"
+
+Route118_Text_29D789: @ 829D789
+ .string "A melody from my POKéMON and me…\n"
+ .string "Let us deliver it to your soul.$"
+
+Route118_Text_29D7CA: @ 829D7CA
+ .string "La-lalala…$"
+
+Route118_Text_29D7D5: @ 829D7D5
+ .string "When I play, my emotions should reach\n"
+ .string "you through my electric guitar…$"
+
+Route118_Text_29D81B: @ 829D81B
+ .string "Go, go, go!\n"
+ .string "POKéMON 1, 2, and 3!$"
+
+Route118_Text_29D83C: @ 829D83C
+ .string "Come in, POKéMON! Are you okay?\n"
+ .string "POKéMON 1, 2, and 3?!$"
+
+Route118_Text_29D872: @ 829D872
+ .string "Isn’t it cool that I have a POKéMON\n"
+ .string "battle team?\p"
+ .string "You can copy me--I don’t mind!$"
+
+Route119_Text_29D8C2: @ 829D8C2
+ .string "We’re the MIMIC CIRCLE!\n"
+ .string "We MIMIC what you do!$"
+
+Route119_Text_29D8F0: @ 829D8F0
+ .string "Whoopsie!\n"
+ .string "I lost!$"
+
+Route119_Text_29D902: @ 829D902
+ .string "What’s so good about mimicry?\p"
+ .string "Fufufu…\n"
+ .string "You’ll never understand…$"
+
+Route119_Text_29D941: @ 829D941
+ .string "So, we finally meet!\n"
+ .string "My BUG POKéMON will keep you company!$"
+
+Route119_Text_29D97C: @ 829D97C
+ .string "I wish we’d never met…$"
+
+Route119_Text_29D993: @ 829D993
+ .string "I want to MIMIC you some more.\n"
+ .string "Can you hurry up and move?$"
+
+Route119_Text_29D9CD: @ 829D9CD
+ .string "If you step forward, we step forward.\p"
+ .string "If you turn right, we turn, too…$"
+
+Route119_Text_29DA14: @ 829DA14
+ .string "But if you win, I lose…$"
+
+Route119_Text_29DA2C: @ 829DA2C
+ .string "I can’t MIMIC you winning the match.\n"
+ .string "That’s just impossible…\l"
+ .string "It’s burning me up…$"
+
+Route119_Text_29DA7D: @ 829DA7D
+ .string "Yep, you’ve finally caught me!\n"
+ .string "Or were you trying to avoid me?$"
+
+Route119_Text_29DABC: @ 829DABC
+ .string "Whoop, that was a great match!$"
+
+Route119_Text_29DADB: @ 829DADB
+ .string "We’re the MIMIC CIRCLE!\n"
+ .string "I hope you enjoyed our performance.$"
+
+Route119_Text_29DB17: @ 829DB17
+ .string "You don’t know who I am, do you?\p"
+ .string "But, I also don’t know you.\n"
+ .string "So, we’ll battle!$"
+
+Route119_Text_29DB66: @ 829DB66
+ .string "You’re pretty strong!$"
+
+Route119_Text_29DB7C: @ 829DB7C
+ .string "Until you go away somewhere, we’ll\n"
+ .string "keep on mimicking your every move.$"
+
+Route119_Text_29DBC2: @ 829DBC2
+ .string "The MIMIC CIRCLE was formed by people\n"
+ .string "who like to MIMIC.\p"
+ .string "A battle starts the instant we meet!$"
+
+Route119_Text_29DC20: @ 829DC20
+ .string "I give up!$"
+
+Route119_Text_29DC2B: @ 829DC2B
+ .string "Won’t you join our MIMIC CIRCLE?$"
+
+Route119_Text_29DC4C: @ 829DC4C
+ .string "Who has the knowledge and\n"
+ .string "the technique for survival?\p"
+ .string "POKéMON RANGERS, that’s who!$"
+
+Route119_Text_29DC9F: @ 829DC9F
+ .string "I didn’t have enough POKéMON\n"
+ .string "know-how…$"
+
+Route119_Text_29DCC6: @ 829DCC6
+ .string "To break away from civilization and\n"
+ .string "awaken the wild spirit within!\p"
+ .string "That’s our vision.$"
+
+Route119_Text_29DD1C: @ 829DD1C
+ .string "I hope you’ll give me a rematch without\n"
+ .string "mocking my lack of knowledge.$"
+
+Route119_Text_29DD62: @ 829DD62
+ .string "I’m going to regain my wild spirit by\n"
+ .string "being together with POKéMON.$"
+
+Route119_Text_29DDA5: @ 829DDA5
+ .string "You’ve remained strong!$"
+
+Route119_Text_29DDBD: @ 829DDBD
+ .string "Believe in your POKéMON.\n"
+ .string "Believe in yourself.\p"
+ .string "The road will reveal itself to you.$"
+
+Route119_Text_29DE0F: @ 829DE0F
+ .string "Oh? Look at you.\p"
+ .string "For someone on an adventure,\n"
+ .string "you’re traveling awfully light.$"
+
+Route119_Text_29DE5D: @ 829DE5D
+ .string "Accidents happen when you’re not\n"
+ .string "prepared!$"
+
+Route119_Text_29DE88: @ 829DE88
+ .string "You’re traveling light but you have\n"
+ .string "everything you need.\p"
+ .string "You’re on top of things mentally and\n"
+ .string "physically, too.$"
+
+Route119_Text_29DEF7: @ 829DEF7
+ .string "Do you have a POKéNAV?\n"
+ .string "It’s a must-have tool for any TRAINER.\p"
+ .string "Oh, you do have one!\n"
+ .string "Let’s register each other, then!$"
+
+Route119_Text_29DF6B: @ 829DF6B
+ .string "How’s your journey with POKéMON\n"
+ .string "going?$"
+
+Route119_Text_29DF92: @ 829DF92
+ .string "I’m still missing something…$"
+
+Route119_Text_29DFAF: @ 829DFAF
+ .string "In the same way that you, as a TRAINER,\n"
+ .string "rely on your POKéMON, your POKéMON\l"
+ .string "rely on you.$"
+
+Route119_Text_29E007: @ 829E007
+ .string "The vast sky holds untold promise!\p"
+ .string "Nothing can compare to the sheer\n"
+ .string "exhilaration of flight!$"
+
+Route119_Text_29E063: @ 829E063
+ .string "Down and out!$"
+
+Route119_Text_29E071: @ 829E071
+ .string "My BIRD POKéMON made my dreams of\n"
+ .string "flying come true!$"
+
+Route119_Text_29E0A5: @ 829E0A5
+ .string "I’ll show you the true potential of me\n"
+ .string "and my BIRD POKéMON!$"
+
+Route119_Text_29E0E1: @ 829E0E1
+ .string "We lacked potential…$"
+
+Route119_Text_29E0F6: @ 829E0F6
+ .string "Ever since I was a little kid, I always\n"
+ .string "admired BIRD POKéMON…$"
+
+Route119_Text_29E134: @ 829E134
+ .string "To lurk in shadows, and live in\n"
+ .string "darkness… That is my destiny.\p"
+ .string "I emerge to challenge you!$"
+
+Route119_Text_29E18D: @ 829E18D
+ .string "I admit defeat!$"
+
+Route119_Text_29E19D: @ 829E19D
+ .string "Those defeated in battle withdraw\n"
+ .string "quietly back into the shadows.\l"
+ .string "That, too, is destiny…$"
+
+Route119_Text_29E1F5: @ 829E1F5
+ .string "If you’re not on your guard,\n"
+ .string "you’re in for some pain!$"
+
+Route119_Text_29E22B: @ 829E22B
+ .string "You’re surprisingly good!$"
+
+Route119_Text_29E245: @ 829E245
+ .string "My surprise attack ended in\n"
+ .string "failure…$"
+
+Route119_Text_29E26A: @ 829E26A
+ .string "To hide a tree, use a forest!$"
+
+Route119_Text_29E288: @ 829E288
+ .string "I bow to your superiority.$"
+
+Route119_Text_29E2A3: @ 829E2A3
+ .string "To hide a tree, use a forest!\n"
+ .string "To hide a POKéMON, use a POKéMON!\p"
+ .string "There is no deep, hidden meaning\n"
+ .string "to that.$"
+
+Route119_Text_29E30D: @ 829E30D
+ .string "You spoke to me…\n"
+ .string "So you want to challenge me!\p"
+ .string "Sure! I’ll try out the POKéMON I caught\n"
+ .string "while SURFING!$"
+
+Route119_Text_29E372: @ 829E372
+ .string "I don’t have a clue about what it\n"
+ .string "takes to win.$"
+
+Route119_Text_29E3A2: @ 829E3A2
+ .string "Go for a SURF on my POKéMON…\p"
+ .string "Then fish off its back…\p"
+ .string "It’s an indescribably luxuriant moment!$"
+
+Route119_Text_29E3FF: @ 829E3FF
+ .string "Hit me with a power chord!\n"
+ .string "Victory is mine!\l"
+ .string "It’s our time to shine, whoa, yeah!$"
+
+Route119_Text_29E44F: @ 829E44F
+ .string "You showed me who’s the boss!\n"
+ .string "We’ll have to take the loss, oh, no!$"
+
+Route119_Text_29E492: @ 829E492
+ .string "Hit me with another power chord!\n"
+ .string "Leave me alone!\l"
+ .string "Your win you have to atone!$"
+
+Route119_Text_29E4DF: @ 829E4DF
+ .string "Hohoho!\n"
+ .string "I like kid TRAINERS!\l"
+ .string "Let’s have a good one!$"
+
+Route119_Text_29E513: @ 829E513
+ .string "You’re pretty amazing!\n"
+ .string "Hohoho!$"
+
+Route119_Text_29E532: @ 829E532
+ .string "Hohoho!\n"
+ .string "I’ll try emulating the pep of kid\l"
+ .string "TRAINERS like you!$"
+
+Route119_Text_29E56F: @ 829E56F
+ .string "Wherever and whenever I may be,\n"
+ .string "I always have my parasol in hand.$"
+
+Route119_Text_29E5B1: @ 829E5B1
+ .string "Oh, but…\n"
+ .string "That’s not fair.$"
+
+Route119_Text_29E5CB: @ 829E5CB
+ .string "You’re asking if my parasol is heavy?\n"
+ .string "Your BAG is filled with more junk than\l"
+ .string "I ever carry around.$"
+
+Route120_Text_29E62D: @ 829E62D
+ .string "Do you have any moves that can strike\n"
+ .string "a flying POKéMON?$"
+
+Route120_Text_29E665: @ 829E665
+ .string "You soared above me!$"
+
+Route120_Text_29E67A: @ 829E67A
+ .string "The move FLY is convenient,\n"
+ .string "don’t you think?\p"
+ .string "While the POKéMON is flying,\n"
+ .string "almost no moves can strike it.$"
+
+Route120_Text_29E6E3: @ 829E6E3
+ .string "My POKéMON is strong!\n"
+ .string "How about yours?$"
+
+Route120_Text_29E70A: @ 829E70A
+ .string "Your POKéMON were stronger…$"
+
+Route120_Text_29E726: @ 829E726
+ .string "A POKéMON that grows steadily is one\n"
+ .string "you can count on.$"
+
+Route120_Text_29E75D: @ 829E75D
+ .string "You can be counted on to get better.\n"
+ .string "I’d like to register you in my POKéNAV!$"
+
+Route120_Text_29E7AA: @ 829E7AA
+ .string "A POKéMON that grows steadily is one\n"
+ .string "you can count on.$"
+
+Route120_Text_29E7E1: @ 829E7E1
+ .string "Your POKéMON are seriously strong.$"
+
+Route120_Text_29E804: @ 829E804
+ .string "My POKéMON are growing stronger.\n"
+ .string "I have to grow stronger, too.$"
+
+Route120_Text_29E843: @ 829E843
+ .string "I’ll check your POKéMON and see if\n"
+ .string "they’re fit for the outdoors.$"
+
+Route120_Text_29E884: @ 829E884
+ .string "With POKéMON that strong, you’re in\n"
+ .string "no danger of needing rescue!$"
+
+Route120_Text_29E8C5: @ 829E8C5
+ .string "To travel wherever your heart desires\n"
+ .string "with POKéMON…\l"
+ .string "That’s the joy of being a TRAINER.$"
+
+Route120_Text_29E91C: @ 829E91C
+ .string "How’s your physical fitness?\n"
+ .string "If you’re not fit, you could have a\l"
+ .string "rough time in critical situations.$"
+
+Route120_Text_29E980: @ 829E980
+ .string "I’m totally fit, but…$"
+
+Route120_Text_29E996: @ 829E996
+ .string "Fitness training is in my routine.\n"
+ .string "I always run with my POKéMON.$"
+
+Route120_Text_29E9D7: @ 829E9D7
+ .string "… … … … … …\n"
+ .string "… … … … … …\l"
+ .string "Want to battle?$"
+
+Route120_Text_29E9FF: @ 829E9FF
+ .string "Lost it…$"
+
+Route120_Text_29EA08: @ 829EA08
+ .string "… … … … … …\n"
+ .string "… … … … … …\l"
+ .string "I’ll try harder…$"
+
+Route120_Text_29EA31: @ 829EA31
+ .string "… … … … … …\n"
+ .string "… … … … … …\l"
+ .string "Do you have a POKéNAV…?$"
+
+Route120_Text_29EA61: @ 829EA61
+ .string "… … … … … …\n"
+ .string "… … … … … …\l"
+ .string "Want to battle again?$"
+
+Route120_Text_29EA8F: @ 829EA8F
+ .string "… … … … … …\n"
+ .string "I lost again…$"
+
+Route120_Text_29EAA9: @ 829EAA9
+ .string "… … … … … …\n"
+ .string "… … … … … …\l"
+ .string "I’ll try harder…\l"
+ .string "For my precious BUG POKéMON…$"
+
+Route120_Text_29EAEF: @ 829EAEF
+ .string "POKéMON have many special abilities.\n"
+ .string "If you want to become a first-class\l"
+ .string "TRAINER, learn about them.$"
+
+Route120_Text_29EB53: @ 829EB53
+ .string "You’re obviously thinking.$"
+
+Route120_Text_29EB6E: @ 829EB6E
+ .string "The special abilities of POKéMON\n"
+ .string "will make battle styles change.$"
+
+Route120_Text_29EBAF: @ 829EBAF
+ .string "Who might you be?\p"
+ .string "Are you perhaps searching for ancient\n"
+ .string "ruins that are rumored to possibly\l"
+ .string "exist according to legend?$"
+
+Route120_Text_29EC25: @ 829EC25
+ .string "What a disgraceful setback…$"
+
+Route120_Text_29EC41: @ 829EC41
+ .string "That giant rock… I would like to\n"
+ .string "believe it may indeed contain ancient\l"
+ .string "ruins. But I see no entrance.$"
+
+Route120_Text_29ECA6: @ 829ECA6
+ .string "Why am I carrying this parasol?\p"
+ .string "I’ll tell you if you can win against me.$"
+
+Route120_Text_29ECEF: @ 829ECEF
+ .string "A parasol can’t ward off POKéMON\n"
+ .string "attacks…$"
+
+Route120_Text_29ED19: @ 829ED19
+ .string "I don’t think strong sunlight is good\n"
+ .string "for my POKéMON.\l"
+ .string "So I shield them with my parasol.$"
+
+Route120_Text_29ED71: @ 829ED71
+ .string "Me, POKéMON, and my parasol…\p"
+ .string "If any one of them is missing,\n"
+ .string "the picture of beauty will be ruined.$"
+
+Route120_Text_29EDD3: @ 829EDD3
+ .string "You’ve completely ruined my beauty…$"
+
+Route120_Text_29EDF7: @ 829EDF7
+ .string "A parasol wouldn’t suit you at all.\p"
+ .string "Why, something like this would only\n"
+ .string "get in your way.$"
+
+Route120_Text_29EE50: @ 829EE50
+ .string "I will adopt the movements of POKéMON\n"
+ .string "and create new ninja techniques.$"
+
+Route120_Text_29EE97: @ 829EE97
+ .string "The creation of new ninja techniques\n"
+ .string "is but a distant dream…$"
+
+Route120_Text_29EED4: @ 829EED4
+ .string "Perhaps I ought to apprentice under\n"
+ .string "a ninja sensei.$"
+
+Route120_Text_29EF08: @ 829EF08
+ .string "We ninja conceal ourselves under our\n"
+ .string "camouflage cloaks.\l"
+ .string "I bet you didn’t know where I was!$"
+
+Route120_Text_29EF63: @ 829EF63
+ .string "I lost!\n"
+ .string "I should camouflage my shame!$"
+
+Route120_Text_29EF89: @ 829EF89
+ .string "Our camouflage cloaks are all\n"
+ .string "handmade.$"
+
+Route120_Text_29EFB1: @ 829EFB1
+ .string "If you don’t pay attention,\n"
+ .string "you could get hurt!$"
+
+Route120_Text_29EFE1: @ 829EFE1
+ .string "Ouch!\n"
+ .string "I was the one to get hurt.$"
+
+Route120_Text_29F002: @ 829F002
+ .string "I wonder… Should I evolve my POKéMON?\n"
+ .string "They’re cute the way they are, though.$"
+
+Route120_Text_29F04F: @ 829F04F
+ .string "Your party POKéMON…\n"
+ .string "Do you have different types?$"
+
+Route120_Text_29F080: @ 829F080
+ .string "I’ve seen your policy in action!$"
+
+Route120_Text_29F0A1: @ 829F0A1
+ .string "I think it’s awesome you’re so strong\n"
+ .string "battling with your favorite POKéMON.$"
+
+Route121_Text_29F0EC: @ 829F0EC
+ .string "Will you play with my delightfully\n"
+ .string "pretty POKéMON?$"
+
+Route121_Text_29F11F: @ 829F11F
+ .string "This isn’t what I meant!$"
+
+Route121_Text_29F138: @ 829F138
+ .string "I’m going to a CONTEST in LILYCOVE.\p"
+ .string "My POKéMON should have no problem\n"
+ .string "sweeping the MASTER CLASS.$"
+
+Route121_Text_29F199: @ 829F199
+ .string "With my POKéMON, I have traveled\n"
+ .string "to the world’s four corners.\p"
+ .string "You might say I have some confidence\n"
+ .string "in my abilities.$"
+
+Route121_Text_29F20D: @ 829F20D
+ .string "Ah, well played.$"
+
+Route121_Text_29F21E: @ 829F21E
+ .string "I would like to circle the globe once\n"
+ .string "again with my POKéMON.$"
+
+Route121_Text_29F25B: @ 829F25B
+ .string "Your POKéMON prowess is remarkable.\n"
+ .string "Allow me to register you as a memento.$"
+
+Route121_Text_29F2A6: @ 829F2A6
+ .string "With my POKéMON, I have traveled\n"
+ .string "to the world’s four corners.\p"
+ .string "You might say I have some confidence\n"
+ .string "in my abilities.$"
+
+Route121_Text_29F31A: @ 829F31A
+ .string "Ah, well played.$"
+
+Route121_Text_29F32B: @ 829F32B
+ .string "Your POKéMON and you…\p"
+ .string "Your prowess together will be\n"
+ .string "considered strong, even overseas.$"
+
+Route121_Text_29F381: @ 829F381
+ .string "There are powers beyond our\n"
+ .string "understanding in the world…$"
+
+Route121_Text_29F3B9: @ 829F3B9
+ .string "I have lost…$"
+
+Route121_Text_29F3C6: @ 829F3C6
+ .string "MT. PYRE…\n"
+ .string "There is a mysterious power\l"
+ .string "at work there…$"
+
+Route121_Text_29F3FB: @ 829F3FB
+ .string "KATE: Together, we’re fearless!\n"
+ .string "We’ll demonstrate how tough we are!$"
+
+Route121_Text_29F43F: @ 829F43F
+ .string "KATE: I blew it in front of my junior\n"
+ .string "student partner…$"
+
+Route121_Text_29F476: @ 829F476
+ .string "KATE: When someone’s relying on me,\n"
+ .string "I get this urge to look cool in front\l"
+ .string "of them…$"
+
+Route121_Text_29F4C9: @ 829F4C9
+ .string "KATE: If you’ve only got one POKéMON,\n"
+ .string "we can’t battle with you.\p"
+ .string "That would be bullying.$"
+
+Route121_Text_29F521: @ 829F521
+ .string "JOY: Together, we’re fearless!\n"
+ .string "We’ll demonstrate how tough we are!$"
+
+Route121_Text_29F564: @ 829F564
+ .string "JOY: Please forgive me, KATE!$"
+
+Route121_Text_29F582: @ 829F582
+ .string "JOY: Ehehe, I’ll have to train with KATE,\n"
+ .string "my senior student partner, again.$"
+
+Route121_Text_29F5CE: @ 829F5CE
+ .string "JOY: You need at least two POKéMON\n"
+ .string "if you’re going to challenge us!$"
+
+Route121_Text_29F612: @ 829F612
+ .string "Stop! Have a good look at my precious\n"
+ .string "POKéMON!$"
+
+Route121_Text_29F641: @ 829F641
+ .string "Oh, how dare you!\n"
+ .string "Don’t take it so seriously!$"
+
+Route121_Text_29F66F: @ 829F66F
+ .string "Maybe I’ll go catch more POKéMON at\n"
+ .string "the SAFARI.$"
+
+Route121_Text_29F69F: @ 829F69F
+ .string "I took it easy on you this time!\n"
+ .string "It won’t be that way the next time!$"
+
+Route121_Text_29F6E4: @ 829F6E4
+ .string "My precious POKéMON grew!\n"
+ .string "Have a good look!$"
+
+Route121_Text_29F710: @ 829F710
+ .string "Oh, how dare you!\n"
+ .string "You still won’t take it easy!$"
+
+Route121_Text_29F740: @ 829F740
+ .string "Maybe I’ll go catch more POKéMON at\n"
+ .string "the SAFARI.$"
+
+Route121_Text_29F770: @ 829F770
+ .string "I have this routine.\n"
+ .string "Defeat five TRAINERS a day.\l"
+ .string "Guess what? You’re number five!$"
+
+Route121_Text_29F7C1: @ 829F7C1
+ .string "No!\n"
+ .string "You’re horrid!$"
+
+Route121_Text_29F7D4: @ 829F7D4
+ .string "I didn’t expect to lose this easily…\n"
+ .string "I’ll win next time!$"
+
+Route121_Text_29F80D: @ 829F80D
+ .string "That was total humiliation!\n"
+ .string "I won’t forget you…\l"
+ .string "Hand over your POKéNAV!$"
+
+Route121_Text_29F855: @ 829F855
+ .string "I have this new routine.\n"
+ .string "Defeat ten TRAINERS a day.\l"
+ .string "Guess what? You’re number ten!$"
+
+Route121_Text_29F8A8: @ 829F8A8
+ .string "Wait! That’s nasty!\n"
+ .string "I demand a rematch!$"
+
+Route121_Text_29F8D0: @ 829F8D0
+ .string "An opponent I just can’t beat…\n"
+ .string "Snivel…\l"
+ .string "I can’t believe this is happening…$"
+
+Route121_Text_29F91A: @ 829F91A
+ .string "Can’t you see that I have all this\n"
+ .string "stuff with me?\p"
+ .string "Despite that, you still insist that\n"
+ .string "we battle?$"
+
+Route121_Text_29F97B: @ 829F97B
+ .string "Of course I lost!\n"
+ .string "I’m holding stuff in both hands!$"
+
+Route121_Text_29F9AE: @ 829F9AE
+ .string "I bought too much stuff at\n"
+ .string "the LILYCOVE DEPT. STORE.\p"
+ .string "It’s up the road from here.\n"
+ .string "I wish I had a BAG like yours.$"
+
+Route121_Text_29FA1E: @ 829FA1E
+ .string "There’s nothing I love more than\n"
+ .string "checking out other people’s POKéMON!$"
+
+Route121_Text_29FA64: @ 829FA64
+ .string "Super awesome!$"
+
+Route121_Text_29FA73: @ 829FA73
+ .string "They’re great, your POKéMON!\n"
+ .string "How do you raise them?$"
+
+Route121_Text_29FAA7: @ 829FAA7
+ .string "I want everybody to see the POKéMON\n"
+ .string "I’ve raised!$"
+
+Route121_Text_29FAD8: @ 829FAD8
+ .string "Wow!\n"
+ .string "Spectacular!$"
+
+Route121_Text_29FAEA: @ 829FAEA
+ .string "I raise every POKéMON with the same\n"
+ .string "love and care--I don’t pick favorites.$"
+
+Route121_Text_29FB35: @ 829FB35
+ .string "My POKéMON have never tasted defeat!\n"
+ .string "On their next win, I’m entering them\l"
+ .string "in CONTESTS.$"
+
+Route121_Text_29FB8C: @ 829FB8C
+ .string "Oh, now what happened here?$"
+
+Route121_Text_29FBA8: @ 829FBA8
+ .string "I may have to train my gang some more\n"
+ .string "before entering any CONTEST.$"
+
+Route123_Text_29FBEB: @ 829FBEB
+ .string "Want to determine how strong you are?\n"
+ .string "I’ll be the test!$"
+
+Route123_Text_29FC23: @ 829FC23
+ .string "You passed with flying colors!$"
+
+Route123_Text_29FC42: @ 829FC42
+ .string "To best even me…\n"
+ .string "Your strength is marvelous!$"
+
+Route123_Text_29FC6F: @ 829FC6F
+ .string "You seem to have a big collection\n"
+ .string "of GYM BADGES.\p"
+ .string "Let me see if you’re actually worthy of\n"
+ .string "those BADGES!$"
+
+Route123_Text_29FCD6: @ 829FCD6
+ .string "Oh, you’re worthy, all right!$"
+
+Route123_Text_29FCF4: @ 829FCF4
+ .string "You did your BADGES proud in that\n"
+ .string "match!$"
+
+Route123_Text_29FD1D: @ 829FD1D
+ .string "They say that good times are filled\n"
+ .string "with good aromas.$"
+
+Route123_Text_29FD53: @ 829FD53
+ .string "Oh…\n"
+ .string "I smell the bitter scent of misery…$"
+
+Route123_Text_29FD7B: @ 829FD7B
+ .string "The BERRY MASTER’s garden is filled\n"
+ .string "with uplifting fragrances.$"
+
+Route123_Text_29FDBA: @ 829FDBA
+ .string "Being a psychic is about willpower.\p"
+ .string "I’ve willed myself not to lose to\n"
+ .string "anyone. That makes me strong!$"
+
+Route123_Text_29FE1E: @ 829FE1E
+ .string "I feel sad…$"
+
+Route123_Text_29FE2A: @ 829FE2A
+ .string "Being a psychic is about willpower.\n"
+ .string "I thought I wouldn’t lose to you…$"
+
+Route123_Text_29FE70: @ 829FE70
+ .string "I sense it!\n"
+ .string "You and I shall battle again!\l"
+ .string "I can’t tell if I’ll win, though…\p"
+ .string "Let’s see your POKéNAV.$"
+
+Route123_Text_29FED4: @ 829FED4
+ .string "I’ve convinced myself that I won’t\n"
+ .string "lose anymore. That makes me strong!$"
+
+Route123_Text_29FF1B: @ 829FF1B
+ .string "I feel sad…$"
+
+Route123_Text_29FF27: @ 829FF27
+ .string "I should train at MT. PYRE…\n"
+ .string "I’ll never beat you this way…$"
+
+Route123_Text_29FF61: @ 829FF61
+ .string "Don’t be too happy if your POKéMON\n"
+ .string "develop psychic powers.\p"
+ .string "You need to refine those powers to\n"
+ .string "make them really useful.$"
+
+Route123_Text_29FFD8: @ 829FFD8
+ .string "Overwhelmed!$"
+
+Route123_Text_29FFE5: @ 829FFE5
+ .string "We all have psychic powers.\n"
+ .string "We’ve just forgotten how to use them.$"
+
+Route123_Text_2A0027: @ 82A0027
+ .string "I would like to face you again.\n"
+ .string "Is that okay with you?$"
+
+Route123_Text_2A005E: @ 82A005E
+ .string "Have you awoken the psychic powers\n"
+ .string "within you?$"
+
+Route123_Text_2A008D: @ 82A008D
+ .string "Astounding!$"
+
+Route123_Text_2A0099: @ 82A0099
+ .string "Your power with POKéMON…\n"
+ .string "That could be a psychic power, too.$"
+
+Route123_Text_2A00D6: @ 82A00D6
+ .string "MIU: Hello, TRAINER. I hope your\n"
+ .string "POKéMON won’t cry when they lose.$"
+
+Route123_Text_2A0119: @ 82A0119
+ .string "MIU: Uh-oh, we lost.$"
+
+Route123_Text_2A012E: @ 82A012E
+ .string "MIU: TRAINER, your POKéMON are\n"
+ .string "strong because you are friends.$"
+
+Route123_Text_2A016D: @ 82A016D
+ .string "MIU: It’s no fun to battle if you\n"
+ .string "don’t have two POKéMON.$"
+
+Route123_Text_2A01A7: @ 82A01A7
+ .string "YUKI: Okay!\n"
+ .string "We’re beating the TRAINER’s POKéMON!$"
+
+Route123_Text_2A01D8: @ 82A01D8
+ .string "YUKI: Uh-oh, we lost.$"
+
+Route123_Text_2A01EE: @ 82A01EE
+ .string "YUKI: Why are you so strong?\n"
+ .string "We’ve never lost before.$"
+
+Route123_Text_2A0224: @ 82A0224
+ .string "YUKI: It’s no fun to battle if you\n"
+ .string "don’t have two POKéMON.$"
+
+Route123_Text_2A025F: @ 82A025F
+ .string "MT. PYRE…\n"
+ .string "Where the spirits of POKéMON sleep…\l"
+ .string "Will your POKéMON sleep?$"
+
+Route123_Text_2A02A6: @ 82A02A6
+ .string "Overflowing with vitality…$"
+
+Route123_Text_2A02C1: @ 82A02C1
+ .string "MT. PYRE…\n"
+ .string "Where the spirits of POKéMON sleep…\p"
+ .string "It must overflow with a power that\n"
+ .string "soothes spirits…$"
+
+Route123_Text_2A0323: @ 82A0323
+ .string "I’ll turn your lights out while\n"
+ .string "I rip through this tune!$"
+
+Route123_Text_2A035C: @ 82A035C
+ .string "Hey, hold it!\n"
+ .string "I was still playing the intro!$"
+
+Route123_Text_2A0389: @ 82A0389
+ .string "You’re rock steady.\n"
+ .string "I’d like to write a tune about you.$"
+
+Route123_Text_2A03C1: @ 82A03C1
+ .string "The next time, lend your ears to\n"
+ .string "the full tune, will you?$"
+
+Route123_Text_2A03FB: @ 82A03FB
+ .string "Today’s the day I’m going to do it!\n"
+ .string "I’ll turn out your lights before\l"
+ .string "I finish singing my song!$"
+
+Route123_Text_2A045A: @ 82A045A
+ .string "Hey, hold it!\n"
+ .string "I haven’t even hit the chorus!$"
+
+Route123_Text_2A0487: @ 82A0487
+ .string "I thought you’d be so enthralled\n"
+ .string "by my tune, you’d lose.$"
+
+Route123_Text_2A04C0: @ 82A04C0
+ .string "This is my awesome BUG POKéMON!\n"
+ .string "My big brother got it for me.$"
+
+Route123_Text_2A04FE: @ 82A04FE
+ .string "Waaaah!\n"
+ .string "You meanie!$"
+
+Route123_Text_2A0512: @ 82A0512
+ .string "Don’t tell my brother I lost.\n"
+ .string "You have to keep it a secret!$"
+
+Route123_Text_2A054E: @ 82A054E
+ .string "My confidence will get a boost by\n"
+ .string "beating someone obviously strong!$"
+
+Route123_Text_2A0592: @ 82A0592
+ .string "There goes my confidence…$"
+
+Route123_Text_2A05AC: @ 82A05AC
+ .string "They say that you can’t judge a person\n"
+ .string "by their appearance.\p"
+ .string "But often, their looks don’t lie…$"
+
+Route123_Text_2A060A: @ 82A060A
+ .string "Hello, child!\n"
+ .string "Can you spare some time?$"
+
+Route123_Text_2A0631: @ 82A0631
+ .string "Ah, a mighty capable child!\n"
+ .string "Let me contribute to your allowance.$"
+
+Route123_Text_2A0672: @ 82A0672
+ .string "Contribute to your allowance?\n"
+ .string "Wasn’t the prize money enough?$"
+
+Route123_Text_2A06AF: @ 82A06AF
+ .string "I have to tell you, BIRD POKéMON\n"
+ .string "are my obsession!\p"
+ .string "Birds are cool!\n"
+ .string "They’re the best!$"
+
+Route123_Text_2A0704: @ 82A0704
+ .string "Even in defeat, BIRD POKéMON are cool!$"
+
+Route123_Text_2A072B: @ 82A072B
+ .string "I gather BIRD POKéMON feathers that\n"
+ .string "scatter during battles.\p"
+ .string "I’m going to make a hat with\n"
+ .string "BIRD POKéMON feathers.$"
+
+Route123_Text_2A079B: @ 82A079B
+ .string "When there are no TRAINERS around,\n"
+ .string "I let my POKéMON battle each other.\l"
+ .string "I watch them.$"
+
+Route123_Text_2A07F0: @ 82A07F0
+ .string "I kind of like your POKéMON.$"
+
+Route123_Text_2A080D: @ 82A080D
+ .string "Hehe, I’m swiping your battling ideas!\n"
+ .string "I think they’ll make me better.$"
+
+Route123_Text_2A0854: @ 82A0854
+ .string "I lay in ambush, and a TRAINER has\n"
+ .string "landed in my trap!$"
+
+Route123_Text_2A088A: @ 82A088A
+ .string "If you don’t lose, how am I supposed\n"
+ .string "to have fun playing ninja?$"
+
+Route123_Text_2A08CA: @ 82A08CA
+ .string "I’m going to ambush a weaker-looking\n"
+ .string "TRAINER next time.$"
+
+Route123_Text_2A0902: @ 82A0902
+ .string "I just bought this parasol.\n"
+ .string "My cuteness should be up by a third!$"
+
+Route123_Text_2A0943: @ 82A0943
+ .string "You’re better than me by about\n"
+ .string "five times!$"
+
+Route123_Text_2A096E: @ 82A096E
+ .string "Using accessories effectively is\n"
+ .string "the secret behind fashion appeal.$"
+
+Route124_Text_2A09B1: @ 82A09B1
+ .string "Hey, are you lost at sea?\p"
+ .string "If you can beat my POKéMON,\n"
+ .string "I can serve as your pilot.$"
+
+Route124_Text_2A0A02: @ 82A0A02
+ .string "I lost my bearings in battle!$"
+
+Route124_Text_2A0A20: @ 82A0A20
+ .string "Many people lose their bearings at sea.\p"
+ .string "If you’re that sort, you should refer\n"
+ .string "to the POKéNAV’s MAP.$"
+
+Route124_Text_2A0A84: @ 82A0A84
+ .string "Hm! You’re riding a POKéMON instead\n"
+ .string "of swimming yourself…\p"
+ .string "I am envious!$"
+
+Route124_Text_2A0ACC: @ 82A0ACC
+ .string "Oh!\n"
+ .string "I can’t…$"
+
+Route124_Text_2A0AD9: @ 82A0AD9
+ .string "I’m getting chilled…\n"
+ .string "I’ve been in the water too long…\p"
+ .string "I wish I could ride a POKéMON like you…$"
+
+Route124_Text_2A0B37: @ 82A0B37
+ .string "If you just float in the sea like\n"
+ .string "this, POKéMON come around to play.$"
+
+Route124_Text_2A0B7C: @ 82A0B7C
+ .string "Oh, darn.\n"
+ .string "I’ve gone and lost.$"
+
+Route124_Text_2A0B9A: @ 82A0B9A
+ .string "While swimming, I noticed that some\n"
+ .string "POKéMON attack, and some just watch.\p"
+ .string "I guess POKéMON have personalities\n"
+ .string "of their own.$"
+
+Route124_Text_2A0C14: @ 82A0C14
+ .string "It’s only on a whim, but maybe I’ll get\n"
+ .string "you to register me in your POKéNAV.$"
+
+Route124_Text_2A0C60: @ 82A0C60
+ .string "If you just float in the sea like this,\n"
+ .string "TRAINERS challenge you!$"
+
+Route124_Text_2A0CA0: @ 82A0CA0
+ .string "That’s strange…\n"
+ .string "I lost again…$"
+
+Route124_Text_2A0CBE: @ 82A0CBE
+ .string "This has nothing to do with anything,\n"
+ .string "but maybe I’ll visit the TRICK HOUSE.$"
+
+Route124_Text_2A0D0A: @ 82A0D0A
+ .string "I’m growing bored of swimming…\n"
+ .string "How about a battle?$"
+
+Route124_Text_2A0D3D: @ 82A0D3D
+ .string "I had no idea that you were\n"
+ .string "this strong!$"
+
+Route124_Text_2A0D66: @ 82A0D66
+ .string "All the effort you put in must have\n"
+ .string "made you this strong.$"
+
+Route124_Text_2A0DA0: @ 82A0DA0
+ .string "Fufufufu… I dive deep underwater\n"
+ .string "to go deep under cover.\l"
+ .string "Plumbing the depths is where I excel!$"
+
+Route124_Text_2A0DFF: @ 82A0DFF
+ .string "Glub, glub, glub…\n"
+ .string "I’m sinking…$"
+
+Route124_Text_2A0E1E: @ 82A0E1E
+ .string "I have it on good authority that\n"
+ .string "there’s a DIVE spot around here.\p"
+ .string "It gives me the urge to go deep\n"
+ .string "again…$"
+
+Route124_Text_2A0E87: @ 82A0E87
+ .string "LILA: Sigh…\p"
+ .string "Here I am in the sea, but who’s with me?\n"
+ .string "My little brother!\p"
+ .string "Let’s battle so I won’t have to dwell\n"
+ .string "on that!$"
+
+Route124_Text_2A0EFE: @ 82A0EFE
+ .string "LILA: ROY! It’s your fault we lost!\n"
+ .string "You’re in for it later!$"
+
+Route124_Text_2A0F3A: @ 82A0F3A
+ .string "LILA: Sigh…\p"
+ .string "If only it wasn’t my little brother\n"
+ .string "next to me, but a nice boyfriend…$"
+
+Route124_Text_2A0F8C: @ 82A0F8C
+ .string "LILA: You’re planning to battle us?\n"
+ .string "Not unless you have two POKéMON.$"
+
+Route124_Text_2A0FD1: @ 82A0FD1
+ .string "ROY: My big sister is tough at POKéMON!\p"
+ .string "Don’t cry when you lose!$"
+
+Route124_Text_2A1012: @ 82A1012
+ .string "ROY: Uh-oh…\n"
+ .string "My big sister will chew me out…$"
+
+Route124_Text_2A103E: @ 82A103E
+ .string "ROY: My big sister is really scary\n"
+ .string "when she gets angry.\p"
+ .string "That’s why she doesn’t have a\n"
+ .string "boyfriend.$"
+
+Route124_Text_2A109F: @ 82A109F
+ .string "ROY: Will you battle with us again?\n"
+ .string "But take it easy next time, okay?$"
+
+Route124_Text_2A10E5: @ 82A10E5
+ .string "ROY: Did you want to battle us?\n"
+ .string "Bring two POKéMON, then.$"
+
+Route124_Text_2A111E: @ 82A111E
+ .string "LILA: Sigh…\p"
+ .string "Here I am in the sea, but who’s with me?\n"
+ .string "My little brother!\p"
+ .string "Oh, hi, it’s been a while. Let’s battle\n"
+ .string "so I won’t have to dwell on things!$"
+
+Route124_Text_2A11B2: @ 82A11B2
+ .string "LILA: ROY!\n"
+ .string "It’s your fault we lost again!\p"
+ .string "We’re having a training session later!$"
+
+Route124_Text_2A1203: @ 82A1203
+ .string "LILA: Sigh…\p"
+ .string "If I had a nice boyfriend, we’d beat\n"
+ .string "anyone with lovely combinations…$"
+
+Route124_Text_2A1255: @ 82A1255
+ .string "LILA: You’re planning to battle us?\n"
+ .string "Not unless you have two POKéMON.$"
+
+Route124_Text_2A129A: @ 82A129A
+ .string "ROY: If we lose, I’ll catch heck.\n"
+ .string "I’m going to go totally all out!$"
+
+Route124_Text_2A12DD: @ 82A12DD
+ .string "ROY: Uh-oh…\n"
+ .string "My big sister will chew me out again.$"
+
+Route124_Text_2A130F: @ 82A130F
+ .string "ROY: My big sister is really scary\n"
+ .string "when she gets angry.\p"
+ .string "She’s going to make me train really\n"
+ .string "hard with POKéMON later…$"
+
+Route124_Text_2A1384: @ 82A1384
+ .string "ROY: Did you want to battle us?\n"
+ .string "Bring two POKéMON, then.$"
+
+Route124_Text_2A13BD: @ 82A13BD
+ .string "Here I am swimming by my lonesome\n"
+ .string "on this wide, beautiful sea.\p"
+ .string "There’s no other word for it.\n"
+ .string "This is pathetic!$"
+
+Route124_Text_2A142C: @ 82A142C
+ .string "I’m feeling blue.\n"
+ .string "Blue as the sky…$"
+
+Route124_Text_2A144F: @ 82A144F
+ .string "I should chat up lady SWIMMERS\n"
+ .string "and invite them on a long swim.$"
+
+Route124_Text_2A148E: @ 82A148E
+ .string "I’m not going to lose to some\n"
+ .string "surfer TRAINER.$"
+
+Route124_Text_2A14BC: @ 82A14BC
+ .string "I’ve only got sweat in my eyes!\n"
+ .string "I am not crying!$"
+
+Route124_Text_2A14ED: @ 82A14ED
+ .string "You can find pretty colored shards\n"
+ .string "of things around here.$"
+
+Route125_Text_2A1527: @ 82A1527
+ .string "I heard you approaching, so I hung\n"
+ .string "around for you!$"
+
+Route125_Text_2A155A: @ 82A155A
+ .string "I surrender!$"
+
+Route125_Text_2A1567: @ 82A1567
+ .string "Sound travels faster in water than\n"
+ .string "it does through air.$"
+
+Route125_Text_2A159F: @ 82A159F
+ .string "Hey, there!\n"
+ .string "Check out my sweet POKéMON!$"
+
+Route125_Text_2A15C7: @ 82A15C7
+ .string "I floundered…$"
+
+Route125_Text_2A15D5: @ 82A15D5
+ .string "I was blown away by HORSEA’s charm,\n"
+ .string "so I started swimming, too.$"
+
+Route125_Text_2A1615: @ 82A1615
+ .string "I’m tired of swimming.\n"
+ .string "Are you up for a battle with me?$"
+
+Route125_Text_2A164D: @ 82A164D
+ .string "You’re too much!$"
+
+Route125_Text_2A165E: @ 82A165E
+ .string "Whew…\n"
+ .string "Which way is it to MOSSDEEP CITY?$"
+
+Route125_Text_2A1686: @ 82A1686
+ .string "How would you like to take on the\n"
+ .string "WATER-type POKéMON I raised?$"
+
+Route125_Text_2A16C5: @ 82A16C5
+ .string "Lost it…$"
+
+Route125_Text_2A16CE: @ 82A16CE
+ .string "Your power… You’re the real deal.\n"
+ .string "I’m amazed!$"
+
+Route125_Text_2A16FC: @ 82A16FC
+ .string "Ahoy! I’m a buff, tough SAILOR!\n"
+ .string "I’ve braved the world’s seas!$"
+
+Route125_Text_2A173A: @ 82A173A
+ .string "Gwrroooar!\n"
+ .string "I couldn’t win!$"
+
+Route125_Text_2A1755: @ 82A1755
+ .string "The tide ebbs and flows inside the\n"
+ .string "SHOAL CAVE.\p"
+ .string "By the way, it’s about six hours from\n"
+ .string "high tide to low tide. Did you know?$"
+
+Route125_Text_2A17CF: @ 82A17CF
+ .string "Register me in your POKéNAV,\n"
+ .string "and I’ll tell you something good.$"
+
+Route125_Text_2A180E: @ 82A180E
+ .string "It’s high time I get my payback\n"
+ .string "from you! Come on, we’re battling!$"
+
+Route125_Text_2A1851: @ 82A1851
+ .string "I couldn’t win!\n"
+ .string "I flat out couldn’t win!$"
+
+Route125_Text_2A187A: @ 82A187A
+ .string "The SHOAL CAVE…\p"
+ .string "There are places you can and can’t\n"
+ .string "get to depending on the rise and fall\l"
+ .string "of the tide.\p"
+ .string "By the way, it’s about six hours from\n"
+ .string "high tide to low tide. Don’t forget!$"
+
+Route125_Text_2A192B: @ 82A192B
+ .string "KIM: A funny old man lives in the\n"
+ .string "SHOAL CAVE. Someone told me.\l"
+ .string "Are you going to see him, too?$"
+
+Route125_Text_2A1989: @ 82A1989
+ .string "KIM: I thought we would win.$"
+
+Route125_Text_2A19A6: @ 82A19A6
+ .string "KIM: A funny old man lives in the\n"
+ .string "SHOAL CAVE, doesn’t he?\p"
+ .string "Let’s go see him, IRIS!$"
+
+Route125_Text_2A19F8: @ 82A19F8
+ .string "KIM: No, no, no! You need two POKéMON,\n"
+ .string "or it’s just no good!$"
+
+Route125_Text_2A1A35: @ 82A1A35
+ .string "IRIS: KIM, can you tell me what we’re\n"
+ .string "looking for out here?$"
+
+Route125_Text_2A1A71: @ 82A1A71
+ .string "IRIS: Oh, we came sort of close.$"
+
+Route125_Text_2A1A92: @ 82A1A92
+ .string "IRIS: KIM, are we really going into\n"
+ .string "the SHOAL CAVE?\l"
+ .string "We’ll get all wet.$"
+
+Route125_Text_2A1AD9: @ 82A1AD9
+ .string "IRIS: Oh, we could never, ever do\n"
+ .string "anything like a 2-on-1 battle.$"
+
+Route125_Text_2A1B1A: @ 82A1B1A
+ .string "Why would a BIRDKEEPER like me\n"
+ .string "come out to the sea?$"
+
+Route125_Text_2A1B4E: @ 82A1B4E
+ .string "Okay.\n"
+ .string "I’ll tell you why I’m here.$"
+
+Route125_Text_2A1B70: @ 82A1B70
+ .string "I put a message in a bottle and put\n"
+ .string "it out to sea.\p"
+ .string "I’m sure that a girl SWIMMER will\n"
+ .string "find it!$"
+
+Route125_Text_2A1BCE: @ 82A1BCE
+ .string "Hey! Was it you throwing garbage\n"
+ .string "into the sea?$"
+
+Route125_Text_2A1BFD: @ 82A1BFD
+ .string "Oh, you weren’t throwing trash into\n"
+ .string "the sea.$"
+
+Route125_Text_2A1C2A: @ 82A1C2A
+ .string "I found an unsightly bottle bobbing\n"
+ .string "in the waves earlier.\p"
+ .string "It angers me that someone would\n"
+ .string "pollute the sea!$"
+
+Route126_Text_2A1C95: @ 82A1C95
+ .string "Swimming is a full-body workout!\n"
+ .string "You will get fit!$"
+
+Route126_Text_2A1CC8: @ 82A1CC8
+ .string "I admit it!\n"
+ .string "You win!$"
+
+Route126_Text_2A1CDD: @ 82A1CDD
+ .string "Thanks to my daily swimming routine…\n"
+ .string "Look! Feast your eyes on this physique!$"
+
+Route126_Text_2A1D2A: @ 82A1D2A
+ .string "This towering white mountain of rock\n"
+ .string "is SOOTOPOLIS CITY.$"
+
+Route126_Text_2A1D63: @ 82A1D63
+ .string "I was done in?$"
+
+Route126_Text_2A1D72: @ 82A1D72
+ .string "I can’t find the entrance to\n"
+ .string "SOOTOPOLIS. Where could it be?$"
+
+Route126_Text_2A1DAE: @ 82A1DAE
+ .string "Ufufufufu!\n"
+ .string "I’m a mermaid!$"
+
+Route126_Text_2A1DC8: @ 82A1DC8
+ .string "My fantasy burst as if it were a bubble!\n"
+ .string "Blub, blub, blub…$"
+
+Route126_Text_2A1E03: @ 82A1E03
+ .string "You thrashed me… I want to\n"
+ .string "disappear in a wave of despair…$"
+
+Route126_Text_2A1E3E: @ 82A1E3E
+ .string "Hello, kiddo!\n"
+ .string "Want a battle with me?$"
+
+Route126_Text_2A1E63: @ 82A1E63
+ .string "Oh, noooooh!$"
+
+Route126_Text_2A1E70: @ 82A1E70
+ .string "I love frolicking with POKéMON in\n"
+ .string "the sea like this!$"
+
+Route126_Text_2A1EA5: @ 82A1EA5
+ .string "Check out this sculpted body!\n"
+ .string "I’m more cut than a BLACK BELT!$"
+
+Route126_Text_2A1EE3: @ 82A1EE3
+ .string "Whoops! Too strong!\n"
+ .string "Not bad! Not bad at all!$"
+
+Route126_Text_2A1F10: @ 82A1F10
+ .string "Losing to you stimulated my senses!\n"
+ .string "I’ll train myself and POKéMON harder!$"
+
+Route126_Text_2A1F5A: @ 82A1F5A
+ .string "Yep, you’re not bad at all!\n"
+ .string "I’d like to get to know you more!$"
+
+Route126_Text_2A1F98: @ 82A1F98
+ .string "Check out this beautiful body!\n"
+ .string "I’m more shapely than a SWIMMER!$"
+
+Route126_Text_2A1FD8: @ 82A1FD8
+ .string "Whoops! Really too strong!\n"
+ .string "Not bad! Not bad at all!$"
+
+Route126_Text_2A200C: @ 82A200C
+ .string "I’m going to train even harder!\n"
+ .string "You’re a great motivator!\l"
+ .string "You have to come back again!$"
+
+Route126_Text_2A2063: @ 82A2063
+ .string "I couldn’t even swim last year,\n"
+ .string "but now I’m a decent SWIMMER.\p"
+ .string "I think I’m capable of anything now.$"
+
+Route126_Text_2A20C6: @ 82A20C6
+ .string "Sheesh, getting greedy didn’t do\n"
+ .string "a thing for me.$"
+
+Route126_Text_2A20F7: @ 82A20F7
+ .string "If you practice at something,\n"
+ .string "you will get better at it.\p"
+ .string "You’re young--don’t be afraid to\n"
+ .string "try all sorts of things!$"
+
+Route126_Text_2A216A: @ 82A216A
+ .string "If seawater gets up your nose,\n"
+ .string "doesn’t it feel terrible?$"
+
+Route126_Text_2A21A3: @ 82A21A3
+ .string "Ack! Why, you…\n"
+ .string "Glub!$"
+
+Route126_Text_2A21B8: @ 82A21B8
+ .string "Ooh, I choked on some water!\n"
+ .string "It’s bitter! It’s salty!!$"
+
+Route126_Text_2A21EF: @ 82A21EF
+ .string "I’m throwing my whole heart\n"
+ .string "into this!$"
+
+Route126_Text_2A2216: @ 82A2216
+ .string "You had more heart!$"
+
+Route126_Text_2A222A: @ 82A222A
+ .string "I need to cool down now…\n"
+ .string "I think I’ll go for a dive.$"
+
+Route127_Text_2A225F: @ 82A225F
+ .string "I can see it in your face.\n"
+ .string "You want to challenge me.$"
+
+Route127_Text_2A2294: @ 82A2294
+ .string "Awawawawawa…$"
+
+Route127_Text_2A22A1: @ 82A22A1
+ .string "A well-played match leaves me feeling\n"
+ .string "refreshed and serene.$"
+
+Route127_Text_2A22DD: @ 82A22DD
+ .string "Do you have a rival whom you just\n"
+ .string "hate to lose against?$"
+
+Route127_Text_2A2315: @ 82A2315
+ .string "Arrrgh!\n"
+ .string "I hate losing!$"
+
+Route127_Text_2A232C: @ 82A232C
+ .string "If you have a rival, don’t you get the\n"
+ .string "feeling that you have to keep getting\l"
+ .string "better?$"
+
+Route127_Text_2A2381: @ 82A2381
+ .string "Through fishing, I have attained a\n"
+ .string "state of becalmed serenity…\p"
+ .string "Please, allow me to demonstrate…$"
+
+Route127_Text_2A23E1: @ 82A23E1
+ .string "Though I have lost, my heart remains\n"
+ .string "calm…$"
+
+Route127_Text_2A240C: @ 82A240C
+ .string "It matters not that I catch nothing.\n"
+ .string "The line remains in the water…$"
+
+Route127_Text_2A2450: @ 82A2450
+ .string "Whoops! Don’t tell me I snagged\n"
+ .string "a SURFING POKéMON?$"
+
+Route127_Text_2A2483: @ 82A2483
+ .string "I can’t keep up!$"
+
+Route127_Text_2A2494: @ 82A2494
+ .string "It’d be a handful if I hooked\n"
+ .string "your tough POKéMON!$"
+
+Route127_Text_2A24C6: @ 82A24C6
+ .string "Well, hey! This is a match between\n"
+ .string "a POKéMON fan and a fishing buff!$"
+
+Route127_Text_2A250B: @ 82A250B
+ .string "No! My line’s all tangled!\n"
+ .string "The party’s over!$"
+
+Route127_Text_2A2538: @ 82A2538
+ .string "My fishing line’s doing a dance!\n"
+ .string "The tangle tango! Hahaha, snarl!$"
+
+Route127_Text_2A257A: @ 82A257A
+ .string "BIRD POKéMON have excellent vision.\n"
+ .string "They spot prey from great heights.$"
+
+Route127_Text_2A25C1: @ 82A25C1
+ .string "Whew… I give up.$"
+
+Route127_Text_2A25D2: @ 82A25D2
+ .string "There’re lots of diving spots in\n"
+ .string "the sea around here.\p"
+ .string "You can spot them easily from the sky\n"
+ .string "because of their darker color.$"
+
+Route127_Text_2A264D: @ 82A264D
+ .string "Run in your bare feet.\n"
+ .string "That will toughen up your soles!$"
+
+Route127_Text_2A2685: @ 82A2685
+ .string "Yowch!\n"
+ .string "I got a pebble under a toenail!$"
+
+Route127_Text_2A26AC: @ 82A26AC
+ .string "Going barefoot feels great.\n"
+ .string "But your RUNNING SHOES are cool, too.$"
+
+Route127_Text_2A26EE: @ 82A26EE
+ .string "This is what I do to people who beat me!\n"
+ .string "I hope we can do this again.$"
+
+Route127_Text_2A2734: @ 82A2734
+ .string "I still run in my bare feet daily.\n"
+ .string "My soles are tough!$"
+
+Route127_Text_2A276B: @ 82A276B
+ .string "Yowch!\n"
+ .string "Pebbles dug into my arches!$"
+
+Route127_Text_2A278E: @ 82A278E
+ .string "Want to go barefoot for a while?\n"
+ .string "So I can try your RUNNING SHOES?$"
+
+Route127_Text_2A27D0: @ 82A27D0
+ .string "We should have a slow and methodical\n"
+ .string "match.$"
+
+Route127_Text_2A27FC: @ 82A27FC
+ .string "You didn’t give me the chance to\n"
+ .string "do any strategizing.$"
+
+Route127_Text_2A2832: @ 82A2832
+ .string "When I’m surrounded by the blue sea\n"
+ .string "and sky, it feels as if time slows down.$"
+
+Route128_Text_2A287F: @ 82A287F
+ .string "EVER GRANDE CITY is still a long ways\n"
+ .string "away…$"
+
+Route128_Text_2A28AB: @ 82A28AB
+ .string "My first victory seems to be far\n"
+ .string "away, too…$"
+
+Route128_Text_2A28D7: @ 82A28D7
+ .string "My whole life has been about losing,\n"
+ .string "but I will never give up!$"
+
+Route128_Text_2A2916: @ 82A2916
+ .string "I know I’m not good now, but I think\n"
+ .string "I can win eventually.\p"
+ .string "Please register me in your POKéNAV.$"
+
+Route128_Text_2A2975: @ 82A2975
+ .string "I’m still feeling good. I’ll keep on\n"
+ .string "swimming to EVER GRANDE CITY.$"
+
+Route128_Text_2A29B8: @ 82A29B8
+ .string "I’ve yet to taste my first victory…$"
+
+Route128_Text_2A29DC: @ 82A29DC
+ .string "I’ll eventually reach EVER GRANDE CITY\n"
+ .string "where I can eventually win…$"
+
+Route128_Text_2A2A1F: @ 82A2A1F
+ .string "You have to swim, cycle, and then run\n"
+ .string "a marathon in a triathlon.\p"
+ .string "It’s a grueling race that consists\n"
+ .string "of three events.$"
+
+Route128_Text_2A2A94: @ 82A2A94
+ .string "A POKéMON battle is grueling, too…$"
+
+Route128_Text_2A2AB7: @ 82A2AB7
+ .string "I have to ride a BIKE next, but…\n"
+ .string "I’m about to throw in the towel…$"
+
+Route128_Text_2A2AF9: @ 82A2AF9
+ .string "Well, I may as well make the best\n"
+ .string "of this. I’d like a rematch sometime.$"
+
+Route128_Text_2A2B41: @ 82A2B41
+ .string "A triathlon is long. But I guess the\n"
+ .string "road to become the POKéMON CHAMPION\l"
+ .string "is also a long and grueling one.$"
+
+Route128_Text_2A2BAB: @ 82A2BAB
+ .string "A POKéMON battle really is harsh\n"
+ .string "and unforgiving…$"
+
+Route128_Text_2A2BDD: @ 82A2BDD
+ .string "You should give serious thought to\n"
+ .string "challenges on VICTORY ROAD.$"
+
+Route128_Text_2A2C1C: @ 82A2C1C
+ .string "We’ve been working so hard to mount\n"
+ .string "a POKéMON LEAGUE challenge…\p"
+ .string "We can’t afford to lose now!$"
+
+Route128_Text_2A2C79: @ 82A2C79
+ .string "Oh!\n"
+ .string "How could this happen?!$"
+
+Route128_Text_2A2C95: @ 82A2C95
+ .string "After all I’ve done to get here,\n"
+ .string "I won’t give up after one setback.$"
+
+Route128_Text_2A2CD9: @ 82A2CD9
+ .string "There is no stronger TRAINER than I!$"
+
+Route128_Text_2A2CFE: @ 82A2CFE
+ .string "This can’t be!$"
+
+Route128_Text_2A2D0D: @ 82A2D0D
+ .string "There probably is no stronger TRAINER\n"
+ .string "than you!$"
+
+Route128_Text_2A2D3D: @ 82A2D3D
+ .string "I want to visit EVER GRANDE, so I\n"
+ .string "caught myself a POKéMON that knows\l"
+ .string "the move WATERFALL to crest the falls.$"
+
+Route128_Text_2A2DA9: @ 82A2DA9
+ .string "I’m crestfallen!$"
+
+Route128_Text_2A2DBA: @ 82A2DBA
+ .string "Awww, phooey!\p"
+ .string "My POKéMON knows WATERFALL, but\n"
+ .string "I don’t have the SOOTOPOLIS GYM BADGE!$"
+
+Route128_Text_2A2E0F: @ 82A2E0F
+ .string "You’re looking awfully tough.\n"
+ .string "I wonder if I can win?$"
+
+Route128_Text_2A2E44: @ 82A2E44
+ .string "Ouch!\n"
+ .string "I guess it was impossible to win.$"
+
+Route128_Text_2A2E6C: @ 82A2E6C
+ .string "There are tough TRAINERS galore\n"
+ .string "around EVER GRANDE.\p"
+ .string "Do you think I may be out\n"
+ .string "of my league?$"
+
+Route128_Text_2A2EC8: @ 82A2EC8
+ .string "The sunlight seems to be more harsh\n"
+ .string "in this area.$"
+
+Route128_Text_2A2EFA: @ 82A2EFA
+ .string "I couldn’t see very well because of\n"
+ .string "the sun’s glare.$"
+
+Route128_Text_2A2F2F: @ 82A2F2F
+ .string "I should go back soon.\n"
+ .string "I need to reapply my sunscreen.$"
+
+Route129_Text_2A2F66: @ 82A2F66
+ .string "This is my first triathlon.\n"
+ .string "I’m all tense and nervous!$"
+
+Route129_Text_2A2F9D: @ 82A2F9D
+ .string "Wroooaaar!\n"
+ .string "I failed to win!$"
+
+Route129_Text_2A2FB9: @ 82A2FB9
+ .string "If I’m all tensed up, I won’t be able to\n"
+ .string "give it my all.$"
+
+Route129_Text_2A2FF2: @ 82A2FF2
+ .string "I’m in the middle of a triathlon,\n"
+ .string "but, sure, why don’t we battle?$"
+
+Route129_Text_2A3034: @ 82A3034
+ .string "I was sure I’d win!$"
+
+Route129_Text_2A3048: @ 82A3048
+ .string "Do you know what’s the greatest thing\n"
+ .string "about triathlons?\p"
+ .string "Testing the limits of your own\n"
+ .string "strength and endurance against\l"
+ .string "Mother Nature!$"
+
+Route129_Text_2A30CD: @ 82A30CD
+ .string "Say hey, hey!\n"
+ .string "Let’s get on with it!$"
+
+Route129_Text_2A30F1: @ 82A30F1
+ .string "Beat, I’m beaten.\n"
+ .string "That’s it, done!$"
+
+Route129_Text_2A3114: @ 82A3114
+ .string "There’s nothing for a loser.\n"
+ .string "Time for me to beat it home.$"
+
+Route129_Text_2A314E: @ 82A314E
+ .string "What’s the hurry?\n"
+ .string "Let’s take it slow and easy.$"
+
+Route129_Text_2A317D: @ 82A317D
+ .string "Oh, my.\n"
+ .string "I wanted to relax a little more…$"
+
+Route129_Text_2A31A6: @ 82A31A6
+ .string "Don’t you hate making mistakes when\n"
+ .string "you’re in a rush?\p"
+ .string "That’s why I try to take things\n"
+ .string "slowly.$"
+
+Route129_Text_2A3204: @ 82A3204
+ .string "Surfing isn’t as easy as it seems,\n"
+ .string "isn’t that right?$"
+
+Route129_Text_2A3239: @ 82A3239
+ .string "Winning sure isn’t easy.$"
+
+Route129_Text_2A3252: @ 82A3252
+ .string "You have your sights on the POKéMON\n"
+ .string "LEAGUE? Keep at it!$"
+
+Route130_Text_2A328A: @ 82A328A
+ .string "What a surprise! I didn’t expect to\n"
+ .string "see a TRAINER out in the sea.\p"
+ .string "I think we should battle!$"
+
+Route130_Text_2A32E6: @ 82A32E6
+ .string "This kid’s awfully tough…$"
+
+Route130_Text_2A3300: @ 82A3300
+ .string "Your eyes have that look of someone\n"
+ .string "who’s experienced harsh challenges\l"
+ .string "and won. It suits you well!$"
+
+Route130_Text_2A3363: @ 82A3363
+ .string "In the deep blue sea,\n"
+ .string "my shattered blue heart finds\l"
+ .string "comfort among waves.$"
+
+Route130_Text_2A33AC: @ 82A33AC
+ .string "Like the vast blue sea,\n"
+ .string "the world of POKéMON spans\l"
+ .string "depths beyond belief.$"
+
+Route130_Text_2A33F5: @ 82A33F5
+ .string "The world’s children dream\n"
+ .string "of one day becoming\l"
+ .string "the POKéMON CHAMPION.$"
+
+Route130_Text_2A343A: @ 82A343A
+ .string "Floating on the open sea like this…\n"
+ .string "It’s peaceful.$"
+
+Route130_Text_2A346D: @ 82A346D
+ .string "I needed to be a little less peaceful!$"
+
+Route130_Text_2A3494: @ 82A3494
+ .string "Swimming and battling like this…\n"
+ .string "I’m one happy guy…$"
+
+Route131_Text_2A34C8: @ 82A34C8
+ .string "The sea is teeming with POKéMON.\n"
+ .string "It’s not easy swimming, I tell you.$"
+
+Route131_Text_2A350D: @ 82A350D
+ .string "POKéMON raised by TRAINERS are\n"
+ .string "seriously tough…$"
+
+Route131_Text_2A353D: @ 82A353D
+ .string "Gasp… Gasp…\n"
+ .string "I’m wiped out…\p"
+ .string "The going’s easy. It’s the leaving\n"
+ .string "that’s the hard part.\p"
+ .string "Will I have any energy left to make\n"
+ .string "the return trip?$"
+
+Route131_Text_2A35C6: @ 82A35C6
+ .string "The sea… The sea… The sea…\n"
+ .string "The sea as far as these eyes can see!\l"
+ .string "I’m sick and tired of the sea!$"
+
+Route131_Text_2A3626: @ 82A3626
+ .string "Bleah!$"
+
+Route131_Text_2A362D: @ 82A362D
+ .string "Bored I am by the sea, but swim I must.\p"
+ .string "I’m a born swimmer!\n"
+ .string "That’s what I am.$"
+
+Route131_Text_2A367B: @ 82A367B
+ .string "Hi, sweetie, wait!\n"
+ .string "We should battle, you and I!$"
+
+Route131_Text_2A36AB: @ 82A36AB
+ .string "You’re tough in spite of the way\n"
+ .string "you look!$"
+
+Route131_Text_2A36D6: @ 82A36D6
+ .string "Did you see a guy over there who whines\n"
+ .string "that he’s bored of the sea?\p"
+ .string "That’s all talk.\n"
+ .string "He’s hopelessly in love with the sea!$"
+
+Route131_Text_2A3751: @ 82A3751
+ .string "Why do men love bathing suits so much?\p"
+ .string "They all ogle me!$"
+
+Route131_Text_2A378A: @ 82A378A
+ .string "I’m out of my depth!$"
+
+Route131_Text_2A379F: @ 82A379F
+ .string "Maybe it’s not my bathing suit that\n"
+ .string "makes men look. It must be my beauty!$"
+
+Route131_Text_2A37E9: @ 82A37E9
+ .string "RELI: We’ll work together as siblings\n"
+ .string "to take you on!$"
+
+Route131_Text_2A381F: @ 82A381F
+ .string "RELI: We couldn’t win even though we\n"
+ .string "worked together…$"
+
+Route131_Text_2A3855: @ 82A3855
+ .string "RELI: The people of PACIFIDLOG are\n"
+ .string "together with the sea and POKéMON from\l"
+ .string "the time they are born.$"
+
+Route131_Text_2A38B7: @ 82A38B7
+ .string "RELI: You don’t have two POKéMON?\n"
+ .string "We can’t enjoy a battle, then.$"
+
+Route131_Text_2A38F8: @ 82A38F8
+ .string "IAN: I’m doing my best together with\n"
+ .string "my sis!$"
+
+Route131_Text_2A3925: @ 82A3925
+ .string "IAN: I did my best with my sis,\n"
+ .string "but we still couldn’t win…$"
+
+Route131_Text_2A3960: @ 82A3960
+ .string "IAN: You know how PACIFIDLOG is\n"
+ .string "a floating town?\p"
+ .string "So, wherever there is the sea,\n"
+ .string "that’s a part of PACIFIDLOG!$"
+
+Route131_Text_2A39CD: @ 82A39CD
+ .string "IAN: If you have two POKéMON,\n"
+ .string "we’ll take you on!$"
+
+Route131_Text_2A39FE: @ 82A39FE
+ .string "If you can beat me, I’ll give you some\n"
+ .string "great information!$"
+
+Route131_Text_2A3A38: @ 82A3A38
+ .string "Oh?\n"
+ .string "Did I lose?$"
+
+Route131_Text_2A3A48: @ 82A3A48
+ .string "There is an odd place nearby.\n"
+ .string "There’s a huge tower there.\l"
+ .string "Why don’t you go take a look?$"
+
+Route131_Text_2A3AA0: @ 82A3AA0
+ .string "The people of PACIFIDLOG are\n"
+ .string "a peaceful bunch.\p"
+ .string "They never get angry.\n"
+ .string "That goes for me, too.$"
+
+Route131_Text_2A3AFC: @ 82A3AFC
+ .string "Oops!$"
+
+Route131_Text_2A3B02: @ 82A3B02
+ .string "Tch! …Oh, wait.\n"
+ .string "I’m not angry. Honestly!\p"
+ .string "But, boy, you’re strong!\n"
+ .string "Hahaha!$"
+
+Route132_Text_2A3B4C: @ 82A3B4C
+ .string "I used to catch colds all the time as\n"
+ .string "a kid, but I became totally fit after\l"
+ .string "I started swimming.$"
+
+Route132_Text_2A3BAC: @ 82A3BAC
+ .string "I crave more power…$"
+
+Route132_Text_2A3BC0: @ 82A3BC0
+ .string "TRAINERS travel the fields and\n"
+ .string "mountains, so they must be fit, too.$"
+
+Route132_Text_2A3C04: @ 82A3C04
+ .string "I try not to swim where the currents\n"
+ .string "are too strong.$"
+
+Route132_Text_2A3C39: @ 82A3C39
+ .string "Oh, please, no!$"
+
+Route132_Text_2A3C49: @ 82A3C49
+ .string "If I get swept away, I’ll lose all my\n"
+ .string "sense of place…$"
+
+Route132_Text_2A3C7F: @ 82A3C7F
+ .string "Win or lose, you’ll never know until\n"
+ .string "you try!$"
+
+Route132_Text_2A3CAD: @ 82A3CAD
+ .string "Waah!\n"
+ .string "I sank in defeat!$"
+
+Route132_Text_2A3CC5: @ 82A3CC5
+ .string "I never battle when I know I’ll win.\n"
+ .string "I like to battle at the razor’s edge of\l"
+ .string "victory and defeat!$"
+
+Route132_Text_2A3D26: @ 82A3D26
+ .string "I contemplate POKéMON 24 hours a day.\n"
+ .string "How could you possibly beat me?$"
+
+Route132_Text_2A3D6C: @ 82A3D6C
+ .string "I lose.\n"
+ .string "I will concede defeat.$"
+
+Route132_Text_2A3D8B: @ 82A3D8B
+ .string "Urggh…\n"
+ .string "You’re a POKéMON fanatic, aren’t you?\p"
+ .string "You must contemplate POKéMON 24 hours\n"
+ .string "a day, don’t you?$"
+
+Route132_Text_2A3DF0: @ 82A3DF0
+ .string "I’m always with my husband,\n"
+ .string "but I can win even without him.$"
+
+Route132_Text_2A3E2C: @ 82A3E2C
+ .string "Oh, I guess I wasn’t good enough.$"
+
+Route132_Text_2A3E4E: @ 82A3E4E
+ .string "That young man over there looks just\n"
+ .string "like my husband when he was young.\p"
+ .string "He’s making me blush!$"
+
+Route132_Text_2A3EAC: @ 82A3EAC
+ .string "Someone’s been watching me intently.\n"
+ .string "Was it you?$"
+
+Route132_Text_2A3EDD: @ 82A3EDD
+ .string "Wow!\n"
+ .string "That’s pretty strong, all right!$"
+
+Route132_Text_2A3F03: @ 82A3F03
+ .string "I can’t shake this feeling that\n"
+ .string "someone’s watching me.\p"
+ .string "I can’t concentrate!$"
+
+Route132_Text_2A3F4F: @ 82A3F4F
+ .string "Now where could my wife have gone?\n"
+ .string "I’m always with her.\l"
+ .string "I wonder if I can win on my own.$"
+
+Route132_Text_2A3FA8: @ 82A3FA8
+ .string "Ah, I see that I couldn’t manage\n"
+ .string "to win on my own after all.$"
+
+Route132_Text_2A3FE5: @ 82A3FE5
+ .string "My wife must be looking for me.\n"
+ .string "I’d best go find her right away.$"
+
+Route132_Text_2A4026: @ 82A4026
+ .string "I liked training here by myself.\n"
+ .string "It’s awful that all these people came!$"
+
+Route132_Text_2A406E: @ 82A406E
+ .string "Okay! I won’t complain about other\n"
+ .string "people being here.$"
+
+Route132_Text_2A40A4: @ 82A40A4
+ .string "I suppose I can partner up with that\n"
+ .string "old man and challenge that other team.$"
+
+Route133_Text_2A40F0: @ 82A40F0
+ .string "Did the currents carry you here, too?\n"
+ .string "This must have been fated.\l"
+ .string "Let’s battle!$"
+
+Route133_Text_2A413F: @ 82A413F
+ .string "Strong!\n"
+ .string "Too much so!$"
+
+Route133_Text_2A4154: @ 82A4154
+ .string "It’s just my luck that a tough TRAINER\n"
+ .string "like you would drift here…\l"
+ .string "I must be cursed…$"
+
+Route133_Text_2A41A8: @ 82A41A8
+ .string "I’ve led a life of woe and misery…\n"
+ .string "I’ve been cast away, and this is where\l"
+ .string "I’ve drifted…$"
+
+Route133_Text_2A4200: @ 82A4200
+ .string "Another loss…$"
+
+Route133_Text_2A420E: @ 82A420E
+ .string "A life adrift…\n"
+ .string "I don’t want it anymore!$"
+
+Route133_Text_2A4236: @ 82A4236
+ .string "Welcome!\n"
+ .string "I’ve been expecting you!$"
+
+Route133_Text_2A4258: @ 82A4258
+ .string "No! Please!$"
+
+Route133_Text_2A4264: @ 82A4264
+ .string "A strong child TRAINER…\n"
+ .string "That’s so annoying!$"
+
+Route133_Text_2A4290: @ 82A4290
+ .string "I want to win like everyone else, but I\n"
+ .string "won’t raise POKéMON like everyone else.$"
+
+Route133_Text_2A42E0: @ 82A42E0
+ .string "Darn it!\n"
+ .string "My way is still too slack!$"
+
+Route133_Text_2A4304: @ 82A4304
+ .string "It’s way more fun to do things the way\n"
+ .string "I want than to be like everybody else.\l"
+ .string "I mean, that’s obvious!$"
+
+Route133_Text_2A436A: @ 82A436A
+ .string "I came all the way out here with my\n"
+ .string "BIRD POKéMON.$"
+
+Route133_Text_2A439C: @ 82A439C
+ .string "You…\n"
+ .string "You’re stunningly cool!$"
+
+Route133_Text_2A43B9: @ 82A43B9
+ .string "I’d like to go back to FORTREE,\n"
+ .string "but I’ve grown to like this place, too.$"
+
+Route133_Text_2A4401: @ 82A4401
+ .string "I must have battled thousands\n"
+ .string "of times. I’ve lost count.$"
+
+Route133_Text_2A443A: @ 82A443A
+ .string "I may have lost thousands of times,\n"
+ .string "but a loss still stings.$"
+
+Route133_Text_2A4477: @ 82A4477
+ .string "Keep at this, youngster. So you can\n"
+ .string "become like my husband and me.$"
+
+Route133_Text_2A44BA: @ 82A44BA
+ .string "Young people are too happy to go with\n"
+ .string "the flow. They’re without direction.$"
+
+Route133_Text_2A4505: @ 82A4505
+ .string "You have a firm sense of purpose.$"
+
+Route133_Text_2A4527: @ 82A4527
+ .string "Don’t let others lead you astray.\n"
+ .string "Don’t lose direction as you grow older.$"
+
+Route134_Text_2A4571: @ 82A4571
+ .string "Even those POKéMON that can swim are\n"
+ .string "carried along by the rapid currents.$"
+
+Route134_Text_2A45BB: @ 82A45BB
+ .string "Aiyeeeeh!$"
+
+Route134_Text_2A45C5: @ 82A45C5
+ .string "I think POKéMON enjoy the fast-running\n"
+ .string "currents around these parts.$"
+
+Route134_Text_2A4609: @ 82A4609
+ .string "My LUVDISC are looking for a fun\n"
+ .string "match. Will you join us?$"
+
+Route134_Text_2A4643: @ 82A4643
+ .string "Oopsie!$"
+
+Route134_Text_2A464B: @ 82A464B
+ .string "There’s a collector who’s after\n"
+ .string "the SCALES of LUVDISC.$"
+
+Route134_Text_2A4682: @ 82A4682
+ .string "Okeydokey! That’s enough rest, gang!\n"
+ .string "It’s time for a match!$"
+
+Route134_Text_2A46BE: @ 82A46BE
+ .string "Tuckered out again…$"
+
+Route134_Text_2A46D2: @ 82A46D2
+ .string "My BIRD POKéMON get tired quickly after\n"
+ .string "a long flight…$"
+
+Route134_Text_2A4709: @ 82A4709
+ .string "You’re a POKéMON TRAINER.\n"
+ .string "No need for words. We battle now.$"
+
+Route134_Text_2A4745: @ 82A4745
+ .string "… … … … … …\n"
+ .string "… … … … … …$"
+
+Route134_Text_2A475D: @ 82A475D
+ .string "It was I who challenged you, and yet\n"
+ .string "I lost. I am deeply shamed…$"
+
+Route134_Text_2A479E: @ 82A479E
+ .string "The savage tide in this area serves to\n"
+ .string "make us stronger than ever.$"
+
+Route134_Text_2A47E1: @ 82A47E1
+ .string "I willingly concede defeat.$"
+
+Route134_Text_2A47FD: @ 82A47FD
+ .string "We will return for more training at\n"
+ .string "METEOR FALLS.\p"
+ .string "If you’d like, you should go, too.\n"
+ .string "It will definitely toughen you up!$"
+
+Route134_Text_2A4875: @ 82A4875
+ .string "O-our boat!\n"
+ .string "The tide carried it away!$"
+
+Route134_Text_2A489B: @ 82A489B
+ .string "Awawawawah!\n"
+ .string "Please, stop! Please!$"
+
+Route134_Text_2A48BD: @ 82A48BD
+ .string "If we can’t SURF, how are we supposed\n"
+ .string "to get home?\p"
+ .string "Actually, I know a fainted POKéMON\n"
+ .string "can still SURF, but it feels wrong.$"
+
+Route134_Text_2A4937: @ 82A4937
+ .string "Can your POKéMON dodge our\n"
+ .string "lightning-quick attacks?$"
+
+Route134_Text_2A496B: @ 82A496B
+ .string "I never knew such a technique existed!\n"
+ .string "You’ve defeated us thoroughly.$"
+
+Route134_Text_2A49B1: @ 82A49B1
+ .string "I haven’t lost my passion for speed.\n"
+ .string "I will try harder.$"
+
+Route134_Text_2A49E9: @ 82A49E9
+ .string "My POKéMON can’t be taken down\n"
+ .string "easily!$"
+
+Route134_Text_2A4A10: @ 82A4A10
+ .string "You’re kidding!\n"
+ .string "Explain how I lost!$"
+
+Route134_Text_2A4A34: @ 82A4A34
+ .string "Haha!\n"
+ .string "You won, all right!\p"
+ .string "I’ll work my way back up by taking on\n"
+ .string "TRAINERS I happen to meet!$"
+
+Route134_Text_2A4A8F: @ 82A4A8F
+ .string "Listen, have you seen another SAILOR\n"
+ .string "around here?$"
+
+Route134_Text_2A4AC1: @ 82A4AC1
+ .string "Now, that’s something!$"
+
+Route134_Text_2A4AD8: @ 82A4AD8
+ .string "Our boat drifted out to sea.\p"
+ .string "My buddy’s a timid fellow, so I’m\n"
+ .string "worried about him.$"
diff --git a/data/text/tv.inc b/data/text/tv.inc
index fa2d0ac73..9e339f8f6 100644
--- a/data/text/tv.inc
+++ b/data/text/tv.inc
@@ -1,3 +1,48 @@
+LilycoveCity_ContestLobby_Text_27EF15: @ 827EF15
+ .string "Oh, hello! You were in a POKéMON\n"
+ .string "CONTEST, weren’t you?\l"
+ .string "It’s easy to tell from your POKéMON.\p"
+ .string "I’m a reporter. I’m working on a story\n"
+ .string "on POKéMON CONTESTS.\p"
+ .string "If I may, would you be willing to answer\n"
+ .string "a few questions?$"
+
+LilycoveCity_ContestLobby_Text_27EFE7: @ 827EFE7
+ .string "Oh, you will?\n"
+ .string "Thank you.\p"
+ .string "Briefly, how would you describe the\n"
+ .string "CONTEST you just entered?$"
+
+LilycoveCity_ContestLobby_Text_27F03E: @ 827F03E
+ .string "Ah, I see.\n"
+ .string "That’s a very edifying comment.\p"
+ .string "You get a good feel for what\n"
+ .string "the CONTEST was like.\p"
+ .string "I’ve got one last question.\p"
+ .string "When you hear the word “{STR_VAR_2},”\n"
+ .string "what image do you get?$"
+
+LilycoveCity_ContestLobby_Text_27F0EC: @ 827F0EC
+ .string "I see!\p"
+ .string "So that’s how you imagine the concept\n"
+ .string "of “{STR_VAR_2}” to be.\p"
+ .string "Thank you!\n"
+ .string "You’ve given me some good ideas.\p"
+ .string "I think I can write a good story on\n"
+ .string "POKéMON CONTESTS now.\p"
+ .string "Maybe, just maybe, this story will even\n"
+ .string "make it to television.\l"
+ .string "I hope you’ll look forward to it!$"
+
+LilycoveCity_ContestLobby_Text_27F1EF: @ 827F1EF
+ .string "Oh, too bad…\p"
+ .string "Well, if you come across a good story,\n"
+ .string "please do share it with me.$"
+
+LilycoveCity_ContestLobby_Text_27F23F: @ 827F23F
+ .string "I’ll be looking forward to your next\n"
+ .string "POKéMON CONTEST.$"
+
gTVBravoTrainerText00:: @ 0827F275
.string "Yeah!\n"
.string "It’s BRAVO TRAINER time!\p"
@@ -63,6 +108,7 @@ gTVBravoTrainerText07:: @ 0827F65C
gTVBravoTrainerText08:: @ 0827F6E6
.string "Introducing the TRAINER’s {STR_VAR_1}!$"
+BattleFrontier_BattleTowerLobby_Text_27F704:: @ 0827F704
.string "Hello! You’re the TRAINER who just had\n"
.string "a battle, right?\p"
.string "I’m gathering interviews with TRAINERS\n"
@@ -70,6 +116,7 @@ gTVBravoTrainerText08:: @ 0827F6E6
.string "May I get a few words from you about\n"
.string "your impressions on battling?$"
+BattleFrontier_BattleTowerLobby_Text_27F7BA:: @ 0827F7BA
.string "You will? Really?\n"
.string "Thank you!\l"
.string "Then, uh…\p"
@@ -78,37 +125,44 @@ gTVBravoTrainerText08:: @ 0827F6E6
.string "Were you satisfied with the battle?\n"
.string "Or are you unhappy?$"
+BattleFrontier_BattleTowerLobby_Text_27F84C:: @ 0827F84C
.string "Oh…\n"
.string "Sorry we disturbed you.\p"
.string "Please give us an interview the next\n"
.string "time you visit the BATTLE TOWER.$"
+BattleFrontier_BattleTowerLobby_Text_27F8AE:: @ 0827F8AE
.string "Well, of course!\p"
.string "That unmistakable look of satisfaction\n"
.string "on your face…\p"
.string "It’s obvious that you’ve had a great\n"
.string "battle.$"
+BattleFrontier_BattleTowerLobby_Text_27F921:: @ 0827F921
.string "Oh, I see…\p"
.string "Well, it certainly is difficult to make a\n"
.string "battle turn out exactly as planned.$"
+BattleFrontier_BattleTowerLobby_Text_27F97A:: @ 0827F97A
.string "Oh, oh, may I ask one more question?\p"
.string "If you were to describe your\n"
.string "impressions about this battle with\l"
.string "one saying, what would it be?$"
+BattleFrontier_BattleTowerLobby_Text_27F9FD:: @ 0827F9FD
.string "Oh, that is stunningly cool!\p"
.string "That’s a great line!\n"
.string "I hope you’ll do great next time, too.\p"
.string "I hope to see you again!$"
+BattleFrontier_BattleTowerLobby_Text_27FA6F:: @ 0827FA6F
.string "Oh, I see…\p"
.string "Still, being the silent type is also\n"
.string "cool, isn’t it?\p"
.string "I hope you’ll give me the opportunity\n"
.string "to share your thoughts again!$"
+BattleFrontier_BattleTowerLobby_Text_27FAF3:: @ 0827FAF3
.string "I’ll be looking forward to your\n"
.string "next battle!$"
@@ -215,6 +269,7 @@ gTVBravoTrainerBattleTowerText14:: @ 082801E6
.string "That’s all the time we have!\n"
.string "Until next time, see you!$"
+SlateportCity_PokemonFanClub_Text_280270: @ 08280270
.string "Wow!\p"
.string "It’s plain to see that you lavish your\n"
.string "love on your {STR_VAR_1}.\p"
@@ -225,30 +280,36 @@ gTVBravoTrainerBattleTowerText14:: @ 082801E6
.string "Would you be willing to answer a few\n"
.string "simple questions for me?$"
+SlateportCity_PokemonFanClub_Text_28034F: @ 0828034F
.string "Great! Thank you!\p"
.string "Okay, here goes.\n"
.string "I just need quick answers, okay?$"
+SlateportCity_PokemonFanClub_Text_280393: @ 08280393
.string "When you first met {STR_VAR_1},\n"
.string "what did you feel?\p"
.string "How would you describe your feelings\n"
.string "at the time?$"
+SlateportCity_PokemonFanClub_Text_2803EF: @ 082803EF
.string "Your {STR_VAR_1} is cared for lovingly.\p"
.string "If you were to liken it to something\n"
.string "that you like, what would it be?$"
+SlateportCity_PokemonFanClub_Text_280454: @ 08280454
.string "This question also relates to your\n"
.string "beloved {STR_VAR_1}.\p"
.string "What was it about {STR_VAR_1} that\n"
.string "attracted you?$"
+SlateportCity_PokemonFanClub_Text_2804AC: @ 082804AC
.string "Okay, that makes sense.\p"
.string "The next question might be a little\n"
.string "on the tough side.\p"
.string "Here goes…\p"
.string "What do POKéMON mean to you?$"
+SlateportCity_PokemonFanClub_Text_280523: @ 08280523
.string "I see!\p"
.string "Hmhm…\p"
.string "Okay!\n"
@@ -260,13 +321,16 @@ gTVBravoTrainerBattleTowerText14:: @ 082801E6
.string "Okay, that’s all.\n"
.string "Bye-bye!$"
+SlateportCity_PokemonFanClub_Text_2805E2: @ 082805E2
.string "Oh, okay…\p"
.string "Well, if you get the urge to tell me\n"
.string "about POKéMON, I’ll be here!$"
+SlateportCity_PokemonFanClub_Text_28062E: @ 0828062E
.string "I enjoy this job--you get to learn\n"
.string "about POKéMON by doing interviews.$"
+SlateportCity_PokemonFanClub_Text_280674: @ 08280674
.string "Hi, you seem to be very close to your\n"
.string "{STR_VAR_1}.\p"
.string "Do you know what?\n"
@@ -276,10 +340,12 @@ gTVBravoTrainerBattleTowerText14:: @ 082801E6
.string "I’m wondering if you’d be willing to tell\n"
.string "me a little about your {STR_VAR_1}?$"
+SlateportCity_PokemonFanClub_Text_28073B: @ 0828073B
.string "Wow, thank you!\p"
.string "Okay, then, please tell me anything\n"
.string "you’d like about your {STR_VAR_1}.$"
+SlateportCity_PokemonFanClub_Text_280789: @ 08280789
.string "Wow…\n"
.string "That’s an interesting account.\p"
.string "You really are tight with {STR_VAR_1},\n"
@@ -413,6 +479,7 @@ gTVFanClubText07:: @ 082810E7
.string "A-whoops, will you look at the time?\n"
.string "Time to say good-bye until next time!$"
+SlateportCity_OceanicMuseum_1F_Text_2811A0: @ 082811A0
.string "Oh?\n"
.string "Do you perhaps like POKéMON?\p"
.string "I’m on assignment with the TV network.\p"
@@ -421,27 +488,32 @@ gTVFanClubText07:: @ 082810E7
.string "If you don’t mind, could you tell me\n"
.string "something about yourself?$"
+SlateportCity_OceanicMuseum_1F_Text_28126D: @ 0828126D
.string "I’m gathering stories on POKéMON and\n"
.string "TRAINERS that occurred recently.\p"
.string "If you don’t mind, could you tell me\n"
.string "something about yourself?$"
+SlateportCity_OceanicMuseum_1F_Text_2812F2: @ 082812F2
.string "Oh, you will?\n"
.string "Thank you!\p"
.string "Then, please, tell me anything of\n"
.string "interest that you experienced recently\l"
.string "involving POKéMON.$"
+SlateportCity_OceanicMuseum_1F_Text_281367: @ 08281367
.string "Oh, I see…\p"
.string "Well, if you do have an interesting\n"
.string "story to tell, please let me know.$"
+SlateportCity_OceanicMuseum_1F_Text_2813B9: @ 082813B9
.string "Oh, what an uplifting story!\p"
.string "I’ll be sure to get your story told\n"
.string "on television.\p"
.string "It should be aired sometime, I think,\n"
.string "so please look forward to it.$"
+SlateportCity_OceanicMuseum_1F_Text_28144D: @ 0828144D
.string "Hmmm…\n"
.string "I’ve got a good story for a TV program.\p"
.string "I’d better write it up in a hurry!$"
@@ -540,35 +612,44 @@ gTV3CheersForPokeblocksText05:: @ 08281B93
.string "Tune in next time!\n"
.string "Our slogan is “3 CHEERS FOR {POKEBLOCK}S!”$"
+LilycoveCity_PokemonTrainerFanClub_Text_281BCB:: @ 8281BCB
.string "Hi, there!\p"
.string "I’m a big fan of {STR_VAR_1}.\n"
.string "What’s your opinion of {STR_VAR_1}?$"
+LilycoveCity_PokemonTrainerFanClub_Text_281C06:: @ 8281C06
.string "I see, I see. That’s what you think\n"
.string "about the TRAINER.$"
+LilycoveCity_PokemonTrainerFanClub_Text_281C3D:: @ 8281C3D
.string "Have you completely forgotten\n"
.string "about {STR_VAR_1}?$"
+LilycoveCity_PokemonTrainerFanClub_Text_281C65:: @ 8281C65
.string "I’m a big fan of {STR_VAR_1}.\n"
.string "What’s your opinion of {STR_VAR_1}?$"
+LilycoveCity_PokemonTrainerFanClub_Text_281C95:: @ 8281C95
.string "How strong would you rate {STR_VAR_1}\n"
.string "on a scale of one hundred?$"
+LilycoveCity_PokemonTrainerFanClub_Text_281CCD:: @ 8281CCD
.string "Have you completely forgotten\n"
.string "about {STR_VAR_1}?$"
+LilycoveCity_PokemonTrainerFanClub_Text_281CF5:: @ 8281CF5
.string "Oh, I see!\n"
.string "You should meet {STR_VAR_1} sometime.\l"
.string "I’m sure you’ll become a fan, too!$"
+LilycoveCity_PokemonTrainerFanClub_Text_281D40:: @ 8281D40
.string "I see, I see.\p"
.string "Thank you!\n"
.string "That’s very useful to know.\p"
.string "I’ll share this information with other\n"
.string "{STR_VAR_1} fans and discuss it.$"
+LilycoveCity_PokemonTrainerFanClub_Text_281DB4:: @ 8281DB4
.string "There’s going to be a TV special on\n"
.string "{STR_VAR_1} very soon.\p"
.string "I hope you catch it!$"
@@ -2613,19 +2694,25 @@ gTVPokemonBattleUpdateText07:: @ 0828AE26
.string "This concludes this episode of\n"
.string "“POKéMON BATTLE UPDATE!”$"
+Route111_Text_28AF05: @ 0828AF05
.string "GABBY: Oh! We’ve just spotted a tough-\n"
.string "looking TRAINER here of all places!\p"
.string "Okay, roll camera!\n"
.string "Let’s get this interview.$"
+Route111_Text_28AF7D: @ 0828AF7D
+Route118_Text_28AF7D: @ 0828AF7D
+Route120_Text_28AF7D: @ 0828AF7D
.string "GABBY: Oh! You’re {PLAYER}! Hi!\n"
.string "Do you remember us from last time?\p"
.string "Can you show us how much stronger\n"
.string "you’ve become? Okay, cue interview!$"
+Route111_Text_28B000: @ 0828B000
.string "GABBY: My eyes didn’t lie!\n"
.string "I did discover an astonishing TRAINER!$"
+Route111_Text_28B042: @ 0828B042
.string "GABBY: Awesome! Awesome!\n"
.string "Who are you?!\p"
.string "I knew we were onto something wild\n"
@@ -2636,16 +2723,19 @@ gTVPokemonBattleUpdateText07:: @ 0828AE26
.string "So, would you give us a bit of your time\n"
.string "for an interview?$"
+Route111_Text_28B137: @ 0828B137
.string "GABBY: “{STR_VAR_1}!”\p"
.string "Remember? That’s the quote you gave\n"
.string "us as the battle clincher last time.\p"
.string "I never, ever forget stuff like that!$"
+Route111_Text_28B1B3: @ 0828B1B3
.string "The last time we battled, you stomped\n"
.string "us before we could brace ourselves…\p"
.string "Anyway, what do you think?\n"
.string "Do you want to be interviewed again?$"
+Route111_Text_28B23D: @ 0828B23D
.string "The last time we battled, didn’t you\n"
.string "throw a POKé BALL at us?\p"
.string "We were shocked! So we told everyone,\n"
@@ -2653,25 +2743,30 @@ gTVPokemonBattleUpdateText07:: @ 0828AE26
.string "Anyway, what do you think?\n"
.string "Do you want to be interviewed again?$"
+Route111_Text_28B2FA: @ 0828B2FA
.string "The last time we battled, your item\n"
.string "skills cleverly did us in.\p"
.string "Anyway, what do you think?\n"
.string "Do you want to be interviewed again?$"
+Route111_Text_28B379: @ 0828B379
.string "The last time we battled, we managed\n"
.string "to look respectable.\p"
.string "Anyway, what do you think?\n"
.string "Do you want to be interviewed again?$"
+Route111_Text_28B3F3: @ 0828B3F3
.string "Anyway, what do you think?\n"
.string "Do you want to be interviewed again?$"
+Route111_Text_28B433: @ 0828B433
.string "You will?\n"
.string "Thank you!\p"
.string "Okay, I need you to describe your\n"
.string "feelings about our battle, but it\l"
.string "has to be short and sweet. Go!$"
+Route111_Text_28B4AB: @ 0828B4AB
.string "GABBY: Mmm, yeah!\n"
.string "That’s the perfect clincher!\p"
.string "I get the feeling that this will make\n"
@@ -2681,16 +2776,24 @@ gTVPokemonBattleUpdateText07:: @ 0828AE26
.string "Okay!\n"
.string "We’ll be seeing you!$"
+Route111_Text_28B577: @ 0828B577
.string "GABBY: Oh…\p"
.string "Okay, but don’t give up!\n"
.string "We’ll be keeping an eye out for you!$"
+Route111_Text_28B5C0: @ 0828B5C0
+Route118_Text_28B5C0: @ 0828B5C0
+Route120_Text_28B5C0: @ 0828B5C0
.string "GABBY: We’ll be keeping an eye out\n"
.string "for you!$"
+Route111_Text_28B5EC: @ 0828B5EC
+Route118_Text_28B5EC: @ 0828B5EC
+Route120_Text_28B5EC: @ 0828B5EC
.string "GABBY: Is there a strong TRAINER\n"
.string "anywhere with a lot of POKéMON?$"
+Route111_Text_28B62D: @ 0828B62D
.string "GABBY: Wow, you are something!\p"
.string "You’ve gotten a lot stronger--a lot--\n"
.string "since we last battled.\p"
@@ -2700,29 +2803,46 @@ gTVPokemonBattleUpdateText07:: @ 0828AE26
.string "Are you willing to give us an interview\l"
.string "this time?$"
+Route111_Text_28B719: @ 0828B719
+Route118_Text_28B719: @ 0828B719
+Route120_Text_28B719: @ 0828B719
.string "GABBY: That was an intense battle!\n"
.string "Did you get all that on camera?$"
+Route111_Text_28B75C: @ 0828B75C
.string "TY: Hey, lookie here! A tough-looking\n"
.string "TRAINER here, of all places!\l"
.string "Camera’s rolling!$"
+Route111_Text_28B7B1: @ 0828B7B1
+Route118_Text_28B7B1: @ 0828B7B1
+Route120_Text_28B7B1: @ 0828B7B1
.string "TY: Hey, lookie here!\n"
.string "I remember you!\p"
.string "I’ll get this battle all on this\n"
.string "here camera!$"
+Route111_Text_28B805: @ 0828B805
+Route118_Text_28B805: @ 0828B805
+Route120_Text_28B805: @ 0828B805
.string "TY: You’re a natural!\n"
.string "Got me some prime footage right here!$"
+Route111_Text_28B841: @ 0828B841
+Route118_Text_28B841: @ 0828B841
+Route120_Text_28B841: @ 0828B841
.string "TY: Do you only have the one POKéMON\n"
.string "and that’s it?\p"
.string "If you had more POKéMON, it’d make for\n"
.string "better footage, but…$"
+Route111_Text_28B8B1: @ 0828B8B1
.string "TY: Yep, we sure spotted a hot TRAINER.\n"
.string "This is a huge scoop for us!$"
+Route111_Text_28B8F6: @ 0828B8F6
+Route118_Text_28B8F6: @ 0828B8F6
+Route120_Text_28B8F6: @ 0828B8F6
.string "TY: Yep, I got it all.\n"
.string "That whole battle’s on camera.$"
diff --git a/data/tilesets.s b/data/tilesets.s
new file mode 100644
index 000000000..443686234
--- /dev/null
+++ b/data/tilesets.s
@@ -0,0 +1,8 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .include "data/tilesets/graphics.inc"
+ .include "data/tilesets/metatiles.inc"
+ .include "data/tilesets/headers.inc"
diff --git a/data/tilesets/tileset_graphics.inc b/data/tilesets/graphics.inc
index 2d1ddb1f9..c7e6d15b0 100644
--- a/data/tilesets/tileset_graphics.inc
+++ b/data/tilesets/graphics.inc
@@ -345,26 +345,26 @@ gTilesetPalettes_BattleFrontierOutsideEast:: @ 834F984
.align 2
gTilesetTiles_InsideBuilding:: @ 834FB84
- .incbin "data/tilesets/primary/inside_building/tiles.4bpp.lz"
+ .incbin "data/tilesets/primary/building/tiles.4bpp.lz"
.align 2
gTilesetPalettes_InsideBuilding:: @ 83508BC
- .incbin "data/tilesets/primary/inside_building/palettes/00.gbapal"
- .incbin "data/tilesets/primary/inside_building/palettes/01.gbapal"
- .incbin "data/tilesets/primary/inside_building/palettes/02.gbapal"
- .incbin "data/tilesets/primary/inside_building/palettes/03.gbapal"
- .incbin "data/tilesets/primary/inside_building/palettes/04.gbapal"
- .incbin "data/tilesets/primary/inside_building/palettes/05.gbapal"
- .incbin "data/tilesets/primary/inside_building/palettes/06.gbapal"
- .incbin "data/tilesets/primary/inside_building/palettes/07.gbapal"
- .incbin "data/tilesets/primary/inside_building/palettes/08.gbapal"
- .incbin "data/tilesets/primary/inside_building/palettes/09.gbapal"
- .incbin "data/tilesets/primary/inside_building/palettes/10.gbapal"
- .incbin "data/tilesets/primary/inside_building/palettes/11.gbapal"
- .incbin "data/tilesets/primary/inside_building/palettes/12.gbapal"
- .incbin "data/tilesets/primary/inside_building/palettes/13.gbapal"
- .incbin "data/tilesets/primary/inside_building/palettes/14.gbapal"
- .incbin "data/tilesets/primary/inside_building/palettes/15.gbapal"
+ .incbin "data/tilesets/primary/building/palettes/00.gbapal"
+ .incbin "data/tilesets/primary/building/palettes/01.gbapal"
+ .incbin "data/tilesets/primary/building/palettes/02.gbapal"
+ .incbin "data/tilesets/primary/building/palettes/03.gbapal"
+ .incbin "data/tilesets/primary/building/palettes/04.gbapal"
+ .incbin "data/tilesets/primary/building/palettes/05.gbapal"
+ .incbin "data/tilesets/primary/building/palettes/06.gbapal"
+ .incbin "data/tilesets/primary/building/palettes/07.gbapal"
+ .incbin "data/tilesets/primary/building/palettes/08.gbapal"
+ .incbin "data/tilesets/primary/building/palettes/09.gbapal"
+ .incbin "data/tilesets/primary/building/palettes/10.gbapal"
+ .incbin "data/tilesets/primary/building/palettes/11.gbapal"
+ .incbin "data/tilesets/primary/building/palettes/12.gbapal"
+ .incbin "data/tilesets/primary/building/palettes/13.gbapal"
+ .incbin "data/tilesets/primary/building/palettes/14.gbapal"
+ .incbin "data/tilesets/primary/building/palettes/15.gbapal"
.align 2
gTilesetTiles_Shop:: @ 8350ABC
diff --git a/data/tilesets/tilesets.inc b/data/tilesets/headers.inc
index a342dc973..2083e17df 100644
--- a/data/tilesets/tilesets.inc
+++ b/data/tilesets/headers.inc
@@ -175,7 +175,7 @@ gTileset_BattleFrontierOutsideEast:: @ 83DF86C
.4byte TilesetCb_BattleFrontierOutsideEast
.align 2
-gTileset_InsideBuilding:: @ 83DF884
+gTileset_Building:: @ 83DF884
.byte TRUE @ is compressed
.byte FALSE @ is secondary tileset
.2byte 0 @ padding
diff --git a/data/tilesets/metatiles.inc b/data/tilesets/metatiles.inc
index 0d6a75afd..1d0875147 100644
--- a/data/tilesets/metatiles.inc
+++ b/data/tilesets/metatiles.inc
@@ -1,559 +1,559 @@
.align 1
gMetatiles_General:: @ 83960F0
- .incbin "baserom.gba", 0x3960f0, 0x2000
+ .incbin "data/tilesets/primary/general/metatiles.bin"
.align 1
gMetatileAttributes_General:: @ 83980F0
- .incbin "baserom.gba", 0x3980f0, 0x400
+ .incbin "data/tilesets/primary/general/metatile_attributes.bin"
.align 1
gMetatiles_Petalburg:: @ 83984F0
- .incbin "baserom.gba", 0x3984f0, 0x900
+ .incbin "data/tilesets/secondary/petalburg/metatiles.bin"
.align 1
gMetatileAttributes_Petalburg:: @ 8398DF0
- .incbin "baserom.gba", 0x398df0, 0x120
+ .incbin "data/tilesets/secondary/petalburg/metatile_attributes.bin"
.align 1
gMetatiles_Rustboro:: @ 8398F10
- .incbin "baserom.gba", 0x398f10, 0x15e0
+ .incbin "data/tilesets/secondary/rustboro/metatiles.bin"
.align 1
gMetatileAttributes_Rustboro:: @ 839A4F0
- .incbin "baserom.gba", 0x39a4f0, 0x2bc
+ .incbin "data/tilesets/secondary/rustboro/metatile_attributes.bin"
.align 1
gMetatiles_Dewford:: @ 839A7AC
- .incbin "baserom.gba", 0x39a7ac, 0x17b0
+ .incbin "data/tilesets/secondary/dewford/metatiles.bin"
.align 1
gMetatileAttributes_Dewford:: @ 839BF5C
- .incbin "baserom.gba", 0x39bf5c, 0x2f6
+ .incbin "data/tilesets/secondary/dewford/metatile_attributes.bin"
.align 1
gMetatiles_Slateport:: @ 839C252
- .incbin "baserom.gba", 0x39c252, 0x1960
+ .incbin "data/tilesets/secondary/slateport/metatiles.bin"
.align 1
gMetatileAttributes_Slateport:: @ 839DBB2
- .incbin "baserom.gba", 0x39dbb2, 0x32c
+ .incbin "data/tilesets/secondary/slateport/metatile_attributes.bin"
.align 1
gMetatiles_Mauville:: @ 839DEDE
- .incbin "baserom.gba", 0x39dede, 0x1fe0
+ .incbin "data/tilesets/secondary/mauville/metatiles.bin"
.align 1
gMetatileAttributes_Mauville:: @ 839FEBE
- .incbin "baserom.gba", 0x39febe, 0x3fc
+ .incbin "data/tilesets/secondary/mauville/metatile_attributes.bin"
.align 1
gMetatiles_Lavaridge:: @ 83A02BA
- .incbin "baserom.gba", 0x3a02ba, 0x1b90
+ .incbin "data/tilesets/secondary/lavaridge/metatiles.bin"
.align 1
gMetatileAttributes_Lavaridge:: @ 83A1E4A
- .incbin "baserom.gba", 0x3a1e4a, 0x372
+ .incbin "data/tilesets/secondary/lavaridge/metatile_attributes.bin"
.align 1
gMetatiles_Fallarbor:: @ 83A21BC
- .incbin "baserom.gba", 0x3a21bc, 0x16f0
+ .incbin "data/tilesets/secondary/fallarbor/metatiles.bin"
.align 1
gMetatileAttributes_Fallarbor:: @ 83A38AC
- .incbin "baserom.gba", 0x3a38ac, 0x2de
+ .incbin "data/tilesets/secondary/fallarbor/metatile_attributes.bin"
.align 1
gMetatiles_Fortree:: @ 83A3B8A
- .incbin "baserom.gba", 0x3a3b8a, 0x1180
+ .incbin "data/tilesets/secondary/fortree/metatiles.bin"
.align 1
gMetatileAttributes_Fortree:: @ 83A4D0A
- .incbin "baserom.gba", 0x3a4d0a, 0x230
+ .incbin "data/tilesets/secondary/fortree/metatile_attributes.bin"
.align 1
gMetatiles_Lilycove:: @ 83A4F3A
- .incbin "baserom.gba", 0x3a4f3a, 0x15f0
+ .incbin "data/tilesets/secondary/lilycove/metatiles.bin"
.align 1
gMetatileAttributes_Lilycove:: @ 83A652A
- .incbin "baserom.gba", 0x3a652a, 0x2be
+ .incbin "data/tilesets/secondary/lilycove/metatile_attributes.bin"
.align 1
gMetatiles_Mossdeep:: @ 83A67E8
- .incbin "baserom.gba", 0x3a67e8, 0x1c60
+ .incbin "data/tilesets/secondary/mossdeep/metatiles.bin"
.align 1
gMetatileAttributes_Mossdeep:: @ 83A8448
- .incbin "baserom.gba", 0x3a8448, 0x38c
+ .incbin "data/tilesets/secondary/mossdeep/metatile_attributes.bin"
.align 1
gMetatiles_EverGrande:: @ 83A87D4
- .incbin "baserom.gba", 0x3a87d4, 0xa80
+ .incbin "data/tilesets/secondary/ever_grande/metatiles.bin"
.align 1
gMetatileAttributes_EverGrande:: @ 83A9254
- .incbin "baserom.gba", 0x3a9254, 0x150
+ .incbin "data/tilesets/secondary/ever_grande/metatile_attributes.bin"
.align 1
gMetatiles_Pacifidlog:: @ 83A93A4
- .incbin "baserom.gba", 0x3a93a4, 0xcb0
+ .incbin "data/tilesets/secondary/pacifidlog/metatiles.bin"
.align 1
gMetatileAttributes_Pacifidlog:: @ 83AA054
- .incbin "baserom.gba", 0x3aa054, 0x196
+ .incbin "data/tilesets/secondary/pacifidlog/metatile_attributes.bin"
.align 1
gMetatiles_Sootopolis:: @ 83AA1EA
- .incbin "baserom.gba", 0x3aa1ea, 0xfe0
+ .incbin "data/tilesets/secondary/sootopolis/metatiles.bin"
.align 1
gMetatileAttributes_Sootopolis:: @ 83AB1CA
- .incbin "baserom.gba", 0x3ab1ca, 0x1fc
+ .incbin "data/tilesets/secondary/sootopolis/metatile_attributes.bin"
.align 1
gMetatiles_BattleFrontierOutsideWest:: @ 83AB3C6
- .incbin "baserom.gba", 0x3ab3c6, 0x1fe0
+ .incbin "data/tilesets/secondary/battle_frontier_outside_west/metatiles.bin"
.align 1
gMetatileAttributes_BattleFrontierOutsideWest:: @ 83AD3A6
- .incbin "baserom.gba", 0x3ad3a6, 0x3fc
+ .incbin "data/tilesets/secondary/battle_frontier_outside_west/metatile_attributes.bin"
.align 1
gMetatiles_BattleFrontierOutsideEast:: @ 83AD7A2
- .incbin "baserom.gba", 0x3ad7a2, 0x1fe0
+ .incbin "data/tilesets/secondary/battle_frontier_outside_east/metatiles.bin"
.align 1
gMetatileAttributes_BattleFrontierOutsideEast:: @ 83AF782
- .incbin "baserom.gba", 0x3af782, 0x3fc
+ .incbin "data/tilesets/secondary/battle_frontier_outside_east/metatile_attributes.bin"
.align 1
gMetatiles_InsideBuilding:: @ 83AFB7E
- .incbin "baserom.gba", 0x3afb7e, 0x80
+ .incbin "data/tilesets/primary/building/metatiles.bin"
.align 1
gMetatileAttributes_InsideBuilding:: @ 83AFBFE
- .incbin "baserom.gba", 0x3afbfe, 0x10
+ .incbin "data/tilesets/primary/building/metatile_attributes.bin"
.align 1
gMetatiles_Shop:: @ 83AFC0E
- .incbin "baserom.gba", 0x3afc0e, 0x1210
+ .incbin "data/tilesets/secondary/shop/metatiles.bin"
.align 1
gMetatileAttributes_Shop:: @ 83B0E1E
- .incbin "baserom.gba", 0x3b0e1e, 0x242
+ .incbin "data/tilesets/secondary/shop/metatile_attributes.bin"
.align 1
gMetatiles_PokemonCenter:: @ 83B1060
- .incbin "baserom.gba", 0x3b1060, 0xe80
+ .incbin "data/tilesets/secondary/pokemon_center/metatiles.bin"
.align 1
gMetatileAttributes_PokemonCenter:: @ 83B1EE0
- .incbin "baserom.gba", 0x3b1ee0, 0x1d0
+ .incbin "data/tilesets/secondary/pokemon_center/metatile_attributes.bin"
.align 1
gMetatiles_Cave:: @ 83B20B0
- .incbin "baserom.gba", 0x3b20b0, 0x19e0
+ .incbin "data/tilesets/secondary/cave/metatiles.bin"
.align 1
gMetatileAttributes_Cave:: @ 83B3A90
- .incbin "baserom.gba", 0x3b3a90, 0x33c
+ .incbin "data/tilesets/secondary/cave/metatile_attributes.bin"
.align 1
gMetatiles_PokemonSchool:: @ 83B3DCC
- .incbin "baserom.gba", 0x3b3dcc, 0x3a0
+ .incbin "data/tilesets/secondary/pokemon_school/metatiles.bin"
.align 1
gMetatileAttributes_PokemonSchool:: @ 83B416C
- .incbin "baserom.gba", 0x3b416c, 0x74
+ .incbin "data/tilesets/secondary/pokemon_school/metatile_attributes.bin"
.align 1
gMetatiles_PokemonFanClub:: @ 83B41E0
- .incbin "baserom.gba", 0x3b41e0, 0x680
+ .incbin "data/tilesets/secondary/pokemon_fan_club/metatiles.bin"
.align 1
gMetatileAttributes_PokemonFanClub:: @ 83B4860
- .incbin "baserom.gba", 0x3b4860, 0xd0
+ .incbin "data/tilesets/secondary/pokemon_fan_club/metatile_attributes.bin"
.align 1
gMetatiles_Unused1:: @ 83B4930
- .incbin "baserom.gba", 0x3b4930, 0x20
+ .incbin "data/tilesets/secondary/unused_1/metatiles.bin"
.align 1
gMetatileAttributes_Unused1:: @ 83B4950
- .incbin "baserom.gba", 0x3b4950, 0x4
+ .incbin "data/tilesets/secondary/unused_1/metatile_attributes.bin"
.align 1
gMetatiles_MeteorFalls:: @ 83B4954
- .incbin "baserom.gba", 0x3b4954, 0x9f0
+ .incbin "data/tilesets/secondary/meteor_falls/metatiles.bin"
.align 1
gMetatileAttributes_MeteorFalls:: @ 83B5344
- .incbin "baserom.gba", 0x3b5344, 0x13e
+ .incbin "data/tilesets/secondary/meteor_falls/metatile_attributes.bin"
.align 1
gMetatiles_OceanicMuseum:: @ 83B5482
- .incbin "baserom.gba", 0x3b5482, 0x7a0
+ .incbin "data/tilesets/secondary/oceanic_museum/metatiles.bin"
.align 1
gMetatileAttributes_OceanicMuseum:: @ 83B5C22
- .incbin "baserom.gba", 0x3b5c22, 0xf4
+ .incbin "data/tilesets/secondary/oceanic_museum/metatile_attributes.bin"
.align 1
gMetatiles_CableClub:: @ 83B5D16
- .incbin "baserom.gba", 0x3b5d16, 0x1000
+ .incbin "data/tilesets/secondary/cable_club/metatiles.bin"
.align 1
gMetatileAttributes_CableClub:: @ 83B6D16
- .incbin "baserom.gba", 0x3b6d16, 0x200
+ .incbin "data/tilesets/secondary/cable_club/metatile_attributes.bin"
.align 1
gMetatiles_SeashoreHouse:: @ 83B6F16
- .incbin "baserom.gba", 0x3b6f16, 0x380
+ .incbin "data/tilesets/secondary/seashore_house/metatiles.bin"
.align 1
gMetatileAttributes_SeashoreHouse:: @ 83B7296
- .incbin "baserom.gba", 0x3b7296, 0x70
+ .incbin "data/tilesets/secondary/seashore_house/metatile_attributes.bin"
.align 1
gMetatiles_PrettyPetalFlowerShop:: @ 83B7306
- .incbin "baserom.gba", 0x3b7306, 0x480
+ .incbin "data/tilesets/secondary/pretty_petal_flower_shop/metatiles.bin"
.align 1
gMetatileAttributes_PrettyPetalFlowerShop:: @ 83B7786
- .incbin "baserom.gba", 0x3b7786, 0x90
+ .incbin "data/tilesets/secondary/pretty_petal_flower_shop/metatile_attributes.bin"
.align 1
gMetatiles_PokemonDayCare:: @ 83B7816
- .incbin "baserom.gba", 0x3b7816, 0x440
+ .incbin "data/tilesets/secondary/pokemon_day_care/metatiles.bin"
.align 1
gMetatileAttributes_PokemonDayCare:: @ 83B7C56
- .incbin "baserom.gba", 0x3b7c56, 0x88
+ .incbin "data/tilesets/secondary/pokemon_day_care/metatile_attributes.bin"
.align 1
gMetatiles_Facility:: @ 83B7CDE
- .incbin "baserom.gba", 0x3b7cde, 0x1ff0
+ .incbin "data/tilesets/secondary/facility/metatiles.bin"
.align 1
gMetatileAttributes_Facility:: @ 83B9CCE
- .incbin "baserom.gba", 0x3b9cce, 0x3fe
+ .incbin "data/tilesets/secondary/facility/metatile_attributes.bin"
.align 1
gMetatiles_BikeShop:: @ 83BA0CC
- .incbin "baserom.gba", 0x3ba0cc, 0xf80
+ .incbin "data/tilesets/secondary/bike_shop/metatiles.bin"
.align 1
gMetatileAttributes_BikeShop:: @ 83BB04C
- .incbin "baserom.gba", 0x3bb04c, 0x1f0
+ .incbin "data/tilesets/secondary/bike_shop/metatile_attributes.bin"
.align 1
gMetatiles_RusturfTunnel:: @ 83BB23C
- .incbin "baserom.gba", 0x3bb23c, 0x530
+ .incbin "data/tilesets/secondary/rusturf_tunnel/metatiles.bin"
.align 1
gMetatileAttributes_RusturfTunnel:: @ 83BB76C
- .incbin "baserom.gba", 0x3bb76c, 0xa6
+ .incbin "data/tilesets/secondary/rusturf_tunnel/metatile_attributes.bin"
.align 1
gMetatiles_SecretBaseSecondary:: @ 83BB812
- .incbin "baserom.gba", 0x3bb812, 0x1440
+ .incbin "data/tilesets/secondary/secret_base/metatiles.bin"
.align 1
gMetatileAttributes_SecretBaseSecondary:: @ 83BCC52
- .incbin "baserom.gba", 0x3bcc52, 0x288
+ .incbin "data/tilesets/secondary/secret_base/metatile_attributes.bin"
.align 1
gMetatiles_InsideOfTruck:: @ 83BCEDA
- .incbin "baserom.gba", 0x3bceda, 0x260
+ .incbin "data/tilesets/secondary/inside_of_truck/metatiles.bin"
.align 1
gMetatileAttributes_InsideOfTruck:: @ 83BD13A
- .incbin "baserom.gba", 0x3bd13a, 0x4c
+ .incbin "data/tilesets/secondary/inside_of_truck/metatile_attributes.bin"
.align 1
gMetatiles_Contest:: @ 83BD186
- .incbin "baserom.gba", 0x3bd186, 0xe90
+ .incbin "data/tilesets/secondary/contest/metatiles.bin"
.align 1
gMetatileAttributes_Contest:: @ 83BE016
- .incbin "baserom.gba", 0x3be016, 0x1d2
+ .incbin "data/tilesets/secondary/contest/metatile_attributes.bin"
.align 1
gMetatiles_LilycoveMuseum:: @ 83BE1E8
- .incbin "baserom.gba", 0x3be1e8, 0x8f0
+ .incbin "data/tilesets/secondary/lilycove_museum/metatiles.bin"
.align 1
gMetatileAttributes_LilycoveMuseum:: @ 83BEAD8
- .incbin "baserom.gba", 0x3bead8, 0x11e
+ .incbin "data/tilesets/secondary/lilycove_museum/metatile_attributes.bin"
.align 1
gMetatiles_BrendansMaysHouse:: @ 83BEBF6
- .incbin "baserom.gba", 0x3bebf6, 0xc40
+ .incbin "data/tilesets/secondary/brendans_mays_house/metatiles.bin"
.align 1
gMetatileAttributes_BrendansMaysHouse:: @ 83BF836
- .incbin "baserom.gba", 0x3bf836, 0x188
+ .incbin "data/tilesets/secondary/brendans_mays_house/metatile_attributes.bin"
.align 1
gMetatiles_Lab:: @ 83BF9BE
- .incbin "baserom.gba", 0x3bf9be, 0x9e0
+ .incbin "data/tilesets/secondary/lab/metatiles.bin"
.align 1
gMetatileAttributes_Lab:: @ 83C039E
- .incbin "baserom.gba", 0x3c039e, 0x13c
+ .incbin "data/tilesets/secondary/lab/metatile_attributes.bin"
.align 1
gMetatiles_Underwater:: @ 83C04DA
- .incbin "baserom.gba", 0x3c04da, 0xec0
+ .incbin "data/tilesets/secondary/underwater/metatiles.bin"
.align 1
gMetatileAttributes_Underwater:: @ 83C139A
- .incbin "baserom.gba", 0x3c139a, 0x1d8
+ .incbin "data/tilesets/secondary/underwater/metatile_attributes.bin"
.align 1
gMetatiles_GenericBuilding:: @ 83C1572
- .incbin "baserom.gba", 0x3c1572, 0x2000
+ .incbin "data/tilesets/secondary/generic_building/metatiles.bin"
.align 1
gMetatileAttributes_GenericBuilding:: @ 83C3572
- .incbin "baserom.gba", 0x3c3572, 0x400
+ .incbin "data/tilesets/secondary/generic_building/metatile_attributes.bin"
.align 1
gMetatiles_MauvilleGameCorner:: @ 83C3972
- .incbin "baserom.gba", 0x3c3972, 0x600
+ .incbin "data/tilesets/secondary/mauville_game_corner/metatiles.bin"
.align 1
gMetatileAttributes_MauvilleGameCorner:: @ 83C3F72
- .incbin "baserom.gba", 0x3c3f72, 0xc0
+ .incbin "data/tilesets/secondary/mauville_game_corner/metatile_attributes.bin"
.align 1
gMetatiles_Unused2:: @ 83C4032
- .incbin "baserom.gba", 0x3c4032, 0x3a0
+ .incbin "data/tilesets/secondary/unused_2/metatiles.bin"
.align 1
gMetatileAttributes_Unused2:: @ 83C43D2
- .incbin "baserom.gba", 0x3c43d2, 0x74
+ .incbin "data/tilesets/secondary/unused_2/metatile_attributes.bin"
.align 1
gMetatiles_RustboroGym:: @ 83C4446
- .incbin "baserom.gba", 0x3c4446, 0x380
+ .incbin "data/tilesets/secondary/rustboro_gym/metatiles.bin"
.align 1
gMetatileAttributes_RustboroGym:: @ 83C47C6
- .incbin "baserom.gba", 0x3c47c6, 0x70
+ .incbin "data/tilesets/secondary/rustboro_gym/metatile_attributes.bin"
.align 1
gMetatiles_DewfordGym:: @ 83C4836
- .incbin "baserom.gba", 0x3c4836, 0x450
+ .incbin "data/tilesets/secondary/dewford_gym/metatiles.bin"
.align 1
gMetatileAttributes_DewfordGym:: @ 83C4C86
- .incbin "baserom.gba", 0x3c4c86, 0x8a
+ .incbin "data/tilesets/secondary/dewford_gym/metatile_attributes.bin"
.align 1
gMetatiles_MauvilleGym:: @ 83C4D10
- .incbin "baserom.gba", 0x3c4d10, 0x750
+ .incbin "data/tilesets/secondary/mauville_gym/metatiles.bin"
.align 1
gMetatileAttributes_MauvilleGym:: @ 83C5460
- .incbin "baserom.gba", 0x3c5460, 0xea
+ .incbin "data/tilesets/secondary/mauville_gym/metatile_attributes.bin"
.align 1
gMetatiles_LavaridgeGym:: @ 83C554A
- .incbin "baserom.gba", 0x3c554a, 0x3d0
+ .incbin "data/tilesets/secondary/lavaridge_gym/metatiles.bin"
.align 1
gMetatileAttributes_LavaridgeGym:: @ 83C591A
- .incbin "baserom.gba", 0x3c591a, 0x7a
+ .incbin "data/tilesets/secondary/lavaridge_gym/metatile_attributes.bin"
.align 1
gMetatiles_PetalburgGym:: @ 83C5994
- .incbin "baserom.gba", 0x3c5994, 0xe00
+ .incbin "data/tilesets/secondary/petalburg_gym/metatiles.bin"
.align 1
gMetatileAttributes_PetalburgGym:: @ 83C6794
- .incbin "baserom.gba", 0x3c6794, 0x1c0
+ .incbin "data/tilesets/secondary/petalburg_gym/metatile_attributes.bin"
.align 1
gMetatiles_FortreeGym:: @ 83C6954
- .incbin "baserom.gba", 0x3c6954, 0x500
+ .incbin "data/tilesets/secondary/fortree_gym/metatiles.bin"
.align 1
gMetatileAttributes_FortreeGym:: @ 83C6E54
- .incbin "baserom.gba", 0x3c6e54, 0xa0
+ .incbin "data/tilesets/secondary/fortree_gym/metatile_attributes.bin"
.align 1
gMetatiles_MossdeepGym:: @ 83C6EF4
- .incbin "baserom.gba", 0x3c6ef4, 0x750
+ .incbin "data/tilesets/secondary/mossdeep_gym/metatiles.bin"
.align 1
gMetatileAttributes_MossdeepGym:: @ 83C7644
- .incbin "baserom.gba", 0x3c7644, 0xea
+ .incbin "data/tilesets/secondary/mossdeep_gym/metatile_attributes.bin"
.align 1
gMetatiles_SootopolisGym:: @ 83C772E
- .incbin "baserom.gba", 0x3c772e, 0x7a0
+ .incbin "data/tilesets/secondary/sootopolis_gym/metatiles.bin"
.align 1
gMetatileAttributes_SootopolisGym:: @ 83C7ECE
- .incbin "baserom.gba", 0x3c7ece, 0xf4
+ .incbin "data/tilesets/secondary/sootopolis_gym/metatile_attributes.bin"
.align 1
gMetatiles_TrickHousePuzzle:: @ 83C7FC2
- .incbin "baserom.gba", 0x3c7fc2, 0xbd0
+ .incbin "data/tilesets/secondary/trick_house_puzzle/metatiles.bin"
.align 1
gMetatileAttributes_TrickHousePuzzle:: @ 83C8B92
- .incbin "baserom.gba", 0x3c8b92, 0x17a
+ .incbin "data/tilesets/secondary/trick_house_puzzle/metatile_attributes.bin"
.align 1
gMetatiles_InsideShip:: @ 83C8D0C
- .incbin "baserom.gba", 0x3c8d0c, 0xfc0
+ .incbin "data/tilesets/secondary/inside_ship/metatiles.bin"
.align 1
gMetatileAttributes_InsideShip:: @ 83C9CCC
- .incbin "baserom.gba", 0x3c9ccc, 0x1f8
+ .incbin "data/tilesets/secondary/inside_ship/metatile_attributes.bin"
.align 1
gMetatiles_SecretBasePrimary:: @ 83C9EC4
- .incbin "baserom.gba", 0x3c9ec4, 0x20
+ .incbin "data/tilesets/primary/secret_base/metatiles.bin"
.align 1
gMetatileAttributes_SecretBasePrimary:: @ 83C9EE4
- .incbin "baserom.gba", 0x3c9ee4, 0x4
+ .incbin "data/tilesets/primary/secret_base/metatile_attributes.bin"
.align 1
gMetatiles_EliteFour:: @ 83C9EE8
- .incbin "baserom.gba", 0x3c9ee8, 0x14c0
+ .incbin "data/tilesets/secondary/elite_four/metatiles.bin"
.align 1
gMetatileAttributes_EliteFour:: @ 83CB3A8
- .incbin "baserom.gba", 0x3cb3a8, 0x298
+ .incbin "data/tilesets/secondary/elite_four/metatile_attributes.bin"
.align 1
gMetatiles_BattleFrontier:: @ 83CB640
- .incbin "baserom.gba", 0x3cb640, 0x1fd0
+ .incbin "data/tilesets/secondary/battle_frontier/metatiles.bin"
.align 1
gMetatileAttributes_BattleFrontier:: @ 83CD610
- .incbin "baserom.gba", 0x3cd610, 0x3fa
+ .incbin "data/tilesets/secondary/battle_frontier/metatile_attributes.bin"
.align 1
gMetatiles_BattlePalace:: @ 83CDA0A
- .incbin "baserom.gba", 0x3cda0a, 0xae0
+ .incbin "data/tilesets/secondary/battle_palace/metatiles.bin"
.align 1
gMetatileAttributes_BattlePalace:: @ 83CE4EA
- .incbin "baserom.gba", 0x3ce4ea, 0x15c
+ .incbin "data/tilesets/secondary/battle_palace/metatile_attributes.bin"
.align 1
gMetatiles_BattleDome:: @ 83CE646
- .incbin "baserom.gba", 0x3ce646, 0x1ab0
+ .incbin "data/tilesets/secondary/battle_dome/metatiles.bin"
.align 1
gMetatileAttributes_BattleDome:: @ 83D00F6
- .incbin "baserom.gba", 0x3d00f6, 0x356
+ .incbin "data/tilesets/secondary/battle_dome/metatile_attributes.bin"
.align 1
gMetatiles_BattleFactory:: @ 83D044C
- .incbin "baserom.gba", 0x3d044c, 0x1620
+ .incbin "data/tilesets/secondary/battle_factory/metatiles.bin"
.align 1
gMetatileAttributes_BattleFactory:: @ 83D1A6C
- .incbin "baserom.gba", 0x3d1a6c, 0x2c4
+ .incbin "data/tilesets/secondary/battle_factory/metatile_attributes.bin"
.align 1
gMetatiles_BattlePike:: @ 83D1D30
- .incbin "baserom.gba", 0x3d1d30, 0x15b0
+ .incbin "data/tilesets/secondary/battle_pike/metatiles.bin"
.align 1
gMetatileAttributes_BattlePike:: @ 83D32E0
- .incbin "baserom.gba", 0x3d32e0, 0x2b6
+ .incbin "data/tilesets/secondary/battle_pike/metatile_attributes.bin"
.align 1
gMetatiles_BattleArena:: @ 83D3596
- .incbin "baserom.gba", 0x3d3596, 0xb10
+ .incbin "data/tilesets/secondary/battle_arena/metatiles.bin"
.align 1
gMetatileAttributes_BattleArena:: @ 83D40A6
- .incbin "baserom.gba", 0x3d40a6, 0x162
+ .incbin "data/tilesets/secondary/battle_arena/metatile_attributes.bin"
.align 1
gMetatiles_BattlePyramid:: @ 83D4208
- .incbin "baserom.gba", 0x3d4208, 0xdd0
+ .incbin "data/tilesets/secondary/battle_pyramid/metatiles.bin"
.align 1
gMetatileAttributes_BattlePyramid:: @ 83D4FD8
- .incbin "baserom.gba", 0x3d4fd8, 0x1ba
+ .incbin "data/tilesets/secondary/battle_pyramid/metatile_attributes.bin"
.align 1
gMetatiles_MirageTower:: @ 83D5192
- .incbin "baserom.gba", 0x3d5192, 0x19e0
+ .incbin "data/tilesets/secondary/mirage_tower/metatiles.bin"
.align 1
gMetatileAttributes_MirageTower:: @ 83D6B72
- .incbin "baserom.gba", 0x3d6b72, 0x33c
+ .incbin "data/tilesets/secondary/mirage_tower/metatile_attributes.bin"
.align 1
gMetatiles_MossdeepGameCorner:: @ 83D6EAE
- .incbin "baserom.gba", 0x3d6eae, 0x350
+ .incbin "data/tilesets/secondary/mossdeep_game_corner/metatiles.bin"
.align 1
gMetatileAttributes_MossdeepGameCorner:: @ 83D71FE
- .incbin "baserom.gba", 0x3d71fe, 0x6a
+ .incbin "data/tilesets/secondary/mossdeep_game_corner/metatile_attributes.bin"
.align 1
gMetatiles_IslandHarbor:: @ 83D7268
- .incbin "baserom.gba", 0x3d7268, 0x1d60
+ .incbin "data/tilesets/secondary/island_harbor/metatiles.bin"
.align 1
gMetatileAttributes_IslandHarbor:: @ 83D8FC8
- .incbin "baserom.gba", 0x3d8fc8, 0x3ac
+ .incbin "data/tilesets/secondary/island_harbor/metatile_attributes.bin"
.align 1
gMetatiles_TrainerHill:: @ 83D9374
- .incbin "baserom.gba", 0x3d9374, 0x1e60
+ .incbin "data/tilesets/secondary/trainer_hill/metatiles.bin"
.align 1
gMetatileAttributes_TrainerHill:: @ 83DB1D4
- .incbin "baserom.gba", 0x3db1d4, 0x3cc
+ .incbin "data/tilesets/secondary/trainer_hill/metatile_attributes.bin"
.align 1
gMetatiles_NavelRock:: @ 83DB5A0
- .incbin "baserom.gba", 0x3db5a0, 0x1c30
+ .incbin "data/tilesets/secondary/navel_rock/metatiles.bin"
.align 1
gMetatileAttributes_NavelRock:: @ 83DD1D0
- .incbin "baserom.gba", 0x3dd1d0, 0x386
+ .incbin "data/tilesets/secondary/navel_rock/metatile_attributes.bin"
.align 1
gMetatiles_BattleFrontierRankingHall:: @ 83DD556
- .incbin "baserom.gba", 0x3dd556, 0x5e0
+ .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/metatiles.bin"
.align 1
gMetatileAttributes_BattleFrontierRankingHall:: @ 83DDB36
- .incbin "baserom.gba", 0x3ddb36, 0xbc
+ .incbin "data/tilesets/secondary/battle_frontier_ranking_hall/metatile_attributes.bin"
.align 1
gMetatiles_BattleTent:: @ 83DDBF2
- .incbin "baserom.gba", 0x3ddbf2, 0x10d0
+ .incbin "data/tilesets/secondary/battle_tent/metatiles.bin"
.align 1
gMetatileAttributes_BattleTent:: @ 83DECC2
- .incbin "baserom.gba", 0x3decc2, 0x21a
+ .incbin "data/tilesets/secondary/battle_tent/metatile_attributes.bin"
.align 1
gMetatiles_MysteryEventsHouse:: @ 83DEEDC
- .incbin "baserom.gba", 0x3deedc, 0x430
+ .incbin "data/tilesets/secondary/mystery_events_house/metatiles.bin"
.align 1
gMetatileAttributes_MysteryEventsHouse:: @ 83DF30C
- .incbin "baserom.gba", 0x3df30c, 0x86
+ .incbin "data/tilesets/secondary/mystery_events_house/metatile_attributes.bin"
.align 1
gMetatiles_UnionRoom:: @ 83DF392
- .incbin "baserom.gba", 0x3df392, 0x310
+ .incbin "data/tilesets/secondary/union_room/metatiles.bin"
.align 1
gMetatileAttributes_UnionRoom:: @ 83DF6A2
- .incbin "baserom.gba", 0x3df6a2, 0x62
+ .incbin "data/tilesets/secondary/union_room/metatile_attributes.bin"
diff --git a/data/tilesets/primary/building/metatile_attributes.bin b/data/tilesets/primary/building/metatile_attributes.bin
new file mode 100644
index 000000000..efc3708aa
--- /dev/null
+++ b/data/tilesets/primary/building/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/primary/building/metatiles.bin b/data/tilesets/primary/building/metatiles.bin
new file mode 100644
index 000000000..21830728c
--- /dev/null
+++ b/data/tilesets/primary/building/metatiles.bin
Binary files differ
diff --git a/data/tilesets/primary/inside_building/palettes/00.pal b/data/tilesets/primary/building/palettes/00.pal
index ca016289c..ca016289c 100644
--- a/data/tilesets/primary/inside_building/palettes/00.pal
+++ b/data/tilesets/primary/building/palettes/00.pal
diff --git a/data/tilesets/primary/inside_building/palettes/01.pal b/data/tilesets/primary/building/palettes/01.pal
index 0b01f1a0f..0b01f1a0f 100644
--- a/data/tilesets/primary/inside_building/palettes/01.pal
+++ b/data/tilesets/primary/building/palettes/01.pal
diff --git a/data/tilesets/primary/inside_building/palettes/02.pal b/data/tilesets/primary/building/palettes/02.pal
index 410d5193a..410d5193a 100644
--- a/data/tilesets/primary/inside_building/palettes/02.pal
+++ b/data/tilesets/primary/building/palettes/02.pal
diff --git a/data/tilesets/primary/inside_building/palettes/03.pal b/data/tilesets/primary/building/palettes/03.pal
index 410d5193a..410d5193a 100644
--- a/data/tilesets/primary/inside_building/palettes/03.pal
+++ b/data/tilesets/primary/building/palettes/03.pal
diff --git a/data/tilesets/primary/inside_building/palettes/04.pal b/data/tilesets/primary/building/palettes/04.pal
index 410d5193a..410d5193a 100644
--- a/data/tilesets/primary/inside_building/palettes/04.pal
+++ b/data/tilesets/primary/building/palettes/04.pal
diff --git a/data/tilesets/primary/inside_building/palettes/05.pal b/data/tilesets/primary/building/palettes/05.pal
index b5001d726..b5001d726 100644
--- a/data/tilesets/primary/inside_building/palettes/05.pal
+++ b/data/tilesets/primary/building/palettes/05.pal
diff --git a/data/tilesets/primary/inside_building/palettes/06.pal b/data/tilesets/primary/building/palettes/06.pal
index 4b0812f09..4b0812f09 100644
--- a/data/tilesets/primary/inside_building/palettes/06.pal
+++ b/data/tilesets/primary/building/palettes/06.pal
diff --git a/data/tilesets/primary/inside_building/palettes/07.pal b/data/tilesets/primary/building/palettes/07.pal
index 4b0812f09..4b0812f09 100644
--- a/data/tilesets/primary/inside_building/palettes/07.pal
+++ b/data/tilesets/primary/building/palettes/07.pal
diff --git a/data/tilesets/primary/inside_building/palettes/08.pal b/data/tilesets/primary/building/palettes/08.pal
index 4b0812f09..4b0812f09 100644
--- a/data/tilesets/primary/inside_building/palettes/08.pal
+++ b/data/tilesets/primary/building/palettes/08.pal
diff --git a/data/tilesets/primary/inside_building/palettes/09.pal b/data/tilesets/primary/building/palettes/09.pal
index 4b0812f09..4b0812f09 100644
--- a/data/tilesets/primary/inside_building/palettes/09.pal
+++ b/data/tilesets/primary/building/palettes/09.pal
diff --git a/data/tilesets/primary/inside_building/palettes/10.pal b/data/tilesets/primary/building/palettes/10.pal
index 4b0812f09..4b0812f09 100644
--- a/data/tilesets/primary/inside_building/palettes/10.pal
+++ b/data/tilesets/primary/building/palettes/10.pal
diff --git a/data/tilesets/primary/inside_building/palettes/11.pal b/data/tilesets/primary/building/palettes/11.pal
index 4b0812f09..4b0812f09 100644
--- a/data/tilesets/primary/inside_building/palettes/11.pal
+++ b/data/tilesets/primary/building/palettes/11.pal
diff --git a/data/tilesets/primary/inside_building/palettes/12.pal b/data/tilesets/primary/building/palettes/12.pal
index 4b0812f09..4b0812f09 100644
--- a/data/tilesets/primary/inside_building/palettes/12.pal
+++ b/data/tilesets/primary/building/palettes/12.pal
diff --git a/data/tilesets/primary/inside_building/palettes/13.pal b/data/tilesets/primary/building/palettes/13.pal
index 4b0812f09..4b0812f09 100644
--- a/data/tilesets/primary/inside_building/palettes/13.pal
+++ b/data/tilesets/primary/building/palettes/13.pal
diff --git a/data/tilesets/primary/inside_building/palettes/14.pal b/data/tilesets/primary/building/palettes/14.pal
index 4b0812f09..4b0812f09 100644
--- a/data/tilesets/primary/inside_building/palettes/14.pal
+++ b/data/tilesets/primary/building/palettes/14.pal
diff --git a/data/tilesets/primary/inside_building/palettes/15.pal b/data/tilesets/primary/building/palettes/15.pal
index 4b0812f09..4b0812f09 100644
--- a/data/tilesets/primary/inside_building/palettes/15.pal
+++ b/data/tilesets/primary/building/palettes/15.pal
diff --git a/data/tilesets/primary/inside_building/tiles.png b/data/tilesets/primary/building/tiles.png
index 506bb7400..506bb7400 100644
--- a/data/tilesets/primary/inside_building/tiles.png
+++ b/data/tilesets/primary/building/tiles.png
Binary files differ
diff --git a/data/tilesets/primary/general/metatile_attributes.bin b/data/tilesets/primary/general/metatile_attributes.bin
new file mode 100644
index 000000000..d9cd29016
--- /dev/null
+++ b/data/tilesets/primary/general/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/primary/general/metatiles.bin b/data/tilesets/primary/general/metatiles.bin
new file mode 100644
index 000000000..af899bcc5
--- /dev/null
+++ b/data/tilesets/primary/general/metatiles.bin
Binary files differ
diff --git a/data/tilesets/primary/secret_base/metatile_attributes.bin b/data/tilesets/primary/secret_base/metatile_attributes.bin
new file mode 100644
index 000000000..593f4708d
--- /dev/null
+++ b/data/tilesets/primary/secret_base/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/primary/secret_base/metatiles.bin b/data/tilesets/primary/secret_base/metatiles.bin
new file mode 100644
index 000000000..2067e0970
--- /dev/null
+++ b/data/tilesets/primary/secret_base/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/battle_arena/metatile_attributes.bin b/data/tilesets/secondary/battle_arena/metatile_attributes.bin
new file mode 100644
index 000000000..848031abf
--- /dev/null
+++ b/data/tilesets/secondary/battle_arena/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/battle_arena/metatiles.bin b/data/tilesets/secondary/battle_arena/metatiles.bin
new file mode 100644
index 000000000..78de26298
--- /dev/null
+++ b/data/tilesets/secondary/battle_arena/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/battle_dome/metatile_attributes.bin b/data/tilesets/secondary/battle_dome/metatile_attributes.bin
new file mode 100644
index 000000000..1a89f83ed
--- /dev/null
+++ b/data/tilesets/secondary/battle_dome/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/battle_dome/metatiles.bin b/data/tilesets/secondary/battle_dome/metatiles.bin
new file mode 100644
index 000000000..86a5ea328
--- /dev/null
+++ b/data/tilesets/secondary/battle_dome/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/battle_factory/metatile_attributes.bin b/data/tilesets/secondary/battle_factory/metatile_attributes.bin
new file mode 100644
index 000000000..03254d8bb
--- /dev/null
+++ b/data/tilesets/secondary/battle_factory/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/battle_factory/metatiles.bin b/data/tilesets/secondary/battle_factory/metatiles.bin
new file mode 100644
index 000000000..b27334b40
--- /dev/null
+++ b/data/tilesets/secondary/battle_factory/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier/metatile_attributes.bin b/data/tilesets/secondary/battle_frontier/metatile_attributes.bin
new file mode 100644
index 000000000..38ae610e1
--- /dev/null
+++ b/data/tilesets/secondary/battle_frontier/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier/metatiles.bin b/data/tilesets/secondary/battle_frontier/metatiles.bin
new file mode 100644
index 000000000..ab033fb20
--- /dev/null
+++ b/data/tilesets/secondary/battle_frontier/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_east/metatile_attributes.bin b/data/tilesets/secondary/battle_frontier_outside_east/metatile_attributes.bin
new file mode 100644
index 000000000..e7f5d7977
--- /dev/null
+++ b/data/tilesets/secondary/battle_frontier_outside_east/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_east/metatiles.bin b/data/tilesets/secondary/battle_frontier_outside_east/metatiles.bin
new file mode 100644
index 000000000..d2e3a6995
--- /dev/null
+++ b/data/tilesets/secondary/battle_frontier_outside_east/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_west/metatile_attributes.bin b/data/tilesets/secondary/battle_frontier_outside_west/metatile_attributes.bin
new file mode 100644
index 000000000..a4b865a31
--- /dev/null
+++ b/data/tilesets/secondary/battle_frontier_outside_west/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_outside_west/metatiles.bin b/data/tilesets/secondary/battle_frontier_outside_west/metatiles.bin
new file mode 100644
index 000000000..b41be94da
--- /dev/null
+++ b/data/tilesets/secondary/battle_frontier_outside_west/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_ranking_hall/metatile_attributes.bin b/data/tilesets/secondary/battle_frontier_ranking_hall/metatile_attributes.bin
new file mode 100644
index 000000000..c3754f1ac
--- /dev/null
+++ b/data/tilesets/secondary/battle_frontier_ranking_hall/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/battle_frontier_ranking_hall/metatiles.bin b/data/tilesets/secondary/battle_frontier_ranking_hall/metatiles.bin
new file mode 100644
index 000000000..ed953f7c6
--- /dev/null
+++ b/data/tilesets/secondary/battle_frontier_ranking_hall/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/battle_palace/metatile_attributes.bin b/data/tilesets/secondary/battle_palace/metatile_attributes.bin
new file mode 100644
index 000000000..db79c4d6f
--- /dev/null
+++ b/data/tilesets/secondary/battle_palace/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/battle_palace/metatiles.bin b/data/tilesets/secondary/battle_palace/metatiles.bin
new file mode 100644
index 000000000..57bf79b06
--- /dev/null
+++ b/data/tilesets/secondary/battle_palace/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/battle_pike/metatile_attributes.bin b/data/tilesets/secondary/battle_pike/metatile_attributes.bin
new file mode 100644
index 000000000..91d81d4b5
--- /dev/null
+++ b/data/tilesets/secondary/battle_pike/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/battle_pike/metatiles.bin b/data/tilesets/secondary/battle_pike/metatiles.bin
new file mode 100644
index 000000000..cdd92f77a
--- /dev/null
+++ b/data/tilesets/secondary/battle_pike/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/metatile_attributes.bin b/data/tilesets/secondary/battle_pyramid/metatile_attributes.bin
new file mode 100644
index 000000000..e53975e50
--- /dev/null
+++ b/data/tilesets/secondary/battle_pyramid/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/battle_pyramid/metatiles.bin b/data/tilesets/secondary/battle_pyramid/metatiles.bin
new file mode 100644
index 000000000..ec48a26d6
--- /dev/null
+++ b/data/tilesets/secondary/battle_pyramid/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/battle_tent/metatile_attributes.bin b/data/tilesets/secondary/battle_tent/metatile_attributes.bin
new file mode 100644
index 000000000..656c3fd58
--- /dev/null
+++ b/data/tilesets/secondary/battle_tent/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/battle_tent/metatiles.bin b/data/tilesets/secondary/battle_tent/metatiles.bin
new file mode 100644
index 000000000..7b2c8739a
--- /dev/null
+++ b/data/tilesets/secondary/battle_tent/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/bike_shop/metatile_attributes.bin b/data/tilesets/secondary/bike_shop/metatile_attributes.bin
new file mode 100644
index 000000000..722085d98
--- /dev/null
+++ b/data/tilesets/secondary/bike_shop/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/bike_shop/metatiles.bin b/data/tilesets/secondary/bike_shop/metatiles.bin
new file mode 100644
index 000000000..2b334222c
--- /dev/null
+++ b/data/tilesets/secondary/bike_shop/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/brendans_mays_house/metatile_attributes.bin b/data/tilesets/secondary/brendans_mays_house/metatile_attributes.bin
new file mode 100644
index 000000000..d0b65a0e9
--- /dev/null
+++ b/data/tilesets/secondary/brendans_mays_house/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/brendans_mays_house/metatiles.bin b/data/tilesets/secondary/brendans_mays_house/metatiles.bin
new file mode 100644
index 000000000..14d79381b
--- /dev/null
+++ b/data/tilesets/secondary/brendans_mays_house/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/cable_club/metatile_attributes.bin b/data/tilesets/secondary/cable_club/metatile_attributes.bin
new file mode 100644
index 000000000..ce4ceaa28
--- /dev/null
+++ b/data/tilesets/secondary/cable_club/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/cable_club/metatiles.bin b/data/tilesets/secondary/cable_club/metatiles.bin
new file mode 100644
index 000000000..5d3345691
--- /dev/null
+++ b/data/tilesets/secondary/cable_club/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/cave/metatile_attributes.bin b/data/tilesets/secondary/cave/metatile_attributes.bin
new file mode 100644
index 000000000..91acdafed
--- /dev/null
+++ b/data/tilesets/secondary/cave/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/cave/metatiles.bin b/data/tilesets/secondary/cave/metatiles.bin
new file mode 100644
index 000000000..cc8b117e2
--- /dev/null
+++ b/data/tilesets/secondary/cave/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/contest/metatile_attributes.bin b/data/tilesets/secondary/contest/metatile_attributes.bin
new file mode 100644
index 000000000..66ac0a77b
--- /dev/null
+++ b/data/tilesets/secondary/contest/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/contest/metatiles.bin b/data/tilesets/secondary/contest/metatiles.bin
new file mode 100644
index 000000000..6920af351
--- /dev/null
+++ b/data/tilesets/secondary/contest/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/dewford/metatile_attributes.bin b/data/tilesets/secondary/dewford/metatile_attributes.bin
new file mode 100644
index 000000000..67ee25d40
--- /dev/null
+++ b/data/tilesets/secondary/dewford/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/dewford/metatiles.bin b/data/tilesets/secondary/dewford/metatiles.bin
new file mode 100644
index 000000000..728d5b632
--- /dev/null
+++ b/data/tilesets/secondary/dewford/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/dewford_gym/metatile_attributes.bin b/data/tilesets/secondary/dewford_gym/metatile_attributes.bin
new file mode 100644
index 000000000..c74938032
--- /dev/null
+++ b/data/tilesets/secondary/dewford_gym/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/dewford_gym/metatiles.bin b/data/tilesets/secondary/dewford_gym/metatiles.bin
new file mode 100644
index 000000000..c46924741
--- /dev/null
+++ b/data/tilesets/secondary/dewford_gym/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/metatile_attributes.bin b/data/tilesets/secondary/elite_four/metatile_attributes.bin
new file mode 100644
index 000000000..a7cf9b1fa
--- /dev/null
+++ b/data/tilesets/secondary/elite_four/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/elite_four/metatiles.bin b/data/tilesets/secondary/elite_four/metatiles.bin
new file mode 100644
index 000000000..6e3e24c7c
--- /dev/null
+++ b/data/tilesets/secondary/elite_four/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/ever_grande/metatile_attributes.bin b/data/tilesets/secondary/ever_grande/metatile_attributes.bin
new file mode 100644
index 000000000..173bf5619
--- /dev/null
+++ b/data/tilesets/secondary/ever_grande/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/ever_grande/metatiles.bin b/data/tilesets/secondary/ever_grande/metatiles.bin
new file mode 100644
index 000000000..3dff277f9
--- /dev/null
+++ b/data/tilesets/secondary/ever_grande/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/facility/metatile_attributes.bin b/data/tilesets/secondary/facility/metatile_attributes.bin
new file mode 100644
index 000000000..45637f7f2
--- /dev/null
+++ b/data/tilesets/secondary/facility/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/facility/metatiles.bin b/data/tilesets/secondary/facility/metatiles.bin
new file mode 100644
index 000000000..374b64a3b
--- /dev/null
+++ b/data/tilesets/secondary/facility/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/fallarbor/metatile_attributes.bin b/data/tilesets/secondary/fallarbor/metatile_attributes.bin
new file mode 100644
index 000000000..7a8451785
--- /dev/null
+++ b/data/tilesets/secondary/fallarbor/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/fallarbor/metatiles.bin b/data/tilesets/secondary/fallarbor/metatiles.bin
new file mode 100644
index 000000000..a8781129b
--- /dev/null
+++ b/data/tilesets/secondary/fallarbor/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/fortree/metatile_attributes.bin b/data/tilesets/secondary/fortree/metatile_attributes.bin
new file mode 100644
index 000000000..842ff2991
--- /dev/null
+++ b/data/tilesets/secondary/fortree/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/fortree/metatiles.bin b/data/tilesets/secondary/fortree/metatiles.bin
new file mode 100644
index 000000000..ecc00d7e7
--- /dev/null
+++ b/data/tilesets/secondary/fortree/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/fortree_gym/metatile_attributes.bin b/data/tilesets/secondary/fortree_gym/metatile_attributes.bin
new file mode 100644
index 000000000..5bfd160f6
--- /dev/null
+++ b/data/tilesets/secondary/fortree_gym/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/fortree_gym/metatiles.bin b/data/tilesets/secondary/fortree_gym/metatiles.bin
new file mode 100644
index 000000000..01a430f6b
--- /dev/null
+++ b/data/tilesets/secondary/fortree_gym/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/generic_building/metatile_attributes.bin b/data/tilesets/secondary/generic_building/metatile_attributes.bin
new file mode 100644
index 000000000..9bfcd89f2
--- /dev/null
+++ b/data/tilesets/secondary/generic_building/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/generic_building/metatiles.bin b/data/tilesets/secondary/generic_building/metatiles.bin
new file mode 100644
index 000000000..2b97d69bf
--- /dev/null
+++ b/data/tilesets/secondary/generic_building/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/inside_of_truck/metatile_attributes.bin b/data/tilesets/secondary/inside_of_truck/metatile_attributes.bin
new file mode 100644
index 000000000..a39e5716d
--- /dev/null
+++ b/data/tilesets/secondary/inside_of_truck/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/inside_of_truck/metatiles.bin b/data/tilesets/secondary/inside_of_truck/metatiles.bin
new file mode 100644
index 000000000..c8fdbc871
--- /dev/null
+++ b/data/tilesets/secondary/inside_of_truck/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/inside_ship/metatile_attributes.bin b/data/tilesets/secondary/inside_ship/metatile_attributes.bin
new file mode 100644
index 000000000..70639c966
--- /dev/null
+++ b/data/tilesets/secondary/inside_ship/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/inside_ship/metatiles.bin b/data/tilesets/secondary/inside_ship/metatiles.bin
new file mode 100644
index 000000000..cacf47265
--- /dev/null
+++ b/data/tilesets/secondary/inside_ship/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/island_harbor/metatile_attributes.bin b/data/tilesets/secondary/island_harbor/metatile_attributes.bin
new file mode 100644
index 000000000..4b534918a
--- /dev/null
+++ b/data/tilesets/secondary/island_harbor/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/island_harbor/metatiles.bin b/data/tilesets/secondary/island_harbor/metatiles.bin
new file mode 100644
index 000000000..608bbcc3d
--- /dev/null
+++ b/data/tilesets/secondary/island_harbor/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/lab/metatile_attributes.bin b/data/tilesets/secondary/lab/metatile_attributes.bin
new file mode 100644
index 000000000..28199c4c7
--- /dev/null
+++ b/data/tilesets/secondary/lab/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/lab/metatiles.bin b/data/tilesets/secondary/lab/metatiles.bin
new file mode 100644
index 000000000..b033bb482
--- /dev/null
+++ b/data/tilesets/secondary/lab/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/lavaridge/metatile_attributes.bin b/data/tilesets/secondary/lavaridge/metatile_attributes.bin
new file mode 100644
index 000000000..53f489216
--- /dev/null
+++ b/data/tilesets/secondary/lavaridge/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/lavaridge/metatiles.bin b/data/tilesets/secondary/lavaridge/metatiles.bin
new file mode 100644
index 000000000..fd0314ed7
--- /dev/null
+++ b/data/tilesets/secondary/lavaridge/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/lavaridge_gym/metatile_attributes.bin b/data/tilesets/secondary/lavaridge_gym/metatile_attributes.bin
new file mode 100644
index 000000000..f5876eb4e
--- /dev/null
+++ b/data/tilesets/secondary/lavaridge_gym/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/lavaridge_gym/metatiles.bin b/data/tilesets/secondary/lavaridge_gym/metatiles.bin
new file mode 100644
index 000000000..fa7d66fd3
--- /dev/null
+++ b/data/tilesets/secondary/lavaridge_gym/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/lilycove/metatile_attributes.bin b/data/tilesets/secondary/lilycove/metatile_attributes.bin
new file mode 100644
index 000000000..0f4e01b92
--- /dev/null
+++ b/data/tilesets/secondary/lilycove/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/lilycove/metatiles.bin b/data/tilesets/secondary/lilycove/metatiles.bin
new file mode 100644
index 000000000..6018ac8ec
--- /dev/null
+++ b/data/tilesets/secondary/lilycove/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/lilycove_museum/metatile_attributes.bin b/data/tilesets/secondary/lilycove_museum/metatile_attributes.bin
new file mode 100644
index 000000000..e0b0f9016
--- /dev/null
+++ b/data/tilesets/secondary/lilycove_museum/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/lilycove_museum/metatiles.bin b/data/tilesets/secondary/lilycove_museum/metatiles.bin
new file mode 100644
index 000000000..dd53c8c05
--- /dev/null
+++ b/data/tilesets/secondary/lilycove_museum/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/mauville/metatile_attributes.bin b/data/tilesets/secondary/mauville/metatile_attributes.bin
new file mode 100644
index 000000000..79e40abe2
--- /dev/null
+++ b/data/tilesets/secondary/mauville/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/mauville/metatiles.bin b/data/tilesets/secondary/mauville/metatiles.bin
new file mode 100644
index 000000000..a71ead8e5
--- /dev/null
+++ b/data/tilesets/secondary/mauville/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/mauville_game_corner/metatile_attributes.bin b/data/tilesets/secondary/mauville_game_corner/metatile_attributes.bin
new file mode 100644
index 000000000..2ebca58dd
--- /dev/null
+++ b/data/tilesets/secondary/mauville_game_corner/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/mauville_game_corner/metatiles.bin b/data/tilesets/secondary/mauville_game_corner/metatiles.bin
new file mode 100644
index 000000000..07cf8c1c9
--- /dev/null
+++ b/data/tilesets/secondary/mauville_game_corner/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/mauville_gym/metatile_attributes.bin b/data/tilesets/secondary/mauville_gym/metatile_attributes.bin
new file mode 100644
index 000000000..965166f7a
--- /dev/null
+++ b/data/tilesets/secondary/mauville_gym/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/mauville_gym/metatiles.bin b/data/tilesets/secondary/mauville_gym/metatiles.bin
new file mode 100644
index 000000000..3f6885fdd
--- /dev/null
+++ b/data/tilesets/secondary/mauville_gym/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/meteor_falls/metatile_attributes.bin b/data/tilesets/secondary/meteor_falls/metatile_attributes.bin
new file mode 100644
index 000000000..07e545870
--- /dev/null
+++ b/data/tilesets/secondary/meteor_falls/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/meteor_falls/metatiles.bin b/data/tilesets/secondary/meteor_falls/metatiles.bin
new file mode 100644
index 000000000..6a475ac61
--- /dev/null
+++ b/data/tilesets/secondary/meteor_falls/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/mirage_tower/metatile_attributes.bin b/data/tilesets/secondary/mirage_tower/metatile_attributes.bin
new file mode 100644
index 000000000..91acdafed
--- /dev/null
+++ b/data/tilesets/secondary/mirage_tower/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/mirage_tower/metatiles.bin b/data/tilesets/secondary/mirage_tower/metatiles.bin
new file mode 100644
index 000000000..bdafd513a
--- /dev/null
+++ b/data/tilesets/secondary/mirage_tower/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/mossdeep/metatile_attributes.bin b/data/tilesets/secondary/mossdeep/metatile_attributes.bin
new file mode 100644
index 000000000..35b704b86
--- /dev/null
+++ b/data/tilesets/secondary/mossdeep/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/mossdeep/metatiles.bin b/data/tilesets/secondary/mossdeep/metatiles.bin
new file mode 100644
index 000000000..5fc527d0f
--- /dev/null
+++ b/data/tilesets/secondary/mossdeep/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/mossdeep_game_corner/metatile_attributes.bin b/data/tilesets/secondary/mossdeep_game_corner/metatile_attributes.bin
new file mode 100644
index 000000000..fccb8873e
--- /dev/null
+++ b/data/tilesets/secondary/mossdeep_game_corner/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/mossdeep_game_corner/metatiles.bin b/data/tilesets/secondary/mossdeep_game_corner/metatiles.bin
new file mode 100644
index 000000000..a27005bb8
--- /dev/null
+++ b/data/tilesets/secondary/mossdeep_game_corner/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/mossdeep_gym/metatile_attributes.bin b/data/tilesets/secondary/mossdeep_gym/metatile_attributes.bin
new file mode 100644
index 000000000..d2e66d801
--- /dev/null
+++ b/data/tilesets/secondary/mossdeep_gym/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/mossdeep_gym/metatiles.bin b/data/tilesets/secondary/mossdeep_gym/metatiles.bin
new file mode 100644
index 000000000..6faf47003
--- /dev/null
+++ b/data/tilesets/secondary/mossdeep_gym/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/mystery_events_house/metatile_attributes.bin b/data/tilesets/secondary/mystery_events_house/metatile_attributes.bin
new file mode 100644
index 000000000..687de2725
--- /dev/null
+++ b/data/tilesets/secondary/mystery_events_house/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/mystery_events_house/metatiles.bin b/data/tilesets/secondary/mystery_events_house/metatiles.bin
new file mode 100644
index 000000000..e304731f5
--- /dev/null
+++ b/data/tilesets/secondary/mystery_events_house/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/navel_rock/metatile_attributes.bin b/data/tilesets/secondary/navel_rock/metatile_attributes.bin
new file mode 100644
index 000000000..6bdf4a2ac
--- /dev/null
+++ b/data/tilesets/secondary/navel_rock/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/navel_rock/metatiles.bin b/data/tilesets/secondary/navel_rock/metatiles.bin
new file mode 100644
index 000000000..3a4d603a9
--- /dev/null
+++ b/data/tilesets/secondary/navel_rock/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/oceanic_museum/metatile_attributes.bin b/data/tilesets/secondary/oceanic_museum/metatile_attributes.bin
new file mode 100644
index 000000000..93ebf543b
--- /dev/null
+++ b/data/tilesets/secondary/oceanic_museum/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/oceanic_museum/metatiles.bin b/data/tilesets/secondary/oceanic_museum/metatiles.bin
new file mode 100644
index 000000000..e452e8713
--- /dev/null
+++ b/data/tilesets/secondary/oceanic_museum/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/metatile_attributes.bin b/data/tilesets/secondary/pacifidlog/metatile_attributes.bin
new file mode 100644
index 000000000..ab0dd0712
--- /dev/null
+++ b/data/tilesets/secondary/pacifidlog/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/pacifidlog/metatiles.bin b/data/tilesets/secondary/pacifidlog/metatiles.bin
new file mode 100644
index 000000000..f89ed3d80
--- /dev/null
+++ b/data/tilesets/secondary/pacifidlog/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/petalburg/metatile_attributes.bin b/data/tilesets/secondary/petalburg/metatile_attributes.bin
new file mode 100644
index 000000000..091061b4e
--- /dev/null
+++ b/data/tilesets/secondary/petalburg/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/petalburg/metatiles.bin b/data/tilesets/secondary/petalburg/metatiles.bin
new file mode 100644
index 000000000..3711f4aee
--- /dev/null
+++ b/data/tilesets/secondary/petalburg/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/petalburg_gym/metatile_attributes.bin b/data/tilesets/secondary/petalburg_gym/metatile_attributes.bin
new file mode 100644
index 000000000..1d929806d
--- /dev/null
+++ b/data/tilesets/secondary/petalburg_gym/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/petalburg_gym/metatiles.bin b/data/tilesets/secondary/petalburg_gym/metatiles.bin
new file mode 100644
index 000000000..47b49252d
--- /dev/null
+++ b/data/tilesets/secondary/petalburg_gym/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/pokemon_center/metatile_attributes.bin b/data/tilesets/secondary/pokemon_center/metatile_attributes.bin
new file mode 100644
index 000000000..e2ab21f8c
--- /dev/null
+++ b/data/tilesets/secondary/pokemon_center/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/pokemon_center/metatiles.bin b/data/tilesets/secondary/pokemon_center/metatiles.bin
new file mode 100644
index 000000000..ec5357311
--- /dev/null
+++ b/data/tilesets/secondary/pokemon_center/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/pokemon_day_care/metatile_attributes.bin b/data/tilesets/secondary/pokemon_day_care/metatile_attributes.bin
new file mode 100644
index 000000000..d946b8164
--- /dev/null
+++ b/data/tilesets/secondary/pokemon_day_care/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/pokemon_day_care/metatiles.bin b/data/tilesets/secondary/pokemon_day_care/metatiles.bin
new file mode 100644
index 000000000..20d3f77b0
--- /dev/null
+++ b/data/tilesets/secondary/pokemon_day_care/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/pokemon_fan_club/metatile_attributes.bin b/data/tilesets/secondary/pokemon_fan_club/metatile_attributes.bin
new file mode 100644
index 000000000..67a11c790
--- /dev/null
+++ b/data/tilesets/secondary/pokemon_fan_club/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/pokemon_fan_club/metatiles.bin b/data/tilesets/secondary/pokemon_fan_club/metatiles.bin
new file mode 100644
index 000000000..535c60b8d
--- /dev/null
+++ b/data/tilesets/secondary/pokemon_fan_club/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/pokemon_school/metatile_attributes.bin b/data/tilesets/secondary/pokemon_school/metatile_attributes.bin
new file mode 100644
index 000000000..e9687cff9
--- /dev/null
+++ b/data/tilesets/secondary/pokemon_school/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/pokemon_school/metatiles.bin b/data/tilesets/secondary/pokemon_school/metatiles.bin
new file mode 100644
index 000000000..be592773e
--- /dev/null
+++ b/data/tilesets/secondary/pokemon_school/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/pretty_petal_flower_shop/metatile_attributes.bin b/data/tilesets/secondary/pretty_petal_flower_shop/metatile_attributes.bin
new file mode 100644
index 000000000..8433ffa0f
--- /dev/null
+++ b/data/tilesets/secondary/pretty_petal_flower_shop/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/pretty_petal_flower_shop/metatiles.bin b/data/tilesets/secondary/pretty_petal_flower_shop/metatiles.bin
new file mode 100644
index 000000000..d553d57b0
--- /dev/null
+++ b/data/tilesets/secondary/pretty_petal_flower_shop/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/metatile_attributes.bin b/data/tilesets/secondary/rustboro/metatile_attributes.bin
new file mode 100644
index 000000000..e2b728c65
--- /dev/null
+++ b/data/tilesets/secondary/rustboro/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/rustboro/metatiles.bin b/data/tilesets/secondary/rustboro/metatiles.bin
new file mode 100644
index 000000000..5a0d1b0d1
--- /dev/null
+++ b/data/tilesets/secondary/rustboro/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/rustboro_gym/metatile_attributes.bin b/data/tilesets/secondary/rustboro_gym/metatile_attributes.bin
new file mode 100644
index 000000000..39f8b428b
--- /dev/null
+++ b/data/tilesets/secondary/rustboro_gym/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/rustboro_gym/metatiles.bin b/data/tilesets/secondary/rustboro_gym/metatiles.bin
new file mode 100644
index 000000000..715860a17
--- /dev/null
+++ b/data/tilesets/secondary/rustboro_gym/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/rusturf_tunnel/metatile_attributes.bin b/data/tilesets/secondary/rusturf_tunnel/metatile_attributes.bin
new file mode 100644
index 000000000..fd992b211
--- /dev/null
+++ b/data/tilesets/secondary/rusturf_tunnel/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/rusturf_tunnel/metatiles.bin b/data/tilesets/secondary/rusturf_tunnel/metatiles.bin
new file mode 100644
index 000000000..b731d5792
--- /dev/null
+++ b/data/tilesets/secondary/rusturf_tunnel/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/seashore_house/metatile_attributes.bin b/data/tilesets/secondary/seashore_house/metatile_attributes.bin
new file mode 100644
index 000000000..786eae706
--- /dev/null
+++ b/data/tilesets/secondary/seashore_house/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/seashore_house/metatiles.bin b/data/tilesets/secondary/seashore_house/metatiles.bin
new file mode 100644
index 000000000..d935b6200
--- /dev/null
+++ b/data/tilesets/secondary/seashore_house/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/metatile_attributes.bin b/data/tilesets/secondary/secret_base/metatile_attributes.bin
new file mode 100644
index 000000000..92fe39409
--- /dev/null
+++ b/data/tilesets/secondary/secret_base/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/secret_base/metatiles.bin b/data/tilesets/secondary/secret_base/metatiles.bin
new file mode 100644
index 000000000..e8d50fa85
--- /dev/null
+++ b/data/tilesets/secondary/secret_base/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/shop/metatile_attributes.bin b/data/tilesets/secondary/shop/metatile_attributes.bin
new file mode 100644
index 000000000..604e08992
--- /dev/null
+++ b/data/tilesets/secondary/shop/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/shop/metatiles.bin b/data/tilesets/secondary/shop/metatiles.bin
new file mode 100644
index 000000000..000c0551a
--- /dev/null
+++ b/data/tilesets/secondary/shop/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/slateport/metatile_attributes.bin b/data/tilesets/secondary/slateport/metatile_attributes.bin
new file mode 100644
index 000000000..d4894828b
--- /dev/null
+++ b/data/tilesets/secondary/slateport/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/slateport/metatiles.bin b/data/tilesets/secondary/slateport/metatiles.bin
new file mode 100644
index 000000000..72f671f71
--- /dev/null
+++ b/data/tilesets/secondary/slateport/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis/metatile_attributes.bin b/data/tilesets/secondary/sootopolis/metatile_attributes.bin
new file mode 100644
index 000000000..01575e71b
--- /dev/null
+++ b/data/tilesets/secondary/sootopolis/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis/metatiles.bin b/data/tilesets/secondary/sootopolis/metatiles.bin
new file mode 100644
index 000000000..8a5086884
--- /dev/null
+++ b/data/tilesets/secondary/sootopolis/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis_gym/metatile_attributes.bin b/data/tilesets/secondary/sootopolis_gym/metatile_attributes.bin
new file mode 100644
index 000000000..f42d8a8e2
--- /dev/null
+++ b/data/tilesets/secondary/sootopolis_gym/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/sootopolis_gym/metatiles.bin b/data/tilesets/secondary/sootopolis_gym/metatiles.bin
new file mode 100644
index 000000000..265b35c7b
--- /dev/null
+++ b/data/tilesets/secondary/sootopolis_gym/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/trainer_hill/metatile_attributes.bin b/data/tilesets/secondary/trainer_hill/metatile_attributes.bin
new file mode 100644
index 000000000..67be3bb1d
--- /dev/null
+++ b/data/tilesets/secondary/trainer_hill/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/trainer_hill/metatiles.bin b/data/tilesets/secondary/trainer_hill/metatiles.bin
new file mode 100644
index 000000000..5f60d3de1
--- /dev/null
+++ b/data/tilesets/secondary/trainer_hill/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/trick_house_puzzle/metatile_attributes.bin b/data/tilesets/secondary/trick_house_puzzle/metatile_attributes.bin
new file mode 100644
index 000000000..1096ab63a
--- /dev/null
+++ b/data/tilesets/secondary/trick_house_puzzle/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/trick_house_puzzle/metatiles.bin b/data/tilesets/secondary/trick_house_puzzle/metatiles.bin
new file mode 100644
index 000000000..f3b8015ce
--- /dev/null
+++ b/data/tilesets/secondary/trick_house_puzzle/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/underwater/metatile_attributes.bin b/data/tilesets/secondary/underwater/metatile_attributes.bin
new file mode 100644
index 000000000..519b7715f
--- /dev/null
+++ b/data/tilesets/secondary/underwater/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/underwater/metatiles.bin b/data/tilesets/secondary/underwater/metatiles.bin
new file mode 100644
index 000000000..61c652903
--- /dev/null
+++ b/data/tilesets/secondary/underwater/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/union_room/metatile_attributes.bin b/data/tilesets/secondary/union_room/metatile_attributes.bin
new file mode 100644
index 000000000..ba7056b42
--- /dev/null
+++ b/data/tilesets/secondary/union_room/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/union_room/metatiles.bin b/data/tilesets/secondary/union_room/metatiles.bin
new file mode 100644
index 000000000..8d0496644
--- /dev/null
+++ b/data/tilesets/secondary/union_room/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/unused_1/metatile_attributes.bin b/data/tilesets/secondary/unused_1/metatile_attributes.bin
new file mode 100644
index 000000000..593f4708d
--- /dev/null
+++ b/data/tilesets/secondary/unused_1/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/unused_1/metatiles.bin b/data/tilesets/secondary/unused_1/metatiles.bin
new file mode 100644
index 000000000..5b47cf201
--- /dev/null
+++ b/data/tilesets/secondary/unused_1/metatiles.bin
Binary files differ
diff --git a/data/tilesets/secondary/unused_2/metatile_attributes.bin b/data/tilesets/secondary/unused_2/metatile_attributes.bin
new file mode 100644
index 000000000..e709804da
--- /dev/null
+++ b/data/tilesets/secondary/unused_2/metatile_attributes.bin
Binary files differ
diff --git a/data/tilesets/secondary/unused_2/metatiles.bin b/data/tilesets/secondary/unused_2/metatiles.bin
new file mode 100644
index 000000000..d9d5c19fd
--- /dev/null
+++ b/data/tilesets/secondary/unused_2/metatiles.bin
Binary files differ
diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk
index 92c173933..b14d94559 100644
--- a/graphics_file_rules.mk
+++ b/graphics_file_rules.mk
@@ -70,7 +70,7 @@ $(tilesetdir)/secondary/battle_frontier_outside_west/tiles.4bpp: $(tilesetdir)/s
$(tilesetdir)/secondary/battle_frontier_outside_east/tiles.4bpp: $(tilesetdir)/secondary/battle_frontier_outside_east/tiles.png
$(GFX) $< $@ -num_tiles 508
-$(tilesetdir)/primary/inside_building/tiles.4bpp: $(tilesetdir)/primary/inside_building/tiles.png
+$(tilesetdir)/primary/building/tiles.4bpp: $(tilesetdir)/primary/building/tiles.png
$(GFX) $< $@ -num_tiles 502
$(tilesetdir)/secondary/shop/tiles.4bpp: $(tilesetdir)/secondary/shop/tiles.png
diff --git a/include/battle.h b/include/battle.h
index 4cf0d2e03..0939c92b6 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -7,6 +7,7 @@
#include "battle_2.h"
#include "battle_ai_switch_items.h"
#include "battle_gfx_sfx_util.h"
+#include "battle_util2.h"
/*
Banks are a name given to what could be called a 'battlerId' or 'monControllerId'.
@@ -253,11 +254,21 @@
#define MOVE_TARGET_FOES_AND_ALLY 0x20
#define MOVE_TARGET_OPPONENTS_FIELD 0x40
+// defines for the u8 array gTypeEffectiveness
+#define TYPE_EFFECT_ATK_TYPE(i)((gTypeEffectiveness[i + 0]))
+#define TYPE_EFFECT_DEF_TYPE(i)((gTypeEffectiveness[i + 1]))
+#define TYPE_EFFECT_MULTIPLIER(i)((gTypeEffectiveness[i + 2]))
+
+// defines for the gTypeEffectiveness multipliers
#define TYPE_MUL_NO_EFFECT 0
#define TYPE_MUL_NOT_EFFECTIVE 5
#define TYPE_MUL_NORMAL 10
#define TYPE_MUL_SUPER_EFFECTIVE 20
+// special type table Ids
+#define TYPE_FORESIGHT 0xFE
+#define TYPE_ENDTABLE 0xFF
+
#define BS_GET_TARGET 0
#define BS_GET_ATTACKER 1
#define BS_GET_EFFECT_BANK 2
@@ -362,8 +373,8 @@ struct DisableStruct
/*0x0D*/ u8 unkD;
/*0x0E*/ u8 encoreTimer1 : 4;
/*0x0E*/ u8 encoreTimer2 : 4;
- /*0x0F*/ u8 perishSong1 : 4;
- /*0x0F*/ u8 perishSong2 : 4;
+ /*0x0F*/ u8 perishSongTimer1 : 4;
+ /*0x0F*/ u8 perishSongTimer2 : 4;
/*0x10*/ u8 furyCutterCounter;
/*0x11*/ u8 rolloutCounter1 : 4;
/*0x11*/ u8 rolloutCounter2 : 4;
@@ -612,7 +623,7 @@ struct BattleStruct
u8 sentInPokes;
bool8 selectionScriptFinished[BATTLE_BANKS_COUNT];
u8 field_58[4];
- u8 field_5C[4];
+ u8 monToSwitchIntoId[BATTLE_BANKS_COUNT];
u8 field_60[4][3];
u8 runTries;
u8 caughtMonNick[11];
@@ -684,7 +695,7 @@ struct BattleStruct
u8 field_1A4[96];
u8 field_204[104];
u8 field_26C[40];
- u8 field_294[4];
+ u8 AI_monToSwitchIntoId[BATTLE_BANKS_COUNT];
u8 field_298[8];
u8 field_2A0;
u8 field_2A1;
@@ -870,13 +881,6 @@ bool8 LoadChosenBattleElement(u8 caseId);
void DrawMainBattleBackground(void);
void task00_0800F6FC(u8 taskId);
-// battle_5
-void AllocateBattleResrouces(void);
-void FreeBattleResources(void);
-void AdjustFriendshipOnBattleFaint(u8 bank);
-void sub_80571DC(u8 bank, u8 arg1);
-u32 sub_805725C(u8 bank);
-
enum
{
BACK_PIC_BRENDAN,
@@ -979,6 +983,9 @@ extern struct BattleSpriteData *gBattleSpritesDataPtr;
extern u8 *gLinkBattleSendBuffer;
extern u8 *gLinkBattleRecvBuffer;
+extern u8 *gUnknown_0202305C;
+extern u8 *gUnknown_02023060;
+
// Move this somewhere else
#include "sprite.h"
diff --git a/include/battle_util2.h b/include/battle_util2.h
new file mode 100644
index 000000000..3954e42dc
--- /dev/null
+++ b/include/battle_util2.h
@@ -0,0 +1,10 @@
+#ifndef GUARD_BATTLE_UTIL2_H
+#define GUARD_BATTLE_UTIL2_H
+
+void AllocateBattleResources(void);
+void FreeBattleResources(void);
+void AdjustFriendshipOnBattleFaint(u8 bank);
+void sub_80571DC(u8 bank, u8 arg1);
+u32 sub_805725C(u8 bank);
+
+#endif // GUARD_BATTLE_UTIL_H
diff --git a/include/contest.h b/include/contest.h
index 76fbaad3e..d920117f3 100644
--- a/include/contest.h
+++ b/include/contest.h
@@ -12,8 +12,8 @@ struct ContestStruct_02039E00
extern struct ContestStruct_02039E00 gUnknown_02039E00[4];
extern u8 gUnknown_02039F24;
-extern u16 gScriptContestCategory;
-extern u8 gUnknown_02039F2E;
+extern u16 gSpecialVar_ContestCategory;
+extern u8 gSpecialVar_ContestRank;
extern u8 gUnknown_02039F30;
struct ContestStruct_field_18
diff --git a/include/event_data.h b/include/event_data.h
index 0bd11fdcd..f0ab90ae4 100644
--- a/include/event_data.h
+++ b/include/event_data.h
@@ -42,11 +42,11 @@ extern u16 gSpecialVar_0x8008;
extern u16 gSpecialVar_0x8009;
extern u16 gSpecialVar_0x800A;
extern u16 gSpecialVar_0x800B;
-extern u16 gScriptResult;
-extern u16 gScriptLastTalked;
-extern u16 gScriptFacing;
-extern u16 gSpecialVar_0x8012;
-extern u16 gSpecialVar_0x8013;
+extern u16 gSpecialVar_Result;
+extern u16 gSpecialVar_LastTalked;
+extern u16 gSpecialVar_Facing;
+extern u16 gSpecialVar_MonBoxId;
+extern u16 gSpecialVar_MonBoxPos;
extern u16 gSpecialVar_0x8014;
#endif // GUARD_EVENT_DATA_H
diff --git a/include/event_scripts.h b/include/event_scripts.h
index f85118e00..844f1052a 100755
--- a/include/event_scripts.h
+++ b/include/event_scripts.h
@@ -7,12 +7,12 @@
extern const u8 gUnknown_0823B4E8[];
extern const u8 gUnknown_0823B5E9[];
-extern const u8 gUnknown_08275BB7[];
-extern const u8 gUnknown_08275D0C[];
-extern const u8 gUnknown_08275D1F[];
-extern const u8 gUnknown_08275D2E[];
-extern const u8 gUnknown_082766A2[];
-extern const u8 gUnknown_082766A6[];
+extern const u8 EventScript_275BB7[];
+extern const u8 EventScript_275D0C[];
+extern const u8 EventScript_275D1F[];
+extern const u8 EventScript_275D2E[];
+extern const u8 EventScript_2766A2[];
+extern const u8 EventScript_2766A6[];
extern const u8 gTVBravoTrainerText00[];
extern const u8 gTVBravoTrainerText01[];
@@ -362,14 +362,14 @@ extern const u8 gPokeNewsTextLilycove_Ending[];
extern const u8 gPokeNewsTextBlendMaster_Upcoming[];
extern const u8 gPokeNewsTextBlendMaster_Ongoing[];
extern const u8 gPokeNewsTextBlendMaster_Ending[];
-extern const u8 gUnknown_08274966[];
-extern const u8 gUnknown_08274D13[];
-extern const u8 gUnknown_08274FFE[];
-extern const u8 gUnknown_08275367[];
-extern const u8 gUnknown_082756C7[];
-extern const u8 gUnknown_08274B24[];
-extern const u8 gUnknown_08274E75[];
-extern const u8 gUnknown_082751E1[];
-extern const u8 gUnknown_082754F6[];
-extern const u8 gUnknown_082758CC[];
+extern const u8 SecretBase_RedCave1_Text_274966[];
+extern const u8 SecretBase_RedCave1_Text_274D13[];
+extern const u8 SecretBase_RedCave1_Text_274FFE[];
+extern const u8 SecretBase_RedCave1_Text_275367[];
+extern const u8 SecretBase_RedCave1_Text_2756C7[];
+extern const u8 SecretBase_RedCave1_Text_274B24[];
+extern const u8 SecretBase_RedCave1_Text_274E75[];
+extern const u8 SecretBase_RedCave1_Text_2751E1[];
+extern const u8 SecretBase_RedCave1_Text_2754F6[];
+extern const u8 SecretBase_RedCave1_Text_2758CC[];
#endif //GUARD_EVENT_SCRIPTS_H
diff --git a/include/flags.h b/include/flags.h
index 6b8e65c45..2c3e5e170 100644
--- a/include/flags.h
+++ b/include/flags.h
@@ -3,29 +3,31 @@
#define FLAG_PENDING_DAYCARE_EGG 0x86
-#define TRAINER_FLAG_START 0x500
+
+#define FLAG_TRAINER_FLAG_START 0x500
+
#define TRAINERS_FLAG_NO 0x356
-#define CODE_FLAGS (TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860
+#define CODE_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860
// SYSTEM FLAGS
-#define SYS_POKEMON_GET CODE_FLAGS + 0
-#define SYS_POKEDEX_GET CODE_FLAGS + 1
-#define SYS_POKENAV_GET CODE_FLAGS + 2
+#define FLAG_SYS_POKEMON_GET CODE_FLAGS + 0
+#define FLAG_SYS_POKEDEX_GET CODE_FLAGS + 1
+#define FLAG_SYS_POKENAV_GET CODE_FLAGS + 2
// third one appears unused
-#define SYS_GAME_CLEAR CODE_FLAGS + 4
-#define SYS_CHAT_USED CODE_FLAGS + 5
-#define SYS_HIPSTER_MEET CODE_FLAGS + 6
+#define FLAG_SYS_GAME_CLEAR CODE_FLAGS + 4
+#define FLAG_SYS_CHAT_USED CODE_FLAGS + 5
+#define FLAG_SYS_HIPSTER_MEET CODE_FLAGS + 6
// badges
-#define BADGE01_GET CODE_FLAGS + 7
-#define BADGE02_GET CODE_FLAGS + 8
-#define BADGE03_GET CODE_FLAGS + 9
-#define BADGE04_GET CODE_FLAGS + 0xA
-#define BADGE05_GET CODE_FLAGS + 0xB
-#define BADGE06_GET CODE_FLAGS + 0xC
-#define BADGE07_GET CODE_FLAGS + 0xD
-#define BADGE08_GET CODE_FLAGS + 0xE
+#define FLAG_BADGE01_GET CODE_FLAGS + 7
+#define FLAG_BADGE02_GET CODE_FLAGS + 8
+#define FLAG_BADGE03_GET CODE_FLAGS + 9
+#define FLAG_BADGE04_GET CODE_FLAGS + 0xA
+#define FLAG_BADGE05_GET CODE_FLAGS + 0xB
+#define FLAG_BADGE06_GET CODE_FLAGS + 0xC
+#define FLAG_BADGE07_GET CODE_FLAGS + 0xD
+#define FLAG_BADGE08_GET CODE_FLAGS + 0xE
// cities and towns
#define FLAG_VISITED_LITTLEROOT_TOWN CODE_FLAGS + 0xF
@@ -45,66 +47,66 @@
#define FLAG_VISITED_SOOTOPOLIS_CITY CODE_FLAGS + 0x1D
#define FLAG_VISITED_EVER_GRANDE_CITY CODE_FLAGS + 0x1E
-#define SYS_UNKNOWN_880 CODE_FLAGS + 0x20
-
-#define SYS_USE_FLASH CODE_FLAGS + 0x28
-#define SYS_USE_STRENGTH CODE_FLAGS + 0x29
-#define SYS_WEATHER_CTRL CODE_FLAGS + 0x2A
-#define SYS_CYCLING_ROAD CODE_FLAGS + 0x2B
-#define SYS_SAFARI_MODE CODE_FLAGS + 0x2C
-#define SYS_CRUISE_MODE CODE_FLAGS + 0x2D
-
-#define SYS_TV_HOME CODE_FLAGS + 0x30
-#define SYS_TV_WATCH CODE_FLAGS + 0x31
-#define SYS_TV_START CODE_FLAGS + 0x32
-#define SYS_POPWORD_INPUT CODE_FLAGS + 0x33
-#define SYS_MIX_RECORD CODE_FLAGS + 0x34
-#define SYS_CLOCK_SET CODE_FLAGS + 0x35
-#define SYS_NATIONAL_DEX CODE_FLAGS + 0x36
-#define SYS_CAVE_SHIP CODE_FLAGS + 0x37
-#define SYS_CAVE_WONDER CODE_FLAGS + 0x38
-#define SYS_CAVE_BATTLE CODE_FLAGS + 0x39
-#define SYS_SHOAL_TIDE CODE_FLAGS + 0x3A
-#define SYS_RIBBON_GET CODE_FLAGS + 0x3B
-
-#define SYS_PC_LANETTE CODE_FLAGS + 0x4B
-#define SYS_MYSTERY_EVENT_ENABLE CODE_FLAGS + 0x4C
-#define SYS_ENC_UP_ITEM CODE_FLAGS + 0x4D
-#define SYS_ENC_DOWN_ITEM CODE_FLAGS + 0x4E
-#define SYS_BRAILLE_DIG CODE_FLAGS + 0x4F
-#define SYS_BRAILLE_STRENGTH CODE_FLAGS + 0x50
-#define SYS_BRAILLE_WAIT CODE_FLAGS + 0x51
-#define SYS_BRAILLE_FLY CODE_FLAGS + 0x52
-#define SYS_HAS_EON_TICKET CODE_FLAGS + 0x53
-
-#define SYS_POKEMON_LEAGUE_FLY CODE_FLAGS + 0x54
-
-#define SYS_TV_LATI CODE_FLAGS + 0x5D
-
-#define SYS_SHOAL_ITEM CODE_FLAGS + 0x5F
-#define SYS_B_DASH CODE_FLAGS + 0x60 // got Running Shoes
-#define SYS_CTRL_OBJ_DELETE CODE_FLAGS + 0x61
-#define SYS_RESET_RTC_ENABLE CODE_FLAGS + 0x62
-
-#define SYS_TOWER_SILVER CODE_FLAGS + 0x64
-#define SYS_TOWER_GOLD CODE_FLAGS + 0x65
-#define SYS_DOME_SILVER CODE_FLAGS + 0x66
-#define SYS_DOME_GOLD CODE_FLAGS + 0x67
-#define SYS_PALACE_SILVER CODE_FLAGS + 0x68
-#define SYS_PALACE_GOLD CODE_FLAGS + 0x69
-#define SYS_ARENA_SILVER CODE_FLAGS + 0x6A
-#define SYS_ARENA_GOLD CODE_FLAGS + 0x6B
-#define SYS_FACTORY_SILVER CODE_FLAGS + 0x6C
-#define SYS_FACTORY_GOLD CODE_FLAGS + 0x6D
-#define SYS_PIKE_SILVER CODE_FLAGS + 0x6E
-#define SYS_PIKE_GOLD CODE_FLAGS + 0x6F
-#define SYS_PYRAMID_SILVER CODE_FLAGS + 0x70
-#define SYS_PYRAMID_GOLD CODE_FLAGS + 0x71
-#define SYS_FRONTIER_PASS CODE_FLAGS + 0x72
-
-#define SYS_STORAGE_UNKNOWN_FLAG CODE_FLAGS + 0x77
-
-#define SYS_MYSTERY_GIFT_ENABLE CODE_FLAGS + 0x7B
+#define FLAG_SYS_UNKNOWN_880 CODE_FLAGS + 0x20
+
+#define FLAG_SYS_USE_FLASH CODE_FLAGS + 0x28
+#define FLAG_SYS_USE_STRENGTH CODE_FLAGS + 0x29
+#define FLAG_SYS_WEATHER_CTRL CODE_FLAGS + 0x2A
+#define FLAG_SYS_CYCLING_ROAD CODE_FLAGS + 0x2B
+#define FLAG_SYS_SAFARI_MODE CODE_FLAGS + 0x2C
+#define FLAG_SYS_CRUISE_MODE CODE_FLAGS + 0x2D
+
+#define FLAG_SYS_TV_HOME CODE_FLAGS + 0x30
+#define FLAG_SYS_TV_WATCH CODE_FLAGS + 0x31
+#define FLAG_SYS_TV_START CODE_FLAGS + 0x32
+#define FLAG_SYS_POPWORD_INPUT CODE_FLAGS + 0x33
+#define FLAG_SYS_MIX_RECORD CODE_FLAGS + 0x34
+#define FLAG_SYS_CLOCK_SET CODE_FLAGS + 0x35
+#define FLAG_SYS_NATIONAL_DEX CODE_FLAGS + 0x36
+#define FLAG_SYS_CAVE_SHIP CODE_FLAGS + 0x37
+#define FLAG_SYS_CAVE_WONDER CODE_FLAGS + 0x38
+#define FLAG_SYS_CAVE_BATTLE CODE_FLAGS + 0x39
+#define FLAG_SYS_SHOAL_TIDE CODE_FLAGS + 0x3A
+#define FLAG_SYS_RIBBON_GET CODE_FLAGS + 0x3B
+
+#define FLAG_SYS_PC_LANETTE CODE_FLAGS + 0x4B
+#define FLAG_SYS_MYSTERY_EVENT_ENABLE CODE_FLAGS + 0x4C
+#define FLAG_SYS_ENC_UP_ITEM CODE_FLAGS + 0x4D // white flute
+#define FLAG_SYS_ENC_DOWN_ITEM CODE_FLAGS + 0x4E // black flute
+#define FLAG_SYS_BRAILLE_DIG CODE_FLAGS + 0x4F
+#define FLAG_SYS_BRAILLE_STRENGTH CODE_FLAGS + 0x50
+#define FLAG_SYS_BRAILLE_WAIT CODE_FLAGS + 0x51
+#define FLAG_SYS_BRAILLE_FLY CODE_FLAGS + 0x52
+#define FLAG_SYS_HAS_EON_TICKET CODE_FLAGS + 0x53
+
+#define FLAG_SYS_POKEMON_LEAGUE_FLY CODE_FLAGS + 0x54
+
+#define FLAG_SYS_TV_LATI CODE_FLAGS + 0x5D
+
+#define FLAG_SYS_SHOAL_ITEM CODE_FLAGS + 0x5F
+#define FLAG_SYS_B_DASH CODE_FLAGS + 0x60 // got Running Shoes
+#define FLAG_SYS_CTRL_OBJ_DELETE CODE_FLAGS + 0x61
+#define FLAG_SYS_RESET_RTC_ENABLE CODE_FLAGS + 0x62
+
+#define FLAG_SYS_TOWER_SILVER CODE_FLAGS + 0x64
+#define FLAG_SYS_TOWER_GOLD CODE_FLAGS + 0x65
+#define FLAG_SYS_DOME_SILVER CODE_FLAGS + 0x66
+#define FLAG_SYS_DOME_GOLD CODE_FLAGS + 0x67
+#define FLAG_SYS_PALACE_SILVER CODE_FLAGS + 0x68
+#define FLAG_SYS_PALACE_GOLD CODE_FLAGS + 0x69
+#define FLAG_SYS_ARENA_SILVER CODE_FLAGS + 0x6A
+#define FLAG_SYS_ARENA_GOLD CODE_FLAGS + 0x6B
+#define FLAG_SYS_FACTORY_SILVER CODE_FLAGS + 0x6C
+#define FLAG_SYS_FACTORY_GOLD CODE_FLAGS + 0x6D
+#define FLAG_SYS_PIKE_SILVER CODE_FLAGS + 0x6E
+#define FLAG_SYS_PIKE_GOLD CODE_FLAGS + 0x6F
+#define FLAG_SYS_PYRAMID_SILVER CODE_FLAGS + 0x70
+#define FLAG_SYS_PYRAMID_GOLD CODE_FLAGS + 0x71
+#define FLAG_SYS_FRONTIER_PASS CODE_FLAGS + 0x72
+
+#define FLAG_SYS_STORAGE_UNKNOWN_FLAG CODE_FLAGS + 0x77
+
+#define FLAG_SYS_MYSTERY_GIFT_ENABLE CODE_FLAGS + 0x7B
// SPECIAL FLAGS (unknown purpose)
diff --git a/include/international_string_util.h b/include/international_string_util.h
index 9d9735a52..e7876162e 100644
--- a/include/international_string_util.h
+++ b/include/international_string_util.h
@@ -12,7 +12,7 @@ s32 GetStringWidthDifference(s32 fontId, const u8 *str, s32 totalWidth, s32 lett
s32 GetMaxWidthInMenuTable(const struct MenuAction *str, s32 arg1);
s32 sub_81DB3D8(const struct MenuAction *str, u8* arg1, s32 arg2);
// sub_81DB41C
-// sub_81DB468
+// CopyMonCategoryText
// sub_81DB494
// sub_81DB4DC
// sub_81DB554
diff --git a/include/pokedex.h b/include/pokedex.h
index 79721899f..236feac45 100644
--- a/include/pokedex.h
+++ b/include/pokedex.h
@@ -2,7 +2,7 @@
#define GUARD_POKEDEX_H
void ResetPokedex(void);
-const u8 *GetPokemonCategory(u16);
+void CopyMonCategoryText(u16 species, u8 *dst);
u16 GetPokedexHeightWeight(u16 dexNum, u8 data);
u16 GetNationalPokedexCount(u8);
u16 GetHoennPokedexCount(u8);
diff --git a/include/starter_choose.h b/include/starter_choose.h
new file mode 100644
index 000000000..61bc17735
--- /dev/null
+++ b/include/starter_choose.h
@@ -0,0 +1,7 @@
+#ifndef GUARD_STARTER_CHOOSE_H
+#define GUARD_STARTER_CHOOSE_H
+
+u16 GetStarterPokemon(u16 chosenStarterId);
+void CB2_ChooseStarter(void);
+
+#endif // GUARD_STARTER_CHOOSE_H
diff --git a/include/text_window.h b/include/text_window.h
index 0cefeea8e..da3fb301e 100644
--- a/include/text_window.h
+++ b/include/text_window.h
@@ -16,7 +16,7 @@ void sub_8098858(u8 windowId, u16 tileNum, u8 palNum);
void sub_80989E0(u8 windowId, u16 tileNum, u8 palNum);
void rbox_fill_rectangle(u8 windowId);
const u16* stdpal_get(u8 id);
-const u16* sub_8098C64(void);
+const u16* GetOverworldTextboxPalettePtr(void);
void sub_8098C6C(u8 bg, u16 destOffset, u8 palOffset);
#endif // GUARD_TEXT_WINDOW_H
diff --git a/ld_script.txt b/ld_script.txt
index 38df1ac8c..d7c3bed08 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -60,7 +60,7 @@ SECTIONS {
src/battle_2.o(.text);
src/battle_util.o(.text);
src/battle_script_commands.o(.text);
- asm/battle_5.o(.text);
+ src/battle_util2.o(.text);
src/battle_controller_player.o(.text);
src/battle_gfx_sfx_util.o(.text);
src/battle_controller_opponent.o(.text);
@@ -177,7 +177,7 @@ SECTIONS {
asm/contest_painting.o(.text);
src/battle_ai_script_commands.o(.text);
asm/trader.o(.text);
- asm/starter_choose.o(.text);
+ src/starter_choose.o(.text);
asm/wallclock.o(.text);
asm/rom6.o(.text);
asm/battle_records.o(.text);
@@ -354,6 +354,8 @@ SECTIONS {
src/berry_blender.o(.rodata);
src/new_game.o(.rodata);
data/rom4.o(.rodata);
+ data/tilesets.o(.rodata);
+ data/maps.o(.rodata);
data/fieldmap.o(.rodata);
src/metatile_behavior.o(.rodata);
data/rom_8486FEC.o(.rodata);
@@ -374,6 +376,8 @@ SECTIONS {
data/battle_anims.o(.rodata);
src/battle_anim.o(.rodata);
data/rom_8525F58.o(.rodata);
+ data/map_events.o(.rodata);
+ data/battle_anim_80A9C70.o(.rodata);
data/title_screen.o(.rodata);
data/field_screen.o(.rodata);
data/battle_setup.o(.rodata);
@@ -421,6 +425,8 @@ SECTIONS {
data/contest_painting.o(.rodata);
src/battle_ai_script_commands.o(.rodata);
data/data4.o(.rodata);
+ data/starter_choose.o(.rodata);
+ data/data4c.o(.rodata);
src/battle_controller_link_partner.o(.rodata);
src/battle_message.o(.rodata);
data/cable_car.o(.rodata);
diff --git a/src/battle_2.c b/src/battle_2.c
index e4ee624fb..798fabf4b 100644
--- a/src/battle_2.c
+++ b/src/battle_2.c
@@ -43,6 +43,7 @@
#include "tv.h"
#include "safari_zone.h"
#include "battle_string_ids.h"
+#include "data2.h"
struct UnknownStruct6
{
@@ -353,7 +354,7 @@ static const u8 sUnknown_0831BCF3[] = {4, 4, 4, 4};
void CB2_InitBattle(void)
{
MoveSaveBlocks_ResetHeap();
- AllocateBattleResrouces();
+ AllocateBattleResources();
AllocateBattleSpritesData();
AllocateMonSpritesGfx();
sub_8185F84();
@@ -509,7 +510,7 @@ static void sub_8036A5C(void)
gBattleStruct->field_182 = r6;
*(&gBattleStruct->field_183) = r6 >> 8;
- gBattleStruct->field_183 |= FlagGet(SYS_FRONTIER_PASS) << 7;
+ gBattleStruct->field_183 |= FlagGet(FLAG_SYS_FRONTIER_PASS) << 7;
}
static void SetPlayerBerryDataInBattleStruct(void)
@@ -1610,7 +1611,7 @@ void BattleMainCB2(void)
if (gMain.heldKeys & B_BUTTON && gBattleTypeFlags & BATTLE_TYPE_RECORDED && sub_8186450())
{
- gScriptResult = gBattleOutcome = BATTLE_PLAYER_TELEPORTED;
+ gSpecialVar_Result = gBattleOutcome = BATTLE_PLAYER_TELEPORTED;
ResetPaletteFadeControl();
BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
SetMainCallback2(CB2_QuitRecordedBattle);
@@ -2068,7 +2069,7 @@ static void sub_8038F34(void)
if (!gSaveBlock2Ptr->field_CA9_b && i == monsCount)
{
- if (FlagGet(SYS_FRONTIER_PASS))
+ if (FlagGet(FLAG_SYS_FRONTIER_PASS))
{
FreeAllWindowBuffers();
SetMainCallback2(sub_80392A8);
@@ -2477,15 +2478,6 @@ static void sub_80398D0(struct Sprite *sprite)
}
}
-// to get rid of once the struct is declared in a header
-struct MonCoords
-{
- // This would use a bitfield, but sub_8079F44
- // uses it as a u8 and casting won't match.
- u8 coords; // u8 x:4, y:4;
- u8 y_offset;
-};
-
extern const struct MonCoords gMonFrontPicCoords[];
extern const struct MonCoords gCastformFrontSpriteCoords[];
@@ -2853,9 +2845,9 @@ static void BattleStartClearSetData(void)
*(i + 3 * 8 + (u8*)(gBattleStruct->mirrorMoveArrays) + 0) = 0;
}
- for (i = 0; i < 4; i++)
+ for (i = 0; i < BATTLE_BANKS_COUNT; i++)
{
- *(gBattleStruct->field_294 + i) = 6;
+ *(gBattleStruct->AI_monToSwitchIntoId + i) = 6;
}
gBattleStruct->field_DF = 0;
@@ -2935,8 +2927,8 @@ void SwitchInClearSetData(void)
{
gDisableStructs[gActiveBank].substituteHP = disableStructCopy.substituteHP;
gDisableStructs[gActiveBank].bankWithSureHit = disableStructCopy.bankWithSureHit;
- gDisableStructs[gActiveBank].perishSong1 = disableStructCopy.perishSong1;
- gDisableStructs[gActiveBank].perishSong2 = disableStructCopy.perishSong2;
+ gDisableStructs[gActiveBank].perishSongTimer1 = disableStructCopy.perishSongTimer1;
+ gDisableStructs[gActiveBank].perishSongTimer2 = disableStructCopy.perishSongTimer2;
gDisableStructs[gActiveBank].bankPreventingEscape = disableStructCopy.bankPreventingEscape;
}
@@ -3682,7 +3674,7 @@ static void TryDoEventsBeforeFirstTurn(void)
}
for (i = 0; i < BATTLE_BANKS_COUNT; i++)
{
- *(gBattleStruct->field_5C + i) = 6;
+ *(gBattleStruct->monToSwitchIntoId + i) = 6;
gActionForBanks[i] = ACTION_INIT_VALUE;
gChosenMovesByBanks[i] = MOVE_NONE;
}
@@ -3793,7 +3785,7 @@ void BattleTurnPassed(void)
}
for (i = 0; i < 4; i++)
- *(gBattleStruct->field_5C + i) = 6;
+ *(gBattleStruct->monToSwitchIntoId + i) = 6;
*(&gBattleStruct->field_91) = gAbsentBankFlags;
BattleHandleAddTextPrinter(gText_EmptyString3, 0);
@@ -3884,7 +3876,7 @@ void sub_803BDA0(u8 bank)
gUnknown_0203CF00[i] = *(bank * 3 + i + (u8*)(gBattleStruct->field_60));
r4 = pokemon_order_func(gBattlePartyID[bank]);
- r1 = pokemon_order_func(*(gBattleStruct->field_5C + bank));
+ r1 = pokemon_order_func(*(gBattleStruct->monToSwitchIntoId + bank));
sub_81B8FB0(r4, r1);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
@@ -3932,7 +3924,7 @@ static void HandleTurnActionSelectionState(void)
gBattleCommunication[gActiveBank] = STATE_BEFORE_ACTION_CHOSEN;
break;
case STATE_BEFORE_ACTION_CHOSEN: // choose an action
- *(gBattleStruct->field_5C + gActiveBank) = 6;
+ *(gBattleStruct->monToSwitchIntoId + gActiveBank) = 6;
if (gBattleTypeFlags & BATTLE_TYPE_MULTI
|| !(identity & BIT_MON)
|| gBattleStruct->field_91 & gBitTable[GetBankByIdentity(identity ^ BIT_MON)]
@@ -4050,9 +4042,9 @@ static void HandleTurnActionSelectionState(void)
else
{
if (gActiveBank == 2 && gActionForBanks[0] == ACTION_SWITCH)
- EmitChoosePokemon(0, 0, *(gBattleStruct->field_5C + 0), ABILITY_NONE, gBattleStruct->field_60[gActiveBank]);
+ EmitChoosePokemon(0, 0, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->field_60[gActiveBank]);
else if (gActiveBank == 3 && gActionForBanks[1] == ACTION_SWITCH)
- EmitChoosePokemon(0, 0, *(gBattleStruct->field_5C + 1), ABILITY_NONE, gBattleStruct->field_60[gActiveBank]);
+ EmitChoosePokemon(0, 0, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->field_60[gActiveBank]);
else
EmitChoosePokemon(0, 0, 6, ABILITY_NONE, gBattleStruct->field_60[gActiveBank]);
}
@@ -4339,7 +4331,7 @@ static void HandleTurnActionSelectionState(void)
for (i = 0; i < gNoOfAllBanks; i++)
{
if (gActionForBanks[i] == ACTION_SWITCH)
- sub_80571DC(i, *(gBattleStruct->field_5C + i));
+ sub_80571DC(i, *(gBattleStruct->monToSwitchIntoId + i));
}
}
}
@@ -4363,7 +4355,7 @@ static bool8 sub_803CDB8(void)
static void sub_803CDF8(void)
{
- *(gBattleStruct->field_5C + gActiveBank) = gBattleBufferB[gActiveBank][1];
+ *(gBattleStruct->monToSwitchIntoId + gActiveBank) = gBattleBufferB[gActiveBank][1];
RecordedBattle_SetBankAction(gActiveBank, gBattleBufferB[gActiveBank][1]);
if (gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleTypeFlags & BATTLE_TYPE_MULTI)
@@ -4435,7 +4427,7 @@ u8 GetWhoStrikesFirst(u8 bank1, u8 bank2, bool8 ignoreChosenMoves)
// badge boost
if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 | BATTLE_TYPE_FRONTIER))
- && FlagGet(BADGE03_GET)
+ && FlagGet(FLAG_BADGE03_GET)
&& GetBankSide(bank1) == SIDE_PLAYER)
{
speedBank1 = (speedBank1 * 110) / 100;
@@ -4469,7 +4461,7 @@ u8 GetWhoStrikesFirst(u8 bank1, u8 bank2, bool8 ignoreChosenMoves)
// badge boost
if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 | BATTLE_TYPE_FRONTIER))
- && FlagGet(BADGE03_GET)
+ && FlagGet(FLAG_BADGE03_GET)
&& GetBankSide(bank2) == SIDE_PLAYER)
{
speedBank2 = (speedBank2 * 110) / 100;
@@ -4758,7 +4750,7 @@ static void HandleEndTurn_BattleWon(void)
if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))
{
- gScriptResult = gBattleOutcome;
+ gSpecialVar_Result = gBattleOutcome;
gBattleTextBuff1[0] = gBattleOutcome;
gBankAttacker = GetBankByIdentity(IDENTITY_PLAYER_MON1);
gBattlescriptCurrInstr = BattleScript_LinkBattleWonOrLost;
@@ -5020,7 +5012,7 @@ static void ReturnFromBattleToOverworld(void)
if (gBattleTypeFlags & BATTLE_TYPE_LINK && gReceivedRemoteLinkPlayers != 0)
return;
- gScriptResult = gBattleOutcome;
+ gSpecialVar_Result = gBattleOutcome;
gMain.inBattle = 0;
gMain.callback1 = gPreBattleCallback1;
@@ -5618,7 +5610,7 @@ static void HandleAction_NothingIsFainted(void)
static void HandleAction_ActionFinished(void)
{
- *(gBattleStruct->field_5C + gBanksByTurnOrder[gCurrentTurnActionNumber]) = 6;
+ *(gBattleStruct->monToSwitchIntoId + gBanksByTurnOrder[gCurrentTurnActionNumber]) = 6;
gCurrentTurnActionNumber++;
gCurrentActionFuncId = gActionsByTurnOrder[gCurrentTurnActionNumber];
SpecialStatusesClear();
diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c
index a57df85fb..75d144c3d 100644
--- a/src/battle_ai_switch_items.c
+++ b/src/battle_ai_switch_items.c
@@ -36,9 +36,9 @@ static bool8 ShouldUseItem(void);
static bool8 ShouldSwitchIfPerishSong(void)
{
if (gStatuses3[gActiveBank] & STATUS3_PERISH_SONG
- && gDisableStructs[gActiveBank].perishSong1 == 0)
+ && gDisableStructs[gActiveBank].perishSongTimer1 == 0)
{
- *(gBattleStruct->field_294 + gActiveBank) = 6;
+ *(gBattleStruct->AI_monToSwitchIntoId + gActiveBank) = 6;
EmitTwoReturnValues(1, ACTION_SWITCH, 0);
return TRUE;
}
@@ -120,7 +120,7 @@ static bool8 ShouldSwitchIfWonderGuard(void)
if (moveFlags & MOVESTATUS_SUPEREFFECTIVE && Random() % 3 < 2)
{
// we found a mon
- *(gBattleStruct->field_294 + gActiveBank) = i;
+ *(gBattleStruct->AI_monToSwitchIntoId + gActiveBank) = i;
EmitTwoReturnValues(1, ACTION_SWITCH, 0);
return TRUE;
}
@@ -206,9 +206,9 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void)
continue;
if (i == gBattlePartyID[bankIn2])
continue;
- if (i == *(gBattleStruct->field_5C + bankIn1))
+ if (i == *(gBattleStruct->monToSwitchIntoId + bankIn1))
continue;
- if (i == *(gBattleStruct->field_5C + bankIn2))
+ if (i == *(gBattleStruct->monToSwitchIntoId + bankIn2))
continue;
species = GetMonData(&party[i], MON_DATA_SPECIES);
@@ -220,7 +220,7 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void)
if (absorbingTypeAbility == monAbility && Random() & 1)
{
// we found a mon
- *(gBattleStruct->field_294 + gActiveBank) = i;
+ *(gBattleStruct->AI_monToSwitchIntoId + gActiveBank) = i;
EmitTwoReturnValues(1, ACTION_SWITCH, 0);
return TRUE;
}
@@ -240,13 +240,13 @@ static bool8 ShouldSwitchIfNaturalCure(void)
if ((gUnknown_02024250[gActiveBank] == 0 || gUnknown_02024250[gActiveBank] == 0xFFFF) && Random() & 1)
{
- *(gBattleStruct->field_294 + gActiveBank) = 6;
+ *(gBattleStruct->AI_monToSwitchIntoId + gActiveBank) = 6;
EmitTwoReturnValues(1, ACTION_SWITCH, 0);
return TRUE;
}
else if (gBattleMoves[gUnknown_02024250[gActiveBank]].power == 0 && Random() & 1)
{
- *(gBattleStruct->field_294 + gActiveBank) = 6;
+ *(gBattleStruct->AI_monToSwitchIntoId + gActiveBank) = 6;
EmitTwoReturnValues(1, ACTION_SWITCH, 0);
return TRUE;
}
@@ -257,7 +257,7 @@ static bool8 ShouldSwitchIfNaturalCure(void)
return TRUE;
if (Random() & 1)
{
- *(gBattleStruct->field_294 + gActiveBank) = 6;
+ *(gBattleStruct->AI_monToSwitchIntoId + gActiveBank) = 6;
EmitTwoReturnValues(1, ACTION_SWITCH, 0);
return TRUE;
}
@@ -400,9 +400,9 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent)
continue;
if (i == gBattlePartyID[bankIn2])
continue;
- if (i == *(gBattleStruct->field_5C + bankIn1))
+ if (i == *(gBattleStruct->monToSwitchIntoId + bankIn1))
continue;
- if (i == *(gBattleStruct->field_5C + bankIn2))
+ if (i == *(gBattleStruct->monToSwitchIntoId + bankIn2))
continue;
species = GetMonData(&party[i], MON_DATA_SPECIES);
@@ -425,7 +425,7 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent)
moveFlags = AI_TypeCalc(move, gBattleMons[bankIn1].species, gBattleMons[bankIn1].ability);
if (moveFlags & MOVESTATUS_SUPEREFFECTIVE && Random() % moduloPercent == 0)
{
- *(gBattleStruct->field_294 + gActiveBank) = i;
+ *(gBattleStruct->AI_monToSwitchIntoId + gActiveBank) = i;
EmitTwoReturnValues(1, ACTION_SWITCH, 0);
return TRUE;
}
@@ -508,9 +508,9 @@ static bool8 ShouldSwitch(void)
continue;
if (i == gBattlePartyID[bankIn2])
continue;
- if (i == *(gBattleStruct->field_5C + bankIn1))
+ if (i == *(gBattleStruct->monToSwitchIntoId + bankIn1))
continue;
- if (i == *(gBattleStruct->field_5C + bankIn2))
+ if (i == *(gBattleStruct->monToSwitchIntoId + bankIn2))
continue;
availableToSwitch++;
@@ -554,7 +554,7 @@ void AI_TrySwitchOrUseItem(void)
{
if (ShouldSwitch())
{
- if (*(gBattleStruct->field_294 + gActiveBank) == 6)
+ if (*(gBattleStruct->AI_monToSwitchIntoId + gActiveBank) == 6)
{
s32 monToSwitchId = GetMostSuitableMonToSwitchInto();
if (monToSwitchId == 6)
@@ -590,19 +590,19 @@ void AI_TrySwitchOrUseItem(void)
continue;
if (monToSwitchId == gBattlePartyID[bankIn2])
continue;
- if (monToSwitchId == *(gBattleStruct->field_5C + bankIn1))
+ if (monToSwitchId == *(gBattleStruct->monToSwitchIntoId + bankIn1))
continue;
- if (monToSwitchId == *(gBattleStruct->field_5C + bankIn2))
+ if (monToSwitchId == *(gBattleStruct->monToSwitchIntoId + bankIn2))
continue;
break;
}
}
- *(gBattleStruct->field_294 + gActiveBank) = monToSwitchId;
+ *(gBattleStruct->AI_monToSwitchIntoId + gActiveBank) = monToSwitchId;
}
- *(gBattleStruct->field_5C + gActiveBank) = *(gBattleStruct->field_294 + gActiveBank);
+ *(gBattleStruct->monToSwitchIntoId + gActiveBank) = *(gBattleStruct->AI_monToSwitchIntoId + gActiveBank);
return;
}
else if (ShouldUseItem())
@@ -614,28 +614,25 @@ void AI_TrySwitchOrUseItem(void)
EmitTwoReturnValues(1, ACTION_USE_MOVE, (gActiveBank ^ BIT_SIDE) << 8);
}
-#define TYPE_FORESIGHT 0xFE
-#define TYPE_ENDTABLE 0xFF
-
static void ModulateByTypeEffectiveness(u8 atkType, u8 defType1, u8 defType2, u8 *var)
{
s32 i = 0;
- while (gTypeEffectiveness[i] != TYPE_ENDTABLE)
+ while (TYPE_EFFECT_ATK_TYPE(i) != TYPE_ENDTABLE)
{
- if (gTypeEffectiveness[i] == TYPE_FORESIGHT)
+ if (TYPE_EFFECT_ATK_TYPE(i) == TYPE_FORESIGHT)
{
i += 3;
continue;
}
- else if (gTypeEffectiveness[i] == atkType)
+ else if (TYPE_EFFECT_ATK_TYPE(i) == atkType)
{
// check type1
- if (gTypeEffectiveness[i + 1] == defType1)
- *var = (*var * gTypeEffectiveness[i + 2]) / 10;
+ if (TYPE_EFFECT_DEF_TYPE(i) == defType1)
+ *var = (*var * TYPE_EFFECT_MULTIPLIER(i)) / 10;
// check type2
- if (gTypeEffectiveness[i + 1] == defType2 && defType1 != defType2)
- *var = (*var * gTypeEffectiveness[i + 2]) / 10;
+ if (TYPE_EFFECT_DEF_TYPE(i) == defType2 && defType1 != defType2)
+ *var = (*var * TYPE_EFFECT_MULTIPLIER(i)) / 10;
}
i += 3;
}
@@ -654,8 +651,8 @@ u8 GetMostSuitableMonToSwitchInto(void)
u8 invalidMons;
u16 move;
- if (*(gBattleStruct->field_5C + gActiveBank) != 6)
- return *(gBattleStruct->field_5C + gActiveBank);
+ if (*(gBattleStruct->monToSwitchIntoId + gActiveBank) != 6)
+ return *(gBattleStruct->monToSwitchIntoId + gActiveBank);
if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
return gBattlePartyID[gActiveBank] + 1;
@@ -711,8 +708,8 @@ u8 GetMostSuitableMonToSwitchInto(void)
&& !(gBitTable[i] & invalidMons)
&& gBattlePartyID[bankIn1] != i
&& gBattlePartyID[bankIn2] != i
- && i != *(gBattleStruct->field_5C + bankIn1)
- && i != *(gBattleStruct->field_5C + bankIn2))
+ && i != *(gBattleStruct->monToSwitchIntoId + bankIn1)
+ && i != *(gBattleStruct->monToSwitchIntoId + bankIn2))
{
u8 type1 = gBaseStats[species].type1;
u8 type2 = gBaseStats[species].type2;
@@ -771,9 +768,9 @@ u8 GetMostSuitableMonToSwitchInto(void)
continue;
if (gBattlePartyID[bankIn2] == i)
continue;
- if (i == *(gBattleStruct->field_5C + bankIn1))
+ if (i == *(gBattleStruct->monToSwitchIntoId + bankIn1))
continue;
- if (i == *(gBattleStruct->field_5C + bankIn2))
+ if (i == *(gBattleStruct->monToSwitchIntoId + bankIn2))
continue;
for (j = 0; j < 4; j++)
diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c
index cb2ca0a4c..423d34d45 100644
--- a/src/battle_controller_link_opponent.c
+++ b/src/battle_controller_link_opponent.c
@@ -36,7 +36,7 @@ extern u8 gBattleBufferA[BATTLE_BANKS_COUNT][0x200];
extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200];
extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT];
extern struct SpriteTemplate gUnknown_0202499C;
-extern u16 gScriptItemId;
+extern u16 gSpecialVar_ItemId;
extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT];
extern u8 gBattleOutcome;
extern u16 gBattle_BG0_X;
diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c
index 79776c15d..e3bee98d9 100644
--- a/src/battle_controller_link_partner.c
+++ b/src/battle_controller_link_partner.c
@@ -36,7 +36,7 @@ extern u8 gBattleBufferA[BATTLE_BANKS_COUNT][0x200];
extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200];
extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT];
extern struct SpriteTemplate gUnknown_0202499C;
-extern u16 gScriptItemId;
+extern u16 gSpecialVar_ItemId;
extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT];
extern u8 gBattleOutcome;
extern u16 gBattle_BG0_X;
diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c
index 831f434b0..0aac4cbe4 100644
--- a/src/battle_controller_opponent.c
+++ b/src/battle_controller_opponent.c
@@ -1168,7 +1168,7 @@ static void OpponentHandleLoadMonSprite(void)
static void OpponentHandleSwitchInAnim(void)
{
- *(gBattleStruct->field_5C + gActiveBank) = 6;
+ *(gBattleStruct->monToSwitchIntoId + gActiveBank) = 6;
gBattlePartyID[gActiveBank] = gBattleBufferA[gActiveBank][1];
sub_80613DC(gActiveBank, gBattleBufferA[gActiveBank][2]);
gBattleBankFunc[gActiveBank] = sub_805FDF0;
@@ -1627,7 +1627,7 @@ static void OpponentHandleChoosePokemon(void)
{
s32 chosenMonId;
- if (*(gBattleStruct->field_294 + gActiveBank) == 6)
+ if (*(gBattleStruct->AI_monToSwitchIntoId + gActiveBank) == 6)
{
chosenMonId = GetMostSuitableMonToSwitchInto();
@@ -1670,12 +1670,12 @@ static void OpponentHandleChoosePokemon(void)
}
else
{
- chosenMonId = *(gBattleStruct->field_294 + gActiveBank);
- *(gBattleStruct->field_294 + gActiveBank) = 6;
+ chosenMonId = *(gBattleStruct->AI_monToSwitchIntoId + gActiveBank);
+ *(gBattleStruct->AI_monToSwitchIntoId + gActiveBank) = 6;
}
- *(gBattleStruct->field_5C + gActiveBank) = chosenMonId;
+ *(gBattleStruct->monToSwitchIntoId + gActiveBank) = chosenMonId;
EmitChosenMonReturnValue(1, chosenMonId, NULL);
OpponentBufferExecCompleted();
}
diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c
index 91d3d55eb..16c62c53b 100644
--- a/src/battle_controller_player.c
+++ b/src/battle_controller_player.c
@@ -46,7 +46,7 @@ extern struct MusicPlayerInfo gMPlay_BGM;
extern u16 gPartnerTrainerId;
extern struct SpriteTemplate gUnknown_0202499C;
extern u8 gBattleMonForms[BATTLE_BANKS_COUNT];
-extern u16 gScriptItemId;
+extern u16 gSpecialVar_ItemId;
extern u8 gUnknown_0203CEE8;
extern u8 gUnknown_0203CEE9;
extern u8 gUnknown_0203CF00[];
@@ -1416,7 +1416,7 @@ static void CompleteWhenChoseItem(void)
{
if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active)
{
- EmitOneReturnValue(1, gScriptItemId);
+ EmitOneReturnValue(1, gSpecialVar_ItemId);
PlayerBufferExecCompleted();
}
}
diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c
index 6ace9121c..0cd34442a 100644
--- a/src/battle_controller_player_partner.c
+++ b/src/battle_controller_player_partner.c
@@ -35,7 +35,7 @@ extern u8 gBattleBufferA[BATTLE_BANKS_COUNT][0x200];
extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200];
extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT];
extern struct SpriteTemplate gUnknown_0202499C;
-extern u16 gScriptItemId;
+extern u16 gSpecialVar_ItemId;
extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT];
extern u8 gBattleOutcome;
extern u16 gBattle_BG0_X;
@@ -1581,7 +1581,7 @@ static void PlayerPartnerHandleChoosePokemon(void)
}
}
- *(gBattleStruct->field_5C + gActiveBank) = chosenMonId;
+ *(gBattleStruct->monToSwitchIntoId + gActiveBank) = chosenMonId;
EmitChosenMonReturnValue(1, chosenMonId, NULL);
PlayerPartnerBufferExecCompleted();
}
diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c
index 914ad9c43..506ab46c7 100644
--- a/src/battle_controller_recorded_opponent.c
+++ b/src/battle_controller_recorded_opponent.c
@@ -37,7 +37,7 @@ extern u8 gBattleBufferA[BATTLE_BANKS_COUNT][0x200];
extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200];
extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT];
extern struct SpriteTemplate gUnknown_0202499C;
-extern u16 gScriptItemId;
+extern u16 gSpecialVar_ItemId;
extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT];
extern u8 gBattleOutcome;
extern u16 gBattle_BG0_X;
@@ -1474,8 +1474,8 @@ static void RecordedOpponentHandleChooseItem(void)
static void RecordedOpponentHandleChoosePokemon(void)
{
- *(gBattleStruct->field_5C + gActiveBank) = RecordedBattle_ReadBankAction(gActiveBank);
- EmitChosenMonReturnValue(1, *(gBattleStruct->field_5C + gActiveBank), NULL);
+ *(gBattleStruct->monToSwitchIntoId + gActiveBank) = RecordedBattle_ReadBankAction(gActiveBank);
+ EmitChosenMonReturnValue(1, *(gBattleStruct->monToSwitchIntoId + gActiveBank), NULL);
RecordedOpponentBufferExecCompleted();
}
diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c
index 8db7b5626..03a65961b 100644
--- a/src/battle_controller_recorded_player.c
+++ b/src/battle_controller_recorded_player.c
@@ -36,7 +36,7 @@ extern u8 gBattleBufferA[BATTLE_BANKS_COUNT][0x200];
extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200];
extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT];
extern struct SpriteTemplate gUnknown_0202499C;
-extern u16 gScriptItemId;
+extern u16 gSpecialVar_ItemId;
extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT];
extern u8 gBattleOutcome;
extern u16 gBattle_BG0_X;
@@ -1492,8 +1492,8 @@ static void RecordedPlayerHandleChooseItem(void)
static void RecordedPlayerHandleChoosePokemon(void)
{
- *(gBattleStruct->field_5C + gActiveBank) = RecordedBattle_ReadBankAction(gActiveBank);
- EmitChosenMonReturnValue(1, *(gBattleStruct->field_5C + gActiveBank), NULL);
+ *(gBattleStruct->monToSwitchIntoId + gActiveBank) = RecordedBattle_ReadBankAction(gActiveBank);
+ EmitChosenMonReturnValue(1, *(gBattleStruct->monToSwitchIntoId + gActiveBank), NULL);
RecordedPlayerBufferExecCompleted();
}
diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c
index 468a92610..a4f35bed1 100644
--- a/src/battle_controller_safari.c
+++ b/src/battle_controller_safari.c
@@ -33,7 +33,7 @@ extern u8 gBattleBufferA[BATTLE_BANKS_COUNT][0x200];
extern u8 gBattleBufferB[BATTLE_BANKS_COUNT][0x200];
extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT];
extern struct SpriteTemplate gUnknown_0202499C;
-extern u16 gScriptItemId;
+extern u16 gSpecialVar_ItemId;
extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT];
extern u8 gBattleOutcome;
extern u16 gBattle_BG0_X;
@@ -305,7 +305,7 @@ static void CompleteWhenChosePokeblock(void)
{
if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active)
{
- EmitOneReturnValue(1, gScriptItemId);
+ EmitOneReturnValue(1, gSpecialVar_ItemId);
SafariBufferExecCompleted();
}
}
diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c
index ec052555a..4dac1d264 100644
--- a/src/battle_controller_wally.c
+++ b/src/battle_controller_wally.c
@@ -45,7 +45,7 @@ extern struct MusicPlayerInfo gMPlay_BGM;
extern u16 gPartnerTrainerId;
extern struct SpriteTemplate gUnknown_0202499C;
extern u8 gBattleMonForms[BATTLE_BANKS_COUNT];
-extern u16 gScriptItemId;
+extern u16 gSpecialVar_ItemId;
extern u8 gUnknown_03005D7C[BATTLE_BANKS_COUNT];
extern u8 gHealthBoxesIds[BATTLE_BANKS_COUNT];
extern u8 gBattleOutcome;
@@ -314,7 +314,7 @@ static void CompleteOnChosenItem(void)
{
if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active)
{
- EmitOneReturnValue(1, gScriptItemId);
+ EmitOneReturnValue(1, gSpecialVar_ItemId);
WallyBufferExecCompleted();
}
}
diff --git a/src/battle_message.c b/src/battle_message.c
index 52c0c7af5..4bd6ca5b7 100644
--- a/src/battle_message.c
+++ b/src/battle_message.c
@@ -1907,7 +1907,7 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst)
HANDLE_NICKNAME_STRING_CASE(gBattleScripting.bank, *(&gBattleStruct->field_52))
break;
case B_TXT_PC_CREATOR_NAME: // lanette pc
- if (FlagGet(SYS_PC_LANETTE))
+ if (FlagGet(FLAG_SYS_PC_LANETTE))
toCpy = gText_Lanettes;
else
toCpy = gText_Someones;
diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c
index 91be4fd9d..6409ff56e 100644
--- a/src/battle_script_commands.c
+++ b/src/battle_script_commands.c
@@ -13,6 +13,7 @@
#include "calculate_base_damage.h"
#include "rng.h"
#include "battle_controllers.h"
+#include "battle_interface.h"
#include "species.h"
#include "songs.h"
#include "text.h"
@@ -118,9 +119,7 @@ struct TrainerMoney
extern const struct BattleMove gBattleMoves[];
extern const struct BaseStats gBaseStats[];
-extern const u8 gTypeEffectiveness[];
-extern const u16 gMissStringIds[];
-extern const u16 gTrappingMoves[];
+extern const u8 gTypeEffectiveness[336];
extern const struct TrainerMoney gTrainerMoneyTable[];
extern const u8* const gBattleScriptsForMoveEffects[];
@@ -139,7 +138,6 @@ extern void sub_81A5BF8(void); // battle frontier 2
extern void sub_81A5D44(void); // battle frontier 2
extern void sub_81B8E80(u8 bank, u8, u8); // party menu
extern bool8 sub_81B1250(void); // ?
-extern u8 GetScaledHPFraction(s16 hp, s16 maxhp, u8 scale); // battle interface
extern bool8 InBattlePike(void);
extern bool8 InBattlePyramid(void);
extern u16 GetBattlePyramidPickupItemId(void);
@@ -340,7 +338,7 @@ static void atk48_playstatchangeanimation(void);
static void atk49_moveend(void);
static void atk4A_typecalc2(void);
static void atk4B_return_atk_to_ball(void);
-static void atk4C_copy_poke_data(void);
+static void atk4C_get_switched_mon_data(void);
static void atk4D_switch_data_update(void);
static void atk4E_switchin_anim(void);
static void atk4F_jump_if_cannot_switch(void);
@@ -368,7 +366,7 @@ static void atk64_statusanimation(void);
static void atk65_status2animation(void);
static void atk66_chosenstatusanimation(void);
static void atk67_yesnobox(void);
-static void atk68_80246A0(void);
+static void atk68_cancel_everyones_actions(void);
static void atk69_dmg_adjustment3(void);
static void atk6A_removeitem(void);
static void atk6B_atknameinbuff1(void);
@@ -457,7 +455,7 @@ static void atkBD_copyfoestats(void);
static void atkBE_rapidspinfree(void);
static void atkBF_set_defense_curl(void);
static void atkC0_recoverbasedonsunlight(void);
-static void atkC1_hidden_power(void);
+static void atkC1_hidden_power_calc(void);
static void atkC2_selectnexttarget(void);
static void atkC3_setfutureattack(void);
static void atkC4_beat_up(void);
@@ -592,7 +590,7 @@ void (* const gBattleScriptingCommandsTable[])(void) =
atk49_moveend,
atk4A_typecalc2,
atk4B_return_atk_to_ball,
- atk4C_copy_poke_data,
+ atk4C_get_switched_mon_data,
atk4D_switch_data_update,
atk4E_switchin_anim,
atk4F_jump_if_cannot_switch,
@@ -620,7 +618,7 @@ void (* const gBattleScriptingCommandsTable[])(void) =
atk65_status2animation,
atk66_chosenstatusanimation,
atk67_yesnobox,
- atk68_80246A0,
+ atk68_cancel_everyones_actions,
atk69_dmg_adjustment3,
atk6A_removeitem,
atk6B_atknameinbuff1,
@@ -709,7 +707,7 @@ void (* const gBattleScriptingCommandsTable[])(void) =
atkBE_rapidspinfree,
atkBF_set_defense_curl,
atkC0_recoverbasedonsunlight,
- atkC1_hidden_power,
+ atkC1_hidden_power_calc,
atkC2_selectnexttarget,
atkC3_setfutureattack,
atkC4_beat_up,
@@ -828,7 +826,7 @@ static const u32 sStatusFlagsForMoveEffects[] =
0x00000000,
0x00000000,
STATUS2_ESCAPE_PREVENTION,
- 0x08000000,
+ STATUS2_NIGHTMARE,
0x00000000,
0x00000000,
0x00000000,
@@ -1244,7 +1242,7 @@ bool8 JumpIfMoveAffectedByProtect(u16 move)
return affected;
}
-bool8 AccuracyCalcHelper(u16 move)
+static bool8 AccuracyCalcHelper(u16 move)
{
if (gStatuses3[gBankTarget] & STATUS3_ALWAYS_HITS && gDisableStructs[gBankTarget].bankWithSureHit == gBankAttacker)
{
@@ -1543,9 +1541,6 @@ static void ModulateDmgByType(u8 multiplier)
}
}
-#define TYPE_FORESIGHT 0xFE
-#define TYPE_ENDTABLE 0xFF
-
static void atk06_typecalc(void)
{
s32 i = 0;
@@ -1577,24 +1572,24 @@ static void atk06_typecalc(void)
}
else
{
- while (gTypeEffectiveness[i] != TYPE_ENDTABLE)
+ while (TYPE_EFFECT_ATK_TYPE(i) != TYPE_ENDTABLE)
{
- if (gTypeEffectiveness[i] == TYPE_FORESIGHT)
+ if (TYPE_EFFECT_ATK_TYPE(i) == TYPE_FORESIGHT)
{
if (gBattleMons[gBankTarget].status2 & STATUS2_FORESIGHT)
break;
i += 3;
continue;
}
- else if (gTypeEffectiveness[i] == moveType)
+ else if (TYPE_EFFECT_ATK_TYPE(i) == moveType)
{
// check type1
- if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1)
- ModulateDmgByType(gTypeEffectiveness[i + 2]);
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBankTarget].type1)
+ ModulateDmgByType(TYPE_EFFECT_MULTIPLIER(i));
// check type2
- if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 &&
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBankTarget].type2 &&
gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2)
- ModulateDmgByType(gTypeEffectiveness[i + 2]);
+ ModulateDmgByType(TYPE_EFFECT_MULTIPLIER(i));
}
i += 3;
}
@@ -1636,45 +1631,46 @@ static void CheckWonderGuardAndLevitate(void)
return;
}
- while (gTypeEffectiveness[i] != TYPE_ENDTABLE)
+ while (TYPE_EFFECT_ATK_TYPE(i) != TYPE_ENDTABLE)
{
- if (gTypeEffectiveness[i] == TYPE_FORESIGHT)
+ if (TYPE_EFFECT_ATK_TYPE(i) == TYPE_FORESIGHT)
{
if (gBattleMons[gBankTarget].status2 & STATUS2_FORESIGHT)
break;
i += 3;
continue;
}
- if (gTypeEffectiveness[i] == moveType)
+ if (TYPE_EFFECT_ATK_TYPE(i) == moveType)
{
// check no effect
- if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1 && gTypeEffectiveness[i + 2] == 0)
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBankTarget].type1
+ && TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NO_EFFECT)
{
gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED;
gProtectStructs[gBankAttacker].targetNotAffected = 1;
}
- if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2 &&
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBankTarget].type2 &&
gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2 &&
- gTypeEffectiveness[i + 2] == TYPE_MUL_NO_EFFECT)
+ TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NO_EFFECT)
{
gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED;
gProtectStructs[gBankAttacker].targetNotAffected = 1;
}
// check super effective
- if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1 && gTypeEffectiveness[i + 2] == 20)
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBankTarget].type1 && TYPE_EFFECT_MULTIPLIER(i) == 20)
flags |= 1;
- if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBankTarget].type2
&& gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2
- && gTypeEffectiveness[i + 2] == TYPE_MUL_SUPER_EFFECTIVE)
+ && TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_SUPER_EFFECTIVE)
flags |= 1;
// check not very effective
- if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1 && gTypeEffectiveness[i + 2] == 5)
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBankTarget].type1 && TYPE_EFFECT_MULTIPLIER(i) == 5)
flags |= 2;
- if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBankTarget].type2
&& gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2
- && gTypeEffectiveness[i + 2] == TYPE_MUL_NOT_EFFECTIVE)
+ && TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NOT_EFFECTIVE)
flags |= 2;
}
i += 3;
@@ -1749,9 +1745,9 @@ u8 TypeCalc(u16 move, u8 bankAtk, u8 bankDef)
}
else
{
- while (gTypeEffectiveness[i]!= TYPE_ENDTABLE)
+ while (TYPE_EFFECT_ATK_TYPE(i) != TYPE_ENDTABLE)
{
- if (gTypeEffectiveness[i] == TYPE_FORESIGHT)
+ if (TYPE_EFFECT_ATK_TYPE(i) == TYPE_FORESIGHT)
{
if (gBattleMons[bankDef].status2 & STATUS2_FORESIGHT)
break;
@@ -1759,15 +1755,15 @@ u8 TypeCalc(u16 move, u8 bankAtk, u8 bankDef)
continue;
}
- else if (gTypeEffectiveness[i] == moveType)
+ else if (TYPE_EFFECT_ATK_TYPE(i) == moveType)
{
// check type1
- if (gTypeEffectiveness[i + 1] == gBattleMons[bankDef].type1)
- ModulateDmgByType2(gTypeEffectiveness[i + 2], move, &flags);
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[bankDef].type1)
+ ModulateDmgByType2(TYPE_EFFECT_MULTIPLIER(i), move, &flags);
// check type2
- if (gTypeEffectiveness[i + 1] == gBattleMons[bankDef].type2 &&
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[bankDef].type2 &&
gBattleMons[bankDef].type1 != gBattleMons[bankDef].type2)
- ModulateDmgByType2(gTypeEffectiveness[i + 2], move, &flags);
+ ModulateDmgByType2(TYPE_EFFECT_MULTIPLIER(i), move, &flags);
}
i += 3;
}
@@ -1801,21 +1797,21 @@ u8 AI_TypeCalc(u16 move, u16 targetSpecies, u8 targetAbility)
}
else
{
- while (gTypeEffectiveness[i] != TYPE_ENDTABLE)
+ while (TYPE_EFFECT_ATK_TYPE(i) != TYPE_ENDTABLE)
{
- if (gTypeEffectiveness[i] == TYPE_FORESIGHT)
+ if (TYPE_EFFECT_ATK_TYPE(i) == TYPE_FORESIGHT)
{
i += 3;
continue;
}
- if (gTypeEffectiveness[i] == moveType)
+ if (TYPE_EFFECT_ATK_TYPE(i) == moveType)
{
// check type1
- if (gTypeEffectiveness[i + 1] == type1)
- ModulateDmgByType2(gTypeEffectiveness[i + 2], move, &flags);
+ if (TYPE_EFFECT_DEF_TYPE(i) == type1)
+ ModulateDmgByType2(TYPE_EFFECT_MULTIPLIER(i), move, &flags);
// check type2
- if (gTypeEffectiveness[i + 1] == type2 && type1 != type2)
- ModulateDmgByType2(gTypeEffectiveness[i + 2], move, &flags);
+ if (TYPE_EFFECT_DEF_TYPE(i) == type2 && type1 != type2)
+ ModulateDmgByType2(TYPE_EFFECT_MULTIPLIER(i), move, &flags);
}
i += 3;
}
@@ -5235,9 +5231,9 @@ static void atk4A_typecalc2(void)
}
else
{
- while (gTypeEffectiveness[i]!= TYPE_ENDTABLE)
+ while (TYPE_EFFECT_ATK_TYPE(i) != TYPE_ENDTABLE)
{
- if (gTypeEffectiveness[i] == TYPE_FORESIGHT)
+ if (TYPE_EFFECT_ATK_TYPE(i) == TYPE_FORESIGHT)
{
if (gBattleMons[gBankTarget].status2 & STATUS2_FORESIGHT)
{
@@ -5250,43 +5246,43 @@ static void atk4A_typecalc2(void)
}
}
- if (gTypeEffectiveness[i] == moveType)
+ if (TYPE_EFFECT_ATK_TYPE(i) == moveType)
{
// check type1
- if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type1)
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBankTarget].type1)
{
- if (gTypeEffectiveness[i + 2] == 0)
+ if (TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NO_EFFECT)
{
gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED;
break;
}
- if (gTypeEffectiveness[i + 2] == 5)
+ if (TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NOT_EFFECTIVE)
{
flags |= MOVESTATUS_NOTVERYEFFECTIVE;
}
- if (gTypeEffectiveness[i + 2] == 20)
+ if (TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_SUPER_EFFECTIVE)
{
flags |= MOVESTATUS_SUPEREFFECTIVE;
}
}
// check type2
- if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2)
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBankTarget].type2)
{
if (gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2
- && gTypeEffectiveness[i + 2] == 0)
+ && TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NO_EFFECT)
{
gBattleMoveFlags |= MOVESTATUS_NOTAFFECTED;
break;
}
- if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBankTarget].type2
&& gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2
- && gTypeEffectiveness[i + 2] == 5)
+ && TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_NOT_EFFECTIVE)
{
flags |= MOVESTATUS_NOTVERYEFFECTIVE;
}
- if (gTypeEffectiveness[i + 1] == gBattleMons[gBankTarget].type2
+ if (TYPE_EFFECT_DEF_TYPE(i) == gBattleMons[gBankTarget].type2
&& gBattleMons[gBankTarget].type1 != gBattleMons[gBankTarget].type2
- && gTypeEffectiveness[i + 2] == 20)
+ && TYPE_EFFECT_MULTIPLIER(i) == TYPE_MUL_SUPER_EFFECTIVE)
{
flags |= MOVESTATUS_SUPEREFFECTIVE;
}
@@ -5325,16 +5321,16 @@ static void atk4B_return_atk_to_ball(void)
gBattlescriptCurrInstr++;
}
-static void atk4C_copy_poke_data(void)
+static void atk4C_get_switched_mon_data(void)
{
if (gBattleExecBuffer)
return;
gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]);
- gBattlePartyID[gActiveBank] = *(gBattleStruct->field_5C + gActiveBank);
+ gBattlePartyID[gActiveBank] = *(gBattleStruct->monToSwitchIntoId + gActiveBank);
- EmitGetMonData(0, 0, gBitTable[gBattlePartyID[gActiveBank]]);
+ EmitGetMonData(0, REQUEST_ALL_BATTLE, gBitTable[gBattlePartyID[gActiveBank]]);
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 2;
@@ -5371,7 +5367,7 @@ static void atk4D_switch_data_update(void)
if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS)
{
- for (i = 0; i < 8; i++)
+ for (i = 0; i < BATTLE_STATS_NO; i++)
{
gBattleMons[gActiveBank].statStages[i] = oldData.statStages[i];
}
@@ -5387,11 +5383,8 @@ static void atk4D_switch_data_update(void)
}
gBattleScripting.bank = gActiveBank;
- gBattleTextBuff1[0] = PLACEHOLDER_BEGIN;
- gBattleTextBuff1[1] = 7;
- gBattleTextBuff1[2] = gActiveBank;
- gBattleTextBuff1[3] = gBattlePartyID[gActiveBank];
- gBattleTextBuff1[4] = EOS;
+
+ PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gActiveBank, gBattlePartyID[gActiveBank]);
gBattlescriptCurrInstr += 2;
}
@@ -5579,7 +5572,7 @@ static void atk4F_jump_if_cannot_switch(void)
static void sub_804CF10(u8 arg0)
{
*(gBattleStruct->field_58 + gActiveBank) = gBattlePartyID[gActiveBank];
- *(gBattleStruct->field_5C + gActiveBank) = 6;
+ *(gBattleStruct->monToSwitchIntoId + gActiveBank) = 6;
gBattleStruct->field_93 &= ~(gBitTable[gActiveBank]);
EmitChoosePokemon(0, 1, arg0, 0, gBattleStruct->field_60[gActiveBank]);
@@ -5643,7 +5636,7 @@ static void atk50_openpartyscreen(void)
}
else if (!gSpecialStatuses[gActiveBank].flag40)
{
- sub_804CF10(gBattleStruct->field_5C[2]);
+ sub_804CF10(gBattleStruct->monToSwitchIntoId[2]);
gSpecialStatuses[gActiveBank].flag40 = 1;
}
else
@@ -5665,7 +5658,7 @@ static void atk50_openpartyscreen(void)
}
else if (!gSpecialStatuses[gActiveBank].flag40)
{
- sub_804CF10(gBattleStruct->field_5C[0]);
+ sub_804CF10(gBattleStruct->monToSwitchIntoId[0]);
gSpecialStatuses[gActiveBank].flag40 = 1;
}
else if (!(flags & 1))
@@ -5686,7 +5679,7 @@ static void atk50_openpartyscreen(void)
}
else if (!gSpecialStatuses[gActiveBank].flag40)
{
- sub_804CF10(gBattleStruct->field_5C[3]);
+ sub_804CF10(gBattleStruct->monToSwitchIntoId[3]);
gSpecialStatuses[gActiveBank].flag40 = 1;
}
else
@@ -5708,7 +5701,7 @@ static void atk50_openpartyscreen(void)
}
else if (!gSpecialStatuses[gActiveBank].flag40)
{
- sub_804CF10(gBattleStruct->field_5C[1]);
+ sub_804CF10(gBattleStruct->monToSwitchIntoId[1]);
gSpecialStatuses[gActiveBank].flag40 = 1;
}
else if (!(flags & 2))
@@ -5771,7 +5764,7 @@ static void atk50_openpartyscreen(void)
}
else if (!gSpecialStatuses[gActiveBank].flag40)
{
- sub_804CF10(gBattleStruct->field_5C[0]);
+ sub_804CF10(gBattleStruct->monToSwitchIntoId[0]);
gSpecialStatuses[gActiveBank].flag40 = 1;
}
}
@@ -5787,7 +5780,7 @@ static void atk50_openpartyscreen(void)
}
else if (!gSpecialStatuses[gActiveBank].flag40)
{
- sub_804CF10(gBattleStruct->field_5C[1]);
+ sub_804CF10(gBattleStruct->monToSwitchIntoId[1]);
gSpecialStatuses[gActiveBank].flag40 = 1;
}
}
@@ -5841,10 +5834,10 @@ static void atk50_openpartyscreen(void)
{
gActiveBank = bank;
*(gBattleStruct->field_58 + gActiveBank) = gBattlePartyID[gActiveBank];
- *(gBattleStruct->field_5C + gActiveBank) = 6;
+ *(gBattleStruct->monToSwitchIntoId + gActiveBank) = 6;
gBattleStruct->field_93 &= ~(gBitTable[gActiveBank]);
- EmitChoosePokemon(0, hitmarkerFaintBits, *(gBattleStruct->field_5C + (gActiveBank ^ 2)), 0, gBattleStruct->field_60[gActiveBank]);
+ EmitChoosePokemon(0, hitmarkerFaintBits, *(gBattleStruct->monToSwitchIntoId + (gActiveBank ^ 2)), 0, gBattleStruct->field_60[gActiveBank]);
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 6;
@@ -5891,7 +5884,7 @@ static void atk51_switch_handle_order(void)
{
if (gBattleBufferB[i][0] == 0x22)
{
- *(gBattleStruct->field_5C + i) = gBattleBufferB[i][1];
+ *(gBattleStruct->monToSwitchIntoId + i) = gBattleBufferB[i][1];
if (!(gBattleStruct->field_93 & gBitTable[i]))
{
RecordedBattle_SetBankAction(i, gBattleBufferB[i][1]);
@@ -5913,7 +5906,7 @@ static void atk51_switch_handle_order(void)
// fall through
case 3:
gBattleCommunication[0] = gBattleBufferB[gActiveBank][1];
- *(gBattleStruct->field_5C + gActiveBank) = gBattleBufferB[gActiveBank][1];
+ *(gBattleStruct->monToSwitchIntoId + gActiveBank) = gBattleBufferB[gActiveBank][1];
if (gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleTypeFlags & BATTLE_TYPE_MULTI)
{
@@ -5927,7 +5920,7 @@ static void atk51_switch_handle_order(void)
}
else if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER)
{
- sub_80571DC(gActiveBank, *(gBattleStruct->field_5C + gActiveBank));
+ sub_80571DC(gActiveBank, *(gBattleStruct->monToSwitchIntoId + gActiveBank));
}
else
{
@@ -6576,7 +6569,7 @@ static void atk67_yesnobox(void)
}
}
-static void atk68_80246A0(void)
+static void atk68_cancel_everyones_actions(void)
{
s32 i;
@@ -8034,7 +8027,7 @@ static void atk8F_forcerandomswitch(void)
|| GetMonData(&party[i], MON_DATA_IS_EGG) == TRUE
|| GetMonData(&party[i], MON_DATA_HP) == 0);
}
- *(gBattleStruct->field_5C + gBankTarget) = i;
+ *(gBattleStruct->monToSwitchIntoId + gBankTarget) = i;
if (!sub_81B1250())
sub_803BDA0(gBankTarget);
@@ -8558,13 +8551,11 @@ static void atk9D_mimicattackcopy(void)
}
}
-#ifdef NONMATCHING
static void atk9E_metronome(void)
{
while (1)
{
- const u16 *move;
- s32 i, j;
+ s32 i;
gCurrentMove = (Random() & 0x1FF) + 1;
if (gCurrentMove > LAST_MOVE_INDEX)
@@ -8572,102 +8563,26 @@ static void atk9E_metronome(void)
for (i = 0; i < 4; i++); // ?
- for (move = sMovesForbiddenToCopy; ; move++)
+ i = -1;
+ while (1)
{
- if (*move == gCurrentMove)
+ i++;
+ if (sMovesForbiddenToCopy[i] == gCurrentMove)
break;
- if (*move == METRONOME_FORBIDDEN_END)
+ if (sMovesForbiddenToCopy[i] == METRONOME_FORBIDDEN_END)
break;
}
- if (*move == METRONOME_FORBIDDEN_END)
- break;
+ if (sMovesForbiddenToCopy[i] == METRONOME_FORBIDDEN_END)
+ {
+ gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
+ gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect];
+ gBankTarget = GetMoveTarget(gCurrentMove, 0);
+ return;
+ }
}
-
- gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
- gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect];
- gBankTarget = GetMoveTarget(gCurrentMove, 0);
-}
-
-#else
-__attribute__((naked))
-static void atk9E_metronome(void)
-{
- asm(
- "\n\
- .syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r8\n\
- push {r7}\n\
- ldr r7, =gCurrentMove\n\
- movs r6, 0xB1\n\
- lsls r6, 1\n\
- ldr r5, =sMovesForbiddenToCopy\n\
- ldr r0, =gBattlescriptCurrInstr\n\
- mov r8, r0\n\
-_080524EE:\n\
- bl Random\n\
- ldr r2, =0x000001ff\n\
- adds r1, r2, 0\n\
- ands r0, r1\n\
- adds r0, 0x1\n\
- strh r0, [r7]\n\
- cmp r0, r6\n\
- bhi _080524EE\n\
- movs r0, 0x3\n\
-_08052502:\n\
- subs r0, 0x1\n\
- cmp r0, 0\n\
- bge _08052502\n\
- ldr r4, =gCurrentMove\n\
- ldrh r2, [r4]\n\
- ldr r3, =0x0000ffff\n\
- subs r0, r5, 0x2\n\
-_08052510:\n\
- adds r0, 0x2\n\
- ldrh r1, [r0]\n\
- cmp r1, r2\n\
- beq _0805251C\n\
- cmp r1, r3\n\
- bne _08052510\n\
-_0805251C:\n\
- ldr r0, =0x0000ffff\n\
- cmp r1, r0\n\
- bne _080524EE\n\
- ldr r2, =gHitMarker\n\
- ldr r0, [r2]\n\
- ldr r1, =0xfffffbff\n\
- ands r0, r1\n\
- str r0, [r2]\n\
- ldr r3, =gBattleScriptsForMoveEffects\n\
- ldr r2, =gBattleMoves\n\
- ldrh r1, [r4]\n\
- lsls r0, r1, 1\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- adds r0, r2\n\
- ldrb r0, [r0]\n\
- lsls r0, 2\n\
- adds r0, r3\n\
- ldr r0, [r0]\n\
- mov r1, r8\n\
- str r0, [r1]\n\
- ldrh r0, [r4]\n\
- movs r1, 0\n\
- bl GetMoveTarget\n\
- ldr r1, =gBankTarget\n\
- strb r0, [r1]\n\
- pop {r3}\n\
- mov r8, r3\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .pool\n\
- .syntax divided");
}
-#endif // NONMATCHING
-
static void atk9F_dmgtolevel(void)
{
gBattleMoveDamage = gBattleMons[gBankAttacker].level;
@@ -8814,7 +8729,6 @@ static void atkA5_painsplitdmgcalc(void)
}
}
-#ifdef NONMATCHING
static void atkA6_settypetorandomresistance(void) // conversion 2
{
if (gUnknown_02024250[gBankAttacker] == 0
@@ -8829,298 +8743,58 @@ static void atkA6_settypetorandomresistance(void) // conversion 2
}
else
{
- s32 type = 0, rands = 0;
- do
+ s32 i, j, rands;
+
+ for (rands = 0; rands < 1000; rands++)
{
- while (((type = (Random() & 0x7F)) > 0x70));
+ while (((i = (Random() & 0x7F)) > sizeof(gTypeEffectiveness) / 3));
- type *= 3;
+ i *= 3;
- if (gTypeEffectiveness[type] == gUnknown_02024258[gBankAttacker]
- && gTypeEffectiveness[type + 2] <= 5
- && gBattleMons[gBankAttacker].type1 != gTypeEffectiveness[type + 1]
- && gBattleMons[gBankAttacker].type2 != gTypeEffectiveness[type + 1])
+ if (TYPE_EFFECT_ATK_TYPE(i) == gUnknown_02024258[gBankAttacker]
+ && TYPE_EFFECT_MULTIPLIER(i) <= TYPE_MUL_NOT_EFFECTIVE
+ && gBattleMons[gBankAttacker].type1 != TYPE_EFFECT_DEF_TYPE(i)
+ && gBattleMons[gBankAttacker].type2 != TYPE_EFFECT_DEF_TYPE(i))
{
- gBattleMons[gBankAttacker].type1 = type;
- gBattleMons[gBankAttacker].type2 = type;
+ gBattleMons[gBankAttacker].type1 = TYPE_EFFECT_DEF_TYPE(i);
+ gBattleMons[gBankAttacker].type2 = TYPE_EFFECT_DEF_TYPE(i);
- PREPARE_TYPE_BUFFER(gBattleTextBuff1, type)
+ PREPARE_TYPE_BUFFER(gBattleTextBuff1, TYPE_EFFECT_DEF_TYPE(i))
gBattlescriptCurrInstr += 5;
return;
}
+ }
- rands++;
- } while (rands <= 999);
-
- type = 0, rands = 0;
- do
+ for (j = 0, rands = 0; rands < sizeof(gTypeEffectiveness); j += 3, rands += 3)
{
- s8 var = (s8)(gTypeEffectiveness[type]);
- if (var > -1 || var < -2)
+ switch (TYPE_EFFECT_ATK_TYPE(j))
{
- if (gTypeEffectiveness[type] == gUnknown_02024258[gBankAttacker]
- && gTypeEffectiveness[type + 2] <= 5
- && gBattleMons[gBankAttacker].type1 != gTypeEffectiveness[type + 1]
- && gBattleMons[gBankAttacker].type2 != gTypeEffectiveness[type + 1])
+ case TYPE_ENDTABLE:
+ case TYPE_FORESIGHT:
+ break;
+ default:
+ if (TYPE_EFFECT_ATK_TYPE(j) == gUnknown_02024258[gBankAttacker]
+ && TYPE_EFFECT_MULTIPLIER(j) <= 5
+ && gBattleMons[gBankAttacker].type1 != TYPE_EFFECT_DEF_TYPE(i)
+ && gBattleMons[gBankAttacker].type2 != TYPE_EFFECT_DEF_TYPE(i))
{
- gBattleMons[gBankAttacker].type1 = gTypeEffectiveness[rands + 1];
- gBattleMons[gBankAttacker].type2 = gTypeEffectiveness[rands + 1];
+ gBattleMons[gBankAttacker].type1 = TYPE_EFFECT_DEF_TYPE(rands);
+ gBattleMons[gBankAttacker].type2 = TYPE_EFFECT_DEF_TYPE(rands);
- PREPARE_TYPE_BUFFER(gBattleTextBuff1, gTypeEffectiveness[rands + 1])
+ PREPARE_TYPE_BUFFER(gBattleTextBuff1, TYPE_EFFECT_DEF_TYPE(rands))
gBattlescriptCurrInstr += 5;
return;
}
+ break;
}
- type += 3, rands += 3;
- } while (rands < 336);
+ }
gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
}
}
-#else
-__attribute__((naked))
-static void atkA6_settypetorandomresistance(void) // conversion 2
-{
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- ldr r1, =gUnknown_02024250\n\
- ldr r4, =gBankAttacker\n\
- ldrb r0, [r4]\n\
- lsls r0, 1\n\
- adds r2, r0, r1\n\
- ldrh r1, [r2]\n\
- cmp r1, 0\n\
- beq _08052B7E\n\
- ldr r0, =0x0000ffff\n\
- cmp r1, r0\n\
- beq _08052B7E\n\
- ldrh r0, [r2]\n\
- bl IsTwoTurnsMove\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _08052C1C\n\
- ldr r1, =gBattleMons\n\
- ldr r2, =gUnknown_02024270\n\
- ldrb r0, [r4]\n\
- adds r0, r2\n\
- ldrb r2, [r0]\n\
- movs r0, 0x58\n\
- muls r0, r2\n\
- adds r1, 0x50\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- movs r1, 0x80\n\
- lsls r1, 5\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _08052C1C\n\
-_08052B7E:\n\
- ldr r3, =gBattlescriptCurrInstr\n\
- ldr r2, [r3]\n\
- ldrb r1, [r2, 0x1]\n\
- ldrb r0, [r2, 0x2]\n\
- lsls r0, 8\n\
- orrs r1, r0\n\
- ldrb r0, [r2, 0x3]\n\
- lsls r0, 16\n\
- orrs r1, r0\n\
- ldrb r0, [r2, 0x4]\n\
- lsls r0, 24\n\
- orrs r1, r0\n\
- str r1, [r3]\n\
- b _08052D08\n\
- .pool\n\
-_08052BB4:\n\
- mov r0, r12\n\
- strb r5, [r0]\n\
- mov r1, r10\n\
- ldrb r0, [r1]\n\
- muls r0, r2\n\
- adds r0, r7\n\
- adds r0, 0x22\n\
- strb r5, [r0]\n\
- ldr r1, =gBattleTextBuff1\n\
- movs r0, 0xFD\n\
- strb r0, [r1]\n\
- movs r0, 0x3\n\
- strb r0, [r1, 0x1]\n\
- strb r5, [r1, 0x2]\n\
- movs r0, 0xFF\n\
- strb r0, [r1, 0x3]\n\
- ldr r1, =gBattlescriptCurrInstr\n\
- b _08052C0A\n\
- .pool\n\
-_08052BE0:\n\
- mov r0, r8\n\
- adds r0, 0x1\n\
- adds r0, r3\n\
- ldrb r2, [r0]\n\
- strb r2, [r4]\n\
- mov r4, r10\n\
- ldrb r0, [r4]\n\
- muls r0, r6\n\
- ldr r7, =gBattleMons\n\
- adds r0, r7\n\
- adds r0, 0x22\n\
- strb r2, [r0]\n\
- ldr r1, =gBattleTextBuff1\n\
- movs r0, 0xFD\n\
- strb r0, [r1]\n\
- movs r0, 0x3\n\
- strb r0, [r1, 0x1]\n\
- strb r2, [r1, 0x2]\n\
- movs r0, 0xFF\n\
- strb r0, [r1, 0x3]\n\
- mov r1, r12\n\
-_08052C0A:\n\
- ldr r0, [r1]\n\
- adds r0, 0x5\n\
- str r0, [r1]\n\
- b _08052D08\n\
- .pool\n\
-_08052C1C:\n\
- movs r4, 0\n\
- mov r8, r4\n\
- movs r7, 0x7F\n\
- mov r9, r7\n\
-_08052C24:\n\
- bl Random\n\
- mov r4, r9\n\
- ands r4, r0\n\
- cmp r4, 0x70\n\
- bhi _08052C24\n\
- lsls r0, r4, 1\n\
- adds r4, r0, r4\n\
- ldr r6, =gTypeEffectiveness\n\
- adds r3, r4, r6\n\
- ldr r1, =gUnknown_02024258\n\
- ldr r2, =gBankAttacker\n\
- ldrb r5, [r2]\n\
- lsls r0, r5, 1\n\
- adds r0, r1\n\
- ldrb r1, [r3]\n\
- mov r10, r2\n\
- ldrh r0, [r0]\n\
- cmp r1, r0\n\
- bne _08052C80\n\
- adds r0, r4, 0x2\n\
- adds r0, r6\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x5\n\
- bhi _08052C80\n\
- ldr r7, =gBattleMons\n\
- movs r2, 0x58\n\
- adds r0, r5, 0\n\
- muls r0, r2\n\
- adds r3, r0, r7\n\
- movs r0, 0x21\n\
- adds r0, r3\n\
- mov r12, r0\n\
- adds r0, r4, 0x1\n\
- adds r0, r6\n\
- ldrb r5, [r0]\n\
- mov r1, r12\n\
- ldrb r0, [r1]\n\
- adds r1, r5, 0\n\
- cmp r0, r1\n\
- beq _08052C80\n\
- adds r0, r3, 0\n\
- adds r0, 0x22\n\
- ldrb r0, [r0]\n\
- cmp r0, r1\n\
- bne _08052BB4\n\
-_08052C80:\n\
- movs r7, 0x1\n\
- add r8, r7\n\
- ldr r0, =0x000003e7\n\
- cmp r8, r0\n\
- ble _08052C24\n\
- movs r0, 0\n\
- mov r8, r0\n\
- ldr r1, =gBattlescriptCurrInstr\n\
- mov r12, r1\n\
- ldr r3, =gTypeEffectiveness\n\
- adds r0, r4, 0x1\n\
- adds r0, r3\n\
- mov r9, r0\n\
- adds r5, r3, 0\n\
-_08052C9C:\n\
- ldrb r1, [r5]\n\
- cmp r1, 0xFF\n\
- bgt _08052CA6\n\
- cmp r1, 0xFE\n\
- bge _08052CE0\n\
-_08052CA6:\n\
- mov r4, r10\n\
- ldrb r2, [r4]\n\
- lsls r0, r2, 1\n\
- ldr r7, =gUnknown_02024258\n\
- adds r0, r7\n\
- ldrh r0, [r0]\n\
- cmp r1, r0\n\
- bne _08052CE0\n\
- ldrb r0, [r5, 0x2]\n\
- cmp r0, 0x5\n\
- bhi _08052CE0\n\
- movs r6, 0x58\n\
- adds r0, r2, 0\n\
- muls r0, r6\n\
- ldr r1, =gBattleMons\n\
- adds r2, r0, r1\n\
- adds r4, r2, 0\n\
- adds r4, 0x21\n\
- ldrb r0, [r4]\n\
- mov r7, r9\n\
- ldrb r1, [r7]\n\
- cmp r0, r1\n\
- beq _08052CE0\n\
- adds r0, r2, 0\n\
- adds r0, 0x22\n\
- ldrb r0, [r0]\n\
- cmp r0, r1\n\
- beq _08052CE0\n\
- b _08052BE0\n\
-_08052CE0:\n\
- adds r5, 0x3\n\
- movs r0, 0x3\n\
- add r8, r0\n\
- ldr r0, =0x0000014f\n\
- cmp r8, r0\n\
- bls _08052C9C\n\
- mov r1, r12\n\
- ldr r2, [r1]\n\
- ldrb r1, [r2, 0x1]\n\
- ldrb r0, [r2, 0x2]\n\
- lsls r0, 8\n\
- orrs r1, r0\n\
- ldrb r0, [r2, 0x3]\n\
- lsls r0, 16\n\
- orrs r1, r0\n\
- ldrb r0, [r2, 0x4]\n\
- lsls r0, 24\n\
- orrs r1, r0\n\
- mov r4, r12\n\
- str r1, [r4]\n\
-_08052D08:\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .pool\n\
- .syntax divided");
-}
-#endif // NONMATCHING
-
static void atkA7_setalwayshitflag(void)
{
gStatuses3[gBankTarget] &= ~(STATUS3_ALWAYS_HITS);
@@ -9504,8 +9178,8 @@ static void atkB2_setperishsong(void)
else
{
gStatuses3[i] |= STATUS3_PERISH_SONG;
- gDisableStructs[i].perishSong1 = 3;
- gDisableStructs[i].perishSong2 = 3;
+ gDisableStructs[i].perishSongTimer1 = 3;
+ gDisableStructs[i].perishSongTimer2 = 3;
}
}
@@ -9859,24 +9533,24 @@ static void atkC0_recoverbasedonsunlight(void)
}
#ifdef NONMATCHING
-static void atkC1_hidden_power(void)
+static void atkC1_hidden_power_calc(void)
{
- s32 powerBits;
- s32 typeBits;
+ u32 powerBits = 0;
+ u32 typeBits = 0;
- powerBits = ((gBattleMons[gBankAttacker].hpIV & 2) >> 1)
- | ((gBattleMons[gBankAttacker].attackIV & 2) << 0)
- | ((gBattleMons[gBankAttacker].defenseIV & 2) << 1)
- | ((gBattleMons[gBankAttacker].speedIV & 2) << 2)
- | ((gBattleMons[gBankAttacker].spAttackIV & 2) << 3)
- | ((gBattleMons[gBankAttacker].spDefenseIV & 2) << 4);
+ powerBits |= ((gBattleMons[gBankAttacker].hpIV & 2) >> 1);
+ powerBits |= ((gBattleMons[gBankAttacker].attackIV & 2) << 0);
+ powerBits |= ((gBattleMons[gBankAttacker].defenseIV & 2) << 1);
+ powerBits |= ((gBattleMons[gBankAttacker].speedIV & 2) << 2);
+ powerBits |= ((gBattleMons[gBankAttacker].spAttackIV & 2) << 3);
+ powerBits |= ((gBattleMons[gBankAttacker].spDefenseIV & 2) << 4);
- typeBits = ((gBattleMons[gBankAttacker].hpIV & 1) << 0)
- | ((gBattleMons[gBankAttacker].attackIV & 1) << 1)
- | ((gBattleMons[gBankAttacker].defenseIV & 1) << 2)
- | ((gBattleMons[gBankAttacker].speedIV & 1) << 3)
- | ((gBattleMons[gBankAttacker].spAttackIV & 1) << 4)
- | ((gBattleMons[gBankAttacker].spDefenseIV & 1) << 5);
+ typeBits |= ((gBattleMons[gBankAttacker].hpIV & 1) << 0);
+ typeBits |= ((gBattleMons[gBankAttacker].attackIV & 1) << 1);
+ typeBits |= ((gBattleMons[gBankAttacker].defenseIV & 1) << 2);
+ typeBits |= ((gBattleMons[gBankAttacker].speedIV & 1) << 3);
+ typeBits |= ((gBattleMons[gBankAttacker].spAttackIV & 1) << 4);
+ typeBits |= ((gBattleMons[gBankAttacker].spDefenseIV & 1) << 5);
gDynamicBasePower = (40 * powerBits) / 63 + 30;
@@ -9890,7 +9564,7 @@ static void atkC1_hidden_power(void)
#else
__attribute__((naked))
-static void atkC1_hidden_power(void)
+static void atkC1_hidden_power_calc(void)
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
@@ -11171,7 +10845,7 @@ static void atkF0_give_caught_mon(void)
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
}
- if (FlagGet(SYS_PC_LANETTE))
+ if (FlagGet(FLAG_SYS_PC_LANETTE))
gBattleCommunication[MULTISTRING_CHOOSER]++;
}
diff --git a/src/battle_util.c b/src/battle_util.c
index 468b2c46d..ed3bdef98 100644
--- a/src/battle_util.c
+++ b/src/battle_util.c
@@ -1292,9 +1292,9 @@ bool8 sub_8041364(void)
gBattleTextBuff1[1] = 1;
gBattleTextBuff1[2] = 1;
gBattleTextBuff1[3] = 1;
- gBattleTextBuff1[4] = gDisableStructs[gActiveBank].perishSong1;
+ gBattleTextBuff1[4] = gDisableStructs[gActiveBank].perishSongTimer1;
gBattleTextBuff1[5] = EOS;
- if (gDisableStructs[gActiveBank].perishSong1 == 0)
+ if (gDisableStructs[gActiveBank].perishSongTimer1 == 0)
{
gStatuses3[gActiveBank] &= ~STATUS3_PERISH_SONG;
gBattleMoveDamage = gBattleMons[gActiveBank].hp;
@@ -1302,7 +1302,7 @@ bool8 sub_8041364(void)
}
else
{
- gDisableStructs[gActiveBank].perishSong1--;
+ gDisableStructs[gActiveBank].perishSongTimer1--;
gBattlescriptCurrInstr = gUnknown_082DAF20;
}
BattleScriptExecute(gBattlescriptCurrInstr);
@@ -1805,7 +1805,7 @@ bool8 sub_80423F4(u8 bank, u8 r1, u8 r2)
&& GetMonData(&party[i], MON_DATA_SPECIES2) != 0
&& GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_EGG
// FIXME: Using index[array] instead of array[index] is BAD!
- && i != r1 && i != r2 && i != r7[gBattleStruct->field_5C] && i != r6[gBattleStruct->field_5C])
+ && i != r1 && i != r2 && i != r7[gBattleStruct->monToSwitchIntoId] && i != r6[gBattleStruct->monToSwitchIntoId])
break;
}
return (i == 6);
@@ -3511,16 +3511,16 @@ u8 IsPokeDisobedient(void)
return 0;
if (!IsOtherTrainer(gBattleMons[gBankAttacker].otId, gBattleMons[gBankAttacker].otName))
return 0;
- if (FlagGet(BADGE08_GET))
+ if (FlagGet(FLAG_BADGE08_GET))
return 0;
obedienceLevel = 10;
- if (FlagGet(BADGE02_GET))
+ if (FlagGet(FLAG_BADGE02_GET))
obedienceLevel = 30;
- if (FlagGet(BADGE04_GET))
+ if (FlagGet(FLAG_BADGE04_GET))
obedienceLevel = 50;
- if (FlagGet(BADGE06_GET))
+ if (FlagGet(FLAG_BADGE06_GET))
obedienceLevel = 70;
}
diff --git a/src/battle_util2.c b/src/battle_util2.c
new file mode 100644
index 000000000..e119c85d7
--- /dev/null
+++ b/src/battle_util2.c
@@ -0,0 +1,219 @@
+#include "global.h"
+#include "battle.h"
+#include "battle_controllers.h"
+#include "malloc.h"
+#include "pokemon.h"
+#include "event_data.h"
+#include "abilities.h"
+#include "rng.h"
+
+extern struct BattlePokemon gBattleMons[BATTLE_BANKS_COUNT];
+extern u16 gBattlePartyID[BATTLE_BANKS_COUNT];
+extern u8 gUnknown_0203CF00[];
+extern const u8* gBattlescriptCurrInstr;
+extern u8 gBattleCommunication[];
+extern u8 gActiveBank;
+
+extern const u8 BattleScript_MoveUsedWokeUp[];
+extern const u8 BattleScript_MoveUsedIsFrozen[];
+extern const u8 BattleScript_MoveUsedUnfroze[];
+extern const u8 BattleScript_MoveUsedIsAsleep[];
+
+extern void sub_81D55D0(void);
+extern void sub_81D5694(void);
+extern u8 pokemon_order_func(u8);
+extern void sub_81B8FB0(u8, u8);
+
+void AllocateBattleResources(void)
+{
+ gBattleResources = gBattleResources; // something dumb needed to match
+
+ if (gBattleTypeFlags & BATTLE_TYPE_x4000000)
+ sub_81D55D0();
+
+ gBattleStruct = AllocZeroed(sizeof(*gBattleStruct));
+
+ gBattleResources = AllocZeroed(sizeof(*gBattleResources));
+ gBattleResources->secretBase = AllocZeroed(sizeof(*gBattleResources->secretBase));
+ gBattleResources->flags = AllocZeroed(sizeof(*gBattleResources->flags));
+ gBattleResources->battleScriptsStack = AllocZeroed(sizeof(*gBattleResources->battleScriptsStack));
+ gBattleResources->battleCallbackStack = AllocZeroed(sizeof(*gBattleResources->battleCallbackStack));
+ gBattleResources->statsBeforeLvlUp = AllocZeroed(sizeof(*gBattleResources->statsBeforeLvlUp));
+ gBattleResources->ai = AllocZeroed(sizeof(*gBattleResources->ai));
+ gBattleResources->battleHistory = AllocZeroed(sizeof(*gBattleResources->battleHistory));
+ gBattleResources->AI_ScriptsStack = AllocZeroed(sizeof(*gBattleResources->AI_ScriptsStack));
+
+ gLinkBattleSendBuffer = AllocZeroed(BATTLE_BUFFER_LINK_SIZE);
+ gLinkBattleRecvBuffer = AllocZeroed(BATTLE_BUFFER_LINK_SIZE);
+
+ gUnknown_0202305C = AllocZeroed(0x2000);
+ gUnknown_02023060 = AllocZeroed(0x1000);
+
+ if (gBattleTypeFlags & BATTLE_TYPE_SECRET_BASE)
+ {
+ u16 currSecretBaseId = VarGet(VAR_0x4054);
+ CreateSecretBaseEnemyParty(&gSaveBlock1Ptr->secretBases[currSecretBaseId]);
+ }
+}
+
+void FreeBattleResources(void)
+{
+ if (gBattleTypeFlags & BATTLE_TYPE_x4000000)
+ sub_81D5694();
+
+ if (gBattleResources != NULL)
+ {
+ FREE_AND_SET_NULL(gBattleStruct);
+
+ FREE_AND_SET_NULL(gBattleResources->secretBase);
+ FREE_AND_SET_NULL(gBattleResources->flags);
+ FREE_AND_SET_NULL(gBattleResources->battleScriptsStack);
+ FREE_AND_SET_NULL(gBattleResources->battleCallbackStack);
+ FREE_AND_SET_NULL(gBattleResources->statsBeforeLvlUp);
+ FREE_AND_SET_NULL(gBattleResources->ai);
+ FREE_AND_SET_NULL(gBattleResources->battleHistory);
+ FREE_AND_SET_NULL(gBattleResources->AI_ScriptsStack);
+ FREE_AND_SET_NULL(gBattleResources);
+
+ FREE_AND_SET_NULL(gLinkBattleSendBuffer);
+ FREE_AND_SET_NULL(gLinkBattleRecvBuffer);
+
+ FREE_AND_SET_NULL(gUnknown_0202305C);
+ FREE_AND_SET_NULL(gUnknown_02023060);
+ }
+}
+
+void AdjustFriendshipOnBattleFaint(u8 bank)
+{
+ u8 opposingBank;
+
+ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
+ {
+ u8 opposingBank2;
+
+ opposingBank = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
+ opposingBank2 = GetBankByIdentity(IDENTITY_OPPONENT_MON2);
+
+ if (gBattleMons[opposingBank2].level > gBattleMons[opposingBank].level)
+ opposingBank = opposingBank2;
+ }
+ else
+ {
+ opposingBank = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
+ }
+
+ if (gBattleMons[opposingBank].level > gBattleMons[bank].level)
+ {
+ if (gBattleMons[opposingBank].level - gBattleMons[bank].level > 29)
+ AdjustFriendship(&gPlayerParty[gBattlePartyID[bank]], 8);
+ else
+ AdjustFriendship(&gPlayerParty[gBattlePartyID[bank]], 6);
+ }
+ else
+ {
+ AdjustFriendship(&gPlayerParty[gBattlePartyID[bank]], 6);
+ }
+}
+
+void sub_80571DC(u8 bank, u8 arg1)
+{
+ if (GetBankSide(bank) != SIDE_OPPONENT)
+ {
+ s32 i;
+
+ // gBattleStruct->field_60[0][i]
+
+ for (i = 0; i < 3; i++)
+ gUnknown_0203CF00[i] = *(0 * 3 + i + (u8*)(gBattleStruct->field_60));
+
+ sub_81B8FB0(pokemon_order_func(gBattlePartyID[bank]), pokemon_order_func(arg1));
+
+ for (i = 0; i < 3; i++)
+ *(0 * 3 + i + (u8*)(gBattleStruct->field_60)) = gUnknown_0203CF00[i];
+ }
+}
+
+u32 sub_805725C(u8 bank)
+{
+ u32 effect = 0;
+
+ do
+ {
+ switch (gBattleCommunication[MULTIUSE_STATE])
+ {
+ case 0:
+ if (gBattleMons[bank].status1 & STATUS_SLEEP)
+ {
+ if (UproarWakeUpCheck(bank))
+ {
+ gBattleMons[bank].status1 &= ~(STATUS_SLEEP);
+ gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE);
+ BattleScriptPushCursor();
+ gBattleCommunication[MULTISTRING_CHOOSER] = 1;
+ gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp;
+ effect = 2;
+ }
+ else
+ {
+ u32 toSub;
+
+ if (gBattleMons[bank].ability == ABILITY_EARLY_BIRD)
+ toSub = 2;
+ else
+ toSub = 1;
+
+ if ((gBattleMons[bank].status1 & STATUS_SLEEP) < toSub)
+ gBattleMons[bank].status1 &= ~(STATUS_SLEEP);
+ else
+ gBattleMons[bank].status1 -= toSub;
+
+ if (gBattleMons[bank].status1 & STATUS_SLEEP)
+ {
+ gBattlescriptCurrInstr = BattleScript_MoveUsedIsAsleep;
+ effect = 2;
+ }
+ else
+ {
+ gBattleMons[bank].status2 &= ~(STATUS2_NIGHTMARE);
+ BattleScriptPushCursor();
+ gBattleCommunication[MULTISTRING_CHOOSER] = 0;
+ gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp;
+ effect = 2;
+ }
+ }
+ }
+ gBattleCommunication[MULTIUSE_STATE]++;
+ break;
+ case 1:
+ if (gBattleMons[bank].status1 & STATUS_FREEZE)
+ {
+ if (Random() % 5 != 0)
+ {
+ gBattlescriptCurrInstr = BattleScript_MoveUsedIsFrozen;
+ }
+ else
+ {
+ gBattleMons[bank].status1 &= ~(STATUS_FREEZE);
+ BattleScriptPushCursor();
+ gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze;
+ gBattleCommunication[MULTISTRING_CHOOSER] = 0;
+ }
+ effect = 2;
+ }
+ gBattleCommunication[MULTIUSE_STATE]++;
+ break;
+ case 2:
+ break;
+ }
+
+ } while (gBattleCommunication[MULTIUSE_STATE] != 2 && effect == 0);
+
+ if (effect == 2)
+ {
+ gActiveBank = bank;
+ EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBank].status1);
+ MarkBufferBankForExecution(gActiveBank);
+ }
+
+ return effect;
+}
diff --git a/src/berry.c b/src/berry.c
index 98cf7d932..6d1fd17a1 100644
--- a/src/berry.c
+++ b/src/berry.c
@@ -14,7 +14,7 @@ extern void CB2_ChooseBerry(void);
extern const u8* GetFieldObjectScriptPointerForComparison(void);
extern bool8 sub_8092E9C(u8, u8, u8);
-extern u16 gScriptItemId;
+extern u16 gSpecialVar_ItemId;
extern const u8 BerryTreeScript[];
@@ -1169,7 +1169,7 @@ void FieldObjectInteractionGetBerryTreeData(void)
id = FieldObjectGetBerryTreeId(gSelectedMapObject);
berry = GetBerryTypeByBerryTreeId(id);
ResetBerryTreeSparkleFlag(id);
- unk = gScriptLastTalked;
+ unk = gSpecialVar_LastTalked;
num = gSaveBlock1Ptr->location.mapNum;
group = gSaveBlock1Ptr->location.mapGroup;
if (sub_8092E9C(unk, num, group))
@@ -1202,7 +1202,7 @@ void Bag_ChooseBerry(void)
void FieldObjectInteractionPlantBerryTree(void)
{
- u8 berry = ItemIdToBerryType(gScriptItemId);
+ u8 berry = ItemIdToBerryType(gSpecialVar_ItemId);
PlantBerryTree(FieldObjectGetBerryTreeId(gSelectedMapObject), berry, 1, TRUE);
FieldObjectInteractionGetBerryTreeData();
@@ -1219,7 +1219,7 @@ void FieldObjectInteractionPickBerryTree(void)
void FieldObjectInteractionRemoveBerryTree(void)
{
RemoveBerryTree(FieldObjectGetBerryTreeId(gSelectedMapObject));
- sub_8092EF0(gScriptLastTalked, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
+ sub_8092EF0(gSpecialVar_LastTalked, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
}
u8 PlayerHasBerries(void)
diff --git a/src/braille_puzzles.c b/src/braille_puzzles.c
index bf419eee2..85b2bc509 100755
--- a/src/braille_puzzles.c
+++ b/src/braille_puzzles.c
@@ -33,7 +33,7 @@ void sub_8179944(void);
bool8 ShouldDoBrailleDigEffect(void)
{
- if (!FlagGet(SYS_BRAILLE_DIG)
+ if (!FlagGet(FLAG_SYS_BRAILLE_DIG)
&& (gSaveBlock1Ptr->location.mapGroup == 0x18
&& gSaveBlock1Ptr->location.mapNum == 0x47))
{
@@ -58,7 +58,7 @@ void DoBrailleDigEffect(void)
MapGridSetMetatileIdAt(18, 9, 3636);
DrawWholeMapView();
PlaySE(SE_BAN);
- FlagSet(SYS_BRAILLE_DIG);
+ FlagSet(FLAG_SYS_BRAILLE_DIG);
ScriptContext2_Disable();
}
@@ -81,7 +81,7 @@ bool8 CheckRelicanthWailord(void)
void ShouldDoBrailleStrengthEffectOld(void)
{
/*
- if (!FlagGet(SYS_BRAILLE_STRENGTH) && (gSaveBlock1.location.mapGroup == MAP_GROUP_DESERT_RUINS && gSaveBlock1.location.mapNum == MAP_ID_DESERT_RUINS))
+ if (!FlagGet(FLAG_SYS_BRAILLE_STRENGTH) && (gSaveBlock1.location.mapGroup == MAP_GROUP_DESERT_RUINS && gSaveBlock1.location.mapNum == MAP_ID_DESERT_RUINS))
{
if (gSaveBlock1.pos.x == 10 && gSaveBlock1.pos.y == 23)
return TRUE;
@@ -105,13 +105,13 @@ void DoBrailleStrengthEffect(void)
MapGridSetMetatileIdAt(16, 27, 3636);
DrawWholeMapView();
PlaySE(SE_BAN);
- FlagSet(SYS_BRAILLE_STRENGTH);
+ FlagSet(FLAG_SYS_BRAILLE_STRENGTH);
ScriptContext2_Disable();
}
bool8 ShouldDoBrailleFlyEffect(void)
{
- if (!FlagGet(SYS_BRAILLE_FLY) && (gSaveBlock1.location.mapGroup == MAP_GROUP_ANCIENT_TOMB && gSaveBlock1.location.mapNum == MAP_ID_ANCIENT_TOMB))
+ if (!FlagGet(FLAG_SYS_BRAILLE_FLY) && (gSaveBlock1.location.mapGroup == MAP_GROUP_ANCIENT_TOMB && gSaveBlock1.location.mapNum == MAP_ID_ANCIENT_TOMB))
{
if (gSaveBlock1.pos.x == 8 && gSaveBlock1.pos.y == 25)
return TRUE;
@@ -151,7 +151,7 @@ void UseFlyAncientTomb_Finish(void)
MapGridSetMetatileIdAt(16, 27, 3636);
DrawWholeMapView();
PlaySE(SE_BAN);
- FlagSet(SYS_BRAILLE_FLY);
+ FlagSet(FLAG_SYS_BRAILLE_FLY);
ScriptContext2_Disable();
}
*/
@@ -205,7 +205,7 @@ void SealedChamberShakingEffect(u8 taskId)
// moved later in the function because it was rewritten.
bool8 ShouldDoBrailleStrengthEffect(void)
{
- if (!FlagGet(SYS_BRAILLE_STRENGTH) && (gSaveBlock1Ptr->location.mapGroup == 0x18 && gSaveBlock1Ptr->location.mapNum == 0x06))
+ if (!FlagGet(FLAG_SYS_BRAILLE_STRENGTH) && (gSaveBlock1Ptr->location.mapGroup == 0x18 && gSaveBlock1Ptr->location.mapNum == 0x06))
{
if (gSaveBlock1Ptr->pos.x == 6 && gSaveBlock1Ptr->pos.y == 23)
{ gBraillePuzzleCallbackFlag = STRENGTH_PUZZLE; return TRUE; }
@@ -240,13 +240,13 @@ void sub_8179860(void)
MapGridSetMetatileIdAt(16, 27, 3636);
DrawWholeMapView();
PlaySE(SE_BAN);
- FlagSet(SYS_BRAILLE_STRENGTH);
+ FlagSet(FLAG_SYS_BRAILLE_STRENGTH);
ScriptContext2_Disable();
}
bool8 ShouldDoBrailleFlyEffect(void)
{
- if (!FlagGet(SYS_BRAILLE_FLY) && (gSaveBlock1Ptr->location.mapGroup == 0x18 && gSaveBlock1Ptr->location.mapNum == 0x44))
+ if (!FlagGet(FLAG_SYS_BRAILLE_FLY) && (gSaveBlock1Ptr->location.mapGroup == 0x18 && gSaveBlock1Ptr->location.mapNum == 0x44))
{
if (gSaveBlock1Ptr->pos.x == 8 && gSaveBlock1Ptr->pos.y == 25)
{ gBraillePuzzleCallbackFlag = FLY_PUZZLE; return TRUE; }
@@ -276,7 +276,7 @@ void sub_8179944(void)
MapGridSetMetatileIdAt(16, 27, 3636);
DrawWholeMapView();
PlaySE(SE_BAN);
- FlagSet(SYS_BRAILLE_FLY);
+ FlagSet(FLAG_SYS_BRAILLE_FLY);
ScriptContext2_Disable();
}
@@ -284,7 +284,7 @@ void sub_8179944(void)
void DoBrailleWait(void)
{
/*
- if (!FlagGet(SYS_BRAILLE_WAIT))
+ if (!FlagGet(FLAG_SYS_BRAILLE_WAIT))
CreateTask(Task_BrailleWait, 0x50);
}
@@ -387,7 +387,7 @@ bool8 ShouldDoBrailleRegicePuzzle(void)
if (gSaveBlock1Ptr->location.mapGroup == 0x18 && gSaveBlock1Ptr->location.mapNum == 0x43)
{
// _08179A1A
- if (FlagGet(SYS_BRAILLE_WAIT) != FALSE)
+ if (FlagGet(FLAG_SYS_BRAILLE_WAIT) != FALSE)
return FALSE;
if (FlagGet(2) == FALSE)
return FALSE;
diff --git a/src/calculate_base_damage.c b/src/calculate_base_damage.c
index 8996059f9..89770b17a 100644
--- a/src/calculate_base_damage.c
+++ b/src/calculate_base_damage.c
@@ -84,13 +84,13 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de
if (attacker->ability == ABILITY_HUGE_POWER || attacker->ability == ABILITY_PURE_POWER)
attack *= 2;
- if (ShouldGetStatBadgeBoost(BADGE01_GET, bankAtk))
+ if (ShouldGetStatBadgeBoost(FLAG_BADGE01_GET, bankAtk))
attack = (110 * attack) / 100;
- if (ShouldGetStatBadgeBoost(BADGE05_GET, bankDef))
+ if (ShouldGetStatBadgeBoost(FLAG_BADGE05_GET, bankDef))
defense = (110 * defense) / 100;
- if (ShouldGetStatBadgeBoost(BADGE07_GET, bankAtk))
+ if (ShouldGetStatBadgeBoost(FLAG_BADGE07_GET, bankAtk))
spAttack = (110 * spAttack) / 100;
- if (ShouldGetStatBadgeBoost(BADGE07_GET, bankDef))
+ if (ShouldGetStatBadgeBoost(FLAG_BADGE07_GET, bankDef))
spDefense = (110 * spDefense) / 100;
for (i = 0; i < 17; i++)
diff --git a/src/decoration.c b/src/decoration.c
index 0179d36a1..37cabf652 100644
--- a/src/decoration.c
+++ b/src/decoration.c
@@ -1600,7 +1600,7 @@ void sub_81289F0(u8 taskId)
{
sCurDecorMapX = gTasks[taskId].data[0] - 7;
sCurDecorMapY = gTasks[taskId].data[1] - 7;
- ScriptContext1_SetupScript(gUnknown_08275D1F);
+ ScriptContext1_SetupScript(EventScript_275D1F);
}
gSprites[sDecor_CameraSpriteObjectIdx1].pos1.y += 2;
if (gMapHeader.regionMapSectionId == REGION_MAP_SECRET_BASE)
@@ -1700,7 +1700,7 @@ void sub_8128C64(u8 taskId)
data[2] ++;
break;
case 1:
- ScriptContext1_SetupScript(gUnknown_08275D0C);
+ ScriptContext1_SetupScript(EventScript_275D0C);
data[2] ++;
break;
case 2:
@@ -2133,10 +2133,10 @@ void sub_8129708(void)
u16 i;
gSpecialVar_0x8005 = 0;
- gScriptResult = 0;
+ gSpecialVar_Result = 0;
if (gSpecialVar_0x8004 == sCurDecorSelectedInRearrangement)
{
- gScriptResult = 1;
+ gSpecialVar_Result = 1;
}
else if (gDecorations[gUnknown_0203A17C.items[sDecorRearrangementDataBuffer[gSpecialVar_0x8004].idx]].permission == DECORPERM_SOLID_MAT)
{
@@ -2206,7 +2206,7 @@ void sub_81298EC(u8 taskId)
case 1:
if (!gPaletteFade.active) {
DrawWholeMapView();
- ScriptContext1_SetupScript(gUnknown_08275D2E);
+ ScriptContext1_SetupScript(EventScript_275D2E);
sub_8197434(0, 1);
gTasks[taskId].data[2] = 2;
}
@@ -2691,7 +2691,7 @@ void sub_812A2C4(u8 taskId)
data[2] ++;
break;
case 1:
- ScriptContext1_SetupScript(gUnknown_08275D0C);
+ ScriptContext1_SetupScript(EventScript_275D0C);
data[2] ++;
break;
case 2:
diff --git a/src/event_data.c b/src/event_data.c
index 19a310db5..e3742a147 100644
--- a/src/event_data.c
+++ b/src/event_data.c
@@ -17,11 +17,11 @@ EWRAM_DATA u16 gSpecialVar_0x8008 = 0;
EWRAM_DATA u16 gSpecialVar_0x8009 = 0;
EWRAM_DATA u16 gSpecialVar_0x800A = 0;
EWRAM_DATA u16 gSpecialVar_0x800B = 0;
-EWRAM_DATA u16 gScriptResult = 0;
-EWRAM_DATA u16 gScriptLastTalked = 0;
-EWRAM_DATA u16 gScriptFacing = 0;
-EWRAM_DATA u16 gSpecialVar_0x8012 = 0;
-EWRAM_DATA u16 gSpecialVar_0x8013 = 0;
+EWRAM_DATA u16 gSpecialVar_Result = 0;
+EWRAM_DATA u16 gSpecialVar_LastTalked = 0;
+EWRAM_DATA u16 gSpecialVar_Facing = 0;
+EWRAM_DATA u16 gSpecialVar_MonBoxId = 0;
+EWRAM_DATA u16 gSpecialVar_MonBoxPos = 0;
EWRAM_DATA u16 gSpecialVar_0x8014 = 0;
EWRAM_DATA static u8 gUnknown_020375FC[16] = {0};
@@ -40,11 +40,11 @@ void ClearTempFieldEventData(void)
{
memset(gSaveBlock1Ptr->flags, 0, TEMP_FLAGS_SIZE);
memset(gSaveBlock1Ptr->vars, 0, TEMP_VARS_SIZE);
- FlagClear(SYS_ENC_UP_ITEM);
- FlagClear(SYS_ENC_DOWN_ITEM);
- FlagClear(SYS_USE_STRENGTH);
- FlagClear(SYS_CTRL_OBJ_DELETE);
- FlagClear(SYS_UNKNOWN_880);
+ FlagClear(FLAG_SYS_ENC_UP_ITEM);
+ FlagClear(FLAG_SYS_ENC_DOWN_ITEM);
+ FlagClear(FLAG_SYS_USE_STRENGTH);
+ FlagClear(FLAG_SYS_CTRL_OBJ_DELETE);
+ FlagClear(FLAG_SYS_UNKNOWN_880);
}
// probably had different flag splits at one point.
@@ -58,7 +58,7 @@ void DisableNationalPokedex(void)
u16 *nationalDexVar = GetVarPointer(VAR_NATIONAL_DEX);
gSaveBlock2Ptr->pokedex.nationalMagic = 0;
*nationalDexVar = 0;
- FlagClear(SYS_NATIONAL_DEX);
+ FlagClear(FLAG_SYS_NATIONAL_DEX);
}
void EnableNationalPokedex(void)
@@ -66,7 +66,7 @@ void EnableNationalPokedex(void)
u16 *nationalDexVar = GetVarPointer(VAR_NATIONAL_DEX);
gSaveBlock2Ptr->pokedex.nationalMagic = 0xDA;
*nationalDexVar = 0x302;
- FlagSet(SYS_NATIONAL_DEX);
+ FlagSet(FLAG_SYS_NATIONAL_DEX);
gSaveBlock2Ptr->pokedex.unknown1 = 1;
gSaveBlock2Ptr->pokedex.order = 0;
sub_80BB358();
@@ -74,7 +74,7 @@ void EnableNationalPokedex(void)
bool32 IsNationalPokedexEnabled(void)
{
- if (gSaveBlock2Ptr->pokedex.nationalMagic == 0xDA && VarGet(VAR_NATIONAL_DEX) == 0x302 && FlagGet(SYS_NATIONAL_DEX))
+ if (gSaveBlock2Ptr->pokedex.nationalMagic == 0xDA && VarGet(VAR_NATIONAL_DEX) == 0x302 && FlagGet(FLAG_SYS_NATIONAL_DEX))
return TRUE;
else
return FALSE;
@@ -82,32 +82,32 @@ bool32 IsNationalPokedexEnabled(void)
void DisableMysteryEvent(void)
{
- FlagClear(SYS_MYSTERY_EVENT_ENABLE);
+ FlagClear(FLAG_SYS_MYSTERY_EVENT_ENABLE);
}
void EnableMysteryEvent(void)
{
- FlagSet(SYS_MYSTERY_EVENT_ENABLE);
+ FlagSet(FLAG_SYS_MYSTERY_EVENT_ENABLE);
}
bool32 IsMysteryEventEnabled(void)
{
- return FlagGet(SYS_MYSTERY_EVENT_ENABLE);
+ return FlagGet(FLAG_SYS_MYSTERY_EVENT_ENABLE);
}
void DisableMysteryGift(void)
{
- FlagClear(SYS_MYSTERY_GIFT_ENABLE);
+ FlagClear(FLAG_SYS_MYSTERY_GIFT_ENABLE);
}
void EnableMysteryGift(void)
{
- FlagSet(SYS_MYSTERY_GIFT_ENABLE);
+ FlagSet(FLAG_SYS_MYSTERY_GIFT_ENABLE);
}
bool32 IsMysteryGiftEnabled(void)
{
- return FlagGet(SYS_MYSTERY_GIFT_ENABLE);
+ return FlagGet(FLAG_SYS_MYSTERY_GIFT_ENABLE);
}
void sub_809D4D8(void)
@@ -145,18 +145,18 @@ void sub_809D570(void)
void DisableResetRTC(void)
{
VarSet(VAR_RESET_RTC_ENABLE, 0);
- FlagClear(SYS_RESET_RTC_ENABLE);
+ FlagClear(FLAG_SYS_RESET_RTC_ENABLE);
}
void EnableResetRTC(void)
{
VarSet(VAR_RESET_RTC_ENABLE, 0x920);
- FlagSet(SYS_RESET_RTC_ENABLE);
+ FlagSet(FLAG_SYS_RESET_RTC_ENABLE);
}
bool32 CanResetRTC(void)
{
- if (FlagGet(SYS_RESET_RTC_ENABLE) && VarGet(VAR_RESET_RTC_ENABLE) == 0x920)
+ if (FlagGet(FLAG_SYS_RESET_RTC_ENABLE) && VarGet(VAR_RESET_RTC_ENABLE) == 0x920)
return TRUE;
else
return FALSE;
diff --git a/src/field_map_obj.c b/src/field_map_obj.c
index 9932563f2..dfdeb63a3 100755
--- a/src/field_map_obj.c
+++ b/src/field_map_obj.c
@@ -1765,10 +1765,10 @@ void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat)
switch (decorCat)
{
case DECORCAT_DOLL:
- sub_808F228(&gMapObjects[mapObjectId], gUnknown_082766A2);
+ sub_808F228(&gMapObjects[mapObjectId], EventScript_2766A2);
break;
case DECORCAT_CUSHION:
- sub_808F228(&gMapObjects[mapObjectId], gUnknown_082766A6);
+ sub_808F228(&gMapObjects[mapObjectId], EventScript_2766A6);
break;
}
}
diff --git a/src/field_special_scene.c b/src/field_special_scene.c
index 54c1d8144..f92f342eb 100755
--- a/src/field_special_scene.c
+++ b/src/field_special_scene.c
@@ -354,7 +354,7 @@ void sub_80FB768(void)
void sub_80FB7A4(void)
{
- FlagSet(SYS_CRUISE_MODE);
+ FlagSet(FLAG_SYS_CRUISE_MODE);
FlagSet(0x4001);
FlagSet(0x4000);
saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
diff --git a/src/item.c b/src/item.c
index 0114676b6..32347623e 100644
--- a/src/item.c
+++ b/src/item.c
@@ -165,11 +165,11 @@ bool8 HasAtLeastOneBerry(void)
{
if (CheckBagHasItem(i, 1) == TRUE)
{
- gScriptResult = 1;
+ gSpecialVar_Result = 1;
return TRUE;
}
}
- gScriptResult = 0;
+ gSpecialVar_Result = 0;
return FALSE;
}
diff --git a/src/lilycove_lady.c b/src/lilycove_lady.c
index 3b7ae49f2..62171e475 100644
--- a/src/lilycove_lady.c
+++ b/src/lilycove_lady.c
@@ -226,7 +226,7 @@ static EWRAM_DATA struct LilycoveLadyFavour *gUnknown_0203CD64 = NULL;
static EWRAM_DATA struct LilycoveLadyQuiz *gUnknown_0203CD68 = NULL;
static EWRAM_DATA struct LilycoveLadyContest *gUnknown_0203CD6C = NULL;
-extern EWRAM_DATA u16 gScriptItemId;
+extern EWRAM_DATA u16 gSpecialVar_ItemId;
u8 GetLilycoveLadyId(void)
{
@@ -242,11 +242,11 @@ void sub_818D9C0(void)
{
lilycoveLady = &gSaveBlock1Ptr->lilycoveLady;
VarSet(VAR_0x4011, gUnknown_0860B074[lilycoveLady->contest.category]);
- gScriptResult = TRUE;
+ gSpecialVar_Result = TRUE;
}
else
{
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
}
}
@@ -308,7 +308,7 @@ void SetLilycoveLadyRandomly(void)
void sub_818DAEC(void)
{
- gScriptResult = GetLilycoveLadyId();
+ gSpecialVar_Result = GetLilycoveLadyId();
}
static u8 sub_818DB04(const u16 *data)
@@ -459,7 +459,7 @@ static bool8 sub_818DD84(u16 itemId)
bool8 sub_818DE44(void)
{
- return sub_818DD84(gScriptItemId);
+ return sub_818DD84(gSpecialVar_ItemId);
}
bool8 sub_818DE5C(void)
@@ -845,7 +845,7 @@ void sub_818E47C(void)
void sub_818E490(void)
{
- RemoveBagItem(gScriptItemId, 1);
+ RemoveBagItem(gSpecialVar_ItemId, 1);
}
void sub_818E4A4(void)
@@ -853,7 +853,7 @@ void sub_818E4A4(void)
u8 i;
gUnknown_0203CD68 = &gSaveBlock1Ptr->lilycoveLady.quiz;
- gUnknown_0203CD68->itemId = gScriptItemId;
+ gUnknown_0203CD68->itemId = gSpecialVar_ItemId;
for (i = 0; i < 4; i ++)
{
gUnknown_0203CD68->playerTrainerId[i] = gSaveBlock2Ptr->playerTrainerId[i];
diff --git a/src/lottery_corner.c b/src/lottery_corner.c
index 3939f7d7f..211b78f19 100644
--- a/src/lottery_corner.c
+++ b/src/lottery_corner.c
@@ -42,7 +42,7 @@ void SetRandomLotteryNumber(u16 i)
void RetrieveLotteryNumber(void)
{
u16 lottoNumber = GetLotteryNumber();
- gScriptResult = lottoNumber;
+ gSpecialVar_Result = lottoNumber;
}
void PickLotteryCornerTicket(void)
@@ -66,7 +66,7 @@ void PickLotteryCornerTicket(void)
if (!GetMonData(pkmn, MON_DATA_IS_EGG))
{
u32 otId = GetMonData(pkmn, MON_DATA_OT_ID);
- u8 numMatchingDigits = GetMatchingDigits(gScriptResult, otId);
+ u8 numMatchingDigits = GetMatchingDigits(gSpecialVar_Result, otId);
if (numMatchingDigits > gSpecialVar_0x8004 && numMatchingDigits > 1)
{
@@ -90,7 +90,7 @@ void PickLotteryCornerTicket(void)
!GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_IS_EGG))
{
u32 otId = GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_OT_ID);
- u8 numMatchingDigits = GetMatchingDigits(gScriptResult, otId);
+ u8 numMatchingDigits = GetMatchingDigits(gSpecialVar_Result, otId);
if (numMatchingDigits > gSpecialVar_0x8004 && numMatchingDigits > 1)
{
diff --git a/src/mail.c b/src/mail.c
index 1060d73bd..1ceb1be1a 100644
--- a/src/mail.c
+++ b/src/mail.c
@@ -386,7 +386,7 @@ bool8 sub_81215EC(void)
CopyBgTilemapBufferToVram(2);
break;
case 12:
- LoadPalette(sub_8098C64(), 240, 32);
+ LoadPalette(GetOverworldTextboxPalettePtr(), 240, 32);
gPlttBufferUnfaded[250] = gUnknown_0859F2B8[gUnknown_0203A134->mailType].color10;
gPlttBufferFaded[250] = gUnknown_0859F2B8[gUnknown_0203A134->mailType].color10;
gPlttBufferUnfaded[251] = gUnknown_0859F2B8[gUnknown_0203A134->mailType].color12;
diff --git a/src/new_game.c b/src/new_game.c
index d0666dd71..75e80dc8e 100644
--- a/src/new_game.c
+++ b/src/new_game.c
@@ -59,7 +59,7 @@ extern void ResetContestLinkResults(void);
extern void ResetPokeJumpResults(void);
extern void SetBerryPowder(u32* powder, u32 newValue);
-extern u8 gUnknown_082715DE[];
+extern u8 EventScript_2715DE[];
void WriteUnalignedWord(u32 var, u8 *dataPtr)
{
@@ -198,7 +198,7 @@ void NewGameInitData(void)
ResetFanClub();
ResetLotteryCorner();
WarpToTruck();
- ScriptContext2_RunNewScript(gUnknown_082715DE);
+ ScriptContext2_RunNewScript(EventScript_2715DE);
ResetMiniGamesResults();
copy_strings_to_sav1();
SetLilycoveLady();
diff --git a/src/pokemon_2.c b/src/pokemon_2.c
index bb0e265b5..7014be492 100644
--- a/src/pokemon_2.c
+++ b/src/pokemon_2.c
@@ -1087,10 +1087,10 @@ u8 SendMonToPC(struct Pokemon* mon)
{
MonRestorePP(mon);
CopyMon(checkingMon, &mon->box, sizeof(mon->box));
- gSpecialVar_0x8012 = boxNo;
- gSpecialVar_0x8013 = boxPos;
+ gSpecialVar_MonBoxId = boxNo;
+ gSpecialVar_MonBoxPos = boxPos;
if (get_unknown_box_id() != boxNo)
- FlagClear(SYS_STORAGE_UNKNOWN_FLAG);
+ FlagClear(FLAG_SYS_STORAGE_UNKNOWN_FLAG);
VarSet(VAR_STORAGE_UNKNOWN, boxNo);
return MON_GIVEN_TO_PC;
}
diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c
index 1758fba32..ec0103bc7 100644
--- a/src/pokemon_size_record.c
+++ b/src/pokemon_size_record.c
@@ -109,13 +109,13 @@ static void FormatMonSizeRecord(u8 *string, u32 size)
static u8 CompareMonSize(u16 species, u16 *sizeRecord)
{
- if (gScriptResult == 0xFF)
+ if (gSpecialVar_Result == 0xFF)
{
return 0;
}
else
{
- struct Pokemon *pkmn = &gPlayerParty[gScriptResult];
+ struct Pokemon *pkmn = &gPlayerParty[gSpecialVar_Result];
if (GetMonData(pkmn, MON_DATA_IS_EGG) == TRUE || GetMonData(pkmn, MON_DATA_SPECIES) != species)
{
@@ -173,7 +173,7 @@ void CompareSeedotSize(void)
{
u16 *sizeRecord = GetVarPointer(VAR_SEEDOT_SIZE_RECORD);
- gScriptResult = CompareMonSize(SPECIES_SEEDOT, sizeRecord);
+ gSpecialVar_Result = CompareMonSize(SPECIES_SEEDOT, sizeRecord);
}
void InitLotadSizeRecord(void)
@@ -192,7 +192,7 @@ void CompareLotadSize(void)
{
u16 *sizeRecord = GetVarPointer(VAR_LOTAD_SIZE_RECORD);
- gScriptResult = CompareMonSize(SPECIES_LOTAD, sizeRecord);
+ gSpecialVar_Result = CompareMonSize(SPECIES_LOTAD, sizeRecord);
}
void GiveGiftRibbonToParty(u8 index, u8 ribbonId)
@@ -217,6 +217,6 @@ void GiveGiftRibbonToParty(u8 index, u8 ribbonId)
}
}
if (gotRibbon)
- FlagSet(SYS_RIBBON_GET);
+ FlagSet(FLAG_SYS_RIBBON_GET);
}
}
diff --git a/src/safari_zone.c b/src/safari_zone.c
index 77c6bbd61..d3d40af28 100644
--- a/src/safari_zone.c
+++ b/src/safari_zone.c
@@ -20,10 +20,10 @@ struct PokeblockFeeder
extern u8 gBattleOutcome;
extern void* gFieldCallback;
-extern u8 gUnknown_082A4B8A[];
-extern u8 gUnknown_082A4B6F[];
-extern u8 gUnknown_082A4B4C[];
-extern u8 gUnknown_082A4B9B[];
+extern u8 EventScript_2A4B8A[];
+extern u8 EventScript_2A4B6F[];
+extern u8 EventScript_2A4B4C[];
+extern u8 EventScript_2A4B9B[];
extern const u8* const gPokeblockNames[];
extern void sub_80EE44C(u8, u8);
@@ -50,17 +50,17 @@ static void DecrementFeederStepCounters(void);
bool32 GetSafariZoneFlag(void)
{
- return FlagGet(SYS_SAFARI_MODE);
+ return FlagGet(FLAG_SYS_SAFARI_MODE);
}
void SetSafariZoneFlag(void)
{
- FlagSet(SYS_SAFARI_MODE);
+ FlagSet(FLAG_SYS_SAFARI_MODE);
}
void ResetSafariZoneFlag(void)
{
- FlagClear(SYS_SAFARI_MODE);
+ FlagClear(FLAG_SYS_SAFARI_MODE);
}
void EnterSafariMode(void)
@@ -94,7 +94,7 @@ bool8 SafariZoneTakeStep(void)
sSafariZoneStepCounter--;
if (sSafariZoneStepCounter == 0)
{
- ScriptContext1_SetupScript(gUnknown_082A4B8A);
+ ScriptContext1_SetupScript(EventScript_2A4B8A);
return TRUE;
}
return FALSE;
@@ -102,7 +102,7 @@ bool8 SafariZoneTakeStep(void)
void SafariZoneRetirePrompt(void)
{
- ScriptContext1_SetupScript(gUnknown_082A4B6F);
+ ScriptContext1_SetupScript(EventScript_2A4B6F);
}
void sub_80FC190(void)
@@ -116,14 +116,14 @@ void sub_80FC190(void)
}
else if (gBattleOutcome == BATTLE_SAFARI_OUT_OF_BALLS)
{
- ScriptContext2_RunNewScript(gUnknown_082A4B4C);
+ ScriptContext2_RunNewScript(EventScript_2A4B4C);
warp_in();
gFieldCallback = sub_80AF6F0;
SetMainCallback2(c2_load_new_map);
}
else if (gBattleOutcome == BATTLE_CAUGHT)
{
- ScriptContext1_SetupScript(gUnknown_082A4B9B);
+ ScriptContext1_SetupScript(EventScript_2A4B9B);
ScriptContext1_Stop();
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
}
@@ -152,13 +152,13 @@ void GetPokeblockFeederInFront(void)
&& sPokeblockFeeders[i].x == x
&& sPokeblockFeeders[i].y == y)
{
- gScriptResult = i;
+ gSpecialVar_Result = i;
StringCopy(gStringVar1, gPokeblockNames[sPokeblockFeeders[i].pokeblock.color]);
return;
}
}
- gScriptResult = -1;
+ gSpecialVar_Result = -1;
}
void GetPokeblockFeederWithinRange(void)
@@ -181,13 +181,13 @@ void GetPokeblockFeederWithinRange(void)
y *= -1;
if ((x + y) <= 5)
{
- gScriptResult = i;
+ gSpecialVar_Result = i;
return;
}
}
}
- gScriptResult = -1;
+ gSpecialVar_Result = -1;
}
// unused
@@ -195,20 +195,20 @@ struct Pokeblock *SafariZoneGetPokeblockInFront(void)
{
GetPokeblockFeederInFront();
- if (gScriptResult == 0xFFFF)
+ if (gSpecialVar_Result == 0xFFFF)
return NULL;
else
- return &sPokeblockFeeders[gScriptResult].pokeblock;
+ return &sPokeblockFeeders[gSpecialVar_Result].pokeblock;
}
struct Pokeblock *SafariZoneGetActivePokeblock(void)
{
GetPokeblockFeederWithinRange();
- if (gScriptResult == 0xFFFF)
+ if (gSpecialVar_Result == 0xFFFF)
return NULL;
else
- return &sPokeblockFeeders[gScriptResult].pokeblock;
+ return &sPokeblockFeeders[gSpecialVar_Result].pokeblock;
}
void SafariZoneActivatePokeblockFeeder(u8 pkblId)
@@ -255,13 +255,13 @@ bool8 GetInFrontFeederPokeblockAndSteps(void)
{
GetPokeblockFeederInFront();
- if (gScriptResult == 0xFFFF)
+ if (gSpecialVar_Result == 0xFFFF)
{
return FALSE;
}
ConvertIntToDecimalStringN(gStringVar2,
- sPokeblockFeeders[gScriptResult].stepCounter,
+ sPokeblockFeeders[gSpecialVar_Result].stepCounter,
STR_CONV_MODE_LEADING_ZEROS, 3);
return TRUE;
diff --git a/src/scrcmd.c b/src/scrcmd.c
index af314609c..183b9bab5 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -69,9 +69,9 @@ extern u16 gSpecialVar_0x8001;
extern u16 gSpecialVar_0x8002;
extern u16 gSpecialVar_0x8004;
-extern u16 gScriptResult;
+extern u16 gSpecialVar_Result;
-extern u16 gScriptContestCategory;
+extern u16 gSpecialVar_ContestCategory;
IWRAM_DATA u8 gUnknown_03000F30;
@@ -491,25 +491,25 @@ bool8 ScrCmd_random(struct ScriptContext *ctx)
{
u16 max = VarGet(ScriptReadHalfword(ctx));
- gScriptResult = Random() % max;
+ gSpecialVar_Result = Random() % max;
return FALSE;
}
-bool8 ScrCmd_additem(struct ScriptContext *ctx)
+bool8 ScrCmd_giveitem(struct ScriptContext *ctx)
{
u16 itemId = VarGet(ScriptReadHalfword(ctx));
u32 quantity = VarGet(ScriptReadHalfword(ctx));
- gScriptResult = AddBagItem(itemId, (u8)quantity);
+ gSpecialVar_Result = AddBagItem(itemId, (u8)quantity);
return FALSE;
}
-bool8 ScrCmd_removeitem(struct ScriptContext *ctx)
+bool8 ScrCmd_takeitem(struct ScriptContext *ctx)
{
u16 itemId = VarGet(ScriptReadHalfword(ctx));
u32 quantity = VarGet(ScriptReadHalfword(ctx));
- gScriptResult = RemoveBagItem(itemId, (u8)quantity);
+ gSpecialVar_Result = RemoveBagItem(itemId, (u8)quantity);
return FALSE;
}
@@ -518,7 +518,7 @@ bool8 ScrCmd_checkitemspace(struct ScriptContext *ctx)
u16 itemId = VarGet(ScriptReadHalfword(ctx));
u32 quantity = VarGet(ScriptReadHalfword(ctx));
- gScriptResult = CheckBagHasSpace(itemId, (u8)quantity);
+ gSpecialVar_Result = CheckBagHasSpace(itemId, (u8)quantity);
return FALSE;
}
@@ -527,7 +527,7 @@ bool8 ScrCmd_checkitem(struct ScriptContext *ctx)
u16 itemId = VarGet(ScriptReadHalfword(ctx));
u32 quantity = VarGet(ScriptReadHalfword(ctx));
- gScriptResult = CheckBagHasItem(itemId, (u8)quantity);
+ gSpecialVar_Result = CheckBagHasItem(itemId, (u8)quantity);
return FALSE;
}
@@ -535,16 +535,16 @@ bool8 ScrCmd_checkitemtype(struct ScriptContext *ctx)
{
u16 itemId = VarGet(ScriptReadHalfword(ctx));
- gScriptResult = GetPocketByItemId(itemId);
+ gSpecialVar_Result = GetPocketByItemId(itemId);
return FALSE;
}
-bool8 ScrCmd_addpcitem(struct ScriptContext *ctx)
+bool8 ScrCmd_givepcitem(struct ScriptContext *ctx)
{
u16 itemId = VarGet(ScriptReadHalfword(ctx));
u16 quantity = VarGet(ScriptReadHalfword(ctx));
- gScriptResult = AddPCItem(itemId, quantity);
+ gSpecialVar_Result = AddPCItem(itemId, quantity);
return FALSE;
}
@@ -553,39 +553,39 @@ bool8 ScrCmd_checkpcitem(struct ScriptContext *ctx)
u16 itemId = VarGet(ScriptReadHalfword(ctx));
u16 quantity = VarGet(ScriptReadHalfword(ctx));
- gScriptResult = CheckPCHasItem(itemId, quantity);
+ gSpecialVar_Result = CheckPCHasItem(itemId, quantity);
return FALSE;
}
-bool8 ScrCmd_adddecor(struct ScriptContext *ctx)
+bool8 ScrCmd_givedecoration(struct ScriptContext *ctx)
{
u32 decorId = VarGet(ScriptReadHalfword(ctx));
- gScriptResult = DecorationAdd(decorId);
+ gSpecialVar_Result = DecorationAdd(decorId);
return FALSE;
}
-bool8 ScrCmd_removedecor(struct ScriptContext *ctx)
+bool8 ScrCmd_takedecoration(struct ScriptContext *ctx)
{
u32 decorId = VarGet(ScriptReadHalfword(ctx));
- gScriptResult = DecorationRemove(decorId);
+ gSpecialVar_Result = DecorationRemove(decorId);
return FALSE;
}
-bool8 ScrCmd_checkdecor(struct ScriptContext *ctx)
+bool8 ScrCmd_checkdecorspace(struct ScriptContext *ctx)
{
u32 decorId = VarGet(ScriptReadHalfword(ctx));
- gScriptResult = DecorationCheckSpace(decorId);
+ gSpecialVar_Result = DecorationCheckSpace(decorId);
return FALSE;
}
-bool8 ScrCmd_hasdecor(struct ScriptContext *ctx)
+bool8 ScrCmd_checkdecor(struct ScriptContext *ctx)
{
u32 decorId = VarGet(ScriptReadHalfword(ctx));
- gScriptResult = CheckHasDecoration(decorId);
+ gSpecialVar_Result = CheckHasDecoration(decorId);
return FALSE;
}
@@ -613,14 +613,14 @@ bool8 ScrCmd_incrementgamestat(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_animdarklevel(struct ScriptContext *ctx)
+bool8 ScrCmd_animateflash(struct ScriptContext *ctx)
{
sub_80B009C(ScriptReadByte(ctx));
ScriptContext1_Stop();
return TRUE;
}
-bool8 ScrCmd_setdarklevel(struct ScriptContext *ctx)
+bool8 ScrCmd_setflashradius(struct ScriptContext *ctx)
{
u16 flashLevel = VarGet(ScriptReadHalfword(ctx));
@@ -643,12 +643,12 @@ bool8 ScrCmd_fadescreen(struct ScriptContext *ctx)
return TRUE;
}
-bool8 ScrCmd_fadescreendelay(struct ScriptContext *ctx)
+bool8 ScrCmd_fadescreenspeed(struct ScriptContext *ctx)
{
u8 mode = ScriptReadByte(ctx);
- u8 delay = ScriptReadByte(ctx);
+ u8 speed = ScriptReadByte(ctx);
- fade_screen(mode, delay);
+ fade_screen(mode, speed);
SetupNativeScript(ctx, IsPaletteNotActive);
return TRUE;
}
@@ -736,7 +736,7 @@ bool8 ScrCmd_doweather(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_tileeffect(struct ScriptContext *ctx)
+bool8 ScrCmd_setstepcallback(struct ScriptContext *ctx)
{
ActivatePerStepCallback(ScriptReadByte(ctx));
return FALSE;
@@ -907,9 +907,9 @@ bool8 ScrCmd_getplayerxy(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_countpokemon(struct ScriptContext *ctx)
+bool8 ScrCmd_getpartysize(struct ScriptContext *ctx)
{
- gScriptResult = CalculatePlayerPartyCount();
+ gSpecialVar_Result = CalculatePlayerPartyCount();
return FALSE;
}
@@ -1121,7 +1121,7 @@ bool8 ScrCmd_moveobjectoffscreen(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_showobject(struct ScriptContext *ctx)
+bool8 ScrCmd_showobject_at(struct ScriptContext *ctx)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
u8 mapGroup = ScriptReadByte(ctx);
@@ -1131,7 +1131,7 @@ bool8 ScrCmd_showobject(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_hideobject(struct ScriptContext *ctx)
+bool8 ScrCmd_hideobject_at(struct ScriptContext *ctx)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
u8 mapGroup = ScriptReadByte(ctx);
@@ -1339,7 +1339,7 @@ static bool8 WaitForAorBPress(void)
return FALSE;
}
-bool8 ScrCmd_waitbutton(struct ScriptContext *ctx)
+bool8 ScrCmd_waitbuttonpress(struct ScriptContext *ctx)
{
SetupNativeScript(ctx, WaitForAorBPress);
return TRUE;
@@ -1454,7 +1454,7 @@ bool8 ScrCmd_drawboxtext(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_drawpokepic(struct ScriptContext *ctx)
+bool8 ScrCmd_showmonpic(struct ScriptContext *ctx)
{
u16 species = VarGet(ScriptReadHalfword(ctx));
u8 x = ScriptReadByte(ctx);
@@ -1464,7 +1464,7 @@ bool8 ScrCmd_drawpokepic(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_erasepokepic(struct ScriptContext *ctx)
+bool8 ScrCmd_hidemonpic(struct ScriptContext *ctx)
{
bool8 (*func)(void) = ScriptMenu_GetPicboxWaitFunc();
@@ -1474,7 +1474,7 @@ bool8 ScrCmd_erasepokepic(struct ScriptContext *ctx)
return TRUE;
}
-bool8 ScrCmd_drawcontestwinner(struct ScriptContext *ctx)
+bool8 ScrCmd_showcontestwinner(struct ScriptContext *ctx)
{
u8 v1 = ScriptReadByte(ctx);
@@ -1694,7 +1694,7 @@ bool8 ScrCmd_vmessage(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_getspeciesname(struct ScriptContext *ctx)
+bool8 ScrCmd_bufferspeciesname(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u16 species = VarGet(ScriptReadHalfword(ctx));
@@ -1703,7 +1703,7 @@ bool8 ScrCmd_getspeciesname(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_getfirstpartypokename(struct ScriptContext *ctx)
+bool8 ScrCmd_bufferleadmonspeciesname(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
@@ -1714,7 +1714,7 @@ bool8 ScrCmd_getfirstpartypokename(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_getpartypokename(struct ScriptContext *ctx)
+bool8 ScrCmd_bufferpartymonnick(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u16 partyIndex = VarGet(ScriptReadHalfword(ctx));
@@ -1724,7 +1724,7 @@ bool8 ScrCmd_getpartypokename(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_getitemname(struct ScriptContext *ctx)
+bool8 ScrCmd_bufferitemname(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u16 itemId = VarGet(ScriptReadHalfword(ctx));
@@ -1733,7 +1733,7 @@ bool8 ScrCmd_getitemname(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_getitemnameplural(struct ScriptContext *ctx)
+bool8 ScrCmd_bufferitemnameplural(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u16 itemId = VarGet(ScriptReadHalfword(ctx));
@@ -1743,7 +1743,7 @@ bool8 ScrCmd_getitemnameplural(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_getdecorname(struct ScriptContext *ctx)
+bool8 ScrCmd_bufferdecorationname(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u16 decorId = VarGet(ScriptReadHalfword(ctx));
@@ -1752,7 +1752,7 @@ bool8 ScrCmd_getdecorname(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_getmovename(struct ScriptContext *ctx)
+bool8 ScrCmd_buffermovename(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u16 moveId = VarGet(ScriptReadHalfword(ctx));
@@ -1761,7 +1761,7 @@ bool8 ScrCmd_getmovename(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_getnumberstring(struct ScriptContext *ctx)
+bool8 ScrCmd_buffernumberstring(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u16 v1 = VarGet(ScriptReadHalfword(ctx));
@@ -1771,7 +1771,7 @@ bool8 ScrCmd_getnumberstring(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_getstdstring(struct ScriptContext *ctx)
+bool8 ScrCmd_bufferstdstring(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u16 index = VarGet(ScriptReadHalfword(ctx));
@@ -1780,7 +1780,7 @@ bool8 ScrCmd_getstdstring(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_getcontesttype(struct ScriptContext *ctx)
+bool8 ScrCmd_buffercontesttype(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u16 index = VarGet(ScriptReadHalfword(ctx));
@@ -1789,7 +1789,7 @@ bool8 ScrCmd_getcontesttype(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_getstring(struct ScriptContext *ctx)
+bool8 ScrCmd_bufferstring(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
const u8 *text = (u8 *)ScriptReadWord(ctx);
@@ -1806,7 +1806,7 @@ bool8 ScrCmd_vloadword(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_vgetstring(struct ScriptContext *ctx)
+bool8 ScrCmd_vbufferstring(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u32 addr = ScriptReadWord(ctx);
@@ -1817,7 +1817,7 @@ bool8 ScrCmd_vgetstring(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_getboxname(struct ScriptContext *ctx)
+bool8 ScrCmd_bufferboxname(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u16 boxId = VarGet(ScriptReadHalfword(ctx));
@@ -1826,7 +1826,7 @@ bool8 ScrCmd_getboxname(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_givepoke(struct ScriptContext *ctx)
+bool8 ScrCmd_givemon(struct ScriptContext *ctx)
{
u16 species = VarGet(ScriptReadHalfword(ctx));
u8 level = ScriptReadByte(ctx);
@@ -1835,7 +1835,7 @@ bool8 ScrCmd_givepoke(struct ScriptContext *ctx)
u32 unkParam2 = ScriptReadWord(ctx);
u8 unkParam3 = ScriptReadByte(ctx);
- gScriptResult = ScriptGiveMon(species, level, item, unkParam1, unkParam2, unkParam3);
+ gSpecialVar_Result = ScriptGiveMon(species, level, item, unkParam1, unkParam2, unkParam3);
return FALSE;
}
@@ -1843,11 +1843,11 @@ bool8 ScrCmd_giveegg(struct ScriptContext *ctx)
{
u16 species = VarGet(ScriptReadHalfword(ctx));
- gScriptResult = ScriptGiveEgg(species);
+ gSpecialVar_Result = ScriptGiveEgg(species);
return FALSE;
}
-bool8 ScrCmd_setpokemove(struct ScriptContext *ctx)
+bool8 ScrCmd_setmonmove(struct ScriptContext *ctx)
{
u8 partyIndex = ScriptReadByte(ctx);
u8 slot = ScriptReadByte(ctx);
@@ -1857,12 +1857,12 @@ bool8 ScrCmd_setpokemove(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_checkpokemove(struct ScriptContext *ctx)
+bool8 ScrCmd_checkpartymove(struct ScriptContext *ctx)
{
u8 i;
u16 moveId = ScriptReadHalfword(ctx);
- gScriptResult = 6;
+ gSpecialVar_Result = 6;
for (i = 0; i < 6; i++)
{
u16 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES, NULL);
@@ -1871,7 +1871,7 @@ bool8 ScrCmd_checkpokemove(struct ScriptContext *ctx)
// UB: GetMonData() arguments don't match function definition
if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) && pokemon_has_move(&gPlayerParty[i], moveId) == TRUE)
{
- gScriptResult = i;
+ gSpecialVar_Result = i;
gSpecialVar_0x8004 = species;
break;
}
@@ -1905,7 +1905,7 @@ bool8 ScrCmd_checkmoney(struct ScriptContext *ctx)
u8 ignore = ScriptReadByte(ctx);
if (!ignore)
- gScriptResult = IsEnoughMoney(&gSaveBlock1Ptr->money, amount);
+ gSpecialVar_Result = IsEnoughMoney(&gSaveBlock1Ptr->money, amount);
return FALSE;
}
@@ -1973,7 +1973,7 @@ bool8 ScrCmd_trainerbattle(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_battlebegin(struct ScriptContext *ctx)
+bool8 ScrCmd_dotrainerbattle(struct ScriptContext *ctx)
{
BattleSetup_StartTrainerBattle();
return TRUE;
@@ -2041,7 +2041,7 @@ bool8 ScrCmd_pokemart(struct ScriptContext *ctx)
return TRUE;
}
-bool8 ScrCmd_pokemartdecor(struct ScriptContext *ctx)
+bool8 ScrCmd_pokemartdecoration(struct ScriptContext *ctx)
{
const void *ptr = (void *)ScriptReadWord(ctx);
@@ -2050,7 +2050,7 @@ bool8 ScrCmd_pokemartdecor(struct ScriptContext *ctx)
return TRUE;
}
-bool8 ScrCmd_pokemartbp(struct ScriptContext *ctx)
+bool8 ScrCmd_pokemartdecoration2(struct ScriptContext *ctx)
{
const void *ptr = (void *)ScriptReadWord(ctx);
@@ -2068,7 +2068,7 @@ bool8 ScrCmd_playslotmachine(struct ScriptContext *ctx)
return TRUE;
}
-bool8 ScrCmd_plantberrytree(struct ScriptContext *ctx)
+bool8 ScrCmd_setberrytree(struct ScriptContext *ctx)
{
u8 treeId = ScriptReadByte(ctx);
u8 berry = ScriptReadByte(ctx);
@@ -2085,7 +2085,7 @@ bool8 ScrCmd_getpricereduction(struct ScriptContext *ctx)
{
u16 value = VarGet(ScriptReadHalfword(ctx));
- gScriptResult = GetPriceReduction(value);
+ gSpecialVar_Result = GetPriceReduction(value);
return FALSE;
}
@@ -2113,7 +2113,7 @@ bool8 ScrCmd_showcontestresults(struct ScriptContext *ctx)
bool8 ScrCmd_contestlinktransfer(struct ScriptContext *ctx)
{
- sub_80F84C4(gScriptContestCategory);
+ sub_80F84C4(gSpecialVar_ContestCategory);
ScriptContext1_Stop();
return TRUE;
}
@@ -2127,7 +2127,7 @@ bool8 ScrCmd_dofieldeffect(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_setfieldeffect(struct ScriptContext *ctx)
+bool8 ScrCmd_setfieldeffectarg(struct ScriptContext *ctx)
{
u8 argNum = ScriptReadByte(ctx);
@@ -2150,7 +2150,7 @@ bool8 ScrCmd_waitfieldeffect(struct ScriptContext *ctx)
return TRUE;
}
-bool8 ScrCmd_sethealplace(struct ScriptContext *ctx)
+bool8 ScrCmd_setrespawn(struct ScriptContext *ctx)
{
u16 healLocationId = VarGet(ScriptReadHalfword(ctx));
@@ -2160,11 +2160,11 @@ bool8 ScrCmd_sethealplace(struct ScriptContext *ctx)
bool8 ScrCmd_checkplayergender(struct ScriptContext *ctx)
{
- gScriptResult = gSaveBlock2Ptr->playerGender;
+ gSpecialVar_Result = gSaveBlock2Ptr->playerGender;
return FALSE;
}
-bool8 ScrCmd_playpokecry(struct ScriptContext *ctx)
+bool8 ScrCmd_playmoncry(struct ScriptContext *ctx)
{
u16 species = VarGet(ScriptReadHalfword(ctx));
u16 mode = VarGet(ScriptReadHalfword(ctx));
@@ -2173,13 +2173,13 @@ bool8 ScrCmd_playpokecry(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_waitpokecry(struct ScriptContext *ctx)
+bool8 ScrCmd_waitmoncry(struct ScriptContext *ctx)
{
SetupNativeScript(ctx, IsCryFinished);
return TRUE;
}
-bool8 ScrCmd_setmaptile(struct ScriptContext *ctx)
+bool8 ScrCmd_setmetatile(struct ScriptContext *ctx)
{
u16 x = VarGet(ScriptReadHalfword(ctx));
u16 y = VarGet(ScriptReadHalfword(ctx));
@@ -2285,9 +2285,9 @@ bool8 ScrCmd_givecoins(struct ScriptContext *ctx)
u16 coins = VarGet(ScriptReadHalfword(ctx));
if (GiveCoins(coins) == TRUE)
- gScriptResult = 0;
+ gSpecialVar_Result = 0;
else
- gScriptResult = 1;
+ gSpecialVar_Result = 1;
return FALSE;
}
@@ -2296,9 +2296,9 @@ bool8 ScrCmd_takecoins(struct ScriptContext *ctx)
u16 coins = VarGet(ScriptReadHalfword(ctx));
if (TakeCoins(coins) == TRUE)
- gScriptResult = 0;
+ gSpecialVar_Result = 0;
else
- gScriptResult = 1;
+ gSpecialVar_Result = 1;
return FALSE;
}
@@ -2353,8 +2353,8 @@ bool8 ScrCmd_cmdD9(struct ScriptContext *ctx)
}
}
-// This command will force the Pokémon to be obedient, you don't get to choose which value to set its obedience to
-bool8 ScrCmd_setpokeobedient(struct ScriptContext *ctx)
+// This command will force the Pokémon to be obedient, you don't get to make it disobedient
+bool8 ScrCmd_setmonobedient(struct ScriptContext *ctx)
{
bool8 obedient = TRUE;
u16 partyIndex = VarGet(ScriptReadHalfword(ctx));
@@ -2363,11 +2363,11 @@ bool8 ScrCmd_setpokeobedient(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_checkpokeobedience(struct ScriptContext *ctx)
+bool8 ScrCmd_checkmonobedience(struct ScriptContext *ctx)
{
u16 partyIndex = VarGet(ScriptReadHalfword(ctx));
- gScriptResult = GetMonData(&gPlayerParty[partyIndex], MON_DATA_OBEDIENCE, NULL);
+ gSpecialVar_Result = GetMonData(&gPlayerParty[partyIndex], MON_DATA_OBEDIENCE, NULL);
return FALSE;
}
@@ -2398,7 +2398,7 @@ bool8 ScrCmd_warpD1(struct ScriptContext *ctx)
return TRUE;
}
-bool8 ScrCmd_setpokemetlocation(struct ScriptContext *ctx)
+bool8 ScrCmd_setmonmetlocation(struct ScriptContext *ctx)
{
u16 partyIndex = VarGet(ScriptReadHalfword(ctx));
u8 location = ScriptReadByte(ctx);
@@ -2414,7 +2414,7 @@ void sub_809BDB4(void)
RemoveWindow(gUnknown_03000F30);
}
-bool8 ScrCmd_gettrainerclass(struct ScriptContext *ctx)
+bool8 ScrCmd_buffertrainerclassname(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u16 trainerClassId = VarGet(ScriptReadHalfword(ctx));
@@ -2423,7 +2423,7 @@ bool8 ScrCmd_gettrainerclass(struct ScriptContext *ctx)
return FALSE;
}
-bool8 ScrCmd_gettrainername(struct ScriptContext *ctx)
+bool8 ScrCmd_buffertrainername(struct ScriptContext *ctx)
{
u8 stringVarIndex = ScriptReadByte(ctx);
u16 trainerClassId = VarGet(ScriptReadHalfword(ctx));
diff --git a/src/secret_base.c b/src/secret_base.c
index 6ba4312b2..89e276e80 100644
--- a/src/secret_base.c
+++ b/src/secret_base.c
@@ -175,14 +175,14 @@ void sub_80E8B6C(void)
{
u16 i;
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
for (i = 0; i < 20; i ++)
{
if (sCurSecretBaseId != gSaveBlock1Ptr->secretBases[i].secretBaseId)
{
continue;
}
- gScriptResult = TRUE;
+ gSpecialVar_Result = TRUE;
VarSet(VAR_0x4054, i);
break;
}
@@ -192,11 +192,11 @@ void sub_80E8BC8(void)
{
if (gSaveBlock1Ptr->secretBases[0].secretBaseId != 0)
{
- gScriptResult = TRUE;
+ gSpecialVar_Result = TRUE;
}
else
{
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
}
}
@@ -544,22 +544,22 @@ void sub_80E933C(void)
metatile = MapGridGetMetatileBehaviorAt(gSpecialVar_0x8006 + 7, gSpecialVar_0x8007 + 7);
if (MetatileBehavior_IsMB_B5(metatile) == TRUE || MetatileBehavior_IsMB_C3(metatile) == TRUE)
{
- gScriptResult = gMapHeader.events->mapObjects[objIdx].graphicsId + VAR_0x3F20;
- VarSet(gScriptResult, gDecorations[roomDecor[decorIdx]].tiles[0]);
- gScriptResult = gMapHeader.events->mapObjects[objIdx].localId;
+ gSpecialVar_Result = gMapHeader.events->mapObjects[objIdx].graphicsId + VAR_0x3F20;
+ VarSet(gSpecialVar_Result, gDecorations[roomDecor[decorIdx]].tiles[0]);
+ gSpecialVar_Result = gMapHeader.events->mapObjects[objIdx].localId;
FlagClear(gSpecialVar_0x8004 + 0xAE);
- show_sprite(gScriptResult, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
- sub_808EBA8(gScriptResult, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007);
- sub_808F254(gScriptResult, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
+ show_sprite(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
+ sub_808EBA8(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007);
+ sub_808F254(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
if (CurrentMapIsSecretBase() == TRUE && VarGet(VAR_0x4054) != 0)
{
if (category == DECORCAT_DOLL)
{
- sub_808F28C(gScriptResult, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, DECORCAT_DOLL);
+ sub_808F28C(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, DECORCAT_DOLL);
}
else if (category == DECORCAT_CUSHION)
{
- sub_808F28C(gScriptResult, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, DECORCAT_CUSHION);
+ sub_808F28C(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, DECORCAT_CUSHION);
}
}
gSpecialVar_0x8004 ++;
@@ -608,14 +608,14 @@ void sub_80E9668(struct Coords16 *coords, struct MapEvents *events)
{
sub_80E9608(coords, events);
sub_80E8B6C();
- ScriptContext1_SetupScript(gUnknown_08275BB7);
+ ScriptContext1_SetupScript(EventScript_275BB7);
}
bool8 sub_80E9680(void)
{
sub_80E8B58();
sub_80E8B6C();
- if (gScriptResult == TRUE)
+ if (gSpecialVar_Result == TRUE)
{
return FALSE;
}
@@ -657,11 +657,11 @@ void sub_80E9744(void)
{
if (gSaveBlock1Ptr->secretBases[0].secretBaseId != sCurSecretBaseId)
{
- gScriptResult = TRUE;
+ gSpecialVar_Result = TRUE;
}
else
{
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
}
}
@@ -1016,15 +1016,15 @@ void sub_80E9BDC(void)
{
if (sub_80E9878(VarGet(VAR_0x4054)) == TRUE)
{
- gScriptResult = 1;
+ gSpecialVar_Result = 1;
}
else if (sub_80E9BA8() > 9)
{
- gScriptResult = 2;
+ gSpecialVar_Result = 2;
}
else
{
- gScriptResult = 0;
+ gSpecialVar_Result = 0;
}
}
@@ -1289,41 +1289,41 @@ const u8 *sub_80EA250(void)
param = sub_80EA20C(VarGet(VAR_0x4054));
if (param == 0)
{
- return gUnknown_08274966;
+ return SecretBase_RedCave1_Text_274966;
}
if (param == 1)
{
- return gUnknown_08274D13;
+ return SecretBase_RedCave1_Text_274D13;
}
if (param == 2)
{
- return gUnknown_08274FFE;
+ return SecretBase_RedCave1_Text_274FFE;
}
if (param == 3)
{
- return gUnknown_08275367;
+ return SecretBase_RedCave1_Text_275367;
}
if (param == 4)
{
- return gUnknown_082756C7;
+ return SecretBase_RedCave1_Text_2756C7;
}
if (param == 5)
{
- return gUnknown_08274B24;
+ return SecretBase_RedCave1_Text_274B24;
}
if (param == 6)
{
- return gUnknown_08274E75;
+ return SecretBase_RedCave1_Text_274E75;
}
if (param == 7)
{
- return gUnknown_082751E1;
+ return SecretBase_RedCave1_Text_2751E1;
}
if (param == 8)
{
- return gUnknown_082754F6;
+ return SecretBase_RedCave1_Text_2754F6;
}
- return gUnknown_082758CC;
+ return SecretBase_RedCave1_Text_2758CC;
}
void sub_80EA2E4(void)
@@ -1335,7 +1335,7 @@ void sub_80EA2E4(void)
void sub_80EA30C(void)
{
- gSaveBlock1Ptr->secretBases[VarGet(VAR_0x4054)].sbr_field_1_5 = gScriptResult;
+ gSaveBlock1Ptr->secretBases[VarGet(VAR_0x4054)].sbr_field_1_5 = gSpecialVar_Result;
}
void sub_80EA354(void)
@@ -1353,7 +1353,7 @@ void sub_80EA354(void)
FlagSet(0x922);
}
gSpecialVar_0x8004 = sub_80EA20C(secretBaseRecordId);
- gScriptResult = gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_5;
+ gSpecialVar_Result = gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_5;
}
diff --git a/src/start_menu.c b/src/start_menu.c
index 37331a922..f45fd8626 100644
--- a/src/start_menu.c
+++ b/src/start_menu.c
@@ -74,12 +74,12 @@ void AddStartMenuAction(u8 action)
static void BuildStartMenuActions_Normal(void)
{
- if (FlagGet(SYS_POKEDEX_GET) == TRUE)
+ if (FlagGet(FLAG_SYS_POKEDEX_GET) == TRUE)
AddStartMenuAction(MENU_ACTION_POKEDEX);
- if (FlagGet(SYS_POKEMON_GET) == TRUE)
+ if (FlagGet(FLAG_SYS_POKEMON_GET) == TRUE)
AddStartMenuAction(MENU_ACTION_POKEMON);
AddStartMenuAction(MENU_ACTION_BAG);
- if (FlagGet(SYS_POKENAV_GET) == TRUE)
+ if (FlagGet(FLAG_SYS_POKENAV_GET) == TRUE)
AddStartMenuAction(MENU_ACTION_POKENAV);
AddStartMenuAction(MENU_ACTION_PLAYER);
AddStartMenuAction(MENU_ACTION_SAVE);
@@ -102,7 +102,7 @@ static void BuildStartMenuActions_LinkMode(void)
{
AddStartMenuAction(MENU_ACTION_POKEMON);
AddStartMenuAction(MENU_ACTION_BAG);
- if (FlagGet(SYS_POKENAV_GET) == TRUE)
+ if (FlagGet(FLAG_SYS_POKENAV_GET) == TRUE)
AddStartMenuAction(MENU_ACTION_POKENAV);
AddStartMenuAction(MENU_ACTION_PLAYER_LINK);
AddStartMenuAction(MENU_ACTION_OPTION);
@@ -113,7 +113,7 @@ static void BuildStartMenuActions_UnionRoom(void)
{
AddStartMenuAction(MENU_ACTION_POKEMON);
AddStartMenuAction(MENU_ACTION_BAG);
- if (FlagGet(SYS_POKENAV_GET) == TRUE)
+ if (FlagGet(FLAG_SYS_POKENAV_GET) == TRUE)
AddStartMenuAction(MENU_ACTION_POKENAV);
AddStartMenuAction(MENU_ACTION_PLAYER);
AddStartMenuAction(MENU_ACTION_OPTION);
diff --git a/src/starter_choose.c b/src/starter_choose.c
new file mode 100644
index 000000000..8cf3cfefa
--- /dev/null
+++ b/src/starter_choose.c
@@ -0,0 +1,391 @@
+#include "global.h"
+#include "starter_choose.h"
+#include "palette.h"
+#include "sprite.h"
+#include "pokemon.h"
+#include "task.h"
+#include "bg.h"
+#include "gpu_regs.h"
+#include "main.h"
+#include "window.h"
+#include "text.h"
+#include "decompress.h"
+#include "menu.h"
+#include "sound.h"
+#include "songs.h"
+#include "event_data.h"
+#include "pokedex.h"
+#include "data2.h"
+#include "international_string_util.h"
+#include "trig.h"
+
+#define STARTER_MON_COUNT 3
+
+// Position of the sprite of the selected starter Pokemon
+#define STARTER_PKMN_POS_X 120
+#define STARTER_PKMN_POS_Y 64
+
+// graphics
+extern const u32 gBirchHelpGfx[];
+extern const u32 gBirchBagTilemap[];
+extern const u32 gBirchGrassTilemap[];
+extern const u16 gBirchBagGrassPal[];
+
+// text
+extern const u8 gText_BirchInTrouble[];
+extern const u8 gText_ConfirmStarterChoice[];
+
+extern const u16 sStarterMon[STARTER_MON_COUNT];
+extern const struct BgTemplate gUnknown_085B1E00[3];
+extern const struct WindowTemplate gUnknown_085B1DCC[];
+extern const struct WindowTemplate gUnknown_085B1DDC;
+extern const struct CompressedSpriteSheet gUnknown_085B1ED8[];
+extern const struct CompressedSpriteSheet gUnknown_085B1EE8[];
+extern const struct SpritePalette gUnknown_085B1EF8[];
+extern const struct SpriteTemplate sSpriteTemplate_PokeBall;
+extern const struct SpriteTemplate sSpriteTemplate_Hand;
+extern const struct SpriteTemplate gUnknown_085B1F40;
+extern const union AffineAnimCmd *const gUnknown_085B1ED0;
+extern const u8 sPokeballCoords[STARTER_MON_COUNT][2];
+extern const struct WindowTemplate gUnknown_085B1DE4;
+extern const u8 gStarterChoose_LabelCoords[][2];
+extern const u8 gUnknown_085B1E0C[];
+extern const u8 gUnknown_085B1E28[][2];
+
+extern void sub_809882C(u8, u16, u8);
+extern void remove_some_task(void);
+extern void clear_scheduled_bg_copies_to_vram(void);
+extern void dp13_810BB8C(void);
+extern void do_scheduled_bg_tilemap_copies_to_vram(void);
+extern u16 sub_818D820(u16);
+extern const u16 *GetOverworldTextboxPalettePtr(void);
+extern u8 sub_818D3E4(u16 species, u32 trainerId, u32 personality, u8 flags, s16 x, s16 y, u8, u16);
+
+// this file's functions
+static void MainCallback2_StarterChoose(void);
+static void sub_8134604(void);
+static void Task_StarterChoose1(u8 taskId);
+static void Task_StarterChoose2(u8 taskId);
+static void Task_StarterChoose3(u8 taskId);
+static void Task_StarterChoose4(u8 taskId);
+static void Task_StarterChoose5(u8 taskId);
+static void Task_StarterChoose6(u8 taskId);
+static void Task_MoveStarterChooseCursor(u8 taskId);
+static void sub_8134668(u8 taskId);
+static void CreateStarterPokemonLabel(u8 selection);
+static u8 CreatePokemonFrontSprite(u16 species, u8 x, u8 y);
+static void StarterPokemonSpriteCallback(struct Sprite *sprite);
+
+static IWRAM_DATA u16 sStarterChooseWindowId;
+
+u16 GetStarterPokemon(u16 chosenStarterId)
+{
+ if (chosenStarterId > STARTER_MON_COUNT)
+ chosenStarterId = 0;
+ return sStarterMon[chosenStarterId];
+}
+
+static void VblankCB_StarterChoose(void)
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+#define tStarterSelection data[0]
+#define tPkmnSpriteId data[1]
+#define tCircleSpriteId data[2]
+
+void CB2_ChooseStarter(void)
+{
+ u16 savedIme;
+ u8 taskId;
+ u8 spriteId;
+
+ SetVBlankCallback(NULL);
+
+ SetGpuReg(REG_OFFSET_DISPCNT, 0);
+ SetGpuReg(REG_OFFSET_BG3CNT, 0);
+ SetGpuReg(REG_OFFSET_BG2CNT, 0);
+ SetGpuReg(REG_OFFSET_BG1CNT, 0);
+ SetGpuReg(REG_OFFSET_BG0CNT, 0);
+
+ ChangeBgX(0, 0, 0);
+ ChangeBgY(0, 0, 0);
+ ChangeBgX(1, 0, 0);
+ ChangeBgY(1, 0, 0);
+ ChangeBgX(2, 0, 0);
+ ChangeBgY(2, 0, 0);
+ ChangeBgX(3, 0, 0);
+ ChangeBgY(3, 0, 0);
+
+ DmaFill16(3, 0, VRAM, VRAM_SIZE);
+ DmaFill32(3, 0, OAM, OAM_SIZE);
+ DmaFill16(3, 0, PLTT, PLTT_SIZE);
+
+ LZ77UnCompVram(&gBirchHelpGfx, (void *)VRAM);
+ LZ77UnCompVram(&gBirchBagTilemap, (void *)(VRAM + 0x3000));
+ LZ77UnCompVram(&gBirchGrassTilemap, (void *)(VRAM + 0x3800));
+
+ ResetBgsAndClearDma3BusyFlags(0);
+ InitBgsFromTemplates(0, gUnknown_085B1E00, ARRAY_COUNT(gUnknown_085B1E00));
+ InitWindows(gUnknown_085B1DCC);
+
+ DeactivateAllTextPrinters();
+ sub_809882C(0, 0x2A8, 0xD0);
+ clear_scheduled_bg_copies_to_vram();
+ remove_some_task();
+ ResetTasks();
+ ResetSpriteData();
+ ResetPaletteFade();
+ FreeAllSpritePalettes();
+ dp13_810BB8C();
+
+ LoadPalette(GetOverworldTextboxPalettePtr(), 0xE0, 0x20);
+ LoadPalette(gBirchBagGrassPal, 0, 0x40);
+ LoadCompressedObjectPic(&gUnknown_085B1ED8[0]);
+ LoadCompressedObjectPic(&gUnknown_085B1EE8[0]);
+ LoadSpritePalettes(gUnknown_085B1EF8);
+ BeginNormalPaletteFade(-1, 0, 0x10, 0, 0);
+
+ EnableInterrupts(DISPSTAT_VBLANK);
+ SetVBlankCallback(VblankCB_StarterChoose);
+ SetMainCallback2(MainCallback2_StarterChoose);
+
+ SetGpuReg(REG_OFFSET_WININ, 0x3F);
+ SetGpuReg(REG_OFFSET_WINOUT, 0x1F);
+ SetGpuReg(REG_OFFSET_WIN0H, 0);
+ SetGpuReg(REG_OFFSET_WIN0V, 0);
+ SetGpuReg(REG_OFFSET_BLDCNT, 0xFE);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ SetGpuReg(REG_OFFSET_BLDY, 7);
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
+
+ ShowBg(0);
+ ShowBg(2);
+ ShowBg(3);
+
+ taskId = CreateTask(Task_StarterChoose1, 0);
+ gTasks[taskId].tStarterSelection = 1;
+
+ // Create hand sprite
+ spriteId = CreateSprite(&sSpriteTemplate_Hand, 120, 56, 2);
+ gSprites[spriteId].data0 = taskId;
+
+ // Create three Pokeball sprites
+ spriteId = CreateSprite(&sSpriteTemplate_PokeBall, sPokeballCoords[0][0], sPokeballCoords[0][1], 2);
+ gSprites[spriteId].data0 = taskId;
+ gSprites[spriteId].data1 = 0;
+
+ spriteId = CreateSprite(&sSpriteTemplate_PokeBall, sPokeballCoords[1][0], sPokeballCoords[1][1], 2);
+ gSprites[spriteId].data0 = taskId;
+ gSprites[spriteId].data1 = 1;
+
+ spriteId = CreateSprite(&sSpriteTemplate_PokeBall, sPokeballCoords[2][0], sPokeballCoords[2][1], 2);
+ gSprites[spriteId].data0 = taskId;
+ gSprites[spriteId].data1 = 2;
+
+ sStarterChooseWindowId = 0xFF;
+}
+
+static void MainCallback2_StarterChoose(void)
+{
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ do_scheduled_bg_tilemap_copies_to_vram();
+ UpdatePaletteFade();
+}
+
+static void Task_StarterChoose1(u8 taskId)
+{
+ CreateStarterPokemonLabel(gTasks[taskId].tStarterSelection);
+ SetWindowBorderStyle(0, FALSE, 0x2A8, 0xD);
+ PrintTextOnWindow(0, 1, gText_BirchInTrouble, 0, 1, 0, NULL);
+ PutWindowTilemap(0);
+ schedule_bg_copy_tilemap_to_vram(0);
+ gTasks[taskId].func = Task_StarterChoose2;
+}
+
+static void Task_StarterChoose2(u8 taskId)
+{
+ u8 selection = gTasks[taskId].tStarterSelection;
+
+ if (gMain.newKeys & A_BUTTON)
+ {
+ u8 spriteId;
+
+ sub_8134604();
+
+ // Create white circle background
+ spriteId = CreateSprite(&gUnknown_085B1F40, sPokeballCoords[selection][0], sPokeballCoords[selection][1], 1);
+ gTasks[taskId].tCircleSpriteId = spriteId;
+
+ // Create Pokemon sprite
+ spriteId = CreatePokemonFrontSprite(GetStarterPokemon(gTasks[taskId].tStarterSelection), sPokeballCoords[selection][0], sPokeballCoords[selection][1]);
+ gSprites[spriteId].affineAnims = &gUnknown_085B1ED0;
+ gSprites[spriteId].callback = StarterPokemonSpriteCallback;
+
+ gTasks[taskId].tPkmnSpriteId = spriteId;
+ gTasks[taskId].func = Task_StarterChoose3;
+ }
+ else if ((gMain.newKeys & DPAD_LEFT) && selection > 0)
+ {
+ gTasks[taskId].tStarterSelection--;
+ gTasks[taskId].func = Task_MoveStarterChooseCursor;
+ }
+ else if ((gMain.newKeys & DPAD_RIGHT) && selection < (STARTER_MON_COUNT - 1))
+ {
+ gTasks[taskId].tStarterSelection++;
+ gTasks[taskId].func = Task_MoveStarterChooseCursor;
+ }
+}
+
+static void Task_StarterChoose3(u8 taskId)
+{
+ if (gSprites[gTasks[taskId].tCircleSpriteId].affineAnimEnded &&
+ gSprites[gTasks[taskId].tCircleSpriteId].pos1.x == STARTER_PKMN_POS_X &&
+ gSprites[gTasks[taskId].tCircleSpriteId].pos1.y == STARTER_PKMN_POS_Y)
+ {
+ gTasks[taskId].func = Task_StarterChoose4;
+ }
+}
+
+static void Task_StarterChoose4(u8 taskId)
+{
+ PlayCry1(GetStarterPokemon(gTasks[taskId].tStarterSelection), 0);
+ FillWindowPixelBuffer(0, 0x11);
+ PrintTextOnWindow(0, 1, gText_ConfirmStarterChoice, 0, 1, 0, NULL);
+ schedule_bg_copy_tilemap_to_vram(0);
+ CreateYesNoMenu(&gUnknown_085B1DDC, 0x2A8, 0xD, 0);
+ gTasks[taskId].func = Task_StarterChoose5;
+}
+
+static void Task_StarterChoose5(u8 taskId)
+{
+ u8 spriteId;
+
+ switch (sub_8198C58())
+ {
+ case 0: // YES
+ // Return the starter choice and exit.
+ gSpecialVar_Result = gTasks[taskId].tStarterSelection;
+ dp13_810BB8C();
+ SetMainCallback2(gMain.savedCallback);
+ break;
+ case 1: // NO
+ case -1: // B button
+ PlaySE(SE_SELECT);
+ spriteId = gTasks[taskId].tPkmnSpriteId;
+ FreeOamMatrix(gSprites[spriteId].oam.matrixNum);
+ sub_818D820(spriteId);
+
+ spriteId = gTasks[taskId].tCircleSpriteId;
+ FreeOamMatrix(gSprites[spriteId].oam.matrixNum);
+ DestroySprite(&gSprites[spriteId]);
+ gTasks[taskId].func = Task_StarterChoose6;
+ break;
+ }
+}
+
+static void Task_StarterChoose6(u8 taskId)
+{
+ gTasks[taskId].func = Task_StarterChoose1;
+}
+
+static void CreateStarterPokemonLabel(u8 selection)
+{
+ u8 text[32];
+ struct WindowTemplate winTemplate;
+ const u8 *speciesName;
+ s32 width;
+ u8 labelLeft, labelRight, labelTop, labelBottom;
+
+ u16 species = GetStarterPokemon(selection);
+ CopyMonCategoryText(SpeciesToNationalPokedexNum(species), text);
+ speciesName = gSpeciesNames[species];
+
+ winTemplate = gUnknown_085B1DE4;
+ winTemplate.tilemapLeft = gStarterChoose_LabelCoords[selection][0];
+ winTemplate.tilemapTop = gStarterChoose_LabelCoords[selection][1];
+
+ sStarterChooseWindowId = AddWindow(&winTemplate);
+ FillWindowPixelBuffer(sStarterChooseWindowId, 0);
+
+ width = GetStringCenterAlignXOffset(7, text, 0x68);
+ box_print(sStarterChooseWindowId, 7, width, 1, gUnknown_085B1E0C, 0, text);
+
+ width = GetStringCenterAlignXOffset(1, speciesName, 0x68);
+ box_print(sStarterChooseWindowId, 1, width, 0x11, gUnknown_085B1E0C, 0, speciesName);
+
+ PutWindowTilemap(sStarterChooseWindowId);
+ schedule_bg_copy_tilemap_to_vram(0);
+
+ labelLeft = gStarterChoose_LabelCoords[selection][0] * 8 - 4;
+ labelRight = (gStarterChoose_LabelCoords[selection][0] + 13) * 8 + 4;
+ labelTop = gStarterChoose_LabelCoords[selection][1] * 8;
+ labelBottom = (gStarterChoose_LabelCoords[selection][1] + 4) * 8;
+ SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(labelLeft, labelRight));
+ SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(labelTop, labelBottom));
+}
+
+static void sub_8134604(void)
+{
+ FillWindowPixelBuffer(sStarterChooseWindowId, 0);
+ ClearWindowTilemap(sStarterChooseWindowId);
+ RemoveWindow(sStarterChooseWindowId);
+ sStarterChooseWindowId = 0xFF;
+ SetGpuReg(REG_OFFSET_WIN0H, 0);
+ SetGpuReg(REG_OFFSET_WIN0V, 0);
+ schedule_bg_copy_tilemap_to_vram(0);
+}
+
+static void Task_MoveStarterChooseCursor(u8 taskId)
+{
+ sub_8134604();
+ gTasks[taskId].func = sub_8134668;
+}
+
+static void sub_8134668(u8 taskId)
+{
+ CreateStarterPokemonLabel(gTasks[taskId].tStarterSelection);
+ gTasks[taskId].func = Task_StarterChoose2;
+}
+
+static u8 CreatePokemonFrontSprite(u16 species, u8 x, u8 y)
+{
+ u8 spriteId;
+
+ spriteId = sub_818D3E4(species, 8, 0, 1, x, y, 0xE, 0xFFFF);
+ gSprites[spriteId].oam.priority = 0;
+ return spriteId;
+}
+
+static void sub_81346DC(struct Sprite *sprite)
+{
+ sprite->pos1.x = gUnknown_085B1E28[gTasks[sprite->data0].tStarterSelection][0];
+ sprite->pos1.y = gUnknown_085B1E28[gTasks[sprite->data0].tStarterSelection][1];
+ sprite->pos2.y = Sin(sprite->data1, 8);
+ sprite->data1 = (u8)(sprite->data1) + 4;
+}
+
+static void sub_813473C(struct Sprite *sprite)
+{
+ if (gTasks[sprite->data0].tStarterSelection == sprite->data1)
+ StartSpriteAnimIfDifferent(sprite, 1);
+ else
+ StartSpriteAnimIfDifferent(sprite, 0);
+}
+
+static void StarterPokemonSpriteCallback(struct Sprite *sprite)
+{
+ //Move sprite to upper center of screen
+ if (sprite->pos1.x > STARTER_PKMN_POS_X)
+ sprite->pos1.x -= 4;
+ if (sprite->pos1.x < STARTER_PKMN_POS_X)
+ sprite->pos1.x += 4;
+ if (sprite->pos1.y > STARTER_PKMN_POS_Y)
+ sprite->pos1.y -= 2;
+ if (sprite->pos1.y < STARTER_PKMN_POS_Y)
+ sprite->pos1.y += 2;
+}
diff --git a/src/text_window.c b/src/text_window.c
index 55aedf688..336536c04 100644
--- a/src/text_window.c
+++ b/src/text_window.c
@@ -23,7 +23,7 @@ const struct TilesPal* sub_8098758(u8 id)
void copy_textbox_border_tile_patterns_to_vram(u8 windowId, u16 destOffset, u8 palOffset)
{
LoadBgTiles(GetWindowAttribute(windowId, WINDOW_PRIORITY), gUnknown_08DDD748, 0x1C0, destOffset);
- LoadPalette(sub_8098C64(), palOffset, 0x20);
+ LoadPalette(GetOverworldTextboxPalettePtr(), palOffset, 0x20);
}
void box_border_load_tiles_and_pal(u8 windowId, u16 destOffset, u8 palOffset)
@@ -113,7 +113,7 @@ const u16* stdpal_get(u8 id)
return &gUnknown_0851017C[id];
}
-const u16* sub_8098C64(void)
+const u16* GetOverworldTextboxPalettePtr(void)
{
return gUnknown_08DDD728;
}
diff --git a/src/tv.c b/src/tv.c
index 3c822b394..2cb1d4384 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -214,23 +214,23 @@ const struct {
// TODO: Figure out what these are, and define constants in include/flags.h
const u16 sGoldSymbolFlags[] = {
- SYS_TOWER_GOLD,
- SYS_DOME_GOLD,
- SYS_PALACE_GOLD,
- SYS_ARENA_GOLD,
- SYS_FACTORY_GOLD,
- SYS_PIKE_GOLD,
- SYS_PYRAMID_GOLD
+ FLAG_SYS_TOWER_GOLD,
+ FLAG_SYS_DOME_GOLD,
+ FLAG_SYS_PALACE_GOLD,
+ FLAG_SYS_ARENA_GOLD,
+ FLAG_SYS_FACTORY_GOLD,
+ FLAG_SYS_PIKE_GOLD,
+ FLAG_SYS_PYRAMID_GOLD
};
const u16 sSilverSymbolFlags[] = {
- SYS_TOWER_SILVER,
- SYS_DOME_SILVER,
- SYS_PALACE_SILVER,
- SYS_ARENA_SILVER,
- SYS_FACTORY_SILVER,
- SYS_PIKE_SILVER,
- SYS_PYRAMID_SILVER
+ FLAG_SYS_TOWER_SILVER,
+ FLAG_SYS_DOME_SILVER,
+ FLAG_SYS_PALACE_SILVER,
+ FLAG_SYS_ARENA_SILVER,
+ FLAG_SYS_FACTORY_SILVER,
+ FLAG_SYS_PIKE_SILVER,
+ FLAG_SYS_PYRAMID_SILVER
};
// TODO: Figure out what these are, and define constants in include/vars.h
@@ -823,7 +823,7 @@ u8 FindAnyTVShowOnTheAir(void)
void UpdateTVScreensOnMap(int width, int height)
{
- FlagSet(SYS_TV_WATCH);
+ FlagSet(FLAG_SYS_TV_WATCH);
switch (CheckForBigMovieOrEmergencyNewsOnTV())
{
case 1:
@@ -836,9 +836,9 @@ void UpdateTVScreensOnMap(int width, int height)
{
SetTVMetatilesOnMap(width, height, 0x3);
}
- else if (FlagGet(SYS_TV_START) && (FindAnyTVShowOnTheAir() != 0xff || FindAnyTVNewsOnTheAir() != 0xff || IsTVShowInSearchOfTrainersAiring()))
+ else if (FlagGet(FLAG_SYS_TV_START) && (FindAnyTVShowOnTheAir() != 0xff || FindAnyTVNewsOnTheAir() != 0xff || IsTVShowInSearchOfTrainersAiring()))
{
- FlagClear(SYS_TV_WATCH);
+ FlagClear(FLAG_SYS_TV_WATCH);
SetTVMetatilesOnMap(width, height, 0x3);
}
break;
@@ -1263,7 +1263,7 @@ void InterviewAfter_ContestLiveUpdates(void)
show2->contestLiveUpdates.kind = TVSHOW_CONTEST_LIVE_UPDATES;
show2->contestLiveUpdates.active = TRUE;
StringCopy(show2->contestLiveUpdates.playerName, gSaveBlock2Ptr->playerName);
- show2->contestLiveUpdates.category = gScriptContestCategory;
+ show2->contestLiveUpdates.category = gSpecialVar_ContestCategory;
show2->contestLiveUpdates.species = GetMonData(&gPlayerParty[gUnknown_02039F24], MON_DATA_SPECIES, NULL);
show2->contestLiveUpdates.winningSpecies = show->contestLiveUpdates.winningSpecies;
show2->contestLiveUpdates.appealFlags2 = show->contestLiveUpdates.appealFlags2;
@@ -1288,7 +1288,7 @@ void PutBattleUpdateOnTheAir(u8 a0, u16 a1, u16 a2, u16 a3)
if (sCurTVShowSlot != -1)
{
FindActiveBroadcastByShowType_SetScriptResult(TVSHOW_BATTLE_UPDATE);
- if (gScriptResult != 1)
+ if (gSpecialVar_Result != 1)
{
show = &gSaveBlock1Ptr->tvShows[sCurTVShowSlot];
show->battleUpdate.kind = TVSHOW_BATTLE_UPDATE;
@@ -1337,7 +1337,7 @@ bool8 Put3CheersForPokeblocksOnTheAir(const u8 *partnersName, u8 flavor, u8 unus
return FALSE;
}
FindActiveBroadcastByShowType_SetScriptResult(TVSHOW_3_CHEERS_FOR_POKEBLOCKS);
- if (gScriptResult == 1)
+ if (gSpecialVar_Result == 1)
{
return FALSE;
}
@@ -1527,8 +1527,8 @@ void BravoTrainerPokemonProfile_BeforeInterview2(u8 a0)
if (sCurTVShowSlot != -1)
{
show->bravoTrainer.contestResult = a0;
- show->bravoTrainer.contestCategory = gScriptContestCategory;
- show->bravoTrainer.contestRank = gUnknown_02039F2E;
+ show->bravoTrainer.contestCategory = gSpecialVar_ContestCategory;
+ show->bravoTrainer.contestRank = gSpecialVar_ContestRank;
show->bravoTrainer.species = GetMonData(&gPlayerParty[gUnknown_02039F24], MON_DATA_SPECIES, NULL);
GetMonData(&gPlayerParty[gUnknown_02039F24], MON_DATA_NICKNAME, show->bravoTrainer.pokemonNickname);
StripExtCtrlCodes(show->bravoTrainer.pokemonNickname);
@@ -1606,7 +1606,7 @@ void PutNameRaterShowOnTheAir(void)
TVShow *show;
InterviewBefore_NameRater();
- if (gScriptResult != 1)
+ if (gSpecialVar_Result != 1)
{
GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar1);
if (StringLength(gSaveBlock2Ptr->playerName) > 1 && StringLength(gStringVar1) > 1)
@@ -1653,7 +1653,7 @@ void PutLilycoveContestLadyShowOnTheAir(void)
TVShow *show;
sub_80EFA88();
- if (gScriptResult != TRUE)
+ if (gSpecialVar_Result != TRUE)
{
show = &gSaveBlock1Ptr->tvShows[sCurTVShowSlot];
sub_818E848(&show->contestLiveUpdates2.language);
@@ -1731,7 +1731,7 @@ void sub_80ED718(void)
u16 outbreakIdx;
TVShow *show;
- if (FlagGet(SYS_GAME_CLEAR))
+ if (FlagGet(FLAG_SYS_GAME_CLEAR))
{
for (i = 0; i < 24; i ++)
{
@@ -1943,7 +1943,7 @@ void sub_80EDB44(void)
show = &gSaveBlock1Ptr->tvShows[sCurTVShowSlot];
show->rivalTrainer.kind = TVSHOW_TODAYS_RIVAL_TRAINER;
show->rivalTrainer.active = FALSE;
- for (i = BADGE01_GET, nBadges = 0; i < BADGE01_GET + 8; i ++)
+ for (i = FLAG_BADGE01_GET, nBadges = 0; i < FLAG_BADGE01_GET + 8; i ++)
{
if (FlagGet(i))
{
@@ -2613,7 +2613,7 @@ bool8 sub_80EE7C0(void)
return TRUE;
}
FindActiveBroadcastByShowType_SetScriptResult(TVSHOW_FAN_CLUB_SPECIAL);
- if (gScriptResult == TRUE)
+ if (gSpecialVar_Result == TRUE)
{
return TRUE;
}
@@ -2814,7 +2814,7 @@ void sub_80EED88(void)
{
u8 newsKind;
- if (FlagGet(SYS_GAME_CLEAR))
+ if (FlagGet(FLAG_SYS_GAME_CLEAR))
{
sCurTVShowSlot = sub_80EEE30(gSaveBlock1Ptr->pokeNews);
if (sCurTVShowSlot != -1 && rbernoulli(1, 100) != TRUE)
@@ -2905,7 +2905,7 @@ void DoPokeNews(void)
i = FindAnyTVNewsOnTheAir();
if (i == 0xFF)
{
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
}
else
{
@@ -2928,7 +2928,7 @@ void DoPokeNews(void)
gSaveBlock1Ptr->pokeNews[i].state = 0;
ShowFieldMessage(sPokeNewsTextGroup_Upcoming[gSaveBlock1Ptr->pokeNews[i].kind]);
}
- gScriptResult = TRUE;
+ gSpecialVar_Result = TRUE;
}
}
@@ -2959,7 +2959,7 @@ bool8 IsPriceDiscounted(u8 newsKind)
switch (newsKind)
{
case POKENEWS_SLATEPORT:
- if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP_SLATEPORT_CITY && gSaveBlock1Ptr->location.mapNum == MAP_ID_SLATEPORT_CITY && gScriptLastTalked == 25)
+ if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP_SLATEPORT_CITY && gSaveBlock1Ptr->location.mapNum == MAP_ID_SLATEPORT_CITY && gSpecialVar_LastTalked == 25)
{
return TRUE;
}
@@ -3005,7 +3005,7 @@ void sub_80EF120(u16 days)
}
else
{
- if (gSaveBlock1Ptr->pokeNews[i].state == 0 && FlagGet(SYS_GAME_CLEAR) == TRUE)
+ if (gSaveBlock1Ptr->pokeNews[i].state == 0 && FlagGet(FLAG_SYS_GAME_CLEAR) == TRUE)
{
gSaveBlock1Ptr->pokeNews[i].state = 1;
}
@@ -3189,7 +3189,7 @@ void FindActiveBroadcastByShowType_SetScriptResult(u8 kind)
{
if (gSaveBlock1Ptr->tvShows[i].common.active == TRUE)
{
- gScriptResult = TRUE;
+ gSpecialVar_Result = TRUE;
}
else
{
@@ -3205,7 +3205,7 @@ void FindActiveBroadcastByShowType_SetScriptResult(u8 kind)
void InterviewBefore(void)
{
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
switch (gSpecialVar_0x8005)
{
case TVSHOW_FAN_CLUB_LETTER:
@@ -3244,7 +3244,7 @@ void InterviewBefore(void)
void InterviewBefore_FanClubLetter(void)
{
FindActiveBroadcastByShowType_SetScriptResult(TVSHOW_FAN_CLUB_LETTER);
- if (!gScriptResult)
+ if (!gSpecialVar_Result)
{
StringCopy(gStringVar1, gSpeciesNames[GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_SPECIES, NULL)]);
InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].fanclubLetter.words, 6);
@@ -3254,7 +3254,7 @@ void InterviewBefore_FanClubLetter(void)
void InterviewBefore_RecentHappenings(void)
{
FindActiveBroadcastByShowType_SetScriptResult(TVSHOW_RECENT_HAPPENINGS);
- if (!gScriptResult)
+ if (!gSpecialVar_Result)
{
InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].recentHappenings.words, 6);
}
@@ -3263,7 +3263,7 @@ void InterviewBefore_RecentHappenings(void)
void InterviewBefore_PkmnFanClubOpinions(void)
{
FindActiveBroadcastByShowType_SetScriptResult(TVSHOW_PKMN_FAN_CLUB_OPINIONS);
- if (!gScriptResult)
+ if (!gSpecialVar_Result)
{
StringCopy(gStringVar1, gSpeciesNames[GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_SPECIES, NULL)]);
GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_NICKNAME, gStringVar2);
@@ -3274,7 +3274,7 @@ void InterviewBefore_PkmnFanClubOpinions(void)
void InterviewBefore_Dummy(void)
{
- gScriptResult = TRUE;
+ gSpecialVar_Result = TRUE;
}
void InterviewBefore_NameRater(void)
@@ -3285,7 +3285,7 @@ void InterviewBefore_NameRater(void)
void InterviewBefore_BravoTrainerPkmnProfile(void)
{
FindActiveBroadcastByShowType_SetScriptResult(TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE);
- if (!gScriptResult)
+ if (!gSpecialVar_Result)
{
InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].bravoTrainer.words, 2);
}
@@ -3304,7 +3304,7 @@ void InterviewBefore_3CheersForPokeblocks(void)
void InterviewBefore_BravoTrainerBTProfile(void)
{
FindActiveBroadcastByShowType_SetScriptResult(TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE);
- if (!gScriptResult)
+ if (!gSpecialVar_Result)
{
InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].bravoTrainerTower.words, 1);
}
@@ -3313,7 +3313,7 @@ void InterviewBefore_BravoTrainerBTProfile(void)
void InterviewBefore_FanClubSpecial(void)
{
FindActiveBroadcastByShowType_SetScriptResult(TVSHOW_FAN_CLUB_SPECIAL);
- if (!gScriptResult)
+ if (!gSpecialVar_Result)
{
InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].fanClubSpecial.words, 1);
}
@@ -3429,11 +3429,11 @@ void sub_80EFA88(void)
gSpecialVar_0x8006 = sCurTVShowSlot;
if (sCurTVShowSlot == -1)
{
- gScriptResult = TRUE;
+ gSpecialVar_Result = TRUE;
}
else
{
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
}
}
@@ -3636,7 +3636,7 @@ void ChangeBoxPokemonNickname(void)
{
struct BoxPokemon *boxMon;
- boxMon = GetBoxedMonPtr(gSpecialVar_0x8012, gSpecialVar_0x8013);
+ boxMon = GetBoxedMonPtr(gSpecialVar_MonBoxId, gSpecialVar_MonBoxPos);
GetBoxMonData(boxMon, MON_DATA_NICKNAME, gStringVar3);
GetBoxMonData(boxMon, MON_DATA_NICKNAME, gStringVar2);
DoNamingScreen(3, gStringVar2, GetBoxMonData(boxMon, MON_DATA_SPECIES, NULL), GetBoxMonGender(boxMon), GetBoxMonData(boxMon, MON_DATA_PERSONALITY, NULL), ChangeBoxPokemonNickname_CB);
@@ -3644,7 +3644,7 @@ void ChangeBoxPokemonNickname(void)
void ChangeBoxPokemonNickname_CB(void)
{
- SetBoxMonNickFromAnyBox(gSpecialVar_0x8012, gSpecialVar_0x8013, gStringVar2);
+ SetBoxMonNickFromAnyBox(gSpecialVar_MonBoxId, gSpecialVar_MonBoxPos, gStringVar2);
c2_exit_to_overworld_1_continue_scripts_restart_music();
}
@@ -3658,11 +3658,11 @@ void TV_CheckMonOTIDEqualsPlayerID(void)
{
if (GetPlayerIDAsU32() == GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_OT_ID, NULL))
{
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
}
else
{
- gScriptResult = TRUE;
+ gSpecialVar_Result = TRUE;
}
}
@@ -3712,11 +3712,11 @@ u8 CheckForBigMovieOrEmergencyNewsOnTV(void)
return 0;
}
}
- if (FlagGet(SYS_TV_LATI) == TRUE)
+ if (FlagGet(FLAG_SYS_TV_LATI) == TRUE)
{
return 1;
}
- if (FlagGet(SYS_TV_HOME) == TRUE)
+ if (FlagGet(FLAG_SYS_TV_HOME) == TRUE)
{
return 2;
}
@@ -4561,7 +4561,7 @@ void sub_80F0B64(void)
{
u16 i;
- if (FlagGet(SYS_GAME_CLEAR) != TRUE)
+ if (FlagGet(FLAG_SYS_GAME_CLEAR) != TRUE)
{
for (i = 0; i < 24; i ++)
{
@@ -4736,7 +4736,7 @@ void sub_80F0F24(void)
{
u8 i;
- if (FlagGet(SYS_GAME_CLEAR) != TRUE)
+ if (FlagGet(FLAG_SYS_GAME_CLEAR) != TRUE)
{
for (i = 0; i < 16; i ++)
{
@@ -5108,7 +5108,7 @@ void DoTVShowBravoTrainerPokemonProfile(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -5180,7 +5180,7 @@ void DoTVShowBravoTrainerBattleTower(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch(state)
{
@@ -5277,7 +5277,7 @@ void DoTVShowTodaysSmartShopper(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch(state)
{
@@ -5400,7 +5400,7 @@ void DoTVShowTheNameRaterShow(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -5498,7 +5498,7 @@ void DoTVShowPokemonTodaySuccessfulCapture(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -5576,7 +5576,7 @@ void DoTVShowPokemonTodayFailedCapture(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -5630,7 +5630,7 @@ void DoTVShowPokemonFanClubLetter(void)
u16 rval;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -5683,7 +5683,7 @@ void DoTVShowRecentHappenings(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -5718,7 +5718,7 @@ void DoTVShowPokemonFanClubOpinions(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -5768,7 +5768,7 @@ void DoTVShowPokemonContestLiveUpdates(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -6115,7 +6115,7 @@ void DoTVShowPokemonBattleUpdate(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -6187,7 +6187,7 @@ void DoTVShow3CheersForPokeblocks(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -6288,7 +6288,7 @@ void DoTVShowInSearchOfTrainers(void)
{
u8 state;
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -6344,7 +6344,7 @@ void DoTVShowInSearchOfTrainers(void)
CopyEasyChatWord(gStringVar1, gSaveBlock1Ptr->gabbyAndTyData.quote[0]);
StringCopy(gStringVar2, gSpeciesNames[gSaveBlock1Ptr->gabbyAndTyData.mon1]);
StringCopy(gStringVar3, gSpeciesNames[gSaveBlock1Ptr->gabbyAndTyData.mon2]);
- gScriptResult = TRUE;
+ gSpecialVar_Result = TRUE;
sTVShowState = 0;
TakeTVShowInSearchOfTrainersOffTheAir();
break;
@@ -6358,7 +6358,7 @@ void DoTVShowPokemonAngler(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
if (show->pokemonAngler.nBites < show->pokemonAngler.nFails)
{
sTVShowState = 0;
@@ -6392,7 +6392,7 @@ void DoTVShowTheWorldOfMasters(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -6422,7 +6422,7 @@ void DoTVShowTodaysRivalTrainer(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -6571,7 +6571,7 @@ void DoTVShowDewfordTrendWatcherNetwork(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -6627,7 +6627,7 @@ void DoTVShowHoennTreasureInvestigators(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -6671,7 +6671,7 @@ void DoTVShowFindThatGamer(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -6745,7 +6745,7 @@ void DoTVShowBreakingNewsTV(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -6848,7 +6848,7 @@ void DoTVShowSecretBaseVisit(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -6944,7 +6944,7 @@ void DoTVShowPokemonLotteryWinnerFlashReport(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
TVShowConvertInternationalString(gStringVar1, show->lottoWinner.playerName, show->lottoWinner.language);
if (show->lottoWinner.whichPrize == 0)
@@ -6974,7 +6974,7 @@ void DoTVShowThePokemonBattleSeminar(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -7038,7 +7038,7 @@ void DoTVShowTrainerFanClubSpecial(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -7104,7 +7104,7 @@ void DoTVShowTrainerFanClub(void)
u32 playerId;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -7191,7 +7191,7 @@ void DoTVShowSpotTheCuties(void)
u32 playerId;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -7296,7 +7296,7 @@ void DoTVShowPokemonNewsBattleFrontier(void)
u32 playerId;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -7445,7 +7445,7 @@ void DoTVShowWhatsNo1InHoennToday(void)
u32 playerId;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -7561,7 +7561,7 @@ void DoTVShowSecretBaseSecrets(void)
u16 i;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -7797,7 +7797,7 @@ void DoTVShowSafariFanClub(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -7884,7 +7884,7 @@ void DoTVShowPokemonContestLiveUpdates2(void)
u8 state;
show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004];
- gScriptResult = FALSE;
+ gSpecialVar_Result = FALSE;
state = sTVShowState;
switch (state)
{
@@ -7916,7 +7916,7 @@ void DoTVShowPokemonContestLiveUpdates2(void)
void TVShowDone(void)
{
- gScriptResult = TRUE;
+ gSpecialVar_Result = TRUE;
sTVShowState = 0;
gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004].common.active = FALSE;
}
diff --git a/src/walda_phrase.c b/src/walda_phrase.c
index 7e06d1319..59fd3fedb 100644
--- a/src/walda_phrase.c
+++ b/src/walda_phrase.c
@@ -98,17 +98,17 @@ u16 TryGetWallpaperWithWaldaPhrase(void)
u16 backgroundClr, foregroundClr;
u8 patternId, iconId;
u16 trainerId = ReadUnalignedWord(gSaveBlock2Ptr->playerTrainerId);
- gScriptResult = TryCalculateWallpaper(&backgroundClr, &foregroundClr, &iconId, &patternId, trainerId, GetWaldaPhrasePtr());
+ gSpecialVar_Result = TryCalculateWallpaper(&backgroundClr, &foregroundClr, &iconId, &patternId, trainerId, GetWaldaPhrasePtr());
- if (gScriptResult)
+ if (gSpecialVar_Result)
{
SetWaldaWallpaperPatternId(patternId);
SetWaldaWallpaperIconId(iconId);
SetWaldaWallpaperColors(backgroundClr, foregroundClr);
}
- SetWaldaWallpaperLockedOrUnlocked(gScriptResult);
- return (bool8)(gScriptResult);
+ SetWaldaWallpaperLockedOrUnlocked(gSpecialVar_Result);
+ return (bool8)(gSpecialVar_Result);
}
static u8 GetLetterTableId(u8 letter)
diff --git a/sym_bss.txt b/sym_bss.txt
index db7495182..7cd6fdf50 100644
--- a/sym_bss.txt
+++ b/sym_bss.txt
@@ -55,8 +55,9 @@ gUnknown_030011F6: @ 30011F6
gUnknown_030011F7: @ 30011F7
.space 0x1
-gUnknown_030011F8: @ 30011F8
- .space 0x4
+ .include "src/starter_choose.o"
+
+ .align 0x2
gUnknown_030011FC: @ 30011FC
.space 0x2
diff --git a/sym_ewram.txt b/sym_ewram.txt
index e21c2191f..b67eb0fc8 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -962,10 +962,10 @@ gUnknown_02039F2A: @ 2039F2A
gUnknown_02039F2B: @ 2039F2B
.space 0x1
-gScriptContestCategory: @ 2039F2C
+gSpecialVar_ContestCategory: @ 2039F2C
.space 0x2
-gUnknown_02039F2E: @ 2039F2E
+gSpecialVar_ContestRank: @ 2039F2E
.space 0x2
gUnknown_02039F30: @ 2039F30
@@ -1626,7 +1626,7 @@ gUnknown_0203CE74: @ 203CE74
gUnknown_0203CE78: @ 203CE78
.space 0x4
-gScriptItemId: @ 203CE7C
+gSpecialVar_ItemId: @ 203CE7C
.space 0x4
gUnknown_0203CE80: @ 203CE80