summaryrefslogtreecommitdiff
path: root/data/scripts/maps
diff options
context:
space:
mode:
Diffstat (limited to 'data/scripts/maps')
-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
518 files changed, 86231 insertions, 0 deletions
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!$"
+